Annotation sémantique

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Ne doit pas être confondu avec Entités nommées ou Analyse sémantique.

L'annotation sémantique consiste à relier le contenu d'un texte à des entités dans une ontologie. Par exemple, pour la phrase «Paris est la capitale de la France.», l'annotation correcte de Paris serait Paris et non Paris Hilton. L'annotation sémantique est une variante plus détaillée mais moins exacte de la méthode des entitiés nommées, car ces dernières décrivent seulement la catégorie de l'entité (Paris est une ville, sans la relier à la bonne page Wikipédia).

De plus en plus fréquemment, on considère la tâche d'annotation sémantique comme l'un des aspects applicatifs du Web sémantique, notamment pour trouver les métadonnées en relation avec l'identité sémantique des données annotées.

Applications[modifier | modifier le code]

Article connexe : Fouille de textes.

L'annotation sémantique est une tâche de fouille de texte proche des méthodes de traitement automatique des langues qui consiste à étiqueter dans un document les mots avec des liens qui pointent vers une description sémantique.

Outre l'insertion de contenus qui permettent de compléter un texte (par exemple en identifiant automatiquement les noms de personnes et en fournissant leur date de naissance), l'annotation sémantique joue un rôle essentiel en désambiguïsation en fournissant un identifiant unique représentant parfaitement l'identité du mot ou du groupe de mots annotés[1].

On peut ainsi définir l'annotation sémantique comme la tâche permettant de déterminer l'identité exacte d'un concept contenu dans un texte et de fournir des informations sur ce concept[2].

Ses applications sont nombreuses: de la fouille de données intelligente à la conception d'application de compréhension du langage de haut niveau comme Siri.

Fonctionnement[modifier | modifier le code]

Les systèmes d'annotation sémantique recourant à de très volumineuses ressources ontologiques, requises pour la désambiguïsation, ainsi qu'à des modèles de classification complexes et eux aussi parfois volumineux, ils sont le plus souvent livrés sous forme de services Web gratuits ou par abonnement. Certains systèmes tels DBpedia Spotlight sont fournis à la fois sous forme de logiciel serveur et de web service mais sont très complexes à déployer et maintenir. La maintenance est notamment rendue difficile par la nécessité pour ces systèmes de mettre à jour régulièrement leurs ressource de désambiguïsation, par exemple pour couvrir l'apparition de nouveaux concepts.

Historique[modifier | modifier le code]

La tâche d'annotation sémantique émerge dès les années 1970[3] comme le principe de mise en relation d'un contenu textuel avec une métadonnée externe qui l'enrichit. Au cours des années suivantes, les méthodes d'extraction d'information vont se focaliser sur des processus plus simples (et à la portée des ordinateurs disponibles) telle que l'extraction d'entités nommées. Mais dès les années 2000, la question de la mise en relation de ces entités avec un contenu extérieur revient à l'ordre du jour par la communauté du traitement automatique du langage naturel[4].

Plus récemment, l'émergence du web sémantique fait ressortir le besoin d'élaborer des méthodes qui permettraient d'enrichir des annotateurs avec des étiqueteurs sémantiques. Dans le contexte du web sémantique, cette tâche prend alors le nom d'entity linking par référence à l'idée d'établir un lien entre un mot ou une séquence de texte et sa représentation sur le réseau Linked Data[5].

Méthodes et standards[modifier | modifier le code]

La plupart des méthodes d'extraction et de recherche d'information ont été expérimentées en matière d'annotation sémantique : le modèle vectoriel est le plus répandu dans les systèmes récents, mais des systèmes à entropie maximale ou de simples probabilités conditionnelles donnent également de bons résultats. Le principal obstacle rencontré au cours des trente dernières années pour mettre au point des systèmes d'annotation sémantique résidait dans la disponibilité de ressources libres susceptibles de servir de base de connaissance pour appliquer les algorithmes de calcul de similarité. Désormais, la totalité des systèmes états de l'art (tels que DBpedia Spotlight, l'annotateur de Yahoo! ou encore Wikimeta) exploitent des ressources dérivées des dumps de Wikipédia pour mener à bien le processus de désambiguïsation.

Méthode de désambiguïsation[modifier | modifier le code]

Le principal problème pour un système d'annotation sémantique réside dans la multiplicité des annotations possibles. Pour annoter une phrase telle que :

Paris est la capitale de la France.

L'annotateur doit être en mesure de choisir la bonne réponse au sein de la multitude de réponse possibles (il existe une dizaine de villes portant le nom Paris, ainsi que des personnes ou encore des navires). Le système d'annotation doit donc mesurer le degré de similarité entre le document et les ressources d'annotation, pour par exemple annoter ainsi en utilisant des URI issues du Web sémantique :

(Paris, dbpedia.org/resource/Paris) est la capitale de la (France, dbpedia.org/resource/France).

Généralement, l'annotateur utilise un nombre de n mots situés dans une fenêtre entourant le concept à annoter qu'il stocke dans un vecteur. Ce vecteur est comparé à l'ensemble des vecteurs de mots correspondants extraits d'après la ressource de désambiguïsation (par exemple les dumps de l'encyclopédie Wikipédia). Selon les applications, le calcul de similarité sera réalisé par un produit scalaire pour la similarité cosinus[6], ou un calcul de probabilité pour une mesure d'entropie[7].

Ces calculs de similarités produisent une liste de score donné pour chaque entité potentielle, et c'est le rang des candidats dans une liste qui permet de choisir le lien le plus probable.

Le contexte dérivé de Wikipédia utilisé pour réaliser les calculs de similarité peut prendre une forme variable: dans le cas d'ontologie spécialisées pour la désambiguïsation telles que NLGbAse (utilisée par Wikimeta)[8] ou Aleda (utilisée par l'AFP)[9] c'est le texte plein des documents de Wikipédia dont chaque mot est pondéré par un poids TF-IDF qui est retenu. Pour ce qui est de la ressource utilisées par DBpedia Spotlight, les sacs de mots retenus sont constitués de paragraphes entourant l'entité ciblée, dans diverses pages de l'encyclopédie ou l'entité se trouve liée.

Standards de liens[modifier | modifier le code]

L'annotation sémantique consiste nécessairement à apposer un descriptif de l'entité ou de la métadonnée correspondante (par exemple une entrée de base de donnée). Dans un premier temps, des systèmes tels que Kim (Knowledge Integrated Modeling, développé par IBM)[10] ou ceux développés par l'université de Sheffield[11] ont adopté des normes propriétaires.

Désormais, les systèmes - qu'ils soient propriétaires, issus du monde académique ou libres - adoptent en tant que lien sémantique des URI en provenance du Web sémantique (le plus souvent des liens DBpedia, comme pour Yahoo!, Spotlight, Wikimeta, ou encore Alchemy API). Seuls quelques rares systèmes tels Calais (en) de Thomson Reuteurs exploitent une ontologie propriétaire et non compatible avec le Web sémantique[12] .

Problème de l'adaptation linguistique[modifier | modifier le code]

Les algorithmes d'annotation sémantique exploitant des ressources de désambiguïsation dérivées de corpus pour fonctionner, ils doivent théoriquement bénéficier d'une ressource pour chaque langue supportée.

Par exemple, un annotateur sémantique qui voudrait apposer des liens sémantiques dans un texte en français doit utiliser une ressource de sacs de mots élaborée depuis un corpus en français (puisque les calcul de similarité entre les différents candidats est mené d'après le poids de mots).

En pratique très peu d'annotateurs sémantiques sont réellement multilingues. La plupart sont conçus pour l'anglais (Spotlight, Open Calais, Wikimeta) parfois le français (Wikimeta). La majeure partie des systèmes propriétaires présentés comme multilingues ne réalisent pas de désambiguïsation sur les langues autres que l'anglais et produisent en conséquence un très fort taux d'erreur[13].

Notes et références[modifier | modifier le code]

  1. Description du principe sur le site de la plateforme KIM
  2. FAQ sur l'annotation sémantique
  3. (en) Lire par exemple What's in a link: Foundations for semantic network, W Woods, BBN Reoirt 3072
  4. Voir notamment le Workshop de la conférence LREC 2004 Beyond Named Entity Recognition Semantic labelling for NLP tasks
  5. (en) Lire par exemple Wikify! Linking Documents to Encyclopedic Knowledge,Rada Mihalcea et Andras Csomai, CIKM’07, November 6–8, 2007, Lisboa, Portugal.
  6. (en) Charton E., Gagnon M., Ozell B., Automatic SemanticWeb annotation of named entities, dans Canadian AI (2011)
  7. (en) Mendes P., Jakob M., Garcia-Silva A., Bizer C., DBpedia Spotlight: Shedding Light on the Web of Documents, dans 7th International Conference on Semantic Systems (I-Semantics), vol. Proceeding. Facultad de Informatica (UPM) (2011)
  8. (en) Eric Charton et Juan-Manuel Torres-Moreno, "NLGbAse: a free linguistic resource for Natural Language Processing systems", Proceedings of LREC, 2010.
  9. Sagot, Benoît, and Rosa Stern. "Aleda, a free large-scale entity database for French." Proceedings of LREC 2012 (2012).
  10. Popov, B., Kiryakov, A., Kirilov, A., Manov, D., Ognyano, D., Goranov, M.:Kim-semantic annotation platform. Lecture Notes in Computer Science p. 834{ 849 (2003)
  11. (en) Maynard D., Peters W., Li Y., Metrics for evaluation of ontology-based information extraction. In WWW 2006 Workshop on Evaluation of Ontologies for the Web, 2006.
  12. (en) « ClearForest »
  13. (en) Lire notamment cette interview d'un chercheur qui détaille le mode de fonctionnement des annotateurs sémantiques dans un contexte multilingue: Wikimeta Project’s Evolution Includes Commercial Ambitions and Focus On Text-Mining, Semantic Annotation Robustness Sur Semanticweb.com

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Annotateurs sémantiques :