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