MODULE m2 · 8.0 HOURS

評価用ドキュメントコーパスのキュレーション

0% 完了

LEARNING OBJECTIVES

このモジュールの目標

  1. RAG評価のための固定ドキュメントコーパスの重要性を理解する。
  2. 評価用ドキュメントデータの品質決定要素(正確性、多様性、重複排除)を学習する。
  3. 定量的な評価のためのドキュメント-質問-正解ペア (QA Pair) データセット構築戦略を習得する。
  4. データ漏洩 (Data Leakage) を防止するための学習/評価データの分割方法を習得する。

RAG評価のためのコーパスキュレーション

大規模言語モデル (LLM) は学習されたパラメータ内の知識に依存する場合、ハルシネーション(幻覚)のリスクが存在します。検索拡張生成 (RAG) は、モデルがリアルタイムで外部知識にアクセスできるようにすることで、このような限界を克服します [S2]。効果的なRAGシステムの信頼性を定量的に評価するためには、固定され、制御可能な評価用ドキュメントコーパス (Fixed Evaluation Corpus) が不可欠です。

1. コーパス品質の決定要素

  • 正確性 (Factuality): ドキュメント内の情報は最新かつ事実である必要があります。誤った情報が含まれたコーパスは、誤った回答を生成させます。
  • ドメイン適合性: 評価しようとする実際のサービス環境と類似したトピックや語彙を含んでいる必要があります。
  • 重複排除 (De-duplication): 同一情報が複数のドキュメントに重複していると、検索結果の多様性が損なわれ、評価統計に偏りを与える可能性があります。

2. QA評価データセットの構築

ドキュメントコーパスだけでは評価は不可能です。「ドキュメント-質問-正解」ペアを構築し、検索器が関連ドキュメントを正しく持ってくるか、生成器がこれを基に正確な回答をするかを測定しなければなりません。

  • 質問生成: LLMを使用してドキュメントから自動的に質問を生成するか、ドメイン専門家が直接作成します。
  • 正解の定義: 回答の根拠となるドキュメント区間 (Chunk) を明確に明示しなければなりません。

3. データの分割と整合性

評価セットの信頼性のため、開発用 (Development Set)最終評価用 (Hold-out Test Set) を厳格に分割しなければなりません。評価セットに含まれる質問が、検索対象ドキュメントに直接含まれて露出してしまう「データ漏洩」現象を防止しなければなりません。

WORKED EXAMPLES

解説例

  1. 例 1: ドキュメントチャンキング (Chunking) 戦略。テキストを固定サイズに分割する際、文脈が切れないように段落単位や意味単位で分けるPythonスクリプトの作成方法。
  2. 例 2: 質問-回答データの構成。{ 'question': '...', 'ground_truth': '...', 'context_chunk_id': '...' } 形式のJSONオブジェクト生成例。

LAB PROTOCOL

評価用コーパス構築の実習

  1. 1

    評価対象ドメインのオープンライセンステキストファイル (.txt) を確保する。

  2. 2

    Pythonを使用してテキストファイルを読み込み、チャンク単位に分けるスクリプトを作成する。

  3. 3

    各チャンクに一意の識別子 (ID) を付与し、メタデータ(タイトル、ソース)を記録する。

  4. 4

    作成したチャンクの中から質問を生成し、回答の根拠となるチャンクIDを記録して50個のQAペアを構成する。

  5. 5

    全コーパスを8:2の比率で開発セットとテストセットに分割して保存する。

安全確認
  • 個人情報が含まれるドキュメントは、評価コーパスに含めないこと。
  • 外部API使用時はリクエスト回数の上限を設定して費用を制御すること。
  • 作業時に生成されたデータはGitを通じてバージョン管理を行い、再現性を確保すること。

実習提出物

  • 構築されたドキュメントコーパスファイル (JSONL形式)
  • 質問と正解が含まれたQAデータセット (JSON形式)
  • コーパス分割記録が収められたJupyter Notebookファイル

ASSIGNMENT

ドメインベースのRAGデータセット完成

提出物

評価基準

  • コーパス内の重複チャンク除去の完了状況
  • テストセットと開発セットのデータ漏洩の有無確認
  • 回答の根拠となるドキュメント区間 (Chunk ID) の正確なマッピング状況

KNOWLEDGE CHECK

理解度チェック

1RAGシステムにおいて「データ漏洩 (Data Leakage)」を防止する最善の方法は何ですか?
2コーパスキュレーション過程において「重複排除」が重要な理由は何ですか?

FIELD CHECK

完了基準

  • 評価用ドキュメントコーパス(最低100個のチャンク以上)構築完了
  • 検証可能なQAデータセット(最低100問)作成完了
  • データセット分割ポリシー遵守の確認
  • 成果物に対するピアレビューまたは自己評価チェックリストの作成完了

MODULE SOURCES

このモジュールの根拠

  1. Natural Language Processing with Deep Learning CS224N/Ling284web.stanford.edu · university