Boîte à outils en langage naturel - Introduction
Qu'est-ce que le traitement du langage naturel (NLP)?
La méthode de communication à l'aide de laquelle les humains peuvent parler, lire et écrire est le langage. En d'autres termes, nous, les humains, pouvons penser, faire des plans, prendre des décisions dans notre langage naturel. Ici, la grande question est, à l'ère de l'intelligence artificielle, de l'apprentissage automatique et de l'apprentissage profond, les humains peuvent-ils communiquer en langage naturel avec des ordinateurs / machines? Développer des applications PNL est un énorme défi pour nous car les ordinateurs nécessitent des données structurées, mais d'un autre côté, la parole humaine est non structurée et souvent de nature ambiguë.
Le langage naturel est ce sous-domaine de l'informatique, plus spécifiquement de l'IA, qui permet aux ordinateurs / machines de comprendre, traiter et manipuler le langage humain. En termes simples, la PNL est un moyen pour les machines d'analyser, de comprendre et de tirer un sens des langues naturelles humaines comme l'hindi, l'anglais, le français, le néerlandais, etc.
Comment ça marche?
Avant de plonger dans le fonctionnement de la PNL, nous devons comprendre comment les êtres humains utilisent le langage. Chaque jour, nous, les humains, utilisons des centaines ou des milliers de mots et d'autres humains les interprètent et répondent en conséquence. C'est une simple communication pour les humains, n'est-ce pas? Mais nous savons que les mots sont beaucoup plus profonds que cela et nous tirons toujours un contexte de ce que nous disons et de la façon dont nous disons. C'est pourquoi nous pouvons dire plutôt que de se concentrer sur la modulation de la voix, la PNL s'appuie sur un modèle contextuel.
Comprenons-le avec un exemple -
Man is to woman as king is to what?
We can interpret it easily and answer as follows:
Man relates to king, so woman can relate to queen.
Hence the answer is Queen.
Comment les humains savent ce que signifie ce mot? La réponse à cette question est que nous apprenons grâce à notre expérience. Mais, comment les machines / ordinateurs apprennent-ils la même chose?
Comprenons-le en suivant les étapes faciles -
Tout d'abord, nous devons alimenter les machines avec suffisamment de données pour que les machines puissent apprendre de l'expérience.
Ensuite, la machine créera des vecteurs de mots, en utilisant des algorithmes d'apprentissage en profondeur, à partir des données que nous avons fournies précédemment ainsi qu'à partir des données environnantes.
Ensuite, en effectuant de simples opérations algébriques sur ces vecteurs de mots, la machine serait capable de fournir les réponses en tant qu'êtres humains.
Composantes de la PNL
Le diagramme suivant représente les composants du traitement du langage naturel (NLP) -
Traitement morphologique
Le traitement morphologique est le premier composant de la PNL. Il comprend la décomposition de morceaux de langue d'entrée en ensembles de jetons correspondant à des paragraphes, des phrases et des mots. Par exemple, un mot comme“everyday” peut être divisé en deux jetons de sous-mot comme “every-day”.
Analyse de la syntaxe
L'analyse de syntaxe, le deuxième composant, est l'un des composants les plus importants de la PNL. Les objectifs de ce composant sont les suivants -
Pour vérifier qu'une phrase est bien formée ou non.
Le décomposer en une structure qui montre les relations syntaxiques entre les différents mots.
Par exemple, les phrases comme “The school goes to the student” serait rejeté par l'analyseur de syntaxe.
Analyse sémantique
L'analyse sémantique est le troisième composant de la PNL qui est utilisé pour vérifier la signification du texte. Cela comprend le dessin de la signification exacte, ou nous pouvons dire la signification du dictionnaire à partir du texte. Par exemple, les phrases comme «C'est une glace chaude». serait rejeté par l'analyseur sémantique.
Analyse pragmatique
L'analyse pragmatique est la quatrième composante de la PNL. Il comprend l'ajustement des objets ou événements réels qui existent dans chaque contexte avec des références d'objet obtenues par le composant précédent, c'est-à-dire l'analyse sémantique. Par exemple, les phrases comme“Put the fruits in the basket on the table” peut avoir deux interprétations sémantiques, donc l'analyseur pragmatique choisira entre ces deux possibilités.
Exemples d'applications PNL
La PNL, une technologie émergente, dérive diverses formes d'IA que nous avions l'habitude de voir ces jours-ci. Pour les applications de plus en plus cognitives d'aujourd'hui et de demain, l'utilisation de la PNL pour créer une interface transparente et interactive entre les humains et les machines restera une priorité absolue. Voici quelques-unes des applications très utiles de la PNL.
Traduction automatique
La traduction automatique (MT) est l'une des applications les plus importantes du traitement du langage naturel. La MT est essentiellement un processus de traduction d'une langue source ou d'un texte dans une autre langue. Le système de traduction automatique peut être bilingue ou multilingue.
Lutter contre le spam
En raison de l'énorme augmentation des e-mails indésirables, les filtres anti-spam sont devenus importants car c'est la première ligne de défense contre ce problème. En considérant ses problèmes de faux positifs et de faux négatifs comme les principaux problèmes, la fonctionnalité de la PNL peut être utilisée pour développer un système de filtrage du spam.
La modélisation N-gram, le mot Stemming et la classification bayésienne font partie des modèles PNL existants qui peuvent être utilisés pour le filtrage des spams.
Récupération d'informations et recherche sur le Web
La plupart des moteurs de recherche comme Google, Yahoo, Bing, WolframAlpha, etc. basent leur technologie de traduction automatique (MT) sur des modèles d'apprentissage en profondeur PNL. Ces modèles d'apprentissage en profondeur permettent aux algorithmes de lire du texte sur une page Web, d'interpréter sa signification et de le traduire dans une autre langue.
Récapitulation automatique du texte
La synthèse automatique de texte est une technique qui crée un résumé court et précis de documents texte plus longs. Par conséquent, cela nous aide à obtenir des informations pertinentes en moins de temps. En cette ère numérique, nous avons un besoin sérieux de récapitulation automatique du texte car nous avons le flot d'informations sur Internet qui ne va pas s'arrêter. La PNL et ses fonctionnalités jouent un rôle important dans le développement d'une synthèse automatique de texte.
Correction grammaticale
La correction orthographique et grammaticale est une fonctionnalité très utile des logiciels de traitement de texte comme Microsoft Word. Le traitement du langage naturel (NLP) est largement utilisé à cette fin.
Réponse aux questions
La réponse aux questions, une autre application principale du traitement du langage naturel (PNL), se concentre sur la construction de systèmes qui répondent automatiquement à la question posée par l'utilisateur dans son langage naturel.
Analyse des sentiments
L'analyse des sentiments fait partie des autres applications importantes du traitement du langage naturel (NLP). Comme son nom l'indique, l'analyse des sentiments est utilisée pour -
Identifiez les sentiments parmi plusieurs articles et
Identifiez le sentiment où les émotions ne sont pas exprimées explicitement.
Les entreprises de commerce électronique en ligne comme Amazon, ebay, etc. utilisent l'analyse des sentiments pour identifier l'opinion et le sentiment de leurs clients en ligne. Cela les aidera à comprendre ce que leurs clients pensent de leurs produits et services.
Moteurs vocaux
Les moteurs vocaux comme Siri, Google Voice, Alexa sont basés sur la PNL afin que nous puissions communiquer avec eux dans notre langage naturel.
Implémentation de la PNL
Afin de créer les applications mentionnées ci-dessus, nous devons avoir un ensemble de compétences spécifiques avec une grande compréhension du langage et des outils pour traiter le langage efficacement. Pour y parvenir, nous disposons de différents outils open source. Certains d'entre eux sont open-source tandis que d'autres sont développés par des organisations pour créer leurs propres applications PNL. Voici la liste de quelques outils PNL -
Kit d'outils en langage naturel (NLTK)
Mallet
GATE
PNL ouvert
UIMA
Genism
Boîte à outils de Stanford
La plupart de ces outils sont écrits en Java.
Kit d'outils en langage naturel (NLTK)
Parmi les outils de PNL susmentionnés, NLTK obtient des scores très élevés en ce qui concerne la facilité d'utilisation et l'explication du concept. La courbe d'apprentissage de Python est très rapide et NLTK est écrit en Python, donc NLTK a également un très bon kit d'apprentissage. NLTK a incorporé la plupart des tâches telles que la création de jetons, la racine, la lemmatisation, la ponctuation, le nombre de caractères et le nombre de mots. Il est très élégant et facile à travailler.