INFORMATIQUE 3

publicité
INFORMATIQUE 3
Paola Merlo, a.a. 2004-2005
Projet: Attachement du SP avec Naive Bayes
Attachement automatique du SP au nom ou au verbe
Comme nous en avons beaucoup parlé en classes, le problème de l’attachement du SP est
important en analyse syntaxique de texte. Pour ce projet, vous devéloperez un algorithme
d’apprentissage basé sur l’algorithme d’apprentissage qui s’appelle Naïve Bayes. Il s’agit
d’une méthode d’apprentissage qui prend un vecteur de traits d’entraînement en entrée,
comme les arbres de décision, et les combine de manière très simple, en faisant l’hypothèse
qu’il sont tous indépendant (voir plus bas, section 4).
Vous devrez
1) d’abord extraire les données du Penn Treebank à l’aide de TGrep2, un outil vous
permettant de faire des recherches sur des arbres,
2) ensuite reproduire en Perl l’algorithme présenté, et
3) en évaluer la performance.
1. Page web de ressources pour ce projet
Toutes ressources reliées aux projets seront mises à disposition à partir de la page web :
http://www.latl.unige.ch/informatique3/projets/resources-summer-project.html
2. Corpus
Pour ce projet, vous utiliserez le PennTreebank (PTB). Il vous faut un corpus arboré pour
identifier les données dont vous avez besoin sans trop de difficulté. Il serait possible, mais
beaucoup plus difficile, de travailler sans un tel corpus. Le PTB contient environ un million
de mots pour lesquels l’analyse arborescente a été faite semi-automatiquement et corrigée à la
main.
3. Extraction des n-uplets
Il est difficile d’extraire les données qui nous intéressent à l’aide de Perl et d’expression
régulières, parce que le langage des parenthèses équilibrée n’est pas un langage régulier. Il
nous faut donc un système plus puissant. Le logiciel Tgrep2, « Tree-Grep 2 », peut nous être
utile ici parce qu’il fait une analyse de l’arbre. Téléchargez et installez ce logiciel (voir lien
sur la page du projet), et étudiez le langage de recherche qu’il utilise dans le manuel distribué
avec le logiciel. Vous vous en servirez pour extraire les n-uplets < verbe; nom; prép., nom2;
Tag-Fonctionnel> pour les cas où le SP est rattaché au nom et de même pour les cas où le SP
est rattaché au verbe. Vous pouvez aussi extraire d’autres traits qui vous semblent être
pertinent pour la décision de l’attachement.
1
N’oubliez pas de diviser le corpus en une partie pour les données d’entraînement (sections
00–19) et une partie pour le données de test (sections 20–24).
Tgrep2 requiert que le corpus soit « préparé ». Nous avons fait cette préparation pour vous—
vous trouverez les fichiers PTB00-19.t2c.gz et PTB20-24.t2c.gz sur la page du projet.
Quelques options utile à donner à Tgrep2 : -a pour trouver toutes les instance de votre
recherche; -i pour qu’il donne un numéro à chacune de ces instances pour une phrase donnée;
-C pour qu’il imprime le commentaire associé à chaque phrase—un identificateur permettant
de retracer la phrase dans le corpus dans les fichiers t2c que nous vous avons fournis. Il est
utile de garder ces renseignements sous forme d’un identificateur au début de chaque n-uplet,
de sorte à pouvoir retrouver la phrase d’où vient le n-uplet quand vous en aurez besoin.
4. Naive Bayes
Lisez le chapitre 6 de Tom Mitchell, Machine Learning, et implémentez la méthode
d’apprentissage Naive Bayes. Vous trouverez aussi une explication très simple de la méthode
Naïve Bayes sur wikipedia
(http://en.wikipedia.org/wiki/Naive_Bayesian_classification#The_naive_Bayes_probabilistic_
model)
Testez-la sur vos données test. Calculez aussi une baseline n’utilisant que la préposition.
Présentez l’exactitude de la méthode, ainsi que la précision et le rappel pour l’attachement au
verbe et pour l’attachement au nom.
2
Téléchargement