NTT DATA TECH
🍜

生成AIシステムの精度評価を自動化する ― RAGASを使った精度評価ツールを開発した話

に公開

この記事は「ビギナーズ Advent Calendar 2025」の9日目の記事です。

はじめに

NTTデータグループ 技術革新統括本部の大谷です。
私たちのチームでは、RFP(Request for Proposal)に対する非機能要件の抜け漏れチェックを生成AIで自動化する取り組みを進めています。昨年度トピックス発信も行っているので、ぜひ見てもらえると嬉しいです!
https://www.nttdata.com/global/ja/news/topics/2024/121300/
現在は、さらに精度を向上させるべくプロンプトや仕組みの改善を続けていますが、精度の評価に非常に時間がかかるというのがネックとなっていました。
そこで今回、精度評価を自動化するツールを作ったので、その背景や技術的ポイント・結果について紹介します。

従来の評価プロセスと課題

従来の精度評価方法

RFPに対する非機能要件の抜け漏れチェックは主に以下のプロセスで実施しています。

  1. チェック対象のドキュメントを読み込む
  2. 非機能要件について記載されている箇所を抽出する
  3. 抽出した内容をもとに判定(○/△/×)を下す

今回、精度改善を目指すうえで確認しなければならないポイントは、

  • 正しい情報を抽出出来ているか?
  • 正しく判定出来ているか?

の2つです。

2つめの「正しく判定出来ているか?」については、人手でチェックした結果と比較するだけでよいので簡単です。
問題は1つ目の「正しい情報を抽出出来ているか?」についてです。抽出される情報が少なければよいのですが、複数ページにわたってバラバラに記載されている場合などは、抽出量が膨大になってきます。これまでは、人手で抽出した内容と生成AIが抽出した内容を比較して、生成AIがもれなく必要な情報を抽出出来ているかを人手で確認していました。

従来の精度評価方法の問題

従来の人手での精度評価には、主に2つの問題がありました。

  • 確認に時間がかかる(1案件あたり1~2時間)
  • 確認する人によって評価にばらつきが出る

精度改善を進めるためにはこの問題を解決し、迅速に改善→評価のプロセスを回していく必要がありました。
そこで、RAGAS(Retrieval-Augmented Generation Assessment)というフレームワークを活用して精度評価を自動化できないか試してみました。

RAGASを利用した評価方法

RAGASとは?

RAGASとは、RAG(Retrieval-Augmented Generation)システムの品質を評価するためのフレームワークです。
RAGとは、外部データ(文書やナレッジベース)を検索して、その内容をもとにAIが回答を生成する仕組みのことです。
RAGASの内部では、LLMを使って評価をしています。(LLMの出力結果をLLMが評価していることになります。)

複数の指標を用いて、

  • 引用した文脈が適切か
  • 回答が引用した文脈に基づいているか
  • 正しく回答出来ているか

などを評価できます。

なぜRAGASを使ったのか

精度評価ツールを検討する中で、

  • 文章の表記ゆれや曖昧さを読み取り、意味的な一致をある程度扱える
  • ある程度一貫性を持った評価が期待できる
  • 実装がシンプルで分かりやすい

という点から、今回RAGASを利用することに決めました。

使用した評価指標

RAGASには複数の評価指標がありますが、その中から今回はContext Recallを採用しました。
Context Recallとは、取得されたコンテキストが正解とどの程度一致しているかを測定する指標です。

今回は、人手での抽出結果を正解とし、生成AIの抽出結果がどの程度一致しているかを評価しました。

精度評価ツールの概要

今回構築したツールの仕組みは以下のようになっています。
正解データ(人手での抽出結果)と生成AIの抽出結果を読み込ませると、Context Recallの値が出力されるという仕組みです。
精度評価ツールの仕組み図
正解データと生成AIの抽出結果からContext Recallを算出するツールの仕組み

工夫したポイント

評価のブレを軽減するため、複数回実行してその平均を取った

RAGASによる評価にはLLMが使われているため、結果がわずかにブレる場合があります。そこで、同じデータを10回評価し、その平均を採用する仕組みとしました。
これにより、ブレなく安定したスコアを算出することが出来るようになりました。

正解データの余分な文言を省く

正解データに余分な文言が含まれていると、生成AIの抽出結果と比較する際に不必要な差異が出てしまいます。
そのため、正解データは本当に抽出したいポイントだけに整理し、RAGASが正確に判定しやすい形に整えました。

精度評価の結果

人手で評価した結果との比較

複数のケースでツールを適用し、人手で評価した結果との比較を行ったところ、

  • 最終的なスコアは人手で評価した結果とほぼ一致
  • 評価結果のブレも、10回実行してその平均を取ることで影響を小さくできた

となり、人手での精度評価の代替として十分な精度であることが確認できました。

正しく評価できなかったケースの傾向

一方で、次のようなケースでは誤判定が起こることが分かっています。

  • 似たような文面や単語が複数含まれている場合
  • 正解の文言が抽象的過ぎる場合

ただし、これらの影響は小さく無視できる程度でした。また、正解データを整備することである程度の改善が見込まれています。

自動評価ツールの導入による効果

評価にかかる時間がほぼゼロに

従来は1案件あたり1~2時間かかっていた精度評価が、ツール導入後は実働ほぼゼロでできるようになりました。これにより、改善→評価のサイクルを高速に回すことが出来るようになり、精度改善の効率化を実現できました。

誰でも一貫した評価を行える

本ツールを使えば、誰でも一貫した評価を実施することが出来ます。これにより、評価する人によってスコアがブレる心配がなくなり、より正しい精度評価ができるようになりました。

まとめ

生成AIを用いたシステムにおいて、精度の評価が大きな負担となっていましたが、今回構築したRAGASベースの精度評価ツールによって、その負担を大きく軽減することが出来ました。

この記事を読んでいただいている皆様の中で、「生成AIの精度評価のやり方に悩んでいる」という方がいれば、ぜひRAGASを使ってみることをおすすめします!

NTT DATA TECH
NTT DATA TECH
設定によりコメント欄が無効化されています