Je veux ajouter une fonction de recommandation à un système de gestion de documents . Il s'agit d'un serveur sur lequel la plupart des documents de l'entreprise sont stockés. Les employés parcourent l'interface Web et cliquent pour télécharger (ou lire en ligne) les documents qu'ils souhaitent.
Chaque employé n'a accès qu'à un sous-ensemble de tous les documents:
Mon objectif : recommander à un employé les documents récemment ouverts par ses coéquipiers, ou la feuille de calcul qui sert d'annexe au document qu'il vient d'ouvrir, ou tout ce qu'il souhaite lire.
Il existe de nombreux moteurs de recommandation pour les données accessibles au public (tous les utilisateurs de Netflix peuvent voir tous les films), mais la situation est particulière: chaque employé n'a l'autorisation que pour une fraction de tous les documents, tandis que dans Netflix, tout utilisateur a accès à tous les films.
Exemple : Employee1 peut lire DocumentA mais pas DocumentB. L'employé2 peut lire les deux et l'employé3 ne peut en lire aucun.
Bien entendu, je ne dois pas recommander à un employé des documents auxquels il n'a pas accès. De plus, je suppose que je ne devrais considérer la popularité d'un document que dans le contexte des employés qui y ont accès. Pour compliquer encore les choses, les employés passent parfois d'un projet à un autre, ce qui impacte les documents auxquels ils ont accès.
- Y a-t-il un nom pour ce genre de problème?
- Peut-il être réduit sans perte de précision / efficacité à un type de problème plus courant?
- Sinon, quelle approche fonctionnerait bien pour ce genre de problème?
Remarque: Un moteur de recommandation de type Netflix n'est pas suffisant. Un document avec 50 vues devrait être visible si seulement 10 employés (y compris moi) y ont accès, mais pas visible si 100 000 employés y ont accès.
Au cas où cela serait nécessaire, voici quelques données spécifiques: L'entreprise moyenne compte 1000 employés, environ 10000 documents, un employé clique sur environ 5 documents par jour. Chaque projet compte en moyenne 10 employés y ayant accès et compte environ 100 documents. Chaque collaborateur travaille en moyenne sur 5 projets en parallèle.