après antidote sommaire
This commit is contained in:
parent
89de4f257f
commit
ee956315bd
1 changed files with 49 additions and 49 deletions
|
@ -19,7 +19,7 @@ fontsize: 12pt
|
|||
|
||||
## Types de recherches
|
||||
|
||||
- Litéral
|
||||
- Littéral
|
||||
- Classe de caractères
|
||||
- Alphanumériques: `/\w/`
|
||||
- Numériques: `/\d/`
|
||||
|
@ -38,7 +38,7 @@ fontsize: 12pt
|
|||
- Zéro ou plusieurs espaces (en début de ligne): `/^\s*/`
|
||||
- Un ou plusieurs caractères (un mot): `/\w+/`
|
||||
- Groupes de capture
|
||||
- Multiple, optionnel ou non-quantifié: `/(groupe 1)+(groupe 2)?(groupe 3)*/`
|
||||
- Multiple, optionnel ou non quantifié: `/(groupe 1)+(groupe 2)?(groupe 3)*/`
|
||||
- Conditions
|
||||
- `/(?(?=si_expression)alors|sinon)/`
|
||||
|
||||
|
@ -60,7 +60,7 @@ Module **re**
|
|||
|compile|générer une version compilée de l'expression régulière|
|
||||
|match|rechercher depuis le début d'une chaîne de caractères|
|
||||
|search|rechercher dans une chaîne de caractères|
|
||||
|sub|remplacer la première occurence d'un patron|
|
||||
|sub|remplacer la première occurrence d'un patron|
|
||||
|
||||
## Automates à états finis
|
||||
|
||||
|
@ -100,7 +100,7 @@ Processus qui:
|
|||
- Démarre dans l'état initial
|
||||
- Examine le symbole en entrée
|
||||
- Consulte la table
|
||||
- Sélectionne le nouvel état et met à jour le ruban
|
||||
- Sélectionne le nouvel état et mets à jour le ruban
|
||||
- Continue jusqu'à ce qu'on atteigne le bout du ruban
|
||||
|
||||
Algorithme déterministe: D-Recognise
|
||||
|
@ -114,31 +114,31 @@ Vérification d'expressions régulières:
|
|||
- Traduire l'expression en table de transition
|
||||
- Passer la table et la chaîne à un interpréteur
|
||||
|
||||
### Reconnaissance non-déterministe
|
||||
### Reconnaissance non déterministe
|
||||
|
||||
Deux approches de base:
|
||||
|
||||
- Convertir un automate non-déterministe en automate déterministe.
|
||||
- Convertir un automate non déterministe en automate déterministe.
|
||||
- Transition $\epsilon$ qui n'avance pas le ruban.
|
||||
- Gérer les différentes options comme une exploration dans un espace d'états
|
||||
- Il existe au moins un chemin complet pour une chaîne définie par le langage de l'automate.
|
||||
- Les chemins ne mènent pas tous à un état final.
|
||||
- Aucun chemin ne mène à un état final si la chaîne ne fait pas partie du langage
|
||||
- Les états de l'espace sont des paires (position du ruban, état de l'automate)
|
||||
- On garde une trace des états non-explorés. Exploration en profondeur.
|
||||
- On garde une trace des états non explorés. Exploration en profondeur.
|
||||
- Pour éviter le catastrophic backtracking, il fait éviter d'avoir deux match possibles pour le même caractère dans un groupe.
|
||||
|
||||
## Conclusion
|
||||
|
||||
Toute expression régulière peut être compilée automatiquement en un automate non-déterministe, que l'on peut convertir en automate déterministe.
|
||||
Toute expression régulière peut être compilée automatiquement en un automate non déterministe, que l'on peut convertir en automate déterministe.
|
||||
|
||||
# Prétraitement des textes
|
||||
|
||||
## Définitions
|
||||
|
||||
- **Jetons**: Nombre d'occurences de mots ($N$)
|
||||
- **Jetons**: Nombre d'occurrences de mots ($N$)
|
||||
- **Types**: Nombre de mots distincts dans le vocabulaire ($|V|$)
|
||||
- **Mot**: Plus petit élément pouvant être prononcé ou écrit en isolation avec un contenu sémantique. On peut accepter les signes de ponctuation dans certaines tâches
|
||||
- **Mot**: Plus petit élément pouvant être prononcé ou écrit en isolation avec un contenu sémantique. On peut accepter les signes de ponctuation dans certaines tâches.
|
||||
|
||||
Loi de Heaps: $|V| = kN^{\beta}, 0.67 < \beta < 0.75$
|
||||
|
||||
|
@ -194,8 +194,8 @@ Techniques, en ordre décroissant de complexité:
|
|||
|
||||
- Étude de la composition des mots en morphèmes
|
||||
- **Morphèmes** : Plus petite unité lexicale ayant un sens spécifique
|
||||
- **Racines** : Morphèmes lexicaux, (*stems*)
|
||||
- Central; Donne le sens au mot
|
||||
- **Racines** : Morphèmes lexicaux (*stems*)
|
||||
- Central; donne le sens au mot.
|
||||
- Radical ou lexème
|
||||
- **Affixes** : Morphèmes grammaticaux
|
||||
- Préfixe (**pré**historique), suffixes (préhistor**ique**) et infixe (t**a**ke, t**oo**k)
|
||||
|
@ -222,7 +222,7 @@ Approches
|
|||
Consiste à trouver la racine du mot par troncature et des règles de réécriture.
|
||||
|
||||
- Aucun lexique
|
||||
- Dépend de la langue
|
||||
- Dépends de la langue
|
||||
- Anglais: Lovins, Porter, Snowball
|
||||
- Français: Snowball
|
||||
- Peut faire des erreurs
|
||||
|
@ -236,7 +236,7 @@ Découpage d'un texte en phrases
|
|||
|Signe|Précision|Exemple|
|
||||
|---|---|---|
|
||||
|! et ?|Assez fiable, sauf dans les dialogues|"Pourquoi aussi êtes-vous si insatiable?" répondit le renard.|
|
||||
|.|Quelques ambiguités, abbrébiations et nombres|Monsieur Brossard, ing., Ph.D., est arrivé.|
|
||||
|.|Quelques ambigüités, abréviations et nombres|Monsieur Brossard, ing., Ph.D., est arrivé.|
|
||||
|...|Interruption ou hésitation|Mais... c'est mon ami !|
|
||||
|
||||
- Approximation à l'aide de règles
|
||||
|
@ -246,7 +246,7 @@ Découpage d'un texte en phrases
|
|||
- Précédé et suivi de caractères sans espaces
|
||||
- Suivi de plusieurs espaces
|
||||
- Précédé ou suivi de signes de ponctuation
|
||||
- Suivi de guillements
|
||||
- Suivi de guillemets
|
||||
- ...
|
||||
- Une décision pour chaque signe de ponctuation selon le contexte
|
||||
- Meilleure performance: Apprentissage automatique, classification binaire
|
||||
|
@ -316,7 +316,7 @@ La prédiction du mot suivant est utilisée dans plusieurs domaines
|
|||
- Correction d'orthographe
|
||||
- Traduction automatique
|
||||
|
||||
Classification de textes, désambiguation
|
||||
Classification de textes, désambiguïsation
|
||||
|
||||
## Modèles
|
||||
|
||||
|
@ -327,7 +327,7 @@ Approches:
|
|||
|
||||
Décompte des mots:
|
||||
|
||||
- On utilise seulement les formes de mots (les mots tel quels)
|
||||
- On utilise seulement les formes de mots (les mots tels quels)
|
||||
|
||||
Calcul:
|
||||
|
||||
|
@ -495,7 +495,7 @@ $$
|
|||
- Enjeux
|
||||
- Approche trop drastique
|
||||
- On peut utiliser une valeur $\delta \in [0,1]$, mais ce choix est difficile
|
||||
- Pas utilisé en pratique pour les N-grammes, il y a de meilleures méthodes.
|
||||
- pas utilisé en pratique pour les N-grammes, il y a de meilleures méthodes.
|
||||
- Utilisé pour lisser d'autres types de modèles probabilistes.
|
||||
- Classification de textes
|
||||
- Études pilotes
|
||||
|
@ -540,7 +540,7 @@ $$
|
|||
|
||||
Pourquoi classifier des textes:
|
||||
|
||||
- Filtrage du spam
|
||||
- Filtrage du pourriel
|
||||
- Services d'information
|
||||
- Déterminer le genre de l'auteur
|
||||
- Analyse de sentiments
|
||||
|
@ -560,7 +560,7 @@ Pourquoi classifier des textes:
|
|||
|
||||
- Règles construites à la main
|
||||
- Combinaison de mots
|
||||
- Performances potentiellement élevées, mais difficile à construire et à maintenir
|
||||
- Performances potentiellement élevées, mais difficiles à construire et à maintenir
|
||||
- Apprentissage supervisé
|
||||
- Construire automatiquement un classificateur à partir de données d'entraînement.
|
||||
- $f: \text{doc} \rightarrow c$
|
||||
|
@ -660,8 +660,8 @@ Enjeux:
|
|||
|
||||
### Analyse de sentiments
|
||||
|
||||
- On remplace les fréquences des mots par document par leur occurence
|
||||
- **Occurence**: Nombre de documents contenant le mot au moins une fois
|
||||
- On remplace les fréquences des mots par document par leur occurrence
|
||||
- **Occurrence**: Nombre de documents contenant le mot au moins une fois
|
||||
- Négation: inversion de la polarité des mots
|
||||
- Astuce: convertir en une représentation distincte (NOT_x)
|
||||
- Il y a d'autres approches plus précises avec une analyse syntaxique
|
||||
|
@ -712,7 +712,7 @@ Meilleure estimation de la qualité du classificateur.
|
|||
- Prendre aléatoirement $k-1$ sous-ensembles pour l'entraînement et celui qui reste pour le test de performance.
|
||||
- Répéter $k$ fois et faire la moyenne des différentes métriques
|
||||
|
||||
Évaluation multi-classes:
|
||||
Évaluation multiclasses:
|
||||
|
||||
- Tables de contingence 2x2
|
||||
- Micro-averaging
|
||||
|
@ -724,7 +724,7 @@ Meilleure estimation de la qualité du classificateur.
|
|||
|
||||
- Les collections de documents ont un grand nombre d'attributs. Les approches ne peuvent pas toutes les traiter.
|
||||
- Réduire le temps d'entraînement et rendre les classificateurs petits et efficaces.
|
||||
- Généraliser les données. Éliminer le bruit, la redondance
|
||||
- Généraliser les données. Éliminer le bruit, la redondance.
|
||||
- Éviter le surentraînement
|
||||
|
||||
Approche:
|
||||
|
@ -895,7 +895,7 @@ Usages:
|
|||
|
||||
## POS Tags
|
||||
|
||||
- Plusieurs ensemble d'étiquettes disponibles
|
||||
- Plusieurs ensembles d'étiquettes disponibles
|
||||
- Haut niveau (N, V, ADJ, ADV, DET, PRE, PRO)
|
||||
- Plus détaillé (Penn Treebank: 45 étiquettes)
|
||||
|
||||
|
@ -950,7 +950,7 @@ Problème: Les mots ont souvent plus d'une étiquette, il faut alors déterminer
|
|||
**HMM**: Hidden Markov Models
|
||||
|
||||
- Approche probabiliste
|
||||
- Cas spécial d'intérence bayésienne
|
||||
- Cas spécial d'inférence bayésienne
|
||||
- Modèle génératif:
|
||||
- On détermine la structure de la phrase
|
||||
- On choisit le mot associé à chaque étiquette
|
||||
|
@ -1032,7 +1032,7 @@ Tableau:
|
|||
- Lignes: État possible
|
||||
- Colonnes: Mots
|
||||
- Treillis reliant les états possibles
|
||||
- On multiplie les probabilité sur chacun des chemins et on conserve celui avec la probabilité la plus élevée aux noeuds qui recoupent deux chemins.
|
||||
- On multiplie les probabilités sur chacun des chemins et on conserve celui avec la probabilité la plus élevée aux noeuds qui recoupent deux chemins.
|
||||
- $v_t(j)=\max_{i=1}^N v_{t-1}(i)a_{ij}b_j(o_t)$
|
||||
|
||||
### Extension
|
||||
|
@ -1089,7 +1089,7 @@ $$
|
|||
|
||||
- La résolution peut être bidirectionnelle.
|
||||
- La performance se mesure par l'exactitude.
|
||||
- Les meilleurs algorithme obtiennent 97% en anglais.
|
||||
- Les meilleurs algorithmes obtiennent 97% en anglais.
|
||||
|
||||
# Analyse syntaxique
|
||||
|
||||
|
@ -1126,19 +1126,19 @@ Ils ont une structure interne souvent similaire
|
|||
|
||||
Comportement externe:
|
||||
|
||||
- Par rapport aus autres unités
|
||||
- Par rapport aux autres unités
|
||||
- On peut changer leur position dans la phrase
|
||||
- Il est difficile de déplacer les mots individuellement
|
||||
|
||||
## Grammaire
|
||||
|
||||
Formalisation: grammaire hors-contexte
|
||||
Formalisation: grammaire hors contexte
|
||||
|
||||
- Règles
|
||||
- Un non-terminal à gauche et un certain nombre de terminaux et non-terminaux à droite
|
||||
- Un non terminal à gauche et un certain nombre de terminaux et non-terminaux à droite
|
||||
- Symboles terminaux
|
||||
- Mots des phrases
|
||||
- Symboles non-terminaux
|
||||
- Symboles non terminaux
|
||||
- Groupes de mots
|
||||
|
||||
Types de phrases
|
||||
|
@ -1158,7 +1158,7 @@ Types de phrases
|
|||
L'analyseur:
|
||||
|
||||
- Accepte ou rejette une phrase selon le respect de la grammaire d'une langue.
|
||||
- Assigne une structure appropriés à une phrase (parsing):
|
||||
- Assigne une structure appropriée à une phrase (parsing):
|
||||
- Arbre
|
||||
- Représentation compacte
|
||||
- Il peut produire plus d'un arbre
|
||||
|
@ -1167,38 +1167,38 @@ L'analyseur:
|
|||
**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.
|
||||
- Sers à 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
|
||||
- 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)
|
||||
- Ambiguïté (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
|
||||
- Emmaganiser les sous-structures ambiguës avec leurs sous-parties communes
|
||||
- CKY, Earley, Chart Parser
|
||||
|
||||
## CKY
|
||||
|
||||
- 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:
|
||||
- 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
|
||||
|
||||
|
@ -1206,7 +1206,7 @@ Solution: dynamic programming
|
|||
|
||||
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.
|
||||
3. Traverser le tableau et identifier les groupes applicables à partir des règles de la grammaire sans contexte. Il peut y avoir plusieurs combinaisons à regarder pour chaque case.
|
||||
|
||||
Les boucles sont imbriquées pour remplir le tableau:
|
||||
|
||||
|
@ -1223,7 +1223,7 @@ Les boucles sont imbriquées pour remplir le tableau:
|
|||
- Pas d'analyse morphologique
|
||||
- En pratique, on devrait considérer ces éléments
|
||||
|
||||
### Approche Probabiliste
|
||||
### 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.
|
||||
|
@ -1299,7 +1299,7 @@ C'est un problème d'étiquetage
|
|||
**Recherche d'information**:
|
||||
|
||||
- Matériel (documents)
|
||||
- Non-structuré
|
||||
- Non structuré
|
||||
- Besoin d'information
|
||||
- Grandes collections
|
||||
|
||||
|
@ -1307,7 +1307,7 @@ C'est un problème d'étiquetage
|
|||
|
||||
- Plusieurs modèles:
|
||||
- Booléen
|
||||
- Vectorial
|
||||
- Vectoriel
|
||||
- Probabiliste
|
||||
- Latent semantic indexing
|
||||
|
||||
|
@ -1438,7 +1438,7 @@ $$
|
|||
# Sémantique lexicale
|
||||
|
||||
- Raisonnement: idées similaires avec des mots différents (thesaurus)
|
||||
- Utilisation: détection de plagiat, système question-réponses, résumé de textes
|
||||
- Utilisation: détection de plagiat, système question-réponse, résumé de textes
|
||||
- Approches possibles:
|
||||
- Taxonomie et thesaurus
|
||||
- Approche distributionnelle
|
||||
|
@ -1455,7 +1455,7 @@ Les mots et leurs sens peuvent être reliés par différentes relations:
|
|||
- Homographes
|
||||
- Les deux
|
||||
- Problèmes en NLP:
|
||||
- Synthèse vocale (même orthographe mais phonologie différente)
|
||||
- Synthèse vocale (même orthographe, mais phonologie différente)
|
||||
- Recherche d'information (même mot, sens différents)
|
||||
- Traduction automatique
|
||||
- Reconnaissance vocale (même phonologie, orthographe différente)
|
||||
|
@ -1481,7 +1481,7 @@ Il y a 4 types de synsets:
|
|||
- Adjectif
|
||||
- Adverbe
|
||||
|
||||
Ils forment un graphe sémantique. Ils forment aussi une hiérarchie de concepts
|
||||
Ils forment un graphe sémantique. Ils forment aussi une hiérarchie de concepts.
|
||||
|
||||
### SentiWordNet
|
||||
|
||||
|
@ -1490,7 +1490,7 @@ Ils forment un graphe sémantique. Ils forment aussi une hiérarchie de concepts
|
|||
## Mesure de la similarité
|
||||
|
||||
- Synonymie (simple)
|
||||
- En pratique, on utilise la hierarchie de concepts (noms et verbes).
|
||||
- En pratique, on utilise la hiérarchie de concepts (noms et verbes).
|
||||
- On calcule la proximité par les chemins
|
||||
- $pathlen(c_1,c_2)$: 1+ nombre de liens
|
||||
- $sim_path(c_1,c_2) = \frac{1}{pathlen(c_1,c_2)}$
|
||||
|
|
Loading…
Reference in a new issue