300 likes | 418 Views
CSI 4506: Introduction à l’intelligence artificielle. Le traitement du langage naturel. Plan du cours. Survol Syntaxe: Composantes du langage, structure des phrases Grammaires libres de contexte, stratégies d’analyse de syntaxe (parsing)
E N D
CSI 4506: Introduction à l’intelligence artificielle Le traitement du langage naturel
Plan du cours • Survol • Syntaxe: • Composantes du langage, structure des phrases • Grammaires libres de contexte, stratégies d’analyse de syntaxe (parsing) • Grammaires avec attributs, stratégie d’analyse de syntaxe (parsing) • Interprétation sémantique • Forme logique • Attributs • Désambiguïsation
Survol: Pourquoi étudier le traitement du langage naturel? • Vérification automatique d’orthographe et de grammaire • Service téléphonique automatique • Recherche automatique de textes sur un sujet donne et création automatique de résumés de textes • Outils de traduction automatique • Exercice: Allez a:http://www-ai.ijs.si/eliza/eliza.html • Est-ce que Eliza fait du traitement de langage naturel, à votre avis? Est-ce que Eliza passerait le test de Turing?
Survol: Les différents aspects du traitement des langues naturelles (NLP) (I) • Phonologie et phonétique: L’étude de la structure des sons de langages. Comment les mots sont réalisés dans le langage parlé. • Morphologie: L’étude de la structure des mots; Comment les mots sont formés à partir de préfixes, suffixes et autres composantes • Syntaxe: L’étude de la structure des phrases. Comment les mots sont combinés en (syntagmes) segments de phrases et comment ces syntagmes se combinent afin de former des phrases.
Survol: Les différents aspects du traitement des langues naturelles (NLP) (II) • Sémantique: L’étude du sens. Comment représenter le sens des mots et des phrases et comment dériver le sens de phrases complètes à partir du sens de leur sous parties? • Pragmatique: L’étude de l’utilisation du langage. Comment les phrases sont utilisées afin d’apporter de l’information, de faire des demandes, etc…? • Discours: L’étude de la structure du langage étendu (plusieurs phrases, paragraphes, etc…), tel que dans les textes ou dans les dialogues.
Traitement du langage naturel Syntaxe
Composantes du Langage • Mots a contenu: • Noms: balle, homme, sable, idée • Adjectifs: rouge, grand, spécial • Verbes: semble, mangeant, croit, riant • Adverbes: très, lentement • Mot de Fonction • Articles: un, le, la, ceci cela • Quantificateurs: Tous, beaucoup, certain, aucun • Prépositions: dans, sur, par, a travers • Conjonctions: et, mais, pendant que • Conversion d’une classe à une autre: • Le sucre est dans le placard (nom) • Il a sucré son café (verbe) • Le thé était bien trop sucré (adjectif) • La morphologie a à voir avec ce genre de questions!
Structure des syntagmes • Les mots se combinent ensembles afin de former des syntagmes • Chaque syntagme est basé sur un mot particulier, appelé la tête du syntagme. • Syntagme nominal • exemple: l’homme dans le coin; cette photo de Marie Syntagme adjectival - ex, très méchant; heureux d’être là Syntagme verbal - ex, mangea la pizza dans le coin; à donné le prix au garçon sans hésitation; suis presque rentrée dans le mur Syntagme adverbial - exemple, trop rapidement; régulièrement, pendant la partie
Grammaires libres de contexte • Une grammaire est une collection de règles de re-écriture de la forme: • Lhs1…Lhsn Rhs1… Rhsm • ex: XY YX, ce qui veut dire que AXYB peut etre re-écrit de la manière suivante: AYXB • Une grammaire est libre de contexte si toutes les règles n’ont qu’un seul symbole a gauche. • Une grammaire est sensible au contexte si elle a des règles de la forme: YXZ YAZ (X peut être remplace par A si il se trouve entre Y et Z (son contexte) • Les langages libres de contexte peuvent être analyses plus efficacement que les langages sensibles au contexte On essaie de définir la grammaire du langage naturel de manière libre de contexte. • (Voir exemple de grammaire libre de contexte en classe)
1. S NP VP 2. VP V NP 3. NP NAME 4. NP ART N 5. ART a | the 6. V ate | saw 7. N cat | mouse 8. NAME Sue | Zak Grammaire libre de contexte pour l’anglais • Stratégies pour le parsing (L’analyze syntactique): • De haut-en-bas: On commence avec le symbole S et on utilise la grammaire pour construire un arbre descendant jusqu’à la phrase. • De bas-en-haut: On commence avec la phrase et on utilise la grammaire pour construire l’arbre de bas en haut, jusqu’à S, la racine. • Le Parsing peut être formalisé comme un problème de • recherche On définra les noeuds et les fonctions qui généreront les successeurs
Le parsing des grammaires libres de contexte [1ere itération] de haut bas (1) • Chaque noeud inclut: • 1. La séquence de symboles cherchée (à être re-écrites ou • vérifies contre l’entrée) • 2. La partie de l’entrée qui n’a pas encore été prise en • considération. • Exemples: ((S) (the cat ate the mouse)) ((N VP) (cat ate a mouse)) (nil nil) But (nil, mouse) Ereur (N, nil) Erreur
Le parsing des grammaires libres de contexte [1ere iteration] de haut en bas (2) Génération des successeurs: • Si le premier symbole de gauche est identique au premier mot de droite, les enlever tous les deux Exemple: ((the N) (the mouse)) ((N) (mouse) 2. Si le premier symbole n’est pas égal au premier mot de l’entrée, alors on doit chercher, dans la grammaire, les façons différentes de re-écrire le premier symbole Exemple: ((NP) (the mouse)) 2 successeurs: - ((NAME) (the mouse)) - ((ART N) (the mouse)) Les phrases peuvent donc être analysées en utilisant les techniques de recherche déjà étudiées (Voir exemple d’Analyse en utilisant la recherche Depth-First, en classe)
Le parsing des grammaires libres de contexte [2eme itération] de haut en bas • Le 1er algorithme de parsing a des problèmes d’efficacité: il essaie de remplacer le symbole NAME par Zak, puis par Sue, et il aurait continue de la sorte s’il y avait eu plus de possibilités. • Afin de corriger ce problème, on peut changer le parser de manière à ce qu’au lieu de vérifier si le 1er symbole et le 1er mot sont égaux, il appelle le Lexique pour vérifier si le 1er mot tombe dans la catégorie indiquée par le 1er symbole • (Voir l’exemple avec ce changement en Classe)
Le parsing des grammaires libres de contexte [3eme itération] de haut en bas (1) • Bien que l’algorithme de parsing que nous venons de voir peut indiquer si une phrase est grammaticale ou non, il ne peut pas indiquer la structure de la phrase Il n’est pas très utile puisqu’on a besoin de cette structure pour l’analyse sémantique et pragmatique. • Afin de rendre l’algorithme capable de construire la structure de la phrase, on étend la définition d’un noeud de manière à ce qu’il enregistre les règles utilisées. Ceci est fait comme suit: • 1. On définie une nouvelle structure de données appelée arc et qui représente une règle partiellement complétée • 2. On modifie la notion de noeud afin d’utiliser ces arcs.
Le parsing des grammaires libres de contexte [3eme itération] de haut en bas (2) • Un arc enregistre deux choses: • La partie de la règle qui à déjà été appliquée • Les parties qui restent à être trouvées • Exemple: (Seen: (NP) Seeking: (ART N)) • Ce qui veut dire: Rien n’a été trouvé dans la structure NP pour l’instant et on cherche un ART suivi d’un N. • Nouvelle Opération: Étendre l’Arc • Exemple 1: (Seen: (NP (ART a)) (Seeking: (N)) • Ce qui veut dire que l’on a vu un ART pour le NP et que l’on cherche un N. • Exemple 2: (Seen: (NP (ART a) (N mouse)) seeking: NIL) • Ce qui veut dire que l’on a vu un NP qui consiste en un ART et un N, et que l’on n’a besoin de rien d’autre pour ce NP
Exemple d’une analyse qui utilise la recherche Depth-First • (Voir exemple en classe)
Grammaires avec attributs (1) • Veuillez considérer la grammaire: • 1. S NP VP • 2. VP V NP • 3. NP Name • 4. NP ART N • Avec un lexique approprie, cette grammaire peut analyser et accepter les phrases du type: • “The man ate the pizza” ou “Jack is a man” • Néanmoins, elle peut aussi analyser et accepter les phrases suivantes: • *“The boys sees the dog”, *“A boys saw the pizza”, *”Iis a man”, *”Sue sighedthe pizza” • Ceci est un problème Il faut utiliser des attributs!
Grammaires avec attributs (2) • Exemple d’attributs: • Agr L’attribut d’accord (genre et nombre) [valeurs: 3s, 1p, 2p et 3p] • Vform L’attribut de forme du verbe: [valeurs: base, present, past, prespart, pastpart] • Subcat L’attribut de restrictions sur la forme du complément [valeurs: intransitif, transitif, di-transitif, etc…]
Grammaires avec attributs (3) • Exemple d’extension du lexique et de la grammaire pour ajouter des attributs: • Le nom N1, dog est représenté de la manière suivante: • N1: (N1 (agr 3s) (root dog)) • La regle S NP VP devient: • (S) (NP (agr (?a))) (VP (agr (?a))) [i.e., NP et VP doivent avoir la même valeur pour l’attribut d’accord
Grammaires avec attributs (4) Le matching utilise le principe d’unification
Grammaires avec attributs (5) • L’analyse (parsing) ayant à la base une grammaire avec attributs se fait de la même façon que l’analyse ayant à la base une grammaire sans attribut à part le fait que les valeurs d’attributs doivent s’accordées et doivent être en concordance. • [Voir Exemple de parsing avec Attributs en Classe]
Le traitement du langage naturel Sémantique
Interprétation sémantique • Afin de dériver le sens d’une phrase en langage naturel, on dérive le contenu propositionnel de cette phrase • Exemple: • 1. Jack ate the pizza yesterday • 2. Did Jack eat the pizza yesterday? • Le contenu propositionnel est le meme. (1) asserte la proposition alors que (2) demande si la proposition est vraie. • Notes: • Le sens du langage naturel dépend beaucoup du contexte: ex: Je, L’homme dans le coin, cette table, etc… • Les Expressions de langage naturel peuvent être très ambiguës. ex: (Ambiguïté des mots) the ruler/(Ambiguïté de portée): Tout le monde aime un chien.
Définition d’une forme logique du langage (1) • La forme logique du langage s’inspire de la logique à prédicats qu’elle étend afin de représenter acceptablement le sens de phrase de langage naturel. • Dans ce langage, les formes syntaxiques du langage naturel correspondent au constructions logique comme vu sur la diapositive suivante.
Définition d’une forme logique du langage (3) • Les termes sont: • Les marqueurs sémantiques (i.e., les variables (Eg. x1, y1) • Le sens des noms propres (e.g., John1, NYTimes2) • Le sens des fonctions appliquées à leurs arguments (E.g., (father John1))
Définition d’une forme logique du langage (4) • Les propositions sont: • Le sens des prédicats n-aires et de leurs n arguments (Eg, (Sad1 John1), (Read7 x NYTimes2)) • Le sens des opérateurs logiques avec leurs argument propositionnels (E.g., (Not (Sad1 John1)), (AND (dog(x) bark2 x))) • Le sens des opérateurs modaux avec leurs arguments sous forme de termes ou propositions (Eg. (Believe1 John1 (Read7 Sue1 NYTimes2))) • Une forme de quantificateur généralisé (Eg., (Many x: (Person1 x) (Read7 x NYTimes2)))
Définition d’une forme logique du langage (5) • Ainsi que l’on l’a mentionné précédemment, le langage naturel peut être très ambigu. En particulier la portée des quantificateurs n’est pas toujours bien déterminée: • ex: Every boy loves a dog peut être interpreté comme: • 1. (Every b1: (Boy1 b1) (A d1: (Doc1 d1) (Loves1 • b1 d1))), ou • 2. (A d1: (Dog1 d1) (Every b1: (Boy1 b1) Loves • b1 d1))) • La forme logique du langage a une façon simplifiée d’encoder ces différentes interprétations: • (Loves1 <Every b1 (Boy1 b1)> <A d1 (Dog1 d1)>)
Interprétation sémantique en utilisant des attributs • La forme logique des phrases du langage naturel peut être construite en utilisant des attributs à peu près de la même façon avec laquelle les attributs sont utilisés pour enregistrer l’accord, la forme des verbes et l’information sur les compléments de verbes. • Exemple: Lorsque l’on analyse la phrase: “The dog barks”, de plus de tous les attributs, il y a un nouvel attribut appelé “sem” dont la fonction est d’enregistrer (ainsi que de construire) la forme logique de la phrase. Lorsque l’analyse est terminée l’arc S aura la forme suivante: • (S (Sem (Barks1 (THE A3 (Dog1 A3)))) (Agr 3s) (1 (NP …)) (2 (VP …)))
La désambiguïsation du sens des mots • Exemple: The ruler likes the house • Ruler: personne (qui règne) ou instrument (qui mesure) • Cependant, un objet inanimé ne peut pas aimer quoi que ce soit On doit utiliser deux sources de connaissances afin de traiter ce problème: • 1. Une hiérarchie de sens des mots • 2. Des restrictions sélectionnelles (Voir description en classe) Au moment de l’analyse, le parser peut annuler les formes logiques qu’il a construit qui ne match pas la restriction sélectionnelle. (Voir exemple en classe)