From 69b5713a9555d3cf6d64ce2c0af7ba7bae039f66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Pelletier?= Date: Sun, 20 Oct 2019 23:46:43 -0400 Subject: [PATCH] =?UTF-8?q?fin=20partie=20CKY=20d=C3=A9but=20recherche=20i?= =?UTF-8?q?nfo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examen_partiel.md | 171 ++++++++++++++++++++++++++++++++++++++++++++-- ud_relations.png | Bin 0 -> 34712 bytes 2 files changed, 167 insertions(+), 4 deletions(-) create mode 100644 ud_relations.png diff --git a/examen_partiel.md b/examen_partiel.md index e729280..4bedb3f 100644 --- a/examen_partiel.md +++ b/examen_partiel.md @@ -1089,8 +1089,27 @@ $$ Groupes de mots formant une seule unité dans la phrase: -- Nominal -- Verbal +- Nominal (NP) + - Exemples de règles + - NP -> Pronoun + - NP -> ProperNoun + - NP -> Det Nominal + - Nominal -> Noun | Nominam Noun + - Noyau (Head noun): rôle central du groupe nominal + - Modifiants: + - Déterminants + - Nombre + - Adjectif + - Adjectif indéfini + - Groupe prépositionnel +- Verbal (VP) + - Exemples: + - VP -> Verb + - VP -> Verb NP + - VP -> Verb PP + - VP -> Verb NP PP + - Verbe de tête (head verb) + - Arguments - Prépositionnel - Adverbial - Adjectival @@ -1113,22 +1132,166 @@ Formalisation: grammaire hors-contexte - Mots des phrases - Symboles non-terminaux - Groupes de mots + +Types de phrases +- Déclarative + - S -> NP VP +- Impérative + - S -> VP +- Question oui-non + - S -> Aux NP VP +- Question ouverte (WH question) + - S -> WH-NP VP + - S -> WH-NP Aux NP VP ## Analyseur +L'analyseur: + +- Accepte ou rejette une phrase selon le respect de la grammaire d'une langue. +- Assigne une structure appropriés à une phrase (parsing): + - Arbre + - Représentation compacte +- Il peut produire plus d'un arbre + +**Dérivation**: Séquence de règles appliquées à une phrase, recouvre tous les mots et seulement ceux-ci. +**Treebanks**: corpus de phrases associées à un arbre syntaxique. + +- Analyseur automatique et correction par l'humain. +- Sert à définir une grammaire à partir des dérivations. +- Grammaire partielle, bonne couverture avec un large corpus + +Approches: + +- Descendant + - Explore les arbres qui peuvent être des solutions + - Suggère des arbres non-consistants par rapport aux mots +- Ascendant + - Suggère seulement des arbres compatibles + - Les arbres peuvent ne faire aucun sens globalement + +Enjeux du backtracking: + +- Ambiguité (problème de rattachement, groupes de mots qui ne font pas de sens au niveau sémantique) +- Répétition de sous-arbres à différents endroits + +Solution: dynamic programming + +- Éviter de refaire du travail inutilement +- Résoudre des problèmes exponentiels en temps polynomial +- Emmaganiser les sous-structures ambigues avec leurs sous-parties communes +- CKY, Earley, Chart Parser + ## CKY -## Probabiliste +- La grammaire doit être composée de règles binaires +- Si A, alors B et C existe et il y a un endroit pour les séparer +- Réécrire les règles non-binaires sous la forme normale de Chomsky: + - Deux symboles non-terminaux ou un symbole terminal + - Remplacer les symboles non-terminaux uniques par toutes les formes qu'il peut prendre + - Remplacer les symboles non-terminaux au nombre de 3 ou plus par de nouvelles règles et de nouveaux symboles pour faire le découpage: + - S -> A B C + - S -> X C; X -> A B + +### Algorithme + +1. Construire le tableau. Les mots forment les colonnes. +2. Identifier les POS sur la diagonale selon le lexique +3. Traverser le tableau et identifier les groupes applicables à partir des règles de la grammaire sans contexte. Il peut y avoir plusieurs combinaison à regarder pour chaque case. + +Les boucles sont imbriquées pour remplir le tableau: + +- Une colonne à la fois +- De gauche à droite +- Du bas vers le haut + +- Les résultats nécessaires sont déjà présents dans le tableau. +- Algorithme en ligne (online). +- Approche simplifiée + - On connaît tous les mots via un lexique. + - La chaîne n'a pas d'étiquette lexicale. + - Pas de genre ni de nombre + - Pas d'analyse morphologique +- En pratique, on devrait considérer ces éléments + +### Approche Probabiliste + +- On ajoute des probabilités à toutes les règles de la grammaire. +- On reprend l'algorithme CKY, mais en multipliant les probabilités des règles précédentes et de la règle courante. +- On retient la plus grande probabilité pour chaque cellule. ## Analyseur de dépendances +- Analyse syntaxique des relations entre les mots d'une phrase. +- Arbre dont: + - Les noeuds représentent les mots + - Les liens représentent les relations de dépendance entre les paires de mots +- Avantages: + - Plus rapide à construire + - Moins dépendant de l'ordre des mots + - Capture des relations syntaxiques +- Approche vorace (voir Stanford Parser) +- Universal Dependancies: différentes langues + +![Universal Dependency Relations](ud_relations.png) + +Liste des dépendances + +- acl: clausal modifier of noun (adjectival clause) +- advcl: adverbial clause modifier +- advmod: adverbial modifier +- amod: adjectival modifier +- appos: appositional modifier +- aux: auxiliary +- case: case marking +- cc: coordinating conjunction +- ccomp: clausal complement +- clf: classifier +- compound: compound +- conj: conjunct +- cop: copula +- csubj: clausal subject +- dep: unspecified dependency +- det: determiner +- discourse: discourse element +- dislocated: dislocated elements +- expl: expletive +- fixed: fixed multiword expression +- flat: flat multiword expression +- goeswith: goes with +- iobj: indirect object +- list: list +- mark: marker +- nmod: nominal modifier +- nsubj: nominal subject +- nummod: numeric modifier +- obj: object +- obl: oblique nominal +- orphan: orphan +- parataxis: parataxis +- punct: punctuation +- reparandum: overridden disfluency +- root: root +- vocative: vocative +- xcomp: open clausal complement + ## Chunking +Analyse de surface: + +- Début et fin des groupes syntaxiques +- Pas d'arbre +- Seulement les parties qui nous intéressent + +C'est un problème d'étiquetage + # Recherche d'information + + # Wordnet -# Cooccurences + # Premier travail pratique diff --git a/ud_relations.png b/ud_relations.png new file mode 100644 index 0000000000000000000000000000000000000000..7b8f74df19acf8c542b1ff286071abaf3b31cb18 GIT binary patch literal 34712 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 literal 0 HcmV?d00001