Browsing Category

Définitions

Cette catégorie reprend l’ensemble des définitions utiles à un Data Scientist

Définitions

Focus sur le NLP ou Natural Language Processing

C’est seulement il y a 40 ans que l’objectif de doter les ordinateurs de la capacité de comprendre le langage naturel au sens de courant a commencé. Cet objectif de compréhension du langage naturel par les ordinateurs – plus communément appelé traitement du langage naturel ou “natural language processing” en anglais (NLP)est le sujet de cet article. 

Le Natural Language Processing est considéré comme une branche de l’Intelligence Artificielle, mais est devenu au fil des années un domaine d’études intéressant en matière de statistiques informatiques et de fouille de données textuelles.  

La maitrise du NLP permet d’accéder à des opportunités professionnelles dans le secteur de la data science. Seul un data scientist qui maitrise les techniques de machine learning et deep learning sera capable d’utiliser ces modèles pour les appliquer à des problématiques de traitement du langage naturel. D’où la nécessité de se former à la data science au travers d’une formation spécialisée.

Qu’est ce que le NLP ? 

La NLP est une approche computationnelle de l’analyse des textes. 

“Il s’agit d’une gamme de techniques informatiques à motivation théorique pour l’analyse et la représentation de textes naturels à un ou plusieurs niveaux d’analyse linguistique dans le but d’obtenir un traitement du langage similaire à l’humain pour une série de tâches ou d’applications”.

Le NLP regroupe les techniques qui utilisent des ordinateurs pour analyser, déterminer la similarité sémantique entre des mots et traduire entre les langues. Ce domaine concerne généralement les langues écrites, mais il pourrait également s’appliquer à la parole. 

Dans cet article, nous aborderons les définitions et concepts nécessaires à la compréhension et méthodes nécessaires à la compréhension du NLP, les méthodes de l’analyse syntaxique ainsi que le modèle d’espace vectoriel pour le NLP au niveau du document. 

Définitions et concepts

Présentons d’abord quelques définitions et concepts utilisés en NLP:

  • un corpus est un ensemble de documents
  • le lexique est un ensemble de mots utilisés dans la langue. En NLP, le lexique fait généralement référence à l’ensemble des mots uniques contenus dans le corpus

Les axes d’analyse pris en NLP sont :

  • la morphologie traite de la structure des mots individuels. Ainsi, les techniques dans ce domaine comprendraient des méthodes pour endiguer, attribuer la partie des balises vocales…
  • la syntaxe concerne la structure des phrases et les règles pour les construire. Elle est particulièrement importante car elle permet de déterminer le sens d’une phrase, également appelé sémantique.
  • la sémantique

Revenons quelques instants sur la syntaxe : une structure syntaxique peut être créée grâce à l’utilisation de la grammaire qui spécifie les règles de la langue. Un type de grammaire communément utilisé en NLP est la grammaire sans contexte (CFGs). 

Un CFG comprend les parties suivantes :

  • des symboles des terminaux, qui peuvent être des mots ou de la ponctuation
  • des symboles non terminaux, qui peuvent être des parties de discours, de phrases…
  • des symboles de départ
  • ou encore un ensemble de règles avec un seul symbole non terminal à gauche et un ou plusieurs symboles à droite (terminaux ou non terminaux)

Les CFG ont certaines limites, mais ils peuvent s’acquitter de manière adéquate de certaines tâches de la NLP, telles que l’analyse syntaxique des phrases.

Un système de NLP devrait idéalement être capable de déterminer la structure du texte, afin de pouvoir répondre à des questions sur le sens ou la sémantique de la langue écrite. La première étape consiste à analyser les phrases en structures grammaticales. Cependant, l’analyse et la compréhension d’une langue naturelle à partir d’un domaine illimité se sont révélées extrêmement difficiles en raison de la complexité des langues naturelles, de l’ambiguïté des mots et des règles de grammaire difficiles. 

Cet article fournit une introduction au NLP, qui comprend des informations sur ses principales approches. 

Parmi les domaines de recherche fructueux en matière de NLP et de fouille de données textuelles, citons différentes méthodes pour la conversion de textes en données quantitatives, d’autres moyens de réduire les dimensions du texte, des techniques de visualisation des grands corpus,  et des approches qui prennent en compte la dimension temporelle de certaines collections de documents. 

Par conséquent, le NLP est utilisé dans une grande variété de disciplines pour résoudre de nombreux types de problèmes différents. L’analyse de texte est effectuée sur des textes allant de quelques mots saisis par l’utilisateur pour une requête Internet à de multiples documents qui doivent être résumés. La quantité et la disponibilité des données non structurées ont fortement augmenté au cours des dernières années. Cela a pris des formes telles que les blogs, les tweets et divers autres réseaux sociaux. Le NLP est idéal pour analyser ce type d’informations. 

Le Machine Learning et l’analyse de texte sont fréquemment utilisés pour améliorer l’utilité d’une application. 

Voici une brève liste des domaines d’application:

  • la recherche qui identifie des éléments spécifiques du texte. Elle peut être aussi simple que de trouver l’occurrence d’un nom dans un document ou peut impliquer l’utilisation de synonymes et d’orthographes/fausses orthographes alternatives pour trouver des entrées proches de la chaîne de recherche originale
  • la traduction automatique qui implique généralement la traduction d’une langue naturelle dans une autre. 
  • des résumés : le NLP a été utilisé avec succès pour résumer des paragraphes, articles, documents ou recueils de documents 
  • NER (Named-Entity Recognition) qui consiste à extraire du texte les noms des lieux, des personnes et des choses. Généralement, cette opération est utilisée en conjonction avec d’autres tâches du NLP, comme le traitement des requêtes

Les tâches du NLP utilisent fréquemment différentes techniques de Machine Learning. Une approche commune commence par la formation d’un modèle à l’exécution d’une tâche, la vérification que le modèle est correct, puis l’application du modèle à un problème.

Application du NLP

Le NLP peut nous aider dans de nombreuses tâches et ses champs d’application semblent s’élargir chaque jour. Mentionnons quelques exemples :

  • le NLP permet la reconnaissance et la prédiction des maladies sur la base des dossiers médicaux électroniques et de la parole du patient. Cette capacité est explorée dans des conditions de santé qui vont des maladies cardiovasculaires à la dépression et même à la schizophrénie. Par exemple, Amazon Comprehend Medical est un service qui utilise le NLP pour extraire les états pathologiques, les médicaments et les résultats des traitements à partir des notes des patients, des rapports d’essais cliniques et d’autres dossiers médicaux électroniques.
  • Les organisations peuvent déterminer ce que les clients disent d’un service ou d’un produit en identifiant et en extrayant des informations dans des sources telles que les réseaux sociaux. Cette analyse des sentiments peut fournir de nombreuses informations sur les choix des clients et les facteurs de décision.
  • Un inventeur travaillant chez IBM a mis au point un assistant cognitif qui fonctionne comme un moteur de recherche personnalisé en apprenant tout sur vous et en vous rappelant ensuite un nom, une chanson ou tout ce dont vous ne vous souvenez pas au moment où vous en avez besoin.
  • Le NLP est également utilisé dans les phases de recherche et de sélection de recrutement des talents, pour identifier les compétences des personnes susceptibles d’être embauchées et aussi pour repérer les prospects avant qu’ils ne deviennent actifs sur le marché du travail. 

Le NLP est particulièrement en plein essor dans le secteur des soins de santé. Cette technologie améliore la prestation des soins, le diagnostic des maladies et fait baisser les coûts, tandis que les organismes de soins de santé adoptent de plus en plus les dossiers de santé électroniques. Le fait que la documentation clinique puisse être améliorée signifie que les patients peuvent être mieux compris et bénéficier de meilleurs soins de santé.

 

Définitions

Machine Learning vs Human Decision Making (Similarités et Différences):

Nous entendons tous parler du terme « Machine Learning », qui peut se décomposer en trois grandes catégories :

  • L’apprentissage supervisé
  • L’apprentissage non supervisé
  • L’apprentissage par renforcement

En apprentissage supervisé, un programme informatique reçoit un ensemble de données qui est étiqueté avec des valeurs de sorties correspondantes, ainsi on pourra alors « s’entrainer » sur ce modèle et une fonction sera déterminée. Cette fonction, ou algorithme pourra par la suite être utilisé sur de nouvelles données afin de prédire leurs valeurs de sorties correspondantes. C’est le cas par exemple de la Régression Linéaire, des Arbres de décisions, SVM (Support Vector Machine)…

En voici une illustration :

 

Pour l’Homme, il s’agit du même principe. De par son expérience, il va mémoriser une grande quantité d’informations et face à une situation, il va pouvoir se remémorer une situation similaire et émettre une conclusion.

Dans l’apprentissage non-supervisé, l’ensemble des données n’a pas de valeurs de sorties spécifiques. Puisqu’il n’y a pas de bonnes réponses à tirer, l’objectif de l’algorithme est donc de trouver lui-même tous les modèles intéressants à partir des données. Certains des exemples bien connus d’apprentissage non supervisé comprennent les algorithmes de Clustering comme KMeans, DB-Scan et de réduction de dimension comme l’ACP (Analyse en Composantes Principales) et les réseaux de neurones.

Chez l’Homme, le principe est le même, certains critères vous nous permettre de différencier ce que se présente sous yeux et donc de déterminer différentes classes.

Dans l’apprentissage par renforcement, les « bonnes réponses » contiennent des récompenses, que l’algorithme doit maximiser en choisissant les actions à prendre.

Essentiellement, l’apprentissage par renforcement consiste à trouver le bon équilibre entre l’exploration et l’exploitation, ou l’exploration ouvre la possibilité de trouver des récompenses plus élevées, ou risque de n’obtenir aucunes récompenses. Les jeux tels que les Dames sont basés sur ce principe.

Le psychologue BF Skinner (1938), a observé le même résultat au cours d’une expérience sur les rats ou un levier offrait une récompense tandis qu’un autre administrait un choc. Le constat est simple, la punition a entrainé une diminution de la pression du levier de choc.

En comparant le Machine Learning à l’apprentissage d’un Humain, on observe donc beaucoup de similitude mais évidemment, il existe encore des différences fondamentales entre les deux :

Bien que les algorithmes d’apprentissage supervisé fournissent un aperçu complet de l’environnement, ils nécessitent une grande quantité de données pour que le modèle soit construit, ce qui peut être un peu lourd en termes de calculs.

A l’inverse, l’Homme a besoin de beaucoup moins de données pour être capable de faire des prédictions notamment en extrapolant les concepts qu’il a en mémoire. Le Machine Learning lui ne pourra pas le faire car les programmes n’interprètent pas des concepts mais des données.

Un autre problème survient quand on parle de sur-apprentissage ou « Overfitting » en anglais, qui se produit lorsque les données d’apprentissage utilisées pour construire un modèle expliquent très voire « trop » bien les données mais ne parviennent pas à faire des prédictions utiles pour de nouvelles données. L’Homme aura donc plus de flexibilité dans son raisonnement alors que les algorithmes de Machine Learning seront eux plus rigides.

En conclusion, le Machine Learning a souvent été comparé au raisonnement Humain, même si les deux ne sont pas exactement les mêmes.

Chez l’Homme, l’apprentissage a été façonné par des processus évolutifs pour devenir ce qu’il est aujourd’hui. Bien que de nombreuses théories ont tenté de d’expliquer ses mécanismes, sa nature dynamique conduit à dire que différentes stratégies peuvent être utilisées simultanément ou séparément, selon la situation. Il est donc difficile de le comparer au Machine Learning. Après tout, le Machine Learning a été programme par les humains… ainsi, de nouveaux concepts verront le jour pour pouvoir sans cesse améliorer nos algorithmes d’apprentissage qui sont déjà très efficace pour la prise de décision sur de large bases de données. Une Machine dotée d’une conscience ne verra sans doute jamais le jour, mais d’ici peu, la capacité de prise de décision des automates supplantera celle des humains dans quasiment tous les domaines

Définitions

Aperçu – simple ! – des principaux modèles prédictifs

De nombreux termes barbares hantent les articles liés à la Data Science et au prédictif, que ce soient des algorithmes ou des modèles, comment avoir un aperçu de ce qui les caractérise et les différencie, sans pour autant être bac+10 en statistiques ?

Réponse sur 3 modèles que j’ai le plus fréquemment rencontrés : la régression linéaire, la régression logistique et l’arbre de décisions.

Attention, cet article s’adresse à des non-matheux, d’où un langage et des explications volontairement simplifiées 😉

Continue Reading

Définitions

R ou Python: Comment choisir ?

On me pose souvent la question: pourquoi avoir commencé à apprendre Python plutôt que R?

A la base, je n’ai pas de réponse, si ce n’est le hasard, puisque j’ai commencé à apprendre Python grâce à Codecademy. Et il semblerait que ce soit difficile d’apprendre les deux en parallèle…

Mais les deux s’opposent-ils vraiment? Choisir, c’est renoncer, alors à quoi devons-nous renoncer exactement?

Continue Reading

illustration abstraite du machine learning
Définitions

Qu’est-ce que le Machine Learning ?

Comment définir le Machine learning ?

Le Machine learning est un type d’intelligence artificielle (IA) qui permet aux ordinateurs d’apprendre sans être explicitement programmés. Il se concentre sur le développement de programmes informatiques qui peuvent changer lorsqu’ils sont exposés à de nouvelles données.
Le processus d’apprentissage automatique est similaire à celui de l’exploration de données. Les deux systèmes recherchent dans les données pour trouver des modèles. Cependant, au lieu d’extraire les données pour la compréhension humaine, le Machine learning utilise ces données pour détecter des modèles dans ces données et ajuster les actions du programme en conséquence. Par exemple, Facebook utilise l’apprentissage automatique pour ajuster chaque contenu en fonction du profil d’un utilisateur.

Continue Reading

Définitions

Les technologies du web à connaître

Abordons un peu de technique maintenant: Qui contrôle les normes du Web, qu’est-ce qu’une architecture 3-tiers, qu’est-ce qu’un hub…? Vous séchez?

Voici une infographie que j’ai produite pour mettre en images (et en couleurs!) les notions quelque peu barbares pour les novices à propos des technologies du web.

Continue Reading