Chcę dodać funkcję rekomendacji do systemu zarządzania dokumentami . Jest to serwer, na którym przechowywana jest większość dokumentów firmowych. Pracownicy przeglądają interfejs sieciowy i klikają, aby pobrać (lub czytać online) żądane dokumenty.
Każdy pracownik ma dostęp tylko do podzestawu wszystkich dokumentów:
Mój cel : polecić pracownikowi dokumenty ostatnio otwarte przez członków jego zespołu lub arkusz kalkulacyjny, który służy jako załącznik do dokumentu, który właśnie otworzyli, lub cokolwiek, co chcieliby przeczytać.
Istnieje wiele mechanizmów rekomendacji dla publicznie dostępnych danych (wszyscy użytkownicy Netflix mogą zobaczyć wszystkie filmy), ale sytuacja jest tutaj wyjątkowa: każdy pracownik ma uprawnienia tylko do ułamka wszystkich dokumentów, podczas gdy w Netflix każdy użytkownik ma dostęp do wszystkich filmów.
Przykład : Pracownik 1 może odczytać Dokument A, ale nie Dokument B. Pracownik 2 może odczytać oba, a Pracownik 3 nie może odczytać żadnego.
Oczywiście nie wolno mi polecać pracownikom dokumentów, do których nie ma on dostępu. Co więcej, myślę, że powinienem rozważyć popularność dokumentu tylko w kontekście pracowników, którzy mają do niego dostęp. Aby jeszcze bardziej skomplikować sytuację, pracownicy czasami przenoszą się z jednego projektu do drugiego, co wpływa na dokumenty, do których mają dostęp.
- Czy istnieje nazwa tego rodzaju problemu?
- Czy można to zredukować bez utraty precyzji / wydajności do bardziej powszechnego rodzaju problemu?
- Jeśli nie, jakie podejście zadziałałoby dobrze w przypadku tego rodzaju problemu?
Uwaga: silnik rekomendacji podobny do Netflix nie jest wystarczająco dobry. Dokument z 50 widokami powinien być widoczny, jeśli tylko 10 pracowników (w tym ja) ma do niego dostęp, ale nie powinien być widoczny, jeśli 100 000 pracowników ma do niego dostęp.
W razie potrzeby, oto kilka szczegółów dotyczących danych: Przeciętna firma ma 1000 pracowników, około 10000 dokumentów, pracownik klika około 5 dokumentów dziennie. Każdy projekt ma średnio 10 pracowników mających do niego dostęp i zawiera około 100 dokumentów. Każdy pracownik pracuje średnio 5 projektów równolegle.
źródło
Spójrz na Mining of Massive Data Sets str. 328, który ostatecznie doprowadzi cię do SVD, który jest powszechnie stosowany w systemach rekomendujących.
źródło