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