0

J'ai un problème de recommandation très spécifique. Supposons que j'aie 3 types de valeurs/entités: item, propriété, valeur. Il y a N éléments, A propriétés et B valeurs. Chaque élément a un certain nombre de paires propriété-valeur. Exemple:Quel modèle ou quelle approche utiliser pour ce type de recommandation «imbriquée»?

Item # 1
2374-23783
8455-5783
744-2438

Item # 2
5435-23783
8455-54654
544-9778

...

Maintenant, étant donné un élément "anonyme", disons, Ite m # x avec 3-4 paires de valeurs de propriété exemple comme ci-dessus, je veux obtenir des recommandations pour une propriété spécifique. Exemple:

Item # x
5435-23783
544-9778
744-2438

8455- ?? (Obtenir des recommandations)

Maintenant, intuition - la valeur recommandée pour la propriété 8455 dans le numéro d'article x peut être 54654. Vous verrez que les propriétés 5435 et 744 ont les mêmes valeurs dans l'article n ° 2 que dans l'article n ° x. Par conséquent, il est plus probable que la valeur de 8455 sera semblable à celle de 8455 dans l'article 2.

Question:

  1. Quel genre de modèle pensez-vous serait le mieux pour ce problème? Quelle approche devrais-je utiliser? Filtrage collaboratif - mais comment? Le simple fait de déverser toutes les paires propriété-valeur dans l'ensemble de données et d'aller chercher des recommandations ne satisferait évidemment pas mes besoins.

  2. Pouvez-vous également ajouter des détails spécifiques à l'implémentation? Cornac? Myrrix? Des bibliothèques d'apprentissage automatique/de recommandation?

+0

J'aimerais beaucoup plus de réponses à ce sujet, même si j'en ai déjà accepté une. Plus d'opinions d'experts, mieux c'est. – Nilesh

Répondre

0

Il ne semble pas que vous ayez besoin d'apprentissage automatique, juste de récupération. Le moyen le plus simple est de créer un vecteur de caractéristiques où chaque dimension est une propriété.

vecteur position et la propriété:

Position #0, property 2374 
Position #1, property 8455 
Position #2, property 744 
Position #3, property 5435 
Position #4, property 544 

Pour chaque élément de remplissage des valeurs de vecteur.

Item #1 is represented as [23783, 5783, 2438,  ?, ?] 
Item #2 is represented as [ ?, 54654, ?, 23783, 9778] 
Item #x is represented as [ ?,  ?, 2438, 23783, 9778] 

n ° x point a des valeurs les plus courantes avec l'article n ° 2 dont la position # 1 est 54654. Fondamentalement, vous trouver la meilleure intersection avec un élément qui a la valeur de position qui vous intéresse. Il devient plus intéressant si vous voulez des valeurs pour plusieurs propriétés qui ne peuvent être suggérées que par plusieurs éléments, mais vous n'avez pas parlé de la nature des données.

+0

Merci beaucoup! C'est plus clair. Oui, je vais devoir suggérer des valeurs pour plusieurs propriétés. Supposons que ce soit un ensemble de données avec des éléments "ville", c.-à-d. articles peuvent être New York, New Delhi, Londres bla bla. Il peut y avoir beaucoup d'attributs/propriétés pour une ville comme le pays, le continent, l'état, la population etc. Est-ce que vous ajouteriez quelque chose, considérant que je devrais prévoir plusieurs propriétés? – Nilesh

+0

Si vous avez une bonne compréhension des données, vous pourriez essayer d'étudier une technologie comme le raisonnement par cas où vous pouvez insérer des heuristiques dans la métrique de similarité. – dan

0

Toute approche d'apprentissage automatique fera l'affaire. Vous pouvez, par exemple, utiliser les réseaux bayésiens comme il est naturel pour ces occurrences condition-propriété-valeur conditionnelles.

Il n'est pas réaliste d'ajouter des détails spécifiques à l'implémentation sans connaître vos préoccupations. Qu'est-ce qui vous importe le plus? Performance, précision ou évolutivité?

+0

Les performances et l'évolutivité seraient ma principale préoccupation en ce moment. Merci pour l'indice ... Je vais essayer de chercher des réseaux bayésiens et comment ils peuvent être appliqués à quelque chose comme ça. – Nilesh

+0

Je ne suis pas vraiment au courant des réseaux bayésiens, et je viens d'entrer dans le monde de l'apprentissage automatique. Restez avec moi. La plupart des articles sur les réseaux bayésiens se concentrent sur ces lignes - recommandant des éléments aux utilisateurs en fonction de l'interaction passée entre eux, et l'histoire des goûts de l'utilisateur. Je n'arrive pas à comprendre comment je peux l'adapter à mon cas d'utilisation. Pensées? – Nilesh

Questions connexes