RDF M1 Bayesien Naif 1: préparation du classifieur Alexandre Allauzen 2014 1 Introduction La tâche considérée est la classification de phrases: l’observation est une phrase exrtaite d’une critique de film, le but est alors de décider si cette critique est positive ou non. Une instance à classer est donc une phrase. La représentation que nous allons utiliser dans un premier temps est la suivante: une phrase est un ensemble de caractéristiques binaires, chacune des ces caractéristiques indique si un mot est présent (1) ou absent (0) de la phrase. A titre d’exemple, si nous avions le vocabulaire suivant de 5 mots : (awfull, bad, good, insightfully, performed), on obtient la représentation suivante pour la phrase: insightfully written , delicately performed . → (0, 0, 0, 1, 1) car les mots présents sont insightfully et performed les aures mots ne faisant pas partie du vocabulaire. Nous verrons en cours un nouveau type de classifieur, le Bayesien naif. Ce classifieur est probabiliste, c’est-à-dire qu’il s’appuie sur la notion de probabilité pour prendre la décision de classification. En particulier, ce classifieur s’interesse à la probabilité de la présence d’un mot connaissant la classe de la phrase à classer P (x|y), où x est une des caractéristiques binaires indiquant la présence ou l’absence d’un mot et y la classe (positif/negatif). 2 Les données Les données sont disponibles aux adresses suivantes: http://perso.limsi.fr/ Individu/allauzen/cours/cours13_14/rdf/\{data,data.neg,data.pos\} Il y trois fichiers: • data: toutes les données • data.neg: toutes les données de la classe négative • data.pos: toutes les données de la classe positive Ces trois fichiers sont au même format, en voici une phrase exemple: 7549 | 0.84722 | insightfully written , delicately performed 1 Le premier champ indique le numéro de la phrase, le second le score de polarité (0 pour purement négatif, 1 pour purement positif), puis en troisième la phrase. Pour faire les deux classes un seuil de 0.5 a été appliqué sur le score de polarité 3 Mise en place: calcul des comptes Ecrire le code python permettant de calculer les comptes nécessaires à la mise en oeuvre du classifieur Bayesien naif: • Pour chaque classe: le nombre de fois où le mot est présent dans une phrase de la classe • Le compte de phrase de chaque classe. Pour stocker ces comptes il est nécessaire d’utiliser comme structure python le dictionnaire. Pour la suite de ce TP, il est indispensable que votre code soit modulaire et testé. 4 Stop-liste Les mots les plus fréquents de la langue sont souvent peu porteurs de sens et peuvent nuire le travail d’un classifieur. Ecrire le code python permettant de calculer la fréquence des mots dans le corpus et de sélectionner les n mots les plus fréquents. Ces n mots serviront de stop-liste, à savoir qu’il seront systématiquent retirer de la représentation d’une phrase. Intégrer la stop liste au code de la section précédente. 2
© Copyright 2024 ExpyDoc