• Aucun résultat trouvé

Traitement Automatique de la Langue Naturelle

N/A
N/A
Protected

Academic year: 2022

Partager "Traitement Automatique de la Langue Naturelle"

Copied!
24
0
0

Texte intégral

(1)Traitement Automatique de la Langue Naturelle M2 Data Science • Année 2021 / 2022. Marie CANDITO - Antoine SIMOULIN.

(2) Bienvenue ! Le Laboratoire de linguistique formelle étudie tous les aspects du langage, du mot au discours et au dialogue, du signal acoustique à l'interprétation. Ses membres développent une approche formelle de ce système cognitif particulier qu'est le langage, et déclinent leurs recherches en utilisant des méthodes et des objectifs relevant de la linguistique théorique, de la linguistique expérimentale, de la linguistique computationnelle, de la linguistique de terrain et de la typologie. Animé d'un esprit ouvert et collaboratif, le Laboratoire de Linguistique Formelle est membre du Labex EFL – Empirical Foundations of Linguistics, et participe à de nombreuses collaborations nationales et internationales.. Antoine SIMOULIN. Data Scientist • Quantmetry Doctorant LLF antoine.simoulin@gmail.com. Près d’un article scientifique sur dix publié en France est issu des laboratoires de Université de Paris. Première université française en termes de citations par article, elle délivre 8 % des doctorats au niveau national et développe une recherche au meilleur niveau mondial, directement connectée aux enjeux et aux acteurs internationaux, avec une ambition particulière à l’échelle européenne.. Quantmetry est un cabinet de conseil de 120 personnes, spécialisé en Intelligence Artificielle, pour accompagner de bout en bout la transformation data des grands groupes français. Nous concevons des Intelligences Artificielles à l’état de l’art des dernières technologies. L’ensemble de nos consultants consacrent une partie substantielle de leur temps en Recherche & Développement. La présence d’un directeur scientifique et de directeurs techniques garantit l’excellence et l’exceptionnalité de nos sujets.. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 2.

(3) Ressources. https://moodle.u-paris.fr/course/view.php?id=11048. https://github.com/AntoineSimoulin/m2-data-sciences. m2midsunivdeparis.slack.com. Icon made by Freepik, Becris, Smashicons, Pixel perfect, srip, Adib, Flat Icons, DinosoftLabs from www.flaticon.com M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022. 3.

(4) Calendrier du cours. Partie #2 – Approches statistiques pour le NLP. Séance #4 ! 01/10/2020. 8h30h – 10h30. Séance #7 ! 22/10/2020. 8h30h – 10h30. Cours #1 - Modélisation statistique du langage, vectorisation de texte. Cours #2 - Représentations sémantiques lexicales et sémantique distributionnelle : Embeddings de mots. Séance #5. Séance #8. ! 08/10/2020. 8h30h – 10h30. ! 29/10/2020. 8h30h – 10h30. TP #1 - Classification de textes, modèles BoW. TP #3 - Embeddings de mots. Séance #6. Séance #9. ! 15/10/2020. 8h30h – 10h30. TP #2 - Détection de thèmes, LDA. ! 05/11/2020. 8h30h – 10h30. Cours #3 - Modélisation de séquences de mots : modèles de langue et génération de texte. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 4.

(5) 1. Séance #4.

(6) La complexité du NLP Ambiguïté. Dimension. Le langage est intrinsèquement ambigu, des énoncés peuvent avoir plusieurs interprétations. Par exemple, « J’ai entendu mon téléphone sonner dans mon bureau » Variation. Les systèmes de représentations du langage sont souvent de grandes dimensions, due à la taille importante du vocabulaire. Distribution. Il existe plusieurs manières d’exprimer la même idée. Plusieurs manières de prononcer une même phrase, ou de construire un énoncé.. Les fréquences d’utilisations des mots sont très inégales et ils peuvent être combinés de manière infinie pour former des phrases. Diversité. Il existe des milliers de langues dans le monde. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 6.

(7) Le périmètre du traitement automatique du langage Le traitement automatique du langage est à la frontière entre la linguistique et l’apprentissage automatique. Applications. Traduction automatique. Systèmes de Questions/Réponses. Moteurs de recherche. Extraction d’information. Résumé automatique. Analyse de sentiments. Technologies. Part-Of-Speach (PoS) Tagging Parsing / Syntaxe. Entitées Nommées Semantic Role Labeling (SRL). Deep Learning. Language modeling Word Sense Disambiguation. Outils statistiques pour le NLP M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 7.

(8) Systèmes symboliques vs statistiques 1. Inférences des structures linguistiques. Dans cet exemple, l’arbre de dépendance et les label POS-TAGS de chaque mot. Les systèmes symboliques consistent en un système de règle explicites qui s’appuient sur une expertise linguistique qui imite la perception humaine du langage. Par exemple, si l’on cherche à extraire les symptômes et leur dates d’apparition de verbatims, on peut parcourir la structure en dépendances de la phrases et s’appuyer sur les POS-TAGS comme features pour un système de règle. Le développement d’un tel système apporte beaucoup de flexibilité pour ajuster le système de règles en fonction d’exemples isolés, sans changer l’approche globale. Le système peut être développé sur des jeu de données de taille réduite. 2. Utilisation de règles. Dans cet exemple, on cherche à extraire des informations à partir des dépendances et des POS-TAGS Symptômes : « fièvre » Présence de symptômes : False. Néanmoins, ce type d’approche nécessite des compétences de développement et des connaissances linguistiques précises. Par ailleurs, l’addition et l’extension de règles peut rendre le système complexe.. Nombres de jours depuis la disparition / apparition des symptômes : 2. 3. Ajustement des règles en fonction des exemples considérés. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 8.

(9) Systèmes symboliques vs statistiques 1 Les systèmes de machine learning inversent le problème. On ne va pas créée des features et des règles manuellement à partir des exemples. On va au contraire proposer un très grand nombre d’exemples au système pour qu’il produise des règles et des features correspondants au jeu de données. Dans notre exemple, L’algorithme va calibrer les paramètres des représentations du texte pour attribuer les bon symptômes au plus grand nombre de verbatims du jeu d’exemple. Cette méthode ne nécessite pas de « programmation explicite » mais apprend à modéliser le langage en s’appuyant sur des exemples. Ce type de système permet de développer rapidement des solutions à l’aide de méthodes génériques. L’algorithme apprend seul à se spécialiser pour le cas d’usage. Le temps de développement est généralement réduit. Le système nécessite un nombre important d’exemples et un jeu de données conséquent. Il est plus difficile de modifier le système pour classifier correctement des exemples isolés. Les performances sont évaluées de manière agrégées sur un nombre important d’exemples.. Création d’un jeu de données annoté. Dans cet exemple, des phrases avec pour chacune les labels recherchés. Exemple. Symptômes. Présence de symptômes. Nombres de jours depuis la disparition/ apparition des symptômes. Le patient n’a plus de fièvre depuis 2 jours. Fièvre. False. 2. Le patient a mal au ventre. Mal de ventre. True. -. Le patient n’a plus mal au ventre. Mal de ventre. False. -. Le patient a 39°C de fièvre depuis le début de la semaine. Fièvre. True. 5. 2. Modélisation et entrainement d’un algorithme de machine learning. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 9.

(10) Exemple de jeu de données pour les méthodes NLP statistiques Traduction automatique. Systèmes de Questions/Réponses. Résumé automatique. j'achète une baguette de pain I buy a baguette of bread longtemps je me suis couché de bonne heure. Analyse de sentiments. « A positively thrilling combination ». !. « a hard time sitting through this one ». ". I went to bed early for a long time. Pour les systèmes de traduction on dispose de corpus parallèles avec l’expression d’une même phrase dans plusieurs langues. Pour les systèmes de Question / Réponse, on dispose de couple (texte, question). Le passage du texte qui répond à la question est indiqué. Le jeu de données SQUAD contient 100k exemples [1]. Pour la tâche de résumé automatique, on dispose d’en ensemble de couples (texte, résumé) comme illustré dans le jeu de donnée construit à partir de Reddit [2]. Pour l’analyse de sentiment, il s’agit d’une tâche de classification. Le système prend en entrée des couples (phrase, label) comme dans l’exemple du Sentiment Analysis on Movie Reviews [3]. [1] Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, Percy Liang: SQuAD: 100, 000+ Questions for Machine Comprehension of Text. EMNLP 2016: 2383-2392 [2] Byeongchang Kim, Hyunwoo Kim, Gunhee Kim: Abstractive Summarization of Reddit Posts with Multi-level Memory Networks. NAACL-HLT (1) 2019: 2519-2531 [3] https://www.kaggle.com/c/sentiment-analysis-on-movie-reviews/overview M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 10.

(11) Systèmes symboliques vs statistiques Système de règles explicites. Apprentissage statistique. !. • • • • •. Flexible Facile à debugger Ne nécessite pas un corpus important Intelligible Précis. • • • •. Facile à déployer Aucune programmation nécessaire Développement rapide (si les jeux de données sont disponibles) Important rappel (périmètre de couverture). ". • •. Nécessite des compétences de développement et linguistiques Faible rappel (périmètre de couverture). • • •. Nécessite des corpus d’entrainements conséquents Difficile à débugger Peu d’intelligibilité et d’interprétation des phénomène linguistiques possible. Pipelines de traitements. Label. Document. Représentation linguistique. Système de règles. Pipeline spécifique au cas d’usage et aux données. Document. 0 1 0 1 0 0 Représentation vectorielle. Label. Algorithme de machine learning. Pipeline standard de traitement de texte M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 11.

(12) Pipeline de traitement des systèmes NLP statistiques. Jeu de test sans labels associés. TEST. Périmètre du cours. Jeu d’entrainement avec des données et des labels à prédire associés. Extraction de Features des données. Algorithme de Machine Learning. Prédiction du label. TRAIN M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 12.

(13) Définitions. Le mot ! est généralement l’unité de base des systèmes de traitement automatique du langage.. Un document " est une séquence de # mots notée $ = &', &) ⋯ &+ où &, est le nème mot de la séquence.. Un corpus - est une collection de . documents notée / = $', $) ⋯ $0 .. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 13.

(14) Représentation des mots Création du vocabulaire. Représentation « one-hot ». Etant donnée un corpus, on distingue l'ensemble des différents mots composant le texte. On se donne une taille maximale ! de vocabulaire. Les " − 1 mots les plus fréquents du corpus sont indexés par ordre alphabétique. Les autres mots pouvant être attribués au token <UNK> (unknonw ou inconnu). La taille de vocabulaire ! standard varie entre 50 et 100k mots.. On cherche à associer chaque mot de notre vocabulaire %&, ⋯ %) à une structure de données. La méthode la plus simple consiste à associer chque mot à un vecteur « one-hot » qui ne contient que des 0, sauf pour la coordonnée correspondant à l’index du mot que l’on assigne à 1.. Création d’un dictionnaire (mot, fréquence) et sélection des N mots les plus fréquents. Corpus de documents. {. Jean mange une pomme Les pommes sont sur le pommiers Le pommier est dans le jardin Camille s’assoit dans le jardin. +,-. = 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 0.1 = 0,0, 1, 0, 0, 0, 0, 0, 0, 0 p2330 = 0, 0, 0, 0, 0, 0, 1, 0, 0, 0. <UNK> : 0 dans : 1 est : 2 jardin : 3 le : 4 sont : 5 pomme : 6 pommier : 7 mange : 8 une : 9. }. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 14.

(15) Représentation des documents Modélisation d’un document On cherche à associer chaque document à une structure. Chaque document est modélisé par un vecteur « One hot », dont les coordonnées ne peuvent prendre que les valeurs 0 ou 1. Chaque entrée du vecteur correspond à une entrée du dictionnaire. Si le mot est présent dans le document, on attribue la coordonnée 1, sinon on attribue la coordonnée 0.. Document. Jean mange une pomme. 0 1 0 1 0 0 Vecteur One-hot. 1 0 0 0 0 0 1 0 1 1. <UNK> dans est jardin le sont pomme pommier mange une. Vecteur de taille (1,V) V = taille du vocabulaire. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 15.

(16) Le modèle Bag of Word (Bow) Modélisation Bag Of Words. Limites. Chaque document est modélisé par un vecteur dont les coordonnées correspondent à la fréquence d’occurrence de chaque mot. Chaque entrée du vecteur correspond à une entrée du dictionnaire. Si le mot est apparait n fois dans le document, on attribue la coordonnée à valeur n.. • Ne prend pas en compte l’ordre des mots dans un document : « Jean est plus grand que Paul » a la même représentation que « Paul est plus grand que Jean » • Certains mots sont beaucoup plus fréquents que d’autres qui sont pourtant plus caractéristiques du document • La taille des vecteurs de représentation augmente avec la taille du vocabulaire. Document. Jean mange une pomme et une orange. 0 4 5 12 0 0 Vecteur de fréquence. 3 0 0 0 0 0 1 0 1 2. <UNK> dans est jardin le sont pomme pommier mange une. Vecteur de taille (1,V) V = taille du vocabulaire. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 16.

(17) Dispersion du langage Loi de Zipf La loi de Zipf est une observation empirique de la fréquence d’apparition des mots d’un texte. La fréquence d’occurrence f(n) du mot de rang n (le nème mot le plus fréquent) est modélisé par une loi de la forme : ! " =. $ ". où K est une constante.. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 17.

(18) Dispersion du langage Distribution des fréquences des mots en fonction de leur rang. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 18.

(19) Dispersion du langage Distribution des fréquences des mots en fonction de leur rang et de la langue considérée. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 19.

(20) Term Frequency Inverse Document Frequency (TF-IDF) Modélisation TF-IDF Chaque document est modélisé par un vecteur dont les coordonnées correspondent à une fonction des occurrences de chaque mot dans chacun des documents. Chaque entrée du vecteur correspond à une entrée du dictionnaire. La fonction TF-IDF [1, 2] correspond au produit de deux termes.. Term Frequency (TF). Inverse Document Frequency (IDF). "#,% correspond aux nombre d’occurrences du terme t dans le document d.. 4"# correspond aux nombre de documents ou apparaît le terme t.. 1 + *+,-. "#,% , !"#,% = ' 0,. "#,% > 0 123+3. 24"# = *+,. 6 4"#. !"24"#,% = !"#,% × 24"#. [1] Karen Spärck Jones: A statistical interpretation of term specificity and its application in retrieval. Journal of Documentation 60(5): 493-502 (2004) [2] Stephen Robertson: Understanding inverse document frequency: on theoretical arguments for IDF. Journal of Documentation 60(5): 503-520 (2004) M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 20.

(21) Term Frequency Inverse Document Frequency (TF-IDF) Inverse Document Frequency (IDF). Term Frequency (TF). L’inverse document frequency, !"# correspond aux nombre de documents ou apparaît le mot $# . Elle est donc évaluée à l’échelle du corpus pour un mot donné. Ici, on a 4 documents et le mot $# apparaît dans 3 d’entre eux. On a donc :. La term frequency '(,1 correspond aux nombre d’occurrences du mot $# dans le document !. Elle est évaluée à l’échelle du document. Pour notre document, le mot apparaît 6 fois, on a donc. %&'( = *+,. 4 = *+, &'( 3. 1 + *+,67 '(,1 , '(,1 > 0 0, :%;+; 2'(,1 = 1 + *+,67 6 = 1,8. 2'(,1 = 3. Le terme $# apparaît dans le document. Le terme $# apparaît dans le document. Corpus de documents. Le terme $# n’apparaît pas dans le document. Le terme $# apparaît dans le document. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 21.

(22) Term Frequency Inverse Document Frequency (TF-IDF) Interprétation de la pondération TF-IDF Pour un mot donné, le score IDF ne dépend que du corpus tandis que le score TF dépend du document au sein duquel le mot est considéré : le score TF-IDF dépend donc du document considéré. Plus le mot est présent dans le corpus plus son score IDF est pénalisé : les mots communs ont un score TF-IDF faible. Le score TF-IDF va donc privilégier les mots qui sont fréquents dans le document tout en étant peu fréquents dans le reste du corpus.. Document. Jean mange une pomme et une orange. 0 1.4 0.05 0.2 0 0 Vecteur TF-IDF 0.03 0 0 0 0 0 1.2 0 1.8 0.2. <UNK> dans est jardin le sont pomme pommier mange une. Vecteur de taille (1,N) N = taille du vocabulaire. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 22.

(23) Comment modéliser une similarité de documents ? Distance Cosinus L’utilisation de la distance euclidienne n’est pas adaptée car elle dépend de la norme des vecteurs. L’angle entre deux vecteurs est plus adapté pour mesurer la proximité sémantique entre deux énoncés : On divise chaque vecteur par sa norme L2 : ! =. ! !. #. avec. x %=. ∑' x'% Après normalisation, on a donc : !. #=. 1. Les documents plus cours ont donc la même norme que les documents les plus longs. La distance entre deux documents p et q est donc évaluée comme ( ), + = ,-. ), + =. )/+ ) #/ +. #. =. ∑0 ) 0 +0 ∑0 )#0 ∑0 +#0. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 23.

(24) Implémentation Python TF-IDF. M2 Data Science • Traitement de la langue naturelle (NLP, TAL) • Année 2021 / 2022 • Distribution interdite sans accord. 24.

(25)

Références

Documents relatifs

voyage, nous avions créé un atelier de brésilien avec l'aide d'une étudiante. Celle-ci était suffoquée de la rapidité de nos progrès. On sait que la mémoire est affective.

Deux ou trois exercices qui sont effectués dans l’esprit d’entraide entre enfants ou avec moi dans les groupes de besoins que nous mettons en place chaque se- maine, puis un test

Il était dans les projets de Freinet de réunir dans un ensemble de plus grande co hérence ses divers écrits sur la Méthode Naturelle de lecture, la Méthode

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Raison, aussi, d’appréhender les représentations que les différents auteurs se font de leur activité et de leur rapport au livre : de Verlaine, dont il relit admirablement les

Deuxi`emement, elle offre une m´ethode pour calculer les couplages d’´echange (d´ej`a d´efinis au section 2.4.2) entre les termes. Cela rendra possible une ´etude du comportement

Models with even modestly sized auxiliary input represen- tations are considerably harder to train than a typical un- supervised character model.. To overcome this problem, we

Pour évaluer notre système de DL à base de réseaux de neurones, nous avons tiré parti de notre précédent travail (Vial et al., 2017) dans lequel nous proposions une ressource