本記事の概要
個人会社で開発している、長い専門文書を検索するサービスで、文書のどこを埋め込むかを比べた実験の記録である。比べた案は3つである。新しい案である本論の案は、文書の作成者が中心の主張を述べる本論のセクションだけを、チャンクに分割して埋め込む。本論の案では、文書1件につき1本、文書を代表する埋め込みも作る。この埋め込みを代表ベクトルと呼ぶ。ラベル付きの案は、定型の書式と添付の資料を除くすべてのセクションを、チャンクに分割する。各チャンクの先頭に、セクションの種別のラベルを付けて埋め込む。検索のときは本論のセクションのチャンクに絞り込む。全文を一律に分割する案は、文書の全文を800字ずつ、200字を重ねてチャンクに分割して埋め込む。
比較の3回目までの本論の案は、代表ベクトルの検索の一覧を、等しい重みのRRFの3本目の一覧として常に入れていた。RRFは、複数の検索が返した文書の一覧を、一覧ごとの順位から計算した値の合計で、1つの順位の一覧にまとめる方法である。この比較の条件を、代表ベクトルを常にRRFに入れる形と呼ぶ。代表ベクトルを常にRRFに入れる形は、比較の3回目まで、ラベル付きの案を測った比較の条件を、nDCG@10の点推定で下回った。比較の3回目の相手は、ラベル付きの案を定義のとおりに絞り込んで測った、本論に絞り込む対照条件だった。比較の最終の値は、代表ベクトルを常にRRFに入れる形が0.635で、本論に絞り込む対照条件が0.685だった。比較の最終の値は、768次元で、検索結果の上位10件まで関連度を判定した後に、計算し直した値である。
比較の4回目で追加した比較の条件では、代表ベクトルの検索の一覧をRRFに入れない。ほかの組み立ては、代表ベクトルを常にRRFに入れる形と同じである。この比較の条件を、代表ベクトルをRRFに入れない形と呼ぶ。代表ベクトルをRRFに入れない形のnDCG@10は0.687だった。代表ベクトルを常にRRFに入れる形の0.635との差は+0.051で、差の95%区間はゼロを含まなかった。差の+0.051は、丸める前の値の0.6865と0.6352から計算した値である。本論に絞り込む対照条件の0.685との差は+0.002で、差の95%区間はゼロを含んだ。実験の記録は、差の95%区間がゼロを含む場合を、統計的に同等と書いている。
開発を主導するAIエージェントは、誤っていた部分を、代表ベクトルを等しい重みのRRFに常に入れる組み立てだと判断した。設計の文書には、測っていない使い方が2つ書いてある。一覧に重みを付けてまとめる使い方と、まとめた後の上位だけを代表ベクトルで並べ直す使い方である。この判断は2つの使い方には及ばない。
本文では、最初に、代表ベクトルをRRFに入れない形と、対照条件の比較の結論を、nDCG@10の差と95%区間の表で示す。次に、比べた3つの案と、6つの比較の条件の検索の組み立てを説明する。続けて、評価に使った検索文と、関連度の判定を説明する。その後に、比較の結果を記録する前に設計の文書に書いた、合否の条件を説明する。さらに、比較の1回目から3回目と、比較用のプログラムへの重大度Highの3件の指摘を書く。そのうえで、比較の4回目で切り分けた、nDCG@10の差の由来を説明する。続けて、本論に絞り込む対照条件と統計的に同等でも、本論の案を採用した理由を説明する。最後に、この実験で測っていない範囲と、コーパス全件での比較と、検索の設計を比べる実験で使える3つの手順を書く。
記事から得られること
キーワード検索とベクトル検索を一緒に使う検索を、設計している方と、評価している方に向けた記事である。次の4つが分かる。
- 文書を代表する埋め込みの検索の一覧を、等しい重みのRRFに常に入れた場合と、入れなかった場合の、nDCG@10の差と95%区間
- 比較用のプログラムへの重大度Highの3件の指摘の内容と、それぞれの欠陥が見つかった時点
- 比較の条件の間の差の由来を、要素を1つだけ変えた比較の条件で切り分ける方法
- 合否の条件と下限の数値を、比較の結果を記録する前に設計の文書に書く手順
この記事は、個人会社で開発しているサービスの実験の記録に基づく、設計の考察である。
ここから先は有料部分です
続きは、この記事だけの単発購入か、すべての有料記事が読める購読で読めます。
有料部分はおよそ11,100字で、読み終える目安は22分です。
価格は税込みです。購入と購読は、ログインしてから進みます。購入した記事は、アカウントでいつでも読み返せます。購読中の方と購入済みの方はログインして全文を読むページへ、プランの説明はプランのページへどうぞ。
販売の対象地域は利用規約に記載しています。請求はすべて日本円で行います。