1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

30
1 CSI 4506: Introduction CSI 4506: Introduction à l’intelligence à l’intelligence artificielle artificielle Le traitement du langage naturel

Transcript of 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

Page 1: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

1

CSI 4506: Introduction CSI 4506: Introduction à à l’intelligence artificiellel’intelligence artificielle

Le traitement du langage naturel

Page 2: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

2

Plan du coursPlan 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

Page 3: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

3

Survol: Pourquoi étudier le Survol: Pourquoi étudier le traitement du langage naturel?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?

Page 4: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

4

Survol: Les différents aspects Survol: Les différents aspects du traitement des langues du traitement des langues

naturelles (NLP) (I) 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.

Page 5: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

5

Survol: Les différents aspects Survol: Les différents aspects du traitement des langues du traitement des langues

naturelles (NLP) (II)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.

Page 6: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

6

Traitement du langage naturelTraitement du langage naturel

Syntaxe

Page 7: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

7

Composantes du LangageComposantes 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!

Page 8: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

8

Structure des syntagmesStructure 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

Page 9: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

9

Grammaires libres de contexteGrammaires 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)

Page 10: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

10

Grammaire libre de contexte Grammaire libre de contexte pour l’anglaispour l’anglais

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

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 derecherche On définra les noeuds et les fonctions qui généreront les successeurs

Page 11: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

11

Le parsing des grammaires Le parsing des grammaires libres de contexte [1ere libres de contexte [1ere itération] de haut bas (1)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

Page 12: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

12

Le parsing des grammaires Le parsing des grammaires libres de contexte [1ere libres de contexte [1ere

iteration] de haut en bas (2)iteration] de haut en bas (2)Génération des successeurs:1. Si le premier symbole de gauche est identique au premier mot de droite, les

enlever tous les deuxExemple: ((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 lestechniques de recherche déjà étudiées(Voir exemple d’Analyse en utilisant la rechercheDepth-First, en classe)

Page 13: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

13

Le parsing des grammaires Le parsing des grammaires libres de contexte [2eme libres de contexte [2eme itération] de haut en bas 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)

Page 14: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

14

Le parsing des grammaires Le parsing des grammaires libres de contexte [3eme libres de contexte [3eme

itération] de haut en bas (1)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.

Page 15: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

15

Le parsing des grammaires Le parsing des grammaires libres de contexte [3eme libres de contexte [3eme

itération] de haut en bas (2)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

Page 16: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

16

Exemple d’une analyse qui utilise la Exemple d’une analyse qui utilise la recherche Depth-Firstrecherche Depth-First

(Voir exemple en classe)

Page 17: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

17

Grammaires avec attributs (1)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”, *”I is a man”, *”Sue sighed the pizza”

Ceci est un problème Il faut utiliser des attributs!

Page 18: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

18

Grammaires avec attributs (2)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…]

Page 19: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

19

Grammaires avec attributs (3)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

Page 20: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

20

Grammaires avec attributs (4)Grammaires avec attributs (4)

Patron d’attribut

Attribut du constituent

Resultat du Matching

((Agr (?a)) (Vform inf)

((Agr 3s) (Vform (?v))

(((?a) 3s) ((?v) inf))

((Agr 3s)) ((Agr (?a)) (Vform inf)

((?a) 3s)

((Agr 3s)) ((Agr 3p)) Fail

((Agr 3s)) ((Agr 3s) (Vform inf)

((match t))

((Agr (?a)) (Vform inf)

((Agr 3s)) Fail

Le matching utilise le principe d’unification

Page 21: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

21

Grammaires avec attributs (5)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]

Page 22: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

22

Le traitement du langage Le traitement du langage naturelnaturel

Sémantique

Page 23: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

23

Interprétation sémantiqueInterpré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.

Page 24: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

24

Définition d’une forme logique Définition d’une forme logique du langage (1)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.

Page 25: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

25

Définition d’une forme logique Définition d’une forme logique du langage (2)du langage (2)

Categ. Syntaxi. Exemples Constr. Logi.

Name John, New York Constantes

N man, house, idea Predicats unaire

V (intransitif) laugh Predicats unaire

V (transitif) find Predicats binaire

V (etatique) believe, know Operateur modal

Conjonction and, but Operateur Logique

Article the, a, this Quantificateurs

Quantificateurs all,some,most Quantificateurs

Adjectifs Red, heavy Predicats unaires

Prepositions in, on, above Predicats binaires

Page 26: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

26

Définition d’une forme logique Définition d’une forme logique du langage (3)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))

Page 27: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

27

Définition d’une forme logique Définition d’une forme logique du langage (4)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)))

Page 28: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

28

Définition d’une forme logique Définition d’une forme logique du langage (5)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)>)

Page 29: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

29

Interprétation sémantique en Interprétation sémantique en utilisant des attributsutilisant 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 …)))

Page 30: 1 CSI 4506: Introduction à lintelligence artificielle Le traitement du langage naturel.

30

La désambiguïsation du sens La désambiguïsation du sens des motsdes 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)