llm-jp-eval
データセットごとにメトリクスを算出してスコアとしている
完全一致 (exact_match)
scipy.stats.spearmanr
トークン間のLevenshtein距離を 0 ~ 1の比率にしたもの
char_f1_scores.append(fuzz.token_sort_ratio(y_pred, y_true) / 100.0)
thefuzzはLevenshteinn距離をいい感じに計算してくれるライブラリ 重複排除した時のトークン一致率 (set_f1)
BLEUスコア (bleu_en, bleu_jp) bleu_en
bleu_ja
sacreblue.BLEU(trg_lang="ja").corpus_score().score
BERTScore (bert_score_en_f1, bert_score_jp_f1) bert_score_en_f1
bert_score.score(y_preds, y_trues, lang="en")[2.mean().item() 使用モデルは roberta-large
bert_score_ja_f1
bert_score.score(y_preds, y_trues, lang="ja")[2.mean().item() 使用モデルは bert-base-multilingual-cased
トークナイザはモデル組み込みのもの
comet_model.predict(comet_data, batch_size=8, gpus=0, progress_bar=False).system_score
使用モデル: "Unbabel/wmt22-comet-da"