Knowledge is Music (et vice-versa) (3) – une liste d’entités nommées à partir de Wikipedia

[le post précédent décrit les objectifs et les étapes de ma petite expérience.]

Etape n°1 : modéliser une ontologie.
Mot d’ordre : « keep it simple »
En fait, j’ai choisi de rester tellement simple que parler d’ontologie n’a plus vraiment de sens ici, en tous cas pour l’instant : 2 classes d’objets, les « chanteurs » (singer) et les « groupes » (band). 2 propriétés : « à propos de » (about) (un lien vers une URL descriptive du chanteur ou du groupe en question), et « voir aussi » (see also) (une référence à un autre chanteur ou groupe de la base de connaissances).
Une sémantique au ras des paquerettes donc.

La distinction entre chanteurs et groupes tient au fait que Wikipedia les distingue dans son portail sur la musique française, donc autant garder la distinction – même si celle-ci n’est pas toujours claire (Manu Chao, un groupe ?).

Je n’ai pas pris la peine d’exprimer cette ontologie en OWL, mais implement en XTM, pour pouvoir l’importer directement dans ITM et paramétrer le logiciel.

mini-ontologie dans ITM

 

Etape n°2 : Constituer une liste d’entités.
Wikipedia contient pour ce faire 2 pages intéressantes : La liste des chanteurs français et francophones (600 entrées environ) et La liste des groupes musicaux français (130 entrées environ).

« Fichier > Enregistrer sous… » pour chacune de ces 2 pages, et un petit bout de XSLT permettent d’en extraire deux listes XMLisées propres, contenant pour chaque entrée le nom et l’URL Wikipedia associée :

<chanteur>
<nom>Dominique A</nom>
<url>http://fr.wikipedia.org/wiki/Dominique_A</url&gt;
</chanteur>
<chanteur>
<nom>Abd Al-Malik</nom>
<url>http://fr.wikipedia.org/wiki/Abd_al_Malik_%28chanteur%29</url&gt;
</chanteur>
<chanteur>
<nom>Myriam Abel</nom>
<url>http://fr.wikipedia.org/wiki/Myriam_Abel</url&gt;
</chanteur>

(note : les 2 pages de Wikipedia sont en fait malformées, et ne peuvent pas se traiter directement par XSLT; il faut d’abord passer par un copier-coller pour former un fichier HTML valide)
(note : dans les pages d’origine, on ignore les liens qui correspondent à des pages qui n’existent pas encore dans Wikipedia. Inutile de les sortir.)

De ce format initial, j’ai besoin de tirer 3 choses :

  1. Deux fichiers texte contenant respectivement la liste des noms des chanteurs et la liste des noms de groupes, pour alimenter les extractions linguistiques de Gate.
  2. Un fichier texte contenant la liste des URL des pages Wikipedia qui devront être analysées par Gate.
  3. Un fichier XTM Topic Maps permettant d’importer les chanteurs et les groupes dans ITM.

Pour les deux premiers éléments de cette liste, 2 feuilles de style très simples donnent respectivement comme résultat :
La liste des noms des chanteurs/groupes :

Dominique A
Abd Al-Malik
Myriam Abel
Salvatore Adamo
Isabelle Adjani
Admiral T
Akhenaton
(etc...)

Et la liste des URL des pages à traiter :

http://fr.wikipedia.org/wiki/Dominique_A
http://fr.wikipedia.org/wiki/Abd_al_Malik_%28chanteur%29
http://fr.wikipedia.org/wiki/Myriam_Abel
http://fr.wikipedia.org/wiki/Salvatore_Adamo
http://fr.wikipedia.org/wiki/Isabelle_Adjani
http://fr.wikipedia.org/wiki/Admiral_T
http://fr.wikipedia.org/wiki/Akhenaton_%28rappeur%29
(etc...)

En ce qui concerne la génération du XTM, c’est un tout petit plus compliqué, mais guère. Le résultat ressemble à ça :

<topic id="N10005">
<instanceOf>
<subjectIndicatorRef xlink:href="http://music.mondeca.com/music#Singer" mce_href="http://music.mondeca.com/music#Singer"/>
</instanceOf>
<subjectIdentity>
<subjectIndicatorRef xlink:href="http://fr.wikipedia.org/wiki/Dominique_A" mce_href="http://fr.wikipedia.org/wiki/Dominique_A"/>
</subjectIdentity>
<baseName>
<baseNameString>Dominique A</baseNameString>
</baseName>
<occurrence>
<instanceOf>
<subjectIndicatorRef xlink:href="http://music.mondeca.com/music#About" mce_href="http://music.mondeca.com/music#About"/>
</instanceOf>
<resourceRef xlink:href="http://fr.wikipedia.org/wiki/Dominique_A" mce_href="http://fr.wikipedia.org/wiki/Dominique_A"/>
</occurrence>
</topic>

Le fichier XTM est « prêt à l’import » dans ITM. Il structure les informations conformément à l’ontologie définie à l’étape précédente (dans la mesure où on peut parler de structuration…) : des topics de classe « chanteur » ou « groupe », ayant pour nom le nom tiré de Wikipedia, pour subjectIdentity l’URL de leur page Wikipedia, et pour attribut « à propos de » la même URL. (note : l’URL est remise comme attribut en plus du PSI de façon à apparaitre dans les écrans par la suite)

Le fichier XTM est ensuite importé dans l’outil ITM. On peut donc déjà, à la fin de cette étape, y consulter les 2 listes des chanteurs et des groupes, avec pour chaque entrée un nom, un identifiant, et une page associée :


Liste initiale des groupes
Page initiale d’un groupe

Au total : 598 chanteurs et 138 groupes de musique.

2 commentaires pour Knowledge is Music (et vice-versa) (3) – une liste d’entités nommées à partir de Wikipedia

  1. […] [le post précédent décrit la constitution de l’ontologie, de la liste d’entitées nommées, et de la liste des pages web à analyser] […]

  2. […] The best information on the topic can be found at the source here […]

Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :