Blog
日本語の自然さを測る評価手法の検証
Hiroaki Mikami
Researcher
Preferred Networksでは大規模言語モデル (LLM) PLaMoの開発を継続して行っています。
LLMを開発するにあたってその能力を評価するベンチマークは非常に重要です。英語においては様々なベンチマークが日々公開されていますし、日本語でのベンチマークも数多く公開されています。また、我々も新しいベンチマークの構築をいろいろな方法で行っています (pfgen-bench、bbh-ja、Japanese SimpleQA、JFBench)。
多様なベンチマークが新しく登場している一方、chatbotとしての能力だったり出力の自然さを評価するベンチマークは数年前からあまり更新されていません。英語においては、reasoningモデルやLLMエージェントとしての能力が注目された結果として、難しいタスクを解く能力を測るベンチマークが注目されているという事情があるのではと考えています。日本語においても、英語ベンチマークの流れに追従する形でreasoning能力などを評価するベンチマークが多く公開されるようになっています (jhleなど)。
その結果、日本語chatbotとしての能力、自然さを測るベンチマークとしては、日本語MT-BenchとELYZA-tasks-100 が最新のものという状況が1年以上続いています。ELYZA-tasks-100は翻訳データではないという点で日本語chatbotの応答の自然さを測るものとしては現状でベストなものだと言えます。
しかし、ELYZA-tasks-100での評価に問題がないかというと、まだ不十分なところもあるのが実情です。例えば、以下の応答はELYZA-tasks-100のあるタスクについてQwen3-32Bで出力を生成し、この記事のプロンプトを用いてGPT-5-Instantによる評価をしたところ、最高スコア (5点) を達成しているものです。
LLM-as-a-Judgeで最高スコアとはいえ、応答の日本語としては文の論理構造、使用する語句の両面で不自然なところが多いのではと思います。
以下のメールに返信してください。 お疲れ様です。 本日体調不良により、予定より到着が少し遅れてしまいそうです。 遅くとも13時過ぎには着くと思います。 ご迷惑をおかけして恐縮ではございますが、 何卒ご容赦いただけますようお願い申し上げます。
図1: ELYZA-tasks-100のあるタスクの入力プロンプト
もちろんです。以下のように返信できます: --- 件名:ご連絡ありがとうございます 〇〇様 お疲れ様です。 本日は体調不良によりご到着が遅れるご連絡、ありがとうございます。 体調には十分にお気をつけて、無理をなさらずにどうぞご入店ください。13時過ぎにご到着とのことで、当方での対応はすべて準備を整えておりますので、何卒ご安心ください。 ご迷惑をおかけすることとなり、大変恐れ入りますが、温かくご容赦いただけますと幸いです。 また、本日は体調が万全となるよう、どうぞよろしくお願いいたします。 敬具 〇〇(氏名または店名)
図2: 図1のプロンプトに対するQwen3-32Bの出力
PLaMoシリーズなど、日本語の学習量が多いLLMはこういったケースではより良い振る舞いができる可能性があります。例えば上記の入力に対する応答だと、PLaMo-2.2-Primeは以下のような応答をします。この返答がベストかはともかく、上記Qwen3-32Bの出力と比較した時にはPLaMo-2.2-Primeの応答のほうが自然な日本語と言えるのではないでしょうか。
以下のような返信案はいかがでしょうか。 --- 件名: 返信 [送信者の名前] 様 お疲れ様です。 本日の到着が遅れるとのご連絡、承知いたしました。 お体の調子はいかがでしょうか? お大事になさってください。 13時過ぎの到着とのこと、了解いたしました。 どうぞご無理なさらず、お気をつけてお越しください。 何かお手伝いできることがあれば、お知らせください。 よろしくお願い申し上げます。 [あなたの名前] --- 必要に応じて、ご自身の言葉に調整してください。
図3: 図1のプロンプトに対するPLaMo-2.2-Primeの出力
こういった自然な日本語を出力する能力は、日本語の学習量を増やすメリットの1つであると考えられますが、ELYZA-tasks-100の現在良く使われる評価ではこの能力を測定することができません。上記例のどちらも満点 (5点) となりベンチマークスコアに差が生じないためです。この状態でモデル開発を続けていくと、将来のPLaMoで自然な日本語を出力する能力がいつの間にか失われてしまう可能性もあります。
したがって、モデル開発を続けていく上で、こういったベンチマークで測れない有用な能力があるのは問題と言えます。
このことに対処するため、LLMの出力の日本語としての自然さをより正確に計測する方法について調査しました。この記事では、その調査結果を紹介します。
予備調査: 採点が不正確になる原因・仮説の調査
最初のステップとして、今の評価プロンプトが上記のような問題を起こすのかの調査を行いました。
ELYZA-tasks-100の評価プロンプトにも「不自然な日本語であれば減点すること」という項目があります。したがって、日本語の自然さを判定・評価することは評価プロンプトの時点では考慮に入っていますが、judge LLMがこの指示を反映したスコアをつけていない、という状況です。
この原因を調査していくと、日本語が自然かを判定するタスクはLLMにとってそもそも難しいのではないか、ということがわかってきました。
reasoningを行わないLLMは「自然な日本語かどうか」の閾値が人間より非常に緩い、あるいは人間と異なる観点を重視している、といった現象が定性的にみられました。例えば、上記2つの出力が「自然な日本語かどうか」だけを判定させる実験を行うと、GPT-4o、GPT-5-Instant、GPT-5.1-Instant全てでどちらも自然な日本語だという判定をしました。
その一方で、reasoningを行うLLM (GPT-5.1-Thinkingなど) では判定結果は比較的妥当なものとなりました。例えば、GPT-5.1-Thinkingの場合、上記例ではQwen3-32Bのものは「どちらかといえば自然でない」、PLaMo-2.2-Primeのものは「どちらかといえば自然」という判定をしました。
こういった結果は、「日本語が自然かどうか判定する」というタスクが現在のLLMにとってreasoningやchain-of-thoughtを必要とする難しいタスクである可能性を示しています。
この課題に対する最もシンプルな解決策はreasoningを評価時に行うことですが、LLM-as-a-Judgeのjudge modelでreasoningを行うと、出力tokenが多くなるためAPI利用料金等のコストがかさむ、最大token数をどの程度にすれば良いかが難しい、といった問題があります。
この結果を踏まえると、まずは、LLMが生成した日本語の自然さの評価は他の評価と同時に行うべきではないということが言えます。LLM-as-a-Judgeでは複数の項目を同時に評価すると判定精度が低下するということが知られています (http://arxiv.org/abs/2410.03131 など)。上述のように自然さの評価に絞っても判定に疑問がつくという状況で、他の項目と同時に評価すると更なる判定精度の低下につながる可能性が高いです。
同時に、プロンプトで与える指示の改善により、日本語の自然さの判定を簡単にすることも重要です。プロンプトの改善によって、reasoningをしないモデルでも妥当な判定ができるようになり、judge modelのコストを抑えつつ正確な評価が行える可能性があります。
以下では、プロンプトの改善に関して、その具体的な方法と結果について紹介します。
実験1: 評価プロンプトの改善による対策
まずは、評価プロンプトの改善として、
- 日本語の自然さの評価をメインにする
- 自然さの評価基準を示す
プロンプトを作り、これに基づくLLM-as-a-Judgeを行いました。プロンプトは以下の通りです。
問題と回答が与えられます。回答の自然さを5段階 (1, 2, 3, 4, 5) で評価してください。
自然さは、回答で使われている言語の母語話者が読んで違和感を感じるかどうかを基準とします。
スコアの基準:
5: 非常に自然で、母語話者が書いたものと見分けがつかない。
4: 内容の理解は容易だが、言い回しなどで母語話者は違和感を感じる。
3: 母語話者は違和感を感じるが、注意して読めば内容は理解できる。
2: 母語話者は大きな違和感を感じ、読むのに苦労する。
1: 文法ミスなど重大な問題があり、母語話者が読んだ時に意味を適切に解釈できない。
評価基準:
最初に書いた項目ほど重要とします。
- 日本語を使うべき場面で、日本語を使えているか
- 日本語で質問されている場合、原則として日本語で答えることを「自然」とします。
- ただし、これは日本語以外のテキストを含めてはいけないという意味ではありません。例えば、英語の文を示した後日本語で解説をする、中国古典を引用する、というような場合には日本語以外のテキストが含まれている自然な日本語の文章は存在します。
- 日本語が自然か
- 日本語が適切な場面では、自然な日本語を使うほうを「自然」とします。
- 不自然な日本語の例を以下にあげます。これらの項目は重要ですが、判断基準の全てではありません。
- 日本語の文法がおかしい場合
- 文法としては正しくても、日本語話者があまり使わない表現の場合
- TPOにあった文章になっていない場合
- 日本語の読みがなが不適当である場合
- 読みがなが間違っている場合の他、不要なアルファベットの使用も不適当とみなします。
- 例えば、「アインシュタイン (Einstein) 」はもとのアルファベットを示す表現として自然とみなしますが、「東京 (tokyo)」という表現は、日本語の読みがなとしては「東京 (とうきょう)」のほうが自然で適当とみなしてください。
- 日本語で記述するのが自然な場所に他言語の単語が使われている場合
- 例えば、「前沿技術」という単語の場合、前沿は中国語の単語であり、日本語としては先端技術、のほうが自然とみなします。
- 日本語以外で記述することが自然な場合はこの項目は当てはまりません。
- 問題に対して適切に答えているか
問題
<text>
${input_text}
</text>
回答
<text>
${output_text}
</text>
評価結果の数字 (1, 2, 3, 4, 5) のみを出力してください。
図4: ELYZA-tasks-100の出力の自然さを評価するためのプロンプト
このプロンプトでは、自然な回答であるかどうかを判定することに注力させることとしました。「自然な日本語かどうか」ではないのは、ELYZA-tasks-100はタスクによっては数式など日本語とは言い難い回答が適切なものもあり、そういったものへも適切にスコア付けをするためです。
また、自然な応答の基準と例をプロンプトに記述し、タスクの難易度を下げるようにしました。
このプロンプトでGPT-5-Instantを用いて評価をしたところ、各モデルのスコアは以下のようになりました。なお、各モデルの生成はそれぞれデフォルトのtemperatureで行っているので結果に厳密な再現性はありません。
| モデル | 平均スコア | (参考) もともとのプロンプトでのスコア |
| PLaMo-2.2-Prime | 4.93 | 4.23 |
| Qwen3-32B (w/ reasoning) | 4.14 | 4.13 |
| Qwen3-32B (w/o reasoning) | 4.31 | 4.21 |
| Qwen3-235B-A22B-2507 | 4.98 | 4.60 |
| gpt-oss-120b | 5.00 | 4.49 |
表1を見ると、もともとのプロンプトではPLaMo-2.2-PrimeとQwen3-32Bが同程度、Qwen3-235B-A22B-2507とgpt-oss-120bが同程度といったところから、プロンプトの変更によって、PLaMo-2.2-Primeだけ大きくスコアが上がっています。
このことは、上記プロンプトは日本語の学習割合の大小がスコアに大きく影響するプロンプトであることを意味します。
一方、個別の例を見ると、最初にあげたメールの返信文面を作る例ではQwen3-32Bの出力、PLaMo-2.2-Primeの出力のどちらもスコア5のままでした。もともとの問題意識であった、「日本語の自然さについてより正確に採点する」という目的を達成できているのかは疑わしいです。
また、計測したモデルの全てでスコアが4を超えておりスコアの範囲が狭く比較に使いづらいということもこのプロンプトの問題点です。特にPLaMo-2.2-Primeのスコアが4.93とほぼ満点なのはPFNにとってこのプロンプトを非常に使いづらくしています。ベンチマークを計測する目的の一つに、新しいモデルが元のモデルと比べてどれだけ良いか、を知ることがあります。現在のモデルでほぼ満点となっているベンチマークでは、今後モデルを改善してもその改善の度合いを計測できないということになってしまいます。
この問題を解決するには、採点基準の4点から5点をより細分化した評価基準を作る必要があります。しかし、プロンプトの説明によって4点と5点の間を細分化するのは難しく、ちょうど良い表現は思い浮かびませんでした。
まとめると、回答の自然さ (特に日本語の自然さ) に注目した評価をするプロンプトを使うことで、
- 日本語を重点的に学習したLLM (PLaMo-2.2-Prime) ほどスコアが上がるような評価基準に変化した
- ただし、個別例を見ると不正確に見える評価はまだまだあり、正確に日本語の自然さを評価できるプロンプトになったとは言い難い
という結果となりました。
実験2: 正解との比較による評価
細かい自然さの違いを採点できるようにする方法として、比較対象を用意するという方針を考えました。最初にあげた例をGPT-4.1で比較すると、「PLaMo-2.2-primeの出力の方が自然である」という評価になります。したがって、単独の出力の自然さの評価では差が出ないテキストであっても、比較という形式をとることで違いを評価することができる可能性があります。
ELYZA-tasks-100には人が書いた想定回答があります。そこで、この想定回答と比較して、どちらが自然かを評価するプロンプトを作り、これに基づく評価を行いました。具体的なプロンプト例は以下のとおりです。
問題と2つの回答が与えられます。より自然な回答を選んでください。
選択肢:
A: 回答1のほうが明確に優れている
B: 回答1のほうがどちらかといえば優れている
C: 両方とも同等である
D: 回答2のほうがどちらかといえば優れている
E: 回答2のほうが明確に優れている
評価基準:
最初に書いた項目ほど重要とします。
- 日本語を使うべき場面で、日本語を使えているか
- 日本語で質問されている場合、原則として日本語で答えることを「自然」とします。
- ただし、これは日本語以外のテキストを含めてはいけないという意味ではありません。例えば、英語の文を示した後日本語で解説をする、中国古典を引用する、というような場合には日本語以外のテキストが含まれている自然な日本語の文章は存在します。
- 日本語が自然か
- 日本語が適切な場面では、自然な日本語を使うほうを「自然」とします。
- 不自然な日本語の例を以下にあげます。これらの項目は重要ですが、判断基準の全てではありません。
- 日本語の文法がおかしい場合
- 文法としては正しくても、日本語話者があまり使わない表現の場合
- TPOにあった文章になっていない場合
- 日本語の読みがなが不適当である場合
- 読みがなが間違っている場合の他、不要なアルファベットの使用も不適当とみなします。
- 例えば、「アインシュタイン (Einstein) 」はもとのアルファベットを示す表現として自然とみなしますが、「東京 (tokyo)」という表現は、日本語の読みがなとしては「東京 (とうきょう)」のほうが自然で適当とみなしてください。
- 日本語で記述するのが自然な場所に他言語の単語が使われている場合
- 例えば、「前沿技術」という単語の場合、前沿は中国語の単語であり、日本語としては先端技術、のほうが自然とみなします。
- 日本語以外で記述することが自然な場合はこの項目は当てはまりません。
- 問題に対して適切に答えているか
問題
<text>
${input_text}
</text>
回答1
<text>
${output_text}
</text>
回答2
<text>
${ground_truth}
</text>
選択肢のアルファベット (A, B, C, D, E) のみを出力してください。
図5: ELYZA-tasks-100の出力の自然さを正解例との比較により評価するためのプロンプト
なお、元々のスコアのレンジ (1〜5点) と合わせるため、選択肢Aを5点、Bを4点、Cを3点、Dを2点、Eを1点として評価スコアとしました。
日本語の自然さを評価するための項目は実験1のプロンプトと同様ですが、評価基準を人が書いた正解 (ground_truth) と比較した時の自然さとしました。
GPT-5-Instantを使っていくつかのモデルを評価した結果は表2のとおりです。
| モデル | 平均スコア | (参考) もともとのプロンプトでのスコア |
| PLaMo-2.2-Prime | 3.25 | 4.23 |
| Qwen3-32B (w/ reasoning) | 2.5 | 4.13 |
| Qwen3-32B (w/o reasoning) | 2.85 | 4.21 |
| Qwen3-235B-A22B-2507 | 3.84 | 4.60 |
| gpt-oss-120b | 3.54 | 4.49 |
実験1同様、PLaMo-2.2-Primeのスコアが相対的に高くなる傾向のあるプロンプトとなっており、日本語の学習割合の大小がスコアに大きく影響するプロンプトとなっています。
また、ここまで使ってきた例では、Qwen3-32Bの出力がE (1点)、PLaMo-2.2-Primeの出力がA (5点) となり、他のプロンプトよりもモデル間の差を適切に評価することができていそうです。
また、各モデルのスコアも2.5〜4の間であり、将来のモデルの性能向上を評価する余地も残っています。これは採点基準が他のプロンプトよりかなり厳しい要求になっているためであると考えられます。例えば、スコア3をつける基準は、元々のプロンプトによる基準だと「部分的に誤っている、 部分的に合っている」、実験1における基準だと「母語話者は違和感を感じるが、注意して読めば内容は理解できる。」なのに対し、このプロンプトにおいては「日本人が書いた想定回答と比較して同等程度に自然な応答」となっています。
まとめると、回答の自然さ (特に日本語の自然さ) を正解例との比較によって評価をするプロンプトを使うことで、
- 日本語を重点的に学習したLLM (PLaMo-2.2-Prime) ほどスコアが上がるような評価基準に変化した
- 厳しい採点基準でスコア付けできるようになり、今後のLLMの性能向上を計測できるようになった
という結果となりました。
一方、このスコアの妥当性については、人間による評価との一致度合いの定量評価やより多くの例に対する定性的な調査をしないとまだわかりません。モデル開発での指標として使うためにはこの点についてしっかりと検証する必要があります。
まとめ: 日本語の自然さの評価に向けて
ELYZA-tasks-100の評価を例として、現在のLLM評価における日本語の自然さの評価について調査しました。
chatbotとしての能力だったり出力の自然さの評価については、活発な研究は一段落した領域とも言える一方、少なくとも日本語においてはLLMによる評価は正確とは言い難い状況です。
日本語を出力するLLMとして使いやすい・違和感のないモデルの開発のためには、正確にこういった能力を評価し、開発にフィードバックしていく必要があります。
今回の取り組みは、LLMの出力の自然さを正確に評価するための最初の一歩です。今後も継続して開発し、正確な評価と低い評価コストを両立できる手法の確立を目指していきます。
仲間募集中
PFNでは今後もLLMの開発を継続して行っていきます。開発は今回紹介した以外にも多岐にわたります。我々はこれらの課題に情熱をもって挑戦していく仲間を募集しています。
これらの仕事に興味がある方はぜひご応募よろしくお願いします。
https://www.preferred.jp/ja/careers/







