Master d Informatique M1 Université Paris 7 - Denis Diderot Travail de Recherche Encadré Surf Bayesien



Documents pareils
Introduction au datamining

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

Introduction au Data-Mining

Introduction au Data-Mining

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Raisonnement probabiliste

INF6304 Interfaces Intelligentes

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Probabilités. I Petits rappels sur le vocabulaire des ensembles 2 I.1 Définitions... 2 I.2 Propriétés... 2

LE PROBLEME DU PLUS COURT CHEMIN

Apprentissage Automatique

Qu est-ce qu une probabilité?

Probabilité. Table des matières. 1 Loi de probabilité Conditions préalables Définitions Loi équirépartie...

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Algorithmes d'apprentissage

Améliorer les performances du site par l'utilisation de techniques de Web Mining

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

données en connaissance et en actions?

Probabilités conditionnelles Loi binomiale

Systèmes d information et bases de données (niveau 1)

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Laboratoire 4 Développement d un système intelligent

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.

Apprentissage statistique dans les graphes et les réseaux sociaux

Classification Automatique de messages : une approche hybride

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

A. Définition et formalisme

Gé nié Logiciél Livré Blanc

Business Intelligence

Arbres binaires de décision

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Data Mining. Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne. Data Mining. V. Augusto.

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème

Big Data et Graphes : Quelques pistes de recherche

Précision d un résultat et calculs d incertitudes

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Probabilités sur un univers fini

Les diagrammes de modélisation

Plus courts chemins, programmation dynamique

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

SECTION 5 BANQUE DE PROJETS

Le produit semi-direct

Représentation des Nombres

Probabilités. C. Charignon. I Cours 3

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Transmission d informations sur le réseau électrique

1.1 Des concepts et termes techniques à maîtriser La formule magique du référencement Tricher ou non en référencement

NON-LINEARITE ET RESEAUX NEURONAUX

Recherche d information textuelle

Groupe Eyrolles, 2006, ISBN :

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Bases de données documentaires et distribuées Cours NFE04

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Probabilités (méthodes et objectifs)

Introduction à l étude des Corps Finis

Pourquoi l apprentissage?

LIVRE BLANC Décembre 2014

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières

Chapitre 2 Le problème de l unicité des solutions

L apprentissage automatique

Classification non supervisée

Probabilités conditionnelles

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

1. Des chartes graphiques homogènes, élégantes, créatives

Université Paris-Dauphine DUMI2E 1ère année, Applications

Chapitre VI- La validation de la composition.

Chapitre 7. Récurrences

Nom de l application

Probabilités conditionnelles Exercices corrigés

5. Apprentissage pour le filtrage collaboratif

La classification automatique de données quantitatives

Bien architecturer une application REST

Chaînes de Markov au lycée

Introduction aux concepts d ez Publish

Magister INFORMATIQUE. Présenté par. Soutenu en Février 2011 devant la commission du jury composée de :

Le modèle de Black et Scholes

Cours de Génie Logiciel

Limites finies en un point

Travaux pratiques avec RapidMiner

Chapitre 2. Eléments pour comprendre un énoncé

TD : Codage des images

Introduction à la B.I. Avec SQL Server 2008

Big Data et Graphes : Quelques pistes de recherche

Les Architectures Orientées Services (SOA)

Probabilités sur un univers fini

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Coup de Projecteur sur les Réseaux de Neurones


Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Rappels sur les suites - Algorithme

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Conception des systèmes répartis

Calculs de probabilités conditionelles

APPORT DES RESEAUX BAYESIENS DANS LA PREVENTION DE LA DELINQUANCE

Transcription:

Master d Informatique M1 Université Paris 7 - Denis Diderot Travail de Recherche Encadré Surf Bayesien Denis Cousineau Sous la direction de Roberto di Cosmo Juin 2005 1

Table des matières 1 Présentation et objectifs 3 1.1 Problématique.......................... 3 1.2 Présentation de Burfiks..................... 4 2 Introduction au formalisme Bayesien 7 2.1 Historique............................. 7 2.2 Généralités............................ 7 2.2.1 Probabilités conditionnelles............... 7 2.2.2 La formule de Bayes................... 8 2.2.3 Intuition.......................... 8 2.3 Les Réseaux Bayesiens...................... 8 3 Le modèle Naïve Bayes pour les documents plats 9 3.1 Encodage d un document.................... 9 3.1.1 Représentation Vectorielle................ 10 3.1.2 Représentation Séquentielle............... 11 3.2 Classes............................... 12 3.2.1 Classification bi-classes................. 12 3.2.2 Classification multi-classes............... 12 3.2.3 Ranking et fonction de score.............. 12 3.2.4 Système de classes utilisé pour modéliser le problème. 13 3.3 Le modèle Naïve Bayes...................... 13 3.3.1 Phase d apprentissage.................. 14 3.3.2 Phase de test....................... 15 4 Adaptations du modèle Naïve Bayes aux documents structurés 16 4.1 Utilisation de la sémantique des balises HTML........ 16 4.2 Représentation d un document structuré............ 16 4.3 Modèles locaux de type Naïve Bayes.............. 17 4.3.1 Probabilité structurelle................. 18 4.3.2 Probabilité de contenu.................. 18 4.3.3 Apprentissage....................... 19 4.3.4 Test............................ 21 5 Application à Burfiks et perspectives 22 6 Bibliographie 24 2

1 Présentation et objectifs 1.1 Problématique Avec l essor exponentiel de la quantité d information disponible sur le Web, la qualité des résultats fournis par les moteurs de recherche, tel Google se dégrade inexorablement. La première idée de ce travail était d améliorer les résultats de ces moteurs de recherche, en leur appliquant un filtre statistique appelé filtre Bayesien, qui fut popularisé par Paul Graham lorsqu il l appliqua à la lutte anti-spam. Puis il est apparu que le filtrage de l ensemble des résultats d une requête Google est trop contraignant lors d une recherche sur Internet. C est alors qu est venue l idée de Surf Bayesien. Un filtre Bayesien, non pas uniquement sur les résultats d une requête Google, mais sur l ensemble des liens présents sur chacune des pages visitées. L objectif étant d obtenir un outil qui permette de guider l utilisateur, en lui donnant la pertinence de chacun des liens présents sur la page qu il visite. Il nous faut donc construire un outil capable de catégoriser, en temps réel, (selon différents profils déterminés à l avance (ou non comme nous le verrons)), les différents sites et pages présents sur le Web. L algorithme (les statisticiens parleront de méthode), le plus couramment utilisé dans le filtrage Bayesien, est la méthode Naïve Bayes. Cette méthode présente tout de même deux inconvénients majeurs en ce qui concerne notre objectif de classification dynamique de pages Web : Elle ne considère que des documents plats, i.e elle ne s intéresse qu au contenu d un document et non à sa strucure. Ce qui est fort dommageable, surtout dans le cas de langages semi-structurés tels XML. En effet, la structure d un document peut amener des informations supplémentaires sous trois formes : 1. La structure elle-même peut être une information (la structure d une page contenant une dépêche de presse est bien différente de celle d une page contenant un forum de discussion, par exemple) 2. Un mot contenu dans la page peut avoir une importance différente selon son emplacement (un mot contenu dans le titre ou encore écrit en gras, par exemple, sera considéré particulièrement). 3. Les relations d inclusion, ou hyper-liens, reliant différentes pages peuvent aussi apporter une information de dépendance entre les pages (par exemple, un site contenant une page intéressante, peut être considéré comme intéressant). 3

La méthode Naïve Bayes est figée : 1. D une part, elle est séparée en deux parties : une phase d apprentissage permettant d estimer les différents paramètres du problème, puis une phase de test, qui, elle seule estime la pertinence d un document. Elle nécessite donc un corpus d apprentissage, et ne peut plus améliorer ses résultats, une fois cet apprentissage terminé. Or, dans le cas d une classification d un ensemble gigantesque de documents, tel le Web, un corpus d apprentissage efficace devient très volumineux. C est pourquoi un apprentissage dynamique, couplé à la phase de test, serait plus judicieux, dans ce cas. 2. D autre part, elle fixe le nombre de classes (catégories) différentes une fois pour toutes, lors de la phase d apprentissage. Or, en pratique, un utilisateur peut avoir envie de créer un nouveau profil de recherche, sans perdre toute l information de l apprentissage déjà effectué. Il serait donc judicieux de prévoir un fonctionnement dynamique également, en ce qui concerne le nombre de classes. Nous allons donc explorer, et tenter d adapter, les différentes méthodes statistiques, notamment proposées par Luc Denoyer et al., qui pourraient permettre de prendre, le mieux possible, en compte la structure d un document, lors de sa classification. Et nous nous intéresserons à la capacité dynamique de ces méthodes, afin de produire un outil efficace et polyvalent. 1.2 Présentation de Burfiks Ce travail se base sur (et se veut la continuité de) celui d Alexandre Bertails, qu il a réalisé l année dernière sous la direction de M. di Cosmo (voir http : //alexandre.bertails.f ree.f r/maitrise/t ER Rapport.tar.gz). Burfiks est un module s adjoignant au navigateur Mozilla, qui se présente sous la forme d une side-bar, affichant, en temps réel, la liste des liens présents dans la page active. L objectif de ce travail est de comprendre comment adapter les techniques statistiques à notre disposition, afin d obtenir un outil qui permette de noter les différents liens présents dans la side-bar. 4

Fig. 1 Burfiks en cours de développement. 5

L architecture de Burfiks est composée de quatre modules : Polipo, un proxy Web, développé par Juliusz Chroboczek (voir http ://www.pps.jussieu.fr/ jch/software/polipo/ ). Burfiks.xul définit l interface utilisateur dans Mozilla. Burfiks Server, centre névralgique du système, qui se charge de récolter et distribuer les différentes informations entre les modules. Il répond à une requête de Burfiks.xul, en pré-chargeant les pages filles (i.e destinations d un hyper-lien) de la page active, via Polipo, puis en interrogeant Burfiks Classifier, quant à leurs pertinences respectives. Burfiks Classifier est l objet de ce travail. Son rôle est de classer un ensemble de pages web, fourni par Burfiks Server, et de restituer le degré de pertinence de chaque page pour la catégorie retenue.par manque de temps, il ne sera pas opérationnel à la date de soutenance de ce TRE, mais nous allons présenter différents algorithmes et méthodes statistiques qui peuvent être utilisés pour son implémentation. World Wide Web Proxy Polipo Burfiks Classifier Burfiks Server Burfiks.xul Mozilla Fig. 2 Architecture de Burfiks 6

2 Introduction au formalisme Bayesien 2.1 Historique Thomas Bayes (1702-1761), mathématicien britannique, passa de nombreuses années à tenter de déterminer ce que l on appelle actuellement la distribution d une loi binomiale. De ses travaux découlèrent, à titre posthume en 1763, la formule de Bayes dont les applications statistiques sont nombreuses aujourd hui. Elle est notamment utilisée, depuis les années 90, dans le domaine de la Recherche d Information (de documents plats), et dans celui des filtres anti-spam. Nous souhaiterions maintenant l utiliser pour la classification dynamique de documents structurés. 2.2 Généralités 2.2.1 Probabilités conditionnelles Contrairement aux probabilités classiques, les probabilités conditionnelles permettent de faire apparaître les relations de cause à effet qui lient deux événements. Si A et B sont deux événements (que l on représente, en statistique, par deux variables aléatoires), la probabilité (à postériori) de A sachant B est la probabilité que l événement A se produise, sachant que l événement B se produit également. D un point de vue mathématique, cela donne : P(A B) = P(A B) P(B) i.e la probabilité de A sachant B est égale à la probabilité de (A et B), relativisée par celle de B. Deux événements sont indépendants lorsque l occurrence de l un n a pas d influence sur l occurrence de l autre. Dans ce cas, alors P(A B) = P(A) P(B) P(A B) = P(A) P(B) P(B) = P(A) Autrement dit, si A et B sont indépendants, la probabilité de A sachant B est égale à la probabilité de A. 7

2.2.2 La formule de Bayes Les probabilités de A sachant B, et de B sachant A s écrivant respectivement : P(A B) P(A B) = P(B) P(B A) = On obtient aisément la formule de Bayes : 2.2.3 Intuition P(A B) P(A) P(A B) = P(A) P(B A) P(B) La formule de Bayes exprime donc le fait que la probabilité de A sachant B peut se calculer en fonction de celle de A, celle de B, et enfin celle de B sachant A. D un point de vue pratique, si nous prenons pour exemple : A = le document étudié contient le mot toto et B = le document étudié appartient à la catégorie Sciences Alors on peut estimer : la probabilité du fait que le document étudié appartient à la catégorie Sciences sachant qu il contient le mot toto, en fonction de : la probabilité du fait que le document étudié contient le mot toto sachant qu il appartient à la catégorie Sciences. (Sans oublier de relativiser par les probabilités qu un document quelconque contienne le mot toto, et qu il appartienne à la catégorie Sciences.) Autrement dit, l information à priori (ici, une estimation du pourcentage de pages appartenant à la catégorie Sciences, qui contiennent le mot toto) permet de calculer l information à postériori (ici, la probabilité qu une page qui contient le mot toto, appartienne à la catégorie Sciences). 2.3 Les Réseaux Bayesiens Les réseaux Bayesiens sont un formalisme permettant de représenter et manipuler les dépendances conditionnelles entre différents événements. Ils sont largement utilisés pour représenter les réseaux de neurones, ou encore pour construire des outils d aide au diagnostic médical. 8

Soit A = {A 1,..., A n }, un ensemble de n événements. Un réseau Bayesien sur cet ensemble, est un graphe orienté acyclique (DAG) G = (A, U), où U est un ensemble d arcs reliant les différents sommets A i, et exprimant leurs dépendances. Il a plu cette nuit Mon arroseur est resté allumé Le jardin de mon voisin est mouillé Mon jardin est mouillé Fig. 3 Un exemple de réseau Bayesien Ici, on peut donc exprimer la probabilité que mon jardin soit mouillé sachant qu il a plu cette nuit, ou sachant que mon arroseur automatique est resté allumé (ou les deux). Et l on suppose, par la structure du graphe, que le fait que mon arroseur automatique soit resté allumé, n influe pas sur le fait que jardin de mon voisin soit mouillé (on suppose que la clôture est assez haute...). Une fois que ces probabilités sont connues (ou estimées), on obtient un graphe étiqueté modélisant la table de dépendance conditionnelle des événements. 3 Le modèle Naïve Bayes pour les documents plats 3.1 Encodage d un document Intéressons nous, tout d abord, aux façons de coder un document plat. Soit V = V 1...V V, (le vocabulaire), l ensemble des mots que nous considérons 9

(nous passons sur la phase de pré-traitement qui consiste à retirer du vocabulaire les mots trop courants (comme les mots de liaison, par exemple), à regrouper les mots de sens très proche (comme chat et chaton, par exemple), etc...). 3.1.1 Représentation Vectorielle Encore appelée représentation en sac de mots, cette représentation ne prend pas en compte l ordre des mots, mais seulement leur présence dans le document. 1. Représentation vectorielle classique Vecteur Binaire : Un document D est représenté par un vecteur binaire v = v 1...v V de taille V. Pour tout i {1... V }, v i = { 0 s il n y a pas d occurrence de Vi dans D 1 sinon Ce codage, dit par mots-clés, est très pauvre car il ne prend en compte que la présence d un mot et non le nombre de ses occurences présentes. Néanmoins, il est encore fréquemment utilisé car sa simplicité est un atout majeur pour des systèmes nécessitant des temps de calcul faibles. Vecteur de fréquence : Cette fois-ci, on représente D par un vecteur v = v 1...v V, dont les composantes sont des entiers naturels. On tient compte ainsi du nombre d occurrences de chaque mot dans D. Pour tout i {1... V }, v i = le nombre d occurences de V i dans D. Cette méthode attribue des vecteurs de grande norme aux longs documents. Ceci peut être un avantage, dans le cadre de certaines recherches ciblées, mais cela peut aussi être un inconvénient et désavantager les grands documents. Il suffit alors de considérer le vecteur normalisé : V = V V. Ainsi, les documents ne sont plus discriminés par leurs tailles. 2. Représentation vectorielle avancée 10

Vecteur TF-IDF : Cette représentation tente d être plus informative en ce qui concerne l ordre et la fréquence des termes. Elle repose sur la loi de Zipf, censée modéliser le rapport entre importance et fréquence des mots dans un document. Cette loi peut s énoncer de manière informelle : un mot dans un document, est d autant plus important qu il est fréquent dans le document, et peu fréquent dans le corpus entier Notons que cette représentation, bien que très informative, n est pas utilisable, en pratique, de façon dynamique, car elle nécessiterait de ré-encoder chacun des documents lorsque l ensemble des documents rencontrés s accroît. Néanmoins, en ce qui concerne Burfiks, elle pourrait tout de même s avérer intéressante en version statique, en imaginant d avoir à disposition, une estimation raisonnable des fréquences d apparition des mots sur l ensemble du Web, par exemple. La formule utilisée la plus classique est : N = où tfv D i = df i = i {1... V }, v i = tf D V i log( N df i ) le nombre total de documents du corpus la fréquence du mot V i dans le document D le nombre de mots du corpus contenant V i On note tf pour term frequency et df pour document frequency. Et, tout comme le vecteur de fréquence, le vecteur T F -IDF est habituellement normalisé, pour éliminer les disparités dues aux différences de taille. 3.1.2 Représentation Séquentielle Cette représentation n est pas un codage au sens propre, puisqu elle consiste à associer à un document, la séquence de ses différents mots, dans l ordre. Cette représentation permet de ne pas perdre d information sur le document étudié. Mais elle nécessite des systèmes plus complexes pour pouvoir traiter ce types d information. Cette conservation de l ordre des mots permet notamment de construire la structure implicite d un document plat, mais nous ne nous intéresserons pas à ce problème dans le présent travail. Cependant, il est aisé de passer d une représentation séquentielle à une représentation vectorielle, alors que le contraire est impossible. C est 11

pourquoi nous utiliserons cette représentation séquentielle pour décrire les différents algorithmes, par la suite. 3.2 Classes Intéressons-nous maintenant à la manière de classer les pages Web, selon leur pertinence quant à différentes catégories. Nous désignerons par Γ et, respectivement, l ensemble des classes et l ensemble des documents, considérés. Un outil de classification n est autre qu une fonction de décision φ : Γ {0, 1}, qui rend la pertinence d association d un document de à une classe de Γ. 3.2.1 Classification bi-classes Ici, Γ = 2, l univers est séparé en deux classes (valide et non-valide). Ce modèle convient à la construction d un filtre, et permet de répondre à la question : Est-ce qu un document D de est valide, ou non?. Ce modèle est notamment utilisé dans les filtres anti-spam, en distinguant deux catégories de mails : désirable et indésirable. Ici, Γ = {C 1 ; C 2 } et Ce qui est équivalent à : φ : Γ {0, 1} (C, D) 1 si D C, et 0 sinon φ : {0, 1} D 1 si D C 1, et 0 sinon 3.2.2 Classification multi-classes Ici, Γ > 2, l univers est séparé en différentes catégories, et il faut distinguer le cas classes disjointes du cas classique. Si les classes sont disjointes, la question posée est : A quelle classe, un document D de appartient?, alors que dans le cas classique, elle est : A quelles classes, un document D de appartient?. Le second cas est le plus couramment utilisé dans la recherche, et la classification de documents. 3.2.3 Ranking et fonction de score Le ranking est une problématique de classification dans laquelle le système ne rend, non plus une réponse booléenne d appartenance à une classe de Γ 12

donnée, mais classe les différentes catégories pour un document donné (ou d une manière analogue, classe les documents par ordre de pertinence pour une catégorie donnée). Il est alors nécessaire de définir une fonction de score : Σ : Γ [0; 1] (C, D) la probabilité que D appartienne à C Et l on peut se ramener à la méthode de classification, en définissant (soit à priori, soit par expérimentation), un seuil de tolérance σ ]0; 1[, et en implémentant la fonction de décision de la manière suivante : φ : Γ {0, 1} (C, D) 1 si Σ(C, D) σ, et 0 sinon 3.2.4 Système de classes utilisé pour modéliser le problème Notons qu un problème multi-classes à n classes, est équivalent à un système de n problèmes bi-classes. En effet, nous considérons que les différentes classes ont été assez bien délimitées et que la pertinence d un document pour une catégorie n influe pas sur sa pertinence pour une autre catégorie. Les différentes classes sont donc considérées indépendantes. Et nous pouvons séparer les calculs sur ces différentes classes. Nous ne nous intéresserons donc qu à des modèles bi-classes par la suite. De plus, il est aisé de passer d un modèle de ranking à un modèle de classification classique, à l aide d un seuil de tolérance, comme nous l avons vu précédemment. Nous nous intéresserons donc à ce modèle par la suite, quitte à perdre de l information ultérieurement en revenant à une classification binaire. 3.3 Le modèle Naïve Bayes Considérons un document D, représenté par une séquence x = (x 1,..., x n ), où n est le nombre de mots de D. Et plaçons nous dans un modèle bi-classes Γ = {C 1, C 2 }. On considère que C 1 est la classe des valides, et C 2, celle des non-valides. Alors : P(x C1) = P(x 1,..., x n C 1 ) = P(x 1 C 1 ) P(x 2,..., x n x 1, C 1 ) = P(x 1 C 1 ) P(x 2 x 1, C 1 ) P(x 3,..., x n x 2, x 1, C 1 )... 13

= n P(x i x i 1,..., x 1, C 1 ) L hypothèse fondamentale du modèle Naïve Bayes est l indépendance conditionnelle des éléments de la séquence entre eux. Ainsi, i {1,..., n}, P(x i x i 1,..., x 1, C 1 ) = P(x i C 1 ). Et on obtient donc : n P(x C 1 ) = P(x i C 1 ) On parle d inférence linéaire en la taille de la séquence (O( X )). Remarque : Cette hypothèse est bien sur complètement fausse... Par exemple la présence du mot Roissy influe sur celle du mot (de la séquence ici) Charles de Gaulle. Mais elle permet une modélisation simple du problème. 3.3.1 Phase d apprentissage Cette phase permet d estimer les différents paramètres P(x i C 1 ), à partir d un échantillon constitué d un corpus de documents. Dans le cas présent, cette phase ne peut co-exister avec la phase de test, ce qui empêche toute amélioration ultérieure des estimations. Soit X = (x 1,..., x p ), un échantillon de séquences correspondant à un corpus de documents. On ordonne X de telle manière que x 1,..., x l sont des séquences correspondant à des documents valides (et x l+1,..., x p des nonvalides). p La vraisemblance du modèle s écrit alors : l θ = P(x i C 1 ). En maximisant son logarithme, par la méthode des multiplicateurs de Lagrange, on obtient que pour tout v, mot du vocabulaire V, l estimateur du maximum de vraisemblance de P(v C 1 ) est : θ v = l N xi v l w V N xi w Où pour toute séquence x, v V, N x v est le nombre d occurrences de v dans x. Cette phase d apprentissage nécessite donc de compter les occurrences de 14

chaque mot du vocabulaire V dans chaque document du corpus d apprentissage. Et sa complexité est O( V X ), où X est la taille du corpus. Pour ne pas trop défavoriser les mots de V qui ne sont pas présents dans le corpus, nous utiliserons le lissage de Laplace : θ v = l l w V N xi v + 1 N xi w + V Un mot absent du corpus aura alors une probabilité non nulle : 1, n Nw xi + V et ne sera plus considéré comme négligeable. w V 3.3.2 Phase de test Une fois l apprentissage effectué, et les estimateurs θ v de P(v C 1 ), calculés pour tout v V, vient la phase de test. Considérons un document D, que l on souhaite tester, représenté par une séquence x = (x 1,..., x n ). Alors on estime la probabilité que D soit un document valide par le score : P(C 1 x) = P(C 1) P(x) P(x C 1) = P(C 1) n P(x) P(x i C 1 ) γ C1 n γ xi n θ xi Où γ C1 et γ xi, sont des estimateurs respectifs des fréquences d apparition de C 1 et de x i dans le corpus d apprentissage (autrement dit, le nombre relatifs de documents valides, et la fréquence d apparition du mot x i dans tout le corpus). Autrement dit, la probabilité qu un document soit valide s exprime en fonction des fréquences de ses mots, dans le corpus d apprentissage de documents valides. 15

4 Adaptations du modèle Naïve Bayes aux documents structurés 4.1 Utilisation de la sémantique des balises HTML Dans le cas particulier des pages HTML, une première solution consiste à utiliser une estimation de l importance relative de chaque partie du document. En effet, on peut supposer que la présence d un mot à l intérieur d une balise title ou bold importe plus que sa présence à l intérieur d une balise small, par exemple. Il s agit alors de trouver, par l expérience, des coefficients performants pour déterminer l intérêt relatif des différentes balises. Cette méthode utilise donc l algorithme Naïve Bayes, pour chacune des balises considérées, puis combine ces résultats pour rendre un score. Considérons, par exemple que (t 1,..., t n ) est l ensemble des balise considérées. On va coder un document D par n séquences, x i, i {1..n}, (resp. n vecteurs), qui sont respectivement la concaténation de toutes les séquences (resp. la conjonction ou la moyenne de tous les vecteurs) codant des textes encapsulés dans la balise t i. Après avoir effectué les n phases d apprentissage, correspondant aux différentes balises, on lance alors n processus de test sur chacune des séquences. Le résultat est le produits de n scores (s x1,..., s xn ), auxquels on associe les coefficients (δ 1,.., δ n ) pour obtenir un score final : n s D = δ i s xi Cette méthode présente des résultats relativement bons selon la distribution (δ i ) choisie, mais, en plus d être expérimentale (à cause de ce choix justement), elle présente un grave inconvénient : elle suppose une connaissance à priori du langage utilisé, et n est pas évolutive (le nombre de balises considérées ne peut pas évoluer). Malgré une très forte présence du format HTML sur le Web, on lui préférera donc une méthode plus générale, plus évolutive, et moins contraignante. 4.2 Représentation d un document structuré Afin de pouvoir utiliser le formalisme des réseaux bayesiens, nous utiliserons une représentation simplifiée des documents structurés par des arbres. Cette sous-partie des graphes orientés acycliques correspond à des documents de type XML, et n est pas suffisante pour représenter des documents 16

plus complexes comme des sites Web, où des cycles peuvent exister. Cependant, cette représentation permet d obtenir des résultats acceptables, tout en minimisant la complexité. Chaque noeud de l arbre correspond à une entité structurelle du document (un titre ou un paragraphe, par exemple). Et chaque arc de l arbre représente une relation de dépendance entre deux entités. Relation déduite de la structure hiérarchique du document (par exemple, le père du noeud représentant une section sera le noeud représentant la page contenant cette section). Chaque noeud de l arbre contient deux informations : Une étiquette donnant la nature de l entité structurelle considérée Un contenu (on ne considérera que des contenus textuels ici) Document, texte 1 Section 1, texte 2 Section 2, texte 3 Section 3, texte 4 Paragraphe 1, texte 5 Paragraphe 2, texte 6 Fig. 4 Un exemple de représentation d un document structuré. 4.3 Modèles locaux de type Naïve Bayes Nous considérerons qu un document est constitué d un couple D = (s, t) où s est la structure du document et t son contenu. On notera s = (s 1,.., s n ) et t = (t 1,.., t n ), où n est la taille de l arbre représentant D, et, pour tout i {1..n}, (s i, t i ) est l information du i eme noeud. Le score d un document D = (s, t) est alors le produit d un score de 17

structure et d un score de contenu : P(D C 1 ) = P(s, t C 1 ) = P(s C 1 ) P(t s, C 1 ) On considère ainsi que la structure d un document influe sur son contenu, et non le contraire (l auteur d un document créé d abord sa structure avant de le remplir.) 4.3.1 Probabilité structurelle On utilise ici un modèle de structure qui se calque sur la structure logique du document et ne prend en compte que la relation parent-enfant entre les différentes parties du document. Ceci afin de restreindre le nombre de paramètres du système à estimer, afin de minimiser la complexité. On estime donc que chaque noeud de l arbre est indépendant de tous les autres, sauf son père. On obtient alors la formule qui exprime le score d une structure s = (s 1,.., s n ) en fonction des scores des s i : n P(s C 1 ) = P(s 1,.., s n C 1 ) = P(s i sp(i), C 1 ) Où sp associe à un entier i, l étiquette (la structure) du père du i eme noeud. 4.3.2 Probabilité de contenu Afin de simplifier encore le système, nous allons considérer que les contenus des noeuds sont indépendants les uns des autres, et qu ils ne dépendent que de l étiquette du noeud qui les contient (et non des autres). On obtient alors : P(t s, C 1 ) = P(t 1,.., t n s, C 1 ) = n P(t i s, C 1 ) = = n n P(t i s 1,.., s n, C 1 ) P(t i s i, C 1 ) On suppose donc que lors de la création d un document, l auteur utilise des style et vocabulaire spéciaux, pour chaque balise. Cette hypothèse nous 18

permet de différencier les différentes parties en leur associant des estimateurs qui leur sont spécifiques et dépendent uniquement de leur structure. Nous verrons que cela permet un apprentissage dynamique beaucoup moins coûteux. 4.3.3 Apprentissage Nous allons utiliser à nouveau, la méthode du maximum de vraisemblance. Soit un corpus d apprentissage. La vraisemblance du modèle s écrit : l θ = D = D = = D ( D = l structure θ P(D C 1 ) P(s C 1 ) P(t s, C 1 ) D P(s C 1 ) P(t i s i, C 1 ) P(s C 1 ) ) l contenu θ D D Apprentissage des paramètres de contenu : l contenu θ = D D = e Λ = e Λ P(t i s i, C 1 ) D D /s i =e lθ contenu (e) P(t i s i, C 1 ) P(t i s i, C 1 ) Où Λ désigne l ensemble des étiquettes. La maximisation de lθ contenu s effectue donc en maximisant chacune des vraisemblances des modèles locaux (à structure déterminée). On effectue donc (de même qu en 4.1), un apprentissage pour les noeuds étiquetés titre, un autre pour ceux étiquetés paragraphe, etc... Ainsi, chaque modèle est appris indépendamment sur les données qui le concernent, ce qui présente deux avantages considérables, d un point de vue dynamique : 19

Si un nouveau document est utilisé en apprentissage, il ne faut mettre à jour que les modèles correspondant aux différents noeuds de ce document Si un document d apprentissage possède un noeud muni d une étiquette jusqu alors inconnue, il suffit de créer un nouveau modèle local pour les noeuds de ce type, sans avoir à réapprendre tout le modèle. Apprentissage des paramètres de structure : Les paramètres de structure sont les différentes probabilités que, dans un document valide, un noeud possède un fils muni d une certaine étiquette ( P(s i sp(i), C 1 ) ). Notons θ s n,m, l estimateur (du maximum de vraisemblance) de la probabilité P(s i = n sp(i) = m, C 1 ). Alors : l structure θ = D D D θs s i,sp(i) D = P(s i sp(i), C 1 ) De même qu en 3.3.1, en maximisant la log-vraisemblance à l aide des multiplicateurs de Lagrange, on obtient : (n, m) Λ 2, θ s n,m = Nn,m D D Nn D,m D n Λ Où, ici, pour tout document D du corpus d entraînement, N D n,m est le nombre d occurrences de liaisons de type (n,.) (m,.) dans D. Et, de même que précédemment, on utilisera un lissage, en pratique, afin de ne pas trop défavoriser les types de liaisons absents du corpus : (n, m) Λ 2, θ s n,m = D D n Λ N D n,m + 1 N D n,m + Λ L estimation des paramètres de structure est donc simple et rapide (elle ne nécessite encore qu un unique parcours du corpus d apprentissage). Par contre, contrairement à l apprentissage des paramètres de contenu, elle ne pourra être utilisée de façon dynamique efficacement, 20

car l apport d un nouveau document ou d une nouvelle étiquette oblige à recalculer l ensemble des paramètres. Ce modèle est cependant satisfaisant, car on peut supposer qu il est plus facile de produire un corpus satisfaisant pour la structure que pour le contenu. 4.3.4 Test Grâce à nos hypothèses sur les hypothèses structurelles et de contenu, on obtient alors la probabilité finale pour un document D = (s, t) : D P(D C 1 ) = P(s C 1 ) P(t i s i, C 1 ) D D = P(s i sp(i), C 1 ) P(t i s i, C 1 ) Et, de la même manière qu en 3.3.2, on estime alors la pertinence du document D par : P(C 1 D) = P(C 1) P(D) P(D C 1) = P(C D D 1) P(D) P(s i sp(i), C 1 ) P(t i s i, C 1 ) γ D D C 1 θs s γ i,sp(i) θ ti (s i ) D Où, i {1.. D }, θ ti (s i ), est l estimateur rendu par un modèle Naïve Bayes local sur le contenu t i, à structure s i connue. 21

Score final NB local texte 1 Document, texte 1 Structure Structure NB local texte 2 Section 1, texte 2 Section 2, texte 3 Structure Structure Section 3, texte 4 Paragraphe 1, texte 5 Paragraphe 2, texte 6 NB local texte 5 NB local texte 6 Fig. 5 Fonctionnement de l algorithme. 5 Application à Burfiks et perspectives Pour adapter ce modèle à Burfiks, il faut donc créer un classifier qui construise un réseau bayesien pour chaque document du corpus d entraînement, apprenne les différents paramètres de ces réseaux avec les formules vues en 4.3.3, puis estime la pertinence d une catégorie à l aide du résultat de 4.3.4. Modèle de classes utilisé en pratique : Dans le cas particulier de Burfiks, le modéle de ranking multi-classes serait le plus informatif, car il renseigne sur la pertinence relative quant à différentes classes, d un document donné. Néanmoins, il pourrait s avérer un peu trop complexe dans le cadre d une utilisation normale d un navigateur Web. Et on pourrait lui préférer le modèle multiclasses, moins précis, mais plus lisible dans la side-bar d un navigateur. On pourrait alors imaginer afficher, pour chaque lien présent dans la side-bar, soit la classe qui semble la plus pertinente (cas du ranking), soit l ensemble des classes qui semblent pertinentes (cas classique). 22