翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ナレッジベースでのコンテンツチャンキングの仕組み
データを取り込むとき、Amazon Bedrock はまずドキュメントまたはコンテンツを管理可能なチャンクに分割して、効率的なデータ取得を実現します。それらのチャンクは埋め込みに変換され、分割前のドキュメントへのマッピングを維持したままベクトルインデックス (データのベクトル表現) に書き込まれます。ベクトル埋め込みを使用すると、テキストを定量的に比較できます。
標準のチャンキング
Amazon Bedrock は、次の標準的なチャンキング方法に対応しています。
-
固定サイズのチャンキング: チャンクあたりのトークン数と重複率を指定することで、目的のチャンクサイズを設定できます。具体的な要件に柔軟に対応できます。チャンク内のトークン数の上限と、連続するチャンク間の重複率を設定できます。
-
デフォルトのチャンキング: コンテンツを約 300 トークンずつのテキストチャンクに分割します。文の区切りが認識され、文が途切れずに各チャンク内に収まるように処理されます。
ドキュメントをチャンキングしないという選択肢もあります。その場合、各ドキュメントが 1 つのテキストチャンクとして扱われます。チャンキングのアプローチ/戦略として [チャンキングなし] を選択する場合は、前処理として、ドキュメントを別々のファイルに分割しておいてもよいでしょう。ドキュメントにチャンキングを選択しない場合、引用でページ番号を表示したり、x-amz-bedrock-kb-document-page-number メタデータフィールド/属性でフィルタリングしたりすることはできません。このフィールドは、ベクトルストアとして Amazon OpenSearch Serverless を使用する場合、PDF ファイルに対してのみ自動的に生成されます。
階層的チャンキング
階層的チャンキングでは、情報を子チャンクと親チャンクというネスト構造で整理します。データソースの作成時に、親チャンクと子チャンクのサイズ、各チャンク間で重複するトークンの数を定義できます。検索中は、最初は子チャンクが取得されますが、さらに包括的なコンテキストをモデルに提供するために、より広範な親チャンクに置き換えられます。
小さなテキスト埋め込みの方が精度は高くなりますが、検索の目的は包括的なコンテキストを提供することです。階層的チャンキングのシステムは、取得した子チャンクを適宜親チャンクに置き換えることで、これらのニーズのバランスを図ります。
階層的チャンキングのため、Amazon Bedrock ナレッジベースでは 2 つのレベル (チャンキングの深さ) を指定できます。
-
親: 親チャンクの最大トークンサイズを設定します。
-
子: 子チャンクの最大トークンサイズを設定します。
また、チャンク間の重複トークン数も設定します。これは、連続する親チャンク間および連続する子チャンク間で重複するトークンの絶対数です。
セマンティックチャンキング
セマンティックチャンキングは自然言語処理の手法です。テキストを意味のあるチャンクに分割するので、理解度と情報検索が向上します。単に構文的な構造だけでなく、意味的なコンテンツに焦点を当てることで、検索精度を向上させることが狙いです。関連情報をより高い精度で抽出し、操作しやすくなる可能性があります。
セマンティックチャンキングを設定する場合、次のハイパーパラメータを指定することができます。
-
最大トークン数: 1 つのチャンクに含めるべきトークンの最大数。文の区切りを考慮して設定します。
-
バッファサイズ: 特定の文について、埋め込みの作成用に追加される前後の文の数を定義します。例えば、バッファサイズが 1 の場合は、3 つの文 (現在の文、前の文、次の文) を組み合わせて埋め込みます。このパラメータは、各チャンクの境界を判断するために一緒に調べるテキストの量を左右し、その結果、チャンクの粒度と一貫性に影響を及ぼします。バッファサイズを大きくすると、取り込めるコンテキストが増える分、ノイズも生じやすくなります。一方、バッファサイズを小さくすると重要なコンテキストを見逃す可能性がありますが、より正確なチャンキングが保証されます。
-
ブレークポイントのパーセンタイルしきい値: 文章間の距離/非類似性のしきい値 (パーセント値)。これを基に文章間の区切り位置が決まります。しきい値が高いほど、文が区別しやすくないと、異なるチャンクに分割されません。しきい値が高いと、チャンク数が少なくなり、通常はチャンクの平均サイズが大きくなります。
注記
セマンティックチャンキングでは、基盤モデルを使用するため、追加のコストがかかります。データの量によってコストは異なります。基盤モデルのコストの詳細については、「Amazon Bedrock の料金
」を参照してください。