社内の検索で「安い宿」と入れても、「格安ホテル」と書かれた資料は出てこない。同じ意味なのに、文字が一致しないからです。セマンティック検索は、この壁を越えるための検索の考え方で、入力された言葉と同じ文字列を探すのではなく、意味の近さで関連する文書を探します。「格安」と書いていなくても、「安い」と聞けば探してくれる司書のような存在です。
キーワード検索と並べると
| キーワード検索 | セマンティック検索 | |
|---|---|---|
| 探し方 | 文字の一致 | 意味の近さ |
| 「安い宿」で「格安ホテル」は出るか | 出ない | 出やすい |
| 表記ゆれへの強さ | 弱い | 強い |
| 作る手間 | 少ない | やや多い |
意味の近さを測るために、文章をいったん数値に変えるエンベディングを使い、近いものから順位を付けます。社員が正式な用語を知らなくても社内文書にたどり着ける、FAQ に載っていない言い回しの問い合わせにも当たる、過去の似た事例をすぐ探せる。RAG の検索部分に使えば、LLM に渡す資料の質も上がります。
入れるだけで検索が解決するわけではない
言い換えを拾えるということは、意味が近いだけの別の資料も拾うということです。的外れな文書が候補に混ざるのは避けられず、何も手を打たなければ、意味を拾えるようになったぶんだけノイズも増えます。
効いてくるのは、周りの準備です。使う埋め込みモデルによって、日本語での精度は大きく変わります。文書の区切り方(チャンク分割)が粗いと、意味が途中で切れて検索の質が落ちます。候補の順位を並べ直すリランカーを組み合わせたり、キーワード検索と併用したりする構成が、実務では安定しやすいとされています。文書の整備、区切り方の設計、検索結果の評価。この三つをそろえて取り組みます。