こちらのブログはAlgoliaのCo-founder CTOのJulien Lemoine(@jlemoine_algo)による How Algolia uses AI to deliver smarter search の翻訳記事です。
AIはAlgoliaの戦略において重要な位置づけとなっています。私たちはAI分野に継続的に投資をしており、それによって、検索における最も複雑な問題に対処し、私たちが既存に有しているbattle-tested(豊富な実績を誇る)なソリューションをより強化および拡大しようとしています。
なぜ検索におけるAIは難しいのか?
検索は複雑なビジネス課題であり、重要な競合優位性のための差別化要因になりえます。”Relevant Search”の著者であり、著名なrelevanceの専門家であるDoug Turnbullは”本当にrelevantな検索体験は、致命的なブラインドスポットではないにしても、多くの組織において捉えどころのないものであった”と述べています。コンシューマー向けの検索において業界をリードしているNetflixやAmazonのような企業でさえ、AIスタックを用いて検索結果を最適化およびチューンナップしていくのに苦労しているのです。
優れた検索システムを構築して、relevance(関連性、適合性)を進化させていくには、様々な問題を解決しなければなりません:
- クリーンで構造化されたデータ。検索データ – 大量な場合が多い – は検索される前にインデクシングおよびクリーンナップされている必要があります。例えば、商品において必要な”attributes(属性)”である色、素材が不足していたり、検索エンジンにより良く取り込まれるように整理や構造化されていないような説明文があったとします。この場合、カスタムコードおよびAIはアルゴリズム的にこの問題を解決することができるでしょう。これによって大幅な時間とリソースが節約できるかもしれません。
- ユーザーの意思や意図の把握。人間は様々な方法で検索をします: 例えば私たちは異なる同義語を使って一つの事柄を表現します(“赤いズボン”を”赤いパンツ”)し、タイポしたりします(“クッキング”を”クッッキング”と打ち間違える)し、検索キーワードというよりは口語的に質問を投げかけたりします。更に、私たちは様々な言語を話し、その中には固有の特殊性を持つもの、例えばとても単語が長かったり、スペースで単語が区切られていないようなものがあったりもします。ここではNatural Nanguage Processing(NLP) – AI技術の一つで人間の言葉を読み、理解し、意図を汲むことを可能にする – が役に立つでしょう。
- 検索結果のランキング(および並べ替え)。検索エンジンがユーザーの意図を理解したのであれば、ユーザーはそのクエリのコンテキストに沿ったランキングの検索結果を受け取ることが可能であるべきです。そして、Ranking Formulaそれだけでは大きなチャレンジがあります: 一定数のユーザーにはベストなものであったとしても、様々なエッジケースが存在して、メインの設定ではそれらの全てに対応することはできません。それに加えて、 ユーザーにとって適合度の高い検索結果を表示することは、目的の半分しか達成していないと言えるかもしれません。例えば、ユーザーに最も適合したプロダクトが開発中止になってしまっていたり、その次に適合度が高いものはビジネス的に収益をあげていなかったり。このようなケースの場合は検索結果を再度並べ替えて可用性, マージン, 人気といった”business relevance”に最適化されているようにする必要があるでしょう。このRanking Formulaをファインチューンすることは非常に多くの時間を要します。ここにAIを導入して、ユーザーの行動を分析して、それに基づいたランキングを用いてよりよくしていくというサイクルを回すことが可能です。
- 透明性。上記の課題の複雑性を考慮すると、AIにおける各レイヤーが検索結果にどのように影響を与えるのか、それらが互いにどのように連携するか、そして、恐らく最も重要なのは、それらの結果によって変更が可能であるかということでしょう。AI以前にも質の高い検索ソリューションはありましたが、それは適合度や最適化の調整方法を開発者のみに提供するようなものでした。複雑なRanking Formula(例えば、各ドキュメントにそれぞれユニークなスクアを割り当て、属性のウエイトや単語感の距離といった多くの情報を混ぜ合わせるようなもの)は、詳細に理解をしている開発者以外にとっては事実上ブラックボックスであると言え、ビジネスメンバーを含めた検索チーム全体として、なぜ検索結果がそのような順番で並べられていて、どのように期待した適合性を達成することができるのかを調整することはほぼ不可能でした。
AIを上手に活用するには、全てのアルゴリズムが全体的にみてうまく機能するようにしながら、上記のそれぞれの問題を解決していく必要があります。別の言い方をすれば: ビジネスの結果をドライブするような計測可能なクオリティの高い検索を提供するためには、comprehensive(包括的)なアプローチをAIにする必要があります。
こちらが、Algoliaが検索の最も重要なことを解決するAIファミリーを構築するに至った理由となります。検索のためのAIスタジオだと考えてみてください: 最も複雑な検索の課題に対するソリューション群を、easy-to-useでフレキシブルなAPIとしてパッケージ化したということです。このユニークなアプローチはstate-of-the-art(最先端)のプラクティスの集合体 – 業界、企業、ユースケース、もしくはパートナーソリューション – であり、短い時間でAlgoliaのお客様が目標を達成するご支援を行います。
AlgoliaのAIプラットフォーム in 2020
2020年は既存のAIプラクティスのエンハンスメントを行い新しい領域に拡大していきます:
- Natural Language Processing (NLP)。Algoliaの検索エンジンは高度な機械学習アルゴリズムを用いて、自動的に単語を識別することができます。例えば、スペースで区切られていないアジア圏の言語である中国語/日本語/韓国語や、ゲルマン言語のドイツ語、オランダ語、フィンランド語、スエーデン語などにおいてもです。一つの例としては、オランダ語で最も長い単語してよく取り上げられる: Kindercarnavalsoptochtvoorbereidingswerkzaamhedenplan は、『子どものカーニバル行列のための準備活動』です。
- Automated personalization。検索結果をパーソナライズすることは、ユーザー体験を向上させ、ビジネスのKPIを最大化させるための有効な一手です。Algoliaの自動的なパーソナライゼーションはユーザーによるシグナル(例えば、商品ページでのクリック, 購買, ショッピングカートへの追加, ウィッシュリストへの追加 等)を分析し、ビジネスコンフィグレーションを元にユーザーごとにプロファイルを構築します。そして、ユーザーのプライバシーを保護しながら、ユーザーごとにパーソナライズされたsearch and discovery体験を提供します。Algoliaのユニークなところとして、ランキングの扱いが挙げられるかと思います。私たちは適合性に関する他のキーとなる要素とともにパーソナライズを可能にします。Algoliaのお客様は、どのようにパーソナライゼーションとそれぞれの適合性ファクター(textualな要素である – シノニム、複数形、見出し語、そしてビジネスファクターであるマージンや人気度スコア)に基づいて検索結果がランク付けされているか簡単に確認することができます。そして、完璧な検索結果のFormulaに辿り着くために、微調整を行いながら反復的にPDCAサイクルを回していくことができます。
- Dynamic synonym suggestions。シノニムの設定は、検索の適合度を上げて、ビジネスインパクトを高めるための最も需要で – そして複雑な – 方法の一つです。しかし、検索におけるシノニムは言語の辞書ベースというよりは、それぞれのビジネスやユースケース固有のものであると言えます。そのため、コンテンツや商品カタログのエキスパートであっても、それをやりくりするのは時間がかかるマニュアルなプロセスとなります。Algoliaでは実際のユーザーがどのようにシノニムを利用しているのかに基づいてレコメンデーションを行うストリームラインなプロセスを構築しました。この機能は現在ベータ版となりますが、レコメンデーションに対するacceptもしくはrejectを簡単に行えるようになっています。
- Dynamic re-ranking。こちらも現在の四半期にベータ版となるものですが、ユーザーの行動を分析した上でクエリのランキングを向上させる事項をサジェストするものとなります。例えば、特定のクエリの3番目に出てくるレコードが最もクリックされるものであるならば、レコメンデーションもしくはオートメーションによって1番上にもってくる、というものです。この機能は、ユーザーの行動からのフィードバックループが追加されればされるほど、正確さや精度が向上していきます。white-boxなアプローチを維持しながら、お客様はアルゴリズミックな計算に関して完全な透明性を持ち、その振る舞いをオーバーライドさせることが出来ます。更に、Algoliaはこれらの計算がユーザー体験にどのようなインパクトをもたらすか正確に知ることができる唯一のソリューションと呼べるかもしれません。
- Voice and natural language understanding。ユーザーは検索キーワードという形ではなく、より自然言語的にクエリを表現することが多くなってきており、特に音声検索の場合はその傾向が顕著になっています。検索エンジンはキーワードを理解して扱うことに慣れているため、私たちはクエリが検索エンジンに辿り着く手前にユーザーの意図を分析するためのAIのレイヤーを導入しています。この新しいNLUエンジンは、検索とNLUがが結合してお互いを強化し合うという新しい会話型インターフェースを可能にします。AlgoliaのNLUエンジンはユーザーが本当に欲しいと思うものを理解するため、ユーザーのIntent(インテント)とEntity(エンティティ)を検出します。例えば、”500ドル以下でセンスの良い黒のドレスをカートに追加して”と言ったユーザーは”黒いドレスを全部みせて”といったユーザーとは異なる行動をしたいと思っている旨を特定します。
- Combining Algolia with customers’ ML/AI models and technologies。Algoliaのお客様はあらゆるデータポイント(クリックスルーレート、商品やコンテンツの人気度 等)を活用することが可能で、独自の機械学習モデルによって算出されたスコアもAlgoliaの拡張可能なRanking Formulaに取り入れてフィードバックループを強化していくことも可能です。また、それを導入した結果の効果測定は、AlgoliaのAnalyticsとA/Bテスティング機能によって行うことができます。
私たちのビジョンはAlgoliaであらゆるタイプのカスタムなAIアルゴリズムを活用できるようにする、というものです。このディレクションにおける最初のステップとしては、私たちのエンジンで何百万ものルールを効率的に処理できるということにあります; Algoliaのお客様はこれらのルールをAIアルゴリズムのアウトプットとして使用し、結果のre-rankや、特定カテゴリのプロモート等を行うことができます。
透明性があり理解可能であること
私たちはAI機能が何をして、どこでどのように検索体験にインパクトを与えるのかを明確に示すとともに、他の機能とどのように連携するのかも明らかにし続けます。私たちはお客様が理解していないアルゴリズムを盲目的に信用するような事態を避け、どのように適合度が計算されているか、お客様ご自身が確かめられる透明性をもたらしてきました。私たちはこれをホワイトボックスアプローチと呼んでおりますが、お客様をエンパワーメントし、反復的なアプローチから得られる洞察についてご案内をさせていただきつつ、Algoliaを信用していただくということが最も重要であると考えています。
ホワイトボックスなアプローチは継続的な改善には不可欠です。なぜ検索結果が特定の順番でランク付けされているのかを伝えることができなければ、検索結果を調整しながら改善するための代替となるようなテストをすることは出来ないと考えるからです。
What’s next
私たちは継続してAIスタジオの探求、開発、そして拡大を続けてまいります: それは、使い易さと柔軟性を設計の原則としつつ、お客様がAIのパワーを享受できる統合アルゴリズムスイートです。
例えば、私たちは OpenAI をローンチパートナーとして、彼らの技術を私たちの検索エンジンにバンドルしています。ゴールは、分析する必要のある結果のリストに加えて、ユーザーの質問に対する答えを提供できるようにする、というものです(Googleが”Why did Franklin Roosevelt support the formation of the US”のようなクエリに対して行っているのと似ているといえるでしょう)。この技術が、例えば、ヘルプセンターというコンテキストでどのように役立ちサポートコストの削減に大きな影響を与えるか想像できますし、報道機関であれば、最新の事実を知るために読者が再びアクセスしてくる様が見て取れるでしょう。
私たちは他にも多くのAIソリューションを評価しておりますが、以下のような分野に取り組んでいます:
- AI-powered cleaning and structuring of your data
- Dynamic merchandising suggestions: 特定のクエリに対するプロモーションすべきカテゴリの特定
- Automatic configuration of searchable attributes (Ranking Formulaにおける最重要事項。例えば商品名やカテゴリ名) ユーザーが探している方法を常に反映させる
- Dynamic filters optimization UIに表示されているtop filter valuesがユーザー行動と一致するようにする
AIが成熟し続ける中で、私たちは検索の複雑さを軽減し、お客様がユーザーに最高のsearch and discovery体験を提供できるように取り組みを続けています。そして、Natural Language Processing (NLP)が、意図を分析することが得意になるにつれ、会話型検索における理想的な双方向の対話に近づけていくことができるでしょう。最終的には、私たち人は人間のアシスタントと同じようにソフトウェアと対話することになるのでしょう。私たちAlgoliaはそう遠くないこのシナリオへの道筋を切り拓いてまいります。Stay tuned。
コメント