Vous êtes sur la page 1sur 93

Text et Web Mining:

Extraction d'information structure


partir de textes et de pages web
Algorithmes de clustering et de
catgorisation

Prpar Par : Boudjebbour.K

Introduction Text mining

Le text mining est lensemble des :


techniques et mthodes
... destines au traitement automatique
... de donnes textuelles en langage naturel
... disponibles sous forme informatique, en assez
grande quantit
... en vue den dgager et structurer le
contenu, les thmes
... dans une perspective danalyse rapide (non
littraire !), de dcouverte dinformations caches,
ou de prise automatique de dcision.

Introduction Text mining


Text Mining = Lexicomtrie + Data Mining
Comme en Data Mining, on trouve en Text Mining :
des algorithmes descriptifs
recherche des thmes abords dans un ensemble
(corpus) de documents, sans connatre lavance
ces thmes
des algorithmes prdictifs
recherche des rgles permettant daffecter
automatiquement un document un thme, parmi
plusieurs thmes prdfinis

Introduction Text mining


Data Mining / KDD (ECD)

Structured Data
HomeLoan (
Loanee: Frank Rizzo
Lender: MWF
Agency: Lake View
Amount: $200,000
Term: 15 years
)

Multimedia

Loans($200K,[map],...)

Free Text
Frank Rizzo bought
his home from Lake
View Real Estate in
1992.
He paid $200,000
under a15-year loan
from MW Financial.

Hypertext
<a href>Frank Rizzo
</a> Bought
<a hef>this home</a>
from <a href>Lake
View Real Estate</a>
In <b>1992</b>.
<p>...

Conditions sur les textes


analyss

Format informatique : cest une autre


problmatique que la lecture automatique de
lcriture manuscrite
Nombre minimum de textes
Comprhensibilit et cohrence minimale
Pas trop de thmes diffrents abords dans
un mme texte
Le moins possible de sous-entendus,
dironie...

Sources de textes utilises

Enqutes dopinion
Baromtres de satisfaction clientle
Lettres de rclamation
Transcriptions des entretiens tlphoniques
Messageries lectroniques
Comptes-rendus dentretiens commerciaux
Revues de presse - Dpches AFP, Reuters...
Documentation - Rapports dexperts
Veille technologique (exemple : brevets dposes)
Veille stratgique et conomique
Internet - Bases de donnes en ligne
CV

Utilisateurs du text mining

Analystes financiers
conomistes
Professionnels du marketing
Services de satisfaction clientle
Recruteurs
Dcideurs

Utilisations du text mining

Analyse rapide
rapports sur limage de lentreprise, ltat de la concurrence
gnration automatique de baromtres de satisfaction
indexation automatique de documents
Dcouverte dinformations caches ( techniques
descriptives )
nouveaux domaines de recherche (brevets dposs)
ajout des informations aux bases de donnes marketing
adaptation du discours marketing chaque type de client
Prise de dcision ( techniques prdictives )
routage automatique de courriers, dinformation
filtrage de courriels : spams non spams
filtrage de news

Dfinition du Web Mining


Web Mining = Data Mining appliqu aux donnes de navigation
sur le web
Objectifs du Web Mining (Web Usage Mining) :
1) Optimiser la navigation dans un site, afin de maximiser le confort
des internautes, daugmenter le nb de pages consultes et
limpact des liens et des bannires publicitaires Analyses
globales
2) Dceler les centres dintrt, et donc les attentes, des internautes
venant sur le site de lentreprise Analyses individuelles
3) Mieux connatre les clients qui se connectent nominativement
un site, en croisant leurs donnes de navigation avec leurs
donnes personnelles dtenues par lentreprise Analyses
nominatives
Web Content Mining : Recherche dinformations sur le web et
crawling des pages web par les moteurs de recherche

1) Analyses globales

Statistique descriptive
70 % des internautes ont consult 3 pages ou moins
40 % des internautes accdent au site sans passer par
la page daccueil
Dtection des rgles dassociations
20 % des internautes visitant la page A visitent la page
B dans la mme session
tablir la matrice de transition entre les pages du site
on tient compte de lordre des items ( tickets de caisse)
Typologies dinternautes
selon les sites de provenance, les pages dentre, le
nombre de pages consultes, le temps pass sur les
pages, les fichiers tlchargs, les pages de sortie, etc.

Le fichier log

Source de donnes pour les analyses globales : le


fichier log est un fichier texte enregistr sur le
serveur du site web dans lequel une ligne est
crite chaque demande de linternaute
(changement de page, tlchargement dun
fichier)

Format du fichier log


Common Log Format (CLF)
adresse IP de linternaute, date et heure (avec dcalage
GMT) de la requte, type de requte, URL demande,
protocole HTTP, code retour du serveur, taille (en bits) de
lenvoi
ex : 130.5.48.74 [22/May/2002:12:16:57 -0100] "GET
/content/index.htm HTTP/1.1" 200 1243
Extended Log Format (XLF)
contient en plus la page dorigine ( referrer ), le
navigateur et le systme dexploitation ( user agent )
ex : 130.5.48.74 [22/May/2002:12:16:57 -0100] "GET
/content/news.htm HTTP/1.1" 200 4504 "/content/index.htm"
"Mozilla/4.0 " " Windows XP SP2 ")

Explications sur le fichier log


Type de requtes
get : tlcharger un objet
put / delete : stocker / dtruire un lment sur le serveur
head : variante de get (parfois utilise par les robots)
Code retour
200 / 2xx : requte satisfaite totalement/partiellemen
3xx : redirection
401 / 404 : accs refus / URL non trouve
4xx / 5xx : autres erreurs / erreurs du serveur
Adresse IP
NB : souvent non permanente attribue dynamiquement
par le fournisseur daccs au moment de la connexion
Difficult quand linternaute passe par un rseau dentreprise

Mise en forme du fichier log

Les fichiers log sont trs gros (> plusieurs centaines de


Mo / jour) il faut les nettoyer
Suppression des lignes correspondant des :
pages visites par moins de 5 adresses IP
fichiers dimages (gif, jpeg) ou de scripts, napportant
rien lanalyse
accs de robots, dagents ou de testeurs de liens
adresses IP aberrantes
Une visite = un ensemble de requtes provenant de la
mme adresse IP, du mme user agent , spares les
unes des autres par un laps de temps maximum
(gnralement fix 30 minutes, ce qui signifie que si
une requte suit la prcdente de plus de 30 minutes,
elle dbute une nouvelle visite)

Donnes extraites du fichier log


Identifiant (adresse IP)
Date de la visite
Heure de dbut et de fin de la visite
heures de travail, soire et nuit, week-end et jours fris
Type de navigateur (IE, Firefox, Netscape, Opera)
Systme dexploitation (Windows, Linux, Mac)
Pays du visiteur (voir les sites www.ip2location.com et
www.dnsstuff.com/info/geolocation.htm)
Pages visites
Nombre de pages visites
Temps moyen pass sur chaque page
Nombre de clics moyen

Donnes extraites du fichier


log
Pour une adresse IP, on peut agrger les donnes :
dates de premire et dernire visite
nombre de visites
dures totale et moyenne des visites
Ces donnes permettent den dduire une typologie de
visiteurs
Logiciels danalyse des fichiers log (pour faire du
reporting et produire des tableaux de bord) :
commerciaux : Webtrends
gratuits : Analog, Awstats et Webanalyzer

Exemple avec Webanalyzer

2) Analyses individuelles
Pour passer des analyses globales aux analyses 1:1
Ex : 35 % des internautes qui consultent la fiche dun roman
de Boileau-Narcejac consultent la fiche dun film de
Hitchcock dans les 2 mois
Utilisation des cookies :
fichiers textes crs sur le disque dur de linternaute lors de
la connexion sur le site Web
contiennent un identifiant propre lordinateur connect, le
nb de pages consultes, les pages dentre, de sortie, les sites
de provenance, les fichiers tlchargs, des informations
nominatives demandes par le site
en temps rel ou la prochaine connexion : transmission du
cookie au site Web qui peut proposer des pages personnalises
linternaute en fonction de ses centres dintrts

Avantages et inconvnients des


cookies

Avantages
mise jour automatique
mise jour instantane
Inconvnients
refus ou suppression possible du cookie par
linternaute
blocage possible par un pare-feu
identification dun ordinateur et non dune
personne

3) Analyses nominatives
Linternaute est un client connu de lentreprise
Le site web requiert une identification personnelle
ex : sites bancaires en ligne
indexation non possible par les moteurs de recherche
Intgration possible dans les bases de donnes
marketing des informations sur la navigation du client
Possibilit de construire une typologie des clients
Les pages consultes et les demandes de simulation
effectues fournissent des indices probants sur lintrt
du client pour tel ou tel produit

un
indice de frquentation

Clustering et catgorisation
en text mining,

Les Matrices termesdocuments

Les matrices termes-documents et


documents termes rsument les mots que
l'on retrouve dans divers document d'un
corpus.
Les matrices de frquences
Matrices documents-termes (Angl.
Document Term Matrix, DTM) Chaque ligne
d'une matrice DT reprsente un document,
chaque colonne un terme (mot)

Les Matrices termesdocuments


Matrice termes-documents (Angl.Term Document Matrix, TDM)
Chaque ligne d'une matrice TD reprsente un terme (mot), chaque
colonne un document

Alternativement, certaines techniques requirent des matrices


"binaires" (absence ou prsence d'un terme), logarithmiques
(diminuant le poids de mots frquents), ou de normalisation (La
plupart des analyses exigent l'application d'une fonction de
pondration et qui relativise le poids d'un terme par rapport au
corpus) Exemples:
TfIdf
On peut normaliser par rapport aux termes du document
Gf/df ,
e
est le nombre total que le terme apparat dans
le corpus, et
est le nombre de documents dans lesquelles le terme
appara

Le Clustering - introduction
Cest une des mthodes statistiques d'analyse des donnes.
Elle vise diviser un ensemble de donnes en diffrents
paquets homognes, en ce sens que les donnes de
chaque sous-ensemble partagent des caractristiques
communes, qui
En clair, le clustering cherche faire des classes telle que
les diffrences intra-classe soient minimales pour obtenir
des clusters
les diffrences inter-classe soient maximales afin d'obtenir
des sous-ensembles bien diffrencis.
Dans le cas d'un corpus textuel, en gnral les
donnes sont un ensemble de documents, pour
lesquels on utilise un ensemble de termes pour les
classer.

Le Clustering - introduction

Le rsultat d'une classification prends


traditionnellement soit la forme d'un
graphique de points ou d'un dendogramme

Dfinition d'une distance

Dans la plus part des cas, le calcul de la


distance entre les documents se base sur la
matrice termes-documents qui recense le
nombre ou la frquence d'apartition des
termes dans chaque document du corpus.

Distance du cosinus

La distance la plus couramment utilise est


la distance du cosinus ou cosine qui est
dfinie comme
o i.j dnote
le produit scalaire et |||| la norme
associe.
Dans la norme euclidienne, cela s'crit

o ik reprsente le nombre d'occurrences du


terme k dans le document i (tirs par
exemple de la matrice termes-documents).

Distance du cosinus

Cosine gnralise
On peut gnraliser la mesure du cosinus en
introduisant une fonction de "damping" qui
aura pour effet de rendre plus clair les
diffrences (parfois minimes) entre les
documents. Par exemple, souvent on
remplace ik et jk par le logarithme ou la racine
carre de la frquence d'apparition du terme
k. C'est--dire, si dnote nk le nombre totale
d'occurrences du terme k dans l'ensemble du
corpus, on remplace ik dans la formule par
ou par
(et de mme pour j k).

Exemple de distance

Distance du cosinus

La distance du cosinus est toujours comprise entre


-1 et +1 et peut tre relie intuitivement avec la
notion de corrlation de la manire suivante:
plus deux documents sont similaires et plus ils
auront tendance utiliser les mmes termes. Les
termes seront alors corrls, ce qui se traduit
gomtriquement par tre "colinaires", c'est
dire par un angle faible entre eux et donc un
cosinus proche de +1 ou -1;
inversement, deux documents non similaires
auront tendance a avoir des termes dcorrles.
Autrement dit, ils seront "orthogonaux"
gomtriquement et leur cosinus sera proche de 0.

Limitations de la distance du
cosinus

Cette distance est parmi les plus utilises, cependant elle


prsente tout de mme quelques limitations.
elle ne tient pas compte de la possibilit d'utiliser des
synonymes lors de la rdaction du corpus. Si un texte
n'utilise que le mot vhicule et un autre que le mot
voiture, leur distance sera considre comme grande.
Ce point peut tre rsolu en faisant appel des
modifications du corpus comme avec la mthode LSI.
Une limitation plus importante de cette mthode est que le
modle mathmatique repose sur l'hypothse d'un espace
orthogonal, ce qui implique les termes soient globalement
rpartis uniformment les uns par rapport aux autres dans
le corpus, ce qui est rarement le cas puisque le corpus est
en principe une collection de document partageant des
caractristiques communes (et donc des similarits).

Autres distances possibles

la distance de cluster propose par Chen


et Lynch (1972) qui est une distance
asymtrique dfinie par
o
dsigne la norme L1 de i, c'est--dire
la somme du nombre d'occurrences de
chaque termes k dans le document i.
les mesures de Jaccard dfinies par

Clustering-Principe gnral

Le principe gnral est de regrouper les


documents par similarit afin de dgager
des classes qui soit au maximum
homognes, c'est--dire dont les lments
soient similaires entre eux;
diffrencies, c'est--dire que les lments
de classes diffrentes soient non similaires
(en tout cas moins similaires que les
lments internes leur classe).
Pour ce faire, il existe plusieurs stratgies,
chacune avec avantages et inconvnients.

Regroupement Hirarchique

Le concept de base du regroupement


hirarchique est de fusionner successivement
les documents en clusters (groupes) puis les
clusters entre eux selon leur degr de
similarit. Elle se dcompose donc en deux
tapes rptes en boucle (jusqu' ce qu'il ne
reste qu'un seul cluster unique):
calculer la similarit (distance) entre tous les
cluster existant l'tape en cours;
fusionner les deux clusters qui sont les plus
similaires.

Rsultats-Dendogramme
axe de coordonnes
les documents analyss
sur l'autre le degr de similarit

mthodes de regroupement
hirarchique

1 Single linkage : on choisit comme reprsentant du


groupe le document qui est le plus similaire avec les
documents de l'autre groupe. Ainsi la similarit entre les
cluster est le maximum de la similarit entre les documents
des clusters

Le problme principal de cette mthode est que cela peut


crer un effet de "chane" qui finira par regrouper des
lments qui ne sont pas similaires entre eux. Si A et B sont
similaires et B et C sont similiaire, cela ne veut pas dire que
A et C sont similaire. Par exemple, un texte sur la voltige
cheval peut tre similaire un texte sur les chevaux de
courses lui-mme similaire un texte sur les courses de vlo
qui pourra tre similaire un texte sur l'utilisation du vlo en
milieu urbain....

mthodes de regroupement
hirarchique

2 Complete linkage: La mthode du complete linkage est


l'oppose du single linkage et correspond au choix du "pire
des cas". Dans cette mthode, on choisit comme
reprsentant du groupe le document qui est le moins
similaire avec les documents de l'autre groupe. Ainsi la
similarit entre les cluster est le minimum de la similarit
entre les documents des clusters.

mthodes de regroupement
hirarchique

3 Average linkage : La mthode de l'average linkage est une


mthode intermdiaire qui dtermine une moyenne (average en
anglais) entre les documents des clusters. Dans cette mthode,
on choisit comme similiarit la moyenne des similarits entre
toutes les paires d'lments des clusters considrs. Ainsi la
similarit entre les cluster est la moyenne de la similarit entre
les documents des clusters.
l'average linkage permet d'viter l'effet de "chane" et de plus,
fournit des clusters qui sont souvent de qualit car homognes.
En revanche, cette mthode ncessite galement une puissance
de calcul accrue car il faut considrer toutes les paires possibles
lors de chaque tapes de calcul. Pour contourner ce problme on
peut ne considrer que le document "moyen" de chaque cluster
dans le calcul (et actualiser le choix du document moyen
chaque tape).
C'est donc une mthode robuste et qui fonctionne
particulirement bien dans le cadre du text mining.

Exemple dapplication

Les termes les plus utiliss dans les oeuvres de Shakespeare

Exemple dapplication

Par exemple, sur le dendograme issu de son


analyse, on remarque que le termes "enter",
"exeunt" et "scene" vont ensemble, ce qui est
certainement du au fait que le dcoupage
traditionnel des scnes de thtre suit l'entre
(enter) et la sortie (exeunt) des personnages. Nous
pouvons galement remarquer que "eye" et "love"
vont de pair, ainsi que "fear" et "men" ou "keep" et
"word", ce qui peut nous conduire a formuler des
hypothses sur le status de la promesse chez
Shakespeare. De manire plus macroscopique, on
peut galement analyser le fait que les termes
relatifs aux sentiments forment une classe " part"
clairement spare du reste des termes du corpus

Regroupement bass sur la distance

Le regroupement bas sur la distance est un


ensemble de mthodes dont le but est de rduire le
corpus un nombre de cluster fixs l'avance. Il
s'agit donc plus de mthodes de partitionnement du
corpus. Bien entendu, puisque le nombre de cluster
est fix l'avance, il s'agit de bien le choisir.
Heureusement les algorithmes utiliss sont souvent
rapides et permettent de "tester" plusieurs nombre
de clusters pour dterminer le meilleur.
L'algorithme conne galement les quations des
droites de diffrenciation, ce qui permet galement
de classifier un nouveau document facilement

Prsentation des rsultats

Les rsultats sont souvent prsents sous forme de nuage de points comprenant
souvent le trac des lignes "limites" de dmarcation entre les clusters.

Notons que les lignes noires dfinissent les zones d'attribution chaque cluster
et permettent ainsi la classification immdiate d'un document inconnu (il suffit
de regarder dans quelle zone il "tombe")

k-medoid
La mthode k-medoid utilise comme point de dpart, pour crer les
clusters, un ensemble de documents issus du corpus (appels medoids
ou ancres) et construit les groupes autour. Dans la phase
d'initialisation, chaque document est assign au medoid qui lui est le
plus proche (la plus similaire). Il s'ensuit alors un processus itratif o la
distance moyenne entre les document et le medoid de leur cluster est
minimise, conduisant ainsi un meilleur regroupement des
documents entre eux.
Une itration se dcompose en trois tapes:
1. On choisit un medoid au hasard et on le remplace par un document
choisi au hasard dans le corpus;
2. On recalcule les clusters avec le nouveau medoid et on compare la
nouvelle distance moyenne avec l'ancienne distance moyenne;
3. si la nouvelle distance moyenne est meilleure (i.e. plus petite) on
conserve le nouveau medoid.
Le processus est alors itr jusqu' ce qu'aucune nouvelle substitution
n'amliore la classification.

k-medoid

Un inconvnient de cette mthode est sa lenteur de


convergence, il faut en gnral de trs nombreuses
substitution pour atteindre l'optimum. De plus, un
inconvnient majeur est que cette mthode ne
fonctionne pas trs bien avec les donnes
textuelles (cf. Aggarwal & Zhai, 2012).
En effet, comme le medoid est un document issus du
corpus, il ne contient en gnral pas tout les termes
utiles une classification efficace de la plus part des
autres documents (qui auront en gnral peu de termes
communs avec les medoids choisis) car "un document
medoid ne contient souvent pas lui seul tout les
concepts requis pour construire un cluster efficacement"
( Aggarwal & Zhai (2012), notre traduction).

k-mean

la mthode k-means utilise un ensemble de k reprsentants


(appeles graines ou seeds) autour desquels les clusters sont
construits. Cependant dans ce cas les reprsentants ne sont pas
forcment choisis parmis le corpus mais les graines sont
fabriques et recalcules chaque tape. En fait, il s'agit de
"documents fictifs" contenant une liste de termes avec le "bon"
nombre d'occurrences.
En pratique les graines initiales sont souvent choisies parmis les
documents du corpus puis les documents sont assigns aux
clusters de la graines la plus proche. Lors de l'itration suivante,
les graines sont remplaces par le centroid (calcul) du cluster.
La nouvelle graine est ainsi un document fictif qui contiendrait
chacun des termes existant dans une proportion correspondant
la moyenne de la frquence d'apparition du terme dans le cluster.
Par exemple, si un terme apparat 35 fois dans un cluster de 10
documents alors il apparatra (fictivement) 3.5 fois dans la graine.

k-mean

k-mean

Une des grandes qualits de la mthode k-means


est qu'elle converge extrmement vite, en 5
itrations environ. Un des inconvnient majeur
est qu'elle reste dpendante du choix des graines
initiales. Un autre inconvnient est que le centroid
calcul (qui sert de nouvelle graine) a tendance
contenir un trs grand nombre de termes. En effet il
contient l'ensemble de tout les termes qui ont un
moment donn fait partie des documents se
trouvant dans le cluster, parfois en trs petite
proportion, ce qui ralenti beaucoup les calculs.
Certaines mthodes existent cependant pour palier
ce problme, comme les mthodes Scatter-Gather
ci-dessous.

Autres mthodes
6.1 Mthodes hybrides: Eclater et regrouper (Scatter-Gather)
D'autres mthodes existent dont la mise en oeuvre peut tre plus complexe
comme
- le Buckshot qui cherche amliorer les algorithmes de type k-means en
slectionnant
graines au lieu de k puis les fusionnent en k graines;
- la Fractionalisation qui rpartit le corpus en sous-corpus de tailles rduites,
ralise une agglomration des corpus pour en rduire le nombre puis classifie le
corpus rduit.

6.2 Mthodes bases sur la frquence des termes


D'autres mthodes existent encore, bases entre autres sur la frquence de
prsence des termes dans les documents.
Pour de plus amples informations sur ces mthodes, voir
Aggarwal et Zhai (2012)

6.3 Mthodes probabilistes


D'autres mthodes existent galement, base sur le calcul de la probabilit a
priori de chaque document d'appartenir un cluster dfini et reposant sur une
analyse baysienne. Ces algorithmes souvent bass sur les mthodes de
maximisation de l'esprance mathmatique (EM-algorithm) et fonctionnent bien
quand les donnes sont proches d'une loi normale (loi de Gauss).

Autres mthodes

En gnral on peut reconnatre un tel algorithme par la reprsentation


des rsultats qui montre des "nuages" de points en ellipse:

classification en text mining


Catgorisation

Sports

Categorisation
System

Business
Education

Sports
Business
Education

Science

classification en text mining

A l'inverse de la classification o les catgories


n'taient pas connues par avance, la classification
essaie de classer
les documents du corpus dans un certain nombre de
catgories prdfinies. De plus, cette une mthode
entrane, c'est--dire qu'elle ncessite un ensemble
de documents "reprsentatifs" des catgories
choisies. Elle peut se rapprocher d'une analyse de
thmatique "Topic modelling", mais, l'inverse de ce
dernier, elle ne permet pas l'attribution de plusieurs
catgorie un mme document. Un exemple concret
de catgorisation serait de diffrencier le emails de
spam (pourriels) des emails lgitimes.

classification en text mining

Ces mthodes sont extrmement gnrales


car elles sont bases sur l'analyse d'un
rseau (graph) ou de nuages de points
dans un espace vectoriel. En fait, a partir
du moment o l'on peut reprsenter les
donnes sous formes de dimensions
chiffres ou si l'on a une notion de distance
(chiffre) entre les items, on peut utiliser
ces mthodes pour l'analyse des items.

Prparation du corpus

Ces mthodes demandent la prparation habituelle du


corpus, stop-words, classes dapprentissage et
construction de la matrice terme-document.
Elles reposent sur plusieurs hypothses, les plus
essentielles tant:
Les catgories constituent une base ou un corpus
d'apprentissage (pour l'algorithme)
Les documents prsents pour tre classs sont
reprsents par des vecteurs de termes pondrs (ceci
est tir de la matrice terme-documents qui compte le
nombre d'occurrences de chaque terme dans chaque
document). En clair, chaque document est reprsent
par une liste de mots-cls avec la frquence
d'occurrence du mot dans le document).

Catgorisation linaire
Rocchio

Cette mthode est la plus simple. Elle classe


un document dans la catgorie dont il est le
plus proche du barycentre (selon la distance
que l'on a choisie, exemple : la distance du
cosinus).
1 Phase d'apprentissage : Cette mthode
est base sur une phase d'apprentissage, o
certains documents servent tablir une base
contre laquelle les autres documents seront
classs. Un ensemble de documents bien
choisi est donc fourni au dpart comme
reprsentatif des catgories voulues.

Catgorisation linaire
Rocchio

2 Algorithme de la mthode
On commence par construire des vecteurs "de base" des catgories
considres. En clair il s'agit pour chaque catgorie d'avoir un vecteur
pondr associant chaque mot cl son poids dans la catgorie (ex: si on a
comme catgorie "animaux" et "lieu", alors "chien" aura un poids fort dans
"animaux" et faible dans "lieux", "Paris" aura un poids fort dans "lieux", alors
que "chenil" pourra avoir un poids moyen dans les deux). Le vecteur de base
de la catgorie k se calcule comme suit:
Pour chaque mot cl on tire de la matrice terme-document pondre
l'ensemble de ces poids dans les documents de la catgorie k.
On calcule le poids du mot dans la catgorie k en faisant la diffrence entre
la moyenne des poids du mot dans les documents appartenant la
catgorie k et la moyenne du poids du mot dans les documents
n'appartenant pas la catgorie k.
On obtient ainsi un ensemble de vecteurs de poids pour chaque catgorie
(vecteurs de barycentres).
Pour chaque doc classer, il suffit de calculer la distance avec chacun des
vecteurs "de base" et d'associer le doc la catgorie dont il est le + proche.

Exemple

Dans l'exemple ci-dessous, les catgorie sont reprsentes


en bleu et le document classer en vert.

Le document A en vert va tre class avec la catgorie C1


car c'est la plus proche

Catgorisation par les K plus proches


voisins

Dans cette mthode, on classe un document dans la


mme catgorie que la majorit (pondre) de ses
K plus proches voisins (selon la distance que l'on a
choisie, voir plus haut la distance du cosinus).
1 Phase d'entranement
Cette mthode est base sur des instances (ou
exemples) de document de chaque catgorie. Ainsi,
comme pour la catgorisation linaire, plus on
fourni d'exemples en phase d'entranement,
meilleur sera le rsultat. Un ensemble de
documents bien choisi doit donc tre fourni au
dpart comme reprsentatif des catgories
voulues.

Catgorisation par les K plus proches


voisins
2 Algorithme de la mthode
A la diffrence de la catgorisation linaire,
aucune phase prliminaire n'est requise. Les
tapes se droulent comme suit:
1. Calculer quels sont les K documents les plus
proches (K plus proches voisins selon la distance
choisie), ainsi que leur catgorie d'appartenance
2. Affecter le document courant la catgorie qui
avait le plus de reprsentant parmi les K plus
proches voisins (systme de vote)

Exemple

Ici, pour K=1 le document (point rouge) est


class avec les "+" mais pour K=5 il serait
class avec les "-". Ainsi le choix de K est
trs important

Choix de K
Pour viter les problmes d'galit, pour les
tches de classification en deux catgories, on
utilise uniquement des valeurs de K impaires.
De plus, une valeur trop petite va donner trop
d'importance aux petites variations "alatoires" ou "bruit"
des documents. Une valeur trop grande va tre d'une
part lourde en calcul et d'autre part risque de crer des
catgories trop petites (avec pas assez de documents
dedans).
En gnral
- on teste plusieurs valeurs de K
- on vrifie les rsultats par de la Cross-validation
Un bonne valeur de dpart est en gnral
o n
est le nombre de documents

Il est possible d'implmenter tout les algorithmes vus dans


ce diaporama sous R
D'autres approchent sont galement possible que ce soit
pour le clustering ou la classification, par exemple
Les rseaux de neurones.
Les mthodes probabilistes bases sur un calcul des
probabilits de classement a priori et a posteriori.
Les mthodes probabilistes bases sur des marches
alatoires sur le graphe d'adjacence des documents (un
reseau "hypertexte" o deux documents du corpus seraient
d'autant plus lis qu'ils sont proches selon la distance
choisie). Ces algorithmes peuvent tre rapprochs du
fameux "Pagerank" utilis par Google pour dtermin les
rsultats des recherches. (voir Pons et Latapy (2005) et
Tellier s.d.

MERCI POUR VOTLRE


ATTENTION

WordNet
An extensive lexical network for the English language
Contains over 138,838 words.
Several graphs, one for each part-of-speech.
Synsets (synonym sets), each defining a semantic sense.
Relationship information (antonym, hyponym, meronym )
Downloadable for free (UNIX, Windows)
Expanding to other languages (Global WordNet Association)
Funded >$3 million, mainly government (translation interest)
Founder George Miller, National Medal of Science, 1991.

moist

watery

parched

wet

dry

damp

anhydrous

arid

synonym
antonym

Part-of-Speech Tagging
Training data (Annotated text)
This
Det

sentence
N

serves
V1

as
P

an example
Det
N

POS Tagger

This is a new sentence.

of
P

annotated
V2

text
N

This is a new
Det Aux Det Adj

sentence.
N

Pick the most


sequence.
p ( w1 likely
,..., wk , ttag
1 ,..., t k )

p(t1 | w1 )... p(tk | wk ) p( w1 )... p( wk )

p ( w1 ,..., wk , t1 ,..., tk )

p( wi | ti ) p (ti | ti 1 )
p (t1 | w1 )... p (tk | wk ) p (iw11 )... p ( wk )

Independent assignment
Most common tag

p(w | t ) p(t | t
i 1

i 1

Partial dependency
(HMM)

Word Sense Disambiguation


?

The difficulties of computational linguistics are rooted in ambiguity.


N
Aux V
P
N
Supervised Learning
Features:
Neighboring POS tags (N Aux V P N)
Neighboring words (linguistics are rooted in ambiguity)
Stemmed form (root)
Dictionary/Thesaurus entries of neighboring words
High co-occurrence words (plant, tree, origin,)
Other senses of word within discourse
Algorithms:
Rule-based Learning (e.g. IG guided)
Statistical Learning (i.e. Nave Bayes)
Unsupervised Learning (i.e. Nearest Neighbor)

Parsing
Choose most likely parse tree

Grammar

Lexicon

Probability of this tree=0.000015

NP

Probabilistic CFG
S NP VP
NP Det BNP
NP BNP
NP NP PP
BNP N
VP V
VP Aux V NP
VP VP PP
PP P NP

1.0
0.3
0.4
0.3

Det

BNP

...

PP
V

NP

is chasing

NP

on
a boy
the playground

Probability of this tree=0.000011

1.0

V chasing
0.01
Aux is
N dog
0.003
N boy
N playground
Det the

Det a
P on

VP
Aux

dog

VP

NP
Det
A

VP

BNP
N
dog

Aux
is

NP

V
chasing NP

a boy

PP
P

NP

on
the playground

Mining Text and Web Data

Text mining, natural language processing


and information extraction: An Introduction

Text information system and information


retrieval

Text categorization methods

Mining Web linkage structures

Summary

Text Databases and IR

Text databases (document databases)


Large collections of documents from various sources:
news articles, research papers, books, digital
libraries, e-mail messages, and Web pages, library
database, etc.
Data stored is usually semi-structured
Traditional information retrieval techniques become
inadequate for the increasingly vast amounts of text
data
Information retrieval
A field developed in parallel with database systems
Information is organized into (a large number of)
documents
Information retrieval problem: locating relevant
documents based on user input, such as keywords or
example documents

Information
Retrieval

Typical IR systems

Online library catalogs

Online document management systems

Information retrieval vs. database systems

Some DB problems are not present in IR, e.g.,


update, transaction management, complex objects

Some IR problems are not addressed well in DBMS,


e.g., unstructured documents, approximate search
using keywords and relevance

Basic Measures for Text Retrieval

Relevant

Relevant &
Retrieved

Retrieved

All Documents

Precision: the percentage of retrieved documents that are in fact


relevant to the query (i.e., correct responses)

| {Relevant} {Retrieved } |
precision
| {Retrieved } |

Recall: the percentage of documents that are relevant to the


query and were, in fact, retrieved

Recall

| {Relevant} {Retrieved} |
| {Relevant} |

Information Retrieval Techniques

Basic Concepts
A document can be described by a set of
representative keywords called index terms.
Different index terms have varying relevance
when used to describe document contents.
This effect is captured through the assignment
of numerical weights to each index term of a
document. (e.g.: frequency, tf-idf)
DBMS Analogy
Index Terms Attributes
Weights Attribute Values

Information Retrieval Techniques

Index Terms (Attribute) Selection:


Stop list
Word stem
Index terms weighting methods
Terms Documents Frequency Matrices
Information Retrieval Models:
Boolean Model
Vector Model
Probabilistic Model

Boolean Model

Consider that index terms are either present or


absent in a document

As a result, the index term weights are


assumed to be all binaries

A query is composed of index terms linked by


three connectives: not, and, and or

e.g.: car and repair, plane or airplane

The Boolean model predicts that each


document is either relevant or non-relevant
based on the match of a document to the
query

Keyword-Based Retrieval

A document is represented by a string, which can be


identified by a set of keywords
Queries may use expressions of keywords
E.g., car and repair shop, tea or coffee, DBMS but
not Oracle
Queries and retrieval should consider synonyms,
e.g., repair and maintenance
Major difficulties of the model
Synonymy: A keyword T does not appear
anywhere in the document, even though the
document is closely related to T, e.g., data mining
Polysemy: The same keyword may mean different
things in different contexts, e.g., mining

Similarity-Based Retrieval in Text


Data

Finds similar documents based on a set of common


keywords
Answer should be based on the degree of
relevance based on the nearness of the keywords,
relative frequency of the keywords, etc.
Basic techniques
Stop list
Set of words that are deemed irrelevant,
even though they may appear frequently
E.g., a, the, of, for, to, with, etc.
Stop lists may vary when document set varies

Similarity-Based Retrieval in Text


Data

Word stem
Several words are small syntactic variants of each
other since they share a common word stem
E.g., drug, drugs, drugged
A term frequency table
Each entry frequent_table(i, j) = # of
occurrences of the word ti in document di
Usually, the ratio instead of the absolute number
of occurrences is used
Similarity metrics: measure the closeness of a
document to a query (a set of keywords)
Relative term occurrences
v1 v2

Cosine distance:
sim(v1 , v2 )

| v1 || v2 |

Indexing Techniques

Inverted index
Maintains two hash- or B+-tree indexed tables:

document_table: a set of document records <doc_id,


postings_list>

term_table: a set of term records, <term, postings_list>


Answer query: Find all docs associated with one or a set of terms
+ easy to implement
do not handle well synonymy and polysemy, and posting lists
could be too long (storage could be very large)
Signature file
Associate a signature with each document
A signature is a representation of an ordered list of terms that
describe the document
Order is obtained by frequency analysis, stemming and stop lists

Types of Text Data


Mining

Keyword-based association analysis


Automatic document classification
Similarity detection
Cluster documents by a common author
Cluster documents containing information from a
common source
Link analysis: unusual correlation between entities
Sequence analysis: predicting a recurring event
Anomaly detection: find information that violates
usual patterns
Hypertext analysis
Patterns in anchors/links
Anchor text correlations with linked objects

Keyword-Based Association
Analysis

Motivation

Collect sets of keywords or terms that occur frequently together


and then find the association or correlation relationships among
them

Association Analysis Process

Preprocess the text data by parsing, stemming, removing stop


words, etc.

Evoke association mining algorithms

Consider each document as a transaction


View a set of keywords in the document as a set of items in the
transaction

Term level association mining

No need for human effort in tagging documents


The number of meaningless results and the execution time is greatly
reduced

Text Classification

Motivation
Automatic classification for the large number of on-line text
documents (Web pages, e-mails, corporate intranets, etc.)
Classification Process
Data preprocessing
Definition of training set and test sets
Creation of the classification model using the selected
classification algorithm
Classification model validation
Classification of new/unknown text documents
Text document classification differs from the classification of
relational data
Document databases are not structured according to
attribute-value pairs

Text Classification(2)

Classification Algorithms:
Support Vector Machines
K-Nearest Neighbors
Nave Bayes
Neural Networks
Decision Trees
Association rule-based
Boosting

Document Clustering

Motivation
Automatically group related documents based on
their contents
No predetermined training sets or taxonomies
Generate a taxonomy at runtime
Clustering Process
Data preprocessing: remove stop words, stem,
feature extraction, lexical analysis, etc.
Hierarchical clustering: compute similarities
applying clustering algorithms.
Model-Based clustering (Neural Network Approach):
clusters are represented by exemplars. (e.g.:
SOM)

Text Categorization

Pre-given categories and labeled document


examples (Categories may form hierarchy)
Classify new documents
A standard classification (supervised
learning ) problem
Sports

Categorization
System

Business
Education

Sports
Business
Education

Science

Applications

News article classification


Automatic email filtering
Webpage classification
Word sense disambiguation

Categorization Methods

Manual: Typically rule-based


Does not scale up (labor-intensive, rule inconsistency)
May be appropriate for special data on a particular
domain
Automatic: Typically exploiting machine learning
techniques
Vector space model based

Prototype-based (Rocchio)
K-nearest neighbor (KNN)
Decision-tree (learn rules)
Neural Networks (learn non-linear classifier)
Support Vector Machines (SVM)

Probabilistic or generative model based

Nave Bayes classifier

Vector Space Model

Represent a doc by a term vector

Term: basic concept, e.g., word or phrase

Each term defines one dimension

N terms define a N-dimensional space

Element of vector corresponds to term weight

E.g., d = (x1,,xN), xi is importance of term i

New document is assigned to the most likely


category based on vector similarity.

VS Model: Illustration
Starbucks
C2

Category 2

Category 3
C3

new doc

Microsoft

Java

C1 Category 1

What VS Model Does Not


Specify

How to select terms to capture basic concepts


Word stopping
e.g. a, the, always, along
Word stemming
e.g. computer, computing,
computerize => compute
Latent semantic indexing
How to assign weights
Not all words are equally important: Some are
more indicative than others
e.g. algebra vs. science
How to measure the similarity

How to Assign Weights

Two-fold heuristics based on frequency


TF (Term frequency)

More frequent within a document more


relevant to semantics
e.g., query vs. commercial

IDF (Inverse document frequency)

Less frequent among documents more


discriminative
e.g. algebra vs. science

TF Weighting

Weighting:

More frequent => more relevant to topic

e.g. query vs. commercial


Raw TF= f(t,d): how many times term t
appears in doc d

Normalization:

Document length varies => relative frequency


preferred

e.g., Maximum frequency normalization

How to Measure Similarity?

Given two document

Similarity definition
dot product

normalized dot product (or cosine)

Illustrative Example
doc1

text
mining
search
engine
text

travel
text

doc2

Sim(newdoc,doc1)=4.8*2.4+4.5*4.5
Sim(newdoc,doc2)=2.4*2.4

Sim(newdoc,doc3)=0

map
travel
text
IDF(faked) 2.4

doc3

To whom is newdoc
more similar?

government
president
congress

mining travel
4.5
2.8

doc1
doc2
doc3

2(4.8) 1(4.5)
1(2.4 )

newdoc

1(2.4) 1(4.5)

map search engine govern president congress


3.3
2.1
5.4
2.2
3.2
4.3
1(2.1)

1(5.4)

2 (5.6) 1(3.3)
1 (2.2) 1(3.2)

1(4.3)