Informations

Quels classificateurs Machine Learning les humains utilisent-ils ?

Quels classificateurs Machine Learning les humains utilisent-ils ?


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Fond: Dans de nombreuses situations, les gens ont l'habitude de classer des objets sans connaître la théorie de l'apprentissage automatique. Par exemple, si de jeunes enfants voient un animal inconnu dans la nature, il essaie de le classer comme dangereux ou non dangereux (sur la base des « données » précédentes).

Question: De toute évidence, les humains utilisent n'importe quel classificateur. Ma question est : laquelle ?


C'est bien sûr une grande question et je ne crois pas qu'il y ait une réponse définitive à cela. Une enquête très approfondie sur cette question vient de Rogers et McClelland (2004), qui ont développé une théorie distribuée parallèle de l'acquisition, de la représentation et de l'utilisation des connaissances sémantiques humaines. Comme son nom l'indique, cet effort vient du domaine du traitement distribué parallèle, également appelé connexionnisme. Les livres cités par @DikranMarsupial peuvent être considérés comme les fondements du domaine. Autant que je sache, les deux volumes et leurs auteurs (McClelland n'est que l'un d'entre eux, au moins deux autres noms importants sont David Rumelhart et Geoffrey Hinton) ont eu un impact énorme sur la renaissance des réseaux de neurones au sein des sciences cognitives et sur le développement de l'approche distribuée parallèle.

Rogers et McClelland (2004) offrent un compte rendu intéressant de la façon dont les choses sont regroupées en catégories, ce dont vous parlez. Pour donner une explication très brève : selon leur théorie, tous les objets ont certains attributs. Par exemple, un canari a des pattes, des ailes et des plumes. Un rouge-gorge a aussi toutes ces choses. Un pin, en revanche, a des feuilles, des racines et des racines. Il en est de même pour un chêne. En réalité, il y a beaucoup plus d'attributs, mais cela devrait suffire à faire le point.

Les objets qui ont tendance à covarier de manière cohérente (car ils ont des attributs similaires) sont perçus comme similaires et sont classés comme appartenant à une catégorie, comme le canari et le rouge-gorge. D'autres objets, qui ne covarient pas avec ceux de ce premier groupe, mais qui covarient de manière cohérente avec d'autres objets, sont classés comme appartenant à un autre groupe, comme le pin et le chêne. C'est ces catégories cohérentes qui sont importants pour classer les objets.

Rogers et McClelland (2004) ont utilisé un réseau de neurones pour démontrer et tester leur théorie. Leurs conclusions sont cohérentes avec une série de conclusions d'études sur le développement. Ils ont également un article, qui est essentiellement un bref résumé du livre (Rogers & McClelland, 2008). Si vous êtes intéressé, vous voudrez peut-être vérifier cela en premier. L'article contient des commentaires de pairs examinateurs qui soulignent les faiblesses de la théorie, ce qui est également très intéressant.

Puisque vous avez fait référence à l'apprentissage automatique dans votre question : l'algorithme d'apprentissage utilisé dans les études de simulation était le rétropropagation de l'erreur - algorithme. Comme cela a également été mentionné par @DikranMarsupial, ce n'est pas un algorithme particulièrement biologiquement plausible. Fait intéressant cependant, comme cela est également expliqué en détail dans le livre, il est possible de prédire l'ordre dans lequel les objets du corpus d'apprentissage pourraient être classés par une décomposition en vecteurs propres d'une variante spéciale de la matrice de covariance des objets. Je ne suis pas un expert ici, mais il me semble qu'il y a un lien avec le soi-disant règle de covariance (malheureusement, je n'ai pas de citation ici), ce qui, à ma connaissance, est biologiquement plausible.

Les références:

Rogers, T.T et McClelland, J.L. (2004). Cognition sémantique : Une approche de traitement distribué parallèle. Cambridge, MA : Presse du MIT. PDF
Rogers, Timothy T. et McClelland, J. L. (2008). Précis de la cognition sémantique : une approche de traitement distribué parallèle. Sciences du comportement et du cerveau, 31(06), 689. doi:10.1017/S0140525X0800589X PDF


La réponse évidente serait les réseaux de neurones, qui sont la famille de méthodes d'apprentissage automatique initialement inspirées par la structure de niveau le plus bas du cerveau humain.

Voir les livres de Mclelland et al

Traitement distribué parallèle, Vol. 1 : Foundations : Explorations in the Microstructure of Cognition : Foundations v. 1 (Bradford Books)

Traitement distribué parallèle, Vol. 2 : Explorations de la microstructure de la cognition : modèles psychologiques et biologiques v. 2

qui rendent compte de la recherche sur les réseaux de neurones à l'époque où la plausibilité biologique était plutôt une considération qu'elle ne l'est généralement maintenant (du point de vue de l'apprentissage automatique).


Top 5 des algorithmes de classification en apprentissage automatique

L'étude de la classification dans les statistiques est vaste et il existe plusieurs types d'algorithmes de classification que vous pouvez utiliser en fonction de l'ensemble de données avec lequel vous travaillez. Vous trouverez ci-dessous cinq des algorithmes les plus courants en apprentissage automatique.

5 types d'algorithmes de classification :

Régression logistique

La régression logistique est un calcul utilisé pour prédire un résultat binaire : quelque chose se passe ou ne se passe pas. Cela peut être affiché sous la forme Oui/Non, Réussite/Échec, Vivant/Mort, etc.

Des variables indépendantes sont analysées pour déterminer le résultat binaire, les résultats tombant dans l'une des deux catégories. Les variables indépendantes peuvent être catégorielles ou numériques, mais la variable dépendante est toujours catégorielle. Écrit comme ceci :

P(Y=1|X) ou P(Y=0|X)

Il calcule la probabilité de la variable dépendante Oui, étant donné la variable indépendante X.

Cela peut être utilisé pour calculer la probabilité qu'un mot ait une connotation positive ou négative (0, 1 ou sur une échelle entre). Ou il peut être utilisé pour déterminer l'objet contenu dans une photo (arbre, fleur, herbe, etc.), avec chaque objet étant donné une probabilité comprise entre 0 et 1.

Naïf Bayes

Naive Bayes calcule la possibilité de savoir si un point de données appartient ou non à une certaine catégorie. En analyse de texte, il peut être utilisé pour catégoriser des mots ou des phrases comme appartenant ou non à une « balise » (classification) prédéfinie. Par exemple:

Pour décider si une phrase doit ou non être étiquetée comme « sport », vous devez calculer :

Ou… la probabilité de A, si B est vrai, est égale à la probabilité de B, si A est vrai, multipliée par la probabilité que A soit vrai, divisée par la probabilité que B soit vrai.

Les voisins les plus proches

Les voisins les plus proches (k-NN) est un algorithme de reconnaissance de formes qui utilise des ensembles de données d'apprentissage pour trouver le k parents les plus proches dans les exemples futurs.

Lorsque k-NN est utilisé dans la classification, vous calculez pour placer les données dans la catégorie de son voisin le plus proche. Si k = 1, alors il serait placé dans la classe la plus proche de 1. K est classé par un sondage de pluralité de ses voisins.

Arbre de décision

Un arbre de décision est un algorithme d'apprentissage supervisé parfait pour les problèmes de classification, car il est capable d'ordonner les classes à un niveau précis. Cela fonctionne comme un organigramme, séparant les points de données en deux catégories similaires à la fois, du «tronc d'arbre» ​​aux «branches», aux «feuilles», où les catégories deviennent plus similaires de manière finie. Cela crée des catégories au sein des catégories, permettant une classification organique avec une supervision humaine limitée.

Pour continuer avec l'exemple du sport, voici comment fonctionne l'arbre de décision :

Forêt aléatoire

L'algorithme de forêt aléatoire est une extension de l'arbre de décision, en ce sens que vous construisez d'abord une multitude d'arbres de décision avec des données d'apprentissage, puis ajustez vos nouvelles données dans l'un des arbres en tant que « forêt aléatoire ».

Il fait essentiellement la moyenne de vos données pour les connecter à l'arbre le plus proche sur l'échelle des données. Les modèles de forêt aléatoire sont utiles car ils résolvent le problème de l'arbre de décision consistant à « forcer » inutilement les points de données dans une catégorie.

Machines à vecteurs de soutien

Une machine à vecteurs de support (SVM) utilise des algorithmes pour entraîner et classer les données dans des degrés de polarité, les amenant à un degré au-delà X/Y prédiction.

Pour une explication visuelle simple, nous utiliserons deux balises : rouge et bleu, avec deux fonctionnalités de données : X et Oui, puis entraînez notre classificateur à produire un X/Y coordonner soit comme rouge ou bleu.

Le SVM attribue ensuite un hyperplan qui sépare au mieux les balises. En deux dimensions, c'est simplement une ligne. Tout ce qui se trouve d'un côté de la ligne est rouge et tout ce qui est de l'autre côté est bleu. Dans l'analyse des sentiments, par exemple, ce serait positif et négatif.

Afin de maximiser l'apprentissage automatique, le meilleur hyperplan est celui avec la plus grande distance entre chaque balise :

Cependant, à mesure que les ensembles de données deviennent plus complexes, il peut ne pas être possible de tracer une seule ligne pour classer les données en deux camps :

En utilisant SVM, plus les données sont complexes, plus le prédicteur deviendra précis. Imaginez ce qui précède en trois dimensions, avec un Axe z ajouté, de sorte qu'il devient un cercle.

Mappé en deux dimensions avec le meilleur hyperplan, cela ressemble à ceci :

SVM permet un apprentissage automatique plus précis car il est multidimensionnel.


Faire un classificateur en cascade Haar

Remarque : Cette discussion supposera des connaissances de base sur les algorithmes de renforcement et les apprenants faibles et forts en ce qui concerne l'apprentissage automatique. Cliquez sur ici pour un rapide tutoriel Adaboost.

L'algorithme peut être expliqué en quatre étapes :

  • Calcul des caractéristiques de Haar
  • Création d'images intégrales
  • Utiliser Adaboost
  • Implémentation de classificateurs en cascade

Il est important de se rappeler que cet algorithme nécessite beaucoup de images positives des visages et images négatives de non-visages pour former le classificateur, similaire à d'autres modèles d'apprentissage automatique.


Top 10 des algorithmes d'apprentissage automatique

L'apprentissage automatique est l'un des mots à la mode qui circulent dans l'industrie informatique actuelle. Il trouve son utilisation dans des scénarios de plus en plus courants, comme suggérer des vidéos liées après avoir regardé un genre particulier de vidéos ou Amazon suggérer des produits qui vont avec un produit que vous avez déjà acheté. Non seulement ceux-ci, mais il existe d'innombrables exemples qui exploitent vraiment son potentiel à sa pleine capacité.

Dans ce processus, les données historiques brutes sont fournies en entrée et, sur la base des techniques disponibles, permettent aux organisations d'en déduire le résultat possible. Les organisations ont déjà commencé à exploiter leur potentiel et contribuent également à sa croissance. nous discutons en détail des bases de l'apprentissage automatique et des algorithmes d'apprentissage automatique qui entrent en jeu, ainsi que des sujets connexes.

Apprenez à utiliser le Machine Learning, des bases pour débutants aux techniques avancées. Inscrivez-vous à notre cours de certification en apprentissage automatique dès aujourd'hui !

Les sujets suivants sont traités dans ce blog Machine Learning Algorithms :

  • Qu'est-ce qu'un algorithme d'apprentissage automatique ?
  • Comment fonctionnent les algorithmes d'apprentissage automatique ?
  • Quels sont les avantages d'utiliser des algorithmes d'apprentissage automatique ?
  • Comment choisir des algorithmes d'apprentissage automatique en fonction du cas d'utilisation ?
  • Différence entre l'algorithme régulier et l'algorithme d'apprentissage automatique
  • Types d'algorithmes d'apprentissage automatique
  • Top 10 des algorithmes d'apprentissage automatique
  • Algorithmes d'apprentissage automatique (avec Python)
  • Exemples et applications d'algorithmes d'apprentissage automatique
  • Meilleurs livres sur les algorithmes d'apprentissage automatique
  • Cours sur les algorithmes d'apprentissage automatique MindMajix

Dans cette section, essayons de comprendre les concepts de l'apprentissage automatique en tant que tel. Ces détails sont beaucoup plus importants au fur et à mesure que nous progressons dans cet article, sans la compréhension de laquelle nous ne pourrons pas saisir les internes de ces algorithmes et les spécificités où ceux-ci peuvent s'appliquer à un moment ultérieur. Maintenant, pour mieux comprendre la nomenclature requise et les mots-clés, passons en revue ce qui suit :


Top 5 des algorithmes de classification en apprentissage automatique

L'étude de la classification dans les statistiques est vaste et il existe plusieurs types d'algorithmes de classification que vous pouvez utiliser en fonction de l'ensemble de données avec lequel vous travaillez. Vous trouverez ci-dessous cinq des algorithmes les plus courants en apprentissage automatique.

5 types d'algorithmes de classification :

Régression logistique

La régression logistique est un calcul utilisé pour prédire un résultat binaire : quelque chose se passe ou ne se passe pas. Cela peut être affiché sous la forme Oui/Non, Réussite/Échec, Vivant/Mort, etc.

Des variables indépendantes sont analysées pour déterminer le résultat binaire, les résultats tombant dans l'une des deux catégories. Les variables indépendantes peuvent être catégorielles ou numériques, mais la variable dépendante est toujours catégorielle. Écrit comme ceci :

P(Y=1|X) ou P(Y=0|X)

Il calcule la probabilité de la variable dépendante Oui, étant donné la variable indépendante X.

Cela peut être utilisé pour calculer la probabilité qu'un mot ait une connotation positive ou négative (0, 1 ou sur une échelle entre). Ou il peut être utilisé pour déterminer l'objet contenu dans une photo (arbre, fleur, herbe, etc.), avec chaque objet étant donné une probabilité comprise entre 0 et 1.

Naïf Bayes

Naive Bayes calcule la possibilité de savoir si un point de données appartient ou non à une certaine catégorie. En analyse de texte, il peut être utilisé pour catégoriser des mots ou des phrases comme appartenant ou non à une « balise » (classification) prédéfinie. Par exemple:

Pour décider si une phrase doit ou non être étiquetée comme « sport », vous devez calculer :

Ou… la probabilité de A, si B est vrai, est égale à la probabilité de B, si A est vrai, multipliée par la probabilité que A soit vrai, divisée par la probabilité que B soit vrai.

Les voisins les plus proches

Les voisins les plus proches (k-NN) est un algorithme de reconnaissance de formes qui utilise des ensembles de données d'apprentissage pour trouver le k parents les plus proches dans les exemples futurs.

Lorsque k-NN est utilisé dans la classification, vous calculez pour placer les données dans la catégorie de son voisin le plus proche. Si k = 1, alors il serait placé dans la classe la plus proche de 1. K est classé par un sondage de pluralité de ses voisins.

Arbre de décision

Un arbre de décision est un algorithme d'apprentissage supervisé qui est parfait pour les problèmes de classification, car il est capable d'ordonner les classes à un niveau précis. Cela fonctionne comme un organigramme, séparant les points de données en deux catégories similaires à la fois, du «tronc d'arbre» ​​aux «branches», aux «feuilles», où les catégories deviennent plus similaires de manière finie. Cela crée des catégories au sein des catégories, permettant une classification organique avec une supervision humaine limitée.

Pour continuer avec l'exemple du sport, voici comment fonctionne l'arbre de décision :

Forêt aléatoire

L'algorithme de forêt aléatoire est une extension de l'arbre de décision, en ce sens que vous construisez d'abord une multitude d'arbres de décision avec des données d'apprentissage, puis placez vos nouvelles données dans l'un des arbres en tant que « forêt aléatoire ».

Il fait essentiellement la moyenne de vos données pour les connecter à l'arbre le plus proche sur l'échelle des données. Les modèles de forêt aléatoire sont utiles car ils résolvent le problème de l'arbre de décision consistant à « forcer » inutilement les points de données dans une catégorie.

Machines à vecteurs de soutien

Une machine à vecteurs de support (SVM) utilise des algorithmes pour entraîner et classer les données dans des degrés de polarité, les amenant à un degré au-delà X/Y prédiction.

Pour une explication visuelle simple, nous utiliserons deux balises : rouge et bleu, avec deux fonctionnalités de données : X et Oui, puis entraînez notre classificateur à produire un X/Y coordonner soit comme rouge ou bleu.

Le SVM attribue ensuite un hyperplan qui sépare au mieux les balises. En deux dimensions, c'est simplement une ligne. Tout ce qui se trouve d'un côté de la ligne est rouge et tout ce qui est de l'autre côté est bleu. Dans l'analyse des sentiments, par exemple, ce serait positif et négatif.

Afin de maximiser l'apprentissage automatique, le meilleur hyperplan est celui avec la plus grande distance entre chaque balise :

Cependant, à mesure que les ensembles de données deviennent plus complexes, il peut ne pas être possible de tracer une seule ligne pour classer les données en deux camps :

En utilisant SVM, plus les données sont complexes, plus le prédicteur deviendra précis. Imaginez ce qui précède en trois dimensions, avec un Axe z ajouté, de sorte qu'il devient un cercle.

Mappé en deux dimensions avec le meilleur hyperplan, cela ressemble à ceci :

SVM permet un apprentissage automatique plus précis car il est multidimensionnel.


Faire un classificateur en cascade Haar

Remarque : Cette discussion supposera des connaissances de base sur les algorithmes de renforcement et les apprenants faibles et forts en ce qui concerne l'apprentissage automatique. Cliquez sur ici pour un rapide tutoriel Adaboost.

L'algorithme peut être expliqué en quatre étapes :

  • Calcul des caractéristiques de Haar
  • Création d'images intégrales
  • Utiliser Adaboost
  • Implémentation de classificateurs en cascade

Il est important de se rappeler que cet algorithme nécessite beaucoup de images positives des visages et images négatives de non-visages pour former le classificateur, similaire à d'autres modèles d'apprentissage automatique.


Top 10 des algorithmes d'apprentissage automatique

L'apprentissage automatique est l'un des mots à la mode qui circulent dans l'industrie informatique actuelle. Il trouve son utilisation dans des scénarios de plus en plus courants, comme suggérer des vidéos liées après avoir regardé un genre particulier de vidéos ou Amazon suggérer des produits qui vont avec un produit que vous avez déjà acheté. Non seulement ceux-ci, mais il existe d'innombrables exemples qui exploitent vraiment son potentiel à sa pleine capacité.

Dans ce processus, des données historiques brutes sont fournies en entrée et, sur la base des techniques disponibles, permettent aux organisations d'en déduire le résultat possible. Les organisations ont déjà commencé à exploiter leur potentiel et contribuent également à sa croissance. nous discutons en détail des bases de l'apprentissage automatique et des algorithmes d'apprentissage automatique qui entrent en jeu, ainsi que des sujets connexes.

Apprenez à utiliser le Machine Learning, des bases pour débutants aux techniques avancées. Inscrivez-vous à notre cours de certification en apprentissage automatique dès aujourd'hui !

Les sujets suivants sont traités dans ce blog Machine Learning Algorithms :

  • Qu'est-ce qu'un algorithme d'apprentissage automatique ?
  • Comment fonctionnent les algorithmes d'apprentissage automatique ?
  • Quels sont les avantages d'utiliser des algorithmes d'apprentissage automatique ?
  • Comment choisir des algorithmes d'apprentissage automatique en fonction du cas d'utilisation ?
  • Différence entre l'algorithme régulier et l'algorithme d'apprentissage automatique
  • Types d'algorithmes d'apprentissage automatique
  • Top 10 des algorithmes d'apprentissage automatique
  • Algorithmes d'apprentissage automatique (avec Python)
  • Exemples et applications d'algorithmes d'apprentissage automatique
  • Meilleurs livres sur les algorithmes d'apprentissage automatique
  • Cours sur les algorithmes d'apprentissage automatique MindMajix

Dans cette section, essayons de comprendre les concepts de l'apprentissage automatique en tant que tel. Ces détails sont beaucoup plus importants au fur et à mesure que nous progressons dans cet article, sans la compréhension de laquelle nous ne pourrons pas saisir les internes de ces algorithmes et les spécificités où ceux-ci peuvent s'appliquer à un moment ultérieur. Maintenant, pour mieux comprendre la nomenclature requise et les mots-clés, passons en revue ce qui suit :


Ressources de classification de texte

Une fois que vous commencez à automatiser les tâches manuelles et répétitives à l'aide de toutes sortes de techniques de classification de texte, vous pouvez vous concentrer sur d'autres domaines de votre entreprise.

Mais… comment diable vous lancez-vous dans la classification de texte ? Il y a tellement d'informations sur l'analyse de texte, l'apprentissage automatique et le traitement du langage naturel que cela peut être écrasant.

Chez MonkeyLearn, nous vous aidons à savoir par où commencer. Nous fournissons un générateur de classificateur de texte sans code, vous pouvez donc créer votre propre classificateur de texte en quelques étapes simples.

Construire votre premier classificateur de texte peut vous aider à vraiment comprendre les avantages de la classification de texte, mais avant d'entrer dans les détails de ce que MonkeyLearn peut faire, examinons ce dont vous aurez besoin pour créer votre propre modèle de classification de texte :

1. Ensembles de données

Un classificateur de texte ne vaut rien sans des données d'entraînement précises. Les algorithmes d'apprentissage automatique ne peuvent faire des prédictions précises qu'en apprenant des exemples précédents.

Vous montrez à un algorithme des exemples de données correctement balisées et il utilise ces données balisées pour faire des prédictions sur du texte invisible.

Supposons que vous souhaitiez prédire l'intention des conversations de chat, vous aurez besoin d'identifier et de rassembler des conversations de chat qui représentent les différentes intentions que vous souhaitez prédire. Si vous entraînez votre modèle avec un autre type de données, le classificateur fournira des résultats médiocres.

Alors, comment obtenez-vous des données d'entraînement ?

Vous pouvez utiliser données internes générés à partir des applications et des outils que vous utilisez tous les jours, comme les CRM (par exemple Salesforce, Hubspot), les applications de chat (par exemple Slack, Drift, Intercom), les logiciels d'assistance (par exemple Zendesk, Freshdesk, Front), les outils d'enquête (par exemple SurveyMonkey, Typeform , Google Forms) et des outils de satisfaction client (par exemple Promoter.io, Retently, Satismeter). Ces outils offrent généralement une option pour exporter des données dans un fichier CSV que vous pouvez utiliser pour entraîner votre classificateur.

Une autre option consiste à utiliser données externes à partir du Web, soit en utilisant le scraping Web, des API ou des ensembles de données publics.

Voici quelques ensembles de données accessibles au public que vous pouvez utiliser pour créer votre premier classificateur de texte et commencer à expérimenter immédiatement.

Ensemble de données d'actualités Reuters : probablement l'un des ensembles de données les plus utilisés pour la classification de textes, il contient 21 578 articles d'actualités de Reuters étiquetés avec 135 catégories en fonction de leur sujet, comme la politique, l'économie, les sports et les affaires.

20 Newsgroups : un autre ensemble de données populaire qui se compose de

20 000 documents sur 20 sujets différents.

Avis sur les produits Amazon : un ensemble de données bien connu qui contient

143 millions d'avis et notes (1 à 5 étoiles) entre mai 1996 et juillet 2014. Vous pouvez obtenir un ensemble de données alternatif pour les avis sur les produits Amazon ici.

Critiques IMDB : un ensemble de données beaucoup plus petit avec 25 000 critiques de films étiquetées comme positives et négatives de l'Internet Movie Database (IMDB).

Twitter Airline Sentiment : cet ensemble de données contient environ 15 000 tweets sur les compagnies aériennes étiquetés comme positifs, neutres et négatifs.

Spambase : un ensemble de données avec 4 601 e-mails étiquetés comme spam et non comme spam.

SMS Spam Collection : un autre ensemble de données pour la détection de spam qui se compose de 5 574 messages SMS marqués comme spam ou légitimes.

Discours de haine et langage offensant : cet ensemble de données contient 24 802 tweets étiquetés organisés en trois catégories : propre, discours de haine et langage offensant.

2. Outils de classification de texte

Bien. Maintenant que vous disposez de données d'entraînement, il est temps de les transmettre à un algorithme d'apprentissage automatique et de créer un classificateur de texte.

Heureusement, de nombreuses ressources peuvent vous aider au cours des différentes phases du processus, c'est-à-dire transformer des textes en vecteurs, entraîner un algorithme d'apprentissage automatique et utiliser un modèle pour faire des prédictions. De manière générale, ces outils peuvent être classés en deux catégories différentes :

C'est un débat permanent : Construire contre Acheter. Les bibliothèques open source peuvent fonctionner parmi l'échelon supérieur des outils de classification de texte d'apprentissage automatique, mais elles sont coûteuses et longues à construire et nécessitent des années d'expérience en science des données et en ingénierie informatique.

Les outils SaaS, en revanche, nécessitent peu ou pas de code, sont complètement évolutifs et beaucoup moins coûteux, car vous n'utilisez que les outils dont vous avez besoin. Mieux encore, la plupart peuvent être mis en œuvre immédiatement et entraînés (souvent en quelques minutes seulement) pour être aussi rapides et précis.

Bibliothèques open source pour la classification de texte

L'une des raisons pour lesquelles l'apprentissage automatique est devenu courant est grâce à la myriade de bibliothèques open source disponibles pour les développeurs intéressés à l'appliquer. Bien qu'elles nécessitent une solide expérience en science des données et en apprentissage automatique, ces bibliothèques offrent un bon niveau d'abstraction et de simplification. Python, Java et R offrent tous une large sélection de bibliothèques d'apprentissage automatique qui sont activement développées et fournissent un ensemble diversifié de fonctionnalités, de performances et de capacités.

Classification de texte avec Python

Python est généralement le langage de programmation de choix pour les développeurs et les data scientists qui travaillent avec des modèles d'apprentissage automatique. La syntaxe simple, sa communauté massive et la convivialité de ses bibliothèques mathématiques pour le calcul scientifique sont quelques-unes des raisons pour lesquelles Python est si répandu dans le domaine.

Scikit-learn est l'une des bibliothèques incontournables pour l'apprentissage automatique à usage général. Il prend en charge de nombreux algorithmes et fournit des fonctionnalités simples et efficaces pour travailler avec des modèles de classification de texte, de régression et de clustering. Si vous êtes un débutant en apprentissage automatique, scikit-learn est l'une des bibliothèques les plus conviviales pour démarrer avec la classification de texte, avec des dizaines de didacticiels et de guides pas à pas partout sur le Web.

NLTK est une bibliothèque populaire axée sur le traitement du langage naturel (NLP) qui a une grande communauté derrière elle. Il est très pratique pour la classification de texte, car il fournit toutes sortes d'outils utiles pour faire comprendre du texte à une machine, tels que la division de paragraphes en phrases, la division de mots et la reconnaissance de la partie du discours de ces mots.

Une bibliothèque NLP moderne et plus récente est SpaCy, une boîte à outils avec une approche plus simple et plus simple que NLTK. Par exemple, spaCy n'implémente qu'un seul stemmer (NLTK a 9 options différentes). SpaCy a également intégré des intégrations de mots, ce qui peut être utile pour améliorer la précision de la classification du texte.

Une fois que vous êtes prêt à expérimenter des algorithmes plus complexes, vous devriez consulter les bibliothèques d'apprentissage en profondeur telles que Keras, TensorFlow et PyTorch. Keras est probablement le meilleur point de départ car il est conçu pour simplifier la création de réseaux de neurones récurrents (RNN) et de réseaux de neurones convolutifs (CNN).

TensorFlow est la bibliothèque open source la plus populaire pour la mise en œuvre d'algorithmes d'apprentissage en profondeur. Développée par Google et utilisée par des entreprises telles que Dropbox, eBay et Intel, cette bibliothèque est optimisée pour la configuration, la formation et le déploiement de réseaux de neurones artificiels avec des ensembles de données massifs. Bien qu'il soit plus difficile à maîtriser que Keras, c'est le leader incontesté dans l'espace d'apprentissage en profondeur. Une alternative fiable à TensorFlow est PyTorch, une vaste bibliothèque d'apprentissage en profondeur principalement développée par Facebook et soutenue par Twitter, Nvidia, Salesforce, l'Université de Stanford, l'Université d'Oxford et Uber.

Classification de texte avec Java

Java est un autre langage de programmation largement utilisé pour implémenter des modèles d'apprentissage automatique. Comme Python, il possède une grande communauté, un écosystème étendu et une grande sélection de bibliothèques open source pour l'apprentissage automatique et la PNL.

CoreNLP est le framework le plus populaire pour la PNL en Java. Créé par l'Université de Stanford, il fournit un ensemble diversifié d'outils pour comprendre le langage humain, tels qu'un analyseur de texte, un tagueur de partie du discours (POS), un outil de reconnaissance d'entité nommée (NER), un système de résolution de coréférence et des outils d'extraction d'informations. .

Une autre boîte à outils populaire pour les tâches en langage naturel est OpenNLP. Créé par l'Apache Software Foundation, il fournit un ensemble d'outils d'analyse linguistique utiles pour la classification de texte tels que la tokenisation, la segmentation de phrases, le balisage de parties de discours, le découpage et l'analyse.

Weka est une bibliothèque d'apprentissage automatique développée par l'Université de Waikato et contient de nombreux outils tels que la classification, la régression, le clustering et la visualisation de données. Il fournit une interface utilisateur graphique pour appliquer la collection d'algorithmes de Weka directement à un ensemble de données, et une API pour appeler ces algorithmes à partir de votre propre code Java.

Classification de texte avec R

Le langage R est un langage de programmation accessible qui devient de plus en plus populaire parmi les passionnés d'apprentissage automatique. Historiquement, il a été le plus largement utilisé par les universitaires et les statisticiens pour l'analyse statistique, la représentation graphique et les rapports. Selon KDnuggets, il s'agit actuellement du deuxième langage de programmation le plus populaire pour l'analyse, la science des données et l'apprentissage automatique (tandis que Python est n°1).

R est un excellent choix pour les tâches de classification de texte car il fournit une collection complète, cohérente et intégrée d'outils pour l'analyse des données.

Caret est un package complet pour la création de modèles d'apprentissage automatique en R. Abréviation de « Classification and Regression Training », il offre une interface simple pour appliquer différents algorithmes et contient des outils utiles pour la classification de texte, tels que le prétraitement, la sélection de fonctionnalités et le réglage du modèle. .

Mlr est un autre package R qui fournit une interface standardisée pour l'utilisation d'algorithmes de classification et de régression ainsi que leurs méthodes d'évaluation et d'optimisation correspondantes.

API de classification de texte SaaS

Les outils open source sont excellents, mais ils s'adressent principalement aux personnes ayant une formation en apprentissage automatique. En outre, ils ne fournissent pas un moyen facile de déployer et de mettre à l'échelle des modèles d'apprentissage automatique, de nettoyer et de gérer des données, de baliser des exemples de formation, de faire de l'ingénierie de fonctionnalités ou des modèles d'amorçage.

Vous vous demandez peut-être s'il existe un moyen plus simple ?

Eh bien, si vous voulez éviter ces tracas, une excellente alternative consiste à utiliser un logiciel en tant que service (SaaS) pour la classification de texte qui résout généralement la plupart des problèmes mentionnés ci-dessus. Un autre avantage est qu'ils ne nécessitent pas d'expérience en apprentissage automatique et même les personnes qui ne savent pas coder peuvent utiliser et consommer des classificateurs de texte. En fin de compte, laisser le gros du travail à un SaaS peut vous faire gagner du temps, de l'argent et des ressources lors de la mise en œuvre de votre système de classification de texte.

Certaines des solutions SaaS et API les plus remarquables pour la classification de texte incluent :

  • SingeApprendre
  • PNL Google Cloud
  • IBM Watson
  • Lexalytique
  • SignificationNuage
  • Amazon Comprendre
  • Aylien

Tutoriel de classification de texte avec MonkeyLearn

La meilleure façon d'en apprendre davantage sur la classification de texte est de vous mouiller les pieds et de créer votre premier classificateur. Si vous ne voulez pas investir trop de temps dans l'apprentissage de l'apprentissage automatique ou le déploiement de l'infrastructure requise, vous pouvez utiliser MonkeyLearn, une plate-forme qui facilite la création, la formation et l'utilisation de classificateurs de texte. Et une fois que vous avez construit votre classificateur, vous pouvez voir vos résultats avec des détails saisissants avec MonkeyLearn Studio. Inscrivez-vous gratuitement et créez votre propre classificateur en suivant ces quatre étapes simples :

1. Créez un nouveau classificateur de texte :

Accédez au tableau de bord, puis cliquez sur Créer un modèle et choisissez Classificateur:

2. Téléchargez les données d'entraînement :

Ensuite, vous devrez télécharger les données que vous souhaitez utiliser comme exemples pour entraîner votre modèle. Vous pouvez télécharger un fichier CSV ou Excel ou importer vos données texte directement depuis une application tierce telle que Twitter, Gmail, Zendesk ou des flux RSS :

3. Définissez les balises de votre modèle :

L'étape suivante consiste à définir les balises que vous souhaitez utiliser pour votre classificateur de texte :

Une fois le classificateur formé, les données entrantes seront automatiquement classées dans les balises que vous spécifiez à cette étape. Essayez d'éviter d'utiliser des balises qui se chevauchent ou qui sont ambiguës, car cela peut prêter à confusion et aggraver la précision du classificateur.

4. Marquez les données pour entraîner le classificateur :

Enfin, vous devrez baliser chaque exemple avec la catégorie attendue pour commencer à entraîner le modèle d'apprentissage automatique :

Au fur et à mesure que vous marquez des données, le classificateur apprendra à reconnaître des modèles similaires lorsqu'il est présenté avec un nouveau texte et à effectuer une classification précise. N'oubliez pas : plus vous étiquetez de données, plus le modèle sera précis.

Tester le classificateur

Une fois l'assistant de création terminé, vous pourrez tester le classificateur dans "Run" > « Demo » et voir comment le modèle classe les textes que vous écrivez :


Nous vous aidons avec le Machine Learning ! ??

Les blogs de MachineCurve enseignent le Machine Learning pour les développeurs. Inscrivez-vous à MachineCurve's libre Mise à jour de l'apprentissage automatique aujourd'hui ! Tu vas apprendre nouvelles choses et mieux comprendre concepts que vous connaissez déjà.

Nous envoyons des e-mails au moins tous les vendredis. Bienvenue!

D'autre part, avec nu-SVR, vous contrôlerez le nombre de vecteurs de support au lieu. En conséquence, vous ne contrôlez pas le montant maximal d'erreur autorisé dans le modèle - il est estimé pour vous. Par conséquent, vous aurez probablement besoin de ressources moins nombreuses ou plus simples qu'avec ep-SVR, mais vous trouverez probablement une erreur légèrement plus importante.

En fonction de vos besoins, vous devez choisir le type de SVR qui correspond à votre problème d'apprentissage automatique.


Quelle est la taille de votre ensemble d'entraînement?

If your training set is small, high bias/low variance classifiers (e.g., Naive Bayes) have an advantage over low bias/high variance classifiers (e.g., kNN), since the latter will overfit. But low bias/high variance classifiers start to win out as your training set grows (they have lower asymptotic error), since high bias classifiers aren’t powerful enough to provide accurate models.

You can also think of this as a generative model vs. discriminative model distinction.


6. Soft Margin Classifiers

The problem with the hard margin classifiers is that when the data are not linearly separable, these algorithms will not converge at all or will converge to a solution that is not meaningful (the non-margin classifiers are not affected by this problem). We deal with this problem by extending the hard margin classifiers to soft margin classifiers. For this, we apply a form of “regularized” preprocessing to the data, which then become linearly separable. The hard margin classifiers can subsequently be applied on these processed data. Alternatively, in the case of the SVM, we can also rewrite its formulation in order to allow nonlinearly separable data sets.

6.1. From Hard to Soft Margins.

6.2. Soft Margin SVM.


Reinforcement machine learning

Reinforcement machine learning is a behavioral machine learning model that is similar to supervised learning, but the algorithm isn’t trained using sample data. This model learns as it goes by using trial and error. A sequence of successful outcomes will be reinforced to develop the best recommendation or policy for a given problem.

The IBM Watson® system that won the Péril! challenge in 2011 makes a good example. The system used reinforcement learning to decide whether to attempt an answer (or question, as it were), which square to select on the board, and how much to wager—especially on daily doubles.


Data Gathering & Exploration

Before selecting and training machine learning models, we need to take a look at the data to better understand trends within incident tickets. ServiceNow provides a robust Table API framework for us to grab the data directly from the platform.

ServiceNow provides you with fantastic opportunity to explore the nuances of RESTful API tuning with their embedded API Explorer. This tool helps the user build custom API requests from scratch, whittling down query parameters, fields, etc. into easy-to-understand increments. Furthermore, you can hit popular tables (incident, task, etc.) or create complex queries. It’s an awesome tool for any data professional!

Let’s take a look at our dataframe:

Since we’re interested in associating text with a relevant classifier, we can use a categorical variable like “u_portfolio” to label each row in our dataframe. Despite a pretty serious class imbalance (“Global Support Services” with almost 65% of all records) and more than 2,000 missing values, we want to eliminate those specific categories with fewer than 100 tickets to reduce noise and ensure we’re only using relevant categories. Let’s create a pure text column called “text” by concatenating together “short_description” and “description”. We definitely want to visualize the updated dataframe!

It looks like we dropped more than 5 categories after setting the threshold to 100 tickets, returning only those categories with relevant business value. After digging into the data and asking around a bit, I confirmed the dropped categories hadn’t been used in more than a year and could be comfortably eliminated.

A note on class imbalance and the wonderful world of enterprise consulting:

Global Support Services (GSS) accounts for more than 60% of total support tickets. That means we could write a simple program to assign GSS to every incoming ticket, and we’d be right more half the time!

Without doing any advanced analysis, we’ve identified a major issue. The 3rd party vendor that charges $13 for every ticket interaction and averages 40% accuracy, is performing pire than if my client took no action at all…Imagine breaking cette news to the CIO!

The remaining categories will be used as the Étiquettes to train/test the model. Let’s save them as a list:

Now that we have our category_labels, we need to better understand the text patterns for each type of ticket. By peeking into the ServiceNow platform, I can quickly gather a few themes by category: GSS handles a lot of password resets and hardware issues Business Intelligence covers reporting functions and data questions Client deals with SalesForce and other customer apps SAP S/4 Security manages all ERP related access/configuration. If you’ve worked in this corporate arena before, these motifs sound familiar. It’s easy for a human to identify a few keywords for each category by studying the data — let’s see if a computer can do it too!

Once we run the code, we can inspect the output:

Unfortunately, there’s not much here, as the most common words barely differ by category. I investigated and found that emails account for more than 75% of ticket submissions all internal employees have some version of a confidentiality notice below their signature that distorts significant differences between the categories. We can try and change N to see if other patterns emerge “down the line”, or hard code the email signature into the STOPLIST variable to prevent it from showing up, but this wouldn’t fix the root cause. Instead, we want to find words/phrases that correlate with each label in our list of categories. This is called Term Selection, and can help us identify the most relevant terms by label for our dataset.

Let’s explore some ML solutions for measuring and evaluating correlation!


Voir la vidéo: Learning in the Age of Intelligent Machines by Adil Tugyan, Georgia Laskari and Marco Neves (Juillet 2022).


Commentaires:

  1. Najm Al Din

    Bravo, ses mots sont parfaits

  2. Tukree

    Le silence a commencé :)



Écrire un message