【Personalizeに入門してみた】一時間半で体験するAmazon.com的レコメンデーション?

2019.08.26

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。AWS Loft大好きKyoです。

Amazon Personalizeのハンズオンセミナー@AWS Loftに参加してきました。

知っ得ハンズオンはじめてのAmazon Personalize

Personalizeとは?

  • 機械学習(以下、ML)によるレコメンデーション作成サービス
  • AutoMLによりMLの知識なしでレコメンデーションを作成可能
  • Amazon.comと同様のテクノロジ

公式情報はこちら

座学

まずは座学から始まりました。 印象的だったのが、MLとAIの違いについての説明。

ML

蓄積されたデータを元に一定の推察をえるアルゴリズムを育成、データサイエンティストが担当、全社のデータ戦略、最新アルゴリズムの追求、 ビジネスでいうと投資フェーズ

AI

付加価値、ビジネスロジック、フロントエンドエンジニアが担当、WEBサービスへの取り組み、UXのエキスパート、 ビジネスでいうと回収フェーズ

よく一緒にされがちな2つですが、これらは異なるものであり、明確に分けるべきということでした。

ハンズオン

ここからが本番です。

ユーザー610人による9700本の映画視聴履歴とその評価が10万件以上の含まれたcsvファイルを元にレコメンデーションを作りました。

具体的にはデータのcsvをS3に投入、Personalizeでモデル作りという流れでした。

下はPersonalizeの画面ですが、非常にシンプルで、本当にわずかなクリックでモデルができあがります。

※ML系のサービスなので、どうしても処理そのものに時間がかかってしまうのは仕方なし。

なお使用するアルゴリズムは自動的に選んでもらえます(もちろん手動で選ぶことも可能です)。

想定されているのは、まずAutoMLでモデルを作成し、現場の肌感と合わなかったら別のアルゴリズムで再度モデルを作ってみる、みたいな使い方なんだとか。

成果物

作ったモデルに対して、任意のUserIDを入れてみます。

パッと見分かりづらいのですが、UserID 1に対するレコメンドの結果(映画のID)が返ってきています。

正直、この情報だけだと精度はわかりません(笑)。肌感のある身近なデータでトライしてみたいですね。

また、少し思ったこととして、PersonalizeをはじめとしたML系のサービスが簡単になっていく一方で、元になるデータそのものは自分たちでためる必要があります。これからは「どんな目的」で、「どんなデータ」をためるのかという戦略が、今まで以上に重要となってきそうですね。

CLIからも触ってみた

CLIからはこんな感じ。

aws personalize-runtime get-recommendations --campaign-arn <"campaingのarn"> --user-id <"任意のID">

モデルの構築は済んでいるので、サクっとJSONで結果が返ってきます。

{
    "itemList": [
        {
            "itemId": "3489"
        },
        {
            "itemId": "2628"
        },
        {
            "itemId": "1380"
        },
        {
            "省略"
        }
    ]
}

終わりに

わずかなクリックで、世界最大のECサイトAmazon.comと同じ仕組みのレコメンデーションモデルが作れちゃうPersonalizeのご紹介でした。興味を持たれ方は是非お試しあれ。