キーワード検索の問題
優れた検索エンジンはユーザーの意図を理解し、最も関連性の高い結果を返します。Google、Bing、DuckDuckGoなどの最新の検索エンジンは、この点で非常に優れています。ただ、主要検索エンジンを除けば、ほとんどのエンタープライズ検索テクノロジーはクエリ内の単語のみを参照し、クエリの背後にある意図を参照しないため、不十分です。「キーワード検索」という何十年も変わらないテクノロジーが依然使われています。
しかし、キーワード検索には大きな欠陥があります。それは、人間は同じ質問をする場合でも異なる単語を使うことがあるということです。次の例を考えてみましょう。
こうした検索を行うユーザーには、類似または同一の意図があり、キーワードベースのアプローチでは、同じ情報を探しているこうした検索に対して最も関連性の高い結果を提供できません。
キーワードベースのシステムでは、結果を改善するためにTF-IDF、同義語、ステミング、見出語認定などの手法を採用することがよくありますが、こうした調整には時間がかかり、エラーが発生しやすく、それでいてなおユーザーの検索の意図にたどり着けません。ユーザーには、少なくとも1つのキーワードが一致するリンクの一覧が表示される可能性が高く、関連する情報があるかどうかを自分で探す必要があります。
セマンティックテキスト検索の仕組み
Yextでは、顧客が本当に探している内容をより深く把握するため、GoogleのBERTをトレーニングしました。したがって、Searchは、キーワードベースのシステムとは異なり、「靴の返送」を検索している人が返品プロセスを始めようとしていること、「肩の脱臼」について検索する人がおそらく整形外科医を必要としていることを認識しています。
Searchは、クエリの背後にある意味を分析し、そのクエリに最も関連性の高い回答を持つエンティティを見つけます。ニューラルネットワークを使用してユーザーが探しているものを正確に理解し、コンテンツから最も関連性の高い結果を見つけます。
Yextは、検索クエリをよりよく理解するためにBERTを微調整しました。ユーザーがクエリを入力すると、検索はクエリをベクトルとしてエンコードし、クエリの数値表現を作成してベクトル空間でそのクエリに最も近いContent内のデータを探します。
空間内で近くにある2つのベクトルは、互いに遠く離れた2つよりも多くの意味を共有します。セマンティックテキスト検索は、ベクトル空間にクエリを配置し、それに最も近いコンテンツを見つけて、顧客自身でも必要と気づいていなかった可能性のある回答を提供します。
これらのベクトルには768次元あり、表現は不可能ですが、ここではそのプロセスを2次元で視覚化しています。