Conférencier | Transcription |
| Clay Barker | Merci, je m'appelle Clay Barker. Je suis développeur statistique dans le groupe JMP et aujourd'hui je vais parler d'une nouvelle fonctionnalité dans JMP pro pour 16. Cela s'appelle la sélection des mandats et j'y ai travaillé avec mes collègues Paris Faison et Ernest Pasour. |
| Les données textuelles sont donc de plus en plus courantes dans la pratique. Nous pouvons avoir des avis de clients sur un produit que nous fabriquons, nous pouvons avoir des descriptions de certains événements ou des journaux de maintenance pour certains de nos équipements. |
| Et dans cet exemple ici sur mon sur mes diapositives, cela provient du |
| incidents d'aéronefs ... ensemble de données sur les incidents que nous avons dans des exemples de données. |
| Et chaque ligne de données est une description d'un incident aérien, d'un accident ou d'un autre type de dysfonctionnement. |
| Donc, si vous n'avez jamais utilisé la plate-forme Text Explorer, elle a été introduite dans JMP 13 et nous l'utilisons principalement pour aider à résumer et analyser les données texte. |
| Ainsi, il est facile d'effectuer des tâches courantes telles que la recherche des mots et des phrases les plus fréquents ou les plus courants, et il est facile de faire des choses comme regrouper les documents ou rechercher des thèmes, comme l'analyse de sujets. Et tout est guidé par ce qu'on appelle la matrice des termes du document. |
| Alors, quelle est la matrice des termes du document? Il est plus facile de le considérer comme une matrice de variables indicatrices indiquant si chaque document comprend ou non un mot ou une phrase en particulier. |
| Et nous pouvons pondérer cela en fonction de la fréquence à laquelle le mot apparaît dans chaque document. Ainsi, chaque document est une ligne dans notre matrice de termes de document et chaque colonne est un mot. |
| Donc, pour un exemple vraiment simple ici, cette première ligne est «l'emballage de la pizza était frustrant». Nous avons donc un 1 pour l'emballage, |
| un 1 pour pizza et un 1 pour frustrant et 0 pour tous les autres mots. Et, de même, pour la deuxième ligne, nous avons un 1 pour l'odeur, l'excellent, le goût et la pizza et des 0 ailleurs. C'est juste un simple résumé des mots qui apparaissent dans chaque document. |
| J'ai également mentionné qu'il existe quelques variantes de la matrice des termes du document. Le plus simple est le binaire; ce sont juste des uns et des zéros. |
| Mais nous souhaitons peut-être inclure des informations sur la fréquence à laquelle chaque mot apparaît, alors voici une autre phrase légèrement plus longue où la pizza apparaît plusieurs fois. |
| Dans la matrice de termes du document binaire, cette colonne de pizza est toujours un 1 car nous ne nous soucions pas de la fréquence à laquelle cela se produit. Pour le ternaire, c'est 2, car le ternaire est composé de zéros, de uns et de deux. C'est 0 si le mot ne se produit pas, c'est 1 s'il se produit une fois et c'est 2 s'il se produit plus d'une fois. |
| Peu importe si cela se produit quatre fois ici, nous avons toujours codé comme un 2. Et puis la fréquence est vraiment simple. C'est juste le nombre de fois où chaque mot apparaît dans ce document. |
| Ce sont donc trois très simples, nous proposons également la pondération TF-IDF, qui est un peu comme une fréquence relative, mais vous pouvez en savoir plus sur ces schémas de pondération dans |
| Plateforme Text Explorer. |
| Alors, quelle est la prochaine étape? Quelle est la prochaine chose que vous voudrez peut-être utiliser ensuite? |
| Vous voudrez peut-être utiliser le texte pour vous aider à obtenir un résultat. Donc, ici, j'ai inventé quelques critiques de meubles, et il y a une note par étoiles qui est associée à chaque critique, non. |
| Nous pourrions donc penser que ces critiques nous donnent des indices sur les raisons pour lesquelles quelqu'un attribuerait une note supérieure ou inférieure à un produit. Donc, dans cette toute première ligne, "les instructions étaient frustrantes" et l'utilisateur ne nous a donné qu'un 3. Si cela ... si ce modèle se produit souvent et que beaucoup de gens évaluent ... |
| la plupart des notes les plus basses sont associées à des instructions, ce qui pourrait nous indiquer que nous devons améliorer les instructions que nous expédions avec nos meubles. |
| L'idée simple est donc de les utiliser comme modèle de régression. Nous allons ... nous allons prendre notre matrice de termes de document, |
| nous allons les combiner avec nos informations de réponse, et nous allons simplement faire une régression. |
| Et cela nous aidera à comprendre pourquoi les clients aiment ou n'aiment pas nos meubles ou tout autre produit que nous fabriquons. |
| Cela peut nous aider à classer les objets, en fonction des descriptions, nous en verrons plus tard, ou peut-être que nous voulons comprendre pourquoi certaines machines échouent ou non en fonction de certains de leurs enregistrements de maintenance. |
| Et la façon dont nous procédons est vraiment simple. |
| Nous sommes en fait juste en train de créer un modèle de régression, où chacun de nos X, ou nos variables prédictives, est l'une des colonnes de la matrice des termes. Donc, si nous modélisons les évaluations de produits, c'est une simple régression linéaire et si nous sommes |
| si nous modélisons un résultat binaire, comme si un client recommanderait ou non notre produit |
| peut-être des centaines de mots et il serait logique de ne pas les utiliser tous. Toutes les données ne seront pas utiles, nous allons donc appliquer une technique de sélection de variables à notre modèle de régression et nous obtiendrons un modèle plus simple, facile à interpréter et qui s'adapte bien. |
| Et ici, en bas, il est facile de visualiser la combinaison de ces variables indicatrices avec notre note de réponse, notre note par étoiles. |
| Donc, notre solution qui va être dans JMP 16 est d'apporter des modèles de régression dans la plate-forme Text Explorer. Si vous avez déjà utilisé la plate-forme de régression généralisée pour faire la sélection de variables, nous intégrons essentiellement cette plate-forme dans Text Explorer. |
| Donc, si vous avez JMP pro, vous verrez un élément de sélection de terme dans le menu triangle rouge de Text Explorer. |
| C'est ce qui nous passionne vraiment. Cela permet de créer et d'affiner facilement et rapidement ces types de modèles de régression. |
| Donc, lorsque vous lancerez cette plate-forme, et nous ferons quelques démos dans une minute, mais rapidement, |
| au tout début du lancement, il s'agit simplement de demander des informations sur notre réponse et le type de modèle que nous voulions adapter. |
| Ainsi, il peut gérer à la fois les réponses continues, comme un classement par étoiles, et lorsque vous spécifiez une réponse continue, il fournit un filtre afin que vous puissiez filtrer certaines des lignes, en fonction de la réponse. |
| Et lorsque nous avons une colonne de réponse nominale, nous sélectionnons le niveau cible. Dans ce cas, recommanderiez-vous notre produit, oui ou non. Nous allons modéliser le ... |
| nous allons modéliser la recommandation égale non. |
| Et si nous avons une réponse à plusieurs niveaux comme le bleu, le vert, le jaune, nous choisirons le niveau que nous voulons modéliser et nous en verrons un exemple dans une minute. |
| Ensuite, après avoir spécifié la réponse, nous allons donner à la plate-forme des informations sur le type de modèle que nous voulons adapter. |
| Alors quand on fait la sélection de variables, va-t-on utiliser le filet élastique ou le lasso? Ce sont deux techniques de sélection de variables intégrées à la régression généralisée. Et comment allons-nous faire la validation? Voulons-nous utiliser l'AIC ou le BIC? |
| De plus, nous pouvons spécifier des détails sur notre matrice de termes de document. Nous pouvons sélectionner la pondération et également sélectionner le nombre maximum de termes que nous voulons considérer. Donc, si nous voulons prendre en compte les 200 mots les plus fréquents, c'est ce à quoi il est maintenant fixé à 200. |
| Alors, que se passe-t-il lorsque vous le lancez et que vous appuyez sur ce bouton d'exécution? En gros, il fait tout |
| Tu as besoin de faire. Il configure correctement les données dans les coulisses afin que vous n'ayez pas à vous en soucier. Il fait la sélection de variables, donc maintenant nous avons un petit sous-ensemble de mots que nous pensons être utiles pour prédire notre réponse, et il présente les résultats dans un simple |
| d'interpréter le rapport, et c'est assez interactif, comme nous le verrons dans un instant. Donc vous étiez capable de le faire en |
| enregistrer la matrice des termes du document dans votre ensemble de données, lancer vous-même une plateforme de régression généralisée, |
| mais tu n'as plus à faire ça. C'est tout ce que tout est en termes de sélection maintenant. |
| Alors cette spécification de modèle, comment savons-nous quoi, comment savons-nous quoi sélectionner? |
| Les méthodes d'estimation disponibles sont le filet élastique et le lasso. Le moyen facile de se souvenir de la différence entre ces |
| est que le filet élastique a tendance à sélectionner des groupes de prédicteurs corrélés. Donc, dans ce contexte, lorsque nos prédicteurs sont tous des mots, |
| cela signifie qu'il aura tendance à sélectionner des groupes de mots qui ont tendance à apparaître ensemble. Donc, si vous pensez aux instructions et au manuel, |
| ces mots se rencontrent fréquemment à cause des manuels d'instructions. Ainsi, ces deux prédicteurs seraient fortement corrélés et le filet élastique les sélectionnerait probablement tous les deux, alors que le lasso sélectionnerait probablement l'instruction ou le manuel, mais pas nécessairement les deux. |
| Méthodes de validation, nous avons l'AIC et le BIC. |
| La règle d'or est donc que l'AIC a tendance à sur-sélectionner les modèles et que le BIC a tendance à sous-sélectionner. Donc dans notre cahier des charges, |
| c'est juste que l'AIC aura tendance à sélectionner un plus grand ensemble de mots, tandis que le BIC sélectionnera un plus petit ensemble de mots. |
| Et personnellement, j'ai tendance à utiliser beaucoup l'AIC dans le cadre parce que je préfère avoir plus de mots que nécessaire que moins, mais c'est vraiment une question de préférence. |
| Et la pondération des termes du document ... |
| la pondération matricielle terme document, je veux dire. |
| Cela dépend vraiment de votre problème. Donc dans cet exemple, |
| le mot peinture apparaît plusieurs fois dans la revue. Cela pourrait signifier que le critique était très ... |
| pris ... la peinture était très importante pour cet examinateur et cela peut être significatif dans notre modèle de régression, nous voudrions donc utiliser une pondération comme la fréquence au lieu de binaire. |
| Alors, une fois que vous lancez la sélection de termes, vous vous retrouverez dans un endroit comme celui-ci, où nous avons |
| un résumé de tous les documents à gauche et de tous les mots que nous avons sélectionnés à droite. Et je vais simplement sauter ceci pour le moment; c'est plus facile à voir quand on commence à faire une démo. |
| Une autre chose que nous pensons très utile est que nous avons un résumé, vous pouvez donc utiliser la sélection de termes pour adapter une séquence de modèles, puis ils sont tous résumés en haut, et vous pouvez basculer entre eux. Et encore une fois, nous verrons cela dans un instant. |
| Jetons donc un coup d'œil à la plate-forme. |
| Alors d'abord, nous allons jeter un oeil à ceci |
| ensemble de données d'incident d'avion qui se trouve dans le dossier d'exemples de données JMP. |
| Donc, chaque ligne de notre tableau est un incident. Et nous savons à quel point l'avion a été endommagé, quels types de blessures il y a eu, et nous avons une description. Cette dernière colonne décrit donc exactement ce qui s'est passé lors de l'incident. |
| Nous allons donc lancer Text Explorer, et si vous n'avez jamais utilisé Text Explorer auparavant, à gauche, nous avons les termes les plus fréquents, et à droite, nous les avons les phrases les plus fréquentes, donc des groupes de mots. |
| Nous voulons donc utiliser ces mots pour peut-être comprendre |
| ce qui ... ce qui fait qu'un accident cause plus, vous savez, subit plus de dégâts ou peut-être des blessures plus graves. Nous allons donc aller dans le menu du triangle rouge et demander la sélection des termes. |
| Alors maintenant, nous voyons ce lancement que nous examinions il y a un instant, et je veux en savoir plus sur les dommages, n'est-ce pas. Et en particulier, je veux ... Je pourrais vouloir faire la distinction entre les incidents où l'avion a été détruit et moins de dommages, nous allons donc sélectionner le niveau cible à détruire. |
| Je mentionnerai que cet arrêt précoce, ce genre de fonctionnalité permet de gagner du temps. Alors |
| lorsque nous faisons la sélection de variables, cela peut prendre beaucoup de temps pour des problèmes beaucoup plus importants. Et si vous laissez cette case cochée, ça dira en quelque sorte |
| nous pensons avoir un modèle assez bon; nous allons continuer et nous arrêter tôt. J'ai tendance à décocher cela à moins que je sache que j'ai un problème beaucoup plus grave. |
| Je vais donc le laisser avec un filet élastique, AIC et nous allons courir. |
| Alors maintenant, ce qui se passe en arrière-plan, c'est qu'il a créé les données dont j'avais besoin pour adapter ce modèle de régression, et cela correspond au modèle de régression dans les coulisses, et maintenant j'ai mon résumé. Donc chaque |
| chaque document est résumé sur ce panneau de gauche, c'est donc le premier incident d'avion, c'est le second, qui est vide. |
| Donc ce premier est, l'avion a heurté un banc de neige sur le côté de la piste. |
| Et nous avons tous les mots importants mis en évidence, donc les mots bleus ont des coefficients négatifs, les mots orange ont un coefficient positif. |
| Et si les mots nous intéressent, nous pouvons regarder ce panneau à droite. J'ai tendance à aimer trier par coefficient afin que vous puissiez simplement cliquer en haut. |
| Ainsi, dans ce cas, les mots avec des coefficients négatifs sont moins susceptibles d'avoir été détruits. Donc si |
| le document contient le mot atterrissage, si l'avion est arrivé au point où il atterrit, ce n'est probablement pas un incident très grave. Donc, ceux-ci sont moins susceptibles d'être |
| détruit. D'un autre côté, nous pouvons examiner les termes les plus positifs, et ce sont les mots les plus associés à la destruction de l'avion. |
| Et ce sont des mots comme le feu, des témoins. S'ils interrogent des témoins pour décrire l'incident, cela signifie probablement que la personne qui était dans l'avion n'a pas pu faire une entrevue. |
| Alors feu, radar, rotation, nuit, ce sont tous des mots qui sont fortement associés |
| d'être détruit. |
| Maintenant, peut-être que nous sommes également intéressés par le niveau de blessures, et plus précisément, nous allons examiner les pires niveaux de blessures. |
| Et nous recommencerons la sélection des termes. |
| Et je vais simplement l'accepter pour que ça reste bref. |
| Alors maintenant, nous pouvons faire le même genre de choses, mais maintenant plutôt au niveau des blessures. |
| Donc, si l'entrevue comprend le capitaine ou l'atterrissage, ceux-ci ne sont probablement pas très graves en termes de niveau de blessure. |
| Mais si encore si on évoque le radar, la nuit, les montagnes, ce sont des mots bien plus sérieux. Nous pouvons donc faire des allers-retours rapides entre ces deux ... ces deux réponses et voir quels mots sont prédictifs de ces deux |
| niveau de blessure et niveau de dommage. |
| Jetons donc un œil à un autre exemple. |
| C'est donc celui que j'apprécie vraiment. Plus tôt, je parlais de pizza dans mes exemples. Maintenant, nous allons parler de bière. Ce sont donc évidemment des choses qui me tiennent à cœur. |
| Donc, ce que j'ai ici, c'est que j'ai ... J'ai téléchargé une description de chaque style de bière, selon une critique de bière |
| corps. |
| Donc, chaque bière a une description. |
| Et il dit, d'où vient la bière. Donc nous avons... |
| États-Unis, Allemagne, Irlande. |
| Utilisez la sélection de termes pour voir |