Voglio aggiungere una funzione di raccomandazione a un sistema di gestione dei documenti . È un server su cui è archiviata la maggior parte dei documenti dell'azienda. I dipendenti navigano nell'interfaccia Web e fanno clic per scaricare (o leggere online) i documenti che desiderano.
Ogni dipendente ha accesso solo a un sottoinsieme di tutti i documenti:
Il mio obiettivo : raccomandare a un dipendente i documenti recentemente aperti dai loro compagni di squadra, o il foglio di calcolo che funge da allegato al documento che hanno appena aperto, o tutto ciò che potrebbero voler leggere.
Esistono molti motori di raccomandazione per i dati disponibili pubblicamente (tutti gli utenti di Netflix possono vedere tutti i film), ma la situazione qui è speciale: ogni dipendente ha il permesso solo per una frazione di tutti i documenti, mentre in Netflix ogni utente ha accesso a tutti i film.
Esempio : Employee1 può leggere DocumentA ma non DocumentB. Employee2 può leggere entrambi e Employee3 non può leggere nessuno.
Certo, non devo raccomandare a un dipendente i documenti a cui non ha accesso. Inoltre, suppongo che dovrei considerare la popolarità di un documento solo nel contesto dei dipendenti che hanno accesso ad esso. Per rendere le cose ancora più complicate, i dipendenti a volte passano da un progetto all'altro, il che incide sui documenti a cui hanno accesso.
- C'è un nome per questo tipo di problema?
- Può essere ridotto senza perdita di precisione / efficienza a un tipo più comune di problema?
- In caso contrario, quale approccio funzionerebbe bene per questo tipo di problema?
Nota: un motore di raccomandazione simile a Netflix non è abbastanza buono. Un documento con 50 visualizzazioni dovrebbe essere importante se solo 10 dipendenti (incluso me) hanno accesso ad esso, ma non prominente se 100000 dipendenti vi abbiano accesso.
Nel caso sia necessario, ecco alcuni dati specifici: la società media ha 1000 dipendenti, circa 10000 documenti, un dipendente fa clic su circa 5 documenti al giorno. Ogni progetto ha in media 10 dipendenti che vi hanno accesso e conta circa 100 documenti. Ogni dipendente lavora su una media di 5 progetti in parallelo.