MCPcopy Create free account
hub / github.com/FusionBrainLab/SONAR-LLM / process_record

Function process_record

evaluate_nlg.py:49–67  ·  view source on GitHub ↗
(rec: dict)

Source from the content-addressed store, hash-verified

47# Process a single JSON record
48# --------------------------------------------------------------------------- #
49def process_record(rec: dict):
50 prefix = rec["prefix"]
51 gen_full = rec["full_text"]
52 ref_full = rec["original_text"]
53
54 # Assert that both texts start with the prefix, then strip it
55 assert gen_full.startswith(prefix), "full_text does not start with its prefix"
56 assert ref_full.startswith(prefix), "original_text does not start with its prefix"
57
58 gen_full = gen_full[len(prefix) :]
59 ref_full = ref_full[len(prefix) :]
60
61 # First sentence only
62 gen_sents = sent_tokenize(gen_full, language="english") if gen_full else []
63 ref_sents = sent_tokenize(ref_full, language="english") if ref_full else []
64 gen_sent = gen_sents[0] if gen_sents else ""
65 ref_sent = ref_sents[0] if ref_sents else ""
66
67 bleu, rouge_l = evaluate_text(gen_sent, ref_sent)
68 meteor = evaluate_meteor(gen_sent, ref_sent)
69 return bleu, rouge_l, meteor
70

Callers 1

mainFunction · 0.85

Calls 2

evaluate_textFunction · 0.85
evaluate_meteorFunction · 0.85

Tested by

no test coverage detected