Ontologies: Perl est une planète du système solaire
Ces temps-ci je travaille sur Wikipedia, qui constitue à la fois une aventure humaine sans précédent (je n'aurais pas parié deux cents sur sa survie il y a quelques années) et un réservoir de ressources fantastiques pour le traitement automatiques des langues. C'est en particulier une immense ontologie, c'est-à-dire un arbre structuré des connaissances, comme on rêve d'en constituer depuis les siècles des siècles (amen). J'y ai fait allusion dans ma dernière diapo ici : on cherche depuis les Sumériens, en passant par Raymond Lulle, Leibnitz et les Encyclopédistes — et le Web sémantique est la dernière invention en date qui vise à organiser le grand Tout.
L'arbre de connaissances de Wikipedia est navigable en ligne :
Ce sont des URL intéressantes à connaître (je pense aux profs de lycée : quelle source magnifique de travaux pratiques !).
Vous connaissez peut-être le langage de programmation Perl — je suis un big fan, mais ce serait le sujet d'un autre billet. Je me suis servi de la page correspondante sur Wikipedia (en) comme test pour déterminer si j'arrivais correctement à trouver sa place dans l'arbre des connaissances wikipédien avec mes petits programmes entièrement roulés à la main.
Suivons ensemble les liens de catégories en remontant dans l'arbre. Les liens sont donnés en bas de page : la page Perl appartient à toutes ces catégories :
Mais cela demande quand même un peu de soin dans la construction des liens, et on s'y perd vite.
Suivons donc les liens de notre page Perl. C'est une invention américaine. Ok. Je remonte. Pour ne pas vous la faire trop longue, je vous donne le chemin que j'ai suivi au hasard parmi tous les possibles :
Perl est donc une planète du système solaire. CQFD.
Ne croyez pas que ce soit un exemple isolé. C'est en fait de loin la règle, vu la complexité immense du graphe. Dommage... Cela veut dire qu'il reste un travail gigantesque pour arriver à exploiter Wikipedia. En tout cas, par des moyens automatiques, c'est difficile. Il faut saluer l'effort (sans précédent dans l'histoire de l'Humanité, je le répète), que constitue cette entreprise, mais si l'on veut exploiter correctement les connaissances qui s'y trouvent, il va falloir un peu de structuration...
L'arbre de connaissances de Wikipedia est navigable en ligne :
Ce sont des URL intéressantes à connaître (je pense aux profs de lycée : quelle source magnifique de travaux pratiques !).
Vous connaissez peut-être le langage de programmation Perl — je suis un big fan, mais ce serait le sujet d'un autre billet. Je me suis servi de la page correspondante sur Wikipedia (en) comme test pour déterminer si j'arrivais correctement à trouver sa place dans l'arbre des connaissances wikipédien avec mes petits programmes entièrement roulés à la main.
Ah... donc apparemment ce n'est pas un arbre. Ou alors c'est un de ces banians indiens auxquels j'ai déjà fait allusion à plusieurs reprises, dont les branches peuvent se rejoindre, et se fusionner... Mais peu importe, si on n'a pas de boucle (je ne veux pas faire le pédant, mais donc si on a un graphe acyclique dirigé), on peut s'en sortir pour bâtir une ontologie. C'est assez classique :Categories: Perl | Curly bracket programming languages | Dynamic programming languages | Dynamically-typed programming languages | Free compilers and interpreters | Free software programmed in C | Procedural programming languages | Object-oriented programming languages | Scripting languages | Text-oriented programming languages | Unix programming tools | Cross-platform software | American inventions
Mais cela demande quand même un peu de soin dans la construction des liens, et on s'y perd vite.
Suivons donc les liens de notre page Perl. C'est une invention américaine. Ok. Je remonte. Pour ne pas vous la faire trop longue, je vous donne le chemin que j'ai suivi au hasard parmi tous les possibles :
- Perl
- American inventions
- Inventions by country
- Categories by country
- Countries
- Earth
- Planets of the Solar System
Perl est donc une planète du système solaire. CQFD.
Ne croyez pas que ce soit un exemple isolé. C'est en fait de loin la règle, vu la complexité immense du graphe. Dommage... Cela veut dire qu'il reste un travail gigantesque pour arriver à exploiter Wikipedia. En tout cas, par des moyens automatiques, c'est difficile. Il faut saluer l'effort (sans précédent dans l'histoire de l'Humanité, je le répète), que constitue cette entreprise, mais si l'on veut exploiter correctement les connaissances qui s'y trouvent, il va falloir un peu de structuration...
20 Commentaires:
dbpedia.org constitue un bon départ il me semble pour exploiter la Wikipédia (au moins les encadres thématiques)...
Martin> Oui, bien sûr. mais c'est le serpent qui se mord la queue (aïe!). Pour construire DbPedia, il faut pouvoir reconstituer l'ontologie de Wikipedia... Il est vrai que les infobos aident beaucoup, parce que la connaissance y est justement structurée. Malheureusement ils ne concernent pour l'instant qu'une petite partie du total de pages, mais je suis sûr que c'est l'un des évolutions majeures que va subir l'encyclopédie dans les années qui viennent.
Mais mais, Jean Véronis, je pensais que vous aviez conçu que le principe des catégories, ce vieux serpent de mer de la sémantique, était mobile comme le vent, c'est à dire, mettons: mobiles comme les représentations que l'on se fait du monde, ce qui en change constamment la taxonomie. Ne pourrait-on pas simplement dire que perl est dans la classe planète de l'univers dans la mesure où, pour le commun des mortel, perl n'est pas assez différencié pour former ne serait ce qu'un petit satellite de la classe langage? Qu'est ce que ça donne pour "littérature" ? est ce pour wikipédia une invention humaine qui est dans l'univers ?
Oui, vous avez raison... Dans ce cas, c'est une vision surréaliste du monde ;-) La Terre est bleue comme une orange, n'est-ce pas ?
Ca n'a en fait rien de pédant. Mais j'aurai mis "orienté".
(Ou alors, c'est un clin d'oeil aux JO ? parce que Graphe dirigé, ça fait 'québécois'. Avec l'accent évidemment. Et là, du coup, j'imagine le commandant du vol DC 132 me faire un cours de Théorie des Graphes, et là, ça n'est plus possible...)
V, Troll.
J'ai toujours dit "dirigé"... Mais je suis irrémédiablement frangliché.
plus sérieusement, la W n'est pas acyclique malheureusement : en EN, Relations Internationales est une sous catégorie de Géographie Politique et ... vice versa :-(
Sinon, un outil. (Essayez 'Perl' justement)
Ca c'est moins bien... Mais je pense que les Wikipediens pourraient facilement mettre en place une détection des boucles et refuser les créations de catégories qui ferment des chemins...
il faut noter que DBpedia par example cherche à structurer Wikipedia. Mais ce qui se rapproche le plus de cet article (en particulier sur la partie automatique) est tout le travail fait par YAGO: http://www.mpi-inf.mpg.de/yago-naga/yago/ pour lier Wikipedia et Wordnet pour generer une grosse Upper Ontology.
Oui, tout à fait. Nos amis allemands sont très actifs dans ce secteur. Comme d'hab on est à la traîne...
Bonjour,
J'examine vos raisonnements aussi souvent vous nous le permettez, et à chaque fois je m'en régale silencieusement...
Aujourd'hui, je ne comprends pas très bien pourquoi vous choisissez la catégorie de manière aléatoire dans la liste de catégories auxquelles elle appartient. J'ai l'impression, sur les quelques pages que je viens de regarder que la première est toujours acceptable sémantiquement. (Pas forcément celle que j'aurais choisie à un instant donné, mais qui donne un résultat acceptable.)
Ainsi, dans votre exemple, on obtiendrait :
Perl
Programming language families
Programming language
Computer language
Computing
Information technology
Technology by type
Technology
Main topic classifications
Articles
Contents
Mais peut être n'ai-je pas compris ce que vous souhaitiez faire ! ou sinon, peut-être aussi que cette généralisation à un (quelques) cas est loin de fonctionner de manière homogène sur l'ensemble des connaissances.
Merci pour votre éclairage.
Cordialement,
Oui, la première catégorie est souvent meilleure, mais je n'ai pas vu de méta-règle sur Wikipedia qui impose de mettre les catégories dans un ordre particulier, et les utilisateurs font un peu selon leur feeling.
Un conte-exemple c'est justement la catégorie "categories by country". Sa première catégorie est "Countries", ce qui est erronée (c'est d'ailleurs là la source du rattachement amusant que j'ai signalé).
Par ailleurs, il y a de nombreux cas où non seulement la première catégorie, mais plusieurs sont également légitimes. C'est le cas sur la catégorie Perl d'ailleurs. Donc comment faire ?
Il manque manifestement un typage plus strict des relations entre catégories. Souvent ces relations sont du type "est-un", mais pas toujours (comme dans le cas "Country").
J'ai remarqué le même phénomène dans le référentiel Rameau. On a principalement deux types de relations : 'est une partie de' (la terre est une partie de l'univers), 'est un' (Perl est une invention américaine). Alors quand on écrase la sémantique voilà ce que ça donne : Perl est une planète du système solaire. Dans le cas Rameau, cela donne 'lundi est une planète'. Après cela, il faut expliquer aux clients pourquoi tel article d'astrophysique remonte lorsque l'utilisateur tape "mercredi"...
Oui, c'est bien cela. On a plusieurs types de relations et quand on les mélange sans les typer c'est extrêmement difficile d'appliquer des algorithmes et surtout de profiter de la transitivité du réseau. Par exemple, il est bien difficile en suivant les catégories de Wikipedia de savoir avec certitude si une entrée est une personne ou pas.
Le graphe des catégories n'est pas une ontologie, c'est un classement thématique. Evidemment, tous les relations ne sonst pas du type "est-un". Il y a aussi des relations purement thématiques, et là on peut dire que country < categories by country est raisonnable.
http://en.wikipedia.org/wiki/Wikipedia:Categorization#The_category_system
Peut-être qu'il faut donc une méthode pour distinguer automatiquement les "topic categories" et les "set categories"...
Oui, c'est bien de cela qu'il s'agit. Les types sont mélangés. Mais je ne vois pas de procédé automatique permettant de démêler l'écheveau, hélas...
On peut déjà filtrer les catégories qui comprennent dans leur nom :
"List", "Categories", voire même " by "
S.P. Ponzetto et M. Strube (2007, "Deriving a large scale taxonomy from Wikipedia") décrivent comment démêler l'écheveau. ;-)
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.93.9954&rep=rep1&type=pdf
Ke> Oui, c'est un article très intéressant. Il montre bien la difficulté de la chose : malgré la complexité des traitements mis en oeuvre, les résultats sont loin d'être parfaits !
"La Terre est bleu comme une orange".
D'où le curaçao bleu !
Enregistrer un commentaire