Query Expansionとは
Query Expansionとは、ユーザーの検索クエリに同義語や関連語を自動的に追加し、検索の網を広げる手法
読み: クエリエクスパンション
かんたんに言うと
「犬」で検索したとき、裏で「ペット」「わんちゃん」「Dog」も検索語に追加して、ヒットする文書を増やす仕組み。ユーザーが思いつかなかった表現でも関連文書を見つけられるようになる。
辞書ベースとLLMベースの違い
辞書ベースはシノニム辞書に登録された同義語でQuery Expansionを行う。精度は高いが辞書の整備に手間がかかる。LLMベースはLLMに「この検索語の言い換えを出して」と依頼して拡張する。辞書なしで動くが、無関係な語が混入するリスクがある。実務では辞書ベースを基盤にし、カバーしきれない部分をLLMで補完する。
RAGパイプラインでの位置づけ
RAGではQuery Expansionはクエリ変換の一手法として使われる。ユーザーの質問を複数の角度から拡張して検索することで、1つのクエリでは取りこぼす関連文書を拾える。拡張語数は3から5語が実用的な上限で、拡張しすぎるとノイズが増えて精度が下がる。
導入時の判断基準
検索のヒット率が低く、ゼロヒットが多い場合にQuery Expansionは有効。拡張後の検索結果をリランキングで再スコアリングすると精度が安定する。シノニム辞書の整備コストとLLM呼び出しのレイテンシを天秤にかけて方式を選ぶ。
当社の見解
当社はAI長期記憶システムを自社開発・運用している。開発のきっかけは、AIと経営戦略の壁打ちで出した結論がセッション切れで消えたことで絶望を感じた。1日かけて議論してきたことを振り返り、では事業計画書に落とし込むように指示を出したところ、「そのような記録はありません」と言われたことで、強烈な危機感を覚えこれは何としても解決しなければならない問題だと感じた。記憶がないAIは毎朝記憶喪失になる新入社員と同じだ。記憶があるAIは、前提条件を理解した上で本題に入れる。短いプロンプトで済むようになり、「前に言ったように実行して」と曖昧で短いプロンプトでも業務を遂行してくれる。同じことを繰り返し伝える回数も減り、開発業務でも同じミスを繰り返しにくくなり、人間の手戻りが減り、ストレスも減る。AIで本当に業務の質を上げるならば、記憶はマストである。
