--- library_name: newsrex tags: - news-recommendation - pprec - jax - mind datasets: - mind license: apache-2.0 --- # NewsReX PPREC — JAX — MIND-small PPREC news recommendation model trained on MIND-small using the [NewsReX](https://github.com/igor17400/NewsReX) framework (JAX). ## Test Results | Seed | AUC | MRR | NDCG@5 | NDCG@10 | |------|-----|-----|--------|---------| | 123 | 0.6634 | 0.3153 | 0.3507 | 0.4134 | | 42 * | 0.6729 | 0.3228 | 0.3601 | 0.4215 | | 456 | 0.6665 | 0.3164 | 0.3524 | 0.4145 | | **mean ± std** | **0.6676±0.0040** | **0.3182±0.0033** | **0.3544±0.0041** | **0.4164±0.0036** | \* Best seed (weights at repo root) ## Experiment Configuration ```yaml model: name: pprec 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 use_entity: true use_recency: true use_ctr: true use_activity_gate: true popularity_embedding_bins: 200 popularity_embedding_dim: 400 recency_embedding_bins: 1500 recency_embedding_dim: 100 ctr_scaler_init: 19.0 pop_content_dims: - 256 - 256 - 128 pop_recency_dims: - 64 - 64 pop_gate_dims: - 128 - 64 activity_gate_hidden_dim: 64 embedding: size: 300 trainable: true dropout_rate: 0.2 seed: 42 inputs: title: max_length: 32 history: max_length: 50 impressions: max_length: 5 max_entities: 5 process_title: true process_abstract: false process_category: true 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: 4 evaluation: mode: fast evaluator: pp_rec metrics: - auc - mrr - ndcg@5 - ndcg@10 batch_size: 256 ``` ## Repository Structure ``` newsrex/PPREC-JAX-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 ```bash 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/pprec \ framework=jax \ weights=hf://newsrex/PPREC-JAX-MIND-small/model.safetensors # Run evaluation with a specific seed uv run python src/eval.py \ experiment=mind/pprec \ framework=jax \ weights=hf://newsrex/PPREC-JAX-MIND-small/seed_42/model.safetensors ``` ## Citation ```bibtex @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}, } ```