サマースクール大規模言語モデルの提出データを自己評価するためのスクリプトです。 コンペのレギュレーションに従うため、提出データや正解データ自体は含まれておらず、ご自身で作成する必要があります。
typescript で書いた評価コードの ランタイムとして bun を使っています。そのため Mac でだけで動作確認していますが、Windows での deno や nodejs などでも動作はすると思います。
- bun (javascript ランタイム)
- 自身で作成する正解データ JSON ファイル
- 評価する対象の submission.json ファイル
$ curl -fsSL https://bun.sh/install | bash
data/correct_data.json
に正解データを格納する必要があります。
data/correct_data_example.json
を参考に、各自作成してください。
[
{
"id": 0,
"task_type": "multiple_choice",
"text": "問題1",
"choices": [
{
"choice_id": 1,
"text": "回答1"
},
{
"choice_id": 2,
"text": "回答2"
},
{
"choice_id": 3,
"text": "回答3"
},
{
"choice_id": 4,
"text": "回答4"
},
{
"choice_id": 5,
"text": "回答5"
}
],
"answer": 1
},
{
"id": 100,
"task_type": "summarization",
"text": "問題100",
"summary": "正解のサマリ"
}
]
data/submissions などにコピーしておいてください。
以下コマンドをターミナルで実行すると、type1 評価の不正解の回答と、総計が表示されます。
bun eval_type1.ts data/submissions/submission.json
ID: <問題ID>
<問題>
選択肢:1: <選択肢1>,2: <選択肢2>,3: <選択肢3>,4: <選択肢4>,5: <選択肢5>
提出: 1. <選択肢1>
正解: 2. <選択肢4>
...
Total: 100, Incorrect: 64
以下コマンドをターミナルで実行すると、type2 評価の各設問についての ROUGE-2 Score と、その合計が表示されます。
bun eval_type2.ts data/submissions/submission.json
ID: <問題ID>
score: 0.041237113402061855
answer : <提出した要約テキスト>
correct: <正解の要約テキスト>
Total: 20, Score: 4.044292964896873
csebuetnlp/xlsum の japanese セットに含まれる可能性が高そうですが、確証はありません。 あくまでご自身の責任でご用意ください。