生成AI(LLM)を自社データに適用する方法として、RAG(Retrieval-Augmented Generation:検索拡張生成)が広く使われています。RAGは、質問に関連する文書や情報を検索・取得し、その情報をコンテキストとしてLLMに渡して回答を生成する仕組みです。検索にはベクトル検索のほか、キーワード検索やハイブリッド検索などが利用されます。RAGの精度は、取得する文書の品質に大きく依存します。本記事では、RAGシステムのデータ整備で必要なポイントを解説します。
RAGの精度を左右するデータ品質の要素
RAGシステムにおけるデータ品質の問題は、従来のBI分析とは異なる種類の問題を引き起こします。数値の正確さではなく、「文章として意味をなしているか」「検索で正しく取得できるか」「LLMが正確に解釈できる内容か」が問われます。
- 内容の正確さ・最新性:古い情報や誤った情報を含む文書をRAGに登録すると、生成AIが誤った事実に基づいて回答を生成します。文書の更新管理・バージョン管理が品質の基盤です
- 文書の一意性:同じ情報が複数の文書に重複して存在すると、検索の際に矛盾したコンテキストがLLMに渡り、回答の一貫性が下がります
- 文書の読みやすさ・構造:OCRで取り込んだスキャン文書に誤認識が多い・表が崩れた形でテキスト化されているなど、機械的に読み取りにくい文書はRAGの精度を下げます
チャンク化設計:文書をどう分割するか
RAGでは文書を「チャンク(chunk)」と呼ばれる小さな単位に分割してベクトルDBに登録します。チャンクの分割方法がRAGの精度に直接影響します。
- 固定長分割の問題:文字数で機械的に分割すると、意味のある文章の途中で切れてしまい、文脈が失われたチャンクが生成されます。このようなチャンクは検索でヒットしても、LLMが正確な回答を生成するのに十分な情報を含まない場合があります
- 意味単位での分割:段落・セクション・見出し単位で分割することで、意味的にまとまったチャンクが生成されます。HTMLやMarkdownの構造を活かした分割が有効です
- チャンクの重複(オーバーラップ):連続するチャンク間でテキストを一部重複させる(スライディングウィンドウ方式)ことで、チャンクの境界で意味が途切れる問題を軽減できます
- チャンクサイズの調整:チャンクが大きすぎると無関係な情報が含まれ、小さすぎると文脈が不十分になります。適切なサイズは文書の性質・検索クエリの粒度・利用するembeddingモデルなどによって異なるため、仮のサイズで検証しながら調整することが現実的です
メタデータ設計:検索精度を上げる付加情報
チャンクにメタデータ(文書タイトル・作成日・カテゴリ・部門・更新日など)を付与することで、「最新の○○部門のポリシーを教えて」という検索クエリに対して、日付・部門でフィルタリングした高精度の検索が可能になります。
- 基本メタデータ:文書ID・タイトル・作成日・更新日・文書タイプ(規程・マニュアル・FAQ等)・部門
- セマンティックメタデータ:文書の主要キーワード・サマリー・想定読者。これをLLMなどで自動生成してメタデータとして付与する方法もあり、検索精度の改善につながる場合があります
- 有効期限・バージョン:廃止された文書・旧バージョンの文書を検索結果から除外するために、有効期限・廃止フラグをメタデータとして管理します
- アクセス制御・機密区分:部門・役職・機密レベルなどを管理し、ユーザーが参照権限を持つ文書のみを検索結果に返す設計が企業向けRAGでは重要です。意図しない文書開示を防ぐために、アクセス可能なロールをメタデータとして設計に含めることを推奨します
RAG向けデータ整備のプロセス
RAGデータ整備の5ステップ
パイロット検証(Step3)で精度を確認してから全量インジェストへ進む
RAGシステムの構築に向けたデータ整備は次のプロセスで進めます。
- Step1 ドキュメントの棚卸しと品質評価:対象文書のリストアップ・形式(PDF・Word・HTML等)・更新状況・重複・品質の確認を行います
- Step2 クレンジング:スキャンPDFのOCR精度改善・重複文書の排除・古い文書の廃止処理を行います
- Step3 チャンク化設計とパイロット:チャンクサイズ・分割方法を設計し、小規模なパイロットセットでRAGの精度を検証します
- Step4 メタデータの付与:メタデータスキーマを設計し、文書ごとにメタデータを付与します(手動・自動の組み合わせ)
- Step5 インジェスト・モニタリング:ベクトルDBへのインジェストと、本番運用後のRAG精度のモニタリングを実施します
RAGデータ整備でよくある失敗パターン
RAGシステムの精度が期待を下回る原因の一つとして、ドキュメントの品質整備が不十分なまま構築を進めたことが挙げられます。スキャンPDFをそのまま取り込んだためOCR誤りが大量に混入していた、古い情報と最新情報が混在したまま検索対象になっていた、同じ内容の文書が複数バージョン存在して矛盾する回答が返ってきた——こうした問題は、整備フローが後回しになることで発生します。
また、チャンクが長すぎると関係のない情報が混入し、短すぎると文脈が途切れて回答精度が落ちます。「まず小さなパイロットで精度を検証する」ステップを省略して全文書をいきなりインジェストすると、品質問題の発見と修正が膨大な手戻りになります。RAGの品質改善は「精度の問題をどのドキュメントのどのチャンクが引き起こしているか」をトレースできる設計を最初から組み込むことが重要です。
RAGデータ整備を継続運用するための仕組み
RAGシステムは構築して終わりではなく、ドキュメントの更新・廃止・追加に合わせてデータを継続的に管理する必要があります。業務マニュアルや規程類は、業務・制度・組織の変更に応じて改訂されるため、古い文書がRAGの検索対象として残っていると誤った回答を生成する原因になります。「文書の有効期限・改訂フロー」とRAGのインジェストプロセスを連動させる運用設計が、RAGシステムの品質を長期的に維持する鍵です。
また、RAGの精度は本番運用後もモニタリングが必要です。ユーザーのフィードバック(「この回答は正確でなかった」)や、検索結果の関連性・回答の根拠性・正確性などの評価指標をログに記録し、精度が低下したクエリパターンを特定することで、どのドキュメントを優先的に更新・追加すべきかが見えてきます。データの入口(整備・インジェスト)だけでなく、出口(回答精度の継続モニタリング)を設計に含めることが、実用レベルのRAGシステムを維持する条件です。
まとめ
RAGシステムの精度を左右する重要な要素として、「ドキュメントの品質・チャンク化設計・メタデータ設計」があります。データ整備なしにRAGを構築しても期待する精度は得られないため、ドキュメントの棚卸しとクレンジングをRAG構築と並行して進めることが重要です。また、本番運用後のモニタリングまで設計に含めることで、精度劣化に早期に気づき対応できる持続可能なRAGシステムを構築できます。生成AI・RAGシステム向けのデータ整備をご検討の場合は、BFT Insightにご相談ください。
よくある質問
RAGシステムに使うドキュメントに特別な形式は必要ですか?
PDFやWord・テキストなど一般的な形式は問いませんが、スキャン画像PDFや二段組レイアウトは、OCRや前処理が必要になることがあります。重要なのは「文章として読める状態」にすることです。テーブルや図が多い資料はチャンク化で分断されやすいため、テキスト化した際の可読性を確認しておくと整備がスムーズに進みます。
チャンクサイズはどのくらいが適切ですか?
チャンクサイズに一律の正解はありません。文書の構造・質問の粒度・利用するembeddingモデルやLLMのコンテキスト長などによって適切なサイズが変わります。まず仮のサイズで検証し、検索結果の関連性や回答の正確性を測定しながら調整する反復的なアプローチが現実的です。
RAG向けデータ整備にはどのくらいの期間がかかりますか?
ドキュメント数・品質状態・組織の体制によって大きく異なります。社内文書が数百件程度で品質管理が比較的行き届いている場合は1〜2ヶ月程度で基礎整備を終えられることもありますが、複数部門にまたがる数千件規模の文書整備では、棚卸し・承認・クレンジング・テストまで含めると半年以上かかる場合もあります。まずスモールスタートでパイロット範囲を絞り、精度を確認しながら対象を広げる進め方が推奨されます。
既存のデータ辞書やデータカタログはRAGデータ整備に役立ちますか?
役立ちます。データ辞書が整備されていれば、ドキュメント内の専門用語・略称・業務定義を統一表記に揃える際の判断基準として活用できます。データカタログがあれば、どのドキュメントをRAGの検索対象に含めるかの判断材料にもなります。これらが整備されていない場合は、RAGデータ整備を進めながら並行してドキュメントの定義を整理する機会として活用することもできます。