人工知能についてメモ(コンテンツベースの推薦)

Gordon JohnsonによるPixabayからの画像
ほかの技術知識

『人工知能34巻3号』を読んだメモの続き。前回(協調フィルタリング)はこちら

コンテンツベースの推薦

 「評価数が揃わないうちはユーザ間の相関に基づく推薦システムが機能しない」(コールドスタート問題)という協調フィルタリングの欠点をカバーする方法の1つとしてコンテンツベース手法がある。以下、楽天市場などのECサイトを例に考える。


 2000年以降、ECが人々の生活に浸透してくるにつれ、販売履歴データ・閲覧履歴データなど大量のユーザ行動データが容易に取得できるようになった。現在、ユーザの利便性を上げるため、あるいはより多くの購買を促すために、ほぼすべてのECサイトで推薦システム(商品の推薦・クーポン配信の最適化・コンテンツのパーソナライズなど)が稼働している。

楽天市場のトップページ含まれる推薦システム

  1. リターゲティング機能(ユーザの商品閲覧履歴データを参照し、直近に参照した商品をユーザに提示する)
  2. ユーザが過去に購買した商品の中から定期的に購入されやすい商品(米や洗剤)を抽出し、ユーザに提示する機能
  3. 商品のディスカウントクーポンを配布する機能
  4. その他一般的な商品推薦システム(過去に閲覧した商品を入力とし、当該商品に関連する商品を提示する)

今現在の楽天市場トップページを見てみると、楽天スーパーディールの案内が上位に大きく出ていた。ちなみに「あなたにおすすめの商品」に子供浴衣が出ているのは、最近「盆踊りサークル」に入った子どものために浴衣を調べた影響だと思う(1枚目、2枚目は新品を買ってやったけれど、3枚目、4枚目…となるとそうもいかない。 結局、親戚から子供浴衣を譲ってもらうことになりそうだ)


2019年6月13日現在の楽天市場トップページ

コンテンツベースの手法

ユーザが過去に興味をもった商品のコンテンツ(商品タイトル・商品説明文・商品画像などを含む)とよく似たコンテンツの商品を当該ユーザに推薦する手法

商品の特徴量を生成する方法4つ

  1. 商品の属性値(商品カテゴリ・ブランド・サイズ・価格帯など)をあらかじめ抽出し、抽出した商品の属性値を商品の特徴量として扱う方法
  2. 商品コンテンツ中に含まれる単語をもとに、TF-IDFなどの手法を適用して単語に重みを加えたあと、キーワードベクトル空間に射影する方法
  3. 商品コンテンツを1つの文書に見立て、Word2Vec、Doc2VecなどのEmbeddingアルゴリズムを適用し、単語や商品にベクトルを与え、これをもとに商品に特徴量を与える方法
  4. CNNなどの深層学習アルゴリズムを適用することで商品の特徴量を与える方法

メリット

コールドスタート問題に非依存であるため、商品データベースに登録されたばかりの商品を推薦出来ること

デメリット

  • 推薦結果のクオリティが商品コンテンツに大きく依存する
  • 複数ユーザを独立して扱うため、推薦結果の多様性が低くなる

ハイブリッドの手法

 コンテンツベースと協調フィルタリングを組合わせることで、互いの欠点を補う推薦システムを実現できる。

シンプルな実現方法

コンテンツベースの手法と協調フィルタリングの手法を独立して適用し、それらの結果を組合わせる。

組み込む方法(Melvillら, 2002)

  1. ユーザの評価情報を観測済みの既知の部分と未観測の道の部分に分割する
  2. コンテンツ情報を用いて未知の部分の評価情報を予測する
  3. 予測した評価情報を元の評価情報行列に反映させ、新たな評価行列を生成する
  4. 当該評価行列を対象として、協調フィルタリングのアルゴリズムを適用する

評価行列の説明など省略してしまったけれど、今日はここで時間切れ。またそのうち書くと思う。