0

私はクエリログから推奨システムを構築しています。各クエリログには、ユーザーがクリックしたリンクに関するデータがあります。ユーザーは、訪問したリンクの評価を提供しません。 "これをクリックした場合は、もう1人の同様のユーザーが試したものを試してください"という推奨システムを作成しようとしています。私はApache Spark-MLLibを使って、この目的のために協調フィルタリングを使用しています。残念ながら、ALSアルゴリズムは「評価」データを取る。ここでMLlib項目に基づく評価なしのコラボレーティブフィルタリング

私はオンラインだソリューションの1つです:

「各ページについて我々が提言をしたい、私たちはそのページを見ているすべてのユーザーを検索し、それらのユーザーごとに、私たちは見上げます。これらのデータセットの各ページを閲覧したユーザーの数を数え、その数が最も多いユーザーを推奨事項として使用します」。

この方法が遅いことをユーザーは示唆しています。

ランキングデータを「偽造する」方法があるのか​​、ランキングデータを必要としない一般的なオープンソースの実装があるのだろうかと思っていましたか?

+0

暗黙的なフィードバックの場合も、評価がカウントになる可能性があります。 Ex(user1、url1、1/0)、1/0がクリックされたかどうか。 –

+0

あなたの答えをありがとう。私はそれについて考えを与えた。私が持っているデータは、ユーザーがクリックしたURLだけです。そのようにして、私はすべて1を私のマトリックスに入れます。 また、残りのすべての文書(数が非常に多い文書)に0を入れると、非常に疎な行列になります。 – Omkar12353

答えて

1

暗黙のフィードバックの場合も同様に評価がカウントされます。 Ex(user1、url1、1/0)、1/0がクリックされたかどうか。

今、別の質問をしていますが、疎な行列と密行列の違いがあります。 0を追加する必要はありません。評価のアイデアは、クリックしたもの(たとえば、u1、url1,1)を持っていて、これがユーザー1がそれをクリックした唯一のURLであれば、彼がまだクリックしていない人のためにセロを追加する必要はありません。モデルは、これが使用されている入力データフォーマットであることを認識しています。

私はそれが役に立ちそうです。

関連する問題