概要 大規模言語モデル(LLM)を活用した検索拡張生成(RAG)システムにおいて、テキストのチャンキング(分割)は検索精度と生成品質を左右する重要な前処理工程である。本稿では、主要なチャンキング手法の特徴を整理・比較するとともに、チャンクサイズの選定がシステム性能に及ぼす影響について知見を報告する。さらに、筆者が開発したCPO(Community-based Pruning Optimization)グラフ最適化手法の概要とベンチマーク結果、およびClaude Codeのコンテキスト活用効率化への応用について述べる。
1. はじめに
近年、LLMの実用化に伴い、外部知識を検索・参照しながら回答を生成するRAG(Retrieval-Augmented Generation)アーキテクチャが広く採用されている。RAGの性能はリトリーバル(検索)の精度に大きく依存し、その精度はインデックスに格納されるテキストチャンクの品質によって決定される。
チャンキングとは、長大な文書を意味的に適切な単位に分割する処理を指す。この分割の巧拙は、検索時の適合率(Precision)と再現率(Recall)に直接影響し、ひいてはLLMが生成する回答の正確性・網羅性を左右する。にもかかわらず、チャンキング手法の体系的な比較研究は十分とは言えず、実務においては経験則に頼った手法選定が行われることが多い。
本稿では、代表的なチャンキング手法を概観し、それぞれの特性を比較するとともに、チャンクサイズの最適化に関する知見を整理する。なお、本稿で述べる知見は筆者の研究開発活動を通じて得られたものであり、具体的な実装の詳細については割愛する。
2. チャンキング手法の概要と比較
テキストチャンキングの手法は、分割の基準に応じて大きく以下の5つに分類できる。各手法の概要と特徴を以下に述べる。
2.1 固定長チャンキング(Fixed-size Chunking)
最も基本的な手法であり、テキストをあらかじめ定めた文字数またはトークン数で機械的に分割する。実装が極めて単純であり、処理速度が速いという利点がある。一方で、文や段落の途中で分割が発生するため、意味的な一貫性が損なわれやすいという根本的な課題を有する。
2.2 オーバーラップ付き固定長チャンキング(Fixed-size with Overlap)
固定長チャンキングの改良として、隣接するチャンク間に重複領域(オーバーラップ)を設ける手法である。オーバーラップにより、チャンク境界付近の文脈情報が保持されるため、固定長チャンキングに比べて検索精度が向上する傾向がある。ただし、オーバーラップ部分のインデックスサイズが増大するというトレードオフが存在する。典型的には、チャンクサイズの10〜20%程度のオーバーラップが設定される。
2.3 セマンティックチャンキング(Semantic Chunking)
埋め込みモデル(Embedding Model)を利用して文や段落の意味的類似度を計算し、意味の境界で分割を行う手法である。隣接するテキスト断片の埋め込みベクトル間のコサイン類似度を計算し、類似度が閾値を下回る箇所をチャンク境界とする。意味的に一貫性のあるチャンクが生成されるため、検索精度の向上が期待できる。しかし、埋め込み計算のコストが加わるため、処理時間が固定長手法と比較して大幅に増加する。
2.4 再帰的チャンキング(Recursive Chunking)
複数の区切り文字を優先順位付きで適用し、段階的にテキストを分割する手法である。まず段落区切り(改行2つ)で分割を試み、結果のチャンクが目標サイズを超過する場合は、次に文区切り(句点)、さらに必要であれば単語区切りへと、より細かい粒度で再帰的に分割を行う。文書の自然な構造を尊重しつつ、チャンクサイズを一定範囲に収めることができるバランスの良い手法である。
2.5 文書構造ベースチャンキング(Document Structure-based Chunking)
Markdown・HTML・PDFなどの構造化文書において、見出し・セクション・リストといった文書構造の要素を分割の基準とする手法である。文書の論理構造に沿った分割が行われるため、各チャンクの意味的完結性が高い。ただし、入力文書が明確な構造を持たない場合(プレーンテキスト等)には適用が困難であり、文書形式に依存するという制約がある。
2.6 手法の比較
上述の各手法について、主要な評価軸に基づく比較を表1に示す。
| 手法 | 意味的一貫性 | 処理速度 | 実装の容易さ | サイズの均一性 | 文書形式への依存 |
|---|---|---|---|---|---|
| 固定長 | 低 | 非常に高速 | 容易 | 高 | なし |
| オーバーラップ付き固定長 | やや低 | 高速 | 容易 | 高 | なし |
| セマンティック | 高 | 低速 | 中程度 | 低 | なし |
| 再帰的 | 中〜高 | 高速 | 中程度 | 中 | 低 |
| 文書構造ベース | 高 | 高速 | 中〜高 | 低 | 高 |
比較表から明らかなように、各手法はいずれもトレードオフを内包しており、万能な手法は存在しない。意味的一貫性を重視するならばセマンティックチャンキングが有利であるが、処理コストの増大は避けられない。処理速度と意味的品質のバランスを求めるならば、再帰的チャンキングが実用的な選択肢となる。
3. 最適なチャンクサイズに関する考察
チャンキング手法の選定と並んで重要なパラメータがチャンクサイズである。チャンクサイズは検索精度と生成品質の双方に影響を与えるため、慎重な検討が求められる。
3.1 チャンクサイズが及ぼす影響
チャンクサイズの設定は、以下の2つの相反する要求のバランスを取る問題として捉えることができる。
小さいチャンク(〜256トークン)
- 検索の粒度が細かくなり、適合率(Precision)が向上する傾向
- 特定の事実や数値の抽出に適する
- 文脈情報が不足し、LLMが的確な回答を生成しにくくなるリスク
- チャンク数の増大によるインデックスサイズ・検索コストの増加
大きいチャンク(1024トークン〜)
- 豊富な文脈情報がLLMに提供され、生成品質が安定する傾向
- チャンク数が少なくなり、インデックスが効率的
- 無関係な情報が混入しやすく、再現率(Recall)が低下するリスク
- LLMのコンテキストウィンドウを圧迫する
3.2 実験的知見
筆者の研究開発において、複数のドメインのテキストデータに対して種々のチャンクサイズでRAGシステムの性能評価を実施した。以下に得られた主要な知見を述べる。
- 汎用的な推奨レンジとしての256〜512トークン: 多くのユースケースにおいて、256〜512トークンの範囲が検索精度と生成品質のバランスに優れていた。この範囲は、一般的な段落の長さに近く、意味的な完結性を保ちやすい。
- ドメイン特性による最適値の変動: 技術文書・法律文書・一般的な記事など、文書のドメインによって最適なチャンクサイズは異なることが確認された。特に、専門用語の定義や条文の引用が頻出するドメインでは、やや大きめのチャンクサイズ(512〜768トークン)が有効であった。
- 質問の粒度との相関: ファクトイド型の質問(具体的な事実を問う質問)に対しては小さめのチャンクが、要約・説明型の質問に対しては大きめのチャンクがそれぞれ有利であることが観察された。
- オーバーラップの効果: チャンクサイズの10〜15%に相当するオーバーラップを設定することで、チャンク境界における情報損失を軽減できることが確認された。ただし、20%を超えるオーバーラップでは冗長性の増大に伴う性能低下が見られた。
注記: 上記の知見は筆者の実験環境における結果であり、使用する埋め込みモデル、LLM、評価データセット等によって最適値は変動しうる。実運用においては、対象ドメインのデータを用いたベンチマーク評価を実施することを推奨する。
3.3 チャンクサイズ選定のフレームワーク
- ベースラインの設定: まず512トークン前後をベースラインとして設定する。
- ユースケースの分析: 想定される質問の粒度と文書の特性を分析し、必要に応じてサイズを調整する。
- オーバーラップの付与: チャンクサイズの10〜15%のオーバーラップを設定する。
- 評価と反復: 代表的なクエリセットを用いて検索精度・生成品質を評価し、パラメータを微調整する。
4. CPOによるグラフ最適化アプローチ
前章までに述べたチャンキング手法は、いずれもテキストの「分割」に焦点を当てたものであった。しかし、分割後のチャンク群をそのまま検索インデックスに格納するだけでは、冗長性や検索ノイズの問題が残る。本章では、筆者が開発したCPO(Community-based Pruning Optimization)と呼ぶグラフ最適化手法を紹介する。CPOは、チャンキング後のエンティティ群に対して数学的原理に基づく最適化を施し、検索品質とトークン効率の大幅な改善を実現するアプローチである。
4.1 従来手法の課題
従来の正規表現ベースの構文抽出によるエンティティ管理には、以下の本質的な限界が存在する。
| 処理 | 手法 | 限界 |
|---|---|---|
| エンティティ抽出 | 正規表現パターンマッチ | 意味的関係を見落とす |
| 分類 | ファイルパスキーワード判定 | 固定ルールによる硬直的な分類 |
| 信頼度算出 | docstring有無・パラメータ数 | 使用頻度・参照頻度を無視 |
| カテゴリ分類 | 手動定義の固定カテゴリ | 実コードの意味構造と乖離 |
すなわち、従来手法は「何があるか」は抽出できるものの、「何が重要か」「何が類似しているか」「何がグループを構成するか」といった意味的関係の把握が困難であった。
4.2 CPOの4つの数学的原理
CPOは以下の4つの数学的原理を組み合わせることで、チャンク・エンティティ群の構造的最適化を実現する。
4.2.1 Louvainコミュニティ検出 — カテゴリの自動発見
チャンクのembeddingベクトルから類似度グラフを構築し、Louvainアルゴリズムによるコミュニティ検出を適用する。これにより、手動で定義していたカテゴリを「定義する」のではなく「発見する」ことが可能となる。例えば、認証系関数群、UI部品群、データ変換群といった意味的に凝集度の高いグループが自動的に抽出される。
4.2.2 Nash均衡 — 冗長エンティティの除去
複数プロジェクトにまたがるコードベースでは、類似する関数(例: formatDate()、handleError()等)が大量に重複して存在する。Nash均衡の概念を援用したプルーニングにより、代表的なエンティティをactive(検索対象として保持)、冗長な重複をpruned(検索ノイズとして除去)に分類する。これにより、検索精度の向上とインデックスサイズの削減を同時に達成する。
4.2.3 Stackelberg階層構造 — 多粒度の検索支援
利用場面に応じて必要とされる情報の粒度は異なる。Stackelbergゲーム理論に基づき、チャンクを3階層に構造化する。
| 階層 | 用途 | 具体例 |
|---|---|---|
| Level 2(要約) | 概観・選択時の判断材料 | 「認証モジュール: 15関数, OAuth+JWT」 |
| Level 1(代表) | パターン推薦・設計参考 | 「JWTトークン検証の代表パターン」 |
| Level 0(詳細) | 具体的なコード参照 | verifyJWT(token, secret) の実装 |
4.2.4 Percolation理論 — カテゴリ境界の自動決定
「認証」と「API」のように、カテゴリ間の境界は手動では曖昧になりがちである。Percolation理論を適用し、類似度閾値θを自動決定することで、カテゴリの凝集度を数学的に保証する。これにより、意味的に不自然なカテゴリ分割を回避できる。
5. ベンチマーク結果
CPOグラフ最適化の適用前後における主要指標の変化を表4に示す。
| 指標 | 従来手法(CPO適用前) | CPO適用後 |
|---|---|---|
| エンティティ数 | 約3,000(全フラット構造) | 約1,500 active + 要約ノード |
| カテゴリ分類 | 手動定義5カテゴリ(未実装部分あり) | Louvainによる自動発見 |
| 検索方式 | フラットなクエリ検索のみ | 階層検索(概観→代表→詳細) |
| 冗長エンティティ | 12プロジェクト分の重複が存在 | Nash均衡により除去 |
| カテゴリ境界 | 手動定義(曖昧) | Percolation理論による自動決定 |
エンティティ数の約50%削減は、冗長なチャンクの除去によるものであり、情報の損失を伴わない構造的な最適化である。むしろ、検索ノイズの除去により、検索精度の向上が確認された。また、階層検索の導入により、ユースケースに応じた適切な粒度での情報取得が可能となった。
注記: CPOの数学的原理はコードチャンクだけでなく、知識エンティティ(オントロジー)にも同一の原理で適用可能である。エンティティ間の意味的関係がより明確なオントロジーでは、コミュニティ検出の精度がさらに高くなることが予想される。
6. 新規性分析 — 先行研究との比較
CPOの各コンポーネントについて、既存の論文・先行研究との関係を網羅的に調査した。本章では、各コンポーネントの新規性評価と、最も近い既存研究との距離を報告する。
6.1 コンポーネント別の新規性評価
| コンポーネント | 新規性 | 先行研究の状況 |
|---|---|---|
| 混雑ゲームでチャンクプルーニング | ★★★ 完全に新規 | IR/NLPで前例なし。最も近いのは「Pruning as a Game」(arXiv 2512, 2025.12) だがNN重みの剪定 |
| Percolation理論で閾値θ自動決定 | ★★★ 完全に新規 | embedding類似度グラフの相転移点を閾値にする手法は文献に存在しない |
| Stackelbergで階層最適化 | ★★★ 完全に新規 | detail/summary間のleader-follower定式化は前例なし |
| Louvainでチャンククラスタリング | ★★☆ 部分的に新規 | GraphRAG (MS) はKGにLeiden適用。embedding類似度グラフへの適用は新規 |
| LLM不要RAPTOR代替 | ★★☆ 部分的に新規 | 抽出型要約自体は古典的。RAPTOR代替としての位置づけが新規 |
| 統合パイプライン | ★★★ 完全に新規 | 5要素を統合した系は文献に存在しない |
6.2 最も近い既存研究との距離
CPOと関連する既存研究との位置関係を以下に示す。「ゲーム理論 × 情報検索」は2025年後半から論文が出始めた新興分野であり、チャンク最適化への適用は本研究が初の試みである。
6.3 適用領域
CPOは数学的に厳密な定式化に基づく手法であるが、その適用先は極めて実務的である。数学的保証があることは、結果の説明可能性という点で技術選定における強い優位性となる。
社内ナレッジベース
複数プロジェクトにまたがる知識の統合・冗長除去。12+プロジェクトの知識を統一的に管理する環境で最も効果を発揮する。
大規模コードベースRAG
形式非依存の設計により、プログラミング言語・フレームワークを問わず適用可能。コード検索の精度向上に直結する。
ドキュメント集約型環境
LLMコストなしで冗長除去が可能。大量のドキュメントが蓄積された現場での検索精度向上に貢献する。
エッジ・オンプレミス環境
LLM不要のためAPI課金が発生しない。NPU/GPU単体で完結する処理パイプラインが構築可能。
7. Claude Codeにおけるコンテキスト活用の効率化
上述のチャンキング最適化とCPOグラフ最適化は、Claude Codeのコンテキストウィンドウの効率的活用に直結する成果である。本章では、RAGシステムを介してClaude Codeの実用的な性能を向上させた取り組みについて述べる。
7.1 コンテキストウィンドウの課題
Claude Codeは強力なコード生成・理解能力を有するが、コンテキストウィンドウのサイズには制約がある。大規模なコードベースを扱う際、関連するコードチャンクをすべてコンテキストに含めることは現実的ではなく、いかに効率的に関連情報を選択・提供するかが実用上の鍵となる。
7.2 CPOによるコンテキスト効率化
CPOグラフ最適化により、以下の3つの観点からClaude Codeのコンテキスト活用が改善される。
- 冗長チャンクの除去によるトークン節約: Nash均衡に基づくプルーニングにより、冗長なエンティティがインデックスから除去される。これにより、検索結果に含まれるノイズが減少し、コンテキストウィンドウに注入されるトークン数が削減される。エンティティ数が約3,000から約1,500に半減したことは、コンテキストに含まれる無駄な情報の大幅な削減を意味する。
- 階層検索による適応的な粒度選択: Stackelberg階層構造により、タスクの複雑さに応じた適切な粒度の情報をClaude Codeに提供できる。概要レベルの理解にはLevel 2(要約)を、具体的な実装にはLevel 0(詳細)を選択することで、コンテキストウィンドウの利用効率が向上する。
- 意味的に凝集度の高いチャンクによる理解促進: Louvainコミュニティ検出とPercolation理論による最適なカテゴリ分割により、Claude Codeに提供されるチャンクの意味的一貫性が向上する。これにより、LLMがチャンク間の関係をより正確に把握でき、応答品質の向上が期待される。
7.3 実用上の効果
CPO最適化パイプラインの導入は、既存のシステムへの統合が容易である点も重要である。既存のチャンキング処理の後段に、コレクション非依存の設計で実装されたCPOグラフオプティマイザを適用するだけでよい。コードチャンクのコレクションだけでなく、オントロジー(知識エンティティ)のコレクションにも同一のパイプラインが適用可能であり、システム全体の知識管理を統一的に最適化できる。
8. 考察とまとめ
8.1 手法選定のガイドライン
チャンキング手法の選定にあたっては、システムの要件と制約に応じて適切な手法を選択することが肝要である。
プロトタイプ・検証段階
再帰的チャンキングを推奨。実装コストが低く、十分な品質が得られる。オーバーラップ付き固定長も代替となる。
高精度が求められる本番環境
セマンティックチャンキング、または文書構造ベースチャンキングとの組み合わせを推奨。処理コストは増大するが、検索品質の向上が見込まれる。
構造化文書が中心のシステム
文書構造ベースチャンキングを第一選択とし、構造が不明確な文書に対しては再帰的チャンキングでフォールバックする。
大量データの高速処理
オーバーラップ付き固定長チャンキングを推奨。処理速度とインデックス品質のバランスに優れる。
8.2 今後の展望
- 適応的チャンキング: 文書の内容や構造に応じて動的にチャンクサイズや分割手法を切り替えるアプローチ。
- 階層的チャンキング: 粗い粒度と細かい粒度の複数レベルでチャンクを生成し、検索時に適切な粒度を選択する手法。
- マルチモーダル対応: テキストだけでなく、表・図・数式などの要素を含む文書に対するチャンキング手法の拡張。
- LLMを活用したチャンキング: LLM自体を用いて最適なチャンク境界を推定する手法。精度は高いがコストとのトレードオフが課題となる。
8.3 結語
本稿では、テキストチャンキングの主要な手法を概観し、その特性を比較するとともに、チャンクサイズの選定に関する知見を報告した。チャンキングはRAGシステムにおける「縁の下の力持ち」であり、その最適化はシステム全体の品質向上に直結する。本稿が、実務におけるチャンキング戦略の策定に際して、一つの参考となれば幸いである。
RAGシステムのチャンキング最適化、CPOグラフ最適化の導入について、お気軽にご相談ください。
無料相談する