NewsReX TCCM β€” PYTORCH β€” MIND-small

TCCM news recommendation model trained on MIND-small using the NewsReX framework (PYTORCH).

Test Results

Seed AUC MRR NDCG@5 NDCG@10
123 0.6608 0.3073 0.3414 0.4041
42 * 0.6642 0.3119 0.3471 0.4092
456 0.6599 0.3071 0.3400 0.4039
mean Β± std 0.6616Β±0.0019 0.3088Β±0.0022 0.3428Β±0.0031 0.4057Β±0.0024

* Best seed (weights at repo root)

Experiment Configuration

model:
  name: tccm
  architecture:
    news_encoder:
      type: multi_head_self_attention
      news_dim: 400
      num_heads: 20
      head_dim: 20
      co_num_heads: 5
      co_head_dim: 40
      attention_hidden_dim: 200
      entity_embedding_dim: 100
      category_embedding_dim: 200
    popularity_embedding_bins: 200
    popularity_embedding_dim: 400
    popularity_encoder:
      token_embedding_bins: 200
      token_embedding_dim: 200
      num_heads: 1
      head_dim: 400
      content_dims:
      - 256
      - 256
      - 128
    time_module:
      embedding_bins: 505
      embedding_dim: 100
      dense_dims:
      - 64
      - 64
      lambda_exp: 2.0
    activity_gate_dims:
    - 128
    - 64
    use_entity: true
    use_activity_gate: true
    use_causal_intervention: false
    intervention_value: 0.5
  embedding:
    size: 300
    trainable: true
  dropout_rate: 0.2
  seed: 42
inputs:
  title:
    max_length: 30
  history:
    max_length: 50
  impressions:
    max_length: 5
  max_entities: 5
  process_title: true
  process_abstract: false
  process_category: false
  process_subcategory: false
  process_user_id: false
training:
  loss:
    name: categorical_crossentropy
    from_logits: true
    reduction: sum_over_batch_size
    label_smoothing: 0.0
  optimizer: adam
  learning_rate: 0.0001
  batch_size: 256
  num_epochs: 20
  early_stopping:
    patience: 5
    min_improvement: 0.01
  negative_sampling:
    strategy: random
    candidates: 1
evaluation:
  mode: fast
  evaluator: tccm
  metrics:
  - auc
  - mrr
  - ndcg@5
  - ndcg@10
  batch_size: 256

Repository Structure

newsrex/TCCM-PYTORCH-MIND-small/
β”œβ”€β”€ model.safetensors          ← best seed (42)
β”œβ”€β”€ test_results.json
β”œβ”€β”€ training_run_summary.json
β”œβ”€β”€ seed_123/model.safetensors
β”œβ”€β”€ seed_42/model.safetensors
β”œβ”€β”€ seed_456/model.safetensors
└── README.md

Usage

git clone https://github.com/igor17400/NewsReX.git
cd NewsReX && uv sync

# Run evaluation with best seed weights
uv run python src/eval.py \
    experiment=mind/tccm \
    framework=pytorch \
    weights=hf://newsrex/TCCM-PYTORCH-MIND-small/model.safetensors

# Run evaluation with a specific seed
uv run python src/eval.py \
    experiment=mind/tccm \
    framework=pytorch \
    weights=hf://newsrex/TCCM-PYTORCH-MIND-small/seed_42/model.safetensors

Citation

@misc{newsrex2026,
  title={NewsReX: An Open-Source Multi-Framework for Neural News Recommendation},
  author={Igor L. R. Azevedo and Toyotaro Suzumura and Yuichiro Yasui},
  year={2025},
  eprint={2508.21572},
  archivePrefix={arXiv},
  primaryClass={cs.IR},
  url={https://arxiv.org/abs/2508.21572},
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Paper for newsrex/TCCM-PYTORCH-MIND-small