【せまんてぃっくけんさく】

セマンティック検索 とは?

💡 「言葉の意味」で探す次世代の検索技術
📌 このページのポイント
セマンティック検索 ― 意味で探す検索 従来のキーワード検索 「犬 飼い方」 文字列の 一致で検索 「犬」「飼い方」を含むページのみ → 「ワンちゃんの育て方」はヒットしない セマンティック検索 「犬 飼い方」 意味を理解 して検索 意味的に近い結果もヒット → 「ワンちゃんの育て方」もヒット! セマンティック検索の仕組み 検索文 AIモデルで ベクトル化 ベクトル空間で 類似度計算 意味的に近い 結果を返却 自然言語処理とベクトルDBを活用し「意味」で検索する次世代技術
セマンティック検索のイメージ
ひよこ ひよこ

セマンティック検索って、普通の検索と何が違うの?

ペンギン先生 ペンギン先生

普通のキーワード検索は「この単語が含まれているか」を見るんだ。「犬の餌」と検索したとき「ドッグフード」という言葉しか使っていない記事は引っかからない。セマンティック検索は「犬の餌」と「ドッグフード」が意味的に近いと分かるから、どちらの言葉を使っていても見つけられるんだよ。

ひよこ ひよこ

Googleの検索もセマンティック検索なの?

ペンギン先生 ペンギン先生

2019年にGoogleBERT(Bidirectional Encoder Representations from Transformers)を検索に導入してから、意味的な理解がかなり入っているよ。「薬局から近い駅で降りる」という検索に対して「at」と「to」の意味の違いを理解して正しい結果を返すようになったんだ。

ひよこ ひよこ

具体的にどうやって検索しているの?

ペンギン先生 ペンギン先生

検索クエリと文書を両方ベクトルに変換して、コサイン類似度の高いものを上位に返すんだ。事前に文書ライブラリ全体をベクトル化してベクトルデータベースに保存しておいて、クエリが来たらリアルタイムでベクトル化して近いものを探す流れだよ。

ひよこ ひよこ

セマンティック検索を入れればキーワード検索はいらなくなるの?

ペンギン先生 ペンギン先生

これが実運用で難しいところなんだ。セマンティック検索は曖昧な意味検索に強いけど、「正確な型番」「固有名詞」「コード」の検索は得意じゃなくてキーワード検索のほうが精度が出ることが多い。だからBM25(キーワード検索)とベクトル検索を組み合わせた「ハイブリッド検索」が現場では多く使われている。でも二つのスコアをどうブレンドするかのバランス設定は試行錯誤が必要で、正解のレシピがないのが難しいところなんだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「セマンティック検索」って出てきたら「言葉の意味で似たものを探す検索技術」と思えればだいたいOK!
📖 おまけ:英語の意味
「Semantic Search」 = 意味論的検索
💬 Semanticは「意味論的」という意味。文字通りの言葉ではなく、言葉の「意味(セマンティクス)」で検索するよ
← 用語集にもどる