Passer au contenu principal

Extraction de zones pertinentes de contenus sur le web

La data science a permis ces dernières années, notamment grâce à l’intelligence artificielle, de révolutionner notre société et de résoudre des problématiques métiers dans divers domaines. Cependant, définir et collecter un ensemble de données pertinentes est nécessaire pour que ces technologies puissent opérer.

Ces données peuvent être issues de sources internes, ou bien externes en utilisant des sources en accès libre dites open data. De nombreuses initiatives ont permis de faciliter l’accès à des données telles que les portails open data institutionnels ou encore la récente mise en ligne d’un outil de recherche dédié par Google.

Les données mises à disposition via ces portails sont souvent sous forme dite « structurée » afin d’en faciliter l’exploitation. Malgré le gros volume de données mises à disposition, suivant le besoin métier, il est cependant possible de ne pas trouver de données pertinentes à exploiter. Une alternative est alors de puiser dans une large ressource accessible universellement : le web.

Le web, une ressource inépuisable

L’information présente sur le web a rendu possible des applications utilisées au quotidien telles que la comparaison de prix d’avions ou d’hôtels, ou encore l’agrégation d’actualités telle que le propose Google Actualités. Les pages web représentent un volume important d’information qui apparaît sous forme dite « semi structurée », ce qui a pour caractéristique d’être plus difficile à traiter.

Dans ce cas, le contenu informatif ne représente qu’une partie restreinte d’une page web puisqu’une large part est nécessaire pour permettre la navigation (menus et fils d’Ariane), donner une identité visuelle au site web (en-têtes et pieds de pages) et afficher éventuellement des encarts publicitaires. Ces éléments non informatifs sont alors considérés comme du « bruit » car pouvant impacter négativement la qualité des modèles de data science exploitant les données. Une problématique importante est alors d’extraire uniquement le contenu jugé pertinent.

Si visuellement la distinction entre contenu pertinent et « bruit » est facile à déterminer, il est difficile pour un programme informatique de faire cette séparation compte tenu de la forme « semi structurée » des pages web où les éléments sont très rarement définis comme étant un corps d’article ou au contraire comme en-tête, pied de page, menu de navigation, etc.

Certains outils tentent de faire cette séparation mais ne fonctionnent bien en pratique que sur certaines page web, récupérant la plupart du temps le contenu principal en grande partie tronqué, ou encore dans certains cas extrêmes, mais pourtant très courants, le message de demande d’acceptation des cookies par le visiteur. Dans ces cas, l’utilisation de tels outils se révèle alors très pénalisante puisque produisant l’effet inverse de celui escompté.

Afin de répondre au besoin majeur d’extraire le contenu pertinent d’une page web, nous avons mené des travaux de recherche sur cette problématique et avons partagé le fruit de ce travail à la conférence internationale Extraction et Gestion des Connaissances (EGC) 2020 à Bruxelles. Plus particulièrement, nous avons présenté des travaux à la 4e édition de l’atelier TextMine qui a pour objectif de réunir des chercheurs universitaires et industriels sur la thématique de la fouille de textes.

Extraction du contenu principal d’une page web

Nos travaux portaient donc sur l’extraction du contenu principal d’une page web, étape cruciale pour tout traitement sémantique ou recherche d’information sur les données du web.

Nous avons pour cela adopté une méthode entièrement « non supervisée » qui permet de nous abstenir d’une étape chronophage de labellisation manuelle.

Deux étapes sont à distinguer :

  • Une première, qui nous permet de labelliser automatiquement des pages web en blocs de textes définis comme pertinents (texte principal) ou non (bruit).
  • Une seconde, qui construit un modèle entraîné sur les données labellisées par l’étape précédente.

L’intérêt de la seconde étape est multiple :

  • Le nouveau modèle créé à cette étape est beaucoup plus rapide lors de l’inférence, c’est-à-dire lorsque le contenu principal est à extraire sur une nouvelle page, ce qui permet un passage à grande échelle en production.
  • Le nouveau modèle est plus robuste puisque pouvant exploiter des caractéristiques différentes que celles utilisées lors de la première phase (qui sont difficiles à exploiter directement en phase initiale). Il est aussi plus robuste puisque l’objectif mathématique optimisé n’est pas le même que lors de la première étape et évite ainsi le surapprentissage.

Un moment d’échanges

Si beaucoup de travaux et d’expériences peuvent être partagés en ligne via des billets de blog ou des articles dans des journaux scientifiques, un avantage indéniable d’une rencontre physique est de faciliter les échanges.

Problématiques textuelles

Les travaux présentés lors de cet atelier ont donné lieu à de nombreux échanges sur les problématiques textuelles. Par exemple, les discussions ont porté sur les différentes façons d’exploiter les représentations vectorielles de mots pour la classification de documents. Les choix des modèles de représentations de mots utilisés, des valeurs d’hyper-paramètres, des données d’entraînement et de la façon de combiner ces représentations de mots pour représenter un document, influent grandement sur la qualité des résultats obtenus, et ceci suivant la tâche finale à réaliser (classification de documents, système de recommandation, etc.).

Les dernières avancées significatives dans ce domaine, popularisées par Google avec son modèle BERT, ont été appliquées pour la construction de modèles opérant spécifiquement sur la langue française tels que CamemBERT ou FlauBERT. Les discussions suivant la présentation de Kaoutar Ghazi sur la classification de phrases courtes ont donc naturellement également porté sur les avantages et inconvénients de ces deux modèles, observés et étudiés par les nombreux participants à cet atelier sur des données et problématiques métier variées.

Suivant la langue utilisée dans les données textuelles, le choix des méthodes possibles pour les exploiter peut être restreint. Ainsi, Aurélien Lamercerie présentait un système pour assister la conception de systèmes qui s’appuie sur une modélisation des comportements attendus. Ce système dépend d’une représentation sémantique intermédiaire (AMR) qui traduit l’expression des contraintes exprimées en langage naturel dans les cahiers de charges. Une limite importante de cette approche est le couplage très fort entre la représentation AMR et la langue anglaise. Cette contrainte sur la langue n’est pas forcément rédhibitoire (Jocelyn Bernard de ReportLinker partageait la surreprésentation de l’anglais dans les données qu’il avait à traiter pour l’extraction de noms d’entreprises dans la presse) mais peut être levée par l’adoption de méthodes alternatives qui dépendent moins de la langue (les méthodes utilisant des représentations vectorielles de mots nécessitent un modèle entraîné sur la langue à exploiter mais sont agnostiques à celle-ci dans leur mode de fonctionnement), voir n’en dépendent pas du tout.

Industrialisation

À la différence de nombreuses conférences scientifiques, une importance toute particulière était donnée aux applications industrielles et aux contraintes associées.

Plus particulièrement, la problématique de l’évaluation a été mise en exergue, notamment par l’intervention de Ghislain Putois d’Orange : Mener un projet data nécessite de faire évoluer un modèle qui apprend des données et implique donc de mesurer l’impact des modifications à chaque évolution. Définir la manière d’évaluer la qualité est donc primordial et est souvent une tâche complexe. En effet, les data scientists ont besoin de mesures objectives mesurables qui se traduisent différemment des KPIs marketing.

Les coûts (éventuellement cachés) constituent aussi un point important à considérer dans un contexte industriel. Par exemple, l’utilisation des méthodes de deep learning est souvent associée à des entraînements de modèles coûteux en ressources matérielles, notamment liées à l’utilisation massive de GPUs. Ceci a poussé par exemple un acteur tel que Google à créer un nouveau type d’unités de calcul, les TPUs, qui offrent l’avantage d’être beaucoup moins coûteux que les GPUs. Cependant le deep learning nécessite souvent une grande quantité de données labellisées (voir en particulier la présentation de Kevin Sylla sur la génération automatique de résumés textuels).

Des méthodes non supervisées telles que celle adoptée par Kernix dans les travaux présentés à cette conférence visent à éviter cette tâche fastidieuse de labellisation. Parfois, cette tâche de labellisation est inévitable et la méthodologie adoptée par Orange est de construire presque systématiquement un outil très simple et personnalisé de labellisation adapté à la problématique donnée, facilitant ainsi grandement le travail des annotateurs.

Veille permanente

Kernix participe activement depuis de nombreuses années à ces événements de partages. Nous étions ainsi présent à la première édition de cet atelier à Grenoble en 2017 où nous présentions un package de co-clustering pour la fouille de texte. Ceci nous permet de suivre l’évolution des différents domaines de l’IA et de nous confronter à l’avis de nos pairs au plus tôt de nos travaux de recherche. Ces partages d’expériences contribuent fortement à adopter des méthodes efficaces et pragmatiques pour la résolution des problématiques récurrentes dans tout projet data.

Haut de page
Haut de page