RAGのチャンク化(チャンキング)とは?種類・最適なサイズ・注意点まで徹底解説

RAG チャンク チャンキング とは 種類 最適 サイズ 注意点 まで 徹底 解説
押さえておきたいポイント
  • 適切なチャンク化を行うことで検索精度や生成AIの回答品質は大きく変わる
  • チャンク化には複数の手法があり、データの種類や利用目的によって適した方法は異なる
  • チャンクサイズは処理速度や回答精度にも影響する

近年、多くの企業で生成AIの活用が進む中、自社データなどを活用して回答精度を向上させるRAG(Retrieval-Augmented Generation)を導入している企業も多いでしょう。しかし、RAGを導入したものの「思ったような回答が得られない」「検索精度が低い」といった課題を抱えるケースも少なくありません。

その原因の一つとして挙げられるのが、チャンク化(チャンキング)です。チャンク化とは、文書を適切な大きさに分割する処理のことで、分割方法によって検索精度や生成AIの回答品質は大きく変わります。

本記事では、RAGにおけるチャンク化の基本的な仕組みから、メリットや種類、実施する際の注意点まで詳しく解説します。実際のチャンク化の失敗例と改善例も紹介するので、自社でRAGを構築・改善したい方はぜひ最後までご覧ください。

\生成AIを活用して業務プロセスを自動化/

tamura

監修者田村 洋樹

株式会社WEEL代表取締役 / 累計25社以上のAIアドバイザリーを担当 / 企業向けセミナー・大学講義でのべ10,000人超に登壇 / 日本HP・インテルなど、大手企業主催カンファレンスへの登壇実績多数。AI導入支援・生成AIを活用した業務改革のプロとして、アドバイザリー・PM・講演者など多面的な立場から企業を支援中。

目次

RAGの精度を高めるチャンク化(チャンキング)とは

RAGのチャンク化のイメージ

RAGのチャンク化(チャンキング)とは、生成AIが必要な情報を効率よく検索できるよう、社内マニュアルやFAQ、契約書などの文書を適切な単位に分割する処理のことで、RAGの精度を高めるうえで重要な作業です。

例えば、就業規則の中に「出張費は事前に上長の承認を受けた場合のみ申請できます。交通費は全額、宿泊費の上限は1泊12,000円です。」という出張費についての規則があるとします。

この文章を適切に分割すれば「出張費の上限はいくらですか?」という質問に対して必要な情報を正確に検索できますが、文章を「宿泊費」「交通費」「12,000円」といった単語で分割してしまうと関連情報が別々のチャンクに分かれてしまうため、回答精度が低下します。

このように、チャンク化は単なるデータの分割ではなく、AIが理解しやすい形に情報を整理するための重要な前処理といえるでしょう。

RAGについて詳しく知りたい方は、下記の記事も合わせてご覧ください。

RAGのチャンク化を行うメリット

前述の通り、RAGにおけるチャンク化は単に文書を小さく分割する作業ではなく、適切な方法でチャンク化を行うことで、検索精度や回答品質の向上、処理効率の改善などさまざまなメリットが得られます。

ここでは、RAGでチャンク化を行うメリットについて紹介します。

検索精度が向上する

RAGでは、ユーザーからの質問に対して関連性の高いチャンクを検索し、その内容をもとに生成AIが回答を生成します。そのため、文書全体を一つのデータとして扱うよりも、意味のまとまりごとに分割した方が必要な情報を見つけやすくなります。

例えば、100ページの社内マニュアルを1つのデータとして登録すると「休暇申請の方法」という質問に対して関係のない情報まで含めて検索される可能性があります。

しかし「休暇制度」「経費精算」「福利厚生」といったテーマごとにチャンク化しておくことで検索対象を絞り込めるため、回答の精度向上だけでなくハルシネーションの抑制にもつながります。

データ処理が効率化する

RAGは、文書をベクトルデータへ変換しベクトルデータベースへ保存します。そのため、膨大な文書を適切なチャンク化を行わないままベクトルデータへ変換すると処理速度が低下してしまいます。

適切なサイズにチャンク化を行うことで、ベクトル化の処理が効率化されるだけでなく、検索時も必要なチャンクのみを取得できるため、システム全体の処理速度をあげることができます。

文脈情報の関連性を保ちやすい

適切なチャンク化を行うことで、文章の意味や文脈を維持しやすくなります。

文字数だけを基準に機械的にチャンク化を行うと、主語と述語が別々のチャンクになったり、重要な説明が途中で切れたりすることがあります。このような状態では、検索結果に必要な情報が含まれていても、AIが十分に内容を理解できず、誤った回答を生成する原因になります。

しかし、文や段落の区切りを考慮した分割を行なったり、前後のチャンクを一部重複させたりと適切なチャンク化を行うことができれば、AIは正しく意味を理解することができるため、ハルシネーションの発生を減らすことも可能です。

コンテキストウィンドウ制限に対応しやすい

生成AIには、一度に処理できる入力データ量(コンテキストウィンドウ)に上限があります。

近年の大規模言語モデルでは数十万〜100万トークン以上に対応するモデルも登場していますが、それでも膨大な社内文書を一度に入力することは現実的ではありません。

チャンク化を行えば質問に関連する情報だけをAIへ渡せるため、コンテキストウィンドウを効率的に利用できるだけではなく、不要な情報を削減することでトークン消費量やAPI利用コストの削減にもつながります。

RAGのチャンク化の種類

チャンク化には複数の手法があり、データの種類や利用目的によって適した方法は異なります。ここでは、代表的な5つのチャンク化手法を紹介します。

固定長チャンク(Fixed-size Chunking)

固定長チャンクは、一定の文字数やトークン数ごとに文書を機械的に分割する最もシンプルなチャンク化手法です。

実装が容易で処理速度も速いため基本的な分割方法として採用されることの多い手法ですが、文章の途中で区切られることも多く、意味が分断されやすいというデメリットがあります。

そのため、多くの場合は前後のチャンクを一部重複させるオーバーラップ(Sliding Window)と組み合わせて利用されます。オーバーラップを設けることで、文脈が途切れにくくなり、検索精度をあげることができます。

再帰的チャンク

再帰的チャンクは、改行や句点、スペースなどの区切りを優先しながら段階的に分割する方法です。

指定したチャンクサイズに収まるまで再帰的に分割するため、意味のまとまりを維持しやすい特徴があります。一般的なマニュアルや社内文書との相性がよく、導入しやすい方法です。

ドキュメントベースチャンク

ドキュメントベースチャンクは文書の構造を活かして分割する手法で、PDFやWordなどの見出しや箇条書き、表などの構造を維持したままチャンク化することができるため、論理的なまとまりを保った検索が可能になります。

特に社内マニュアルや仕様書など、見出し単位で情報が整理されている文書との相性が良い手法です。

セマンティックチャンク

セマンティックチャンクは、文章の意味などをAIが判断して分割する手法で、Embeddingモデルなどを活用し、話題が変わるポイントや意味の区切りを分析してチャンクを作成します。

文脈を最も維持しやすい方法の一つで、複雑な文書や専門的な資料でも高い検索精度を実現できますが、計算コストが高く、処理時間も長くなりやすいため導入時に注意が必要です。

エージェンティックチャンク

エージェンティックチャンクは、AIエージェントが文書の内容やユーザーの質問意図を分析し、その都度最適なチャンクサイズや分割方法を選択する手法です。

従来のように固定ルールで分割するのではなく、データの種類や検索目的に応じて柔軟にチャンク化できるため、検索精度を高めることが可能です。

一方で、実装の難易度が高く、利用できるツールやフレームワークもまだ限られているため、現状では一般的な手法ではなく一部企業などで活用されています。

RAGのチャンク化を行うときの注意点

チャンク化はRAGの検索精度をあげるために重要な作業ですが、誤った方法でチャンク化を行うと情報を正しく取得できず、生成AIの回答精度が低下する可能性があります。

次に、チャンク化を行う際の注意点を5つ紹介します。

意味の分断(文脈の喪失)を防ぐ

チャンク化で最も注意したいのが、文脈を途中で切ってしまうことです。

文字数だけを基準に分割すると主語と述語が別のチャンクに分かれたり、重要な説明が途中で途切れたりすることがあるため、検索時に必要な情報を十分に取得できずAIが誤った回答を生成する原因になります。

そのため、文や段落などの自然な区切りを優先して分割することを意識することが大切です。また、前後のチャンクを20〜30%程度重複させるオーバーラップを採用し、文脈のつながりを維持できるように設計されることも多くあります。

データ形式(ソース)に応じた手法を選ぶ

チャンク化を行う際はすべての文書を同じ方法で分割すればよいわけではなく、文書の構造やデータ形式によって適したチャンク化手法は異なります。

MarkdownやHTML形式の文書であれば見出しや箇条書きで分割、PDFやWordのマニュアルでは章や節を基準に分割するなど、データ形式によってチャンク化する手法を選択することで、AIが情報を正しく理解しやすくなります。

また、表形式のデータを行単位で分割するとうまく情報を取得できない可能性が高いので表全体を1つのチャンクとして扱ったり、MarkdownやJSON形式へ変換したうえでチャンク化したりする方法が有効です。

トレードオフのバランス(サイズ設計)を意識する

チャンクサイズは、小さすぎると十分な文脈を含められず、AIが回答に必要な情報を取得できない可能性があります。

反対に、サイズが大きすぎると無関係な情報まで検索対象となり、回答の精度が低下したり、トークン消費量が増えたりするため調整が必要です。

一般的には200〜1000トークンまでが最適とされていますが、データ形式や利用するLLMによって適切なサイズは異なるため、環境に合わせて調整が必要となります。

埋め込み(Embedding)モデルの制限も重要

Embeddingモデルには一度に処理できる入力トークン数の上限があるため、制限を超えるチャンクはベクトル化できない場合があります。

チャンクサイズを決める際は、利用するEmbeddingモデルの仕様を確認し、入力上限を超えないよう設計することが大切です。一般的には、200〜1000トークン程度を目安に設定し、検索結果を検証しながら最適化するとよいでしょう。

メタデータの付与を怠らないこと

チャンク化を行う際は、メタデータもあわせて管理することが重要です。

「それ」や「同社」といった指示代名詞は、チャンク単体では何を指しているのか判断できない場合があるので、分割した各チャンクに、ドキュメント名や作成日などのメタデータを付与することが大切です。

メタデータを付与することで、AIは文書全体の文脈を把握しやすくなり、より適切な回答を生成することが可能になります。

【実演】RAGのチャンク化で陥りがちな失敗例と対策

チャンク 例

ここまで、RAGにおけるチャンク化の重要性や種類について解説してきましたが、チャンク化の方法によって検索精度が変わると言われても、具体的にどのような違いが生まれるのかイメージしにくい方もいるでしょう。

次は、社内規程を例に悪いチャンク化と良いチャンク化を比較し、検索結果やAIの回答にどのような影響を与えるのか見てみましょう。

今回チャンク化する経費精算に関する社内ルールは下記の通りです。

出張時に発生した交通費や宿泊費は、出張終了後5営業日以内に経費精算システムへ申請してください。申請時には領収書を必ず添付し、5万円を超える宿泊費については事前に所属部門長の承認を受ける必要があります。期限を過ぎた申請は、原則として翌月以降の精算となります。

【悪い例】文字数でのブツ切りが「AIの誤回答」を招く

上記の文章を文字数だけを基準に分割すると下記のようになります。

チャンク①

出張時に発生した交通費や宿泊費は、出張終了後5営業日以内に経費精算システムへ

チャンク②

申請してください。申請時には領収書を必ず添付し、5万円を超える宿泊費について

チャンク③

事前に所属部門長の承認を受ける必要があります。期限を過ぎた申請は、原則として

チャンク④

翌月以降の精算となります。

このように分割すると「5万円を超える宿泊費」と「部門長の承認が必要」という情報が別々のチャンクに分かれてしまいます。「5万円を超える宿泊費を精算する際に必要なものは?」という質問をした場合、検索されたチャンクに「承認を受ける必要があります」という情報が含まれず、AIが「領収書を添付してください」といった不完全な回答を返してしまう可能性があります。

また「経費はいつまでに申請すればよいですか?」という質問をした場合も「5営業日以内」と「申請してください」が別のチャンクに分かれることで必要な情報を正しく取得できないケースがあります。

【良い例】文脈を保つチャンク化がRAGの検索精度を高める

次に、意味のまとまりを意識し、一部を重複(オーバーラップ)させて分割した例を見てみましょう。

チャンク①

出張時に発生した交通費や宿泊費は、出張終了後5営業日以内に経費精算システムへ申請してください。申請時には領収書を必ず添付してください。

チャンク②(オーバーラップあり)

申請時には領収書を必ず添付してください。5万円を超える宿泊費については、事前に所属部門長の承認を受ける必要があります。

チャンク③(オーバーラップあり)

5万円を超える宿泊費については、事前に所属部門長の承認を受ける必要があります。期限を過ぎた申請は、原則として翌月以降の精算となります。

このように関連する内容をまとめ、前後のチャンクを一部重複させることで、領収書や宿泊費、部門長の承認といった関連情報をまとめて検索できるようになります。その結果、AIは質問の意図に合った情報を取得しやすくなり、より正確な回答を生成できます。

スクロールできます
分割手法実際のチャンク内容検索時のリスクやメリット
文字数だけで機械的に分割チャンク①
出張時に発生した交通費や宿泊費は、出張終了後5営業日以内に経費精算システムへ
チャンク②
申請してください。申請時には領収書を必ず添付し、5万円を超える宿泊費については
チャンク③
事前に所属部門長の承認を受ける必要があります。期限を過ぎた申請は、原則として翌月以降の精算となります。
・文章の途中で内容が切れてしまう

・条件やルールが別々のチャンクに分かれる

・AIが必要な情報を見つけられず、不完全な回答になりやすい

・誤回答が発生する可能性が高まる
意味のまとまりで分割+オーバーラップチャンク①
出張時に発生した交通費や宿泊費は、出張終了後5営業日以内に経費精算システムへ申請してください。申請時には領収書を必ず添付してください。
チャンク②
申請時には領収書を必ず添付してください。5万円を超える宿泊費については、事前に所属部門長の承認を受ける必要があります。
チャンク③
5万円を超える宿泊費については、事前に所属部門長の承認を受ける必要があります。期限を過ぎた申請は、原則として翌月以降の精算となります。
・関連する情報をまとめて検索できる

・前後の文脈が維持されるため意味が伝わりやすい

・条件や例外ルールも正しく取得しやすい

・AIがより正確で一貫した回答を生成しやすくなる
分割手法による比較表

よくある質問

チャンク化とベクトル化の違いは何ですか?

チャンク化は、文書を検索しやすい単位に分割する処理で、ベクトル化は、分割したチャンクをAIが理解できる数値データへ変換する処理のことです。

チャンク化だけでRAGの回答精度は改善しますか?

チャンク化は回答精度を左右する重要な要素ですが、Embeddingモデルの選定やリランキングの活用、検索対象データの品質、プロンプト設計など総合的に最適化することでより精度の高いRAGシステムを構築できます。

チャンク化は後から変更できますか?

チャンクサイズや分割方法は、一度決めたら固定というわけではないので、後からでも変更可能です。

チャンク化の最適化でRAGの精度を高めよう!

RAGチャンク化を実践するイメージ

RAGの回答精度を高めるためには、生成AIの性能だけでなく文書をどのようにチャンク化するかが重要なポイントになります。

適切なサイズで意味のまとまりを意識した分割を行うことで、必要な情報を正確に検索できるようになり、回答精度の向上やハルシネーションの抑制が可能になります。

チャンク化に正解はなく、扱う文書の種類や利用するEmbeddingモデルによって最適な手法は変わるので、実際に検証を重ねながら調整していくことが大切です。

RAGの導入や運用を検討している方は本記事を参考に自社に合ったチャンク化を取り入れ、より精度の高いAI活用を目指してみてください。

WEELが“失敗しないAI導入”を伴走します。

最後に

いかがだったでしょうか?

RAGのチャンク化でお悩みではありませんか。自社データに最適な分割設計から導入・改善まで、経験豊富な専門スタッフが無料でご相談に対応いたします。ぜひお気軽にお問い合わせください。

株式会社WEELは、自社・業務特化の効果が出るAIプロダクト開発が強みです!

開発実績として、

・新規事業室での「リサーチ」「分析」「事業計画検討」を70%自動化するAIエージェント
・社内お問い合わせの1次回答を自動化するRAG型のチャットボット
・過去事例や最新情報を加味して、10秒で記事のたたき台を作成できるAIプロダクト
・お客様からのメール対応の工数を80%削減したAIメール
・サーバーやAI PCを活用したオンプレでの生成AI活用
・生徒の感情や学習状況を踏まえ、勉強をアシストするAIアシスタント

などの開発実績がございます。

生成AIを活用したプロダクト開発の支援内容は、以下のページでも詳しくご覧いただけます。
➡︎株式会社WEELのサービスを詳しく見る。

まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。

生成AIを社内で活用していきたい方へ
無料相談

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。

セミナー内容や料金については、ご相談ください。

また、サービス紹介資料もご用意しておりますので、併せてご確認ください。

  • URLをコピーしました!
  • URLをコピーしました!
目次