Ich möchte einem Dokumentenverwaltungssystem eine Empfehlungsfunktion hinzufügen . Es ist ein Server, auf dem die meisten Unternehmensdokumente gespeichert sind. Die Mitarbeiter durchsuchen die Weboberfläche und klicken, um die gewünschten Dokumente herunterzuladen (oder online zu lesen).
Jeder Mitarbeiter hat nur Zugriff auf eine Teilmenge aller Dokumente:
Mein Ziel : Empfehlen Sie einem Mitarbeiter die Dokumente, die kürzlich von seinen Teamkollegen geöffnet wurden, oder die Tabelle, die als Anhang zu dem gerade geöffneten Dokument dient, oder alles, was er lesen möchte.
Es gibt viele Empfehlungs-Engines für öffentlich verfügbare Daten (alle Netflix-Benutzer können alle Filme sehen), aber die Situation hier ist besonders: Jeder Mitarbeiter hat nur die Berechtigung für einen Bruchteil aller Dokumente, während in Netflix jeder Benutzer Zugriff auf alle Filme hat.
Beispiel : Mitarbeiter1 kann DocumentA lesen, nicht jedoch DocumentB. Mitarbeiter2 kann beide lesen und Mitarbeiter3 kann keine lesen.
Natürlich darf ich einem Mitarbeiter keine Dokumente empfehlen, auf die er keinen Zugriff hat. Darüber hinaus sollte ich die Popularität eines Dokuments wohl nur im Kontext der Mitarbeiter berücksichtigen, die Zugriff darauf haben. Um die Sache noch komplizierter zu machen, wechseln Mitarbeiter manchmal von einem Projekt zu einem anderen, was sich auf die Dokumente auswirkt, auf die sie Zugriff haben.
- Gibt es einen Namen für diese Art von Problem?
- Kann es ohne Präzisions- / Effizienzverlust auf ein häufigeres Problem reduziert werden?
- Wenn nicht, welcher Ansatz würde für diese Art von Problem gut funktionieren?
Hinweis: Eine Netflix-ähnliche Empfehlungs-Engine ist nicht gut genug. Ein Dokument mit 50 Ansichten sollte prominent sein, wenn nur 10 Mitarbeiter (einschließlich mir) Zugriff darauf haben, aber nicht prominent, wenn 100000 Mitarbeiter Zugriff darauf haben.
Falls erforderlich, hier einige Datenspezifikationen: Das durchschnittliche Unternehmen hat 1000 Mitarbeiter, ungefähr 10000 Dokumente, ein Mitarbeiter klickt ungefähr 5 Dokumente pro Tag. Jedes Projekt hat durchschnittlich 10 Mitarbeiter, die Zugriff darauf haben, und verfügt über etwa 100 Dokumente. Jeder Mitarbeiter arbeitet durchschnittlich 5 Projekte parallel.