Prix attrayants. Un guide pratique de l'approvisionnement maritime
Commençons par le moyen le plus simple - essayons de pêcher avec nos mains. Nous ouvrons une base de données de produits à partir d'achats et commençons à rechercher un produit similaire. Il y a de fortes chances que nous n'attrapions rien le soir.
Essayons en quelque sorte de filtrer la base des produits des achats. Chaque article des achats se voit attribuer un code OKPD2. Le classificateur panrusse des produits par activité économique est un code qui contient des informations sur un produit.
Par exemple:
maintenant nous avons une canne à pêche, elle est devenue un peu meilleure, mais pour une raison quelconque, le poisson ne veut pas être accroché à l'hameçon.
Ne vous fâchez pas, nous utilisons l'appât. Nous devons trouver un moyen d'identifier automatiquement les produits similaires dans un seul OKPD2. Pour ce faire, vous devez présenter la signification sémantique de la description du produit sous la forme d'un tenseur. Pour traiter les informations, vous devez les convertir en un format numérique. Pour ce faire, nous utiliserons un mécanisme spécial de traduction des mots dans l'espace vectoriel Word2Vec, qui traduit un mot en une suite de nombres d'une taille donnée, appelée vecteur ou tenseur. Word2Vec est un modèle spécialement formé pour comprendre la signification sémantique d'un mot. Les produits de la base de données avec le même OKPD2 doivent être convertis en tenseurs. Génial, nous avons maintenant l'un de nos produits tenseurs et un tas d'autres tenseurs produits.
Nous chercherons le produit le plus proche par distance cosinus, plus le produit de la base de données est similaire au nôtre, plus la distance cosinus sera petite. Nous choisissons un produit avec une distance cosinus minimale et ce sera notre poisson désiré.
Analysons la méthode décrite dans la pratique. Commençons par convertir la description du produit en un tenseur. Tout d'abord, la description du produit est symbolisée, c'est-à-dire qu'elle est divisée en mots séparés. Pour transformer les mots en leur sens sémantique, un Word2Vec pré-formé d'une dimension de 100 a été utilisé (c'est-à-dire qu'un mot est représenté par un ensemble de 100 nombres).
Nous avons une panoplie de plongements. Pour calculer la distance cosinus, il est nécessaire de calculer la représentation vectorielle de tout le texte contenant la description du produit. Le moyen le plus simple de mettre en œuvre est de prendre la moyenne entre tous les imbrications de mots de description, tandis que la signification sémantique du produit sera déformée, mais ce n'est pas critique pour résoudre ce problème.
Après avoir traduit notre produit et tous les produits avec le même OKPD en plongements, l'étape suivante consiste à calculer la distance cosinus entre eux.
Comme vous pouvez le voir dans le diagramme ci-dessous, ce qui se rapproche le plus du produit «Big Fish» est les produits «Salmon énorme» et «Zolotaya Rybka».
Ainsi, on peut supposer que le prix d'un gros poisson se situe dans la fourchette entre les prix d'un poisson rouge et d'un énorme saumon. Les résultats suivants ont été obtenus sur des données réelles:
Parfois, cette approche peut ne pas fonctionner correctement. Par exemple, dans la base de données des produits, il n'y aura aucun produit similaire au nôtre. Ensuite, le poisson capturé sera trop petit et le module renverra une plage vide.
La dernière méthode que nous examinerons sera la pêche au filet. Yandex utilisera comme réseau. Une demande est formée à partir de la description du produit et les 20 premières réponses sont sélectionnées pour une analyse plus approfondie. Cela n'a aucun sens de prendre les réponses suivantes, car leur pertinence est discutable. Les textes des 20 premières réponses sont envoyés au chercheur de prix. Le modèle sélectionne les prix à partir des réponses et forme une fourchette de prix à partir d'elles. Beaucoup de poissons différents entrent dans le filet de pêche, donc la fourchette de prix est très bruyante. Pour le filtrage, supprimons les valeurs aberrantes. Si les prix obtenus sont normalement distribués, alors seulement 68 pour cent des prix peuvent être retenus. Autrement dit, laissons les prix qui se situent dans la fourchette entre la différence entre la moyenne de tous les prix et l'écart type, et la somme de la moyenne et de l'écart type. Voici à quoi ressemblent les gammes de prix des produits dans Yandex:
Toutes les méthodes de pêche considérées ont leurs avantages et leurs inconvénients. Le choix de l'option préférable est fait par chaque pêcheur en fonction de ses exigences de précision et de temps. Bonne prise!