Recherche d`information sociale : prédiction de point d`entrée

publicité
Université Paul Sabatier – Toulouse 3
École Doctorale MITT
Recherche d’information sociale :
prédiction de point d’entrée dans les
systèmes de question-réponse
communautaires
MÉMOIRE
présenté et soutenu publiquement le 20 Juin 2012
pour l’obtention du
Master Recherche de l’Université Paul Sabatier
(Spécialité Informatique)
par
Jérémie Clos
Composition du jury
Président :
Karen Pinel-Sauvagnat
Rapporteur :
Max Chevalier
Directeur de recherche :
Mohand Boughanem
Henri Prade
Encadrant :
Guillaume Cabanac
Institut de Recherche en Informatique de Toulouse — UMR CNRS 5505
Remerciements
Tous mes remerciements vont à l’équipe SIG, premièrement à Mme Florence Sèdes et M. André Péninou pour m’avoir introduit au monde de la recherche et à l’ambiance familiale de l’IRIT.
Je remercie également M. Mohand Boughanem, de l’équipe SIG-RFI, et M. Henri Prade de
l’équipe ADRIA, pour leur soutien et pour m’avoir permis de puiser dans leur temps précieux pour me guider dans mon initiation à la recherche en autonomie, et plus spécialement
M. Guillaume Cabanac pour son soutien quotidien et pour son immense sagesse.
Je remercie également à mes compagnons-ôtages de la salle 403 : Faiza, Marc, Romain, David,
Clément et Lucette qui ont su instaurer une ambiance amicale mais néanmoins professionnelle.
Enfin, je souhaite remercier Mazen Alsarem pour nos riches discussions sur l’Histoire du monde
et, tout spécialement, Fatiha Zelmat, de l’équipe MELODI, pour avoir supporté mes excentricités
et mes élans moralisateurs bien au delà des doses recommandées par les experts médicaux.
i
“Chante le très habile Hèphaistos, Muse harmonieuse, lui qui, avec Athènaiè aux yeux clairs,
enseigna, sur la terre, les illustres travaux aux hommes qui, auparavant, habitaient les antres des
montagnes, comme des bêtes fauves.
Maintenant, instruits par l’illustre ouvrier Hèphaistos, ils passent aisément toutes les années et leur
vie entière, tranquilles, dans leurs demeures.
Sois propice, ô Hèphaistos ! Donne la vertu et la félicité !”
-Hymnes homériques
iii
Table des matières
Introduction
1
1
Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3
Formulation du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
4
Organisation du document . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
État de l’art
7
Partie I
1 Contexte et état de l’art du domaine
9
1.1
Le Web Participatif comme cadre d’expression de l’Intelligence Collective . .
9
1.2
Les Systèmes de Question-Réponse Communautaires . . . . . . . . . . . . . .
9
1.3
1.2.1
Étude des systèmes de Question-Réponse Communautaires . . . . . .
10
1.2.2
Prédiction dans les systèmes de Question-Réponse Communautaires .
12
Notre approche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2 État de l’art des techniques utilisées
2.1
2.2
17
Apprentissage supervisé déséquilibré . . . . . . . . . . . . . . . . . . . . . . .
17
2.1.1
Problématique de l’apprentissage supervisé . . . . . . . . . . . . . . .
17
2.1.2
Les problèmes que pose un jeu de données déséquilibré . . . . . . . .
18
2.1.3
Méthodes de résolution de la littérature . . . . . . . . . . . . . . . . .
18
2.1.4
Algorithmes de classification utilisés . . . . . . . . . . . . . . . . . . .
19
2.1.5
L’environnement Weka . . . . . . . . . . . . . . . . . . . . . . . . . .
21
Programmation génétique pour la régression symbolique . . . . . . . . . . . .
22
2.2.1
Régression symbolique
. . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.2.2
Programmation génétique et l’informatique évolutionniste . . . . . . .
22
v
Table des matières
Partie II
Contributions
3 Contribution
27
3.1
Intérêt de notre proposition . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.2
Étude du domaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.2.1
Anatomie d’un système de QRC . . . . . . . . . . . . . . . . . . . . .
27
3.2.2
Modèle formel du domaine . . . . . . . . . . . . . . . . . . . . . . . .
28
3.2.3
Exemple d’un système de QRC concret . . . . . . . . . . . . . . . . .
30
Première approche : prédiction de la meilleure réponse . . . . . . . . . . . . .
31
3.3.1
Objectifs et contextualisation de l’apprentissage . . . . . . . . . . . .
31
3.3.2
Identification des attributs significatifs . . . . . . . . . . . . . . . . .
31
3.3.3
Algorithmes utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
3.3.4
Protocole expérimental de validation . . . . . . . . . . . . . . . . . .
33
3.3.5
Mesures de performance . . . . . . . . . . . . . . . . . . . . . . . . . .
34
Seconde approche : estimation des poids de chaque paramètre . . . . . . . .
35
3.3
3.4
3.4.1
Objectifs et contextualisation de la régression symbolique pour trouver
un modèle boîte blanche . . . . . . . . . . . . . . . . . . . . . . . . .
35
3.4.2
Sélection du sous-ensemble d’attributs . . . . . . . . . . . . . . . . . .
36
3.4.3
Mesures de performance . . . . . . . . . . . . . . . . . . . . . . . . . .
36
3.4.4
Dérivation du poids des paramètres . . . . . . . . . . . . . . . . . . .
36
4 Validation
4.1
4.2
4.3
37
Notre jeu de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
4.1.1
StackOverflow et StackExchange . . . . . . . . . . . . . . . . . . . . .
37
4.1.2
Comportement et habitudes des utilisateurs de StackOverflow . . . .
38
4.1.3
Préparation des données . . . . . . . . . . . . . . . . . . . . . . . . .
38
Identification des meilleures réponses . . . . . . . . . . . . . . . . . . . . . .
40
4.2.1
Définition du concept de meilleure réponse . . . . . . . . . . . . . . .
40
4.2.2
Résultats de l’expérimentation . . . . . . . . . . . . . . . . . . . . . .
40
Régression Symbolique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
4.3.1
Préparation des données . . . . . . . . . . . . . . . . . . . . . . . . .
42
4.3.2
Définition des blocs de construction . . . . . . . . . . . . . . . . . . .
42
4.3.3
Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
Conclusion et perspectives
1
Limites et perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bibliographie
vi
25
43
43
45
Table des figures
1
2
3
4
5
Document collaboratif monolithique . . . . . . . . .
Document collaboratif distribué . . . . . . . . . . . .
Processus de Question-Réponse . . . . . . . . . . . .
Possible intégration des résultats dans un système de
Le cycle de Question-Réponse . . . . . . . . . . . . .
.
.
.
.
.
2
3
4
4
5
1.1
1.2
Carte des différents attributs utilisés par la littérature (suite dans la figure 1.2) .
Carte des différents attributs utilisés par la littérature (suite de la figure 1.1) . .
14
15
3.1
3.2
3.3
3.4
3.5
3.6
3.7
Le noyau d’un système de QRC . . . . . . . . . . . . . . . . . .
Un exemple de question . . . . . . . . . . . . . . . . . . . . . .
Un exemple de réponse acceptée par le questionneur . . . . . .
Un exemple de réponse non acceptée par le questionneur . . . .
Un diagramme de classe UML général des sites du réseau Stack
Digraphe d’influence . . . . . . . . . . . . . . . . . . . . . . . .
Le processus d’apprentissage et d’évaluation . . . . . . . . . . .
.
.
.
.
.
.
.
28
30
31
31
32
34
35
4.1
4.2
Distribution des réponses sur les scores . . . . . . . . . . . . . . . . . . . . . . . .
Distribution des questions sur les scores . . . . . . . . . . . . . . . . . . . . . . .
38
39
vii
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
recherche d’information
. . . . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
Exchange
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Liste des tableaux
1.1
1.2
Critères de sélection de meilleure réponse d’après Kim et al. [KOO07] . . . . . .
Légende des figures 1.1 et 1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
13
2.1
Exemple d’entrée pour Régression Symbolique . . . . . . . . . . . . . . . . . . . .
22
3.1
3.2
Les 20 attributs que nous avons choisi . . . . . . . . . . . . . . . . . . . . . . . .
Les 10 attributs les plus discriminants . . . . . . . . . . . . . . . . . . . . . . . .
33
36
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
Meilleur score des attributs de la littérature . . . . .
Résultats . . . . . . . . . . . . . . . . . . . . . . . .
Résultats avec Boosting . . . . . . . . . . . . . . . .
Résultats avec Bagging . . . . . . . . . . . . . . . . .
Matrice de confusion pour le réseau bayésien . . . .
Matrice de confusion pour l’arbre de décision . . . .
Matrice de confusion pour la SVM . . . . . . . . . .
Matrice de confusion pour la régression logistique . .
Matrice de confusion pour le réseau bayésien boosté
Matrice de confusion pour l’arbre de décision boosté
Matrice de confusion pour le réseau bayésien baggé .
Matrice de confusion pour l’arbre de décision baggé .
40
40
41
41
41
41
41
41
41
42
42
42
ix
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Introduction
« Sleep is good, he said, And books are better. »
–George R.R. Martin
Ce mémoire, situé dans le domaine des sciences de l’information, qui sont le découlement
de l’évolution du livre, de l’ouvrage physique entreposé dans les bibliothèques aux titanesques
quantités d’information de l’Internet, traite de l’exploitation automatisée de données textuelles
en vue d’améliorer l’accès à l’information dans les systèmes de recherche d’information. Nous
nous penchons plus précisément sur le cas des systèmes de question-réponse communautaires et
leur utilisation pour enrichir le processus de recherche d’information.
Dans cette partie nous introduisons le contexte de nos travaux et nos objectifs tout au long
de ce mémoire, avant de terminer par un détail de chaque chapitre à venir.
À fin de clarté terminologique, précisons que chaque utilisateur, ou contributeur, du système
est un agent. Par ailleurs, chaque agent du système est un utilisateur, et un contributeur. Pour
cette raison, les trois termes seront utilisés de manière arbitraire et interchangeable.
1
Contexte
Avec la bifurcation du web depuis un système de diffusion majoritairement vertical (un diffuseur pour une multitude de consommateurs) vers un système de communication majoritairement
horizontal (chaque consommateur est également un diffuseur), de nombreux sites dont le partage
et la communication entre utilisateurs sont au cœur du fonctionnement sont apparus. Ces sites,
tels que les réseaux sociaux (par exemple, facebook, linkedin), les sites de bookmarking social
(par exemple, Connotea 1 ), les sites de microblogging (par exemple, Twitter 2 ), constituent ce
qui fut appelé par certains enthousiastes du monde de la technologie la « révolution du web
2.0 », le « web social » ou, plus modestement, le « web participatif » [O’R07].
De cette nouvelle vague de sites dont le contenu est généré par ses contributeurs sont nés
les sites de Question-Réponse Communautaires (QRC). Ces sites permettent à leurs utilisateurs
de créer des questions, répondre aux questions d’autres utilisateurs, commenter sur diverses
questions et réponses et juger de la pertinence des réponses des autres utilisateurs à l’aide de
dispositifs de notation (note sur 5, vote positif/négatif, etc.).
Nos travaux se focalisent sur ces sites de QRC, en considérant le résultat final (un ensemble
de questions, suivies par les réponses ordonnées selon l’appréciation des utilisateurs) comme une
trace de l’intelligence collective de leurs utilisateurs.
Le changement radical de fonctionnement apporté par le web participatif entraîna à son tour
une modification de la nature des documents qui constituent le web. Adaptés à un mode de
1. http://www.connotea.org
2. http://www.twitter.com
1
Introduction
communication vertical, les documents étaient essentiellement monolithiques, bâtis d’un bloc
par un ou plusieurs auteurs et organisés sur un découpage logique de leur contenu. Des exemples
de ces documents sont n’importe quelle page web d’information (essentiellement rédigée par un
auteur solitaire) ou les pages de l’encyclopédie collaborative Wikipédia (essentiellement rédigée
par des auteurs multiples). La figure 1 montre leur structure. Ils peuvent être comparés à des
ouvrages physiques, dont le contenu est découpé et organisé selon des critères thématiques.
Adaptés à un mode de communication horizontal, certains documents sont maintenant distribués et organisés autour du contributeur plutôt que du contenu. Des exemples de ces documents
peuvent se trouver sur n’importe quelle page de commentaires ou forum de discussion. La figure 2 montre leur structure. Il peuvent être comparés à un échange de lettres, organisé autour
de chaque contributeur.
Figure 1 – Le document collaboratif monolithique est construit par un ou plusieurs auteurs et
s’articule autour de la logique de son contenu. Il se fait selon un consensus entre les agents.
L’accroissement rapide de la quantité d’information contenue dans le web (plus de 40 milliards de pages d’après WorldWideWebSize 3 ) implique la mise en place de systèmes de recherche
d’information afin que les utilisateurs puissent satisfaire leurs besoins d’information. Ces systèmes de recherche d’information, dont les avatars les plus connus sont Google, Bing ou Yahoo,
fonctionnent cependant sur la supposition naïve qu’une page web est un document, et qu’un
document est un simple ensemble non-structuré de termes. Ces moteurs de recherche ont été
3. Voir http://www.worldwidewebsize.com
2
2. Motivation
Figure 2 – Le document collaboratif distribué est construit de manière dynamique par plusieurs
auteurs et s’articule autour des agents qui participent à la conversation. Le contenu est donc
éparpillé dans le document et celui-ci peut contenir des redondances d’information ainsi qu’une
argumentation entre agents.
conçus pour la recherche de documents dont la structure est définie par le contenu, puis appliqués
à tout type de contenu, selon le principe du « one size fits all » 4 .
2
Motivation
En se plaçant dans le contexte d’un site de QRC, notre objectif est de fournir à un moteur
de recherche un point d’entrée pertinent par rapport à une requête. Plutôt qu’afficher une
page entière de réponses de validité 5 variable, il serait ainsi possible de découvrir l’avis de
la communauté et de retrouver et afficher seulement la réponse la plus pertinente, possiblement
sans même rentrer dans le site de QRC. La figure 4 est un exemple d’intégration possible dans
le moteur de recherche Google 6 . Dans le processus de question réponse, illustré dans la figure
3 (et plus en détail dans la figure 5), nous considérons ainsi que la phase 1, l’appariemment du
besoin d’information de l’utilisateur à une ou plusieurs questions pertinentes, est déjà réalisée.
4. Expression anglo-saxonne traduisible en « une taille pour tous » provenant du monde de la coûture et
signifiant qu’il n’existe qu’une taille de vêtement pour tout le monde.
5. Nous utilisons consciemment le terme de validité en lieu et place du terme pertinence typique de la recherche
d’information. Nous réservons le terme de pertinence pour représenter la relation entre une réponse et un besoin
d’information et préférons utiliser validité pour représenter la qualité intrinsèque d’une réponse
6. http://www.google.com
3
Introduction
Figure 3 – Processus de Question-Réponse
Figure 4 – Possible intégration des résultats dans un système de recherche d’information
3
Formulation du problème
La problématique de recherche découlant de l’objectif précédemment formulé consiste à estimer la meilleure réponse selon une question, l’ensemble de ses réponses et les métadonnées qui
lui sont attachées. Ceci est réductible en un problème de classification, avec les « meilleures »
réponses comme classe positive, le reste comme classe négative.
4
4. Organisation du document
Figure 5 – Le cycle de Question-Réponse
4
Organisation du document
Le mémoire est structuré en 4 parties :
1. contexte et état de l’art du domaine ;
2. état de la technique en apprentissage déséquilibré ;
3. contribution ;
4. validation de notre approche.
Dans la première partie nous détaillerons le contexte de notre approche et l’état de l’art de
l’étude des systèmes de question-réponse communautaires et de leur relation avec l’intelligence
collective. Nous expliquerons ensuite dans la seconde partie certaines des techniques utilisées
dans le domaine de l’apprentissage automatique sur jeu de données déséquilibré et de la régression
symbolique par programmation génétique. Notre contribution sera introduite dans la troisième
partie du mémoire où nous détaillerons l’étude et la formalisation du système, le choix des
attributs et de la méthode d’apprentissage supervisé utilisée et le protocole de validation auquel
5
Introduction
nous soumettrons notre approche. Enfin, nous détaillerons dans la quatrième et dernière partie
la validation de notre modèle et l’interprétation de nos résultats.
6
Première partie
État de l’art
7
Chapitre 1
Contexte et état de l’art du domaine
Dans ce chapitre nous détaillons l’état de l’art du domaine des systèmes de question-réponse
communautaires.
1.1
Le Web Participatif comme cadre d’expression de l’Intelligence Collective
« Collective intelligence is any intelligence that arises from or is a capacity or characteristic
of groups and other collective living systems. » [SCK+ 12]
L’Intelligence Collective (IC) est généralement définie comme toute forme d’intelligence qui
émerge du groupement et de l’interaction de plusieurs entités (personnes, animaux, particules,
etc.). Elle est donc fortement liée à la théorie de l’émergence et à l’étude des systèmes complexes, qui peuvent être physiques (on pourra trouver plus de détails dans [Bak99]), biologiques
(par exemple, la convection dans les cellules de Bénard est considérée comme un phénomène
émergent ) ou sociaux (par exemple, la sagesse des foules [Sur05]). L’IC apparaît au niveau
macrosystémique du fait des interactions entre les éléments au niveau microsystémique.
[O’R07] définit le web participatif comme une extension du web transformant celui-ci pour
mettre l’utilisateur et la collaboration entre les utilisateurs au premier plan. Porté par des
technologies telles qu’AJAX, permettant aux sites web d’émuler un comportement proche des
applications de bureau, le web participatif a donc permis aux utilisateurs d’échanger et manipuler de l’information avec une facilité accrue, ce qui a donné lieu à des sites tels que les
wikis (encyclopédies collaboratives), les réseaux sociaux ou les services microblogs où la barrière
technique pour pouvoir collaborer est virtuellement inexistante. Une problématique naturelle
lorsqu’un système amasse une grande quantité de données est la façon dont ces données pourront être ultérieurement retrouvées, donnant ainsi lieu à la nécessité de mettre en œuvre des
moteurs de recherche.
Définition de l’intelligence collective. Définition du web participatif. Définition d’un document construit collectivement : monolithique (Wikipédia -> guidé par le contenu) vs. distribué
(CQA, Forums -> guidé par l’agent contributeur). Définition de la RI sociale : trouver un point
d’entrée acceptable dans des discussions entre agents.
1.2
Les Systèmes de Question-Réponse Communautaires
Les systèmes de Question-Réponse Communautaires (QRC) peuvent être examinés sous deux
angles : au niveau de leur organisation (par thématique), et au niveau de leur classement des
9
Chapitre 1. Contexte et état de l’art du domaine
réponses (par pertinence sociale).
Au niveau organisationnel, les systèmes de QRC peuvent être semblables à des systèmes
de tagging social (Social Tagging Systems, [LYZ11]]) dans le fait qu’ils utilisent les tags, qui
sont essentiellement des mots-clés libres et dont une étude plus complète peut être trouvée dans
[GH05], pour organiser les questions des utilisateurs. Ces tags peuvent être utilisés comme un
lexique du domaine, de par leur tendance à converger vers un nombre presque fixe. Les systèmes
de tagging sociaux sont considérés comme une trace d’intelligence collective par [LYZ11].
Au niveau du classement des réponses, les systèmes de QRC font traditionnellement appel à
un système auto-organisé à base de votes, comme cela peut être vu dans Yahoo ! Answers, qui
capture une grosse proportion du marché avec plus d’un milliard de questions[Tea10]. Chaque
utilisateur peut donner un vote positif ou négatif à une contribution (question ou réponse) d’un
autre utilisateur, ce qui permet au fil du temps au système de faire disparaître les contributions
que la communauté n’apprécie pas (majorité de votes négatifs) et remonter celles que la communauté juge comme étant pertinentes (majorité de votes positifs). Ce système permet ainsi
de créer un critère consensuel sur lequel classer l’ensemble des réponses : l’agrégation des votes
positifs et négatifs, que l’on appellera score de pertinence sociale ou score social.
1.2.1
Étude des systèmes de Question-Réponse Communautaires
Kim et al. [KOO07] détaillent les critères de sélection des meilleures réponses selon le point
de vue de la pertinence utilisateur. Ils se basent pour cela sur un échantillon de réponses sélectionnées et annotés par les utilisateurs avec la raison de leur choix. Celle-ci peut être classée
dans les catégories suivantes, avec la proportion indiquée :
– valeur intrinsèque du contenu (17.8%) ;
– valeur cognitive (6.1%) ;
– valeur socio-émotionnelle (33.3%) ;
– valeur extrinsèque (3.4%) ;
– valeur de la source de l’information (3.4%) ;
– utilité (14.8%) ;
– aucune raison particulière (21.1%).
Chacune de ces catégories est elle même rafinée en plusieurs critères, repertoriés dans le tableau
1.1.
On remarque à l’aide de ce tableau qu’une partie significative (33.3%) des utilisateurs sélectionnent leur meilleure réponse sur des critères socio-émotionnels. Les deux critères suivants
sont la valeur intrinsèque du contenu (17.8%) et l’utilité (14.8%). Les auteurs différencient les
questions en trois types :
– question factuelle ;
– demande d’opinion ;
– demande de suggestion.
Un partitionnement similaire peut être retrouvé dans [HRRK08].
Shah et Pomerantz [SP10] mettent en évidence la difficulté liée à la notion de pertinence
dans les systèmes de QRC. Ils suggèrent d’aller au delà de la pertinence traditionnelle dans le
domaine de la recherche d’information et conçoivent 13 critères pour évaluer la pertinence d’une
réponse, qu’ils mettent en œuvre sur Yahoo ! Answers. Ils considèrent une réponse comme étant
la « meilleure réponse » si elle remplit les critères suivant :
1. le questionneur la choisit comme meilleure réponse ;
2. le questionneur lui donne un score de 3 ou plus.
10
1.2. Les Systèmes de Question-Réponse Communautaires
Catégorie
Valeur intrinsèque
Valeur cognitive
Valeur socio-émotionnelle
Valeur extrinsèque
Valeur de la source
Utilité
Critère
Précision
Portée et spécificité
Clarté
Style
Complétude
Existence d’un détail particulier
Caractéristiques
Nouveauté du contenu
Nouveauté de la perspective
Intelligibilité
Expérience du questionneur
Support émotionnel
Attitude
Effort et expérience du répondeur
Accord
Confirmation
Affectif
Vérification externe
alternatives disponibles
rapidité
Référence à des sources externes
Qualité des sources
Efficacité
Faisabilité de la solution proposée
Table 1.1 – Critères de sélection de meilleure réponse d’après Kim et al. [KOO07]
11
Chapitre 1. Contexte et état de l’art du domaine
Les résultats de leur expérimentation avec des travailleurs géographiquement distribués (à l’aide
d’Amazon Mechanical Turk 7 ) montre qu’il existe un consensus implicite sur la notion de qualité
de réponse et que beaucoup de leurs critères (informativité, complétude, nouveauté, etc.) sont
fortement corrélées. La même expérimentation montre cependant que ce consensus ne s’étend
pas à la notion de « meilleure réponse », ce qui tend à montrer le haut degré de subjectivité
dans cette définition.
Mendes Rodriguez et Milic-Frayling [MRMF09] étudient l’intention sociale (traduction de
social intent) des utilisateurs dans les systèmes de QRC. Des trois types de question décrits dans
[KOO07, HRRK08], les auteurs dérivent une typologie plus riche et plus précise. Cette typologie
s’appuie sur deux critères : l’intention (ou les objectifs) du demandeur et le type de contenu
requis pour le faire. Cela divise les questions en huit types :
– information factuelle (par exemple, « qui est le président des États-Unis ? ») ;
– conseil général (une demande de conseil objectif) ;
– conseil personnel (une demande de conseil qui fait appel à l’expérience du répondeur) ;
– opinion générale (une demande d’opinion sur un sujet général) ;
– opinion personnelle (une demande d’opinion sur un sujet qui fait appel à l’expérience du
répondeur) ;
– conversation (discussion informelle) ;
– divertissement (message avec but de divertir) ;
– autre.
Il est à noter que si la typologie est fondée pour certains types de question, tels que la différence entre conseil général et personnel, d’autres types comme divertissement ou conversation
ne répondent pas à un besoin d’information tel que formalisé dans [Tay62]. Pour cette raison,
nous les exclurons de notre étude. Notre typologie sera donc constituée de :
– information factuelle ;
– conseil général ;
– conseil personnel ;
– opinion générale ;
– opinion personnelle ;
– autre.
1.2.2
Prédiction dans les systèmes de Question-Réponse Communautaires
Nous présentons dans cette sous-section les principaux travaux qui ont pour thème l’exploitation des systèmes de QRC.
Harper et al. dans [HRRK08] détaillent les indices prédicteurs de la qualité d’une réponse
dans un système de QRC. La notion de réponse n’était pas figée dans le système (et donc pas directement extractable), ils soumettent à un panel d’utilisateurs un ensemble de questions posées
par les auteurs et les réponses qui y furent associées afin de recueillir un jugement utilisateur.
Le but des auteurs était de découvrir les différences entre sites de question-réponse et établir
une typologie :
– les services de références digitales, où le système est analogue à un service de recherche de
bibliothèque ;
– les sites de « demande à un expert », où le système est hiérarchisé et constitué d’experts
de domaines différents ;
7. Amazon Mechanical Turk, ou AMT, est un outil d’automatisation qui permet de créer des micro-tâches et
de les disperser sur un nombre de travailleurs humains de manière automatique, pour un paiement modeste. Plus
d’informations peuvent être trouvées à l’URL suivante : https://www.mturk.com/mturk/welcome
12
1.2. Les Systèmes de Question-Réponse Communautaires
Lettre
A
B
C
D
Nom de l’article
Predicting Information Seeker Satisfaction in CQA[LBA08]
Evaluating and Predicting Answer Quality in CQA [SP10]
Analyzing and Predicting Not-Answered Questions in CQA Services[YBL+ 11]
A Framework to Predict the Quality of Answers with Non-Textual Features[JCLP06]
Table 1.2 – Légende des figures 1.1 et 1.2
– les sites de QRC, qui sont l’objet d’étude de ce mémoire.
Les auteurs concluent que si les services payants de type « demande à un expert » produisent
des réponses de qualité supérieure, les sites de QRC leur sont seconds de très peu si l’auteur de
la question font des efforts de formulation.
Jurczyk et Agichtein dans [JA07a, JA07b] exploitent des techniques d’analyse de liens telles
que l’algorithme HITS (plus de détails sur HITS sont disponibles dans [Kle99]) pour découvrir
les utilisateurs-autorités. L’analogie avec les sites de QRC se fait en considérant chaque question
sous deux dimensions : une mauvaise question n’attire pas beaucoup de réponses (et a donc un
faible degré sortant), et l’inverse pour une bonne question. Les utilisateurs qui se focalisent sur
des « bonnes » questions ont un fort degré entrant. L’analogie se fait donc avec les auteurs de
ces questions (qui sont des « hubs ») et les auteurs des réponses sur ces questions (qui sont des
« autorités »).
Yang et al. dans [YBL+ 11] tentent de prédire les questions de systèmes de QRC qui n’auront
pas de réponse. Ils utilisent pour cela des heuristiques telles que la longueur de la question ou
l’historique du questionneur afin d’entraîner des classifieurs. Les classifieurs utilisés sont Naive
Bayes, un arbre de décision (J48), AdaBoost et une SVM (entraînée avec l’algorithme SMO).
Les auteurs traitent également le problème de déséquilibre dans le jeu de données, dû au fait que
le nombre de questions répondues est largement majoritaire, avec un simple rééchantillonnage.
Les auteurs analysent les caractéristiques utilisées et discutent leur pouvoir discriminant.
Shah et Pomerantz dans [SP10] discutent l’évaluation de la qualité dans un système QRC.
Les auteurs se focalisent sur une évaluation humaine à partir de critères préchoisies par leurs
soins. S’il est aisé de rejoindre un consensus sur les critères définis par les auteurs, il semble être
plus difficile de prédire une meilleure réponse à l’aide uniquement de ces jugements collectifs.
Les auteurs construisent ensuite un modèle à partir d’attributs automatiquement extraits et
atteignent une justesse de 81% après validation croisée à 10 passes.
Jeon et al. dans [JCLP06] tentent d’établir un cadre théorique pour la prédiction de la qualité
des réponses à l’aide de variables non-textuelles. Les auteurs utilisent un formalisme probabiliste
afin de pouvoir réutiliser le cadre théorique en couplage avec d’autres modèles. En ce sens, ils
sont ceux qui se rapprochent le plus de nos travaux. Le prédicteur ainsi créé privilégie le rappel
(92% contre une précision de 65%).
Dans [LBA08] Liu et al. se concentrent sur la subjectivité de la notion de qualité de réponse.
Ils créent pour cela leur propre critère de « satisfaction », qu’ils considèrent double : le questionneur doit montrer que la réponse a résolu son problème (qu’il ait marqué la réponse comme
étant meilleure réponse) et qu’il lui ait donné une note largement favorable (qu’il ait marqué la
réponse comme intrinsèquement bonne). Les auteurs formalisent ainsi le problème de prédiction
sous le nom de « problème de la satisfaction du questionneur » : prédire si le questionneur sera
satisfait par les réponses à sa question.
13
Chapitre 1. Contexte et état de l’art du domaine
Figure 1.1 – Carte des différents attributs utilisés par la littérature (suite dans la figure 1.2)
1.3
Notre approche
Nous proposons de n’utiliser un sous-ensemble des attributs déjà proposés. Lister et utiliser
naïvement tous les attributs de l’état de l’art pose plusieurs problèmes :
– une forme mineure de la malédiction de la dimensionnalité apparaît. Chaque nouvel attribut augmente la taille de l’espace des exemples d’une dimension, ce qui en s’accumulant
peut fortement ralentir certains classifieurs au fort coût calculatoire (ex. les SVM) ;
– la présence de certains attributs, s’ils sont trop corrélés, peut nuire aux performances
globales du système ;
– apprendre un modèle trop spécifique au système sur lequel on travaille permet d’avoir
d’excellentes performances mais qui ne sont pas généralisables et perdent donc l’intégralité
de leur intérêt si l’on souhaite sortir du carcan de ce système précis. Un modèle moins
performant mais plus générique a une portée plus forte.
Le choix des attributs ainsi que le calcul des nouveaux attributs seront développés dans le
chapitre 3.
14
1.3. Notre approche
Figure 1.2 – Carte des différents attributs utilisés par la littérature (suite de la figure 1.1)
15
Chapitre 2
État de l’art des techniques utilisées
Dans ce chapitre nous faisons un état de l’art des techniques utilisées, d’apprentissage automatique dans un premier temps puis de régression symbolique dans un second temps. Nous
utilisons l’apprentissage automatique pour découvrir s’il existe un modèle boîte-noire capable
de discriminer les meilleures réponses du reste, puis la régression symbolique pour nous diriger
vers un modèle d’agrégation multicritère équivalent.
2.1
Apprentissage supervisé déséquilibré
Nous introduisons dans cette section la problématique de l’apprentissage sur des données
déséquilibrés (lorsque la classe majoritaire est plusieurs fois aussi nombreuse que la classe minoritaire). Nous aborderons d’abord la problématique générale de l’apprentissage, puis plus
spécifiquement adaptée à nos besoins, avant de passer à la section suivante pour expliquer une
approche différente utilisant la régression symbolique.
2.1.1
Problématique de l’apprentissage supervisé
L’apprentissage automatique est un type de techniques dont le but est la création de machines ou programmes informatiques qui s’améliorent à une tâche précise à l’aide des données
empiriques. Il se sépare en deux catégories principales : l’apprentissage symbolique, qui se sert
essentiellement de formules logiques, et l’apprentissage statistique, qui travaille principalement
sur des données numériques. L’apprentissage statistique prend trois formes :
– l’apprentissage supervisé utilise un jeu de données étiquetées pour faire des inférences
sur de nouvelles données non-étiquetées ;
– l’apprentissage semi-supervisé utilise un mélange de données étiquetées et non-étiquetées
pour faire des inférences sur de nouvelles données non-étiquetées ;
– l’apprentissage non supervisé utilise un jeu de données non-étiquetées pour découvrir
des relations (par exemple, règles d’association, clusters, etc.) dans ces données.
L’apprentissage supervisé lui-même peut être utilisé pour accomplir différentes tâches, dans
notre cas de la classification. Dans le cadre de l’apprentissage par induction (qui contient une
partie de l’apprentissage supervisé, semi-supervisé et non supervisé), le but de la classification
est de construire un modèle à partir d’exemples déjà classifiés et étiquetés dont on peut se servir
pour faire des prédictions sur de nouveaux exemples non étiquetés.
17
Chapitre 2. État de l’art des techniques utilisées
2.1.2
Les problèmes que pose un jeu de données déséquilibré
Un algorithme d’apprentissage supervisé cherche à satisfaire deux objectifs contradictoires :
la précision et la généralisation. La précision peut être formulée par rapport à l’écart entre les
valeurs prédites par le modèle et les valeurs réelles (aussi appelées : vérité terrain). La généralisation représente la capacité du modèle à s’adapter à de nouvelles données. Un modèle maximisant
la précision au détriment de son potentiel de généralisation conduit à du surentraînement : il colle
parfaitement aux données. À cause de cela, il est extrêmement sensible aux erreurs d’étiquetage
et a souvent des difficultés à se généraliser à un jeu de test plus grand. Un modèle maximisant
la généralisation au détriment de la précision a une très faible corrélation avec le jeu de données d’entraînement et conduit à de la surgénéralisation. De ce fait, l’algorithme n’apprend pas
véritablement.
Lorsque le jeu de données d’entraînement est déséquilibré, l’algorithme d’apprentissage cherche
à minimiser la taille 8 de son modèle pour éviter de surentraîner, tout en gardant une bonne précision. Le comportement optimal permettant d’effectuer cela est d’assigner automatiquement à
la classe majoritaire. Par exemple, une classification binaire avec 80% des exemples appartenant
à la classe 0 et 20% des exemples à la classe 1 peut conserver une précision de 80% en assignant
toute nouvelle instance à la classe 0. Pour cette raison, le déséquilibre empêche l’algorithme
d’apprendre un modèle précis des données que l’on lui fournit.
2.1.3
Méthodes de résolution de la littérature
[KKP] classe les façons de traiter les jeux de données déséquilibrés dans deux types : le
traitement des données en phase de pré-apprentissage et le traitement au niveau de l’algorithme
lui-même. La richesse des méthodes disponibles nous force à sélectionner celles que nous utiliserons de manière raisonnée et non essayer chaque combinaison de technique possible.
Traitement des données : le rééchantillonnage
Au niveau des données, les méthodes de rééchantillonnage permettent de transformer un jeu
de données pour éviter de biaiser le modèle vers la classe majoritaire.
Sur-échantillonnage. Le sur-échantillonnage consiste en la création de nouvelles instances
de la classe minoritaire, via par exemple l’utilisation de techniques telles que SMOTE (Synthetic
Minority Oversampling TEchnique, décrite en détails dans [CBHK02]) qui utilise les KPPV (Kplus proches voisins) pour instancier de nouveaux exemples. Le sur-échantillonnage est utilisé
lorsque les données sont peu nombreuses et que l’on travaille sur un espace métrique 9 .
Sous-échantillonnage. Le sous-échantillonnage consiste en la suppression d’instances de la
classe majoritaire. SpreadSubsample est un exemple d’implémentation de sous-échantillonnage
aléatoire du package Weka. Le sous-échantillonnage est utilisé lorsque l’on a une abondance de
données d’entraînement, même de la classe minoritaire.
8. La taille ici correspond à une notion de complexité. Par exemple : la hauteur d’un arbre de décision.
9. l’hypothèse d’un espace métrique est obligatoire : s’il n’est pas possible de définir une notion de distance, il
n’est pas possible d’être certain que SMOTE étiquète les nouvelles instances correctement.
18
2.1. Apprentissage supervisé déséquilibré
Modification du comportement de l’appreneur
Si modifier les données n’est pas acceptable, il est néanmoins possible d’agir au niveau du
classifieur.
Lazy learning. L’apprentissage inductif passe par la construction d’un modèle général pour
pouvoir faire des prédictions sur de nouvelles données. L’apprentissage dit lazy quant à lui
permet de faire des prédictions sans passer par la construction d’un modèle, à partir des données
d’entraînement, ce qui limite l’impact du déséquilibre . De ce fait, les algorithmes d’apprentissage
sans modèle tels que KPPV ne sont pas sensibles à la distribution du jeu de données.
Apprentissage sensible au coût. Certains algorithmes d’apprentissage permettent l’utilisation d’une matrice de coûts qui permet d’exprimer explicitement quelles erreurs privilégier lors
de la construction du modèle. Lors d’une tâche de classification dans un jeu de données déséquilibré, pondérer les erreurs concernant la classe minoritaire (faux négatifs ou faux positifs, selon
les cas) de manière proportionnelle au ratio entre la classe majoritaire et la classe minoritaire
permet de compenser les mauvais effets du déséquilibre.
Techniques de metalearning pour la classification. Un classifieur faible est défini comme
un algorithme d’apprentissage dont les performances ne sont que marginalement supérieures à
une classification aléatoire. Un classifieur fort est défini comme un algorithme d’apprentissage
dont les performances sont significativement supérieures à une classification aléatoire. La problématique du metalearning consiste en la construction d’un classifieur fort à partir d’un ou
plusieurs classifieurs faibles.« Ensemble learning » est un type de méthode de metalearning
qui consiste en l’utilisation de multiple classifieurs faibles pour construire plusieurs modèles
(l’« ensemble ») et choisir la meilleure hypothèse au moment de la classification, selon différents critères. On peut ainsi considérer le résultat comme un classifieur fort. Deux exemples de
méthodes d’ensemble learning sont le bagging et le boosting.
– Bagging (pour Bootstrap Aggregating). Le bagging est une méthode consistant en la combinaison de plusieurs classifieurs faibles sur des échantillons aléatoires du jeu de données
d’entraînement. Les classifieurs ainsi entraînés sont combinés de manière uniforme pour
former un classifieur fort.
– Boosting. Le boosting est un second type de méthode et consiste en l’entraînement répété
de classifieurs faibles avec une repondération des erreurs de classification puis une combinaison pondérée des classifieurs ainsi obtenus. Les instances du jeu de données sont ainsi
pondérées de sorte à ce que les futurs itérations du classifieur se concentrent dessus. Le
classifieur obtenu par cette combinaison est ainsi considéré comme un classifieur fort.
2.1.4
Algorithmes de classification utilisés
La Séparatrice à Vaste Marge
Historique et fonctionnement. La Séparatrice à Vaste Marge (SVM, dont la traduction
littérale est Machine à Vecteurs de Support) a été inventée par Vladimir Vapnik et perfectionnée
par Vladimir Vapnik et Corinna Cortez dans [CV95]. La SVM classifie les exemples de façon à
maximiser la distance entre l’hyperplan séparateur et les exemples les plus proches de l’hyperplan
séparateur (donc les plus susceptibles d’être erronés), ce qui lui donne un caractère robuste dans
le sens où la probabilité que le rajout de nouveaux exemples modifie l’hyperplan séparateur est
minimisée.
19
Chapitre 2. État de l’art des techniques utilisées
Forces et faiblesses. La SVM est fondée dans la théorie de l’apprentissage statistique et
bénéficie donc d’assurances sur la qualité et la robustesse de sa classification. Elle peut cependant
être plus lente que des techniques moins fondées théoriquement telles que les arbres de décision
ou la décision bayésienne.
J48, un arbre de décision
Historique et fonctionnement. Les arbres de décision prennent leurs racines dans l’algorithme ID3 (pour Iterative Dichotomiser 3) de Ross Quinlan [Qui86]. Le but d’ID3 (et de ses
versions améliorées : C4.5 puis J48) est la construction d’un arbre de décision par maximisation
de Gain d’Information. L’algorithme examine chaque attribut du jeu de données et détermine
celui qui a le plus grand pouvoir discriminant (c’est-à-dire le plus grand gain d’information), de
manière itérative, créant ainsi une structure arborescente.
Forces et faiblesses. La force des arbres de décision réside dans l’intelligibilité des modèles
qui sont créés. Un modèle est directement compréhensible et interprétable par n’importe qui,
ce qui est avantageux lorsque l’on ne peut pas faire aveuglément confiance au modèle pour des
raisons éthiques (par exemple, support décisionnel dans le domaine médical).
Les méthodes bayésiennes
Les graphes de causalité. Un modèle graphique de causalité est représenté par un graphe soit
dirigé (réseau bayésien) soit non-dirigé (réseau markovien) où chaque sommet est un événement
et chaque arc reliant deux sommets est une relation de causalité entre ces deux événements, c’est
à dire que dans un graphe dirigé, l’évènement source influence le déroulement de l’évènement
cible et dans un graphe non-dirigé, les deux événements sont interconnectés. On se sert de ce
graphe pour faire de l’inférence sur les évènements dont on ne connaît pas la probabilité grâce
aux événements dont celle-ci est connue.
Définition des réseaux bayésiens. Un réseau bayésien est un graphe causal dirigé noncyclique (alias DAG, pour Directed Acyclic Graph) augmenté pour chaque sommet d’une table
de probabilités conditionnelles exprimant la probabilité de l’évènement du sommet en fonction
des évènements qui ont une relation causale directe avec celui du sommet.
Il est ainsi possible de déterminer la probabilité d’un évènement à partir d’évènements dont on
connaît l’occurrence (ou la non-occurrence). Les réseaux bayésiens nous permettent de spécifier
des relations causales extrêmement complexes afin de modéliser les situations réelles avec une
grande fidélité, ce qui explique leur succès dans les applications critiques telles que la sécurité des
centrales nucléaires [CYS10]. Les réseaux bayésiens nous permettent de faire du raisonnement
causal (cause → conséquence) et évidentiel (conséquence → cause). Lorsque l’on n’a aucune
connaissance sur la structure de causalité dans les attributs, la classification par réseau bayésien
est fondamentalement équivalente à une classification par naive bayes.
Apprentissage dans les réseaux bayésiens. La problématique d’apprentissage dans un
réseau bayésien consiste à en apprendre la structure. Dans un cas idéal, un expert du domaine
peut spécifier la structure de causalité
Les méthodes à base d’inférence bayésienne (principalement les réseaux bayésiens) se basent
sur le théorème de Bayes, dont la formulation est P (A/B) = P P(A∩B)
(B) et la règle de chaînage.
20
2.1. Apprentissage supervisé déséquilibré
Forces et faiblesses. La principale force des réseaux bayésiens, outre le fait qu’ils se basent
sur le cadre des probabilités bayésiennes qui est adapté à une certaine classe de problèmes (telle
que les problèmes de classification de texte), réside d’une part dans l’extrême simplicité des
modèles qui sont produits, ce qui a pour effet de permettre un passage à l’échelle sans difficulté,
et d’autre part dans le fait qu’ils donnent la possibilité d’exprimer des relations de corrélation
complexes dans les données et s’affranchir de la supposition naïve d’indépendance des attributs
(que l’on retrouve dans des classifieurs tels que naive bayes).
Sa principale faiblesse est qu’il est très difficile d’exprimer des relations causales dans des
données abstraites, ce qui signifie qu’il faut traiter les données pour éliminer les attributs corrélés
au préalable.
La régression logistique
Historique et fonctionnement. La régression logistique est à l’origine l’application des techniques de régression linéaire à des problèmes de classification.
Forces et faiblesses. La force de la régression logistique réside dans son extrême simplicité
de fonctionnement, sa très bonne efficacité lorsque les données sont linéairement séparables (ou
non linéairement séparables avec une régression logistique régularisée) et le fait que ses résultats
possèdent une interprétation probabiliste.
Bilan
De par leur variété de fonctionnement et l’impossibilité de savoir avec certitude quel classifieur donnera les meilleurs résultats, nous proposons d’essayer les quatre ci-dessus avec des
variantes en metalearning lorsque leur nature s’y prête.
2.1.5
L’environnement Weka
Weka 10 est un environnement de fouille de données développé à l’université de Waikato. Il
offre quatre outils primaires :
– Explorer permet de travailler sur des données brutes et d’appliquer filtres, classifieurs et
algorithmes de clustering sur des données au format ARFF 11 ;
– Experimenter se focalise sur la conception de protocole d’expérimentation et la génération
de rapports de performance ;
– KnowledgeFlow se focalise sur la modélisation du flux de données, aussi appelé « Machine
Learning Pipeline » et permet la création de circuits de manipulation de données à la
topologie variée ;
– Simple CLI est une interface en ligne de commande afin de permettre aux utilisateurs
d’automatiser le processus d’apprentissage via des langages de scriptage.
Chacun des outils permet de manipuler le jeu de données, créer et utiliser des modèles et
importer/exporter des modèles existants. Le logiciel est construit sur un ensemble de classes qui
est également utilisable de manière programmatique.
10. pour Waikato Environment for Knowledge Analysis, version 3.6 au moment de la rédaction de ce mémoire,
disponible à l’URL suivante : http://www.cs.waikato.ac.nz/ml/weka
11. pour Attribute-Relation File Format. On trouvera plus de détails sur les spécificités du format à l’URL
suivante : http://www.cs.waikato.ac.nz/ml/weka/arff.html
21
Chapitre 2. État de l’art des techniques utilisées
Colonne A
true
true
false
false
Colonne B
true
false
true
false
Colonne C
true
true
true
false
Table 2.1 – Exemple d’entrée pour Régression Symbolique. Dans cet exemple, on considère ce
tableau comme données, C = f (A, B) comme la relation à apprendre et <∧, ∨, ¬> comme les
blocs de construction. Plusieurs solutions sont possibles : f (A, B) = A∨B, f (A, B) = ¬(¬A∧¬B)
mais le programme de régression privilégie les plus simples, donc f (A, B) = A∨B sera la solution
finale.
2.2
2.2.1
Programmation génétique pour la régression symbolique
Régression symbolique
La régression consiste en l’analyse de la relation entre plusieurs variables sur une quantité
de données. Dans notre cas, nous souhaitons trouver une relation entre les caractéristiques
d’une réponse et le fait que cette réponse soit la meilleure réponse, qui est l’événement que
nous souhaitons prédire. Ainsi, nous souhaitons minimiser le nombre d’erreurs de prédiction.
Si certaines formes de régression peuvent être résolues de manière analytique, la régression
symbolique, telle que décrite dans [DSW03], se fait à l’aide de méthodes métaheuristiques telles
que l’optimisation évolutionniste.
2.2.2
Programmation génétique et l’informatique évolutionniste
L’optimisation évolutionniste se place dans les méthodes d’optimisation métaheuristique.
Elle a pour but dans notre cas de trouver, à partir de données, d’une forme d’équation et de
blocs de construction, l’équation suivant la forme prédéfinie et construite à partir des blocs
de construction donnés qui corresponde le mieux aux données fournies. La problématique de
l’optimisation évolutionniste consiste donc en la maximisation d’une fonction de fitness (qui
caractérise la qualité d’une solution) ou la minimisation d’une fonction de coût (qui caractérise
le coût de la solution).
Algorithmes génétiques
Les algorithmes génétiques sont la principale incarnation du mouvement d’optimisation évolutionniste, démarré dans les années 1960 par l’approche Evolution Strategies de Ingo Rechenberg
et Hans-Paul Schwefel (plus de détails sont disponibles dans [BS02]). Un algorithme génétique
est une métaheuristique d’optimisation à base de population, ce qui signifie qu’il explore l’espace
des états non pas en modifiant une solution (comme cela se fait dans les heuristiques d’optimisation locale) mais en manipulation une population de solutions candidates à l’aide de trois
opérateurs, inspirés de la théorie Darwinienne de l’évolution :
– mutation : modification locale d’une solution candidate ;
– cross-over : intersection de deux solutions candidates « parentes » pour créer deux solutions
candidates « filles » ;
– selection : élimination des solutions candidates trop faibles.
La difficulté est donc basculée de la recherche vers la représentation des solutions candidates,
à partir de laquelle l’espace des états est défini. [DeJ07] détaille les différentes formes d’op22
2.2. Programmation génétique pour la régression symbolique
timisation évolutionniste ainsi que la théorie mathématique qui a donné lieu aux algorithmes
génétiques.
Programmation génétique et le système Eureqa Formulize
La programmation génétique est une forme spécifique d’algorithme génétique dont le but est
de faire évoluer non pas une solution mais un programme informatique. Pour faire cela, chaque
solution est représentée sous la forme d’un arbre de syntaxe abstraite (AST : Abstract Syntax
Tree) où chaque feuille est une instruction et un argument de sa feuille parente. Une description
plus détaillée peut être trouvée dans [Koz93].
Le programme génétique optimise donc l’arbre de syntaxe pour minimiser la différence entre
les résultats prédits et les données empiriques. Dans notre cas, le programme génétique cherche
donc à créer, à partir de blocs de construction définis et de données empiriques, la plus petite
formule qui permette de prédire l’état d’une réponse (« meilleure réponse » ou « non meilleure
réponse »).
Eureqa Formulize est un programme de régression symbolique par programmation génétique
développé à Cornell Labs. Il se sert du principe de la programmation génétique pour trouver
une fonction composée des opérateurs qu’on lui fournit en blocs de construction qui corresponde
le mieux aux données d’entraînement.
23
Deuxième partie
Contributions
25
Chapitre 3
Contribution
Dans ce chapitre nous étudierons notre proposition à travers une étude du domaine, une
formalisation de notre problématique et l’exploration d’un modèle d’apprentissage automatique
pour assurer cette tâche de prédiction.
3.1
Intérêt de notre proposition
Notre proposition est la réalisation d’une méthode automatique pour trouver le meilleur
point d’entrée pour un système de recherche d’information dans un système de question-réponse
communautaire (QRC). Une vaste quantité d’informations, plus d’un milliard de réponses pour
Yahoo ! Answers seulement d’après [Tea10], est disponible dans les systèmes de QRC sous une
forme qui n’est que faiblement exploitée : l’utilisateur cherchant une réponse à sa question se voit
obligé de parcourir l’ensemble de toutes les réponses à toutes les questions qui sont similaires à
la sienne.
Trouver le meilleur point d’entrée dans un système de QRC permettrait donc à un moteur
de recherche de présenter les réponses à une question formulée par l’utilisateur sans même que
celui-ci ait à entrer dans le système, et sans avoir à réaliser de raisonnement complexe de la part
du système.
Cette tâche nécessite de prédire la réponse qui satisfait au mieux le besoin d’information
formulé dans la question.
3.2
3.2.1
Étude du domaine
Anatomie d’un système de QRC
Au cœur d’un système de QRC est un ensemble de questions, de réponses, d’agents et les
liens entre ces trois types d’entités : un agent est auteur d’une question ou d’une réponse, une
réponse répond à une question. S’ajoutent à celà les caractéristiques des agents (réputation,
nombre de contributions, . . . ), des questions (score, commentaires, . . . ) et des réponses (score,
commentaires, . . . ). Dans le cas d’une simple navigation, le score des questions est combiné à
une mesure de fraîcheur et de diversité pour présenter les questions à l’utilisateur. Dans le cas
d’une requête, le score est combiné à une mesure de fraîcheur et de correspondance à la requête
pour présenter à l’utilisateur les meilleures questions sur la thématique demandée. La figure 3.1
illustre le noyau d’un système de QRC.
27
Chapitre 3. Contribution
Figure 3.1 – Le noyau d’un système de QRC
L’organisation des réponses se fait quant à elle selon leur score social. Le score social se
définit comme une mesure d’agrégation de l’avis de la communauté sur la contribution. Dans
son incarnation la plus simple, cela consiste à ce que :
– si un agent pense que la réponse est fausse, il lui applique un vote négatif et le score social
de la réponse est diminué de 1 ;
– si un agent pense que la réponse est juste, il lui applique un vote positif et le score social
de la réponse est augmenté de 1 ;
– dans tous les autres cas, l’agent doit se restreindre de voter.
Ce fonctionnement permet à la fois de faire monter les réponses plébiscitées par la communauté en haut de la page et descendre celles qui ne contribuent pas à la résolution de la
question. Il peut être complexifié au besoin au niveau de l’échelle (e.g., vote sur une échelle de
−5 à +5, vote qualitatif) ou de l’attribution des votes (e.g., vote égalitaire, sélection aléatoire
de voteurs) pour correspondre aux caractéristiques de la communauté. En plus de cela, l’auteur
de la question a la possibilité de marquer une réponse comme étant « valide », ce qui signifie
que le problème posé dans la question a été résolu à l’aide du contenu de la réponse. La question
est alors considérée comme résolue.
3.2.2
Modèle formel du domaine
Soient ΩQ l’univers des questions, ΩR l’univers des réponses, ΩA l’univers des agents et ΩC
l’univers des contributions tel que ΩQ ∪ ΩR = ΩC . Un système de QRC rattache un ensemble
R ⊆ ΩR à chaque question, et un ensemble d’agents A ⊆ ΩA à leurs contributions respectives
à un temps τ . On définit également la fonction f : ΩR × ΩQ × ΩA → R qui associe à un
triplet Réponse-Question-Agent une valeur d’utilité, qui correspond à la qualité de la réponse
par rapport au besoin d’information formulé par la question et à l’état épistémique de l’agent.
Cette qualité est comprise entre 0 et 1 inclus. Il est également à noter que pour tout ensemble
de réponses, il existe une réponse qui comprend cet ensemble.
D’après [KOO07] et [HRRK08], un système de QRC peut satisfaire trois types de question :
– question factuelle,
– demande d’opinion,
– demande de suggestion.
28
3.2. Étude du domaine
Nous utiliserons une typologie augmentée basée sur celle-ci ainsi que celle développée dans
[MRMF09].
– information factuelle ;
– conseil général ;
– conseil personnel ;
– opinion générale ;
– opinion personnelle ;
– autre.
Ces quatre types de questions (autre n’est pas considéré) peuvent être différenciés par le
besoin d’information qu’ils formulent.
Une question factuelle correspond à un besoin d’information fixe, qui peut être rempli par
une ou plusieurs réponses. Cela se traduit par l’existence d’une réponse R ∈ ΩR associée à la
question Q et l’agent A tel que f (R, Q, A) = 1. La satifaction du besoin d’information dépend
majoritairement du contenu de la réponse, et peu de l’agent. Il est à noter que parce que pour
chaque ensemble de réponses il existe une réponse qui comprend chacun de ses éléments, la
réponse qui remplit entièrement le besoin d’information peut ne pas être dans les réponses
proposées mais être une composition de certaines parties de chaque réponse. Dans ce cas là, on
supposera que l’agent sélectionnera comme « meilleure réponse » la réponse qui s’approche le
plus de la réponse prototype.
Une demande d’opinion (générale ou personnelle) correspond à un besoin d’information variable, qui ne peut pas être rempli par une ou plusieurs réponses. Le questionneur choisit arbitrairement lorsqu’il a amassé assez d’opinions ou lorsqu’une opinion lui plaît suffisamment, et la
satisfaction du besoin d’information n’est pas dépendante du contenu des réponses, mais simplement de leur présence (ou absence). Cela se traduit par l’inégalité ∀R ∈ ΩR : f (R, Q, A) 6 1.
Une demande de conseil (général ou personnel) correspond à un besoin d’information variable, il est possible mais pas garanti qu’il existe une réponse qui le satisfasse, et la satisfaction
du besoin d’information dépend majoritairement de l’agent et peu du contenu de la réponse.
Cela se traduit par l’inégalité ∀R ∈ ΩR : f (R, Q, A) ≤ 1.
On peut donc formellement définir un QRC de la manière suivante :
Soient :
– ΩA l’univers des agents A ;
– ΩK l’univers des unités de connaissance K ;
– ΩK 0 l’univers des unités de connaissance palpable K 0 ;
– ΩQ l’univers des questions Q ;
– ΩR l’univers des réponses R ;
On a :
– Ω0K ⊂ ΩK ;
– ΩQ = 2ΩK ;
– ΩR = 2ΩK 0 ;
– f : ΩA × ΩQ × ΩR → [0; 1] est une fonction qui associe à un agent, une question et une
réponse un réel dans [0; 1] représentant la qualité de la réponse par rapport à la question
et à l’état épistémique de l’agent ;
On travaille sur de l’information factuelle, ce qui veut dire que ∀Q ∈ ΩQ , A ∈ ΩA ∃x ∈
ΩR : f (Q, x, A) = 1.
φOracle est une fonction qui associe à chaque triplet hQ, R, Ai :
– 1 si R = R̂ ;
– 0 sinon.
29
Chapitre 3. Contribution
Notre but est donc de trouver la meilleure réponse dans l’ensemble des réponses déjà disponibles, ce qui signifie trouver : x ∈ ΩR : ∀y ∈ RφOracle (Q, x, A) = argmax(φOracle (Q, y, A).
ΩR est notre espace des décisions. On différencie :
– R̂ est la meilleure solution dans le sous-ensemble de ΩR qui a été posté ;
– R∗ est la meilleure solution dans ΩR .
Il est possible que R̂ 6= R∗ . Notre objectif est de trouver R̂ 12 . Notre formalisation permet
également d’exprimer le « problème de la satisfaction du questionneur » formulé par Liu et al.
[LBA08] : « Selon une question soumise par un agent donné dans un système de QRC, prédire
si l’agent sera satisfait par les réponses de la communauté » Cela est traduisible de la manière
suivante :
– Soit un système de QRC ;
– Prédire si un agent est satisfait par les réponses à sa question est équivalent à faire la
disjonction non-exclusive de φOracle (Q, x, A) → {0; 1} pour chaque réponse.
3.2.3
Exemple d’un système de QRC concret
Afin d’illustrer cette analyse, nous prenons l’exemple d’un système de QRC concret dédié
aux sciences de l’information 13 et appartenant au réseau Stack Exchange 14 .
Le réseau StackExchange utilise un système de vote égalitaire simple négatif/positif avec
la possibilité pour le questionneur de marquer la meilleure réponse. Un exemple de question
peut être trouvé en figure 3.2 et des exemples de réponse acceptée et non-acceptée peuvent être
trouvés respectivement en figure 3.3 et 3.4. Une modélisation du domaine via la notation des
diagrammes de classe UML est en figure 3.5.
Figure 3.2 – Un exemple de question
12. Un logiciel de raisonnement automatique (à partir de règles de production suffisamment fines) pourrait
trouver R∗
13. Visible à l’URL suivante : http ://libraries.stackexchange.com
14. Visible à l’URL suivante : http ://stackexchange.com/
30
3.3. Première approche : prédiction de la meilleure réponse
Figure 3.3 – Un exemple de réponse acceptée par le questionneur
Figure 3.4 – Un exemple de réponse non acceptée par le questionneur
3.3
Première approche : prédiction de la meilleure réponse
Dans cette section nous détaillons notre méthodologie pour la prédiction des meilleures
réponses dans un système de QRC.
3.3.1
Objectifs et contextualisation de l’apprentissage
Comme illustré dans la partie 3.2.2, le problème de prédiction est analogue à un problème
de classification des réponses en deux catégories : meilleure réponse, et non meilleure réponse.
3.3.2
Identification des attributs significatifs
Influence de la collection
La sélection d’attributs est la première phase nécessaire à la construction d’un classifieur
efficace, à la fois dans ses performances et dans son temps d’exécution. Nous nous servons donc
des attributs découverts dans la littérature et résumés dans les figures 1.1 et 1.2 (aux pages 14
et 15) comme point de départ avant de sélectionner ceux qui ont un sens dans notre collection
et en ajouter de nouveaux.
Description des attributs
– Score : le score social de la réponse ;
– CommentCount : le nombre de commentaires de la réponse ;
– AnswerKComplexity : une approximation de la complexité de Kolmogorov du texte de la
réponse, calculée par l’algorithme de Lempel-Ziv LZ78 [ZL77] ;
31
Chapitre 3. Contribution
Message
Comment
+debatedBy
identifier: Integer
date: Date
text: String
*
*
+answeredBy
1
*
+debates
best?: Boolean
score: Integer
+posts
+debatedBy
1
Answer
*
+postedBy
1
+answers
Person
+categorizes
identifier: Integer
name: String
reputation: Integer
1..*
*
+characterizedBy
Tag
label: String
identifier: Integer
1
Question
score: Integer
+debates
+characterizes
*
1
+belongsTo
Theme
label: String
Figure 3.5 – Un diagramme de classe UML général des sites du réseau Stack Exchange
– PostingDiff : la différence (en jours) entre la question et la réponse ;
– AnswerLength : la longueur du texte de la réponse ;
– TFiDF : la similarité entre le texte de la question et celui de la réponse, calculée par le
modèle BM25 [JWR00] ;
– BalancedJaccard : une similarité de Jaccard entre le dictionnaire de la question et celui
A∩B
de la réponse, calculée par la formule J(A, B) = A∪B
;
– UnbalancedJaccard : une mesure qu’à quel point la question est contenue dans la réponse,
calculée par la formule U J(A, B) = A∩B
B ;
– AnswerDictionarySize : taille du dictionnaire de la réponse ;
– AgentUpVotes : nombre de votes positifs reçus par l’agent ;
– AgentReputation : réputation totale de l’agent ;
– AgentDownVotes : nombre de votes négatifs reçus par l’agent ;
– CommenterProfile : la proportion des anciennes contributions de l’agent qui sont des commentaires ;
– MembershipLength : le nombre de jours durant lesquels l’agent a été membre du site ;
– StructuredWordRate : ratio de mots de structure (e.g., « First », « because », etc.) dans
la réponse ;
– AnswererProfile : la proportion des anciennes contributions de l’agent qui sont des réponses ;
– HasExample : est-ce que la réponse possède des traces linguistiques d’un exemple ?
– HasWHTypeInTitle : est-ce que le titre de la question est en WH- (e.g., « what », « why »,
etc.) ?
– HasURL : est-ce que la réponse contient une URL ?
– QuestionerProfile : la proportion des anciennes contributions de l’agent qui sont des questions ;
Ces attributs ont été choisis comme étant des manifestations aisément récupérables de manière automatisée des critères qui, intuitivement, représentent la qualité d’une réponse. Un digraphe d’influence peut être trouvé en figure 3.6 qui illustre l’influence de chaque attribut sur
32
3.3. Première approche : prédiction de la meilleure réponse
Gain d’information
0.147
0.049
0.041
0.041
0.041
0.025
0.019
0.002
0.019
0.015
0.014
0.009
0.007
0.006
0.006
0.006
0.002
0.001
0.000
0.000
Attribut
Score
CommentCount
AnswerKComplexity
PostingDiff
AnswerLength
TFiDF
BalancedJaccard
UnbalancedJaccard
AnswerDictionarySize
AgentUpVotes
AgentReputation
AgentDownVotes
CommenterProfile
MembershipLength
StructuredWordRate
AnswererProfile
HasExample
HasWHTypeInTitle
HasURL
QuestionerProfile
Table 3.1 – Les 20 attributs que nous avons choisi
chaque variable cachée.
3.3.3
Algorithmes utilisés
Quatre algorithmes, ainsi que leurs variantes communes en metalearning, sont testés, à cause
de leur différence de fonctionnement et du fait qu’ils sont utilisés par la littérature :
– une séparatrice à vaste marge (SVM) avec un kernel RBF, qui est considérée comme le
classifieur standard de par sa puissance et ses fondements dans la théorie de l’apprentissage
statistique de Vapnik [Vap98] ;
– un réseau bayésien avec apprentissage via l’algorithme K2 ;
– un arbre de décision J48 basé sur la minimisation d’entropie ;
– une régression logistique.
3.3.4
Protocole expérimental de validation
L’évaluation des classifieurs se fait en séparant le jeu de données en deux parties : le jeu
d’entraînement, que le classifieur utilise pour construire son modèle, et le jeu de test, que le
classifieur utilise pour évaluer son modèle selon différentes mesures.
Nous cherchons la meilleure estimation de leur erreur réelle, c’est-à-dire le taux d’erreur de
classification qu’ils auront sur toutes les données existantes. Cette erreur n’étant pas réalistiquement calculable, nous devons nous en approcher.
La méthode qui se rapproche le plus de l’estimation de l’erreur réelle est la validation croisée
en k passes. La validation croisée en k passes consiste tout d’abord à découper le jeu de données
en k partitions. Un modèle est construit par la suite à chacune des k itérations sur toutes les
33
Chapitre 3. Contribution
Figure 3.6 – Un digraphe d’influence que nous proposons pour modéliser les dépendances entre
nos variables d’apprentissage. Les variables cachées, dénotées par des ovales pointillés, sont les
critères de qualité d’une réponse. En cherchant la meilleure réponse, on cherche la réponse qui
maximise la validité intrinsèque.
partitions sauf une, qui est conservée comme jeu de test. Les performances sont finalement
calculées en faisant la moyenne des performances sur les k modèles. La validation croisée à 10
passes (10-fold cross validation) est la mesure standard. Il est à noter qu’à ses extrêmes, la
validation croisée devient un jeu de test standard (2 passes) ou devient une validation dite en
Leave-One-Out, ou Tout-sauf-une (avec donc autant de passes qu’il y a d’exemples).
Un schéma du processus d’apprentissage est en figure 3.7.
3.3.5
Mesures de performance
Les mesures de performances utilisées sont liées à la tâche que nous souhaitons accomplir. Les
performances en classification dépendent de deux objectifs contradictoires : limiter les erreurs de
type 1, ou faux positifs, et limiter les erreurs de type 2, ou faux négatifs. Les erreurs de type 1 se
manifestent par du bruit : on présente à l’utilisateur une réponse que l’on considère bonne mais
qui ne l’est pas. Les erreurs de type 2 se manifestent par du silence : on omet de présenter une
bonne solution à l’utilisateur. Le but est de minimiser à la fois le bruit et le silence. Les mesures
qui caractérisent la compétence du système sur ces critères sont la précision et le rappel.
– bruit : faux positifs ;
– silence : faux négatifs ;
vrais positifs
– précision :
;
vrais positifs + faux positifs
34
3.4. Seconde approche : estimation des poids de chaque paramètre
Figure 3.7 – Le processus d’apprentissage et d’évaluation
vrais positifs
.
vrais positifs + faux négatifs
En considérant les « meilleures réponses » comme la classe positive et les « non meilleures
réponses » comme la classe négative, la précision correspond à la proportion de positifs renvoyé
par le classifieur qui appartiennent à la classe positive : c’est donc une mesure de pureté. Le
rappel correspond à la proportion de la classe positive renvoyée par le classifieur : c’est donc une
mesure d’exhaustivité. La précision s’oppose au bruit et le rappel s’oppose au silence.
Certaines mesures comme la Fβ -mesure permettent d’agréger la précision et le rappel. Il
suffit alors de modifier le paramètre β pour fixer l’influence de la précision ou du rappel sur
le score. Les trois versions les plus communes sont F1 -mesure, où la précision et le rappel ont
la même importance, la F2 -mesure, où le rappel est plus important, et la F0.5 -mesure, où la
précision est plus importante.
– rappel :
Fβ − mesure =
(1 + β 2 ) · (précision + rappel)
(β 2 · précision + rappel)
Le but final étant d’aider la navigation de l’utilisateur en permettant aux systèmes de recherche d’information de présenter une réponse directe à la question formulée par l’utilisateur,
nous proposons de privilégier le rappel. La prédiction de meilleure réponse se transforme ainsi,
dans le pire cas, en filtrage d’information.
3.4
Seconde approche : estimation des poids de chaque paramètre
Dans cette section nous développons la seconde partie de notre approche : l’estimation des
poids de chaque paramètre à l’aide d’un outil de régression symbolique.
3.4.1
Objectifs et contextualisation de la régression symbolique pour trouver
un modèle boîte blanche
La régression symbolique nous permet à l’aide de notre jeu de données d’estimer une équation
qui permet de prédire, avec le minimum d’erreurs, la classe de chaque réponse à partir de ses
35
Chapitre 3. Contribution
Gain d’information
0.147
0.049
0.041
0.041
0.041
0.025
0.019
0.002
0.019
0.015
Attribut
Score
CommentCount
AnswerKComplexity
PostingDiff
AnswerLength
TFiDF
BalancedJaccard
UnbalancedJaccard
AnswerDictionarySize
AgentUpVotes
Table 3.2 – Les 10 attributs les plus discriminants, calculés via le gain d’information
attributs. Au modèle « boîte noire » de l’apprentissage automatique, la régression symbolique
substitue un modèle « boîte blanche ».
3.4.2
Sélection du sous-ensemble d’attributs
La régression symbolique est analogue à un problème d’optimisation et, sinon pour les formalisations les plus triviales, souffre du problème d’explosion combinatoire lorsque l’espace des
états sur lequel on souhaite optimiser devient trop grand. C’est pour cette raison que l’on utilise
des métaheuristiques (heuristiques guidées) et que l’on réduit le nombre de variables pour réduire
l’espace de recherche. Nous effectuons donc une sélection des dix attributs les plus discriminants,
classés selon leur gain d’information (processus décrit avec plus de détail dans [Qui86]).
3.4.3
Mesures de performance
La régression symbolique utilise comme support la programmation génétique, décrite avec
plus de détail en section 2.2.2, page 22. La programmation génétique fonctionne par minimisation
d’une fonction d’aptitude (fitness) qui caractérise à quel point la solution en cours est adaptée
à son environnement (le problème à résoudre). Cette fonction d’aptitude peut être calculée de
différentes manières et nous servir de mesure de performance, et est dans la majorité des cas
calculée comme une fonction inverse de l’erreur de l’individu. Les deux fonctions d’erreur les
plus utilisées sont :
P
2
– l’erreur moyenne au carré (MSE) : N1 N
i=1 (y − f (x)) est utilisée lorsque le jeu de données
possède un bruit normalement distribué ;
P
– l’erreur moyenne logarithmique (MLE) : N1 N
i=1 log(1 + y − f (x)) est utilisée lorsque le
jeu de données possède un bruit avec des valeurs aberrantes ;
Puisque nous normalisons et standardisons nos données, la MSE est la fonction d’erreur la
plus adaptée.
3.4.4
Dérivation du poids des paramètres
Notre objectif est de trouver une équation qui puisse prédire la classe selon un ensemble de
paramètres d’entrée. Malgré l’utilisation d’une fonction de fitness (cf. sous-section 3.4.3) pour
discriminer les résultats selon leur aptitude, il est possible que le système retourne plusieurs
solutions équivalentes. Nous choisirons alors les résultats qui sont intuitivement les plus sensibles
et les plus simples (à la fois du point de vue de la longueur que de la complexité de calcul).
36
Chapitre 4
Validation
4.1
4.1.1
Notre jeu de données
StackOverflow et StackExchange
StackOverflow 15 est une branche du réseau StackExchange 16 qui se spécialise dans les
questions-réponses dans le domaine de l’ingénierie logicielle. La raison de notre choix de StackOverflow plutôt que de plus gros sites tels que Yahoo ! Answers est liée à notre analyse en 3.2.2,
page 28. Les auteurs de [KOO07, HRRK08] ont identifié les trois besoins d’information qui sont
remplis par les systèmes de QRC :
– question factuelle ;
– demande d’opinion ;
– demande de suggestion.
Si les trois besoins sont tous légitimes, il est difficile sinon impossible de qualifier une réponse
de « meilleure réponse » dans une question qui n’est pas factuelle. Dans le cas d’une demande
d’opinion, le besoin d’information n’est pas lié au contenu des réponses et dans le cas d’une
demande de suggestion, le besoin d’information est entièrement lié à l’agent : dans les deux
cas, il n’y a pas de « réponse parfaite ». Notre approche consiste en la prédiction d’un point
d’entrée pour un système de recherche d’information et cela n’est possible que lorsque le besoin
d’information formulé dans la question est fini et déterminé : lorsque la question est factuelle.
StackOverflow a la particularité d’être lourdement modéré par son équipe de gestion afin
d’éliminer toute question qui n’est pas purement factuelle, ce qui signifie que le site se rapproche
plus d’un recueil de connaissance objective et tend à éliminer les biais introduits dans les systèmes
de QRC moins stricts.
Cela a d’autres effets sur les performances de notre classifieur. Comme décrit en 1.2.2, page
12, [HRRK08] décrit les raisons du choix d’une meilleure réponse dans un échantillon de Yahoo ! Answers. Dans 33% des cas, le choix porte sur un critère socio-émotionnel. Le choix de
StackOverflow est donc fondé sur le fait que la gestion du site maximise le côté objectif et supprime en grande partie la dimension socio-émotionnelle. Nous pensons donc que les données de
StackOverflow constituent un benchmark plus pertinent pour la tâche de prédiction de point
d’entrée que ceux de Yahoo ! Answers ou autres sites de QRC. En effet, la possession d’un point
d’entrée est entièrement dépendante sur la nature de la question posée. l’objectivité de StackOverflow garantit que chaque question correspond à un besoin d’information et a donc une
15. http ://www.stackoverflow.com
16. http ://www.stackexchange.com
37
Chapitre 4. Validation
Figure 4.1 – Une figure illustrant la distribution des réponses sur les scores
probabilité non-nulle de contenir un point d’entrée pertinent. Inversement, une grande majorité
des questions de Yahoo ! Answers ne possède pas de point d’entrée puisque la question formulée
ne possède pas de réponse.
4.1.2
Comportement et habitudes des utilisateurs de StackOverflow
StackOverflow compte au moment de ce mémoire 3.1 millions de questions, 6.2 millions de
réponses, 12 millions de commentaires. Il y a en moyenne 2 réponses par question, 4 commentaires
par questions.
Sur un échantillon de 100000 questions extraites aléatoirement entre 2008 et 2010 :
– 31% n’ont pas de « meilleure réponse » ;
– blabla
4.1.3
Préparation des données
La préparation des données comprend trois phases : l’élimination des biais externes qui
pourraient influencer la prédiction, l’élimination du biais induit par le déséquilibre des données
par rééchantillonnage, et enfin le traitement des attributs (standardisation).
Élimination du biais temporel
Lorsqu’un agent sélectionne une réponse comme étant la meilleure réponse, il le fait avec la
connaissance des autres réponses disponibles à cet instant. La probabilité de choisir une réponse
est distribuée parmi les réponses dont il a connaissance (d’après l’axiome du choix de Luce 17 ). Si
d’autres réponses arrivent entre temps, elles sont « disqualifiées » par défaut, par vertue d’être
d’arrivées trop tard. Pour cette raison, nous éliminons les réponses qui ont été créées après que
la meilleure réponse ait été choisie.
17. Plus d’informations sur l’axiome du choix de Luce à cette URL : http://www.scholarpedia.org/article/
Luce%27s_choice_axiom
38
4.1. Notre jeu de données
Figure 4.2 – Une figure illustrant la distribution des questions sur les scores
Rééchantillonnage
Le jeu de données est fortement biaisé du fait que pour chaque question il n’y ait qu’une
seule réponse qui soit choisie comme « meilleure réponse ». Comme expliqué en 2.1 page 17, cela
est traitable à deux niveaux : algorithme et jeu de données. De par la richesse de notre jeu de
données, nous pouvons permettre de sous-échantillonner pour rétablir un équilibre 1 :1 entre la
classe positive et négative.
Standardisation des variables
Certains attributs numériques sont distribués de manières trop différente, ce qui tend à gêner
certains classifieurs qui donnent beaucoup d’importance aux variables aberrantes ou à grande
variance par rapport aux attributs qui évoluent avec plus de discrétion. Pour cette raison les
attributs qui possèdent une grande quantité de variables aberrantes doivent être standardisés
(ramenés à une moyenne de 0 et une variance de 1).
Préparation d’un benchmark
Notre jeu de données, extrait de StackOverflow, est différent des jeux de données usuels de
la littérature. Nous considérons que la prédiction Yahoo ! Answers ou Naver font appel à trop
de caractéristiques idiosyncratiques de ces systèmes. De plus, la généralité de ces sites donne
un clair avantage à des techniques basées sur l’appariemment lexical, typiques de la recherche
d’information. StackOverflow est quant à lui modéré avec une extrême vigilance pour assurer que
toute discussion se tenant sur le site soit entièrement d’ordre technique. Le corpus de données sur
lequel nous travaillons est donc neutre, technique et dépourvu d’idiosyncrasies de StackOverflow,
ce que nous pensons sont les critères d’un benchmark raisonnable pour la prédiction de point
d’entrée dans les systèmes de QRC. Afin d’avoir un talon de comparaison, est indiqué en gras
sur les détails des scores le meilleur score obtenu en utilisant le sous-ensemble de caractéristiques
extractable sur notre jeu de données.
39
Chapitre 4. Validation
Predicting Information Seeker Satisfaction (. . . ) [LBA08]
Evaluating and Predicting Answer Quality (. . . ) [SP10]
Analyzing and Predicting Not-Answered (. . . ) [YBL+ 11]
A Framework to Predict the Quality of Answers (. . . ) [JCLP06]
Précision
Rappel
Précision
Rappel
Précision
Rappel
Précision
Rappel
70.4%
65.0%
71.0%
68.4%
63.3%
65.0%
69.0%
61.3%
Table 4.1 – Meilleur score des attributs de la littérature
Algorithme
Réseau bayésien
Régression logistique
SVM
Arbre de décision-
Mesure
Précision
Rappel
F1 -mesure
Précision
Rappel
F1 -mesure
Précision
Rappel
F1 -mesure
Précision
Rappel
F1 -mesure
Score
68.2%
68.2%
68.2%
67.9%
67.7%
67.6%
57.1%
56.9%
55%
71.0%
71.0%
71.0%
Table 4.2 – Résultats
4.2
Identification des meilleures réponses
4.2.1
Définition du concept de meilleure réponse
Nous décidons d’adopter comme définition de meilleure réponse un retour utilisateur commun : le fait que le questionneur ait marqué la question « meilleure réponse » ou non. Une
réponse est jugée « meilleure réponse » si le questionneur l’a marquée comme telle. Cela nous
permet de récupérer une grande quantité de données pré-étiquetées.
4.2.2
Résultats de l’expérimentation
Résultats bruts
Nous nous réferons aux
Matrices de confusion
Interprétation des résultats
Nous voyons que l’arbre de décision avec Bagging a une plus forte précision et un plus fort
rappel. Il est aussi possible de constater le manque d’effet du Boosting. Cela est généralement
dû au fait qu’il y a beaucoup de bruit dans les données, et laisse penser qu’il faudrait dans nos
futurs travaux trouver de nouveaux attributs capables de contrer l’effet du bruit.
40
4.2. Identification des meilleures réponses
Algorithme
Réseau bayésien
Arbre de décision-
Mesure
Précision
Rappel
F1 -mesure
Précision
Rappel
F1 -mesure
Score
70.8%
70.8%
70.8%
68.8%
68.8%
68.8%
Table 4.3 – Résultats avec Boosting
Algorithme
Réseau bayésien
Arbre de décision-
Mesure
Précision
Rappel
F1 -mesure
Précision
Rappel
F1 -mesure
Score
68.2%
68.2%
68.2%
72.3%
72.2%
72.1%
Table 4.4 – Résultats avec Bagging
Négatif
9893
4729
Positif
4288
9452
← Classifié comme
Négatif
Positif
Table 4.5 – Matrice de confusion pour le réseau bayésien
Négatif
9716
3640
Positif
4465
10541
← Classifié comme
Négatif
Positif
Table 4.6 – Matrice de confusion pour l’arbre de décision
Négatif
5935
4140
Positif
8200
10085
← Classifié comme
Négatif
Positif
Table 4.7 – Matrice de confusion pour la SVM
Négatif
10410
5393
Positif
3771
8788
← Classifié comme
Négatif
Positif
Table 4.8 – Matrice de confusion pour la régression logistique
Négatif
10059
4150
Positif
4122
10031
← Classifié comme
Négatif
Positif
Table 4.9 – Matrice de confusion pour le réseau bayésien boosté
41
Chapitre 4. Validation
Négatif
9507
4189
Positif
4674
9992
← Classifié comme
Négatif
Positif
Table 4.10 – Matrice de confusion pour l’arbre de décision boosté
Négatif
9879
4731
Positif
4302
9450
← Classifié comme
Négatif
Positif
Table 4.11 – Matrice de confusion pour le réseau bayésien baggé
4.3
4.3.1
Régression Symbolique
Préparation des données
Le processus de régression symbolique est un processus itératif. Il est nécessaire d’explorer
l’espace des états de manière préliminaire pour savoir comment régler chacun des paramètres.
4.3.2
Définition des blocs de construction
La première phase consiste en la définition des blocs de construction. Les blocs de construction seront les instructions élémentaires que le logiciel de programmation génétique va manipuler
avec pour but d’approximer une fonction théorique définie par les données fournies. Puisque nous
souhaitons des équations intelligibles, il est nécessaire de prendre des instructions assez légères.
De plus, puisque nous cherchons un modèle prédictif, nous devons utiliser une forme de validation
croisée sur nos équations, que le logiciel Eureqa Formulize fait de manière autonome
4.3.3
Résultats
Résultats bruts
Les deux meilleures équations sont décrites dans l’énumération suivante.
– IsBest = step(sgn(Score∗AnswerKComplexity−AnswerDictionarySize∗and(Score, Score)))
avec une coefficient de corrélation de 0.79 et une MSE de 0.08
– IsBest = step(sgn(Score∗AnswerKComplexity −AnswerDictionarySize∗cos(Score)))
avec un coefficient de corrélation de 0.79 et une MSE de 0.08
Interprétation
S’il est impossible de dériver un modèle d’agrégation multicritère de ces équations, on peut
néanmoins voir que jouent un poids important le Score et la complexité algorithmique de la
réponse, ce qui laisse penser qu’une piste de recherche vers une analyse mathématique de la
complexité d’un message pourrait être viable.
Négatif
9717
3426
Positif
4464
10755
← Classifié comme
Négatif
Positif
Table 4.12 – Matrice de confusion pour l’arbre de décision baggé
42
Conclusion et perspectives
Nous abordons dans ce chapitre la conclusion de nos travaux et les perspectives qu’ils lèvent
pour des directions de recherche futures. Nous avons étudié et formalisé le fonctionnement des
systèmes de QRC et la faisabilité de la fouille automatique de ces derniers en les considérant
non pas comme de simples documents textuels, mais comme une agrégation structuré d’avis
communautaires.
1
Limites et perspectives
Les limites de nos travaux sont celles que nous nous sommes fixées en amont. Nous nous
sommes consacrés à l’étude des systèmes de QRC à travers leur structure et les différentes métadonnées qu’ils produisent, avec une utilisation minimale du contenu, limitée à de l’appariemment
de lexiques. Une perspective intéressante serait de coupler notre approche à des techniques plus
fines de traitement automatique de la langue, afin de déterminer la qualité de réponses selon
d’autres critères, tels que l’intelligibilité, le style d’écriture ou la spécificité des termes employés.
Nos perspectives se tournent vers trois axes de recherche :
1. poursuivre la formalisation afin de l’uniformiser avec la formalisation des besoins d’information développée par Eduard Hoenkamp dans [Hoe09]. L’auteur formalise la notion de
besoin d’information à l’aide de la théorie des treillis de Galois et s’en sert pour faire le
lien entre les différentes formes que prend la recherche d’information ;
2. traiter la notion de signaux sociaux (développée dans ce mémoire) comme une aide à la
prédiction et la combiner à une analyse plus en profondeur des réponses, sous forme de
traitement automatique de la langue (pour le contenu de la réponse) et d’analyse des
réseaux sociaux (pour les relations entre agents) ;
3. explorer la possibilité de combiner un système « top-down » qui se sert des systèmes de
QRC comme base de connaissances à un système « bottom-up » d’inférence de connaissances.
Chacune des directions appelle à la collaboration avec d’autres équipes et renforce la dimension multidisciplinaire de la recherche d’information et de la discipline plus globale qui porte le
nom de Web Science.
43
Bibliographie
[Bak99]
Bak P. : How Nature Works: The Science of Self-Organized Criticality. Springer, 1
édition, avr. 1999.
[BR11]
Burgard W. et Roth D., éditeurs. Proceedings of the Twenty-Fifth AAAI Conference
on Artificial Intelligence, AAAI 2011, San Francisco, California, USA, August 7-11,
2011. AAAI Press, 2011.
[BS02]
Beyer H.-G. et Schwefel H.-P. : Evolution strategies a comprehensive introduction.
1(1):3–52, mai 2002.
[CBHK02] Chawla N. V., Bowyer K. W., Hall L. O. et Kegelmeyer W. P. : Smote: Synthetic
minority over-sampling technique. Journal of Artificial Intelligence Research, 16:321–
357, 2002.
[CV95]
Cortes C. et Vapnik V. : Support-vector networks. Machine Learning, 20:273–297,
1995. 10.1007/BF00994018.
[CYS10]
Chen G., Yang Z. et Sun J. : Applying bayesian networks in nuclear power plant
safety analysis. Procedia Engineering, 7(0):81 – 87, 2010. 2010 Symposium on Security
Detection and Information Processing.
[DeJ07]
DeJong K. : Evolutionary computation: a unified approach. Dans Thierens [Thi07],
p. 3158–3171.
[DKP03]
Duan K., Keerthi S. S. et Poo A. N. : Evaluation of simple performance measures
for tuning svm hyperparameters. Neurocomputing, 51:41–59, 2003.
[DSW03] Davidson J. W., Savic D. A. et Walters G. A. : Symbolic and numerical regression:
experiments and applications. Inf. Sci. Inf. Comput. Sci., 150(1-2):95–117, mars
2003.
[Faw06]
Fawcett T. : An introduction to roc analysis. Pattern Recogn. Lett., 27(8):861–874,
juin 2006.
[GH05]
Golder S. A. et Huberman B. A. : The structure of collaborative tagging systems.
CoRR, abs/cs/0508082, 2005.
[Hoe09]
Hoenkamp E. : On the notion of "an information need". Dans Proceedings of the 2nd
International Conference on Theory of Information Retrieval: Advances in Information Retrieval Theory, ICTIR ’09, p. 354–357, Berlin, Heidelberg, 2009. SpringerVerlag.
[HRRK08] Harper F. M., Raban D., Rafaeli S. et Konstan J. A. : Predictors of answer quality
in online q&a sites. Dans Proceedings of the twenty-sixth annual SIGCHI conference
on Human factors in computing systems, CHI ’08, p. 865–874, New York, NY, USA,
2008. ACM.
45
Bibliographie
[JA07a]
Jurczyk P. et Agichtein E. : Discovering authorities in question answer communities
by using link analysis. Dans Proceedings of the sixteenth ACM conference on Conference on information and knowledge management, CIKM ’07, p. 919–922, New York,
NY, USA, 2007. ACM.
[JA07b]
Jurczyk P. et Agichtein E. : Hits on question answer portals: exploration of link
analysis for author ranking. Dans Proceedings of the 30th annual international ACM
SIGIR conference on Research and development in information retrieval, SIGIR ’07,
p. 845–846, New York, NY, USA, 2007. ACM.
[Jap00]
Japkowicz N. : Learning from imbalanced data sets: A comparison of various strategies. p. 10–15. AAAI Press, 2000.
[JCLP06] Jeon J., Croft W. B., Lee J. H. et Park S. : A framework to predict the quality of
answers with non-textual features. Dans Proceedings of the 29th annual international
ACM SIGIR conference on Research and development in information retrieval, SIGIR
’06, p. 228–235, New York, NY, USA, 2006. ACM.
[JWR00] Jones K. S., Walker S. et Robertson S. E. : A probabilistic model of information
retrieval: development and comparative experiments. Inf. Process. Manage., 36(6):
779–808, nov. 2000.
[KKP]
Kotsiantis S., Kanellopoulos D. et Pintelas P. : Handling imbalanced datasets: A
review.
[Kle99]
Kleinberg J. M. : Authoritative sources in a hyperlinked environment. J. ACM,
46(5):604–632, sep. 1999.
[KOO07] Kim S., Oh J. S. et Oh S. : Best-Answer Selection Criteria in a Social Q&A site from
the User-Oriented Relevance Perspective. Dans ASIST, 2007.
[Koz93]
Koza J. R. : Genetic programming on the programming of computers by means of
natural selection. Complex adaptive systems. MIT Press, 1993.
[LBA08]
Liu Y., Bian J. et Agichtein E. : Predicting information seeker satisfaction in community question answering. Dans Proceedings of the 31st annual international ACM
SIGIR conference on Research and development in information retrieval, SIGIR ’08,
p. 483–490, New York, NY, USA, 2008. ACM.
[LYZ11]
Liu C., Yeung C. H. et Zhang Z.-K. : Self-organization in social tagging systems.
CoRR, abs/1102.3989, 2011.
[Mar05]
Margineantu D. D. : Active cost-sensitive learning. Dans Proceedings of the 19th
international joint conference on Artificial intelligence, IJCAI’05, p. 1622–1623, San
Francisco, CA, USA, 2005. Morgan Kaufmann Publishers Inc.
[MRMF09] Mendes Rodrigues E. et Milic-Frayling N. : Socializing or knowledge sharing?:
characterizing social intent in community question answering. Dans Proceedings of
the 18th ACM conference on Information and knowledge management, CIKM ’09, p.
1127–1136, New York, NY, USA, 2009. ACM.
[O’R07]
O’Reilly T. : What is web 2.0: Design patterns and business models for the next
generation of software. MPRA Paper 4578, University Library of Munich, Germany,
mars 2007.
[Pro]
Provost F. : Machine learning from imbalanced data sets 101 (extended abstract).
[Qui86]
Quinlan J. R. : Induction of decision trees. Machine Learning, 1(1):81–106, mars
1986.
46
[SCK+ 12] Sasaki H., Chiu D., Kapetanios E., Hung P. et Andres F. : Intelligent and KnowledgeBased Computing for Business and Organizational Advancements. Igi Global, 2012.
[SP10]
Shah C. et Pomerantz J. : Evaluating and predicting answer quality in community
qa. Dans Proceedings of the 33rd international ACM SIGIR conference on Research
and development in information retrieval, SIGIR ’10, p. 411–418, New York, NY,
USA, 2010. ACM.
[Sur05]
Surowiecki J. : The Wisdom of Crowds. Anchor Books, New York, August 2005.
[SWYM09] Shu L., Wu J., Yu L. et Meng W. : Kernel-based transductive learning with nearest
neighbors. Dans Proceedings of the Joint International Conferences on Advances
in Data and Web Management, APWeb/WAIM ’09, p. 345–356, Berlin, Heidelberg,
2009. Springer-Verlag.
[Tay62]
Taylor R. S. : The process of asking questions. Amer. Doc., 13(4):391–396, 1962.
[Tea10]
Team Y. A. : 1 billion answers served! http://yanswersblog.com/index.php/
archives/2010/05/03/1-billion-answers-served/, 2010.
[Thi07]
Thierens D., éditeur. Genetic and Evolutionary Computation Conference, GECCO
2007, Proceedings, London, England, UK, July 7-11, 2007, Companion Material.
ACM, 2007.
[Vap98]
Vapnik V. N. : Statistical learning theory. Wiley, 1 édition, sep. 1998.
[Vis]
Visa S. : Issues in mining imbalanced data sets - a review paper. Dans in Proceedings
of the Sixteen Midwest Artificial Intelligence and Cognitive Science Conference, 2005,
p. 67–73.
[Wei08]
Weise T. : Global optimization algorithms theory and application, 2008.
[YBL+ 11]
Yang L., Bao S., Lin Q., Wu X., Han D., Su Z. et Yu Y. : Analyzing and predicting not-answered questions in community-based question answering services. Dans
Burgard et Roth [BR11].
[ZL77]
Ziv J. et Lempel A. : A universal algorithm for sequential data compression. IEEE
TRANSACTIONS ON INFORMATION THEORY, 23(3):337–343, 1977.
47
Résumé
Ce mémoire, situé dans le domaine des sciences de l’information, qui sont le découlement
de l’évolution du document, de l’ouvrage physique entreposé dans les bibliothèques (les livres)
aux titanesques quantités d’information de l’Internet, traite de l’exploitation automatisée d’information textuelle à vue d’améliorer l’accès à l’information dans les systèmes de recherche d’information. Nous nous penchons plus précisément sur le cas des systèmes de question-réponse
communautaires et leur utilisation pour enrichir le processus de recherche d’information.
Mots-clés: Recherche d’Information, Sites de Question-Réponse Communautaires, Apprentissage Déséquilibré
Abstract
This masters report, which focuses on the field of information sciences, which are the
outcome of the evolution of documents, from the physical works stacked in libraries (books) to the
gigantic quantities of information stored on the Internet, deals with the automated exploitation
of textual information in order to improve access to information in information retrieval sstems.
We focus on the study of community question-answering systems and how they could be used
to enrich the information seeking process.
Keywords: Information Retrieval, Community Question-Answering Websites, Unbalanced Machine Learning
49
Téléchargement