Plan de cours

L'informatique linguistique est une discipline vieille de plus d'un demi-siècle. Les besoins croissants de traitement automatique de l'information, nés de l'essor massif de l'internet et de la disponibilité grandissante de ressources textuelles alimentent la nécessité des technologies langagières. La recherche d'information, la traduction automatique, la réponse automatique aux questions, la correction orthographique ou encore la reconnaissance de la parole sont des applications phare de l'ingénierie de la langue.

Ce cours a pour objectif de présenter un sous-ensemble des problématiques de base du traitement automatique des langues naturelles et de familiariser l'étudiant à des techniques de base en intelligence artificielle proposées pour essayer de les résoudre. Nous aborderons entre-autres les problématiques langagières suivantes: la modélisation probabiliste de la langue (modèles n-grams, grammaires hors-contexte), l'étiquetage grammatical et la traduction automatique statistique. Ceci nous aménera à aborder de manière appliquée des concepts classiques de l'intelligence artificielle comme:

  • L'apprentissage par maximum de vraisemblance,
  • L'algorithme EM,
  • Les modèles markoviens,
  • La programmation dynamique,
  • Les algorithmes de recherche de solution dans les grands espaces
  • L'acquisition automatique de connaissances

Prérequis: Ce cours ne requiert aucun prérequis (contrairement à ce qui est annoncé sur le guichet). Vous serez cependant aménés à lire des articles intégrant parfois des notions de mathématique (d'apprentissage machine en particulier) et vous aurez à réaliser des travaux qui requièrent des connaissances sérieuses en programmation (i.e. IFT1025, voire 2035).

Matière abordée:

  • Cuisiner les ressources textuelles
    • Compter des mots: rencontre avec la loi de Zipf
    • Shell-scripts ou "véritables" langages de programmation ?
    • Importance des structures de données
    • Ressources formatées
  • Modèles de langue. Introduction à l'inférence statistique
    • Modèles de langue: cas des modèles n-gram
    • Estimation par maximum de vraisemblance
    • Performance d'un modèle de langue
    • Problème classique de la sous-représentation des données
    • Techniques de lissage
    • Algorithme EM
  • Étiquetage morpho-syntaxique. Introduction aux modèles markoviens
    • Théorie des modèles de Markov cachés (HMM)
    • Application à l'étiquetage grammatical
    • Application au parenthésage
    • Apprentissage transformationnel (symbolique)
  • Grammaires probabilistes
    • Différentes approches au problème
    • Les PCFGs (Grammaires hors-contexte probabilisées)
    • Quelques algorithmes d'analyse générique (Earley, CYK)
    • Apprentissage de grammaires (avec EM, versus de manière supervisée)
    • Autres formalismes: DOP et links grammars
  • Techniques d'alignement
    • Comparaison de deux séquences de mots par programmation dynamique
    • Alignement de textes bilingues
  • Traduction automatique
    • Outils d'aide à la traduction
    • Traduction automatique probabiliste: modèles IBM, phrase-based modèles
    • Algorithmes de recherche de bonnes solutions (recherche en faisceau)
    • Améliorations possibles: quelques pistes
  • Sémantique lexicale
    • Extraction ouverte de triplets RDF
    • Approche distributionnelle (pour la détection d'objets reliés)
  • Sélection de présentations sur ...
    • La désambiguisation sémantique
    • Les applications du clustering
    • Extraction de collocations
    • La reconnaissance de la parole

Notation:

IFT6010 est un cours de 4 crédits. L'évaluation aura lieu comme suit:
  • Un examen théorique en fin de session (30%)
  • Un projet de session (50%)
    1. proposition (début février) d'un projet: une hypothèse à valider et un protocole expérimental
    2. remise d'un rapport technique
  • Une présentation de synthèse en classe (20%)