3

ユーザーの類似性に基づいたブール型の好みのレコメンダーがあります。私のデータセットには基本的に、ユーザーが読むことにした記事が ItemId である関係が含まれています。ItemId が特定のトピックへのサブスクリプションである場所を含む 2 番目のデータ モデルを追加したいと思います。

私が想像できる唯一の方法は、記事 ID と衝突しないようにサブスクリプション ID をオフセットして、2 つをマージすることです。重み付けについては、ブール型のプリファレンス セットアップを削除し、プリファレンス スコアを導入することを検討しました。たとえば、記事のサブセットのプリファレンス スコアは 1 で、購読のサブセットのプリファレンス スコアは 2 です。

ただし、これが機能するかどうかはわかりません。好みのスコアは、私が求めている種類の重み付けと完全に類似しているわけではないためです。おそらく、不満を表す低いスコアの概念が含まれています。

これを行うためのより良い方法があるか、少なくとも私の計画に微調整があり、私が望む方向に沿って機能するようになると想像する必要があります.

4

1 に答える 1

4

あなたはそれを正しい方法で考えていると思います。はい、サブスクリプションと記事の意味が多少異なるため、単純な存在/存在しないよりももう少し表現力が必要です。相対頻度を反映する重みを選択することをお勧めします。たとえば、ユーザーが常に 10 万件の記事を読んでいて、10000 回の購読を行っている場合、購読の重みを「10」に、読み取りの重みを「1」に選ぶことができます。

いくつかの理由から、これらの値を好みのスコアとして扱う場合、これはうまく機能しません。それらを線形の重みであると同様に扱うアプローチを使用すると、よりうまく機能します。

このタイプの入力用に特別に設計された ALS-WR アルゴリズムを紹介します。例:暗黙的なフィードバック データセットの協調フィルタリング

ParallelALSFactorizationJobこれはHadoopと同様に Mahout に実装されます。Hadoop が必要ですが、問題なく動作します。(レコメンデーション コードのほとんどは Mahout で作成しましたが、そのことを信用することはできません。)

広告: 私はMyrrixとして、Mahout での作業から進化した「次世代」システムの商品化に取り組んでいます。これは ALS-WR の実装であり、ユーザーの入力に最適です。ダウンロードして実行するのは非常に簡単で、Hadoop は必要ありません。

それがあなたの問題に直接適している可能性があることを考えると、ここに差し込んでもかまいません。

于 2013-03-29T16:28:49.020 に答える