レキシカル検索とは

LEXICAL SEARCH
読み: レキシカルケンサク

レキシカル検索とは、検索クエリに含まれるキーワードと文書内の単語を文字列として照合し、一致する文書を返す検索手法

読み: レキシカルケンサク

レキシカル検索とは、検索クエリに含まれるキーワードと文書内の単語を文字列として照合し、一致する文書を返す検索手法。TF-IDFBM25といったアルゴリズムが代表的で、Elasticsearchをはじめとする全文検索エンジンの基盤になっている。ベクトル検索が意味の類似性で検索するのに対し、レキシカル検索は単語の出現頻度と希少性で関連度を計算する。

かんたんに言うと

入力したキーワードがそのまま文書に含まれているかで検索する方法。「機械学習」と入力すれば「機械学習」という文字列が含まれる文書がヒットする。「ML」と入力しても「機械学習」はヒットしない。標準のアルゴリズムでは同義語を理解しないが、Elasticsearchなどの実用的なエンジンではシノニム(同義語)辞書を登録して補うのが一般的。ベクトル検索は辞書なしで概念の近さを計算できる点に優位性がある。キーワードの完全一致が必要な場面ではレキシカル検索が確実に結果を返す。

BM25の仕組み

BM25はレキシカル検索で最も広く使われるランキングアルゴリズムTF-IDFの改良版で、単語の出現頻度(TF)と文書全体での希少性(IDF)に加え、文書の長さによる正規化を行う。長い文書が不当に有利にならないよう補正する。ElasticsearchのデフォルトのスコアリングアルゴリズムBM25。シンプルだが実用的で、特定のキーワードを含む文書を探す用途では十分な精度を出す。

ベクトル検索との違い

レキシカル検索は「犬」で検索しても「ペット」や「わんちゃん」はヒットしない。ベクトル検索は意味の類似性で検索するため、同義語や関連語もヒットする。ただしベクトル検索は固有名詞や型番の完全一致に弱い。「iPhone 16 Pro Max」を正確に検索したい場合、ベクトル検索では類似する別のモデルも返ってしまう。レキシカル検索なら完全一致で正確に返す。

ハイブリッド検索の台頭

レキシカル検索とベクトル検索を組み合わせたハイブリッド検索が主流になりつつある。レキシカル検索で固有名詞やキーワードの一致を確保しつつ、ベクトル検索で意味の類似性を補完する。Reciprocal Rank Fusion(RRF)で両方のスコアを統合するのが一般的な手法。ElasticsearchやWeaviateなど主要な検索エンジンがハイブリッド検索に対応している。RAG構成では、ハイブリッド検索をリトリーバーとして使うことで回答精度が向上する。

導入時の判断基準

検索対象が型番、法令番号、固有名詞中心ならレキシカル検索で十分。自然言語の質問に対して関連文書を返したいならベクトル検索が必要。両方の要件があるならハイブリッド検索を選ぶ。レキシカル検索はCPUとディスクI/Oが中心で、ベクトル検索に比べて高価なメモリ(RAM)消費を抑えられる。ベクトル検索はHNSW法などの高速検索のためにベクトルデータをRAM上に展開し続ける必要があり、データ量に比例してメモリコストが膨らむ。この差が運用コストの分かれ目になる。まずレキシカル検索で始めて、精度が足りなければベクトル検索を追加するのが堅実な進め方。

当社の見解

当社はAI長期記憶システムを自社開発・運用している。開発のきっかけは、AIと経営戦略の壁打ちで出した結論がセッション切れで消えたことで絶望を感じた。1日かけて議論してきたことを振り返り、では事業計画書に落とし込むように指示を出したところ、「そのような記録はありません」と言われたことで、強烈な危機感を覚えこれは何としても解決しなければならない問題だと感じた。記憶がないAIは毎朝記憶喪失になる新入社員と同じだ。記憶があるAIは、前提条件を理解した上で本題に入れる。短いプロンプトで済むようになり、「前に言ったように実行して」と曖昧で短いプロンプトでも業務を遂行してくれる。同じことを繰り返し伝える回数も減り、開発業務でも同じミスを繰り返しにくくなり、人間の手戻りが減り、ストレスも減る。AIで本当に業務の質を上げるならば、記憶はマストである。

同じ失敗を二度としないAIエージェント

今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。

当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。

古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。

相談する