% INF600H — Traitement automatique du langage naturel % UQAM — Département d'informatique % Plan de cours — Été 2021 * Horaires, locaux et enseignants: Responsable(s) du cours ======================= Coordination ------------ Sadat, Fatiha PK-4625 Enseignement ------------- Malenfant, Bruno PK-4115 Groupes: 020 Description du cours ==================== Objectifs --------- Ce cours présente les fondements du traitement automatique de la langue naturelle (abr. TALN) ou des langues (abr. TAL), une discipline de l'intelligence artificielle, se trouvant à la frontière entre l'informatique, les sciences cognitives et la linguistique. Sommaire du contenu ------------------- Principes fondamentaux du traitement automatique du langage naturel (TALN). Architecture typique d'une application de TALN. Pré-traitement et normalisation de textes (corpus). Analyse lexicale (tokennisation), lemmatisation, racinisation (stemming). Représentation de texte : sac de mots, N-Gramme, TF-IDF, plongements lexicaux (word embeddings). Méthodes pour l'analyse syntaxique et l'analyse sémantique de textes. Techniques de classification, de recherche et d'extraction d'information. Modèle de langage. Modèles de Markov. Applications : extraction et recherche d'information, traduction automatique, agent conversationnel, analyse des sentiments, détection d'émotions, synthèse de résumé de texte. Les outils du TALN seront présentés selon les applications étudiées. Modalité d'enseignement ----------------------- Ce cours comporte une séance obligatoire de laboratoire (2 heures). Préalables académiques ---------------------- - INF3105 - Structures de données et algorithmes - MAT4681 - Statistique pour les sciences Formule pédagogique =================== Les exposés magistraux (3h) et les séances de laboratoires (2h) se dérouleront de façon synchrone avec le logiciel Zoom. Ils seront enregistrés dans la mesure du possible et mis à disposition des étudiants inscrits au cours via la page Moodle. Contenu détaillé ================ Semaine 1 --------- - Historique du TALN et présentation des applications - Rappel : outils mathématiques de base (vecteur, probabilité) Semaine 2 --------- - Corpus (acquisition, annotation : un peu de XML) - Lexiques et dictionnaires - Prétraitement : Présentation sommaire des expressions régulières en Java Semaine 3 --------- - Prétraitement (suite) - Tokenisation des mots (distance d'édition) - Séparation des phrases - Lemmatisation et racinisation - Introduction à la désambigüisation Semaine 4 --------- - Présentation du premier devoir - Modèles de mots - TF-IDF (exemple : recherche de document) - Contexte sémantique - Sac de mots (espace de vecteur, plongement lexical) Semaine 5 --------- - Modèles de mots (suite) - N-gram (collocation) - Mesure de similarité cosinus (homonymie, synonymie) Semaine 6 --------- - Modèle de suite de mots - Modèle de Markov (lissage) - Partie du discours (POS) Semaine 7 --------- - Modèle de suite de mots (suite) - Arbre syntaxique (analyse syntaxique superficielle) - Classification et types d'algorithmes - Génération de texte Semaine 8 --------- - Examen intra Semaine 9 --------- - Extraction d'information - Reconnaissance d'entités nommées Semaine 10 ---------- - Extraction d'information (suite) - Détection de relations et d'événements - Rappel, précision et f-mesure Semaine 11 ---------- - Présentation du deuxième devoir - Système de questions-réponses Semaine 12 ---------- - Génération automatique de résumé - Métrique ROUGE Semaine 13 ---------- - Traduction automatique - Métrique BLEU Semaine 14 ---------- - Autre sujet à choisir, s'il reste du temps Semaine 15 ---------- - Examen final Modalités d'évaluation ====================== Outil d'évaluation Pondération Échéance -------------------- ------------- ----------------- TP1 16% 22 juin 2021 TP2 16% 10 août 2021 Examen Intra 32% 29 juin 2021 Examen Final 32% 17 août 2021 Mini quiz1 2% 1 juin 2021 Mini quiz2 2% 20 juillet 2021 Remarques --------- Les travaux pratiques peuvent être réalisés seul ou en équipe. La qualité du français constitue un critère d'évaluation (pour un maximum de 10%). L'étudiant doit obtenir une moyenne cumulée de 50% aux examens; dans le cas contraire, il se verra attribuer un échec. L'étudiant ne remettant aucun des travaux se verra attribuer un échec. Deux mini Quiz seront offerts afin de donner une évaluation plus continue aux étudiants. Un mini quiz est une question ou 2 sur Moodle, de type choix de réponse ou avec réponse simple. (20 minutes) Médiagraphie ============ Recommandé ---------- - Natural Language Processing in Action \[https://livebook.manning.com/book/natural-language-processing-in-action/about-this-book/ \] - Practical Natural Language Processing \[https://www.oreilly.com/library/view/practical-natural-language/9781492054047/\] \[https://github.com/practical-nlp/practical-nlp\] - Chris Manning and Hinrich Schütze. Foundations of Statistical Natural Language Processing. MIT Press. Cambridge, MA : May 1999. - Daniel Jurafsky and James H. Martin. Speech and Language Processing. Pearson Prentice Hall, 2009. - François-Régis Chaumartin et Pirmin Lemberger. Traitement automatique des langues. Comprendre les textes grâce à l'intelligence artificielle. Collection InfoPro, Dunod. Fev. 2020. - Patrice Enjalbert. Sémantique et traitement automatique du langage naturel. Hermes Science Publications, 2005. Ressources complémentaires -------------------------- - Cours ailleurs: - Stanford / CS 224N / Ling 284 --- Natural Language Processing (ancienne version) \[https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1162/syllabus.shtml\] - Stanford / CS224n: Natural Language Processing with Deep Learning http://web.stanford.edu/class/cs224n/ - UAlberta \[https://www.ualberta.ca/computing-science/graduate-studies/course-directory/courses/index.html\]: - CMPUT 501 Introduction to Natural Language Processing - CMPUT 650 Natural Language Processing - CMPUT 651 Deep Learning for Natural Language Processing