Desejo adicionar um recurso de recomendação a um sistema de gerenciamento de documentos . É um servidor no qual a maioria dos documentos da empresa está armazenada. Os funcionários navegam na interface da Web e clicam para baixar (ou ler on-line) os documentos que desejam.
Cada funcionário tem acesso apenas a um subconjunto de todos os documentos:
Meu objetivo : recomendar a um funcionário os documentos abertos recentemente por seus colegas de equipe ou a planilha que serve como um anexo ao documento que eles acabaram de abrir ou qualquer coisa que eles possam querer ler.
Existem muitos mecanismos de recomendação para dados publicamente disponíveis (todos os usuários do Netflix podem ver todos os filmes), mas a situação aqui é especial: cada funcionário só tem permissão para uma fração de todos os documentos, enquanto no Netflix qualquer usuário tem acesso a todos os filmes.
Exemplo : Employee1 pode ler DocumentA, mas não DocumentB. Employee2 pode ler os dois e Employee3 não pode ler nenhum.
Obviamente, não devo recomendar a um funcionário documentos aos quais ele / ela não tem acesso. Além disso, acho que devo considerar a popularidade de um documento apenas no contexto dos funcionários que têm acesso a ele. Para tornar as coisas ainda mais complicadas, os funcionários às vezes passam de um projeto para outro, o que afeta os documentos aos quais eles têm acesso.
- Existe um nome para esse tipo de problema?
- Pode ser reduzido sem perda de precisão / eficiência a um tipo de problema mais comum?
- Caso contrário, qual abordagem funcionaria bem para esse tipo de problema?
Nota: Um mecanismo de recomendação semelhante ao Netflix não é bom o suficiente. Um documento com 50 visualizações deve ser destacado se apenas 10 funcionários (inclusive eu) tiverem acesso a ele, mas não será destacado se 100.000 funcionários tiverem acesso a ele.
Caso seja necessário, aqui estão algumas informações específicas: A empresa média possui 1000 funcionários, cerca de 10.000 documentos, um funcionário clica em cerca de 5 documentos por dia. Cada projeto tem uma média de 10 funcionários tendo acesso a ele e possui cerca de 100 documentos. Cada funcionário trabalha em média 5 projetos em paralelo.
fonte
Dê uma olhada no Mining of Massive Data Sets, pág. 328, que eventualmente o levará ao SVD que é comumente usado em sistemas de recomendação.
fonte