
チャンキング(Chunking)とは、長い文書を検索しやすい小さな単位に分割する前処理です。固定長・内容認識・再帰的分割の違いと注意点を解説します。
読み方:ちゃんきんぐ。チャンキング(Chunking)とは、長い文書を、検索や生成に使える小さなまとまり(チャンク)へ分割する前処理のことです。このページでは、定義、分割方式の違い、実務での判断基準、よくある誤解を整理します。
社内文書をそのまま検索させると、必要な一節が見つからない、あるいは関係のない長い文章が返ってくる、ということが起きます。原因のひとつが分割の設計です。長すぎる単位は検索の粒度を粗くし、短すぎる単位は文脈を失います。このページでは、分割の考え方と、方式ごとの向き不向きを確認します。
チャンキングとは、大きなテキストを「チャンク」と呼ばれる小さな区間に分割する処理を指します。ベクトルデータベースに格納する内容の関連性を高めるための、前処理として位置づけられます。
分割の狙いは、意味のある情報を含むだけの大きさを保ちながら、検索と応答の遅延を悪化させない程度に小さく保つことです。この2つの条件は相反するため、方式とサイズの選択が設計上の論点になります。
本を棚に収めるとき、1冊まるごとを1つの箱に入れると、必要な1ページを取り出すのに箱を開けて全部を探すことになります。逆に1行ずつ切り離すと、前後のつながりが分からなくなります。章や節といった意味の切れ目で分けると、探しやすく、読んでも意味が通ります。チャンキングは、この「分ける単位」を文書ごとに決める作業です。
あらかじめチャンクのトークン数を決め、その数で機械的に分割する方式です。最も単純で、多くの場合に最初に試すべき出発点とされています。トークン数は、使う埋め込みモデルの入力上限を目安に決めることが多いものの、モデルごとに単語の区切り方が異なるため、実際のトークン数は事前に見積もる必要があります。
見出し、段落、表といった文書の構造に沿って分割する方式です。構造を無視すると、意味のまとまりが途中で切られ、検索結果として使いにくいチャンクができます。文書の体裁が整っているほど、この方式が効きます。
区切り文字を優先順位つきで試し、目標のサイズに収まるまで段階的に細かく分ける方式です。LangChain の RecursiveCharacterTextSplitter は、既定で段落(空行)、改行、空白、文字の順に区切りを試します。特定の1文字で機械的に切る方式と、意味単位で切る方式の中間にあたります。
| 方式 | 分割の決め方 | 向く文書 |
|---|---|---|
| 固定長 | トークン数で機械的に分割 | 体裁が不揃いな文書、まず試す段階 |
| 内容認識 | 見出し・段落・表などの構造に沿う | マニュアル、規程、整形された報告書 |
| 再帰的 | 区切り文字を優先順に試してサイズ調整 | 長さも構造もばらつく文書 |
チャンクを隣接させて重複させる「オーバーラップ」を設ける設計もあります。分割点で文が途切れることによる意味の欠落を緩和する狙いですが、重複分だけ保存量と検索候補が増えます。
チャンキング自体は文書処理で長く使われてきた操作ですが、LLM アプリケーションの文脈で語られるようになったのは、外部文書を検索して回答に使う構成(RAG)が広まったことが契機です。検索対象をチャンク単位にすることで、モデルに渡す文脈を必要な部分だけに絞れるようになりました。
方式についての定型的な正解は確立していません。分割の適否は、文書の構造、質問の粒度、使う埋め込みモデルによって変わるためです。
20ページの業務マニュアルを検索対象にする場合を考えます。見出しが「1章 受付」「2章 与信審査」のように整っていれば、章または節を単位に分割し、各チャンクの先頭に章題を付与すると、検索結果だけを読んでも文脈が分かります。
議事録のように発言が連続する文書では、固定長で機械的に切ると発言の途中で分断されます。発言者ごと、あるいは議題ごとに区切るほうが、後から根拠として引用しやすくなります。
実際は:小さくすると検索では当たりやすくなりますが、渡された側で意味が通らない断片になり、回答の質は下がります。意味のまとまりを保つことが優先です。
実際は:文書の構造と質問の粒度で変わります。汎用の推奨値をそのまま当てるより、自社の質問セットで比較するほうが確実です。
実際は:文書が更新されると構造も変わります。分割方式は文書の改訂に合わせて見直す対象です。
A. 長い文書を、検索や生成に使える小さなまとまりへ分割する前処理です。
A. 固定長分割です。単純で実装しやすく、多くの場合の出発点になるとされています。効果が足りないと分かってから、構造に沿う方式へ移ります。
A. 必須ではありません。分割点で文が切れる問題を緩和できますが、保存量と検索候補が増えます。まず入れずに試し、根拠が途中で切れる場合に限って追加する進め方が現実的です。
出典:Pinecone「LLMアプリケーションのためのチャンキング戦略」(原題 Chunking Strategies for LLM Applications、2025年6月28日更新)。定義と各分割方式の記述は同記事に基づきます。
分割方式の実装名(RecursiveCharacterTextSplitter)と既定の区切り文字は、LangChain の実装に基づく記述です。
本ページの解説と整理は my-best.ai 編集部の執筆です。
チャンキングとは、長い文書を検索に使える小さな単位へ分割する前処理です。固定長で始め、構造に沿う方式へ段階的に移す進め方が現実的です。サイズと方式は文書と質問で変わるため、自社の質問セットで比較して決めてください。
本記事にはアフィリエイトリンクを含む場合があります。経由での申し込み時に当サイトが報酬を受け取ることがありますが、掲載内容・評価は報酬の有無に左右されません。記載情報は公開時点のものであり、最新情報は各公式サイトをご確認ください。
編集部の評価方法論を見る →