Apéro Techno Romain Maragou - Aliou Sow Web sémantique
Plan : Introduction Cas d’utilisation chez Canal+ Mise en œuvre Questions ?
Introduction Utilise le web existant Ensemble de technologies permettant de : Structurer les informations Les lier Leur ajouter du sens (métadonnée) Passer des pages Web à un index hiérarchisé Favoriser la compréhension des données par des machines Utiliser le langage naturel et avoir une réponse précise
Utilisation chez Canal+
Contexte d’utilisation chez Canal+ Base de données Programme Canal+ achète de l’information (Plurimédia) Informations du programme Critiques, notes (Allociné) Etc. … Ajouter de l’information pertinente aux programmes Recherche et recommandations plus précises et plus pertinentes
Enrichissement éditorial Suggérer de l’information supplémentaire sur un programme pour l’enrichir Récupérer des informations (gratuites !) sur d’autres sources de données Problèmes rencontrés : Grande quantité d’informations Performance d’une requête Pertinence de l’information Stade expérimental Enrichir la base de données des programmes
Exemple enrichissement programme
Contenu supplémentaire issu du web
Exemple enrichissement programme Contenu supplémentaire issu du web
Exemple enrichissement programme
Recommandation et Regroupement de programmes (en cours) Réconciliation de programmes à partir d’un nombre de points communs après enrichissement Enrichir les liens entre les différentes entités Film / Personnage => acteur joue dans film metteur en scène dirige film) Mieux structurer la base de données des programmes
Recherche ciblée (en cours) Mise en avant de programmes plus précise à partir de la consommation d’un abonné Recherche sémantique pour répondre à des questions assez simples Mieux utiliser la base de données des programmes Les Films où joue Brad Pitt ? « filmographie Brad Pitt » « Brad Pitt Wikipédia » « Brad Pitt Allociné » « Brad Pitt joue au poker à Las Vegas » « etc. »
Recherche ciblée (en cours) Les Films où joue Brad Pitt ? « Seven » « Inglourious Basterds » « Fight club »... Mieux utiliser la base de données des programmes
Mise en œuvre
Technologies utilisées – représentation des données Identifiant de Ressource Universelle : URI Langages de représentation des données : RDF Langage de base du Web Sémantique Langage de définition de graphe Ensemble de triplets : RDFS Extension de RDF Ajoute des concepts de classes, de sous-classes et de type de propriétés OWL (ontologie) Extension de RDF et RDFS Langage de définition des ontologies Ajoute des concepts de classes équivalentes, de propriétés équivalentes, d’égalité ou de différence de ressources, de contraire, de symétrie et cardinalité. Expressivité SujetObjet Prédicat
Technologies utilisées – règles et interrogations Règles d’inférence : RIF Langage de requête : SPARQL
Tennis Rafael Nadal Roland Garros Espagnol Tennis Rafael Nadal Roland Garros Espagnol Joueur de nationalité A gagné SujetObjet Prédicat Web traditionnelWeb sémantique Annotations typées des liens entre les ressources sous forme de triplet « Sujet, Prédicat, Objet » Web Sémantique
Création et peuplement d’une ontologie avec Protégé
Protégé Mieux structurer la base de données des programmes
Protégé Mieux structurer la base de données des programmes
Protégé Mieux structurer la base de données des programmes
Apache Stanbol
Outil open source, ensemble de services de gestion de contenu accessible par web services REST (extension CMS) Fonctionnalités principales : Annotations sémantiques d’information (ajout de métadonnées) Extraction de données et liaison à d’autres informations (privées ou publiques) Personnalisation possible avec un vocabulaire personnel (index Solr) Moteur de requête SPARQL Outil utilisé : Apache Stanbol Mieux utiliser la base de données des programmes
Apache Stanbol – Les différents composants Mieux utiliser la base de données des programmes
Les Moteurs d’analyse sémantique sont les composants responsables de « la compréhension » du contenu. Tika : permet de convertir le contenu parsé en « text/plain » langid : permet de détecter la langue du texte parsé Ner : permet d’extraire les entités connues (personnes, organisations, lieux ) du texte parsé dbpediaLinking : permet de lier les entités extraites avec celles définies par dbpedia.org Etc. Une Chaîne d’analyse sémantique définit comment le contenu parsé par le « Enhancer » est traité. Donc quels Moteurs d’analyse sémantique sont utilisés et dans quel ordre. Il en existe plusieurs types Apache Stanbol – Les Moteurs et Chaînes d’analyse sémantique Mieux utiliser la base de données des programmes
Possibilité de créer et/ou configurer des Chaînes d’enrichissement Apache Stanbol – Enrichissement de données Utilise une Chaîne de Moteurs d’analyse sémantique pour parser un contenu textuel, l’enrichit avec données connues (personnes, lieues, organisation), propose des liens pour accéder à ses sources de données. Mieux utiliser la base de données des programmes
Création d’un index Solr à partir d’une ontologie custom ou de n’importe quelle donnée structurée (exemple dbpedia): Un index pour stanbol est constitué de 2 parties: org.apache.stanbol.data.site.{nom}-{version}.jar, contenant la configuration générale de l’index (nom, données et champs indexés, etc.) {nom}.solrindex.zip, contenant les données et le schéma de l’index Création du moteur d’enrichissement permettant l’utilisation de cet index, puis intégration dans une chaîne d’enrichissement Apache Stanbol – Utilisation de données locales Enrichir la base de données des programmes
Classement, hiérarchisation de données (ex: bibliothèque) Favorise le travail collaboratif dans un domaine (ex: santé) Plus de barrière de la langue (en théorie) Structure des bases de connaissances (ex: DBPedia) Etc … Mais aussi …
Des Questions ?