Skip to content

More text-similarity scorers: BLEU, ROUGE, Levenshtein #3

Description

@abhishekmanyam

Summary

Add classic text-overlap scorers so users grading summarization / translation / generation quality don't have to reach for a judge every time. These are cheap, deterministic, and offline — a good fit for the cassette model.

Ask

Three new built-in scorers, one per file in crates/evalcore-scorers/, each following the new-scorer skill (schema in evalcore-config → impl → factory wiring → tests → docs):

  • bleu — sentence-level BLEU vs. an expected reference.
  • rouge — ROUGE-L (and optionally ROUGE-1/2) vs. reference.
  • levenshtein — normalized edit distance, with a threshold.

Acceptance

  • YAML surface designed first (type: bleu, reference: ..., threshold: ...).
  • Deterministic: identical inputs → identical scores, no clock, no network.
  • Unit tests inline covering a match, a partial, and an empty/edge case.
  • A short docs section + a line in the scorers reference.

Good first issue

Self-contained — the contains/regex scorers are a clean template. Ping me and I'll point you at the skill checklist.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions