tiny-jev 日本語判断ベンチマーク・データ集
September 18, 2026 · View on GitHub
調査・取得日: 2026-09-18。対象は設計書の choice / score / noul。
このデータ収集成果物は整形・指標実装まで。収集時点でモデルの推論成績は測っていません。
後続のローカル追加学習・実モデル評価は ../training/README.md に分離して記録しています。
今回用意したもの
- 26件のデータセット/評価基盤カタログ。取得済み・次候補・利用条件により保留を明示。
- 17ファイル、72,627行の正規化JSONL.gz。日本語32,031行、英語40,596行。
- 翻訳の対照、同じ文章の別タスク、派生例を含む延べ件数。独立した72,627判断例ではない。
- 圧縮済みデータは約4 MB。再取得用キャッシュ約95 MBはGit対象外。
- 英日対訳3,505組。既存WANLI翻訳版を原典のID・英語本文・goldまで照合し、同じIDの英語対照を別ファイルに保存。
- 今回新しく日本語化した60組。ラベルごとに20件を固定抽出。原文・翻訳・変更注記を保存。
- 全件がLLM翻訳の未レビュー草案。人が検証したgoldとは呼ばず、既定の評価から除外。
- 公開成績1,124件をCSV/JSONLに保存。Nejumi 59モデル、Swallow 68モデル、JGLUE 9モデル。
- これは「モデル×指標」の件数。同じモデルが複数表に登場する。
- 指標定義、データ変換・出典検証・API入力の作成・オフライン採点・日英比較のコードとテスト。
入口
| ファイル | 内容 |
|---|---|
| RESEARCH.md | 調査結果、優先順位、目的との適合性、公開成績の読み方 |
| catalog.json | 全26件の機械可読カタログ・ライセンス・保留理由 |
| manifest.json | 実際の行数・クラス分布・グループ数・ファイルSHA・重複監査 |
| sources.lock.json | 原典URL・コミット/版・取得日時・SHA-256 |
| verification.json | 実施したテスト・再生成・ZIPスキーマ検査と未検証範囲 |
| METRICS.md / metrics.json | 比較方法・指標の分母・実装済み/未実装 |
| TRANSLATION.md | 日英整合性の扱い、今回の翻訳、今後のレビュー工程 |
| THIRD_PARTY_NOTICES.md | 帰属表示・継承条件・配布しなかったデータ |
| references/published_scores.csv | 出典位置・測定条件・比較区分付きの公開成績 |
sources/ | 原典のREADME・ライセンス・公開結果表の保存コピー |
取得済みセット
benchmarks/data/ 以下。表中の名前に .jsonl.gz が付きます。
| ファイル | 行数 | 用途・注意 |
|---|---|---|
jnli_dev / jnli_test | 2,434 / 2,508 | 日本語3値含意。まず測る基本セット |
jnli_neg_dev | 1,363 | 否定の診断。公式validationであってtestではない |
janli_test | 720 | 語順・助詞・浅い手掛かり。2値の非含意≠反証 |
jamp_test | 348 | 時制・時間関係 |
jsem_entailment_diagnostic | 11,457 | JSeMで推論種別が明示的にentailmentの例。公式test分割なし |
jsem_other_diagnostic | 4,353 | 前提・含み・推論種別未指定。厳密NLIと分離し、API変換対象外 |
jsts_dev / jsts_test | 1,457 / 1,589 | 0〜5の連続類似度。Scoreの補助評価 |
jcommonsenseqa_dev / jcommonsenseqa_test | 1,119 / 1,118 | 一般知識の5択。本文根拠の判断とは別枠 |
wanli_en_test | 5,000 | 英語の3値含意 |
wanli_ja_test | 3,505 | 既存のLLM翻訳・選別版。silverとして評価 |
wanli_en_matched_test | 3,505 | 上記と同じ原典IDの英語。英語5,000件の部分集合 |
wanli_ja_pilot_draft | 60 | 今回の新規翻訳。人手レビュー前、既定では使用を拒否 |
hans_en_evaluation | 30,000 | 英語の構文診断。2値非含意。テンプレート由来の大量例 |
contract_nli_en_test | 2,091 | 123契約×17命題。全文を保持、長文上限を超え得る |
JSeMは yes/no/unknown を持っていても、前提(presupposition)や会話の含みを扱う場合があります。
ラベル名だけで厳密含意に混ぜず inference_type を保持しました。容認度など他の5,758行の除外内訳はmanifest参照。
レコード形式
{
"id": "jnli:test:0",
"dataset": "jnli",
"split": "test",
"source_id": "0",
"source_key": "jnli_test.jsonl",
"group_id": "jglue-image:100207",
"language": "ja",
"task": "nli3",
"premise": "…",
"hypothesis": "…",
"label": "neutral",
"license": "CC-BY-SA-4.0"
}
source_keyは取得lockに対応。新規翻訳は translations/ のファイルと parallel.en.id で原典へ戻れます。
group_idは同じ原典・文書・画像・テンプレートを別splitへ漏らさないための保守的な識別子です。
これだけで未検出の近似重複まで排除したとは主張しません。
利用方法
1. データの閲覧・整合性検査(外部通信なし)
Python 3.10以降。閲覧・採点・テストは標準ライブラリだけです。
python3 -m unittest discover -s benchmarks/tests -v
python3 - <<'PY'
from pathlib import Path
from benchmarks.collect import read_jsonl
rows = read_jsonl(Path('benchmarks/data/jnli_test.jsonl.gz'))
print(len(rows), rows[0])
PY
2. ZIPのAPIに渡す入力を作る
# まず3件だけの接続確認用。ここではモデルを呼び出さない。
python3 -m benchmarks.adapter benchmarks/data/jnli_test.jsonl.gz \
benchmarks/runs/preview.jsonl --mode choice --limit 3
# 全件のNoul評価入力。neutralはAPI入力からは見えず、採点側だけで未知と扱う。
python3 -m benchmarks.adapter benchmarks/data/jnli_test.jsonl.gz \
benchmarks/runs/jnli-noul.requests.jsonl --mode noul
# JSTSの派生Scoreプロトコル
python3 -m benchmarks.adapter benchmarks/data/jsts_test.jsonl.gz \
benchmarks/runs/jsts.requests.jsonl --mode score
出力各行は {"id": "…", "request": {"state": "…", "questions": […]}}。
HTTPに送るのは request だけです。gold、翻訳コメント、タグ、正解根拠の範囲は送りません。
入力は切り捨てません。文字数・トークン数超過を含めAPIエラーは結果に記録します。
3. 共通形式の予測を保存して採点
予測JSONLは各例のIDを必須とし、失敗した例も省略しません。
{"id":"jnli:test:0","label":"neutral","status":"abstained","probabilities":{"entailment":0.1,"contradiction":0.1,"neutral":0.8}}
choice:labelは調査用の提案ラベル。任意のprobabilitiesは実際に得た完全な分布のみ。noul:p_true,status=accepted|abstained|error, 任意のevidence_score。score:scoreに0〜5の数値。小数を保つ。- エラー:
{"id":"…", "status":"error", "error_type":"http_422"}。 - LLMが文章で答えた「確信度90%」はモデル確率と見なさず、
probabilitiesを省略する。
別のrun metadata JSONに以下を記録します。
{
"model_id": "実際のモデルID",
"model_revision": "重みのコミットまたはAPIスナップショット",
"protocol": "tiny-jev-benchmark-v1",
"mode": "choice",
"dataset_sha256": "manifest.json内の該当ファイルのsha256",
"inference_settings": {
"shots": 0,
"temperature": 0,
"max_tokens": 128,
"reasoning": "実際の設定",
"prompt_version": "実際の版",
"probability_source": "モデルの数値出力、またはnot_available"
}
}
python3 -m benchmarks.evaluate benchmarks/data/jnli_test.jsonl.gz \
benchmarks/runs/predictions.jsonl --mode choice \
--run-metadata benchmarks/runs/run.json --out benchmarks/runs/report.json
全ID一致とデータSHAを検査します。少数例のpreview予測を全件の成績として扱えません。
APIの現行版は常に保留するため、choiceの提案値評価と実際の自動採用率を混同しないでください。
4. 同じ原文IDで日英比較
python3 -m benchmarks.paired \
--ja-dataset benchmarks/data/wanli_ja_test.jsonl.gz \
--en-dataset benchmarks/data/wanli_en_matched_test.jsonl.gz \
--ja-predictions benchmarks/runs/ja.jsonl --en-predictions benchmarks/runs/en.jsonl \
--ja-metadata benchmarks/runs/ja-run.json --en-metadata benchmarks/runs/en-run.json \
--out benchmarks/runs/paired.json
モデル・推論設定・プロトコルとID集合の一致を要求します。言語間のgold不一致は除外件数として報告。 フィルタ済み日本語3,505件を原版英語5,000件とそのまま比較しません。
5. 原典から再取得・再生成
収集時のみParquet読込用のPyArrowを使います。既存のAPI環境にはインストール不要です。
uv run --no-project --with pyarrow==23.0.1 python -m benchmarks.collect
# cache/が残っていれば、ネットを使わず同じ処理を再実行できる
uv run --no-project --with pyarrow==23.0.1 python -m benchmarks.collect --offline
原典のコミット、HF revision、SHAを固定。変更を検出した場合は停止します。 Swallowの配信HTMLは公開Gitリポジトリから版を取得できなかったため、観測したHTMLを保存しSHA固定しています。 過去のHTMLが配信元から消えた場合でも、同梱コピーで再生成できます。
実施した検証
- データハッシュ、ラベル、対訳の対応、保留とエラーの区別、指標計算等の31テスト合格。
- オフライン再生成でmanifestがバイト単位に一致。
- 同梱ZIPのPydanticスキーマで、対応タスクを各API型へ変換して検査。
- 100,069リクエストが形式上有効。
- ContractNLIの14文書・238判断が本文20,000文字上限を超過。choice/noul両経路で計476件の拒否を確認。
- 全文は保持したまま。4,096トークン上限の検査には実トークナイザーが必要で、これは未実施。
- 一様分布のダミー予測で、入力出力・採点CLIを確認。モデルの日本語精度測定ではない。
スキーマ検査の再実行:
uv run --no-project --with pydantic==2.13.4 python -m benchmarks.validate_starter
まだしていないこと
実モデルの推論、フロンティアAPIへの有料リクエスト、人による翻訳再判定、業務固有データの作成、 確率補正、閾値学習、独立した業務受入試験、GPU速度測定は未実施です。 元のZIP・設計書は変更していません。このディレクトリはモデル学習用データではありません。