[アップデート]Amazon Personalizeにデータセットの分析機能が追加になりました

GA当初はインポートしたデータについて操作や確認をする為の機能は皆無だったAmazon Personalizeも徐々に機能が充実して便利になってきました。
2023.01.30

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

データアナリティクス事業本部 インテグレーション部 機械学習チームの貞松です。

Amazon Personalizeのアップデートにより、インポート済みのデータセットに対してワンタッチで分析を実行する機能が追加になりました。
分析を実行することで、簡単にデータセットの統計情報やデータセットに関する洞察とそれに対する推奨の改善案を得ることができます。
この機能により、現在のデータセットを改善し、より良いレコメンデーションを実行する為の手がかりを得られるようになりました。

本記事では、データセット分析の実行方法と得られる結果や活用について解説します。

使用するデータセット

検証用データとしてみんな大好きMovieLensのデータを加工してそれっぽくしたものを使用します。

各データセットのスキーマは以下の通りです。

  • Interactions
    • user_id
    • item_id
    • timestamp
  • Items
    • item_id
    • category
  • Users
    • user_id
    • age
    • gender

データセット分析の実行

特に問題の無いデータセット一式に対する分析の実行

まずは前述のデータセットをそのままインポートした状態で、データセットの分析を実行してみます。
左のサイドメニューにあるData analysisを選択し、データセット分析の画面を開きます。
画面右上にある「Run analysis」ボタンをクリックすると、データセット分析が開始します。

データセット分析が完了すると、画面の下側に分析結果が表示されます。

特に問題ないデータを使用しているので、Insightについては何も表示されません。Insightに表示される内容については、後述の「問題のあるデータセットに対する分析の実行」で触れていきます。
データセットの統計情報については、各データセットごと(Interactions、Items、Users)にそれぞれ表示されています。

Dataset statisticsタブに含まれるデータは以下の通りです。

  • Number of rows : データ件数
  • Number of unique users : データに含まれる一意なユーザー数
  • Number of unique items : データに含まれる一意なアイテム数

Column level statisticsタブに含まれるデータは以下の通りです。

  • Column name : カラム名
  • Completeness : 完全性 ※公式ドキュメントに具体的な定義に関する記載がないが、データ完全性の文脈では「データが全て揃っていて欠損や不整合がないことを保証すること」を意味します
  • Unique values : カラム内の一意な値の件数

これらの統計情報により、単純なデータ件数だけでなく、そこに含まれる一意なデータの量についても確認することができ、想定通りのデータが十分に搭載されているか否かを確認することができます。

一方で、データの偏り(あるユーザーやアイテムのデータばかりが含まれていないか)などは、ここからは読み取ることができません。
そういったデータについては、Insightによって検知することが出来ますので、次のセクションにて解説します。

問題のあるデータセット(interactionsデータセットのみ)に対する分析の実行

次に問題のあるデータセットをインポートした状態でデータセット分析を実行します。

問題のあるデータセットとして以下のような偏りのあるデータを準備します。

  • 前述で使用したInteractionデータセットを加工した作成
  • データ件数は1000件 (データセットインポート可能な最小件数)
  • 一部のユーザーのデータについて、1件ずつしかデータが無い

上記のデータセットに対してデータセット分析を実行した結果を以下に示します。

Insightsに一件メッセージが表示されています。
Insightsカラムには発見されたデータセットの課題、Recommendationsカラムには課題に対して推奨される対応が表示されます。

メッセージはそれぞれ以下の通りです。

The Interactions dataset has only 7 unique users with two or more interactions. Model training requires a minimum of 25 such users.
(インタラクション データセットには、2つ以上のインタラクションを持つ一意のユーザーが7人しかいません。モデルのトレーニングには、そのようなユーザーが25人以上必要です。)
Import at minimum 2 interactions records each for undefined users.
(未定義のユーザーごとに、少なくとも2つのインタラクションレコードをインポートします。)

データの偏りを検知して、状態と対応策が表示されています。
開発者はこれに従ってデータを改善することによって、最終的に生成させるレコメンドアイテムを改善することができます。

まとめ

Amazon Personalizeのアップデートにより追加されたデータセット分析機能についてご紹介しました。
地味なアップデートながら、データ改善によってレコメンデーションを改善するための気づきや具体的なアイデアを得られる非常に有用な機能であると言えそうです。Amazon PersonalizeはSaaSなのでチューニングの余地はそれほど多くはないですが、こういった機能によって継続的な改善に役立てられるのは嬉しいですね。
ぜひご活用いただければと思います。

参考