チャンキングとは?意味・仕組み・使い方を初心者向けにわかりやすく解説

生成AI分野におけるチャンキング(chunking)とは、長い文章や文書を「チャンク」と呼ばれる小さなまとまりに分割する処理です。

とくにRAG(検索拡張生成)やベクトル検索では、長い資料をそのまま扱うのではなく、適切な大きさへ分割しておくことで、ユーザーの質問に関係する情報を探しやすくします。

「生成AIの勉強をしていてチャンキングという言葉が出てきたものの、何を分割しているのかわからない」という人も多いでしょう。

この記事では、チャンキングの意味から必要な理由、仕組み、代表的な方法、注意点まで初心者向けに解説します。

チャンキングで長い文書を複数のチャンクへ分割するイメージ
目次

チャンキングとは

チャンキングとは、大きな情報を小さな単位へ区切ることです。

生成AIやLLM(大規模言語モデル)の分野では、おもに長い文書を扱いやすい長さへ分割する処理を指します。

たとえば、100ページある社内マニュアルをそのまま1つの情報として扱うのではなく、「申請方法」「休暇制度」「セキュリティ」などの小さなまとまりへ分けるイメージです。

「チャンク」は小さく分けた情報のまとまり

チャンキングによって分割された一つひとつの情報を**チャンク(chunk)**と呼びます。

イメージすると、次のようになります。

  • 元の文書:長い社内マニュアル
  • チャンク1:勤務時間について
  • チャンク2:有給休暇について
  • チャンク3:経費精算について
  • チャンク4:情報セキュリティについて

長い文書を小さな箱へ整理し直し、必要な箱を取り出しやすくする処理と考えるとわかりやすいでしょう。

なお、「チャンキング」という言葉は心理学や学習法などでも使われます。この記事では、生成AI・RAG・文書検索で使われるチャンキングを中心に説明します。

なぜ生成AIでチャンキングが必要なのか

チャンキングを行う大きな理由は、大量の文章から必要な情報を効率よく取り出すためです。

そのため、RAGでは登録された文書を検索し、質問と関係の深い情報を生成AIへ渡します。

長い文書から必要な部分を探しやすくする

たとえば、100ページの就業規則に対して「有給休暇は何日前までに申請する必要がありますか?」と質問するとします。

その結果、文書全体を一つの情報として検索するより、「有給休暇」に関する部分を分割したほうが、必要な情報を探しやすくなります。

つまり、チャンキングは検索する情報の粒度を決める作業でもあります。

一方で、細かく分ければ必ず精度が上がるわけではありません。分割しすぎると、必要な前後関係まで失われる可能性があります。

モデルが扱う情報量には限りがある

また、LLMや埋め込みモデルが一度に扱える入力には上限があります。

そのため、非常に長い文書を扱う場合は、適切な大きさへ分割する必要があります。

また、文字数の上限に収まる文書であっても、複数のテーマを含む長い文章を細かく分けたほうが検索しやすくなるケースがあります。

RAGにおけるチャンキングと検索の処理手順

チャンキングの仕組み

RAGでチャンキングを利用する場合、一般的には「文書を分割する→検索できる形にする→質問に近いチャンクを探す」という流れで処理します。

チャンキング単独で回答を生成するわけではありません。検索や埋め込みなどの技術と組み合わせて利用します。

RAGで利用する基本的な流れ

大まかな流れは次のとおりです。

  1. PDFやWebページなどの文書を用意する
  2. 文書を複数のチャンクへ分割する
  3. 各チャンクを埋め込み(Embedding)によって数値表現へ変換する
  4. ベクトルストアなどへ保存する
  5. ユーザーが質問する
  6. 質問と関連性の高いチャンクを検索する
  7. 関連チャンクを参考情報としてLLMへ渡す
  8. LLMが回答を生成する

したがって、チャンキングはRAGで検索対象となる情報を準備する段階で重要な処理です。

OpenAIのVector Storeでも、ファイルを追加するとコンテンツがチャンクへ分割され、埋め込みとインデックス作成が行われる仕組みになっています。

オーバーラップで前後の文脈を残す

チャンキングでは、隣り合うチャンクの一部を重複させることがあります。

これを**オーバーラップ(overlap)**と呼びます。

たとえば、文章を完全に別々のチャンクへ切ってしまうと、大切な説明の途中で境界ができることがあります。

そこで、前のチャンクの末尾を次のチャンクにも少し含めます。

  • チャンク1:A・B・C
  • チャンク2:C・D・E
  • チャンク3:E・F・G

CやEを重複させることで、チャンクの境界をまたぐ文脈を残しやすくなります。

ただし、オーバーラップを増やしすぎると同じ情報が大量に重複します。そのため、文書の特徴に応じた調整が必要です。

主なチャンキング方法

チャンキングには複数の方法があります。

代表的なのは「固定サイズ」「文書構造」「意味」の3つを基準にした分割方法です。

方法分割の基準特徴
固定サイズ文字数・トークン数など実装しやすい
文書構造ベース見出し・段落・ページなど元文書の構造を残しやすい
意味ベース話題や意味のまとまり文脈を保ちやすい

固定サイズで分割

一定の文字数やトークン数ごとに分割する方法です。

たとえば、一定量まで文章を読み込んだら次のチャンクへ移します。

仕組みがわかりやすく実装もしやすい一方、文章の意味とは関係なく区切られる可能性があります。

そのため、文章の途中でチャンクが切れないよう、文や段落との組み合わせやオーバーラップを検討することがあります。

見出し・段落など文書構造で分割

見出し、段落、ページなど、もともとの文書構造を利用する方法です。

たとえばマニュアルであれば、

  • 「アカウント登録」
  • 「ログイン方法」
  • 「パスワード変更」
  • 「退会方法」

といった見出し単位で分割できます。

文章の構造とチャンクが対応するため、意味を保ちやすい点が特徴です。

意味のまとまりで分割

文章の意味や話題が切り替わる位置を判断して分割する方法です。

単純に文字数だけで区切らないため、意味的にまとまったチャンクを作りやすくなります。

一方、固定サイズによる分割と比べると処理が複雑になる場合があります。

どの方法が最適かは、FAQ、マニュアル、契約書、議事録など、対象となる文書によって異なります。

チャンキングのチャンクサイズとオーバーラップ設定例

チャンキングの使い方を具体例で解説

たとえば、自社の就業規則を検索できる生成AIチャットを作るケースを考えてみましょう。

元の文書には次の内容が含まれているとします。

  • 第1章:勤務時間
  • 第2章:休日
  • 第3章:有給休暇
  • 第4章:経費精算
  • 第5章:情報セキュリティ

ユーザーが「有給休暇の申請方法は?」と質問した場合、必要なのはおもに第3章です。

そこで、あらかじめ各章や意味のまとまりごとにチャンキングしておきます。

質問を受け取った検索システムは、複数のチャンクから「有給休暇」に関連する部分を探します。その内容を生成AIへ渡せば、文書全体を毎回読み込ませなくても質問に必要な情報を利用できます。

このように、チャンキングは**「AIに何を覚えさせるか」というより、「必要な情報をどの単位で検索できるようにするか」を設計する処理**と考えると理解しやすくなります。

チャンキングのメリット

チャンキングには、生成AIで長い文書を扱いやすくする複数のメリットがあります。

代表的なものは次のとおりです。

  • 質問と関係する部分を検索しやすくなる
  • 長大な文書を扱いやすいサイズに整理できる
  • 無関係な情報までLLMへ渡す量を減らしやすい
  • 文書の種類に応じて検索単位を調整できる
  • RAGや社内文書検索の設計を改善しやすい

ただし、チャンキングを行っただけで生成AIの回答が必ず正確になるわけではありません。

元データの品質、検索方式、埋め込みモデル、検索結果の選び方、プロンプトなども回答品質に影響します。

チャンキングの注意点

チャンキングでは、大きすぎても小さすぎても問題が起こり得ます。

そのため、「何文字で分ければ必ず正解」という一律の設定ではなく、対象となる文書や質問内容に合わせて検証することが重要です。

チャンクが大きすぎる場合

一つのチャンクへ複数の話題が入りやすくなります。

その結果、ユーザーの質問とは関係のない情報まで検索結果へ含まれる可能性があります。

チャンクが小さすぎる場合

文章の前後関係が切れやすくなります。

たとえば「この条件の場合のみ対象となる」という前提と、その後の説明が別々のチャンクへ分かれると、検索結果だけでは意味を正しく把握しにくくなることがあります。

文書ごとに適切な方法が異なる

FAQと長い契約書では、適切な分割方法が同じとは限りません。

FAQであれば「質問と回答」を一つのチャンクとして扱いやすい一方、長いマニュアルでは見出しや段落を考慮したほうが自然な場合があります。

そのため、実際のRAG開発では、検索結果を評価しながらチャンクサイズや分割方法を調整することが大切です。

チャンキングと一緒に覚えたい関連用語

チャンキングを理解する際は、次の用語も一緒に覚えておくとRAGの仕組みを理解しやすくなります。

RAG

RAG(Retrieval-Augmented Generation/検索拡張生成)は、外部の情報検索とLLMによる文章生成を組み合わせる考え方です。

質問に関連する情報を検索し、その情報をもとにLLMが回答します。

Embedding(埋め込み)

文章などの情報を、意味的な特徴を表現する数値の並びへ変換する技術です。

チャンキングした文章をEmbeddingへ変換し、意味の近い情報を検索する用途などに使われます。

ベクトル検索

文章の意味的な近さなどを利用して関連情報を探す検索方法です。

RAGでは、質問と関連するチャンクを見つける方法の一つとして利用されます。

トークン

生成AIが文章を処理するときに扱う単位です。

文字数とトークン数は同じではありません。チャンキングでは、利用するモデルやシステムに合わせてトークン数を基準にサイズを決める場合があります。

コンテキスト

LLMが回答を生成する際に参照できる情報です。

RAGでは検索されたチャンクをコンテキストとしてLLMへ渡し、その情報をもとに回答させる仕組みが使われます。

チャンキングについてよくある質問

チャンキングとは簡単にいうと何ですか?

生成AI分野のチャンキングとは、長い文書を小さな情報のまとまりへ分割する処理です。

分割された一つひとつの情報を「チャンク」と呼びます。

チャンキングはRAGに必須ですか?

長い文書を扱うRAGでは広く利用される基本的な処理です。

ただし、扱うデータが最初から十分に小さく、検索単位として適切に整理されている場合など、追加の分割が必ず必要とは限りません。

チャンクは小さいほどよいですか?

小さければよいとは限りません。

小さすぎると前後の文脈が失われ、大きすぎると無関係な情報が混ざりやすくなります。

対象文書や想定する質問に合わせて調整する必要があります。

チャンクサイズの正解はありますか?

すべての用途に共通する一つの正解はありません。

文書の種類、検索方式、モデル、質問の特徴などによって適切な設定は変わります。そのため、実際の検索結果を確認しながら調整することが基本です。

チャンキングとEmbeddingは同じものですか?

異なります。

チャンキングは文書を分割する処理、Embeddingは文章などを数値表現へ変換する処理です。

RAGでは「チャンキング→Embedding→検索」のように組み合わせて利用されることがあります。

まとめ

チャンキングとは、生成AIやRAGで利用する長い文書を、検索・処理しやすい小さな単位へ分割することです。

分割された情報は「チャンク」と呼ばれます。

チャンキングには、固定サイズで分割する方法、見出しや段落を利用する方法、意味のまとまりを考慮する方法などがあります。

重要なのは、単純に細かく分割することではありません。検索したときに必要な情報と文脈を適切に取り出せる単位を作ることがポイントです。

RAGの仕組みを学ぶ場合は、チャンキングとあわせてチャンクの意味やRAGでの役割はこちらで詳しく解説しています。

関連用語

出典・参考情報

この記事を書いた人

田中和馬のアバター 田中和馬 株式会社エヌ・ケーパートナーズ/AIスクールガイド|AWL編集長

株式会社エヌ・ケーパートナーズが運営する「AIスクールガイド|AWL」編集長。10年以上にわたり、SEOメディアの立ち上げ・構築・運用に携わってきました。

2024年頃から生成AIを独学で学び始め、その後、生成AIスクールでも体系的に学習。現在はChatGPT、Gemini、Claudeなどを活用し、ディープリサーチによる情報収集、マーケティング企画、記事構成・文書作成、メール作成、業務自動化などに日常的に取り組んでいます。

また、生成AIをWebサイトの企画・制作、コーディング、デザインにも活用。エンジニアやデザイナーの業務領域を理解しながら、自らディレクションを行い、メディアの設計から制作・運用まで一貫して担当しています。生成AIスクール・講座の調査、比較基準の設計、記事編集・品質管理も担当しています。

目次