Comment une personne utilise-t-elle l’apprentissage automatique pour apparier automatiquement les produits dans une base de données contenant des milliers de sites Web vendant les mêmes produits?

Notre société a rencontré exactement ce problème il n’y a pas longtemps. Nous avons eu affaire à un agrégateur de plusieurs milliers de marchés Internet russes qui nous ont servi de données “de vérité au sol” générées par l’homme. Nous avons décidé de traiter ce problème de manière non supervisée: traiter les éléments uniques comme de petites communautés non hiérarchiques dans un graphique, où les nœuds sont des URL de produit et les arêtes sont des affinités entre eux. Aucune autre donnée, à l’exception du nombre total de visites aux URL et de visites communes pour chaque paire d’URL, n’a été utilisée.

La particularité de cette tâche est que le nombre de clusters doit être du même ordre de grandeur que le nombre d’observations (en règle générale, un élément est présent sur moins de 100 marchés Internet). Ce fait exclut les algorithmes dont la complexité dépend du nombre de clusters. En fin de compte, nous avons utilisé le paquetage python nommé graph-tool (il est basé sur le langage C et implémente assez rapidement des algorithmes de clustering de pointe), mais ne l’a pas encore essayé avec très grands ensembles de données.

Aux fins de l’évaluation, je peux suggérer l’équivalent approximatif de la courbe ROC. Vous pouvez considérer chaque paire d’URL comme une observation et vérifier si elles sont placées dans le même cluster à l’aide de l’algorithme et de la “vérité sur le terrain”. Cela peut vous donner le nombre total de vrais / faux positifs, ainsi que le nombre total d’exemples positifs / négatifs dans “vérité au sol”. Ensuite, vous pouvez dessiner une courbe ROC qui ressemble à une courbe ROC ordinaire, sauf que vous vous intéressez principalement à une partie très étroite de celle-ci (le nombre de grappes étant très élevé, les taux de vrais / faux positifs sont donc très faibles).

Le meilleur résultat obtenu jusqu’à présent est un taux de vrai positif de 7% (nombre de paires d’URL correspondant au même élément placé correctement dans une grappe), tandis qu’un taux de faux positif (seulement 0,5%) (nombre de paires d’URL de différents nous avons mal placé dans un cluster). Pas très impressionnant, mais reste une amélioration.

C’est un problème difficile.

Premièrement, à en juger par le son, il s’agit d’un problème d’apprentissage semi-supervisé et non supervisé. (Eh bien, techniquement, ce n’est pas totalement non supervisé, car vous avez une “bonne réponse” à la main sur la question: “ces deux produits sont-ils identiques?”) Il semble que vous essayez de duper un groupe de produits en langage naturel descriptions, avec des photos, non?

Pour être honnête, je me trompe ici car c’est loin de tout ce que j’ai réellement fait. Du point de vue des images, je pense qu’il faudra beaucoup d’efforts (et de données) pour obtenir quelque chose d’utile à partir des images, dont la qualité et l’angle peuvent varier énormément. Vous pouvez vérifier l’égalité des photos (c’est un cadeau mort) et éventuellement utiliser des teintes comme caractéristique avec une certaine validité (mais probablement pas beaucoup). Je suppose que la plupart de vos gains proviendront du traitement en langage naturel.

Les liens vont être un contenu de grande valeur. Si quelque chose a un lien vers seiko.com, alors c’est une bonne idée que c’est un produit Seiko. La partie difficile consiste à identifier les k-grammes identifiant le produit ou pertinents (par exemple, “Airbus A380”) et ceux qui ne le sont pas.

Mon hypothèse est que vous allez finir par faire une classification hiérarchique, avec pour objectif de choisir un niveau de rugosité auquel les entrées correspondant au même produit aboutissent (aussi souvent que possible) dans la même grappe.

ATA Il y a probablement trois choses que vous pouvez espérer utiles pour faire correspondre les produits et qui apparaissent sur tous les sites: un numéro de produit universel, le nom du produit et le prix. La photo est difficile à utiliser, sauf lorsque vous constatez que deux sites utilisent exactement la même photo, ce qui se produit.

J’imagine qu’il est assez facile de trouver le prix, la photo et le code CUP s’il existe sur la page. Extraire le nom complet du produit est plus difficile et son propre sous-problème. Étant donné le domaine relativement limité et une hypothèse décente selon laquelle la page indiquera “[Société] [Produit] [Modèle]” comme “Apple iPhone 6”, cette méthode est assez facile à maîtriser avec certaines méthodes heuristiques. Je pense en fait que c’est la plupart du problème.

À partir de là, je pense que vous pourriez construire une règle de décision déterminant si deux listes correspondent au même produit en fonction de caractéristiques telles que:

  • Avoir exactement la même photo
  • Avoir exactement la même entreprise
  • … Produit
  • … modèle
  • Différence de prix
  • Avoir exactement le même numéro de CUP

Ce dont vous avez besoin est un ensemble d’entraînement. En extrayant ces informations, générez des paires de produits et dites s’ils sont identiques. Pour accélérer le processus, vous pouvez créer une première version de cette règle à la main et la laisser vous aider à identifier plusieurs correspondances dans l’univers beaucoup plus vaste de correspondances non possibles.

Vous pouvez ensuite améliorer la règle en collectant plus de données (des paires, ce n’est pas le même produit), en extrayant plus de fonctionnalités (comme plus de mots-clés) et en améliorant l’extraction de votre entreprise / produit / modèle. Vous disposez également d’un mécanisme fiable pour tester la précision des modifications.

More Interesting

Quel est le processus pour vous inscrire en tant que vendeur sur Amazon et Flipkart? Y a-t-il des frais d'inscription?

J'ai ouvert un site de commerce électronique et je souhaite élargir ma base de produits. Comment puis-je trouver des distributeurs de livres électroniques prêts à travailler avec une nouvelle entreprise comme la mienne?

Quelles mesures puis-je prendre lors de la transition d'une plate-forme de site Web pour minimiser les effets sur le référencement et le trafic?

Quel modèle de vente au détail dominera la catégorie des produits ménagers, Amazon ou Williams Sonoma?

Quels sont les meilleurs détaillants pour fournir des recommandations de produits personnalisées en ligne?

Comment les réseaux d'affiliés veillent-ils à ce que les marchands ne commettent pas de fraudes (c'est-à-dire qu'ils n'installent pas correctement le code, ne tirent pas à bon escient, etc.)?

Quel est le processus habituel d'achat de bijoux par les femmes?

Pourquoi l'autorisation de paiement électronique prend-elle quelques secondes, est-elle effacée et le règlement prend-il de 2 à 3 jours?

Quelle plate-forme convient le mieux aux sites de commerce électronique tels que Yepme, ShopClues et Askme? Combien ça coûte?

Le Core i5 Apple MacBook Air 13 pouces 1.6GHz / 4GB / 128GB / Intel HD 6000 acheté auprès de Online Shopping: Magasinez en ligne pour des mobiles, des livres, des montres, des chaussures, etc., avec la garantie Apple?

Quel est le meilleur moyen d'augmenter les ventes sur Etsy?

Quel est le pourcentage à facturer pour la vente de produits en ligne en Inde?

Comment un logiciel de billetterie de voyage et un commerce électronique de voyages aident-ils les utilisateurs finaux?

Quelle est la meilleure entreprise de conception et de développement de sites Web de commerce électronique à Hyderabad?