Collecte, pré-traitement et traitement des informations issues du Web dans un environnement coopératif

Taoufiq Dkaki
I.R.I.T. Université Paul Sabatier / IUT Strasbourg Sud
e-mail : dkaki@irit.fr


Résumé

Le World Wide Web est devenu une des plus importantes sources d'information accessible de manière électronique. C'est aussi une source d'informations riche pour les chercheurs et les décideurs. Malheureusement, le Web est si énorme et si peu structuré qu'y trouver une information exacte et utile est devenu une tâche titanique très coûteuse en temps. Les moteurs de recherche, les méta-robots et les agents intelligents offrent des réponses à ce problème. Parmi ces outils, certains répondent à des critères d'exhaustivité (i.e. trouver toute l'information disponible pertinente par rapport à une requête donnée). Dans cet article, nous nous proposons d'aborder cette question et d'y apporter une réponse différente. Dans une perspective de prise de décision, nous dépassons la recherche d'information en abordant des aspects d'extraction d'information et d'exploration des données (text mining). Les outils qui existent offrent peu de moyens pour traiter de ce sujet ou proposent des solutions peu réalistes tels l'utilisation du traitement du langage naturel. Nous proposons ici d'utiliser des méthodes qui ont fait leur preuve avec l'information structurée comme les données bibliographiques. Cet article est divisé en trois parties qui correspondent aux points suivants:

  • collecte de documents sur le Web,
  • filtrage de l'information et pré-traitement,
  • extraction de l'information en utilisant Tétralogie.
     
Abstract

The World Wide Web has become one of the largest sources of information accessible by electronic means. It is also one of the richest sources researchers and decision-makers ever had. Unfortunately, the Web is so huge and so unstructured that finding the right and useful information becomes a titanic and time-consuming task. Search engines, meta-robots and intelligent agents address this issue. Some of these tools partly address the challenge of information exhaustivity (i.e. finding all the available information relevant to a given query). In this paper we deal with this question and propose a different kind of solution. For decision making purposes there is something beyond information retrieval. It is the information extraction and text mining. The existing tools give few and poor means to handle this topic or propose unrealistic or unpractical solutions such as the use of natural language processing. In this paper, we also address this issue. We propose some methods we experimented with structured information such as bibliographic data. This paper is divided in three main sections that correspond to:

  • Web document harvesting,
  • Information filtering and pre-processing
  • Information extraction using Tetralogie methods.







Introduction

Le World Wide Web est devenu la plus vaste et la plus riche source d'informations stratégiques qu'un chercheur ou un décideur ait jamais eue à sa disposition. Malheureusement, le Web est tellement vaste et tellement peu structuré que trouver l'information utile est une tâche très coûteuse en temps. Compte tenu de la nature des documents collectés, l'extraction automatique des connaissances se révèle encore plus difficile.

Actuellement, nous arrivons aisément à extraire certaines informations factuelles telles que les URLs référencés. Mais, pour une exploitation optimale d'une source d'information telle que le WWW, il faut réaliser un traitement linguistique des documents collectés compte tenu de leur nature essentiellement textuelle. Or ce type de traitement, souvent très coûteux, ne donne pas de résultats probants et est très difficile à mettre en oeuvre dans un contexte ouvert.

Nous proposons une autre alternative qui consiste à faire collaborer deux sources d'informations le Web et les banques de données traditionnelles. Cette méthode consiste à exploiter les connaissances issues des banques de données pour les injecter dans les informations issues du Web. Cette collaboration permettra de mieux approcher le sens et le contenu des documents issus du Web sans pour autant avoir recours aux techniques du traitement du langage naturel.

Dans cet article, nous aborderons trois grands sujets:

Le premier sujet concernera la collecte et le filtrage de l'information sur le web. Le deuxième sujet traitera du pré-traitement de l'information qui inclut la prise en compte des connaissances extraites des bases de données traditionnelles. Le dernier sujet abordera le traitement des informations pré-traitées. Lors du traitement de ce dernier sujet il sera question du logiciel Tétralogie et la collaboration entre les méthodes d'analyse qu'il propose.




Collecte et filtrage d'informations issues du Web

Il est inutile de préciser que le Web est devenu une source incontournable et incontournée d'informations à haut potentiel stratégique. Rappelons toutefois les grandes méthodes d'utilisation des informations du Web qui restent largement insuffisantes pour une exploitation optimale et sont essentiellement liées à des besoins d'accès à l'information.

Ces méthodes se déclinent en trois variantes:

Dans tous les cas, l'information collectée est réduite à des URLs ou à des documents HTML. La quantité d'information retournée empêche souvent tout traitement manuel efficace. En effet il n'est pas rare d'avoir plusieurs milliers d'URLs. De plus, il arrive qu'on se retrouve avec beaucoup d'information non pertinente.

Les moteurs de recherche tels que AltaVista, Hotbot, Lycos et bien d'autres [Beaucoup] sont utilisés pour localiser des URLs potentiellement pertinentes pour une requête et donc pour un besoin informationnel donné. Ces systèmes scrutent périodiquement le Web et mémorisent l'association entre les adresses URLs et des termes d'indexation correspondant à leur contenu. En général un moteur de recherche n'a qu'une connaissance partielle des documents du Web. Pour augmenter ses chances de retrouver la totalité ou, tout au moins, la plus grande quantité de documents en rapport avec un sujet donné, il faut faire collaborer différents moteurs de recherche. C'est le propos des méta-moteurs de recherche tels que MetaCrawler, Copernic, Fusion et bien d'autres [Veille]. Un méta-robot envoie la requête à plusieurs robots en parallèle, récupère et combine les adresses retournées par chacun d'eux. Ainsi, le nombre potentiel de pages Web visitées est plus important. De plus, les méta-robots effacent généralement les adresses dupliquées et dans certains cas s'assurent de leur validité.

Cependant, quel que soit le système utilisé (robot ou méta-robot), les URLs retrouvées peuvent s'avérer non pertinentes ou non valides, soit parce que la page n'est plus disponible, soit parce qu'elle est protégée soit pour d'autres raisons (consulter le RFC correspondant au protocole HTTP). Rappelons que le fait de détecter qu'un document est protégé peut être en soi une information stratégique.

De plus, l'objectif final d'une recherche d'informations est généralement de transformer l'information pertinente en connaissances. L'utilisateur doit créer sa propre représentation des informations retrouvées, en fonction de ses connaissances sur le domaine. Pratiquement, aucune aide n'est fournie aux utilisateurs dans ce processus.

Pour résoudre ces problèmes, nous proposons d'ajouter une nouvelle couche dont l'objectif est double :

Cette couche peut être vue aussi bien comme une sur-couche de la couche des moteurs que de celle des méta-robots, selon la méthode de collecte d'information qu'on veut mettre en place.

Il s'agit donc de deux approches différentes qui consistent soit à utiliser les outils existants : méta-moteurs, agents intelligents, aspirateurs ... soit à créer ses propres outils avec une double fonction de collecte d'URLs et d'aspiration des documents associés.

Bien sûr, une autre solution consisterait à créer sa propre araignée, son propre moteur de recherche. Mais c'est une solution non envisageable à moins de posséder les moyens d'AltaVista ou d'un de ses concurrents.

Ces deux solutions présentent des avantages et des inconvénients. L'utilisation des outils existants est plus simple. Souvent les outils proposés sont très ergonomiques et s'interfacent avec un très grand nombre de moteurs, jusqu'à 250 moteurs pour certains. Par contre, ces outils sont, pour la plupart, pensés pour la navigation. D'autre part, il faut deux outils : un pour collecter les URLs, un pour aspirer les documents associés.

Le point le plus important est que généralement les documents collectés sont transformés dans un format propriétaire, ce qui les rend difficiles à traiter.

Bien qu'il s'agisse de méta-moteurs, la plupart d'entre eux ne retournent qu'un nombre limité d'URLs, parfois en double, traduisant ainsi les limitations propres aux moteurs de recherche. Par exemple, AltaVista ne retournera jamais plus de 1000 URLs bien qu'il en annonce parfois plusieurs dizaines de milliers.

La solution de créer ses propres agents présente l'avantage de n'avoir aucune limitation, mises à part celles de ses capacités, de son imagination et celles induites par les protocoles (HTTP) et les langages(HTML) utilisés.

En ce qui concerne les inconvénients, cette deuxième solution implique la connaissance des langages d'interrogation utilisés par chaque moteur de recherche ainsi que HTML, exige de constamment se tenir au courant des évolutions de ces langages et nécessite de les répercuter au niveau de l'outil de collecte.


Proposition d'une méthode de Collecte de l'information

                  

Algorithme 1 : Collecte des URLs.


   

Algorithme 2 : Collecte des documents.


                  


Filtrage de l'information brute

Le bruit dans les réponses restituées par les moteurs de recherche sur le Web est un fait indéniable. Nous proposons de filtrer l'information collectée pour s'assurer de la pertinence de ces informations.

Ce filtrage est basé sur des techniques classiquement utilisées en recherche d'informations et qui ont fait leurs preuves dans le domaine de la recherche d'information... Il s'agit de calculer un degré de ressemblance entre la requête initiale de l'utilisateur et le contenu des documents. Seuls les documents ayant un degré de similitude supérieur à un certain seuil seront considérés comme pertinents. Nous avons choisi d'utiliser une fonction cosinus qui prend en compte l'occurrence des termes de la requête dans le document traité ainsi que la taille du document.

La ressemblance de la requête Q et du document Di est calculée par :




Extraction d'informations

Afin d'extraire de la connaissance à partir de l'information brute collectée, nous proposons d'utiliser la structure logique des documents HTML.


Reformatage

Une fois le problème de collecte et de filtrage résolu nous nous attaquons à la phase de pré-traitement. Cette phase a pour objectif principal de faciliter l'extraction de l'information tout en réutilisant les outils existants : pour ce qui nous concerne, l'outil Tétralogie [TETRA].

Pour ce faire, il faudrait se ramener à des formats exploitables par Tétralogie, et d'ailleurs par la plupart des logiciels français de veille, qui sont pour la plupart des formats bibliographiques.

La solution consiste à réécrire les documents HTML. Un traitement lexical prenant en compte le balisage HTML est suffisant pour réaliser cette tâche. En réalité nous prenons aussi en compte des méta-données du type dates de création ou de modification des documents, leurs tailles, leurs langues...

L'exemple suivant montre la réécriture d'un document.


Extraction des groupes de mots : coopération web/bases traditionnelles

Dans le contexte de la recherche et du traitement de l'information, nous sommes souvent amenés à travailler sur du texte intégral, ce qui est le cas quand il s'agit de documents issus du Web. A défaut d'un système de traitement du langage naturel qui soit opérationnel et performant, nous nous restreignons à l'utilisation de traitements statistiques.

La méthode des multitermes permet d'améliorer ces traitements. Elle permet de passer de la représentation du texte intégral sous la forme d'une succession de mots isolés, à une représentation sous la forme d'une suite de "concepts". Un concept est lui-même décrit par une suite de mots (multitermes). L'utilisation de groupes de termes plutôt que des termes simples a fait l'objet de nombreuses études en recherche d'informations [MITR97]. Les statistiques sont alors effectuées sur les concepts et non sur les mots isolés, ce qui a pour conséquence une meilleure approche du sens du texte.

Prenons par exemple la phrase suivante : “J'ai assisté à un cours d'analyse de données où j'ai appris la méthode d'analyse en composantes principales”.

Là où les méthodes traditionnelles dissocient le mot "analyse" du mot "données" et le mot "composantes" du mot "principales", la méthode des multitermes consiste à associer d'une part "analyse" et "données" et d'autre part "analyse", "composantes" et "principales". Les bases du traitement statistique deviennent alors les locutions : "analyse de données", "analyse en composantes principales". Le gain, du point de vue sémantique, est indéniable.

La détection des multitermes peut être réalisée en cinq étapes :

  1. La première étape de ce système consiste à nettoyer le texte par utilisation d'un dictionnaire (synonymes) et par élimination des pluriels.

  2. La deuxième étape consiste à utiliser des bases de connaissance (base de multitermes) pour une première détection des multitermes connus.
    Ces multitermes peuvent être issus d'une précédente analyse par Tétralogie.

  3. La troisième étape est une étape de nettoyage qui élimine les mots vides.

  4. La quatrième étape consiste à trouver et à générer une base de multitermes. Ces multitermes sont détectés statistiquement. Une locution ou un groupe ordonné de mots est considéré comme un multiterme si et seulement si cette locution ou ce groupe de mots a été recensé plus d'un certain nombre de fois dans le corpus de données. Ce seuil est choisi par l'utilisateur qui peut tenir compte de la taille du corpus analysé. En effet, plus ce corpus sera grand, plus le seuil devrait être grand. A la fin de cette étape, une liste de locutions ou multitermes est proposée à l'utilisateur qui peut la modifier par ajout ou élimination de certains multitermes.

  5. La dernière étape consiste à utiliser les multitermes ainsi obtenus pour la réécriture de la base initiale.

L'extraction des groupes de mots peut être dirigée, c'est-à-dire que l'on peut choisir les composants structurels à partir desquels l'extraction doit être réalisée (par exemple, à partir des titres).

Un élément important est que les groupes de mots sont détectés à partir des seules informations collectées ; ainsi, ils dépendent du contexte étudié et sont plus représentatifs.

De plus, la connaissance a priori d'un ensemble de groupes de mots peut être prise en compte (étape 2). Cet ensemble peut être le fruit du travail d'un expert ou peut être extrait de manière automatique à partir d'une base de données traditionnelle par exemple du champ mots-clés. Dans ce cas les connaissances extraites des bases traditionnelles collaborent à une exploitation optimale des informations issues du Web.

Le schéma de cette utilisation est le suivant:


Extraction des références

Les hyperliens dans les documents HTML sont marqués par des balises spécifiques et peuvent donc être extraits facilement (nous utilisons l'analyseur W3C pour détecter ces liens).

Différents types de références peuvent en fait être détectés :

L'extraction de ce type d'information est réalisée par des règles à base d'expressions régulières.


Filtrage des informations extraites

Lorsque les éléments structurels ont été extraits (groupes de mots, références), ils peuvent être facilement utilisés pour filtrer à nouveau l'information. Par exemple, étant donné une liste de groupes de mots, on peut ne s'intéresser qu'aux documents contenant ces groupes de mots ou au contraire qu'aux documents ne les contenant pas. Ce sont ce que nous appelons les filtres positifs et les filtres négatifs. Tous les types d'éléments extraits peuvent être ainsi utilisés.


Résumé de l'information

L'information est mémorisée sous la forme de tables de contingences à deux dimensions ou à trois dimensions. Les dimensions correspondent chacune à un type d'information extractible et potentiellement exploitable (IPE) tels que les serveurs cités, les concepts abordés, les groupes de mots traités... Par exemple, pour une table de contingence à deux dimensions, une dimension peut correspondre aux groupes de mots et l'autre aux références ; les deux dimensions peuvent aussi correspondre au même type d'éléments. Nous utilisons des fonctions de cooccurrence pour construire les tables de contingences.

Ces fonctions de cooccurrences sont décrites par le schéma suivant:




Découverte d'informations avec Tétralogie

Les fonctionnalités du logiciel Tétralogie sont utilisées pour la découverte d'informations implicites, élaborées voire cachées. Ces informations sont l'objectif de tous processus de veille, data mining ou texte mining. Elles se déclinent en termes de classification, d'associations et de séquences [Fayyad 1996].

Pour Tétralogie, il s'agit :

Ces tables sont utilisées comme entrées des méthodes d'analyses : AFC, ACP [Benzecri 1973], CPP, CAH.

Les classifications supposent que l'on ait un ensemble d'éléments à classer et que l'on ait un critère qui permette d'évaluer la proximité ou la ressemblance entre deux groupes et a fortiori deux éléments de cet ensemble. Dans le cas des tables de contingences à deux dimensions, l'ensemble d'éléments à classer est celui des instances de la première information potentiellement exploitable (cf paragraphe précédent) et le critère est une distance entre éléments dans le référentiel induit par les instances de la deuxième information potentiellement exploitable. En utilisant par exemple une classification ascendante hiérarchique avec la distance euclidienne entre éléments et la distance moyenne, inférieure ou supérieure entre classes, nous obtenons une partition des données et un indice de qualité de cette partition, ce qui permet d'ailleurs d'automatiser le processus de classification. L'exemple suivant montre une classification issue du croisement URLs / thématique où les URLs sont classées par rapport à leurs contenus.

Cette classification peut être utilisée pour choisir un nombre restreint de documents à lire tout en ayant la vue la plus globale du corpus.

Les classifications basées sur les théories des graphes [DKAK95] permettront, dans le cas des informations issues du Web, de déterminer les réseaux de cocitations entre les documents HTML.

Pour la recherche des associations, nous partons toujours d'un tableau de contingence à deux dimensions. Les corrélations sont à rechercher entre instances de la première information potentiellement exploitable et instances de la deuxième information potentiellement exploitable. L'utilisation d'analyses factorielles telles que l'AFC permet de représenter les deux types d'instances dans un même référentiel. Dans l'espace factoriel ainsi construit, les proximités entre instances des deux types traduisent alors l'existence de corrélations.

Pour la découverte de séquences, nous utilisons des tables de contingences à trois dimensions où la troisième IPE représente le temps. Ce sont donc des données cubiques qui peuvent être représentées sous forme d'une série chronologique de tables de contingences à deux dimensions. Nous utilisons alors les techniques d'analyse factorielle pour dégager les corrélations à chacun des instants. Les méthodes d'analyses factorielles multiples permettent la comparaison de ces corrélations. De plus, des méthodes comme l'analyse procustéenne permettent de transformer la série temporelle en enlevant et en gommant l'évolution globale des données pour ne laisser que l'évolution relative.

Une des grandes originalités de Tétralogie est la coopération de ces techniques et méthodes d'extraction de l'information élaborée. Par exemple, les résultats, d'une classification peuvent être injectés dans l'espace engendré par une méthode factorielle (voir figure). La collaboration et la confrontation de ces méthodes permettent d'infirmer ou de confirmer certaines hypothèses que l'utilisateur, pratiquant ces méthodes, peut être amené à formuler puis à vérifier.




Exemple basé sur une requête sur AltaVista

Un exemple détaillé peut être consulté dans [Dkaki 1998].




Conclusion

Dans cet article, nous avons proposé une méthode pour la collecte et le traitement de l'information issue du Web pour des besoins de veille et de data mining. Nous avons décrit des méthodes d'extraction des informations spécifiques, implicites ou explicites, à partir de pages Web collectées et concernant un sujet donné. L'information extraite (groupe de mots, serveurs référencés) est analysée afin de déduire les corrélations existantes. Le résultat de l'analyse est proposé sous forme graphique (arbres de classification, cartes factorielles) à l'utilisateur qui peut disposer alors de vues globales sur le corpus de documents collectés. L'utilisateur peut aussi faire coopérer les méthodes afin de confronter leurs résultats respectifs et ainsi confirmer ou infirmer les hypothèses qu'il peut être amené à formuler.

Le traitement du texte libre, que nous avons proposé et qui tient compte de connaissances extraites de bases de données traditionnelles, constitue une alternative honorable au traitement linguistique des pages Web.

Une application des techniques que nous avons détaillées peut être le filtrage puis le traitement des informations qui sont télédéchargées depuis les différentes sources d'information actuellement disponibles sur l'internet (les News , les documents HTML etc...). En effet, quelle que soit la source de l'information et son mode d'interrogation, le résultat comporte presque toujours du bruit. Il est donc nécessaire de le filtrer afin de ne garder que les documents les plus pertinents.

Ces méthodes ont déjà été utilisées dans des cas réels, notamment pour l'exploitation des informations issues des groupes de News.




Remerciements

Je tiens à remercier toutes les personnes qui ont participé de près ou de loin à ce travail. Je remercie particulièrement J. Mothe et B. Dousset avec lesquels je collabore depuis plusieurs années.




Bibliographie

Agrawal R., Imielinski T., Swami A. (1993.- "Database Mining: A Performance Perspective". - IEEE transactions on knowledge and data engineering, pp 914-925, Vol.5, N.6, 1993.

<http://www.beaucoup.com>

Benzecri J.P. (1973).- L'analyse de données. - Tome 1 et 2. - Paris : Dunod Edition, 1973.

Dkaki T. <http://atlas.irit.fr/petitexemple.html>

Dkaki T., Mothe J. (1996). - "Extraction et synthèse de connaissances à partir de bases de données hétérogènes". - XIVème congrès INFormatique des Organisations et Systèmes d'Information et de Décision, pp 287-308, June 1996.

Dkaki T., Dousset B., Mothe J. (1997). - "Mining information in order to extract hidden and strategic information", Computer-Assisted Information Searching on Internet, RIAO97, pp 32-51, June 1997.

Dkaki T., Dousset B., Mothe J. (1998). - "Analyse d'informations issues du Web avec Tétralogie", VSST'98 Octobre 1998.

Etzioni O. (1996). - "The Word-Wide Web:Quagmire or Gold Mine?". - in Communications of the ACM, Vol.39, Nº11, pp 65-68, Nov.1996.

Fayyad U. M., Piatetsky-Shapiro G. , Smyth P., Uthurusamy R. (1996). - Advances in Knowledge Discovery and Data Mining, AAAI Press, IBSN 0-262-56097-6, 1996.

Mallen J., Bramer M.A. (1995). - "Utilising Domain Knowledge in Inductive Knowledge Discovery", IEEE Coloquium on Knowledge Discovery in Databases, February 1995.

Proceedings of the Sixth Message Understanding Conference (MUC-6), Columbia, MD, Nov 1995, Morgan Kaufmann Publish.

Pazienza M-T. (1997). - "Information Extraction A multidisciplinary approach to an emerging information technology", Lecture notes in artificial intelligence, Nº1299, ISBN 3-540-63438-X, 1997.

Reddy M.P., Prasad B.E., Reddy P.G., Gupta A. (1994). - "A Methodology for Integration of Heterogeneous Databases". - IEEE transactions on knowledge and data engineering, pp 920-933, Vol.6, N.6, 1994.

<http://www.veille.com>

Zembowicz R., Zytkow J.M. (1996). - "Form Contingency Tables to Various Forms of Knowledge in Databases". - chapter 13 in [Fayyad 1996]


© "Solaris", nº 5, janvier 1999.