ユーザーがすべてのアイテムの一部しか表示できない状況での推奨エンジンは何ですか?


9

ドキュメント管理システムにレコメンデーション機能を追加したい。ほとんどの会社のドキュメントが保存されているサーバーです。従業員はWebインターフェイスを閲覧し、必要なドキュメントをクリックしてダウンロード(またはオンラインで読む)します。
各従業員は、すべてのドキュメントのサブセットにのみアクセスできます。

従業員はすべてのドキュメントのサブセットにのみアクセスできます

私の目標:チームメイトが最近開いたドキュメント、または開いたばかりのドキュメント、または読みたいものの付属文書として機能するスプレッドシートを従業員にお勧めします。

公開データには多くの推奨エンジンがあります(すべてのNetflixユーザーはすべての映画を見ることができます)が、ここでの状況は特別です:各従業員はすべてのドキュメントの一部のみにアクセス許可を持っていますが、Netflixではすべてのユーザーがすべての映画にアクセスできます。

:Employee1はDocumentAを読み取ることができますが、DocumentBを読み取ることはできません。Employee2は両方を読み取ることができ、Employee3はいずれも読み取ることができません。

もちろん、私は彼女/彼女がアクセスできない文書を従業員に推薦してはなりません。さらに、ドキュメントへのアクセス権を持つ従業員のコンテキストでのみ、ドキュメントの人気を検討する必要があると思います。状況をさらに複雑にするために、従業員はプロジェクトから別のプロジェクトに移動する場合があり、アクセスできるドキュメントに影響を与えます。

  • この種の問題に名前はありますか?
  • 精度/効率を損なうことなく、より一般的な種類の問題に削減できますか?
  • そうでない場合、どのようなアプローチがこの種の問題に適していますか?

注:Netflixのような推奨エンジンでは十分ではありません。50のビューを持つドキュメントは、10人の従業員(私を含む)だけがアクセスできる場合は目立つはずですが、10万人の従業員がアクセスできる場合は目立ちません。

必要に応じて、いくつかのデータの詳細を以下に示します。平均的な会社には1000人の従業員がいて、約10000のドキュメントがあり、従業員は1日あたり約5つのドキュメントをクリックします。各プロジェクトには、平均して10人の従業員がアクセスし、約100のドキュメントがあります。各従業員は、平均5つのプロジェクトに並行して取り組んでいます。

回答:


1

2つのことを別々に扱う必要があると思います。

まず、システム内のユーザーのアクセス制御が必要です。各ユーザーとファイルにアクセストークンをアタッチできます。処理する前に、ファイルデータベースをフィルタリングします。

第二に、私が提案するドキュメントのランク付けは、現在の閲覧ユーザーに相対的なドキュメントの重みとユーザーの重みにある程度の重みを持っています。

たとえば、ドキュメントの重みとユーザーの重みは次のように考えることができますが、システムによってははるかに複雑になる可能性があります-

DocumentWeight = Number of Views/ Number of Users can Access
UserWeight = ## Relative to browsing user- Users in similar project will have higher weights

DocumentScore = Sum over all viewed users{DocumentWeight x UserWeight}

ドキュメントをランク付けできます。これにより、必要なドキュメントが統計的に表示されます。これが何らかの助けとなることを願っています。


0

あなたの説明から、協調フィルタリングと呼ばれる方法に目を向けることをお勧めします。基本的に、ドキュメントの表示/ダウンロードをいくつかのアイテムに対する肯定的なフィードバックとして扱い、類似のドキュメントを調べているユーザーにそのようなアイテムを推奨できます。

非表示の結果のフィルタリングは、ユーザーごとに行う必要があります(可能な提案はすべて見つかりますが、ユーザーが表示権限を持つことができる候補のみを出力します)。


私はそのような一般的な方法では不十分だと思います。50のビューを持つドキュメントは、10人の従業員(私を含む)だけがアクセスできる場合は目立つはずですが、10万人の従業員がアクセスできる場合は目立ちません。
Nicolas Raoul 2016年

その方法ではなく、大まかな考え方を説明しました。協調フィルタリングはより複雑であり、私が提供したリンクは適切なエントリポイントですが、さまざまな実装やアプローチを検索して、特定のデータ仕様に最も適したものを見つけることができます。
チューパカブラ2016年

質問では、データの詳細を十分に明確に説明しましたか?そうでない場合は、特定のアプローチを推奨する前に、必要な情報を自由に尋ねてください。どうもありがとう:-)
Nicolas Raoul

私が混乱しているのは、10000のビューを持つドキュメントが推奨として表示する価値がない理由が明確ではなく、50のビューを持つドキュメントはOKであるということです。100は?または51?視聴者の特定の割合があり、視聴回数が無意味になる場合は、そのようなケースをトレーニングセットから除外しても、協調的なアプローチを続けることができます。そうでない場合は、分類またはクラスター化の問題がある可能性があります。これは、より広いトピックです。
チューパカブラ2016年

10000の数字はどこから来たのですか?100000を意味する場合、私は十分に明確ではありませんでした。「アクセスできる」は「閲覧した」という意味ではなく、「必要に応じてアクセスする権限がある」という意味です。つまり、最初のドキュメントは、それを表示する権限を持つ各ユーザーによって平均10回表示されましたが、2番目のドキュメントは、表示する権限を持つ各ユーザーによって平均0.0005回しか表示されていません。
Nicolas Raoul 2016年

0

見てみましょう膨大なデータのマイニングして設定します頁を。結局一般推薦システムで使用されているSVDにあなたを導くでしょう328。


あなたが言及するページは、次元削減に関するさまざまな一般性を紹介しています。上記の質問に当てはまることを要約していただけませんか。どうもありがとう!
Nicolas Raoul

はい; SVDを推奨に使用する方法を示しています
Drey
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.