Le traitement automatique de langage naturel

Le traitement automatique de langage naturel

Principes

Le plus grand défi posé par le TALN est le fait de pouvoir correctement interpréter et extraire le sens d’une séquence de termes, ce qui ne serait pas forcement possible si ces termes étaient pris individuellement. L’être humain a un grand talent pour exprimer, percevoir et interpréter les sens complexes et nuancés du langage tout en étant relativement médiocre lorsqu’il s’agit de formellement comprendre et décrire les règles qui le définissent. Le langage est par définition intrinsèquement symbolique et discret dans le sens où il ne se limite pas à une simple séquence de caractères mais bien à de termes ou mots sensés décrire des objets, concepts, actions, événements ou idées contextuelles. Des mots comme « pomme » ou « banane » évoquent par exemple le concept du fruit ou plus généralement celui de la nourriture mais ils sont aussi symboliquement très distincts.

De plus, la nature compositionnelle du langage, c’est-à-dire le nombre quasiment illimité de combinaisons de mots possibles qui peuvent être utilisés pour produire des phrases au sens particulier ajoute un degré de complexité et de défi non-négligeable pour les machines. Le sens d’une phrase peut en effet souvent être entièrement perdu si les mots ne sont pris en compte et interprétés qu’en tant qu’éléments individuels. Un autre problème est que le langage naturel peut être extrêmement ambigu et varié au niveau de sa structure, de son sens et de son interprétation et il peut aussi régulièrement changer ou évoluer. Par exemple, une phrase peut être interprétée différemment selon le contexte dans lequel elle a été produite, et selon les mots employés. Similairement aux différents styles d’écriture d’une personne à une autre, il est facilement possible de tirer le même sens de deux phrases même si les mots employés ne sont pas les mêmes.

Domaines de recherche et applications Les tâches les plus courantes liées au TALN peuvent être regroupées de manière non-exclusive dans les domaines suivants2 :

– L’analyse de la syntaxe, qui regroupe tous ce qui relève des aspects théoriques et structurels du langage. Ceci comprend entre autres la lemmatisation (l’extraction de la forme neutre, dite canonique d’un groupe de mots semblables), l’étiquetage morpho-syntaxique (la catégorisation et codification de mots en fonction de leur catégorie grammaticale qui peut aussi être spécifique au contexte d’utilisation) et l’analyse syntaxique (l’extraction de liens existant entre les mots d’une phrase) ;

– L’analyse de la sémantique, qui correspond à l’étude du sens que les mots et les phrases peuvent avoir dans le langage (CNRTL6). Des exemples d’applications sémantiques de TALN sont la traduction automatique (l’exemple le plus performant est Google Translate avec son système qui utilise la traduction basée sur la statistique), le résumé automatique de texte (le principe d’extraire l’essentiel de l’information d’un document par le biais de de techniques d’abstraction, d’extraction ou de compression de phrase) et la correction orthographique (l’analyse en temps réel de mots ou groupes de mots dans le but de proposer des améliorations syntaxiques sur base de sémantique) ;

– Le traitement de la parole, qui rassemble toutes les tâches qui utilisent la parole pour reconnaître des aspects linguistiques. Ceci inclut, entre autres, la reconnaîssance de l’écriture manuscrite (l’utilisation de réseaux de neurones pour déterminer et traduire en charactères UTF-8 des lettres fournies en entrée pour ensuite les rassembler en mots et phrases), la reconnaîssance vocale (la segmentation d’un signal audio en éléments qui pourront être comparés à des phonèmes. Les phonèmes seront comparés entre eux. Ils peuvent être confrontés à des librairies de mots et de phrases. Ce procédé peut mener a la détection de langues et de dialectes ;

– L’extraction d’informations, soit l’ensemble des tâches qui consistent à extraire des informations structurées à partir d’un corpus de documents déstructurés. Due à sa difficulté, cette discipline est restreinte à quelques domaines spécifiques tels que les fusions d’entreprises et la forensique numérique. Parmi les tâches liées à l’extraction d’informations, nous comptons notamment l’alimentation de bases de connaissances (le fait d’extraire des faits spécifiques d’un corpus documentaire), la reconnaîssance d’entités nommées (l’extraction d’informations d’objets textuels catégorisables dans des classes telles que des noms de personnes, d’organisations, d’entreprises, de lieux, etc. d’un lot de documents) et l’analyse de sentiments (le fait d’extraire des informations permettant de déterminer, en se basant sur les mots d’un texte, l’état émotionnel du contenu de manière générale).

L’analyse de sentiments

Apparu au début des années 2000, l’analyse de sentiments, aussi appelé « opinion mining » en anglais, est une technique d’analyse de données liée au TALN et qui consiste à analyser des corps de textes dans le but d’en extraire des opinions ou sentiments et un taux de confiance lié à ceux-ci. L’analyse de sentiments est capable de déterminer la polarité d’une séquence de mots, c’est-à-dire identifier une tendance positive ou négative, ainsi que le sarcasme ou l’ironie de cette séquence. Cette technique est surtout utilisée pour analyser le contenu en ligne comme les avis clients de sites de commerce, les discussions dans les forums, les textes des blogs, et surtout les échanges sur les réseaux sociaux. Leur analyse permet de transformer des informations peu structurées en données concrètes et interprétables sur les opinons des internautes par rapport à des produits, marques, faits divers, expériences ou tout autre sujet qui permet d’exprimer une opinion. L’analyse de ces types de contenus peut en effet aider à déterminer des tendances sociales ou commerciales, informer les entreprises pour faciliter leurs décisions stratégiques, optimiser leur rendement et augmenter leur revenu.

Fonctionnement

Selon les derniers calculs théoriques, le cerveau humain moyen peut contenir entre 86 et 100 milliards de neurones, chacun connectés à des milliers d’autres neurones. Aussi, la puissance de calcul de ce réseau de cellules nerveuse est estimée à environ un zettaflop, soit mille milliards de milliards (1021) d’opérations par seconde8. En comparaison, Summit, le super ordinateur le plus puissant du moment ne dispose que d’une puissance de calcul maximale de 200 petaflops, soit 0.0002 zettaflops9. De plus, il est communément accepté que les neurones sont arrangés de manière hiérarchique10, où chacun à un rôle et une responsabilité spécifique. En effet, chaque neurone est théoriquement responsable d’une caractéristique particulière comme une maison peut par exemple être reconnue par sa porte, ses fenêtres et son toit. Un autre aspect extrêmement important qui démontre davantage la complexité étonnante du cerveau est sa neuroplasticité. En effet, le cerveau est capable de reconfigurer ses circuits au fur et à mesure que ses neurones meurent, redistribuant leurs responsabilités à ceux qui sont encore fonctionnels.

C’est en se basant sur ce concept de neuroplasticité qu’un groupe de chercheurs et chercheuses du MIT, menés par la professeure Anna Roe, ont cherché à observer la manière dont réagirait une zone du cerveau si sa fonction de base devait être altérée par la réception de stimuli non-originaux11. C’est dans le cadre de ce projet de recherche que les liens entre le cortex auditif et les nerfs auditifs chez des furets ont été rompus et remplacés par des nerfs optiques. Lorsque des projections visuelles furent ensuite envoyées au cortex auditif, l’équipe de professeure Roe observa que le cortex auditif s’adaptait à la nouvelle source d’information et commençait à traiter les images comme s’il savait le faire depuis toujours. Ces observations inspirèrent l’ingénieur Jeff Hawkins à explorer la capacité des colonnes du néocortex à traiter toute information sans distinction de leur origine12. Ceci suggérerait donc que tous les neurones du cerveau utilisent, d’une certaine manière, le même algorithme pour traiter les informations qu’elles reçoivent et qu’il suffirait de trouver cet algorithme pour pouvoir réellement créer des réseaux de neurones adaptables à tout type de circonstances.

Fonctionnement dans le cadre de l’analyse de sentiments37, Sachant que la reconnaîssance de caractéristiques comme des objets ou émotions dans un image par le biais des concepts mis en avant par les réseaux de neurones convolutifs sont efficaces, l’idée de pouvoir adapter ce type d’architecture pour analyser du texte est tout aussi sensé. Mais en réalité, certains aspects appliqués à l’analyse d’image ne peuvent être employés avec l’analyse de sentiments. Par exemple, la notion d’invariance spatiale n’a pas de sens dans le cas de l’analyse de texte car au contraire, la position des mots et lettres peut avoir un lourd impact sur la compréhension des mots et des phrases ainsi que de leurs subtilités. Aussi, dans le contexte d’une image, construire son « identité » en faisant évoluer les caractéristiques détectées durant chaque passe de convolution de caractéristiques de bas niveau (bords) à des caractéristiques de plus en plus complexes (formes et objets) a du sens.

En revanche, dans le cas d’un fragment de texte, une lettre est une lettre, un mot est un mot, etc. et essayer de faire de l’abstraction de ce type de données n’est pas possible car le sens et le contexte d’une séquence de mots reste invariable. Sachant cela, l’utilisation d’un réseau de neurones convolutif ne semble pas être un très bon candidat pour faire du TALN. En effet, les réseaux de neurones récurrents semblent mieux correspondre à ce type d’activité, sachant qu’ils se rapprochent intuitivement de la façon dont l’être humain construit et analyse du texte, c’est-à-dire de manière séquentielle, en se référant toujours à ce qui précède le terme courant. Cependant, les réseaux de neurones convolutifs sont tout de même capables de correctement accomplir une tâche d’analyse de texte et le réel avantage de cette architecture réside avec le fait qu’elle est très rapide en termes de vitesse de traitement.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Déclaration
Remerciements
Résumé
Table des matières
Liste des tableaux
Liste des figures
1. Introduction
2. Le traitement automatique de langage naturel
2.1 aspects généraux
2.1.1 Définition
2.1.2 Principes
2.1.3 Domaines de recherche et applications
2.2 L’analyse de sentiments
2.2.1 Définition
2.2.2 Méthodes existantes
2.2.2.1 L’analyse des sentiments basée sur des règles
2.2.2.2 L’analyse de sentiments basée sur l’apprentissage machine
3. Les réseaux de neurones
3.1 Historique
3.2 Le neurone artificiel
3.2.1 Le neurone biologique
3.2.1.1 Composition
3.2.1.2 Fonctionnement
3.2.2 Le neurone formel
3.2.2.1 Composition
3.2.2.2 Fonctionnement
3.2.3 Le perceptron
3.2.3.1 améliorations apportées par ce modèle
3.2.3.2 Fonctionnement et apprentissage
3.2.3.2.1 Initialisation
3.2.3.2.2 Propagation avant
3.2.3.2.3 application de la fonction de coût pour chaque prédiction
3.2.3.2.4 Minimisation du coût avec l’algorithme de descente de gradient
3.2.3.2.5 Itération jusqu’à convergence avec mise à jour des poids et du biais . 21
3.3 Le perceptron multicouche
3.3.1 Nouveautés
3.3.2 La rétropropagation
4. architectures utilisées avec le TaLN
4.1 Les réseaux de neurones convolutifs
4.1.1 Fonctionnement
4.1.1.1 L’opération de convolution
4.1.1.2 L’opération d’activation
4.1.1.3 L’opération de max pooling
4.1.2 Fonctionnement dans le cadre de l’analyse de sentiments
4.1.2.1 Word Embeddings
4.1.2.2 Réseau de neurones convolutif à une dimension, utilisant des word embeddings
4.1.2.3 Réseau de neurones convolutif à une dimension, utilisant des character embeddings
5. Mise en pratique
5.1 Objectif et démarche utilisée
5.2 Outils
5.2.1 TensorFlow
5.2.2 Keras
5.3 Mise en oeuvre
5.3.1 Préparation des données
5.3.2 Remplissage de séquence
5.3.3 Définition du modèle
5.3.4 Compilation
5.3.5 Pré-entraînement
5.3.6 Entraînement
5.4 Prédiction et résultats avec des données inconnues
5.5 Difficultés rencontrées
5.6 Solution pour un service de support
6. Conclusion
Bibliographie
annexe 1 : Repositoire du code de mise en pratique

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *