Conférencier | Transcription |
| Kira Alhorn | D'accord, alors bienvenue à mon exposé, Une promenade à travers l'explorateur de texte pour comprendre les besoins des clients. Je suis très heureux de |
| présent à ce est JMP Discovery Summit en format virtuel. Je m'appelle Kira Alhorn et je suis statisticienne chez WL Gore and Associates. |
| Et, avant de commencer par la présentation elle-même, je voudrais rapidement vous présenter notre entreprise. WL Gore and Associates est une société mondiale de science des matériaux, nous produisons |
| des solutions très différentes pour des industries très différentes, de l'aérospatiale aux produits médicaux et à ce que la plupart d'entre vous connaissent peut-être |
| est notre marque Gore-tex. C'est donc ce sur quoi nous allons nous concentrer aujourd'hui et la marque Gore-tex produit des stratifiés de tissus durables imperméables et respirants. |
| Et ces stratifiés sont vendus à nos clients ou à nos partenaires de marque qui en fabriquent des produits. Plus précisément, nous nous concentrerons aujourd'hui sur les chaussures. |
| Voici donc un bref aperçu de mon discours. Je vais commencer par le contexte et la motivation. Donc que regardons-nous? Nous examinons les descriptions de chaussures et pourquoi cela nous intéresse. |
| Ensuite, le reste de la conférence se fera dans JMP. J'utiliserai JMP 15 Pro, et je vous montrerai comment utiliser l'explorateur de texte |
| pour analyser nos descriptions de chaussures. Comment trouver des sujets dans ces textes ou dans les descriptions de chaussures, afin que ces sujets puissent être utilisés pour trouver des descriptions de chaussures communes ou des sujets communs dans les descriptions de chaussures et les comparer aux différentes catégories de chaussures que nous avons. |
| Et enfin, ce ne sera qu'une très brève introduction, nous utilisons des modèles prédictifs pour valider nos résultats et pour en savoir plus ... cela permettra de mieux comprendre comment les différentes descriptions de chaussures classent les chaussures. |
| Alors imaginez votre propre armoire et les chaussures que vous avez dans votre armoire |
| Et chacun de vous aura au moins une petite ou une assez grande collection de chaussures différentes dans son armoire, et la question est, pourquoi avez-vous autant de chaussures? |
| Et que vos chaussures doivent correspondre à votre style et que vous avez peut-être besoin de couleurs différentes, etc., ce n'est pas la seule raison pour laquelle vous avez des chaussures différentes. |
| L'autre raison est que vous avez besoin de chaussures différentes. Alors imaginez, vous avez une paire de chaussures de course, vous avez plusieurs paires de chaussures pour un usage occasionnel et vous pourriez avoir des chaussures de randonnée. |
| Et vous en avez parce que chacune des chaussures a des caractéristiques différentes ou légèrement différentes qui rendent cette chaussure utilisable pour cette utilisation finale et vous avez besoin de ces fonctionnalités pour cette utilisation finale. |
| Donc, ce que nous nous demandions, c'est que si nous examinons les descriptions de chaussures de nos marques partenaires, pouvons-nous trouver ce qui rend les différentes chaussures uniques? Vous verrez donc ici une collection |
| de différentes catégories de chaussures qui nous correspondent maintenant pour différentes utilisations finales de chaussures. |
| Et la question est maintenant, si un client souhaite produire une nouvelle chaussure de randonnée, par exemple, quelle configuration de fonctionnalité devrions-nous offrir dans notre stratifié que nous vendons pour une chaussure destinée à être utilisée pour la randonnée? |
| Alors, ces descriptions de chaussures peuvent-elles nous donner un prototype que nous pourrions offrir à nos clients? |
| Et, bien sûr, quel est un autre aspect intéressant ici, comment les autres chaussures se différencient-elles? Alors, quelle est la différence entre cette chaussure de randonnée et la chaussure de ville? pourquoi avons-nous besoin de ces différences? |
| Et c'était notre intention lorsque nous avons commencé à analyser les données. |
| Alors avec ça, j'aimerais aller à JMP. |
| Et dans JMP, je veux d'abord vous montrer à quoi ressemblent les données que nous avons collectées. |
| Nous avons donc simplement visité les pages Web de nos marques partenaires et nous avons collecté des descriptions de chaussures à partir de ces packages. |
| Pour chaque catégorie de chaussures, nous avons un certain nombre de descriptions de chaussures et vous verrez, nous avons simplement copié la description complète dans notre tableau de données. |
| Donc, cela peut être assez long, cela peut être plutôt court, mais nous n'avons pas fait plus que simplement copier. |
| Mais d'un autre côté, vous pouvez imaginer, avec ce champ de texte, nous ne pouvons pas faire grand-chose. |
| Ou du moins semble que nous ne pouvons pas, parce que JMP offre de grandes possibilités pour faire quelque chose. Et que signifie faire? Nous voulons extraire des informations de ce long texte et en faire des morceaux plus digestes. |
| Et ces morceaux digestibles |
| peuvent être extraits à l'aide de l'explorateur de texte. Je veux donc aller dans l'explorateur de texte et mettre la description de la chaussure dans les colonnes de texte ici. |
| Et voici de nombreuses options. Ces options alimentent les algorithmes qui coupent nos descriptions de chaussures ou nous appelons les documents de description dans le langage d'analyse de texte. |
| Et c'est couper les documents en plus petits morceaux d'information, comme je l'ai mentionné, ces morceaux digestibles. |
| Et ce que vous verrez, ce sont des morceaux digestibles, à savoir, nous avons ces termes, qui sont la plus petite unité d'information, et nous avons ces expressions qui sont des termes qui se produisent souvent ensemble et qui pourraient avoir un sens si vous les combinez. |
| Vous pouvez donc voir ici le terme le plus couramment utilisé |
| dans tous les documents, donc dans toutes les descriptions de chaussures, se trouve le terme confort. |
| Donc, tout d'abord, nous avons parcouru toutes les phrases ici et avons jeté un coup d'œil. Y en a-t-il qui ont du sens? |
| Et le premier a déjà du sens. Donc, vous voyez ici dans les termes Gore et tex apparaître comme des termes simples, mais bien sûr, il est logique que le terme Gore-tex soit analysé et non Gore et tex. |
| Vous pouvez donc ajouter toutes les phrases qui ont du sens à la liste des termes. Nous ajoutons donc la phrase, et vous verrez ici maintenant, nous avons le terme Gore-tex au lieu du seul terme Gore. |
| C'était donc la première étape de notre traitement des données. La deuxième étape consistait à vérifier la liste des termes s'il y avait des doublons ou |
| s'il y a des termes qui n'ont pas de sens. Et JMP a déjà un très bon traitement, car JMP exclut déjà beaucoup de mots qui n'ont pas de sens, tels que et, a, |
| ou, qui ne vous donnent aucune information. Cependant, il y aura toujours des termes qui n'ont pas de sens, comme ce S, par exemple. |
| Que feriez-vous avec un S? Qu'est-ce que cela vous dit sur une chaussure? Nous avons donc dû parcourir tous les termes, et s'il y a un terme qui n'a pas de sens, nous l'appelons un mot d'arrêt, et nous le modifions dans la liste des mots vides pour les exclure de l'analyse. |
| C'était la seule chose. L'autre chose que j'ai mentionnée était, nous devons vérifier s'il y a des doublons et vous verrez ici, par exemple, nous avons le terme Gore tex |
| et le terme GTX. Et GTX n'est qu'une abréviation du terme Gore-tex, nous ne devons donc pas les analyser tous les deux séparément, nous devons les combiner. |
| Vous avez donc la fonction Recode, qui est à peu près la même que pour les colonnes, et c'est un excellent outil pour combiner ces |
| ??? Les données. Vous voyez donc ici la fonction Recode, et je les regroupe tous les deux. |
| Et vous verrez maintenant qu'il ne s'agit plus que d'un seul terme (Gore-tex), et c'est en fait le terme le plus fréquent dans nos données. |
| Alors. |
| Nous avons commencé avec 4 000 termes et ce avec quoi nous nous sommes retrouvés après tout le nettoyage n'était que de 100 termes. Donc, vous voyez, il nous reste 100 termes et avec ceux-ci, nous pouvons faire beaucoup d'analyses. Celles-ci nous sont très utiles pour avoir une idée de ce qu'est une description de chaussure. |
| Vous pouvez donc utiliser cette liste pour voir quels sont les termes les plus fréquents, mais JMP propose également un outil de visualisation très simple. |
| En cliquant sur le triangle rouge, vous pouvez ajouter un nuage de mots. Et ce nuage de mots vous donne, par la taille du mot, sa fréquence dans tous les documents, donc dans toutes les descriptions de chaussures. Donc, Gore-tex, confort et légèreté sont les termes les plus couramment utilisés dans les descriptions de chaussures que nous avons rassemblées. |
| Mais vous vous souvenez peut-être que ce n'est pas exactement ce à quoi nous nous demandions, n'est-ce pas? Nous nous demandions donc ce que sont les chaussures pour les différents utilisateurs finaux? |
| Et pour cela, nous pouvons facilement ajouter le filtre de données local ici, et utiliser l'utilisation finale de la chaussure comme filtre. Je pourrais donc être, par exemple, intéressé par les termes les plus fréquents dans toutes les descriptions de chaussures d'hiver de rue. |
| Et vous ne verrez pas étonnant, les termes hiver et chaud apparaissent fréquemment dans les descriptions de chaussures d'hiver de rue. |
| D'un autre côté, en prenant, par exemple, les chaussures de course sur sentier, vous voyez une emphase différente ici. Vous verrez que ceux-ci n'ont pas besoin d'être chauds, mais ils doivent être respirants, légers et bien ajustés. |
| Donc, ces nuages de mots sont très, très bons pour avoir une première prise sur notre question initiale, alors qu'est-ce qui décrit la configuration des fonctionnalités des différents types de chaussures? |
| Et nous ne nous sommes pas arrêtés là-dessus. Nous voulions aller plus loin. |
| Un pas plus loin, c'est, si vous avez déjà préparé toutes vos données, pouvez-vous en quelque sorte faire de la modélisation pour trouver ce prototype de configurations de chaussures? Et pour cette modélisation, il existe différentes options dans JMP et nous avons décidé de prendre le SVD. |
| SVD effectue une analyse en composantes principales de notre matrice de termes de document. |
| Et qu'est ce que ca veut dire? Les matrices de termes de document comprennent pour chaque document, donc, pour chaque description de chaussure, |
| la fréquence de chaque trimestre. Donc, cela compterait, par exemple, pour la première description de chaussure, à quelle fréquence avons-nous le terme Gore-tex, à quelle fréquence avons-nous le terme confort, etc. Vous pouvez donc imaginer que c'est une matrice très énorme. |
| Et l'idée est maintenant, grâce à l'analyse en composantes principales, qui réduit la dimension de la matrice des termes du document, d'avoir une meilleure prise en main de vos données. |
| Et, pour être plus en mesure de visualiser les données. |
| Et sur la base de cette réduction des dimensions, nous pouvons maintenant faire de la modélisation. Et quel type de modélisation nous intéresse? Nous nous sommes donc intéressés à ce qui décrit une chaussure pour une certaine utilisation finale. |
| Et pour arriver à ce point, nous avons analysé, y a-t-il des sujets dans les descriptions de chaussures? Et s'il y a des thèmes, ces thèmes correspondent-ils à certaines utilisations finales? |
| Ainsi, dans un monde idéal, nous trouverions neuf sujets dans nos données et ces neuf sujets représenteraient exactement une catégorie de chaussures. Nous aurions donc une configuration de chaussure prototype ou une configuration de fonctionnalité pour chaque chaussure. |
| Voyons donc ce qui se passe si je ... vous recherchez neuf sujets. Je vais cliquer ici sur l'analyse du sujet et entrer un 9, car je suis intéressé par neuf catégories de chaussures différentes. |
| Et ce que j'obtiens alors, c'est une liste de sujets avec quels termes se produisent fréquemment dans ces sujets. Ainsi, le premier sujet, par exemple, comprend les chaussures |
| qui ont dans leurs descriptions de chaussures les termes superfit, textile, chaud, etc. Donc, mon premier instinct ici serait que ce soit des chaussures d'hiver de rue ou de rue. |
| Le sujet deux, par exemple, consiste en des descriptions de chaussures qui incluent les termes hutte, trekking, plusieurs jours, etc., donc cela ressemble à des chaussures de trekking. |
| Mais bien sûr, en tant que statisticien, je ne me contente pas de donner seulement une sensation instinctive. Je veux vraiment savoir quelle catégorie de chaussures appartient à quel sujet. Et pour cela, je fais une distribution simple des catégories de chaussures et j'ajouterai ici le filtre de données local pour afficher uniquement |
| catégories |
| qui sont... |
| pour afficher uniquement les chaussures sélectionnées. |
| Qu'est-ce que cela signifie? Comment puis-je utiliser ça? JMP propose ici les tracés des scores des sujets et ces tracés des scores des sujets |
| avoir un point pour chaque description de chaussure pour chaque sujet. |
| Ainsi, plus le score pour la description de la chaussure est élevé, plus cette chaussure est représentative de ce sujet précis. |
| Donc, ce que je fais, c'est simplement sélectionner toutes les chaussures qui ont des scores élevés pour le premier sujet et je verrai là-dedans |
| histogramme ici que ce sont des chaussures d'hiver de rue et de rue. Donc, fondamentalement, mon instinct était juste. Ces chaussures en textile, superfit, ce sont les chaussures de rue et les chaussures d'hiver de rue. |
| Et le sujet deux, souvenez-vous, nous nous attendions à ce que ce soit des chaussures de trekking. Vous verrez dans cet histogramme ici, ce sont des chaussures de trekking. |
| Et vous pouvez le faire maintenant pour tous les sujets, et je l'ai mis dans le journal. |
| Et vous verrez quelques difficultés à faire tout cela. Ainsi, en attribuant une ou plusieurs catégories de chaussures à chaque sujet, vous verrez deux problèmes. |
| Problème numéro un, représenté ici, vous verriez qu'il existe certaines catégories de chaussures, comme l'alpinisme, qui ne sont pas représentées par un seul sujet, mais par plusieurs. |
| Et vous verrez également que ces sujets se chevauchent, donc le mot crampon, par exemple, apparaît dans les deux sujets. |
| Ce qui signifie qu'il semble que nous ayons trop de sujets ici. |
| Donc, ces sujets, idéalement, vous voulez avoir un sujet par catégorie de chaussures, et si nous voyons qu'il y a des sujets qui se chevauchent et qui correspondent à plusieurs catégories, il semble que neuf, c'est trop. |
| Mais cela doit bien sûr en avoir un autre ???, donc si les chaussures d'alpinisme correspondent à plus d'un sujet, il doit y avoir des sujets qui ne sont pas clairement identifiables. |
| Alors regardez, par exemple, ce sujet numéro cinq. Et ainsi, comme les chaussures les plus représentatives. Vous verrez cela comme une énorme collection. |
| Il existe des chaussures progressives, des chaussures de course sur route, des chaussures de ville, etc. Ce sont donc pour la plupart des catégories qui se chevauchent et ne se différencient pas les unes des autres. Alors imaginez quelle est la différence entre la chaussure de course sur sentier et la chaussure de course sur route? |
| Ou alors passez à l'étape suivante, quelle est la différence entre le trail et la randonnée? |
| Il y a certains chevauchements dans ces chaussures et s'il y a ces chevauchements, vous ne pouvez pas identifier clairement la configuration de fonctionnalité pour cette catégorie de chaussures. |
| C'est donc aussi un apprentissage très précieux. Il s'agit, bien sûr, de gérer votre portefeuille de différents stratifiés. Vous voulez savoir, ai-je besoin d'un stratifié spécifique pour cette utilisation finale spécifique ou est-ce plutôt similaire à d'autres stratifiés que j'ai déjà? |
| Donc, ce que nous avons fini par faire, c'est que nous voulions avoir une collection finale de sujets sur lesquels nous n'avons aucun sujet correspondant à plus d'une catégorie, et nous l'avons fait à la main. Nous avons donc analysé différents nombres de sujets et nous avons fini par en avoir cinq. |
| Ces cinq sujets, vous le verrez, correspondent à un certain nombre de catégories, mais nous verrons que toutes les catégories de chaussures ne peuvent pas être représentées par elle. |
| Nous avons donc eu deux apprentissages. L'apprentissage numéro un était que nous avons des prototypes de descriptions de chaussures pour ceux |
| catégories de chaussures. Et d'un autre côté, toutes les catégories de chaussures non nommées ici peuvent ne pas être très différenciées ou ne pas avoir cette seule configuration. |
| dans leur description de chaussures. |
| Et ce n'était qu'une option offerte par l'explorateur de texte. Il existe également d'autres options, mais nous nous sommes concentrés là-dessus et cela a plutôt bien fonctionné. |
| Et sur ce, je voudrais quitter Text Explorer et vous donner seulement un bref aperçu de ce que vous pourriez faire plus loin avec la matrice de termes de document de sujet. |
| Donc ici, j'ai le même ensemble de données qu'avant, mais j'ai exporté la matrice des termes du document. Vous voyez donc beaucoup de nouvelles colonnes qui s'affichent pour chaque terme |
| la fréquence de ce terme dans une certaine description de chaussure. |
| Et nous avons essayé avec différentes versions de cela, donc nous avons eu une matrice de termes de document indiquant les fréquences; nous en avions un indiquant seulement qu'il est contenu, ce n'est pas contenu; etc. Et nous nous sommes retrouvés avec cette version. |
| Et en utilisant les possibilités de JMP Pro, nous avons créé une colonne de validation pour diviser notre ensemble de données en données d'entraînement, de validation et de test. Les données de formation et de validation sont utilisées pour entraîner notre modèle prédictif et les données de test sont utilisées pour les tests. |
| Et quand on parle de modélisation prédictive, quel est notre objectif ici? Donc, ce que nous faisions avant était une sorte de technique non supervisée parce que |
| nous avons juste recherché des sujets et comparé ensuite aux catégories de chaussures. Et maintenant, nous voulons être un peu plus proactifs, donc nous avons la description de la chaussure, pouvons-nous prédire une catégorie explicitement? |
| Et nous avons essayé différentes techniques de modélisation prédictive qu'offre JMP 15 Pro et nous nous sommes retrouvés avec une forêt bootstrap. Et ici, je voudrais vous donner seulement une idée de la façon dont les résultats pourraient ressembler et à quoi nous pourrions utiliser les résultats. |
| Vous verrez donc les résultats dans la matrice de confusion dans l'ensemble de données de test, quelle était la catégorie, certaines descriptions de chaussures et qu'ai-je prédit en utilisant ma forêt bootstrap? |
| Et, fait intéressant, vous verrez à peu près les mêmes résultats que ceux que nous avons vus auparavant. Il y a donc certaines catégories qui peuvent être clairement différenciées des autres, |
| qui ont déjà une configuration de fonctionnalité unique, et il y en a d'autres qui n'en ont pas. Alors jetez un œil, par exemple, dans les chaussures de course sur route. |
| Nous avons déjà découvert dans notre première analyse que ceux-ci ne sont pas définis de manière unique. Et nous verrons ici aussi, je prédis que beaucoup de chaussures seront des chaussures de course sur route qui sont en fait d'autres chaussures. |
| Cela signifie donc que cela confirme les conclusions que nous avions auparavant. Nous voyons exactement les catégories de chaussures qui ont été bien décrites en utilisant cette technique non supervisée sont également bien décrites ici et celles qui ne sont pas bien différenciées ne le sont pas non plus ici. |
| C'était donc assez intéressant à voir, et il y a beaucoup d'autres choses que vous pourriez faire maintenant en utilisant cette analyse. Vous pourriez faire, par exemple, |
| une analyse, qu'est-ce que ... quels sont les problèmes les plus importants lorsque je veux différencier certaines chaussures? C'est donc la contribution de la colonne, quels termes contribuent le plus à la différenciation des catégories de chaussures? |
| Vous pouvez également explorer les catégories de chaussures qui peuvent être très différenciées, celles qui ne le peuvent pas, en utilisant les courbes ROC. |
| Enfin, vous pouvez utiliser ce modèle pour la prédiction. Vous pouvez donc entrer ici certaines configurations de fonctionnalités ou description de chaussures |
| et prédire ensuite la probabilité que cette description appartienne à une certaine catégorie de chaussures. Dans ce cas, par exemple, nous prédirions que cette chaussure pourrait être une chaussure de course sur route. |
| En raison du temps, je n'entrerai pas dans les détails, mais je voudrais rapidement résumer. Alors, quelles ont été nos principales conclusions? Les principales constatations étaient que |
| l'explorateur de texte est un très bon outil qui est absolument intuitif, et vous pouvez l'utiliser pour extraire rapidement des informations à partir de données textuelles non structurées. |
| où se différencient-ils, où ne le font-ils pas? Qu'est-ce que ... quelles fonctionnalités sont recherchées dans ces chaussures? Mais ceux-ci en quelque sorte, les résultats ont confirmé ce à quoi nous nous attendons. |
| Et cette confirmation, nous pourrions faire cela en utilisant des techniques non supervisées ou une technique supervisée, semer la comparaison de l'analyse du sujet, en utilisant le SVD et le modèle prédictif ici avec une forêt bootstrap, et d'autres pourraient bien fonctionner de la même manière. |
| Enfin, je voudrais remercier le groupe ??? qui a posé ce problème. Ils ont collecté toutes les données et nettoyé toutes les données ont de bonnes discussions sur |
| le sens ou le non-sens de différentes techniques. Donc, sans eux, vous n'auriez pas écouté ce discours maintenant. Et en plus, |
| Je voudrais remercier Jonas, un ancien collègue de l'Université TU Dortmund, qui m'a consulté sur l'analyse de texte. |
| Et enfin, je tiens à vous remercier pour votre attention et je suis heureux de répondre à toutes vos questions, que ce soit par e-mail ou dans la communauté des utilisateurs JMP. Laissez-moi juste un mot. |