Web Mining1 M2 Econométrie et Statistiques

Transcription

Web Mining1 M2 Econométrie et Statistiques
Web Mining 1
M2 Econométrie et Statistiques
Yoann Pitarch
1. Ce cours s’inspire en partie de certains passages de l’excellent ouvrage « Web
Data Mining, Exploring Hyperlinks, Contents, and Usage Data » de B. Liu [19].
2
Table des matières
1 Introduction
1.1 Le Web, un espace bien particulier
1.2 Data Mining, quelques rappels . .
1.3 Qu’est ce que le Web Mining ? . . .
1.4 Organisation du cours . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 Web structure mining
2.1 Mesurer l’importance des nœuds dans un graphe . . . . . . .
2.2 Cas d’un réseau issu du monde académique . . . . . . . . . .
2.3 Evaluer la popularité d’une page Web : l’algorithme PageRank
5
5
7
8
9
11
12
17
19
3 Web content mining
29
3.1 Classification de sentiments . . . . . . . . . . . . . . . . . . . 30
3.2 Fouille d’opinions basée sur les caractéristiques . . . . . . . . 32
3.3 Opinions frauduleuses . . . . . . . . . . . . . . . . . . . . . . 40
3
4
TABLE DES MATIÈRES
Chapitre 1
Introduction
1.1
Le Web, un espace bien particulier
Le développement extrêmement rapide du Web a rendu possible l’accès public à une grande quantité de sources de données à travers le monde.
Cependant, le Web a quelques caractéristiques bien spécifiques qui rendent
l’extraction de connaissances (ou processus de fouille de données) aussi fascinantes que difficiles. Donnons ici un rapide aperçu de ces caractéristiques :
1. Volume. La quantité de données disponibles sur le Web est immense
et en perpétuelle augmentation. De plus, les thématiques couvertes
sont si larges et diverses qu’il est facile de trouver des informations à
peu près sur tous les sujets.
2. Hétérogénéité des formats. Tous les types de données coexistent
sur le Web : des données structurées (tableaux ou fichiers cdv), des
données semi-structurées (pages Web), des données non structurées
(texte) ou encore des fichiers multimédias (images, fichiers audio, vidéos).
3. Hétérogénéités des représentations. A cause de la diversités des
auteurs de contenus disponibles sur le Web, de nombreuses pages
peuvent traiter d’une information identique ou similaire avec des
champs lexicaux ou des formats radicalement différents. Cette réalité rend l’intégration de ces différentes sources encore plus difficiles.
4. Interconnection. Un pourcentage non négligeable des données disponibles sur la toile sont interconnectées. Ces liens permettent la navigation à travers différents sites (liens externes) mais peuvent aussi
matérialiser une structure organisationnelle à l’échelle d’un site en
particulier (liens internes). Quand il s’agit de liens externes, le fait
5
6
CHAPITRE 1. INTRODUCTION
qu’un site X affiche un lien vers un site Y peut être perçu comme une
marque de confiance dans le contenu du site pointé. Ainsi, si un site
est fréquemment pointé, cela peut démontrer une grande qualité de
son contenu et être vu comme un gage d’autorité.
5. Bruit. Les données présentent sur le Web sont par nature bruitées.
Ce bruit intervient à deux niveaux. Dans un premier temps, une page
internet contient aussi bien de l’information pertinente (le contenu
de la page) que des données pas forcément pertinentes (liens hypertextes, balises, publicités, ...). Fouiller ces données sans les pré-traiter,
i.e., sans supprimer ces informations peu pertinentes, conduirait à des
résultats peu pertinents. Ensuite, le Web est un média neutre, dans
le sens où il n’existe pas d’instances pour vérifier le contenu de l’information diffusée (comme les éditeurs en chef le feraient pour un
journal par exemple). Chaque utilisateur peut ainsi publier presque
n’importe quoi. Dès lors une grande quantité de l’information présente sur le Web est qualifiée de pauvre dans le sens où elle est soit
erronée, trompeuse ou peu intéressante.
6. Services. De nombreux services sont à disposition des utilisateurs
(possibilité de faire des achats en ligne, de payer ses factures, ...).
7. Dynamicité. Le contenu présent sur le Web ne cesse d’évoluer.
Garder une trace de ce changement, ce qui implique dans un premier
temps de le repérer, est souvent un point clé dans de nombreuses
applications (la détection de tendances par exemple).
8. Communautés. Le Web n’est pas qu’un réseau de pages ou de services. Il est également le théâtre de nombreuses interactions entre des
personnes, des organisations et des systèmes automatisés (agents).
Ces singulières caractéristiques rendent le Web aussi fascinant que difficile à analyser. Dans ce cours, nous nous focaliserons uniquement sur la
fouille de données textuelles et laisserons de côté la fouille de contenu multimédia, qui à elle seule pourrait couvrir tout un autre module.
Enfin, il serait erroné de penser que le Web Mining n’est qu’une application des techniques de Data Mining que vous avez déjà étudiées au contexte
particulier des données disponibles sur le Web. En effet, comme nous le verrons dans la suite de ce cours, les particularités des données issues du Web
sont telles que de nouvelles méthodes ont vu le jour pour analyser ces données.
1.2. DATA MINING, QUELQUES RAPPELS
1.2
7
Data Mining, quelques rappels
Le Data Mining (ou fouille de données en français) est une expression
communément utilisée (et partiellement à tort) pour désigner un processus
plus large : l’Extraction de Connaissances dans les Données (ECD ou KDD,
Knowledge Discovery in Databases, en anglais). Ce processus est couramment défini comme un ensemble de tâches permettant la découverte automatique de motifs d’intérêts (ou connaissance) à partir de données. Ces motifs
doivent être valides, potentiellement utiles et être compréhensibles. La fouille
de données est par essence multi-disciplinaire car elle requiert des compétences en apprentissage automatique (machine learning), statistiques, bases
de données, intelligence artificielle, recherche d’information et visualisation.
Parmi les principales catégories d’approches, on peut citer la classification,
le clustering, la découverte de règles d’association ou de motifs séquentiels.
Globalement, un processus d’ECD se décompose en 3 étapes :
1. Le pré-traitement des données. Les données brutes sont souvent peu
adaptées telles quelles à la fouille. Elles peuvent être bruitées et ont
donc besoin d’être nettoyées (suppression de valeurs aberrantes, prise
en compte des données manquantes, ...). Elles peuvent également être
trop volumineuses horizontalement (et donc nécessiter l’application de
techniques de réduction de dimensionnalité ou de détection de corrélations) ou verticalement (et donc nécessiter l’application de techniques
d’échantillonnage)
2. La fouille de données. Les algorithmes de fouille de données sont ensuite appliqués sur ces données nettoyées.
3. Le post-traitement. La plupart du temps, les motifs extraits ne sont
pas tous utiles. Il est alors nécessaire de filtrer ces motifs en fonction de
l’application considérée et ensuite de proposer des techniques efficaces
pour les visualiser correctement.
Ce processus est généralement itératif et il faut souvent procéder à plusieurs raffinement successifs pour obtenir des résultats satisfaisants. Traditionnellement, les données utilisée pour la fouille sont structurées et stockées
dans des bases de données relationnelles ou dans des fichiers texte au format tabulaire. Avec le développement du Web et des données textuelles, le
Web Mining et le Text Mining sont devenus de plus en plus important et
populaires.
8
CHAPITRE 1. INTRODUCTION
1.3
Qu’est ce que le Web Mining ?
Le Web Mining a pour objectif l’extraction de connaissances à partir de la
structure formée par les liens entre pages/objets/communautés, du contenu
des pages Web ou de données d’usages (typiquement des logs de serveurs
web). Bien que cette discipline se base fortement sur le Data Mining, nous
l’avons dit, on ne saurait réduire cette discipline à la seule application d’algorithmes existants dans ce contexte nouveau. Ceci est dû aux particularités
des données du Web comme nous l’avons précédemment décrit. De nouvelles
tâches ont donc été mises au point au cours de la dernière décennie. Une
classification des approches du Web Mining fait désormais consensus et est
basées sur les types de données manipulées par les approches. Nous décrivons
ces 3 catégories, ci-dessous.
— Web structure mining. La fouille de structures issues du Web permet l’extraction de connaissances à partir des liens qu’il existe entre
les pages Web ou toutes autres entités reliées entre elles. Les liens
hypertexts représentent en quelques sortes la structure du Web. Typiquement, l’identification de pages importantes, nous reviendrons sur
la définition donnée au mot important dans la suite de ce cours, est
très utilisée par les moteurs de recherche. Ces approches permettent
également de découvrir des communautés d’utilisateurs qui partager
des intérêts communs. Il est important de noter que les approches
de Data Mining classiques n’abordent pas cette thématique car les
données traitées ne contiennent pas de liens.
— Web content mining. La fouille de contenus de pages Web permet l’extraction de motifs à partir des contenus des pages Web. Par
exemple, il est possible de regrouper des pages Web selon certaines
thématiques communes comme le feraient des techniques de Data
Mining plus classiques. Il existe toutefois des spécificités associées au
données du Web. Par exemple, la fouille des avis d’internautes sur
des produits, e.g., musiques, films, voyages, permet de découvrir automatiquement l’opinion des consommateurs face à un produit pour
accroître la qualité des systèmes de recommendation.
— Web usage mining. La fouille de données d’utilisation du Web fait
référence à l’analyse automatique des logs stockés sur les serveurs
Web. De nombreux algorithmes peuvent être appliqués sur ce type
de données car celles-ci sont structurées, rendant possible l’utilisation
de techniques standards. Une des principales difficultés lorsque l’on
souhaite considérer de telles données est leur pré-traitement. En effet,
1.4. ORGANISATION DU COURS
9
plusieurs problématiques de recherche sont apparues quant à l’identification des sessions utilisateurs ou encore la suppression du bruit.
Dans ce cours, le choix est fait de ne couvrir que les deux premières
catégories car celles-ci comportent des problématiques qui ne sont pas habituelles dans le domaine de la fouille de données plus classique. Face à la
grande richesse des approches existantes, le focus sera fait, arbitrairement,
sur certaines d’entre elles.
1.4
Organisation du cours
Web Structure Mining
Nous aborderons ici les approches qui visent à analyser la structure du
Web. Comme nous le verrons, ces approches ont de nombreuses similarités
avec l’analyse de réseaux sociaux que nous introduirons. Nous développerons
ensuite l’algorithme PageRank et aborderons l’analyse de réseaux d’auteurs
dans les publications scientifique.
Web Content Mining
Ici, il s’agit non plus d’analyser les relations entre les entités mais plutôt
le contenu des pages Web. Nous nous focaliserons sur un pan important des
efforts menés dans ce domaine : l’extraction automatique d’opinion (a.k.a.
Opinion Mining). Nous aborderons la classification automatique de documents en fonction des sentiments exprimés, verrons que, souvent, le niveau
de granularité du document est trop élevé pour capturer réellement ce que
pense un utilisateur d’un produit (ou autre) et aborderons enfin la détection
automatique de faux avis.
10
CHAPITRE 1. INTRODUCTION
Chapitre 2
Web structure mining
Les premiers moteurs de recherche retrouvaient les documents pertinents
seulement en fonction de la similarité du contenu avec la requête de l’utilisateur. Depuis le milieu des années 1990, il est devenu de plus en plus évident
que cette simple similarité n’était pas suffisante pour au moins deux raisons principales. D’abord, l’augmentation rapide du nombre de pages Web a
rendu très difficile l’ordonnancement des documents retrouvés. Par exemple,
la requête « classification technique » retourne quelques 190000 résultats.
Classer ces documents seulement en fonction de la similarité de leur contenu
pour ne retenir que 30 ou 40 documents à afficher dans la première page
des documents est très difficile. Ensuite, il est très facile de « falsifier » le
contenu d’une page de telle sorte à la rendre similaire à des très nombreuses
requêtes. En effet, un concepteur de pages Web peut facilement ajouter artificiellement pléthore de mots-clés stratégiques pour augmenter la similarité
de ses pages avec des requêtes.
Forts de ce constat, les chercheurs et les professionnels travaillant dans
des entreprises produisant des moteurs de recherche ont, vers les années
1996, commencé à travailler pour pallier ces deux limitations. La prise en
compte de liens hypertextes est alors apparue comme la solution. En effet,
à la différence des documents textuels « classiques » qui sont souvent considérés comme indépendants, les pages Web sont inter-connectées grâce aux
hyperliens qui représentent une source d’information importante. Ces liens
peuvent être internes, i.e., permettant la définition de la structure du site
Web, ou externes, i.e., et implicitement indique à l’utilisateur que le site ciblé
est une source d’information valide. Ces liens externes doivent alors de toute
évidence être considérés par les moteurs de recherche lors de la recherche
11
12
CHAPITRE 2. WEB STRUCTURE MINING
d’information.
Au cours de la période 1997-1998, deux des plus influents algorithmes de
recherche d’information basés sur l’influence des liens ont été proposés : PageRank et HITS. Ces deux algorithmes ont originellement été mis au point
pour l’étude des réseaux sociaux. Ils exploitent tous les deux la structure du
Web formée par les liens afin de définir « le prestige » ou « l’autorité » d’un
site Web. Nous faisons le choix de ne développer dans ce cours que l’algorithme PageRank. Le lecteur curieux est invité à se référer à [18] pour des
détails sur l’algorithme HITS.
2.1
Mesurer l’importance des nœuds dans un graphe
Un réseau social matérialise les interactions et les relations entre entités
sociales, e.g., des personnes, des agents, des organisations. Ces entités sont
communément appelés acteurs. Ces relations et interactions peuvent facilement être représentées sous la forme d’un graphe où chaque acteur sera un
nœud et un lien matérialisera une relation entre deux acteurs. A partir de
ce réseau, il est possible d’inférer l’importance de chaque acteur ou alors
d’extraire des communautés, i.e., des sous-graphes denses du réseau global.
L’analyse de réseaux sociaux fait particulièrement sens dans le contexte
du Web car il est essentiellement une société virtuelle. Chaque page peut
alors être considérée comme un acteur et les liens entre ces pages matérialisent les relations dans ce réseau. Pour cette réseau, de nombreux résultats
issus de l’analyse de réseaux sociaux peuvent être réutilisés dans le contexte
du Web (et le sont d’ailleurs dans les moteurs de recherche principalement).
Dans cette section, nous nous intéressons à deux mesures, la centralisé
et le prestige, qui permettent de mesurer l’importance d’un acteur dans un
réseau social.
Centralité
Il est assez facile à comprendre qu’un acteur important est un acteur qui
est très fortement en connection avec d’autres acteurs. Dans une organisation, une personne qui est intensivement en contact avec beaucoup d’autres
personnes dans l’organisation est considérée comme plus importante qu’une
personne avec peu de contacts. La Figure 2.1 présente un exemple très simple
2.1. MESURER L’IMPORTANCE DES NŒUDS DANS UN GRAPHE 13
d’un réseau social. Intuitivement, on voit bien que l’acteur i est plus important que l’acteur j car i est connecté à plus d’acteurs que j.
Figure 2.1 – Un exemple très simple de réseau social
La définition de la centralité peut différer en fonction du type de graphe
considérés et des types de relations existants entre les acteurs. Nous abordons
3 définitions populaires.
La centralisé basée sur le degré
Les acteurs centraux sont ceux qui ont le plus de liens avec les autres
acteurs du réseau. Nous notons n, le nombre d’acteurs dans le réseau.
Cas d’un graphe non-dirigé. Lorsque le graphe est non-dirigé, la centralité basée sur le degré d’un acteur i, notée CD (i) est simplement le degré
du nœud i (le nombre d’arrêtes concernant i), noté d(i), normalisé par le
degré maximum, i.e., n − 1.
CD (i) =
d(i)
n−1
(2.1)
Cas d’un graphe dirigé. Dans le cas d’un graphe dirigé, il est nécessaire
de distinguer les arcs entrant et les arcs sortants de i. Pour calculer la centralité basée sur le degré, seul le degré sortant est considéré, noté do (i). A ce
détail près, la formule reste inchangée.
CD (i) =
do (i)
n−1
(2.2)
14
CHAPITRE 2. WEB STRUCTURE MINING
Notons que cette mesure prend également ses valeurs entre 0 et 1 puisque
le numérateur, n − 1, est la plus petite valeur du dénominateur (cas où i est
directement connecté à tous les autres acteurs). De manière évidente, cette
mesure ne fait sens que dans le cas où le graphe est connexe.
La centralité basée sur la proximité
Cette vision de la centralité est basée sur la proximité ou distance entre
acteurs. L’idée principale est qu’un acteur xi est central s’il peut facilement
interagir avec tous les autres acteurs. Autrement dit, la distance qui le sépare avec tous les autres acteurs est faible. Il est alors naturel d’utiliser le
plus court chemin pour calculer cette mesure. Notons d(i, j) la plus courte
distance entre un acteur i et un autre acteur j.
Cas d’un graphe non-dirigé. La centralité basée sur la proximité est
calculée comme suit.
n−1
CC (i) = Pn
(2.3)
j=1 d(i, j)
Cas d’un graphe dirigé. La formule précédente est également valable
dans le cadre dirigé. Il faudra simplement faire attention à considérer la
direction des arcs dans le calcul du plus court chemin.
La centralité basée sur l’« intermédiarité »
Imaginons que deux acteurs non-adjacents j et k souhaitent communiquer
et que l’acteur i se trouve sur le chemin reliant j et k. Il est alors possible
que i puisse avoir un contrôle sur les interactions de ces deux acteurs. La
centralité basée sur l’« intermédiarité » mesure le contrôle de i sur toutes les
autres paires de nœdus. Ainsi, si i est sur le chemin de nombreuses paires, il
sera alors considéré comme important.
Cas d’un graphe non-dirigé. Soit pjk le nombre de plus court chemins
existants entre j et k. La centralité basée sur ll’« intermédiarité » d’un acteur
i est défini comme le nombre de plus court chemin qui font intervenir i, noté
pjk (i) avec j 6= i et k 6= i, normalisé par le nombre total de plus court
chemins entre paires de nœuds (différents de i).
CB (i) =
X pjk (i)
j<k
pjk
(2.4)
2.1. MESURER L’IMPORTANCE DES NŒUDS DANS UN GRAPHE 15
Il est important de voir qu’il peut exister plusieurs plus court chemins
entre un nœud j et un nœud k. Certains peuvent passer par i et d’autres non
et il n’est fait aucune hypothèse sur les chemins prioritaires. Cette mesure
prend ses valeurs entre 0 (cas où aucun plus court chemin ne passe par i) et
(n − 1)(n − 2)/2 qui est le nombre de paires d’acteurs (i étant exclu de ce
compte).
Nous présentons un exemple de cette mesure à travers la Figure 2.2.
L’acteur en rouge est clairement l’acteur central de ce réseau car les tous
les plus courts chemins reliant les 5 autres acteurs passent par lui. Dès lors,
CB (rouge) = 1 et, a contrario, CB (bleu) = 0.
Remarquons que si le besoin se fait sentir, il est possible de normaliser
cette valeur en la divisant par (n − 1)(n − 2)/2. Enfin, contrairement à
la mesure précédente, celle-ci peut s’appliquer quand le graphe n’est pas
connexe.
Cas d’un graphe dirigé. Cette formule est aussi valable dans ce contexte
là mais il faudra multiplier le résultat par 2 car il y a désormais (n−1)(n−2)
paires et en considérant qu’un chemin de j vers k est différent d’un chemin
de k vers j.
Figure 2.2 – Un exemple de réseau social permettant l’illustration de la
« betweeness »
16
CHAPITRE 2. WEB STRUCTURE MINING
Prestige
Le prestige est une mesure un peu plus fine que la centralité pour les raisons suivantes. D’abord, il faut distinguer les liens entrants des liens sortants.
A acteur prestigieux est un acteur qui est souvent référence (ou montré du
doigt). Autrement dit, pour calculer le prestige d’un acteur, seuls les liens
entrants sont considérés. De fait, le prestige n’est calculable que dans le
contexte d’un graphe dirigé. Similairement à la centralité, nous introduisons
maintenant 3 techniques pour calculer le prestige d’un acteur.
Le prestige basé sur le degré
Assez intuitivement, il est évident qu’un acteur i, pris parmi un ensemble
de n acteurs, dont le degré entrant, noté dI (i), est grand sera important.
Cette mesure exprime cette intuition.
PD (i) =
dI (i)
n−1
(2.5)
Cette mesure varie évidement entre 0 et 1.
Le prestige basé sur la proximité
La mesure précédente ne considère que les liens directs vers un acteur i.
Le prestige basé sur la proximité étend la mesure précédente en considérant
les acteurs qui pointent directement ou indirectement vers i. Autrement dit,
sont considérés dans cette mesure tous les acteurs j tels qu’il existe un chemin
entre j et i.
Notons Ii l’ensemble des acteurs qui peuvent atteindre i. Cet ensemble
est aussi appelé domaine d’influence de i. La proximité est définie comme la
distance séparant les autres acteurs de i. Formellement, nous notons d(j, i)
la distance minimale séparant les j de i. Le prestige basée sur la proximité
est la distance moyenne des acteurs dans Ii . Autrement dit :
P
PB (i) =
j∈Ii
avec |Ii | la taille de l’ensemble Ii .
d(j, i)
|Ii |
(2.6)
2.2. CAS D’UN RÉSEAU ISSU DU MONDE ACADÉMIQUE
17
Le prestige basé sur le rang
Les deux mesures précédentes considèrent les degrés entrants et la distance mais néglige un point essentiel : l’importance de l’acteur qui pointe vers
i. Par exemple, dans le monde de l’entreprise, avoir la confiance du PDG est
bien plus prestigieux que d’avoir la confiance d’un employé lambda. Aussi, si
le cercle d’influence d’un acteur i est composé d’acteurs prestigieux, le prestige de i sera d’autant plus important. A partir de cette intuition, le prestige
basé sur le rang, noté PR (i) peut être vu comme une combinaison linéaire
des acteurs qui pointent vers i :
PR (i) = A1i PR (1) + A2i PR (2) + . . . + Ani PR (n),
(2.7)
avec Aji = 1 si j pointe vers i et 0 sinon.
Nous disposons alors de n équations pour n acteurs. Il est alors naturel
de représenter ces équations sous forme matricielle. On utilise la notation
P pour représenter le vecteur qui contient toutes les mesures de prestige,
i.e., P = (PR (1), . . . , PR (n))T (où T représente la matrice transposée). P
est donc un vecteur colonne. Nous utilisons la matrice A (avec Aij = 1 si i
pointe vers j et 0 sinon) pour représenter la matrice d’adjacente du réseau.
On a alors :
P = AT P.
(2.8)
Cette équation est précisément l’équitation caractéristique utilisé pour
trouver l’espace propre de la matrice AT . P est un vecteur propre de AT .
Cette équation est l’idée sous-jacente sont très utiles dans la recherche d’information sur le Web. Nous verrons d’ailleurs plus loin que l’algorithme PageRank est directement basée sur cette équation.
2.2
Cas d’un réseau issu du monde académique
Un autre domaine actif dans l’étude des liens entre entités est l’analyse
de citations dans le monde académique. Une publication cite habituellement
des travaux antérieurs jugés pertinents, de qualité et qui ont contribué à
l’emergence des idées à l’origine de la publication. L’analyse des citations
rentre dans le cadre la bibliométrie qui est la science des relations entre auteurs et leurs travaux.
18
CHAPITRE 2. WEB STRUCTURE MINING
Quand une publication (communément appelée article ou papier) cite
un autre papier, une relation s’établit entre les deux articles. On peut alors
analyser ce réseau de bien des façons. En effet, une citation peut représenter
différents types de liens, que cela soit entre auteurs, journaux, conférences,
domaines, ou même entre pays. Dans cette section, nous allons aborder deux
types d’analyse de citations, les co-citations et le couplage bibliographique.
Co-citations
Les co-citations sont utilisées pour mesure la similarité entre deux articles. Si les articles i et j sont tous les deux cités par un papier k, alors cela
peut vouloir dire que i et j sont proches même s’ils ne se citent pas entre
eux. La Figure 2.3 illustre un réseau de co-citation. Evidemment, plus i et j
sont co-cités, plus la similarité entre ces deux articles sera grande.
Figure 2.3 – Les papiers i et j sont co-cités par le papier k
Notons L la matrice des citations. Chaque cellule Lij est définie comme
suit : Lij = 1 si l’article i cite l’article j et 0 sinon. La co-citation,notée Cij
est une mesure qui exprime dans combien d’articles i et j sont cités ensemble.
Autrement dit :
Cij =
n
X
Lki Lkj
(2.9)
k=1
où n est le nombre total de papiers. Cii est naturellement le nombre
d’articles qui citent i. On peut facilement construire une matrice carrée à
partir de Cij . Cette matrice, couramment appelée matrice de co-citations,
est symétrique et est fréquemment utilisée comme mesure de similarité entre
articles dans des clustering pour grouper des articles abordant une thématique commune.
2.3. EVALUER LA POPULARITÉ D’UNE PAGE WEB : L’ALGORITHME PAGERANK19
Couplage bibliographique
Le couplage bibliographique procède d’une façon similaire à la technique
présentée précédemment. En quelques sortes, il s’agit de son reflet dans le
miroir. Le couplage bibliographique regroupe les articles qui citent le même
article. Autrement dit, si les articles i et j citent tous les deux l’article k,
cela peut vouloir dire que i et k partagent quelque chose, même s’ils ne se
citent pas entre eux directement. Ainsi, plus i et j citent les mêmes articles,
plus ils sont similaires. La Figure 2.4 représente le cas où i et j citent tous
deux l’article k.
Figure 2.4 – Les papiers i et j citent tous deux l’article k.
La notation Bij est utilisée pour représenter le nombre d’article cités par
i et j. Cette mesure est définie comme suit :
Bij =
n
X
Lik Ljk
(2.10)
k=1
Bii est le nombre de référence de l’article i. Une matrice carré, notée B,
peut naturellement être construite à partir de cette mesure. Elle est communément appelée la matrice des couplage bibliographiques. Cette matrice est
bien évidemment symétrique et sert fréquemment de mesure de similarité
lors de clustering.
2.3
Evaluer la popularité d’une page Web : l’algorithme PageRank
L’algorithme PageRank a été publié à la conférence WWW en 1998 et
est à l’origine de la création du moteur de recherche Google. Encore aujour-
20
CHAPITRE 2. WEB STRUCTURE MINING
d’hui, PageRank est considéré comme une référence de modèle d’analyse de
lien pour la recherche sur le Web. Plusieurs raisons peuvent expliquer ce succès : cette algorithme est indépendant des requêtes, permet de lutter contre
le spam et est largement appuyé par Google.
PageRank s’appuie sur la nature démocratique du Web et utilise les liens
comme un indicateur de la qualité des pages. Fondamentalement, PageRank
interprète un lien de x vers y comme le vote de x pour y. En outre, PageRank
s’appuie sur l’idée du prestige basé sur le rang (voir Section 2.1) pour parfaire
son évaluation de la qualité d’une page.
Description de l’algorithme
PageRank est statique dans le sens où une valeur du PageRank est calculée hors-ligne et indépendamment des requêtes que pourraient formuler les
utilisateurs. Comme cette mesure est basée sur le prestige au sein d’un réseau social, on peut également considérer le PageRank d’un site comme une
mesure de prèstige à son tour. Avant d’introduire étape par étape la formule
du PageRank , nous redéfinissons quelques concepts appliqués au contexte
du Web.
Liens entrants d’une page i. Ces liens sont des liens qui pointent sur
la page i à partir d’une autre page. Traditionnellement, les liens internes ne
sont pas considérés.
Liens sortants d’une page i. Ces liens sont des liens qui pointent vers
une autre page à partir de la page i. Traditionnellement, les liens internes ne
sont pas considérés.
Toujours dans la perspective que PageRank est une mesure de prestige,
nous faisons les hypothèses suivantes pour tranquillement nous amener à la
définition de l’algorithme.
1. Un lien d’une page vers une autre est un gage implicite d’autorité de
la page cible.Aussi, plus une page est pointé, plus elle est prestigieuse.
2. Les pages qui pointent vers une page i ont aussi leur score de prestige.
Une page sera d’autant plus importante qu’elle sera pointée par des
pages prestigieuses.
D’après la définition du prestige selon le rang, l’importance d’une page
i, i.e., son PageRank , est calculé comme la somme des PageRank des pages
qui pointent vers i. Comme une page peut pointer vers un grand nombre
de pages, son prestige devrait être partager parmi toutes les pages pointées.
2.3. EVALUER LA POPULARITÉ D’UNE PAGE WEB : L’ALGORITHME PAGERANK21
Ceci est une différence avec le prestige basé sur le rang qui n’impliquait pas
de partager le prestige d’une page.
Pour formaliser et formuler clairement ces idées, nous adoptons une représentation sous forme de graphe. Nous notons ainsi le Web G = (V, E) où
V est l’ensemble des nœdus, i.e., l’ensemble des pages, et E est l’ensemble
des arcs, i.e., des liens. Nous notons n, le nombre total de pages sur le Web,
i.e., n = |V |. Le PageRank d’une page i, noté P (i) est défini comme :
P (i) =
X
(j,i)∈E
(2.11)
P (j)
,
Oj
où Oj est le nombre de liens sortants de la page j. D’un point de vue
mathématique, nous disposons d’un système de n équations linéaires à n
inconnues. Nous pouvons utiliser une matrice pour représenter ce système
d’équations. Nous notons P le vecteur colonne à n dimensions qui contient
les valeurs de PageRank , i.e.,
P = (P (1), . . . , P (n))T
.
Notons A la matrice d’adjacente du graphe G avec :
Aij =
1
Oi
0
si (i, j) ∈ E
sinon
(2.12)
Similairement à l’équation 2.8, le système d’équations peut être écrit ainsi
P = AT P.
(2.13)
Encore une fois, c’est une équation caractéristique de l’espace propre, où
la solution de P est un vecteur propre avec la valeur propre associée de 1.
Dans la mesure où il s’agir d’une définition circulaire, un algorithme itératif
est utilisé pour résoudre ce système. Il en ressort que, si quelques conditions
sont satisfaites (ces conditions seront décrites brièvement plus tard),1 est la
plus grande valeur propre et P est la principale valeur propre. Une méthode
bien connue, appelée méthode de la puissance (power iteration algorithm en
anglais), peut être utilisée pour trouver P.
22
CHAPITRE 2. WEB STRUCTURE MINING
Malheureusement, l’équation 2.13 ne suffit pas vraiment car le graphe
formé à partir du Web ne satisfait pas les conditions mentionnées précédemment. Pour présenter ces conditions et ainsi améliorer l’équation, dérivons la
en adoptant le formalisme des chaines de Markov [11].
Dans le modèle de Markov, chaque page est considéré comme un état. A
lien est une transition qui conduit d’un état à un autre avec une certaine probabilité. Ce cadre permet de modéliser la navigation sur le Web comme un
processus stochastique. Cela permet la modélisation d’une navigation aléatoire d’un internaute traversant la chaîne de Markov. La probabilité associée
à chaque transition est 1/Oi si l’on suppose qu’un internaute clique sur un
lien de la page i en suivant de façon uniformément aléatoire, que la page
visitée précédemment n’est pas utilisée et que l’utilisateur ne rentre pas une
URL dans le navigateur. Nous notons A la matrice carrée des probabilités
de transition entre états avec le format suivant :


A11 . . . A1n
 .
. 


. 
A=

 .
 .
. 
An1 . . . Ann
Aij représente la probabilité qu’un utilisateur présent sur la page i aille
sur la page j et est défini comme présenté dans l’équation 2.12.
Si l’on suppose l’existence d’un vecteur de distribution des probabilités
initial qui indique la probabilité qu’un utilisateur soit sur chaque page, dénoté
p0 = (p0 (1), . . . , p0 (n)), et de la matrice A, nous avons :
X
(2.14)
(i=1)n p0 (i)=1
P (i) =
X
(2.15)
(j=0)n Aij =1
L’équation 2.15 n’est pas tout à fait exacte pour certaines pages qui ne
disposent pas de lien sortant. Si l’équation 2.15 est vérifiée pour la matrice
A, cette matrice est la matrice stochastique d’une chaîne de Markov. Supposons que A est stochastique pour le moment. Nous aborderons le cas où
elle ne l’est pas plus tard.
2.3. EVALUER LA POPULARITÉ D’UNE PAGE WEB : L’ALGORITHME PAGERANK23
Dans une chaîne de Markov, une question classique est : Si l’on suppose
connu le vecteur de probabilités initial p, quelle est la probabilité d’être sur
l’état j m transitions plus tard ? Il est possible de déterminer la probabilité de se trouver sur un état j après une transition d’état en utilisant le
raisonnement suivant :
X
p1 (j) =
nAij (1)p0 (i),
(2.16)
i=1
où Aij (1) est la probabilité de venir de l’état i à l’état japrès une transition, i.e., Aij (1) = Aij . Cela peut s’écrire sous forme matricielle :
p1 = AT p0 .
(2.17)
Plus généralement, la distribution des probabilités après k transitions
est :
pk = AT pk−1 .
(2.18)
L’équation 2.18 est très similaire à l’équation 2.13. Nous y sommes presque.
Le théorème ergodique des chaînes de Markov nous dit qu’une chaîne
de Markov définie par la matrice de transition stochastique A a une unique
distribution des probabilités stationnaire if A est irréductible et apériodique.
Ces notions mathématiques seront définies plus tard quand nécessaire.
La distribution des probabilités stationnaire signifie qu’après une série de
transitions, pk convergera vers un vecteur stable, noté π, et cela peu importe
le choix initial de p0 . Autrement dit,
lim pk = π
k→∞
(2.19)
Une fois atteint l’état de stabilité, pk = pk+1 = π et donc π = AT π. π
est le vecteur propre principal de AT avec une valeur propre à 1. Dans PageRank, π est utilisé comme le vecteur PageRank P. Nous obtenons alors,
encore une fois, l’équation 2.13.
L’utilisation d’une distribution de probabilité stationnaire π est raisonnable et finalement assez intuitive parce qu’elle reflète la probabilité qu’un
visiteur choisi aléatoirement, visite une page Web (une page avec un haut
prestige aura plus de chance d’être visitée).
24
CHAPITRE 2. WEB STRUCTURE MINING
Nous nous intéressons maintenant à savoir si le Web satisfait les conditions énoncées ci-dessus, i.e., si A est une matrice stochastique et si elle
est irréductible et apériodique. Nous allons voir qu’aucune de ces conditions
n’est satisfaite. L’équation 2.13 a donc besoin d’être étendue. Nous considérons maintenant chaque condition séparément.
D’abord, A n’est pas une matrice de transition stochastique. Pour rappel, une matrice stochastique est une matrice de transitions d’une chaine de
Markov finie à valeurs dans R+, i.e., l’ensemble des réels positifs, et dont la
somme sur chaque ligne est égale à 1. Dans notre contexte cela n’est pas vérifié car cela impliquerait que toutes les pages disposent d’au moins un lien
sortant. Cette condition n’est clairement pas vérifiée pour certaines pages
Web, ce qui se traduit par des lignes dans A dont toutes les valeurs sont
égales à 0.
Example 2.1. La Figure 2.5 présente un exemple de graphe construit sur
les liens.
Figure 2.5 – Un exemple de graphe construit sur les liens.
Si on suppose qu’un internaute cliquera sur une page en adoptant un
comportement aléatoire uniforme, nous obtenons la matrice de transition suivante :


0 1/2 1/2 0
0
0
1/2 0 1/2 0
0
0 


 0
1
0
0
0
0 


A=
(2.20)
0 1/3 0 1/3 1/3

 0
 0
0
0
0
0
0 
0
0
0 1/2 1/2 0
En effet, A12 = A13 = 1/2 car la page (nœud) 1 n’a qu’un seul lien
2.3. EVALUER LA POPULARITÉ D’UNE PAGE WEB : L’ALGORITHME PAGERANK25
sortant. Comme on peut le voir, A n’est pas une matrice stochastique car la
page 5 n’a aucun lien sortant, i.e., la 5eme ligne ne contient que des 0.
Il existe plusieurs solutions pour résoudre ce problème. Nous en décrivons
deux.
1. Supprimer les pages qui ne contiennent pas de lien sortant pendant
le calcul du PageRank . En effet, ces pages n’ont aucun impact sur
le calcul du PageRank des autres pages. Les liens sortants des pages
qui pointent vers ces pages sont également supprimés. Après que les
scores de PageRank , les pages et les liens qui n’ont pas été considérés
sont rajoutés. Leur PageRank peut facilement être calculé à partir de
l’équation 2.13. Il faut tout de même remarquer que le PageRank des
pages où des liens ont été supprimés est quelque peu faussé mais on
peut vérifier empiriquement que l’erreur n’est pas significativement.
Cette méthode a été proposée dans [3].
2. Ajouter un ensemble de liens sortants à chacune de ces pages, i.e.,
les pages sans lien sortant, vers la totalité des pages. En supposant
une distribution de probabilité uniforme, on remplace alors chaque 0
d’une ligne ne contenant que des 0 par 1/n où n est le nombre total
de pages. En appliquant cette méthode sur la matrice exemple utilisée
précédemment, nous obtenons :

0 1/2 1/2 0
0
0
1/2 0 1/2 0
0
0 


 0
1
0
0
0
0 


A=
0 1/3 0 1/3 1/3

 0
1/5 1/5 1/5 1/5 1/5 1/5
0
0
0 1/2 1/2 0

(2.21)
Dans la suite, nous supposerons qu’une des deux méthodes a été utilisée
pour rendre A stochastique.
Ensuite, A n’est pas irréductible car cela impliquerait que G soit fortement connexe. Un graphe dirigé G = (V, E) est fortement connexe si, pour
toutes paires de nœds u, v ∈ V , il existe un chemin de u vers v. L’ajustement
proposé pour résoudre le précédent problème n’est pas suffisant ici car nous
voyons bien qu’il n’existe pas de chemin du nœud 3 vers le nœud 4.
Enfin, A n’est pas apériodique. A état i est périodique avec une période
k > 1 si k est le plus petit nombre tel que tous les chemins allant de i à i
26
CHAPITRE 2. WEB STRUCTURE MINING
ont une longueur qui est un multiple de k. Un état est apériodique s’il n’est
pas périodique et une chaîne de Markov est apériodique si tous ses états le
sont.
La Figure 2.6 présente une chaîne de Markov périodique avec k = 3 et
sa matrice de transition associée (à gauche). Chaque état dans cette chaîne
a une période de 3.
Figure 2.6 – Une chaîne de Markov périodique (k = 3).
Nous montrons comment les deux précédentes difficultés peuvent être attaquées en appliquant une unique stratégie. En effet, il suffit d’ajouter un
lien sur chaque page vers toutes les autres pages avec une probabilité de
transition, notée d.
La nouvelle matrice de transition ainsi augmentée devient irréductible
car il est facile de voir qu’elle est fortement connexe. En outre, elle est également apériodique car nous disposons maintenant de chemins de n’importe
quelles longueurs pour rejoindre une page à partir d’une autre.
Avec ces ajustements, la formule du PageRank est donc :
P (i) = (1 − d) + d
X
Aji P (j),
(2.22)
(j,i)∈E
ce qui est équivalent à la formule donnée dans [3, 27] :
P (i) = (1 − d) + d
n
X
P (j)
j=1
Oj
.
(2.23)
Il existe différentes méthodes pour calculer le PageRank d’un site. Veuillezvous referez à [8] pour une étude comparative.
2.3. EVALUER LA POPULARITÉ D’UNE PAGE WEB : L’ALGORITHME PAGERANK27
Notes bibliographiques
L’analyse de réseaux sociaux a déjà une histoire relativement longue.
En effet, de nombreux problèmes intéressants ont été étudiés depuis 60 ans
environ. Le livre de Wasserman et Faust [34] fait référence dans le domaine.
L’analyse de co-citations [31] et de couplage bibliométrique [16] sont des
thématiques de la bibliométrie utilisée dans les bibliothèques ou les sciences
de l’information. Le livre édité par Borgman borgman2002scholarly est une
bonne source d’informations sur le sujet.
L’utilisation de techniques issues de l’analyse de réseaux sociaux dans le
contexte du Web a débuté avec la proposition de l’algorithme PageRank [3,
27]. D’autres travaux relatifs à la l’analyse de liens sur le Web comprennent :
— [4, 15, 21] pour l’amélioration du calcul du PageRank,
— [5, 9, 10, 26] concernant l’évolution du Web et l’impact des moteurs
de recherche sur le Web,
— [22, 23, 30] à propos du graphe formé par le Web et ses caractéristiques,
— [2, 28, 37] à propos de la dimension temporelle dans les recherches
faites sur le Web.
28
CHAPITRE 2. WEB STRUCTURE MINING
Chapitre 3
Web content mining
Outre l’analyse de la structure du Web évoquée dans le chapitre précédent, une autre source d’informations peut se révéler précieuse à analyser :
le contenu des pages Web. En effet, le Web contient une masse importante
de contenu non structuré, i.e., des données textuelles. Analyser ces textes
peut fournir un grand nombre d’informations qui peuvent se révéler utiles
pour un décideur. Dans ce cours, nous nous focalisons sur une tâche bien
particulière : la fouille d’opinions. Cette tâche n’est pas seulement difficile,
car elle implique l’utilisation de techniques issues du traitement automatique
de la langue naturelle (TALN), mais elle est aussi très utile en pratique. Par
exemple, une entreprise voudra connaître l’avis des consommateurs sur les
produits qu’elle a mise en vente ou encore, un internaute voudra connaître
l’avis des utilisateurs sur un service ou un produit avant de s’engager plus
dans un processus d’achat. La fouille d’opinion et la fouille de structures
peuvent également être utilisées pour placer judicieusement des publicités
sur les pages Web. En effet, si les amis (au sens d’un réseau social bien
connu) d’un internante aiment particulièrement un produit, il peut paraître
judicieux de proposer une publicité de ce produit sur la page de l’internaute.
A l’inverse, si ses amis expriment un sentiment négatif sur ce produit, alors
la publicité d’un concurrent semble plus appropriée.
Des techniques ont été développées pour analyser cette formidable source
d’informations. Dans ce cours, nous nous faciliterons sur 3 tâches particulières :
— Classification de sentiments. La fouille d’opinion est traitée comme un
problème de classification. Ces approches fonctionnent généralement
au niveau d’un document et permettent de dire si une opinion positive
29
30
CHAPITRE 3. WEB CONTENT MINING
ou négative a été formulée sur ce document.
— La fouille d’opinions basée sur les caractéristiques. Ces approches
fonctionnent à un niveau de granularité un peu plus fin : la phrase
généralement. Elles permettent de découvrir les raisons qui poussent
un internaute à aimer ou pas un produit ou un service.
— La détection de spam. Il est très important de pouvoir détecter les
faux avis, i.e., des avis malhonnêtes, de ceux qui sont réellement formulés par les internautes. La détection de ces fausses opinions est un
problème difficile car les auteurs sont rarement correctement identifiés.
Il est important de préciser que cette thématique est relativement récente.
Par conséquent, ce chapitre ne constitue pas une description exhaustive de
solutions matures. Il définit plutôt des problématiques de recherche et identifie les challenges qui devront être adressés dans les prochaines années.
3.1
Classification de sentiments
Soit D un ensemble de documents. Un classifieur de documents a pour
rôle de dire si un document exprime un avis positif ou négatif. Cette thématique est proche de la classification de documents basés sur le domaine à
ceci près que les mots spécifiques à un domaine ne sont d’aucune importance
quand il s’agit de classer un document selon le sentiment exprimé. En effet,
ces approches se focalisent sur les mots qui expriment une opinion, e.g., bon,
mauvais, super, terrible.
La plupart des recherches existantes travaillent au niveau du document.
Bien entendu, il est possible d’appliquer les mêmes techniques sur chaque
phrase d’un document pour avoir l’opinion exprimée par phrase. Nous détaillons maintenant quelques techniques.
Classification basée sur les sentiments exprimés dans les phrases
Cette méthode propose d’estimer l’opinion d’un document à partir des
mots ou phrases colorés positivement ou négativement. Cette approche a été
proposée par [33] dans le contexte de la classification d’avis utilisateurs.
Cette algorithme utilise une technique issue du TALN : l’étiquetage
morpho-syntaxique. L’étiquetage morpho-syntaxique permet d’étiqueter un
mot en fonction de sa nature grammaticale. Les principales natures en français sont : le nom, le verbe, l’adjectif, le pronom, l’adverbe, ... L’algorithme
[33] repose sur trois étapes :
3.1. CLASSIFICATION DE SENTIMENTS
31
1. Les phrases contenant des adjectifs ou des adverbes sont extraites.
Les auteurs ont en effet montré que ces deux natures grammaticales
étaient de bons indicateurs pour déceler une opinion. Malgré tout,
une fois isolés, ces mots peuvent être ambigus. Par exemple, l’adjectif « imprévisible » pourra être connoté négativement s’il désigne le
comportement routier d’une voiture ou positivement s’il se réfère à
l’intrigue d’un film. Ainsi pour pallier cette difficulté, l’algorithme extrait deux mots consécutifs dont l’un des deux est soit un adjectif ou
un adverbe et l’autre, le contexte. Finalement, un filtre est appliqué
sur cet ensemble de paires de mots. En effet, seules seront conservés
les paires vérifiant leur appartenance à un des motifs définis par l’auteur. Un exemple de motif est « le premier mot doit être un adjectif
et le second doit être un nom ».
2. Pour chaque paire retenue, son orientation sémantique est calculée en
utilisant l’information mutuelle ponctuelle (pointwise mutual information en anglais) dont la formule est donnée ici :
P M I(term1 , term2 ) = log2
P r(term1 ∧ term2 )
P r(term1 ) × P r(term2 )
(3.1)
P r(term1 ∧ term2 ) désigne la probabilité d’apparition conjointe de
term1 et term2 et P r(term1 ) × P r(term2 ) désigne la probabilité
d’apparition conjointe de ces deux termes s’ils sont indépendants. Ce
ratio mesure donc le degré de dépendance statistique entre les deux
termes. Considérer le log permet de déterminer la quantité de nouvelles connaissances acquises lorsque l’on observe un terme quand le
second est déjà présent.
L’orientation sémantique (OS) d’une phrase est calculée à partir de
son association avec la référence positive « excellent » et de son association avec la référence négative « poor 1 ». L’orientation sémantique
de la phrase est donc calculée ainsi :
OS(phrase) = P M I(phrase, excellent) − P M I(phrase, poor). (3.2)
Les probabilités sont calculées en soumettant des requêtes à un moteur de recherche et en comptant le nombre de pages retournées
(hits). Ainsi, soumettant une requête d’abord avec deux termes puis
1. Ce mot est utilisé dans la proposition d’origine. Pour toute autre langue, il faudra
choisir la traduction adaptée.
32
CHAPITRE 3. WEB CONTENT MINING
avec chaque terme séparément, on peut estimer les probabilités nécessaire à la résolution de la formule du PMI. Dans [33], l’auteur choisit
Alta Vista comme moteur de recherche car il dispose d’un opérateur
« NEAR » qui permet de ne renvoyer que des pages où les termes
apparaissent peu éloignés dans le texte. L’équation 3.2 devient alors :
OS(phrase) = log2
hits(phraseN EARexcellent) × hits(poor)
hits(phraseN EARpoor) × hits(excellent)
.(3.3)
Afin d’éviter une division par zéro, on ajoute 0, 01 aux hits.
3. Lorsque l’on veut classer un texte en positif ou négatif, on considérer l’orientation sémantique moyenne. Le texte sera ainsi positif si la
moyenne est supérieure à zéro et négatif sinon.
Les résultats affichés dans l’article d’origine montrent que l’approche se
comporte bien sur un jeu de données d’avis automobile (84% d’efficacité)
mais un peu moins bien sur un jeu de données d’avis cinéma (seulement 66%
d’efficacité).
3.2
Fouille d’opinions basée sur les caractéristiques
La classification de sentiments sur un document entier peut être utile
pour certaines applications mais sa granularité peut souvent s’avérer trop
grossière. En effet, s’avoir qu’un utilisateur a globalement aimé un produit ne
signifie pas qu’il en a aimé tous les aspects. Comme nous pouvons le constater
sur un grand nombre de sites marchands, un utilisateur écrit généralement
aussi bien ce qu’il a aimé et ce qu’il n’a pas aimé. Afin d’obtenir ce niveau
de détail, il est nécessaire de quitter le niveau du document pour aller à un
niveau de granularité plus fin : celui de la phrase. [13] identifie 2 tâches à
réaliser pour parvenir à l’analyse des phrases :
1. Identifier et extraire les caractéristiques du produit sur lesquels l’utilisateur a exprimé son avis. Par exemple, dans la phrase « la qualité
de l’image de cet appareil est spectaculaire », la caractéristique mentionnée est « qualité de l’image ».
2. Déterminer si l’opinion sur les caractéristiques est positive, négative
ou neutre. Dans la phrase évoquée précédemment, l’opinion est positive.
3.2. FOUILLE D’OPINIONS BASÉE SUR LES CARACTÉRISTIQUES33
Définition du problème
Une opinion peut être exprimée sur n’importe quoi (particulièrement en
France). On parlera alors d’objet pour désigner une personne, une organisation, un produit ou autre chose sur lequel porte un avis. Un objet possède
un ensemble de composantes (ou parties) et aussi un ensemble d’attributs
(ou propriétés). Un objet peut donc être défini grâce à une relation de type
« partie de » (une composante peut avoir un ensemble de sous-composantes).
Définition 3.1 (Objet). Un objet O est une entité, e.g., un produit, une
personne, qui est associée avec une paire O : (T, A) oùT est une taxonomie
(ou hiérarchie) de composantes (ou parties), sous-composantes, etc... et A
est un ensemble d’attributs de O. Chaque composante a son propre ensemble
de sous-composantes et d’attributs.
Example 3.1. Un modèle d’appareil photo numérique est un objet. Il possède son ensemble de composantes, e.g., la lentille, la batterie, et aussi un
ensemble d’attributs, e.g., la qualité de l’image, le prix.
Un objet peut être représenté sous la forme d’un arbre. Sa racine est
l’objet lui même. Ensuite, tous les nœuds non-racine sont des composantes
ou sous-composantes et chacun de ces nœuds peut avoir son propre ensemble
d’attributs. Une opinion peut être exprimée sur chacun des nœuds et attribut
de cet arbre.
Example 3.2. Si l’on se réfère à l’exemple précédent, une opinion peut être
exprimée sur l’appareil photo (la racine de l’arbre), e.g., « je n’aime pas du
tout cet appareil », sur un de ses attributs, e.g., « la qualité de l’image est
médiocre », sur une de ses composantes, e.g., « la batterie est de mauvaise
qualité » ou sur un des attributs d’une composante, e.g., « la durée de vie de
la batterie est faible ».
Pour simplifier la discussion, on parlera de caractéristiques pour désigner
indifféremment un attribut ou une composante. L’aspect hiérarchique est
alors négligé. On peut également considérer un objet comme une caractéristique, ce qui est utile en pratique car l’utilisateur peut être mal à l’aise
d’adopter une représentation hiérarchique de l’objet.
On note r un texte évaluant un objet. En général, r peut être représenté
par une séquence de phrases, i.e., r = s1 , s2 , . . . , sm .
Définition 3.2 (Caractéristiques implicites et explicites). Si une caractéristique f apparait dans l’évaluation r, f est appelée une caractéristique
explicite. Sinon, f est dite implicite dans r.
34
CHAPITRE 3. WEB CONTENT MINING
Example 3.3. Nous donnons un exemple de caractéristiques explicite et
implicite :
— Dans la phrase « La durée de vie de la batterie est trop courte »,
durée de vie est explicite.
— Dans la phrase « L’appareil est trop gros », la taille est implicite
car elle n’apparaît pas dans la phrase mais peut être déduite.
Définition 3.3 (Passage sur une caractéristique). Un passage sur une caractéristique f au sein d’un texte r est une sous-séquence de r qui exprime
une opinion positive ou négative sur f .
Cette définition exprime un fait souvent observé dans la réalité : une
succession de phrases consécutives traitent d’une même caractéristique ou
composante d’un objet. Il est également aussi fréquent qu’une même phrase
exprime une opinion sur plusieurs attributs ou composantes, e.g., « La qualité de l’image est bonne mais la batterie est médiocre. ».
La plupart des travaux se focalisent au niveau de la phrase, i.e., un passage est composé d’une et une seule phrase. Aussi, dans la suite, nous utiliserons phrase et passage de façon interchangeable.
Définition 3.4 (Donneur d’opinions). Un donneur d’opinions est une personne ou une organisation qui exprime une ou plusieurs opinions.
Nous assemblons maintenant ces éléments pour définir le modèle d’un
objet et d’un ensemble d’opinions sur cet objet. Un objet est constitué d’un
ensemble fini de caractéristiques, F = {f1 , . . . , fn }. Chaque caractéristique
fi peut être exprimé par un ensemble de mots Wi qui sont synonymes. Nous
obtenons ainsi un ensemble d’ensembles de mots, W = {1 , . . . , Wn pour les
n caractéristiques. Comme chaque caractéristique fi possède un nom, on a
fi ∈ Wi . Chaque donneur d’opinion j exprime une opinion sur un sousensemble des caractéristiques Si ⊆ F . Pour chaque fk ∈ Sj exprimé par le
donneur d’opinion j, j choisit un mot ou une phrase de Wk pour désigner
cette caractéristique, et exprime ensuite une opinion dessus.
Ce modèle induit les trois problèmes suivants :
Problème 3.1. F et W sont inconnus. Aussi, il est nécessaire de réaliser
trois tâches :
Tâche 1 Identifier et extraite les caractéristiques qui ont été mentionnées dans
chaque document d ∈ D.
3.2. FOUILLE D’OPINIONS BASÉE SUR LES CARACTÉRISTIQUES35
Tâche 2 Déterminer si les opinions sur les caractéristiques sont positives, négatives ou neutres.
Tâche 3 Grouper les caractéristiques selon les synonymes utilisés, i.e., chaque
donneur d’opinion peut choisir un des synonymes pour exprimer son
opinion.
Problème 3.2. F est connu mais W ne l’est pas. Cette situation est similaire au problème suivant bien qu’un peu plus facile. Chacune des trois
tâches précédentes a toujours besoin d’être adressée mais la tâche 3 équivaut
à, simplement, associé les caractéristiques découvertes lors de la tâche 1 à
l’ensemble des caractéristiques F .
Problème 3.3. W et F sont tous les deux connus. Seule la tâche 2 a besoin
d’être réalisée.
Le problème 1 est évidemment le plus difficile. Le problème 2 est un peu
plus facile. Enfin, le problème 3 est de toute évidence le plus facile mais reste
réaliste.
Example 3.4. Supposons qu’une compagnie de téléphone veuille évaluer les
avis de ses clients sur quelques modèles de téléphone. Il est assez réaliste de
supposer que la société mette à disposition l’ensemble des caractéristiques
qu’elle souhaite évaluer. De la même manière, on peut facilement supposer
que la société fournisse également une liste de synonymes (potentiellement
incomplète) des caractéristiques.
Un ensemble de paires est retourné pour chaque document d. Chaque
paire est notée (f, OS), où f est la caractéristique et OS est l’orientation
sémantique (ou l’opinion) exprimé dans d sur la caractéristique f . Les opinions neutres sont ignorées car elles ne sont pas d’une grande utilité.
Il est important de remarquer que ce modèle ne prend pas en compte
la force d’une opinion, e.g., une opinion extrêmement négative. Cette force
peut facilement être ajoutée au modèle (voir [36] pour un exemple de prise
en compte de la force dans le modèle).
Il existe de nombreux moyens d’utiliser ces résultats. Parmi les plus
simples, il est possible de produire un résumé des avis selon les caractéristiques. Nous illustrons ce point à travers l’exemple précédent.
Example 3.5. Nous considérons les avis associés à un appareil photo numérique, noté APN1. Le résumé produit peut ressemble au résumé présenté dans
36
CHAPITRE 3. WEB CONTENT MINING
la Figure 3.1. On peut par exemple voir que pour la caractéristique taille, il
y a 82 avis positifs. Le champ hextraitsi contient un ensemble de phrases
significatives et exprimant un avis positif pour la caractéristique concernée,
i.e., la taille de l’appareil.
Le résumé peut également être représenté sous forme graphique. Par exemple,
la Figure 3.2 (gris clair) représente le résumé de l’appareil photo numérique
AP N 1. Quatre caractéristiques sont étudiées. Pour chacune, le pourcentage
d’avis positif est représenté par la zone grise au dessus de la ligne horizontale
du milieu. Les avis négatifs sont représentés par la zone sous la ligne horizontale. Cette représentation permet de facilement comparer des produits selon
les caractéristiques. Par exemple, AP N 1 est comparé à AP N 2 sur la Figure
3.2.
AP N 1
— Qualité de l’image
— Avis positifs : 123 → h extraits i
— Avis négatifs : 6 → h extraits i
— Taille
— Avis positifs : 82 → h extraits i
— Avis négatifs : 10 → h extraits i
Figure 3.1 – Exemple d’un résumé d’opinions basé sur les caractéristiques
Extraction de caractéristiques
Les recherches sur cette thématique portent essentiellement sur des données extraites de sites internet. Sur ces sites marchand ; il est assez courant
de demander leurs avis aux clients sur les produits qu’ils ont acheté. Des sites
spécialisés, e.g., epinions.com, existent également pour exprimer son opinion
sur divers produits. Il existe majoritairement trois formats sur la toile pour
exprimer son opinion.
(Format 1) Plus, moins et commentaire détaillé : l’utilisateur liste d’abord les
aspects positifs, puis les aspects négatifs puis saisit un texte libre sur
le produit. Ce champ contiendra alors tous les détails de l’avis. Les
deux premiers champs seront donc succincts
(Format 2) Plus et moins : les aspects positifs et négatifs du produit sont entrés
séparément. Contrairement au format précédent, il n’y a pas de champ
libre. Les détails seront donc situés au niveau de ces deux champs.
3.2. FOUILLE D’OPINIONS BASÉE SUR LES CARACTÉRISTIQUES37
Figure 3.2 – Représentation graphique de résumés à partir des caractéristiques
(Format 3) Formal libre : L’avis est exprimé librement. Les points positifs, négatifs et les détails justifiant la prise de position sont donc mélangés.
Dans ce cours, le choix est fait de ne détailler que le premier format
mentionné. Le lecteur est invité à se reporter à la section « Références bibliographiques » pour trouver des exemples de travaux abordant les deux
autres formats d’avis.
Extraction de caractéristiques à partir du format 1
Nous décrivons une approche supervisée d’extraction de motifs pour
identifier les caractéristiques des produits à partir des champs « plus » et
« moins » du format 1. La méthode décrite repose sur des « règles séquentielles » et a été décrite dans [14, 20]. Nous utiliserons l’exemple placé dans
la Figure
Une caractéristique d’un produit peut être exprimée par un non, un adjectif, un verbe ou un adverbe. Les labels et étiquettes morpho-syntaxiques
sont {$f, N N }, {$f, ADJ}, {$f, V E}, {$f, ADV }. Ils représentent à le fois
les caractéristiques explicites et implicites. Un mot qui désigne implicitement
une caractéristique est appelé « indicateur de caractéristique implicite ». Par
exemple, dans la phrase « L’appareil est trop lourd. », lourd est un adjectif
38
CHAPITRE 3. WEB CONTENT MINING
Un super appareil à photo
Par anonyme44
Plus : Super photos, facile à utiliser, très petit
Moins : Durée de vie de la batterie, livré avec peu de mémoire
Je n’avais jamais acheté d’appareil photo numérique avant celui-ci mais ...
[Lire l’avis en entier]
Figure 3.3 – Un exemple d’avis suivant le format 1
qui désigne implicitement la caractéristique « poids ». Pour extraire les caractéristiques d’un produit, les auteurs s’appuient sur l’ observation suivante :
— Chaque segment de phrase correspond à une et une seule caractéristique. Chaque segment d’une phrase est une chaine de caractères séparée par une des chaînes suivantes (liste non exhaustive) : « , », « : »,
« ; », « et », « mais »... Par exemple, si l’on se réfère au champ « plus »
de l’exemple, celui-ci contient trois segments : « super photos », « facile à utiliser » et « très petit ». Chaque segment correspond à une
caractéristique (dans l’ordre) : « photo », « utilisation » et « taille »
(qui est un indicateur implicite de la caractéristique « taille »).
Il faut remarquer qu’une caractéristique explicite n’est pas forcément
un nom ou une phrase nominale. Un verbe peut également être une caractéristique explicite, e.g., facile à utiliser. En générale, on constate tout de
même que 60 à 70% des caractéristiques explicites sont des noms et qu’une
faible proportion sont des verbes. De plus, 20 à 30% des caractéristiques sont
généralement implicites. Nous décrivons maintenant l’approche qui permet
d’extraire ces caractéristiques.
Nous considérons en entrée un ensemble d’avis utilisateurs. La méthode
consiste en trois étapes :
1. Préparation du jeu d’entraînement pour la fouille de règles
séquentielles. Cette étape se décompose en quatre sous-étapes :
— Etiquetage morpho-syntaxique et génération des séquences : pour
chaque segment de phrase, l’algorithme réalise d’abord l’étiquetage morpho-syntaxique et génère les séquences. Par exemple, le
segment « super photos » sera transformé en h{super, ADJ}{photos, N N }i.
— Remplacement des caractéristiques par le mot-clé $f eature. En
effet, dans la mesure où différents produits ont des caractéristiques différentes, cela permet l’extraction de motifs plus généraux. Après le remplacement, la séquence précédente devient :
3.2. FOUILLE D’OPINIONS BASÉE SUR LES CARACTÉRISTIQUES39
h{super, ADJ}{$f eature, N N }i
— Utilisation des n-grammes, i.e., on ne considère que des séquences
de n mots consécutifs, pour générer des séquences plus courtes.
L’utilisation de cette technique est pertinente car il a été montré que l’essentiel de l’information associée à une caractéristique
se situe soit dans son voisinage proche, soit dans les étiquettes
morpho-syntaxiques. En général, considérer n = 3 ou n = 4 est
suffis ant.
— Stemmatisation (permet de ne conserver que les racines des mots).
A la fin de ce pré-traitement, les séquences (n-grammes) sont stockés
dans une base de séquences et sont prêtes à être fouillées.
2. Fouille de règles séquentielles. Un algorithme de fouille de règles
séquentielles est appliqué pour extraire des règles ne faisant intervenir
que $f eature. Un exemple de règle est :
h{f acile, ADJ}{à}{∗, V B} → {f acile, ADJ}{à}{$f eature, V B}i
Remarquons qu’un étiquette morpho-syntaxique et un un mot peuvent
apparaître dans une règle. Classiquement, les seuils de support et de
confiance minimums sont choisis expérimentalement. La partie droite
d’une règle est appelé un motif de langage.
3. Extraction des caractéristiques. Les motifs de langage extraits
sont comparés à chaque segment de phrase d’un nouvel avis. Ainsi, le
mot qui matche $f eature dans un motif de langage est extrait. Trois
situations sont alors à considérer :
— Plusieurs motifs correspondent à un segment de phrase. Les règles
sont alors considérées dans l’ordre suivant : nom, adjectif, verbe et
enfin adverbe. Cela s’explique par le fait que les caractéristiques
sont principalement des noms. Si des règles ont la même étiquette,
on choisira celle de confiance maximale/
— Si aucune règle ne correspond, les noms ou phrases nominales
(s’ils existent) extraites par l’étiqueteur morpho-syntaxique sont
sont considérés comme des caractéristiques.
— Si un fragment n’est composé que d’un seul mot, celui-ci est considéré comme une caractéristique (implicite ou explicite).
Une fois que les caractéristiques sont extraites, plusieurs problèmes subsistent. Nous les décrivons ici brièvement.
— Reconnaitre les caractéristiques implicites. Il existe plusieurs types de
caractéristique implicite. Les adjectifs sont sans doute les plus com-
40
CHAPITRE 3. WEB CONTENT MINING
muns. Ces adjectifs sont généralement relatifs à des propriétés spécifiques d’un objet. Mais le sens peut différer en fonction du contexte.
Par exemple, « lourd » n’aura pas le même sens si l’on parle d’un
téléphone ou de la décoration d’une pièce. Il est possible de gérer ces
situations en dressant une liste d’adjectifs et de signification associée
en fonction du contexte mais la pertinence de cette solution n’a pas
vraiment été étudiée en profondeur.
— Grouper les synonymes. Une caractéristique peut être nommée à l’aide
de plusieurs mots. Il est donc important de reconnaître les synonymes
pour regrouper les caractéristiques. Des resources lexicales, telle que
WordNet [24] peuvent être utilisées. Malgré tout, de telles resources
peuvent se montrer insuffisante car certains synonymes peuvent se
révéler dépendant du contexte, e.g., « piste » et « morceau » sont
synonymes dans le contexte d’un album de musique.
3.3
Opinions frauduleuses
Les opinons exprimées par les utilisateurs d’un produit (ou objet) sont
de plus en plus déterminantes dans l’acte d’achat de nouveaux utilisateurs.
Aussi, il est désormais courant que des personnes renseignent des « faux
avis » pour induire en erreur un client potentiel. Dans cette section, nous
discutons de cette technique, de ses motivations, des moyens mis en place
pour rédiger de tels avis et de comment les détecter
Objectifs des avis frauduleux
Il existe deux objectifs pour rédiger ces avis :
1. Promouvoir un produite
2. Altérer la répulsion d’une cible, typiquement un concurrent
Parfois les deux objectifs chercheront à être simultanément atteints alors
que dans d’autres situations, seul un des deux sera visé. Un autre objectif,
plus rare, peut être recherché : rédiger des avis complètement fallacieux et
inopportuns pour (1˚ennuyer le lecteur et (2) tromper les solutions de détection automatique d’avis frauduleux. Pour parvenir à ces objectifs, on pourra
utiliser une de deux (ou les deux) actions suivantes :
— Rédiger des avis dithyrambique
— Rédiger des avis injustement négatifs et diffamatoires
3.3. OPINIONS FRAUDULEUSES
41
Techniques utilisées
Afin d’éviter d’être détecté, les rédacteurs d’avis frauduleux prennent un
certains nombre de précautions. Ces précautions sont différentes en fonction
de s’il s’agit d’un rédacteur isolé ou d’un groupe de rédacteurs.
Rédacteur isolé
1. Le rédacteur se construit une bonne réputation en donnant son avis,
le vrai, sur un site en rédigeant des avis de qualité. Ainsi, il deviendra
un utilisateur estimé par la communauté.
2. L’utilisateur s’inscrit plusieurs fois sur le site avec des identifiants de
connexion différents (et possiblement à partir d’ordinateurs différents
pour ne pas que son adresse IP ne soit reconnue par les serveurs web)
3. Le rédacteur peut donner une bonne note à un produit mais une
critique détaillée. En effet, certains système de détection d’avis frauduleux ne considèrent que les notes données aux produits.
4. Le rédacteur rédige soit un avis positifs sur un produit qu’il veut promouvoir soit un avis négatifs sur un produit concurrent mais pas les
deux. Cela permet de détecter les techniques de détection automatique d’avis frauduleux qui comparent, pour chaque utilisateur, les
avis émis sur des produits similaires mais de marques différentes.
Groupe de rédacteurs
1. Le rédacteur se construit une bonne réputation en donnant son avis,
le vrai, sur un site en rédigeant des avis de qualité. Ainsi, il deviendra
un utilisateur estimé par la communauté.
2. L’utilisateur s’inscrit plusieurs fois sur le site avec des identifiants de
connexion différents (et possiblement à partir d’ordinateurs différents
pour ne pas que son adresse IP ne soit reconnue par les serveurs web)
3. Le rédacteur peut donner une bonne note à un produit mais une
critique détaillée. En effet, certains système de détection d’avis frauduleux ne considèrent que les notes données aux produits.
4. Le rédacteur rédige soit un avis positifs sur un produit qu’il veut promouvoir soit un avis négatifs sur un produit concurrent mais pas les
deux. Cela permet de détecter les techniques de détection automatique d’avis frauduleux qui comparent, pour chaque utilisateur, les
avis émis sur des produits similaires mais de marques différentes.
42
CHAPITRE 3. WEB CONTENT MINING
Détection d’avis frauduleux
De plus en plus de travaux s’intéressent à la détection d’avis frauduleux. Nous détaillons quelques principes ci-dessous. Notons tout de même
qu’aucune de ces approches ne peut, à elle seule, suffire. I est très vraisemblable que la combinaison de plusieurs techniques soit une approche efficace
pour résoudre le problème. La détection d’avis frauduleux peut être considéré comme un problème de classification. Cela impose cependant qu’un jeu
de donnée d’entrainement soit au préalable manuellement labellisé.
Détection basée sur les avis
Ces approches se concentrent sur le contenu des avis formulés par les
internautes. Un avis étant composé de deux parties, i.e., une ou plusieurs
note(s) et les détails de la note, les approches existantes considèrent ces
deux aspects :
— Comparaison du contenu des avis. Pour maximiser leur impact, les
rédacteurs d’avis frauduleux peuvent écrire plusieurs avis du même
produit (avec des identifiants différents) ou de produits différents de
la même marque. Ils peuvent même rédiger leurs avis sur des sites
différents. Malgré tout, rédiger des avis avec un style radicalement
différent est loin d’être aisé. Certains rédacteurs utilisent même le
même texte en y apportant quelques légères modifications. Il existe
des techniques qui peuvent repérer les copies quasi conformes.
— Détecter des notes aberrantes. On peut sans risque supposer que les
avis frauduleux sont minoritaires dans l’ensemble des avis rédigés sur
un même produit. Ainsi, si les notes d’un avis s’écartent significativement de la distribution des notes, il est fort probable qu’il s’agisse
d’un avis frauduleux. Dans le cas où le nombre d’avis frauduleux est
important, ils ne peuvent plus être considérés comme atypiques. Il est
alors plus difficile de les détecter.
— Comparer les avis venant de différents sites. Ce genre d’approche
est assez similaire au principe différent à l’exception qu’il concerne
plusieurs sites contenant des avis. Ainsi, si pour un produit donné, la
moyenne inter-site de ses notes est assez élevé mais que pour un site,
la moyenne des notes est faible, il est très probable pour que ce site
contienne un bon nombre d’avis frauduleux.
— Détecter les pics de notations. Cette approche considère la rédaction
des avis selon la dimension temporelle. Ainsi, si dans un intervalle de
temps serré, un nombre important d’avis similaires sont rédigés, cela
3.3. OPINIONS FRAUDULEUSES
43
peut indiquer que ces avis sont frauduleux.
Détection basée sur les rédacteurs d’avis
Dans cette technique, les comportements atypiques des utilisateurs sont
recherchés pour détecter des avis frauduleux. Il est supposé (et cela est réaliste) que l’ensemble des avis pour un produit donné sont connus.
— Détection des avis précoces. Les rédacteurs d’avis frauduleux sont
souvent les premiers à s’exprimer sur un produit. En effet, les premiers avis ont souvent plus d’impact. Ils tentent donc de « prendre
le contrôle » du produit. Leurs notes sont soit très faibles soit très
élevées.
— Dès qu’un avis très positif (reps. très négatif) est rédigé sur un produit, un rédacteur frauduleux va contrebalancer l’avis précédent en
rédigeant un avis très négatif (reps. très positif).
— Comparer les avis d’un même utilisateur. La comparaison des avis
d’un utilisateur d’un avis sur des produits similaires mais de marques
différentes permet souvent de repérer des avis frauduleux. En effet,
un rédacteur d’avis frauduleux aura tendance à encenser des produits
d’une même marque et à exprimer des avis très négatifs sur des produits similaires mais concurrents.
— Comparer l’heure de rédaction des avis. Un rédacteur d’avis frauduleux aura tendance à rédiger de nombreux avis dans le même intervalle
de temps. Un utilisateur normal aura un comportement radicalement
différent, i.e., il rédigera des avis de temps en temps.
Détection basée sur les logs des serveurs
Les logs du serveur web d’un site marchand peuvent être utiles pour détecter des avis frauduleux. Typiquement, si une même adresse IP est utilisée
pour créer plusieurs comptes et que ces comptent rédigent plusieurs avis sur
un même produit (ou des produits d’une même marque), il y a fort à parier
que ces avis soient frauduleux.
Notes bibliographiques
La fouille d’opinion a reçu une attention particulière à cause du volume
conséquent de données disponibles. Le sous-problème le plus étudié est la
classification de sentiments. Parmi les travaux, on peut citer les travaux de
Turney [33], Pang et al. [29] et Dave et al. [7].
44
CHAPITRE 3. WEB CONTENT MINING
Concernant les approches qui travaillent au niveau de la phrase, voici une
liste (non exhaustive) de travaux assez récents sur le domaine : [13, 17, 35,
12, 32, 6, 25, 1]
Bibliographie
[1] Rakesh Agrawal, Sridhar Rajagopalan, Ramakrishnan Srikant, and Yirong Xu. Mining newsgroups using networks arising from social behavior. In Proceedings of the 12th international conference on World Wide
Web, pages 529–535. ACM, 2003.
[2] Ricardo Baeza-Yates, Felipe Saint-Jean, and Carlos Castillo. Web structure, dynamics and page quality. In String processing and information
retrieval, pages 117–130. Springer, 2002.
[3] Sergey Brin and Lawrence Page. The anatomy of a large-scale hypertextual web search engine. Computer networks and ISDN systems,
30(1) :107–117, 1998.
[4] Yen-Yu Chen, Qingqing Gan, and Torsten Suel. Local methods for estimating pagerank values. In Proceedings of the thirteenth ACM international conference on Information and knowledge management, pages
381–389. ACM, 2004.
[5] Junghoo Cho and Sourashis Roy. Impact of search engines on page
popularity. In Proceedings of the 13th international conference on World
Wide Web, pages 20–29. ACM, 2004.
[6] Sanjiv R Das and Mike Y Chen. Yahoo ! for amazon : Sentiment extraction from small talk on the web. Management Science, 53(9) :1375–1388,
2007.
[7] Kushal Dave, Steve Lawrence, and David M Pennock. Mining the peanut gallery : Opinion extraction and semantic classification of product
reviews. In Proceedings of the 12th international conference on World
Wide Web, pages 519–528. ACM, 2003.
[8] Saint-Jean Djungu, Pierre Manneback, Fabien Mathieu, and
RD Congo Belgique France. étude comparative des méthodes de
calcul de pagerank. In Proceedings of the 8ème Colloque Africain sur
la Recherche en Informatique, 2006.
45
46
BIBLIOGRAPHIE
[9] S Fortunato, A Flammini, F Menczer, and A Vespignani. Topical interests and the mitigation of search engine bias. Proceedings of the National
Academy of Sciences, 103(34) :12684–12689, 2006.
[10] Santo Fortunato, Alessandro Flammini, and Filippo Menczer. Scalefree network growth by ranking. Physical review letters, 96(21) :218701,
2006.
[11] Geoffrey Grimmett and David Stirzaker. Probability and random processes. Oxford university press, 2001.
[12] Marti Hearst. Direction-based text interpretation as an information
access refinement. Text-Based Intelligent Systems, pages 257–274, 1992.
[13] Minqing Hu and Bing Liu. Mining and summarizing customer reviews.
In Proceedings of the tenth ACM SIGKDD international conference on
Knowledge discovery and data mining, pages 168–177. ACM, 2004.
[14] Minqing Hu and Bing Liu. Opinion feature extraction using class sequential rules. In AAAI Spring Symposium : Computational Approaches
to Analyzing Weblogs, pages 61–66, 2006.
[15] Sepandar D Kamvar, Taher H Haveliwala, Christopher D Manning, and
Gene H Golub. Extrapolation methods for accelerating pagerank computations. In Proceedings of the 12th international conference on World
Wide Web, pages 261–270. ACM, 2003.
[16] Maxwell Mirton Kessler. Bibliographic coupling between scientific papers. American documentation, 14(1) :10–25, 1963.
[17] Soo-Min Kim and Eduard Hovy. Determining the sentiment of opinions.
In Proceedings of the 20th international conference on Computational
Linguistics, page 1367. Association for Computational Linguistics, 2004.
[18] Jon M Kleinberg. Authoritative sources in a hyperlinked environment.
Journal of the ACM (JACM), 46(5) :604–632, 1999.
[19] Bing Liu. Web data mining : exploring hyperlinks, contents, and usage
data. Springer, 2007.
[20] Bing Liu, Minqing Hu, and Junsheng Cheng. Opinion observer : analyzing and comparing opinions on the web. In Proceedings of the 14th
international conference on World Wide Web, pages 342–351. ACM,
2005.
[21] Frank McSherry. A uniform approach to accelerated pagerank computation. In Proceedings of the 14th international conference on World
Wide Web, pages 575–582. ACM, 2005.
BIBLIOGRAPHIE
47
[22] Filippo Menczer. Growing and navigating the small world web by
local content. Proceedings of the National Academy of Sciences,
99(22) :14014–14019, 2002.
[23] Filippo Menczer. Evolution of document networks. Proceedings of
the National Academy of Sciences of the United States of America,
101(Suppl 1) :5261–5265, 2004.
[24] George A Miller, Richard Beckwith, Christiane Fellbaum, Derek Gross,
and Katherine J Miller. Introduction to wordnet : An on-line lexical
database*. International journal of lexicography, 3(4) :235–244, 1990.
[25] Satoshi Morinaga, Kenji Yamanishi, Kenji Tateishi, and Toshikazu Fukushima. Mining product reputations on the web. In Proceedings of the
eighth ACM SIGKDD international conference on Knowledge discovery
and data mining, pages 341–349. ACM, 2002.
[26] Alexandros Ntoulas, Junghoo Cho, and Christopher Olston. What’s new
on the web ? : the evolution of the web from a search engine perspective.
In Proceedings of the 13th international conference on World Wide Web,
pages 1–12. ACM, 2004.
[27] Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry Winograd.
The pagerank citation ranking : bringing order to the web. 1999.
[28] Sandeep Pandey, Sourashis Roy, Christopher Olston, Junghoo Cho, and
Soumen Chakrabarti. Shuffling a stacked deck : The case for partially
randomized ranking of search engine results. In Proceedings of the 31st
international conference on Very large data bases, pages 781–792. VLDB
Endowment, 2005.
[29] Bo Pang, Lillian Lee, and Shivakumar Vaithyanathan. Thumbs up ? :
sentiment classification using machine learning techniques. In Proceedings of the ACL-02 conference on Empirical methods in natural language processing-Volume 10, pages 79–86. Association for Computational Linguistics, 2002.
[30] David M Pennock, Gary W Flake, Steve Lawrence, Eric J Glover, and
C Lee Giles. Winners don’t take all : Characterizing the competition
for links on the web. Proceedings of the national academy of sciences,
99(8) :5207–5211, 2002.
[31] Henry Small. Co-citation in the scientific literature : A new measure
of the relationship between two documents. Journal of the American
Society for information Science, 24(4) :265–269, 1973.
[32] Richard M Tong. An operational system for detecting and tracking
opinions in on-line discussion. In Working Notes of the ACM SIGIR
48
BIBLIOGRAPHIE
2001 Workshop on Operational Text Classification, volume 1, page 6,
2001.
[33] Peter D Turney. Thumbs up or thumbs down ? : semantic orientation
applied to unsupervised classification of reviews. In Proceedings of the
40th annual meeting on association for computational linguistics, pages
417–424. Association for Computational Linguistics, 2002.
[34] Stanley Wasserman. Social network analysis : Methods and applications,
volume 8. Cambridge university press, 1994.
[35] Janyce Wiebe and Ellen Riloff. Creating subjective and objective sentence classifiers from unannotated texts. In Computational Linguistics
and Intelligent Text Processing, pages 486–497. Springer, 2005.
[36] Theresa Wilson, Janyce Wiebe, and Rebecca Hwa. Just how mad are
you ? finding strong and weak opinion clauses. In aaai, volume 4, pages
761–769, 2004.
[37] Philip S Yu, Xin Li, and Bing Liu. Adding the temporal dimension to
search-a case study in publication search. In Web Intelligence, 2005.
Proceedings. The 2005 IEEE/WIC/ACM International Conference on,
pages 543–549. IEEE, 2005.