サイト内検索ASP AdvantageSearch(以下、AS)のテクニカルサポートを担当している高橋です。全文検索で起こりやすい問題とその対策について、ECサイト内検索を例に記載します。
まず、多くのECサイト内の検索では商品名や商品説明などのテキストに対しては部分一致でヒットするようになっているかと思います。特に、弊社サービスのASでは、検索キーワードの入力が中途半端な状態でもフレーズが一致していればヒットするようになっています。
例えば「おいしいロースしょうが焼き」という商品名に対して「おいしいロース」「ロースしょう」とかで検索してもヒットします。これにより検索ユーザーが欲しい商品を途中までしか覚えていなくても、入力が面倒になっても、検索結果から漏れずヒットしやすいようにしてなっています。
すし・ロースしょうが焼き問題
一見普通の仕様ではありますが、懸念点もあり、「すし」で検索しても「おいしいロー”スし”ょうが焼き」がヒットしてしまいます。それだけでは問題にはならないのですが、悪い場合、検索結果一覧が寿司商品ではなくロースしょうが焼きで埋もれてしまう可能性があります。本来寿司商品が一覧に表示されてほしいのに、もしロースしょうが焼き商品が先に表示されてしまうと、使いにくい検索となってしまいます。
このようにキーワードの中に別の意味のキーワードが含まれていると、両方のキーワードがヒットしてしまい、検索結果が荒れてしまう原因となります。特に日本語は英語みたいに単語ごとに文章が分かれていないので、意図しない結果が起きやすいです。この問題の対策として、キーワードを分解してつながりをなくすことで関連度を調整する方法があります。
関連度
関連度とは、検索キーワードとヒットした商品がどのくらい関連しているかを表す指標です。この関連度が高いと検索結果の上位に表示されるようになります。関連度を上げる方法は様々ありますが、その1つとして検索キーワードを含むテキストの量を増やす方法があります。
単純な例ですが、「すし」というテキストが1つしか含まれていない商品と、9つ含まれている商品では、9つ含まれている商品の方が関連度が高くなりやすいです。(もちろん様々な観点から評価されますので必ずしも上がるわけではございません。)
キーワードを分解し関連度を調整することで対策
この計算方法を利用し、「ロースしょうが焼き」を「ロース」と「しょうが焼き」に分解して「すし」に一致しないテキストを作成します。一方「寿司」はこれ以上分解できないため「すし」のままとなり「すし」で一致するテキストが作成されます。これらの関連度を並び順に反映すると、検索結果の上位に寿司商品、下位にロースしょうが焼き商品が表示されやすくなり、使いやすい検索となります。
ASではこれらの”テキストデータの分解・抽出を自動で行う”機能(キーワード抽出機能)が備わっており、簡単に検索結果の改善を行うことができます。
パン・フライパン問題
キーワードを分解することで「すし」「ロースしょうが焼き」問題は解決できましたが、「パン」「フライパン」問題は解決できておりません。「フライパン」はこれ以上分解することができない単語なので「フライパン」のまま抽出されてしまい「パン」でヒットし関連度が上がってしまうためです。この場合は「キーワード抽出機能」と「完全一致型」を使用すれば対策可能です。
キーワード抽出機能+完全一致型による対策
先に完全一致型とは、登録されたキーワードと検索キーワードが完全に一致しないとヒットとならない型です。例えば「フライパン」が登録されている場合「パン」などで検索しても一致しません。「フライパン」と検索した時のみヒットし、関連度が上がります。
これを利用してキーワード抽出機能と組み合わせることで、パン商品には「パン」、フライパン商品には「フライパン」というテキストを完全一致型で作成し、「パン」で検索しても”フライパン”の関連度は上がらず、”パン”商品のみ関連度を上げることができます。
宣伝
最後に宣伝となりますが、このようにサイト内検索は問題点は目に付きやすいですが改善には様々な技術や対応が必要となります。改善コストの軽減の一つとして、AdvantageSearchをご検討いただければ幸いです。