Question

J'ai une base de données d'articles qui seront indexés par Lucene, classé par l'étiquette des utilisateurs et Mahout.Les articles auront un certain score à balise (l'utilisateur peut être d'accord ou en désaccord avec une étiquette, les balises découvertes par Mahout seront traitées de la même manière que celle de l'utilisateur).

Je veux trouver l'intérêt de l'utilisateur (peut-être intérêt à une certaine balise) de l'historique de profil et d'interaction.

Comment puis-je stocker l'intérêt des utilisateurs?
Et comment puis-je utiliser les intérêts des utilisateurs pour trier ou filtrer au résultat de la recherche?

Mon approche est-elle possible?Réalisable?Évolutif?
Quel type de techniques et d'algorithmes que je peux utiliser?S'il vous plaît suggérer!

Était-ce utile?

La solution

Cela semble principalement comme un problème de recherche, pas un problème de recommandation. Vous triez principalement et filtrant les résultats de recherche, basés sur des balises. En tant que tel, je pense que Lucene est généralement l'outil de déploiement, pas mahout. (Bien que l'utilisation de classificateurs de Mahout pour apprendre les étiquettes est tout à fait juste.)

Si vous voulez vraiment imaginer cela comme un problème de recommandation, je pourrais dire que vos articles sont les tags. Chaque fois que vous interagissez avec une balise, comme Afficher une page étiquetée X, Y et Z, alors cela indique que vous êtes un peu plus intéressé par des "éléments" x, y et z., puis le problème de recommandation ici est de suggérer de nouvelles balises de intérêt.

Vous pouvez essayer d'utiliser un simple nombre d'interactions avec une balise comme une "note" numérique, même si je pense que cela ne donnera pas d'excellents résultats dans un contexte recommandé. L'utilisation du journal du nombre est meilleure, mais on se sent toujours faux. Vous pouvez ignorer le nombre d'interactions et utiliser simplement le fait que l'utilisateur et l'étiquette ont jamais été interagi, ou non - «Préférences booléennes».

Le modèle d'algorithme de recommandation qui correspond le mieux à cette entrée, que je connaisse, est le modèle alternatif des moindres carrés que vous voyez dans ParallelalsFactorizationJOB. Je ne sais pas si cela vous convient, mais c'est l'algorithme que j'éjoutais si vous avez le temps et l'inclination. Son entrée ressemble davantage à une «résistance d'interaction» et non à une note, et cela traite de cette façon, et c'est ce que vous avez ici.

Autres conseils

Beaucoup de fois, il est plus facile de simplement rendre l'utilisateur explicitement dire quelles tags ils sont intéressés. C'est ce que le débordement de la pile fait, par exemple.Vous pouvez augmenter le score par une certaine quantité si la balise est celle qui s'intéresse.

Si vous voulez faire quelque chose de plus implicite, Mahout a un FAQ sur recommandation.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top