クイズの説明
Step 2「ドキュメント処理とチャンキングを設計しよう」の理解度を確認します。ドキュメントローディング、チャンキング戦略、メタデータ、前処理パイプラインについて問います。
合格ライン: 80%(5問中4問正解)
問題
Q1. チャンキング手法の選定
社内のMarkdown形式の技術文書(ヘッダー構造が明確、コードブロック多数)に最も適したチャンキング手法はどれですか?
- A. 固定長チャンキング(500トークン、オーバーラップ20%)
- B. 構造ベースチャンキング(ヘッダー単位で分割)
- C. セマンティックチャンキング(Embedding類似度で分割)
- D. ランダムチャンキング(ランダムな位置で分割)
答えを見る
正解: B
Markdown形式の技術文書はヘッダー構造が明確であるため、構造ベースチャンキングが最も適しています。ヘッダー(H1/H2/H3)の区切りでチャンクを生成することで、セクション単位の意味的なまとまりを保持できます。固定長(A)はヘッダー構造を無視して文中で切れるリスクがあります。セマンティック(C)はEmbedding計算コストがかかり、構造が明確な場合は不要です。ランダム(D)はチャンキング手法として適切ではありません。
Q2. オーバーラップの設計
チャンキングにおけるオーバーラップの目的と推奨設定として、最も適切なものはどれですか?
- A. オーバーラップは不要。チャンクは重複なく分割すべき
- B. オーバーラップ率80%が推奨。冗長性が高いほど検索精度が上がる
- C. オーバーラップ率20%程度が推奨。チャンク境界での情報欠落を防ぎつつ、ストレージコストを抑える
- D. オーバーラップ率はドキュメントごとにランダムに設定すべき
答えを見る
正解: C
オーバーラップの目的は、チャンク境界で文脈が途切れることによる情報の欠落を防ぐことです。20%程度のオーバーラップが推奨される出発点です。0%(A)だと重要な情報が境界で分断されるリスクがあります。80%(B)は過剰な冗長性でストレージコストとノイズが増大します。ランダム設定(D)では一貫した品質を保証できません。ただし構造ベースチャンキングの場合、自然な区切り(ヘッダー)で分割するためオーバーラップを小さく設定できます。
Q3. PDF処理の課題
RAGシステムでPDFドキュメントを処理する際の最大の課題と、その対処法として最も適切なものはどれですか?
- A. PDFのファイルサイズが大きいこと → 画像圧縮で解決
- B. テーブルや段組みのテキスト抽出が困難なこと → 専用ライブラリやLLM Vision APIの活用
- C. PDFは暗号化されているため読めないこと → パスワード解除ツールの使用
- D. PDFは古い形式なので使うべきでないこと → Markdownへの変換を強制
答えを見る
正解: B
PDF処理の最大の課題は、テーブルや段組みレイアウトからの正確なテキスト抽出です。PDFはレンダリング情報(座標、フォント)を持つ形式であり、テーブルの行列関係や段組みの読み順をプログラムが正しく理解するのが困難です。対処法として、pdfplumber等の専用ライブラリ、Table Transformer等のMLモデル、GPT-4 Vision等のLLM Vision APIを組み合わせて使います。ファイルサイズ(A)は主要な課題ではなく、暗号化(C)は一般的な問題ではありません。Markdownへの強制変換(D)は現実的ではありません。
Q4. メタデータの活用
RAGシステムで「仮想質問生成(Hypothetical Questions)」をメタデータとして付加する主な目的は何ですか?
- A. LLMの応答品質を向上させるため
- B. ユーザーの質問表現とドキュメントの表現のギャップを埋め、検索ヒット率を向上させるため
- C. ドキュメントの品質を評価するため
- D. ベクトルDBのストレージを有効活用するため
答えを見る
正解: B
仮想質問生成は、チャンクの内容に基づいて「このチャンクが回答になるような質問」をLLMに生成させる手法です。ユーザーが質問形式で検索する際、ドキュメント本文の表現とユーザーの質問表現の間にはギャップがあります(例: ユーザーは「DBのバックアップ方法は?」と聞くが、ドキュメントには「データベースの障害復旧手順」と書かれている)。仮想質問をEmbedding化してインデックスに格納することで、このギャップを埋め、検索ヒット率を大幅に向上させます。
Q5. 前処理パイプラインの設計
前処理パイプラインで「冪等性」を確保する最も適切な方法はどれですか?
- A. 毎回すべてのドキュメントを全削除してから再挿入する
- B. ドキュメントのコンテンツハッシュを計算し、既存のハッシュと比較して変更がなければスキップする
- C. パイプラインを1日1回だけ実行するスケジュールにする
- D. ベクトルDBへの書き込みを無効化して、読み取り専用にする
答えを見る
正解: B
冪等性とは「同じ処理を何度実行しても結果が変わらない」性質です。コンテンツハッシュを使う方法では、ドキュメントの内容からハッシュ値を計算し、前回処理時のハッシュと比較します。ハッシュが同じならコンテンツに変更がないためスキップし、異なる場合のみ更新処理を行います。全削除・再挿入(A)は冪等性は確保できますが、大量のリソースを無駄に消費し、更新中のダウンタイムも発生します。実行回数の制限(C)や書き込み無効化(D)は冪等性の確保方法ではありません。
結果
合格(4問以上正解)
Step 2の内容をよく理解しています。ドキュメント処理とチャンキングの基礎を身につけました。次のStep 3「ベクトルDBと検索パイプラインを構築しよう」に進みましょう。
不合格(3問以下正解)
Step 2の内容を復習しましょう。特に以下のポイントを重点的に確認してください:
- チャンキング手法 — 固定長、セマンティック、構造ベース、階層的の使い分け
- PDF処理 — テーブルや段組みの処理方法
- メタデータ — 仮想質問生成の効果と活用方法
- パイプライン — 冪等性、エラーハンドリング、差分更新の設計
推定所要時間: 30分