petites corrections pour que le Makrdown compile
This commit is contained in:
parent
c0be900625
commit
9153673316
1 changed files with 49 additions and 37 deletions
86
rapport.md
86
rapport.md
|
@ -1,11 +1,13 @@
|
|||
---
|
||||
title: IFT-7022 - Traitement automatique de la langue naturelle
|
||||
author: François Pelletier (908144032)
|
||||
date: 30 septembre 2019
|
||||
geometry: "left=3cm,right=3cm,top=2cm,bottom=2cm"
|
||||
output: pdf_document
|
||||
---
|
||||
|
||||
# Travail pratique 1
|
||||
|
||||
IFT-7022 — Traitement automatique de la langue naturelle
|
||||
|
||||
Remis par François Pelletier
|
||||
|
||||
Étudiant # 908144032
|
||||
|
||||
## Conversion de questions
|
||||
|
||||
L'objectif de ce problème est de convertir un ensemble de questions en affirmations à l'aide d'expressions régulières et règles de substitution.
|
||||
|
@ -22,25 +24,25 @@ Toutes ces règles sont enchainées les unes à la suite des autres. Comme la co
|
|||
|
||||
Les motifs suivent cet ordre. Sauf indication contraire, le groupe affirmatif à convertir est situé après le motif recherché :
|
||||
|
||||
1. Mot-question **qui**, suivi d'un verbe auxiliaire, sous forme d'énumération partielle
|
||||
2. Mot-question **qu'est-ce qu'**
|
||||
3. Mot-question **que** suivi d'un verbe d'état ou d'action. J'ai ici utilisé une énumération partielle pour identifier les verbes présents dans les questions en échantillon.
|
||||
4. Mot-question **où** ou de la forme **dans quelle** suivi d'une catégorie géographique, sous forme d'énumération partielle. J'ai aussi capturé la forme particulière **quelle est la capitale** où je remplace le mot **quelle** par où, afin de correspondre au motif précédent. Ceci me permet d'éviter une règle additionnelle.
|
||||
5. Mot-question **quel** suivi soit du mot âge et du verbe avoir, soit du verbe auxiliaire et d'un nom représentant une quantité, sous forme d'énumération
|
||||
6. Mot-question **quel** suivi du verbe être (forme générique du motif précédent)
|
||||
7. Mot question **quand** ou groupe **en quelle année**
|
||||
8. Mot question **pourquoi**
|
||||
9. Mot question **combien** suivi de **de**.
|
||||
10. Mot question **combien** suivi de **y a-t-il**. La différence ici est que la réponse conserve l'ordre de la question et qu'il faut transformer **y a-t-il** en **il y a**.
|
||||
11. Mot-question **quel** à la fin de la question. Ce motif sert à attraper une forme moins fréquente de questions où la question est posée après le groupe affirmatif.
|
||||
1. Mot-question **qui**, suivi d'un verbe auxiliaire, sous forme d'énumération partielle
|
||||
2. Mot-question **qu'est-ce qu'**
|
||||
3. Mot-question **que** suivi d'un verbe d'état ou d'action. J'ai ici utilisé une énumération partielle pour identifier les verbes présents dans les questions en échantillon.
|
||||
4. Mot-question **où** ou de la forme **dans quelle** suivi d'une catégorie géographique, sous forme d'énumération partielle. J'ai aussi capturé la forme particulière **quelle est la capitale** où je remplace le mot **quelle** par où, afin de correspondre au motif précédent. Ceci me permet d'éviter une règle additionnelle.
|
||||
5. Mot-question **quel** suivi soit du mot âge et du verbe avoir, soit du verbe auxiliaire et d'un nom représentant une quantité, sous forme d'énumération
|
||||
6. Mot-question **quel** suivi du verbe être (forme générique du motif précédent)
|
||||
7. Mot question **quand** ou groupe **en quelle année**
|
||||
8. Mot question **pourquoi**
|
||||
9. Mot question **combien** suivi de **de**.
|
||||
10. Mot question **combien** suivi de **y a-t-il**. La différence ici est que la réponse conserve l'ordre de la question et qu'il faut transformer **y a-t-il** en **il y a**.
|
||||
11. Mot-question **quel** à la fin de la question. Ce motif sert à attraper une forme moins fréquente de questions où la question est posée après le groupe affirmatif.
|
||||
|
||||
Quelques modifications au niveau de la phrase viennent ensuite *nettoyer* la résultante :
|
||||
|
||||
12. Suppression des inversions *-il*, *-elle*, *-t-il*, *-t-elle*
|
||||
13. Inversion du pronom *vous*
|
||||
14. Retrait des doubles espaces
|
||||
15. Retrait des espaces au début de la phrase
|
||||
16. Retrait des espaces après les apostrophes
|
||||
12. Suppression des inversions *-il*, *-elle*, *-t-il*, *-t-elle*
|
||||
13. Inversion du pronom *vous*
|
||||
14. Retrait des doubles espaces
|
||||
15. Retrait des espaces au début de la phrase
|
||||
16. Retrait des espaces après les apostrophes
|
||||
|
||||
### Résultats
|
||||
|
||||
|
@ -48,14 +50,21 @@ Quelques modifications au niveau de la phrase viennent ensuite *nettoyer* la ré
|
|||
|
||||
Sur l'ensemble des questions à convertir, quatre réponses ne correspondaient pas à celles dans le fichier d'entrainement, avant d'avoir effectué les améliorations suite à la connaissance du fichier de test :
|
||||
|
||||
Situation 1. `Q : Qui était Galileo?`
|
||||
- Comme cette question correspond au motif 1, la réponse que le module produit est **Luc Lamontagne était Galileo.**, alors qu'elle aurait du tomber dans la catégorie *autre*. Pour ce faire, cela aurait nécessité une analyse syntaxique.
|
||||
Situation 2. `Q : A quelle distance se trouve la ligne de service du net au tennis?`
|
||||
- Il me reste le mot distance au début de l'affirmation, que je n'arrive pas à enlever sans devoir faire une expression trop spécifique.
|
||||
Situation 3. `Q : Combien de litres dans un gallon?`
|
||||
- C'est la seule question de cette forme où la réponse donnée est au début et non à la fin.
|
||||
Situation 4. `Q : Que fait-on avec des drapeaux usés ou périmés?`
|
||||
- Encore une fois, c'est la seule version où la réponse est au début et non à la fin. Ma réponse est équivalente.
|
||||
Situation 1. `Q : Qui était Galileo?`:
|
||||
|
||||
- Comme cette question correspond au motif 1, la réponse que le module produit est **Luc Lamontagne était Galileo.**, alors qu'elle aurait du tomber dans la catégorie *autre*. Pour ce faire, cela aurait nécessité une analyse syntaxique.
|
||||
|
||||
Situation 2. `Q : A quelle distance se trouve la ligne de service du net au tennis?`:
|
||||
|
||||
- Il me reste le mot distance au début de l'affirmation, que je n'arrive pas à enlever sans devoir faire une expression trop spécifique.
|
||||
|
||||
Situation 3. `Q : Combien de litres dans un gallon?`:
|
||||
|
||||
- C'est la seule question de cette forme où la réponse donnée est au début et non à la fin.
|
||||
|
||||
Situation 4. `Q : Que fait-on avec des drapeaux usés ou périmés?`:
|
||||
|
||||
- Encore une fois, c'est la seule version où la réponse est au début et non à la fin. Ma réponse est équivalente.
|
||||
|
||||
#### Fichier de test
|
||||
|
||||
|
@ -66,16 +75,19 @@ J'apporte les modifications suivantes pour diminuer le nombre d'erreurs:
|
|||
- Ajout du mot `profondeur` à la règle 5: enlève une erreur
|
||||
- J'ajoute un groupe de capture optionnel `est né` à la règle 7, enlève une erreur.
|
||||
- Séparation de la règle 1 pour le **qui** en deux expression pour gérer les temps de verbe présent et participe passé. La réponse n'est pas au même endroit dans la phrase pour ces deux situations: enlève trois erreurs
|
||||
- Ajout d'une expression régulière pour gérer "quel est le nom du chef" après celles qui gère le mot-question **qui**: enlève une erreur.
|
||||
- Ajout d'une expression régulière pour gérer `quel est le nom du chef` après celles qui gère le mot-question **qui**: enlève une erreur.
|
||||
- Je sépare la règle 4 pour gérer `capitale` et `emplacement` séparément. J'enlève deux erreurs dans le fichier de test mais j'ajoute une erreur dans le fichier d'entrainement à la question `Quelle est la capitale de la Yougoslavie?`, car il y a un `à` de trop dans la réponse.
|
||||
|
||||
|
||||
J'élimine donc 8 erreurs à l'aide de 3 nouvelles expressions régulières et en améliorant une expression existante. Il subsiste 2 erreurs:
|
||||
|
||||
Situation 1. `Q : À quelle vitesse est le son?`
|
||||
- Même erreur que la situation 2 dans le fichier d'entrainement
|
||||
Situation 2. `Q : Combien de cœurs a une pieuvre?`
|
||||
- Même erreur que la situation 3 dans le fichier d'entrainement
|
||||
Situation 1. `Q : À quelle vitesse est le son?`:
|
||||
|
||||
- Même erreur que la situation 2 dans le fichier d'entrainement
|
||||
|
||||
Situation 2. `Q : Combien de cœurs a une pieuvre?`:
|
||||
|
||||
- Même erreur que la situation 3 dans le fichier d'entrainement
|
||||
|
||||
## Origine du nom de famille
|
||||
|
||||
|
@ -211,8 +223,8 @@ from pandas import DataFrame
|
|||
- [Documentation de Seaborn](https://seaborn.pydata.org)
|
||||
- [Documentation de Python 3.7: The Python Standard Library](https://docs.python.org/3.7/library/)
|
||||
- Stack Overflow:
|
||||
- https://stackoverflow.com/a/7716358
|
||||
- https://stackoverflow.com/a/280156
|
||||
- [Réponse #7716358](https://stackoverflow.com/a/7716358)
|
||||
- [Réponse #280156](https://stackoverflow.com/a/280156)
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue