Skip to content
Back to skills

Tg Redial Eval

ASecurity

Evaluates a conversational recommender system's ability to naturally transition topics, recommend relevant items, and generate coherent responses within a dialogue. It probes the model's capacity to leverage historical interactions, user profiles, and topic sequences to maintain semantic flow and recommendation accuracy. Use when the user wants to benchmark on TG-ReDial, or asks about evaluating this task. Reports NDCG@k.

  • 3 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 11, 2026
researchpythongogit

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add qhjqhj00/research-skills-pool --skill tg-redial-eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tg Redial Eval?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tg Redial Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qhjqhj00-tg-redial-eval/badge)](https://www.skillsdirectory.com/skills/qhjqhj00-tg-redial-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: tg-redial-eval
description: Evaluates a conversational recommender system's ability to naturally transition topics, recommend relevant items, and generate coherent responses within a dialogue. It probes the model's capacity to leverage historical interactions, user profiles, and topic sequences to maintain semantic flow and recommendation accuracy. Use when the user wants to benchmark on TG-ReDial, or asks about evaluating this task. Reports NDCG@k.
metadata:
  skill_kind: dataset_eval
  source_arxiv: 2010.04125
  bibtex_key: zhou2020towards
  confidence: high
---

# tg-redial-eval

> Towards Topic-Guided Conversational Recommender System — Zhou et al. (2020) (arXiv:2010.04125, 2020)

## What this evaluates

Evaluates a conversational recommender system's ability to naturally transition topics, recommend relevant items, and generate coherent responses within a dialogue. It probes the model's capacity to leverage historical interactions, user profiles, and topic sequences to maintain semantic flow and recommendation accuracy.

## Datasets

- **TG-ReDial** — total ?; splits: train (-1), val (-1), test (-1); repo https://github.com/RUCAIBox/TG-ReDial

## Metrics

- `NDCG@k` **(primary)** — range: [0, 1]
  - Normalized Discounted Cumulative Gain at rank k. It measures the quality of the ranked list of recommended items by assigning higher scores to relevant items appearing earlier in the list, normalized by the ideal ranking.
- `MRR@k` — range: [0, 1]
  - Mean Reciprocal Rank at rank k. It computes the average of the reciprocal ranks of the first relevant item in the predicted list across all queries, capped at rank k.
- `Hit@k` — range: [0, 1]
  - Binary hit rate at rank k. It indicates whether the ground-truth topic or item appears within the top k predictions.
- `PPL` — range: other
  - Perplexity, which measures how well a probability model predicts a sample. Lower values indicate better fit to the ground truth responses.
- `BLEU-1` — range: [0, 1]
  - BLEU score computed at the unigram level. It measures the precision of matching single words between the generated response and the reference, with a brevity penalty.

## Input / output format

**Input**: Conversation history (sequence of utterances), user profile information, and historical item interactions. For the topic prediction sub-task, the target topic is also provided as input.

**Output**: A ranked list of candidate items (for recommendation), a predicted topic label (for topic prediction), or a generated text response (for response generation).

## Scoring recipe

```python
def compute_ndcg_at_k(predictions, gold, k=10):
    # predictions: list of scores for all candidate items
    # gold: set of relevant item IDs
    ranked = sorted(predictions, reverse=True)[:k]
    dcg = sum(1.0 / math.log2(i + 2) for i, item in enumerate(ranked) if item in gold)
    idcg = sum(1.0 / math.log2(i + 2) for i in range(min(len(gold), k)))
    return dcg / idcg if idcg > 0 else 0.0

def compute_mrr_at_k(predictions, gold, k=10):
    ranked = sorted(predictions, reverse=True)[:k]
    for i, item in enumerate(ranked):
        if item in gold:
            return 1.0 / (i + 1)
    return 0.0
```

## Common pitfalls

- BLEU scores may be misleading for conversational recommendation systems as they are easily affected by stopwords and do not capture semantic relevance well.
- Human evaluation for response generation uses a [0, 2] rating scale for Relevance, Fluency, and Informativeness, which differs from standard 5-point Likert scales.
- The dataset is semi-automatically constructed with enforced topic threads, so models may overfit to artificial topic transitions rather than natural dialogue flow.

## Evidence (verbatim from paper)

> Following (Kang and McAuley, 2018; Liu et al., 2016b), we adopt NDCG@ $k$  and MRR@  $k$  ( $k = 10, 50$ ) as evaluation metrics for ranking all the possible items.

## Citation

```bibtex
@misc{zhou2020towards,
  title={Towards Topic-Guided Conversational Recommender System},
  author={Zhou et al. (2020)},
  year={2020},
  note={arXiv:2010.04125}
}
```

- arXiv: 2010.04125

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.