OpenLibrary API RDF wrapper on Google App Engine

janvier 5, 2009

I have written a wrapper to expose openlibrary.org api data as RDF. It is written in Python and deployed on Google App Engine. It is only an illustration of Linked Data publication, and in order to get a first feedback, so do not rely on it in your application since the URL or the content will change in the future.

How to use it :

Lire la suite »


Comment installer OWLIM dans Sesame – et jouer avec

octobre 29, 2008

Une des choses frustrante quand vous travaillez dans les technologies du web sémantique c’est que leur intérêt n’est pas facile à expliquer à des techniciens qui ont l’habitude de travailler sur des applications fermées, des bases de données, et du XML; exemple :

« RDF ? hé bien tu vois, c’est un peu comme du XML mais en mieux… »

« OWL ? hé bien tu vois, c’est un peu comme un schéma de base de données mais en mieux… »

« Les données ouvertes ? hé bien tu vois, tu peux partager tes données sur le web et les lier aux autres données existantes pour… comment ça tu t’en fiche ? »

Bref. Lire la suite »


pourquoi les thésaurus et taxonomies évoluent ? et comment ?

septembre 29, 2008

Il y a quelque jour un journaliste me posait des questions sur les thésaurus, j’ai essayé de lui expliquer au mieux les évolutions en cours, je pense que c’était un peu confus. Un court essai pour essayer de mieux comprendre comment et pourquoi les thésaurus et systèmes de classification évoluent rapidement et quels sont les besoins très pragmatiques qui les font évoluer.

Nous avons besoin d’un outil de recherche plein texte plus efficace et précis 

L’entreprise dispose de terminologies permettant de décrire son domaine et d’indexer des documents, il s’agit d’un vocabulaire métier assez pointu et fermé (juridique, médical, scientifique, gestion des retraites…) mais ou chaque concept peut, selon le public, être exprimé avec des termes un peu différents. L’idée est d’enrichir le vocabulaire métier avec toutes les expressions répertoriées pour désigner les concepts métiers. Le thésaurus existant est enrichi de ces termes et l’on suit avec attention les statistiques de recherche sur le moteur pour capturer les expressions utilisées lors des recherches et continuer d’enrichir la terminologie associée aux thésaurus / référentiels.

Nous implémentons un outil de text mining pour automatiser (assister) le processus d’indexation des contenus

L’entreprise veut automatiser l’indexation des documents. Les outils de text mining sont d’autant plus efficaces qu’ils connaissent les termes et expressions à chercher dans les documents. Les termes extraits seront rapprochés automatiquement du thésaurus pour déterminer le concept à utiliser. Il s’agit ici aussi d’enrichir les termes et expressions utilisées pour désigner un concept,  une entreprise, un produit, un lieu, une personne…

L’entreprise peut procéder en compilant des ressources internes existantes, ou en faisant une analyse systématique d’un corpus de documents représentatifs de l’activité afin d’en extraire le vocabulaire métier. Ces terminologies métier seront rapprochés de thésaurus existants ou à construire.

Nous devons assister les utilisateurs de notre portail dans sa navigation 

Nous devons suggérer des produits et contenus en fonction des recherches de l’utilisateur

Dans les deux cas l’utilisateur ne peut connaître la richesse des contenus du portail (documents, produits, réglementations, maladies…), il est utile de pouvoir lui proposer des liens le guidant de sujets en sujets, de lui proposer des informations complémentaires, ou de lui suggérer une réponse à sa recherche à partir d’un raisonnement sur sa demande.

Pour répondre à ces besoins, il est nécessaire d’établir des relations fines entre les sujets métiers décrits dans le thésaurus et les listes d’autorité. On établira une relation entre « sport nautique » et « gites ruraux » ayant le label « pêche », une relation entre une partie du corps et des infections, entre des infections et des molécules, entre une décision de justice et une réglementation, entre un produit et une thématique…

L’ensemble de ces relations (relations sémantiques car il est nécessaire de décrire finement les relations si l’on ne veut pas confondre « produits recommandés » avec « contre indication ») viendront progressivement enrichir le référentiel d’origine pour construire une réelle description de connaissances sur le domaine d’activité.

Ces liens pourront être utilisés dans le portail comme

– de simples suggestions de navigation,  

– pour pousser automatiquement des contenus dans la page,  

– pour proposer un ensemble de contenus intelligemment choisi en fonction de quelques informations données par l’utilisateur (proposer automatiquement un package « week end dans la Nièvre » pour quelqu’un qui veut se détendre, pas trop loin de Paris et avec un budget raisonnable).

Nous devons avoir une indexation très riche des contenus à partir de très peu d’information de base

Nous indexons des images de sport, de télé, d’imagerie médicale…, il est hors de question que quelqu’un remplisse toutes ces données d’indexation dont nous avons pourtant absolument besoin pour la recherche et le filtrage dans le portail, comment enrichir automatiquement à partir d’une saisie minimale ?

Le système de text mining extrait peu d’information, principalement des noms de personnne, de sociétés et de produits, ca ne suffit pas du tout pour notre indexation qui est beaucoup plus riche.

L’idée est ici de confier au référentiel le soin de déduire du peu d’information fournie toutes les autres données d’indexation. En donnant le nom de l’émission de télé et la date, le système devra déduire le producteur, la chaîne de télévision, le présentateur, les droits de rediffusion par pays, la thématique de l’émission.

On enrichira ici le référentiel pour le transformer en une véritable base de connaissance du domaine, avec l’ensemble des liens entre les sujets (telle émission est produite par TF1, animée par Ruquiet, traite des sujets de sociétés et spectacle…), et avec les capacités d’inférer toutes les métadonnées à partir d’une simple information de départ comme le nom de l’émission.

Conclusion

On remarque deux types d’évolution et d’enrichissement des thésaurus :

– un enrichissement de la terminologie métier autour des concepts utilisés pour décrire le domaine,

– un enrichissement des relations entre les concepts du domaine pour former une véritable représentation des connaissances

On remarque aussi le transfert progressif de services habituellement rendus par un humain vers les machines. 

  • La documentaliste ou l’expert métier sont capables à partir d’une information partielle de réaliser une indexation complète du contenu sur un système de classement complexe et formel, ils sont aussi capables de rapprocher automatiquement les expressions utilisées dans un document aux concepts utilisés dans l’entreprise pour la classification.
  • Le vendeur, la documentaliste, l’expert sont capables de comprendre une question d’un utilisateur, de la transcrire dans la représentation utilisée pour la classification des contenus, d’effectuer la recherche, mais aussi de suggérer à l’utilisateur des thèmes de recherche connexes, d’autres produits utiles, des contre indications, des suggestions de voyage…

Ce sont ces services que l’on transfère progressivement aux machines, en leur fournissant des terminologies et des représentations riches, détaillées et formelles de l’univers métier.


Open Calais : du text-mining en mode SaaS

juin 7, 2008

Open Calais, ça aurait pu être le titre de la suite de « Bienvenue chez les ch’tis ». Non, en fait Open Calais c’est un nouvel outil de text-mining en mode SaaS (lancé au début 2008 environ ? je n’ai pas la date exacte). C’est gratuit, y compris pour les applications commerciales, en tout cas pour l’instant.

Là où ça devient intéressant, c’est que tout cela « cause RDF » :

Lire la suite »


Le printemps est social-sémantique

mai 26, 2008

C’est sans doute le temps particulièrement pluvieux qui favorise cette éclosion de nouvelles applications toutes plus sympathiques les unes que les autres à la frontière du social et du sémantique. Le Web social a besoin d’une couche sémantique, et le Web sémantique doit absolument pour être crédible, investir le Web social. Les applications innovantes se précipitent donc dans ce nouvel espace à défricher, qui n’est peut-être pas encore tout à fait un marché, mais où les choses bougent très vite.

Nous avons déjà parlé de Twine, qui fait déjà figure d’ancienne. « Twiner » depuis bientôt deux mois, j’y reste comme beaucoup d’utilisateurs avec une impression mitigée. Interface peu intuitive, beaucoup de fonctionnalités qui existent ailleurs et qu’on s’attendait à retrouver « par défaut » dans cette « première application du Web 3.0 ». Il semble que l’équipe de Radar Networks ait conçu un projet très ambitieux, mais dont elle aura du mal à cerner les limites fonctionnelles. Le « à quoi ça sert? » et le « où suis-je? » reviennent souvent dans les commentaires. Cela dit, l’excellent marketing autour du produit a attiré du beau monde qui n’hésite pas à partager idées et ressources, et il ne faut pas hésiter à s’y perdre un peu, pour découvrir des nouveautés à chaque coin de rue. Si vous ne l’avez pas encore fait, allez y faire un tour (oui, nous avons toujours des invitations) comme on va à Venise ou à Samarcande. Mais ne restez pas sur la grand-place, aventurez-vous dans les ruelles à la recherche de trésors cachés et de rencontres étonnantes. La sémantique là-dedans? Quelque part sous le capot, mais ce n’est pas ce qui m’impressionne le plus. A suivre, le produit doit évoluer et se décanter, et il a au moins réussi un premier pari: rassembler une communauté d’utilisateurs et un contenu de qualité.

D’autres produits plus simples, plus ciblés, et moins tapageurs. Je retiendrai aujourd’hui deux innovations en phase beta, mais qui, contrairement à Twine, ne nécessitent pas d’invitation, et ont une prise en main, des objectifs aussi simples et clairs que leur interface.

Scoutle développe une idée originale pour mettre les blogs en réseau. Après s’être enregistré, on donne une description minimale de son blog par mots-clés et catégories, et on installe un petit bout de code sur son blog. Ce code servira de lieu de rencontre à des agents (les scouts) qui au fil de leurs « rencontres » proposeront des relations supposées pertinentes entre les blogs, et proposent à leurs propriétaires d’entrer en connection. Scoutle n’a pas encore atteint une masse d’utilisateurs suffisante pour juger de la pertinence des algorithmes de ses scouts, mais l’idée est intéressante et l’interface sympathique.

Faviki est encore plus simple dans son concept. Il s’agit de partage de favoris par tags, sauf que les tags ne sont pas des mots libres, mais des références aux articles de Wikipedia, ou plus exactement de leur « sujet » extrait par DBpedia. La sémantique d’un marquage sur Faviki, c’est : « Cette ressource X parle de la même chose que cet article Y de Wikipedia ». « Tags that make sense » est la tagline de Faviki.

Toutes ces applications montrent clairement la voie pour le Web sémantique et social. Il s’agit de s’appuyer sur une composante importante de l’esprit humain, qui a en général du mal à définir ou nommer un référent (la chose indiquée par une ressource ou un document), mais qui peut facilement dire « ces deux objets sont semblables », « ces deux images représentent la même chose », ou « ces deux pages Web ont le même sujet ».


L’absence de preuves n’est pas la preuve de l’absence

mai 24, 2008

Qu’on en commun la recherche de la vie extra-terrestre et la recherche des armes de destruction massive en Irak ?

Elles supposent toutes les deux que le monde est ouvert, et que ce n’est pas parce qu’on n’a rien trouvé qu’il n’y a rien; dans l’un et l’autre cas, l’absence de preuve n’est pas la preuve de l’absence(*).

Dans le monde ouvert des recherches sur le « web of data », hé bien c’est pareil.

Lire la suite »


How-to install a Sesame RDF server

avril 5, 2008

[An english translation of the previous french article]

Every profession has its own tools. For the emerging professions of the semantic web, RDF repositories will become the foundations of the semantic pyramid, a tool that every « semantic worker » will use; maybe one day, when referring to these « semantic workers », we will speak about « semantic manager », or « semantic architects »… Anyway these RDF repositories are talking about promising performances for growing amounts of data : they are reaching one billion of triples, and that is the focus of the next « semantic web challenge » (see also here and there). This remains however ridiculously small compared to relationnal databases, that can store terabytes of data; especially when you consider that, in order to garantee optimal performances on complex queries and inference, RDF databases are generally all loaded into memory…

But not everyone needs a billion-triple-large RDF database, and you can start working with such a tool by installing the Sesame RDF server. Lire la suite »