Amazon Web Services ブログ

Amazon Personalize がカタログ内アイテムの関連情報を活用して、類似アイテムのレコメンデーションの関連性を強化することができるようになりました

2021 年 10 月 7 日、Amazon Personalize で類似アイテムのレコメンデーションの関連性を強化する新しいレシピ(aws-similar-items)が発表されました。このレシピにより、ユーザーのインタラクションデータ(過去のアクセス履歴や購買履歴などのデータ)とカタログ内アイテムの関連情報を活用して、関連性の高いレコメンデーションを提供できるようになります。

Amazon ではユーザーごとにパーソナライズされた体験を提供しています。ユーザーの関心に基づき、ユーザーエクスペリエンスや表示アイテムは変わります。あるユーザーがサイトを訪問すると、類似するインタラクションデータを持つ訪問者がアクセスしたことのある商品がレコメンデーションされます。このレコメンデーションは類似アイテムと呼ばれ、ユーザーは自分が参照、購入する商品に関連性の高いアイテムを見つけやすくなります。ユーザーに関連性の高いアイテムを考慮に入れることで、エンゲージメントとコンバージョンを向上させることができます。この新しいレシピでは、インタラクションデータにおける共起(全ユーザーを横断するインタラクションデータ全体で見た時に、あるアイテムが選ばれた時に、別のアイテムが頻繁に選ばれる状態のこと)および、テーマ類似性(カタログ内アイテムの類似性)を使って、レコメンデーションにおいて、人気の低いアイテムやカタログに新しく追加されたアイテムなどに対しても、より適切な類似性の定量化を実現します。

このブログでは、新しいレシピ(aws-similar-items)の使い方と、協調フィルタリングベースのレシピ(SIMS)との違いについて解説します。

これまで Amazon Personalize における類似アイテムのレコメンデーションは、全ユーザーのインタラクションデータ内における、あるアイテムの共起に基づく、ユーザーとアイテムの相関性に限られていました。類似性を定義する方法は共起だけでなく、テーマ類似性ではアイテムについて知り得る情報を利用します。メタデータや、アイテムの詳細な説明情報には、ユーザーに関連する機能についての貴重な情報が含まれています。同様の機能を持つアイテムは、顧客がそのアイテムにアクセスしたかどうかに関わらず類似しているのです。たとえば、同じ期間が設定されたビデオコンテンツ、共通のイベントに言及するニュース記事、あるいは同じショッピングカテゴリの小売商品など、ユーザーの行動に関係なく、テーマとして類似しているのです。Amazon Personalize の新しいレシピでは、こういった情報から得られる手がかりを学習できるようになりました。アイテムに関する詳細かつ簡潔な説明を作成することに投資すれば、ユーザーをより効果的に引き付けることができます。

Amazon Personalize の aws-similar-itemsレシピでは、深層学習に基づいた技術とアイテムに関する情報を使用して類似性を識別します。このレシピを使えば、ユーザーがより多様な関連アイテムを確実に閲覧できるようになり、よりよい結果が得られます。 開発者は Amazon Personalize により、機械学習(ML)テクノロジーを使ったアプリケーションを構築し、ML の専門知識を持たずともパーソナライズされた顧客体験を提供することができるようになります。さまざまな体験を提供できるアプリケーションを簡単に構築できるようになります。Amazon Personalize は、フルマネージドの ML サービスであり、あらゆる業界で静的なルールベースのレコメンデーションシステムを超える、高度にパーソナライズされた顧客体験を提供するカスタムレコメンデーションを可能にします。結果はアプリケーションプログラミングインターフェイス(API)経由で取得でき、料金は使用した分だけしか発生しません。最低料金や事前の定額コミットメントなどもありません。すべてのデータは暗号化されるのでプライベートかつ安全です。データはユーザー向けのレコメンデーション生成のためだけに使用されます。

ソリューションアーキテクチャ

このブログに添付するノートブックでは、アイテム同士の類似性を示すアイテムのメタデータがさまざまなレコメンデーションをどう改善するかわかるようになっています。ここでは、ユーザーとアイテムのインタラクション履歴と、アイテムのメタデータを含む Amazon Personalize データセットグループを一つ使用します。関連アイテムレシピである、aws-similar-items と SIMS、それぞれを使った 2 つのソリューションを作成します。 aws-similar-items レシピでは、ユーザーとアイテムのインタラクション履歴、アイテムメタデータの両方を使って、カタログ内の類似アイテムを識別します。 SIMS では、ユーザーとアイテムのインタラクション履歴データのみが使われます。そして 2 つのソリューションを使って、一般的なシードアイテムに基づくレコメンデーションを生成してみました。

下図に、このブログで適用したアーキテクチャと比較の仕組みを示します。

2 つのソリューションそれぞれから得られるレコメンデーションの違いを確認するため、各レシピを使用して生成された結果を比較します。これにより、アイテムのメタデータを含めて類似性に新たな次元を追加することで、レコメンデーションがどのように変化するか評価できます。

Amazon Prime Pantry のデータセットを使った、類似アイテムの推論結果比較

SIMS では協調フィルタリングが使われています。アイテムどうしのレコメンデーションシステムにおいて広く使用されている手法です。レシピは、ユーザーのインタラクションデータから導出されたアイテムの共起統計に基づいています。予測は、純粋にユーザーの行動に関する統計によって行われるので、インタラクションデータが大量にある場合にはうまく機能します。このアプローチには、トレーニングと推論において高速性と信頼性がありますが、内在的なコンテンツへの考慮に不足があります。つまり、カタログ内のさまざまなアイテムやサービス間のテーマ類似性という貴重な情報は考慮されていないのです。

新しい Amazon Personalize のレシピ (aws-similar-items) では、ユーザーとアイテムのインタラクションだけでなく、アイテムのメタデータも取り込む深層学習のアーキテクチャを使用しています。この拡張機能を使用することで、より充実した、より類似した推論結果を得ることができます。

以下のスクリーンショットとサンプルは、Amazon Personalize Samples GitHub リポジトリに公開されているノートブックからの抜粋です。この例では、Amazon Prime Pantry のレビューデータセットを使いました。

まず、この実験の手順を見ていきましょう。

  1. レビューデータをインタラクションに変換します。
  2. メタデータとして使用する、関連性の高いアイテム機能を選択します:
    1. ブランド
    2. 価格
    3. 非構造化テキスト機能を使って非構造化テキストとして分析される説明
  3. SIMS とaws-similar-items レシピを使用し、2 種類の Amazon Personalize ソリューションをトレーニングします。

レコメンデーションを確認する前に、アイテム ID ごとにユーザーとアイテムのインタラクションがいくつ存在するか確認します。

以下スクリーンショットは、データセット内で最もインタラクションの多いアイテムと、最もインタラクションの少ないアイテム、それぞれ上位 5 つ(左の表)と、ユーザーとアイテムのインタラクション数分布の指標(右の表)を示しています。

何千ものインタラクションのあるアイテムもあれば、インタラクションが 1 つのアイテムもあります。これらの数値を見ると、SIMS ではユーザーとアイテム間の共起のみを使って類似性を識別することから、インタラクション数の少ないアイテムによるレコメンデーションは、カタログで最も人気のあるアイテムに大きく傾いてしまうだろうと想定されます。一方、新しい aws-similar-items レシピによるレコメンデーションでは、人気の影響を受けにくく、アイテムメタデータに基づくものになるだろうと期待できます。

次のスクリーンショットは、よく知られている洗濯洗剤のデータです。Tide Original の液体洗濯洗剤を取り上げました。このアイテムは我々の使うデータセット内では最もたくさんのインタラクションを有するアイテムの一つで、ユーザーとアイテムのインタラクション数は約 1,800 となっています。

以下は SIMS モデルからのレコメンデーションですが、的確と言えます。価格も範囲内であり、レコメンデーションアイテムのインタラクション数も、データセット平均と標準偏差周辺によく分布しています。SIMS モデルも 素晴らしいですね!

次に以下のレコメンデーションは、aws-similar-items モデルから得られたものです。5 つのうち 2 つは SMIS の結果と共通しており、テーマ類似性も見られます。

ユーザーとアイテムのインタラクションが、Amazon Personalize に強力な特性となること、aws-similar-items ではこれらの特性がアイテムのメタデータで強化されることを考えると、理にかなったものと言えます。

では次に、データセット内であまり人気のないアイテムを使って同じ実験をしてみます。とは言っても皆さまがよくご存知の商品、Pepsi です。

以下の Pepsi の説明を見れば、皆さんがどう考えるか推測することができます。類似性のあるアイテムのレコメンデーションとしては、ソーダとよく合うものがほしいところですよね!

まずは SIMS モデルによるレコメンデーションです。

この表を見ると、このアイテムとユーザのインタラクションの数(一つ前の表にあるように 6 回)は、Amazon Personalize SIMS レシピがインタラクションだけを手がかりに学習するには十分でなかったことが分かります。その結果、この学習モデルでは、単に人気のある商品をレコメンデーションしてしまっています。すなわち、これがコールドアイテム (訳注:履歴が少ないアイテム)において起きてしまうことなのです。

一方、新しいレシピ(aws-similar-items)を使うと次のような結果になりました。

こちらのレコメンデーションははるかに妥当に見えます。ソフトドリンクの購入でよく見られるように、同価格帯のスナックが含まれています。このデータセットのユーザーがもしかすると極端なジャンクで洗剤も食べるのかもしれませんが(訳注:5 つ目のレコメンデーションアイテムが洗剤になっているため)、食品のみをレコメンデーションするよう、フィルターを適用する必要がありそうです。

この実験が示しているように、新しい aws-similar-items レシピでは、期待されるようなレコメンデーションが得られるのです。

まとめ

Amazon Personalize が提供するレコメンデーションの品質は、モデルと、利用可能なデータに比例します。Amazon Personalize は、ユーザーとアイテムのインタラクション履歴に加えて、アイテムのメタデータという追加のデータを使い、より関連性の高い類似アイテムのレコメンデーションができるようになりました。特にインタラクション履歴が少ないアイテムについてより類似性の高いアイテムをレコメンデーションするためには、アイテムの詳細説明やその他属性が貴重な特性情報を提供するものとなります。 新しいアイテムを新規スタートするときのレコメンデーションや、人気がレコメンデーションに過度にバイアスをかけないようにするなどが、Amazon Personalize の新しいレシピの主要なユースケースになるでしょう。

ノートブックのサンプルを実行してさらなる検証を行って、これらのモデルのレコメンデーションを比較してみることをお勧めします。


著者について

Luis Lopez Soria

Luis Lopez Soria は、Amazon Machine Learning チームと協業している AI/ML スペシャリストソリューションアーキテクトです。AWS のお客様と協力し、大規模な機械学習の採用を支援しています。趣味はスポーツや世界旅行、新しい食べ物や文化を探すことです。

Matt Chwastek

Matt Chwastek は、Amazon Personalize のシニアプロダクトマネージャーです。機械学習ソリューションを簡単に構築し利用できるようなプロダクトの提供に注力しています。休日の楽しみは読書や写真撮影です。

Nghia Hoang

Nghia Hoang は、AWS AI Labs のシニア機械学習サイエンティストであり、アプリケーションを使ってレコメンデーションシステムにそれぞれの学習方法組み込む開発をしています。確率的推論や深層生成学習、パーソナライズされたフェデレーションラーニング、メタラーニングなどを研究対象としています。

Manas Apte

Manas Apte は、Amazon Personalize のソフトウェア開発マネージャーです。深層学習を使用したレコメンデーションシステムのアルゴリズム開発に注力しています。休日には庭で読書や仕事を楽しんでいます。

翻訳は Solutions Architect 杉中が担当しました。原文はこちらです。