Hassan est un scientifique des données et a obtenu son Master of Science en Data Science de l’Université Heriot-Watt.
Toile
Le traitement du langage naturel (TLN) est un type d’intelligence artificielle (IA). C’est la capacité d’apprendre à un ordinateur à comprendre la parole et le langage humains. La technologie existe depuis les années 1950, mais ce n’est que récemment qu’elle a été largement utilisée et reconnue.
L’utilisation de la PNL dans les applications quotidiennes a connu une croissance exponentielle au cours des dernières années. Vous pouvez le trouver dans les chatbots, la recherche vocale et les assistants vocaux comme Alexa, Siri et Google Assistant.
La PNL est utilisée dans diverses industries, notamment la santé, l’analyse commerciale, l’informatique décisionnelle, le service client, l’éducation, le divertissement et le développement de jeux. Cet article couvrira certains des plus grands défis auxquels est confrontée la PNL aujourd’hui.
1. Tenir compte du contexte
Il est crucial de comprendre le contexte d’un mot. Par exemple, dans la phrase « Nous l’avons vu parler à ses amis », le mot « parlé » peut être remplacé par « bavardé », selon qu’il parlait à ses amis avec désinvolture ou dans le cadre d’une conversation sérieuse.
Le contexte est important lorsqu’il s’agit d’interpréter ce que les gens disent et de leur écrire des messages significatifs. Si vous cherchez une preuve de cela, ne cherchez pas plus loin que l’assistant virtuel de Google, Google Assistant, qui utilise des algorithmes de traitement du langage naturel (NLP) pour analyser votre saisie de texte et proposer des suggestions sur la meilleure façon de répondre.
Le problème avec la PNL aujourd’hui est qu’elle ne tient pas compte du contexte lorsqu’elle fait des suggestions. Ainsi, plutôt que de suggérer une réponse basée sur ce que vous avez dit jusqu’à présent (et où), nous avons un algorithme qui examine les mots individuels indépendamment les uns des autres – une approche connue sous le nom d’analyse superficielle.
Cela signifie que nos machines ne peuvent pas effectuer d’analyses sophistiquées en utilisant des informations provenant de plusieurs sources à la fois, ce que les humains font naturellement sans même y penser.
2. Résoudre le langage ambigu
Un langage ambigu peut être un énorme défi pour tout système de PNL. Cela est particulièrement vrai en ce qui concerne le traitement du langage naturel puisque les humains utilisent souvent un langage vague pour s’exprimer différemment. Par exemple, « je suis allé au magasin » peut signifier que vous êtes allé au magasin à pied ou en voiture, et cela peut également signifier que vous êtes allé faire vos courses dans un magasin physique ou chez un détaillant en ligne.
Le problème avec le langage ambigu est qu’il peut conduire à des résultats très différents selon le contexte d’une situation. Par exemple, supposons que votre système NLP essaie de déterminer si quelqu’un voulait dire « Je suis allé au supermarché » ou « Je suis allé faire du shopping chez Amazon ». Dans ce cas, cela pourrait se tromper parce que l’un pourrait être interprété comme faisant partie d’une phrase plus significative sur le fait d’aller aux deux endroits.
Pour qu’un système de PNL soit efficace, il doit reconnaître et interpréter avec précision toutes ces différentes formes de langage ambigu sans se confondre ou les interpréter d’une autre manière. La solution consiste à utiliser plusieurs formes de contexte. Si un système NLP a deux sources d’informations différentes sur la même chose, alors il peut utiliser ces sources pour déterminer si son interprétation est correcte ou non.
Par exemple, supposons que vous essayiez de déterminer si quelqu’un parlait de faire ses courses chez Amazon ou au supermarché. Dans ce cas, vous pouvez regarder ce qu’ils ont dit d’autre dans la conversation et tout autre indice de contexte qui pourrait être disponible (comme les données de localisation de leur téléphone).
3. Gestion du changement de code et de la saisie de langues mixtes
Un grand défi pour les systèmes NLP est de gérer le changement de code et la saisie de langues mixtes. Le changement de code, lorsqu’un locuteur alterne entre deux langues dans la même conversation, peut être difficile à analyser car vous devrez peut-être regarder plus d’une langue à la fois.
La reconnaissance vocale peut gérer ces situations de différentes manières ; la plupart impliquent l’utilisation de modèles multiples ou conditionnels qui s’entraînent sur des parties spécifiques du discours ou des types de caractères (par exemple, haoussa/anglais). Cela permet à votre système d’identifier quelle partie du discours doit aller avec quelle autre partie du discours en fonction des indices contextuels des mots précédents (comme « hier » ou « acheté ») et de leur relation avec les dernières phrases. En fin de compte, la reconnaissance vocale n’est qu’une autre forme d’apprentissage automatique, et c’est pourquoi elle est si puissante.
4. Traduire les langues et les dialectes locaux
Le problème le plus difficile auquel est confronté le PNL est le processus de traduction des langues. Le défi réside non seulement dans le fait qu’il existe des milliers de langues connues (les estimations varient considérablement, mais au moins 5 000) mais aussi dans le fait que certaines ont beaucoup moins de locuteurs que d’autres.
Par exemple, alors que l’anglais est parlé par environ 375 millions de personnes dans le monde et le russe par environ 190 millions de personnes (environ deux fois plus), ce dernier a presque deux fois plus de lettres dans son alphabet que le premier. Cela rend beaucoup plus difficile la traduction du russe vers l’anglais que l’inverse : un mot comme « kommuna » – qui se traduit approximativement par « centre communautaire » – ne peut pas être traduit littéralement en anglais sans perdre son sens.
Il en va de même pour des mots comme « goulag » (un réseau de prisons de l’ère soviétique) ou même des concepts grammaticaux simples tels que le temps ou l’accord de genre ; ils n’existent pas dans d’autres langues.
Toile
5. Généralisation à de nouveaux domaines et types de données
Alors que le domaine du NLP continue de croître et de se développer, il est essentiel de se rappeler l’importance de la généralisation à de nouveaux domaines et types de données. La difficulté de généraliser votre modèle vient du fait que vous essayez d’apprendre comment votre modèle se comporte sur des données qui n’ont pas encore été vues auparavant.
Pour généraliser avec succès votre modèle, vous aurez besoin d’une solide compréhension de ce qui constitue une fonction de perte appropriée et d’une compréhension intuitive de la raison pour laquelle ces paramètres doivent être définis à des valeurs spécifiques avant de les former avec votre ensemble de données. Avec cette connaissance, vous pouvez commencer à affiner ces paramètres pour qu’ils fonctionnent bien une fois formés sur un nouveau jeu de données ou type de tâche (alias domaine).
6. Créer des interfaces homme-machine appropriées
Pour concevoir une interface homme-machine, vous devez d’abord comprendre les capacités cognitives des humains et des machines. Cela peut être réalisé par diverses méthodes, y compris l’observation des utilisateurs effectuant des tâches et l’analyse de la façon dont ils résolvent les problèmes. Ensuite, passez en revue la littérature existante pour déterminer comment d’autres ont abordé des problèmes similaires dans le passé, en utilisant des outils de science des données pour analyser le comportement des utilisateurs et prédire les interactions futures avec votre produit ou service.
En plus de comprendre les capacités cognitives des humains et des machines, vous devez également comprendre les limites. Par exemple, un être humain ne peut traiter qu’un certain nombre d’informations simultanément ; si votre interface est trop complexe ou comprend trop d’options, les utilisateurs seront confus et frustrés. Il en va de même pour les machines : si vous leur demandez de faire quelque chose au-delà de leurs capacités (comme identifier des visages dans une image), elles ne pourront pas le faire.
La clé pour concevoir une interface qui fonctionne pour les humains et les machines est d’identifier les capacités cognitives de vos utilisateurs, de comprendre les limites des humains et des machines, puis de planifier votre produit ou service en conséquence.
Toile
7. Synthèse vocale qui semble naturelle
La création d’une voix au son naturel est un problème incroyablement difficile. Les systèmes de synthèse vocale s’améliorent constamment, mais ils doivent encore être améliorés, et il reste encore beaucoup à faire avant qu’ils puissent produire la même qualité de parole qu’une voix humaine.
Pour créer un discours sonore naturel, vous devez prononcer les mots correctement et modifier votre intonation en fonction de ce que vous dites. Si vous parlez de quelqu’un qui est décédé, par exemple, votre intonation changera par rapport à si vous parliez de quelque chose de banal comme la quantité de nourriture qui reste dans votre réfrigérateur.
C’est un problème complexe à résoudre, mais c’est un problème sur lequel nous progressons. Il est devenu beaucoup plus facile de produire une parole presque parfaite grâce à l’utilisation de systèmes de synthèse vocale, et ils sont maintenant capables de produire une parole presque parfaite beaucoup plus fréquemment qu’auparavant.
En conséquence, nous commençons à voir des systèmes de synthèse vocale utilisés dans des applications du monde réel. Vous pouvez maintenant parler à votre téléphone ou à votre ordinateur et le faire répondre avec une qualité de parole presque humaine qui peut même faire croire aux gens que vous parlez avec un autre être humain.
8. Traitement de l’entrée multimodale (audio/vidéo)
Le prochain grand défi concerne la saisie multimodale. Nous voyons maintenant des données provenant de diverses sources, telles que l’audio, la vidéo et le texte. Mais comment combiner ces différents types de données en un seul modèle ?
Il s’agit d’une question importante car le défi ne se limite pas à ajouter davantage de types de fonctionnalités. Il s’agit également de créer une architecture efficace qui gère simultanément toutes ces informations. Idéalement, ce problème pourrait être résolu en créant un modèle qui prend simultanément les signaux audio et les images.
Pour ce faire, vous pouvez utiliser un réseau de neurones convolutifs. Ce type de réseau de neurones est particulièrement efficace pour traiter les images car il a appris à reconnaître les caractéristiques des images et à établir des liens entre elles.
De plus, un réseau neuronal convolutif peut être utilisé pour analyser simultanément les signaux audio et les images, ce qui signifie qu’il est beaucoup plus efficace que d’autres modèles lorsqu’il s’agit d’une entrée multimodale.
9. Créer des visualisations significatives des données textuelles
Le premier défi est la capacité à visualiser les données textuelles. Si un jeu de données textuel est représenté correctement, il est plus facile pour un humain de comprendre quelles tendances peuvent exister dans ce jeu de données. Cela est particulièrement vrai si vous traitez des millions ou des milliards de lignes de données textuelles (comme les publications sur les réseaux sociaux).
Pour créer des visualisations significatives de données textuelles, vous aurez besoin des éléments suivants :
- Un moyen d’analyser votre ensemble de données et de déterminer quels types de graphiques seront les plus efficaces pour mettre en évidence les relations entre différents mots/phrases dans votre document.
- Une boîte à outils qui vous permet de créer facilement ces graphiques personnalisés en fournissant une interface intuitive pour interagir avec et modifier les éléments du graphique. Cette boîte à outils devrait également vous permettre d’exporter ces graphiques personnalisés sous forme de fichiers PNG ou SVG afin qu’ils puissent être intégrés dans d’autres pages Web en ligne ou partagés sur des plateformes de médias sociaux comme Facebook ou Twitter.
- Une façon de mettre en évidence certains mots dans votre document et de créer un graphique indiquant la fréquence à laquelle ils apparaissent ensemble dans la même phrase, paragraphe ou page.
- Un moyen de mettre en évidence des mots-clés spécifiques dans votre document et de créer un graphique indiquant la fréquence à laquelle ils apparaissent ensemble par rapport à d’autres mots/expressions sur une page donnée. Cela pourrait être utile pour mettre en évidence les mots les plus associés les uns aux autres dans des contextes spécifiques (c’est-à-dire, de quelle manière ces deux mots coexistent-ils plus que d’autres ?).
Toile
10. Gérer efficacement les données textuelles du monde réel
Vous voudrez également comprendre que les données textuelles du monde réel sont essentielles pour la PNL, mais qu’elles présentent des défis. Le bruit est le défi le plus courant pour le TAL lorsqu’il travaille avec des données textuelles réelles. Lorsque vous mettez la main sur un vaste corpus de données textuelles et que vous commencez à le préparer pour la formation, vous devez savoir comment gérer tout le bruit et les informations non pertinentes qui l’accompagnent.
Le bruit peut rendre certains mots moins précieux ou même inutilisables dans le processus de formation de votre modèle, car il y a tellement d’autres choses mélangées là-dedans – il peut être difficile de dire ce qui compte et ce qui ne compte pas.
C’est essentiel non seulement pour les modèles NLP formés sur des données du monde réel, mais aussi pour ceux formés sur des ensembles de données compilés à partir d’autres sources comme des articles de presse ou des tweets (qui eux-mêmes peuvent contenir beaucoup de bruit). Vous aurez besoin de moyens de filtrer les informations inutiles sans perdre les fonctionnalités clés utilisées par le modèle lui-même.
Conclusion
La PNL a parcouru un long chemin depuis ses débuts. Au début de l’apprentissage automatique, l’accent était mis sur la construction de modèles et le développement de méthodes statistiques. Aujourd’hui, beaucoup de gens regardent le traitement du langage naturel d’un point de vue plus conceptuel où ils peuvent réfléchir au fonctionnement du langage et à tout le reste (c’est-à-dire pas seulement au texte).
J’espère que cet article vous a été utile et que vous pouvez maintenant penser à la PNL de manière plus conceptuelle. Il existe de nombreux autres sujets liés au traitement du langage naturel que je couvrirai bientôt.
Ce contenu est exact et fidèle au meilleur de la connaissance de l’auteur et ne vise pas à remplacer les conseils formels et individualisés d’un professionnel qualifié.
© 2022 Hassan