Accueil / Entreprises / Projets / Mixendo / Patrons d’annotation sémantique d'une page
Patrons d’annotation sémantique d'une page
Offre publiée le Mardi 30 Mars 2010
Description de l'offre
Stage commun Slice Factory et INRIA Sophia AntipolisMalgré l’existence d’outils comme les Micro-formats ou RDFa, aujourd'hui encore très peu de pages web contiennent de la sémantique décrivant leur contenu. La plupart de ces pages sont créées par des CMS à partir de patrons, et suivent par conséquent une structure bien précise et stable. C'est le cas, par exemple, des boutiques en ligne (amazon.fr, materiel.net), des sites de d’information (figaro.fr, lemonde.fr), etc. Il est par conséquent possible d'identifier les éléments d'une page qui contiennent des données, par exemple au moyen des sélecteurs CSS qui leurs sont attachés, d’identifiants DOM ou bien d'expressions XPATH. Ainsi, le repérage et le typage d’éléments d’une page peuvent être faits par un internaute qui souhaiterait extraire des informations structurées par exemple un employé d'une société qui veut traiter de façon automatique des sites.
Prenons comme exemple cette entrée dans un catalogue : http://www.materiel.net/ctl/PC_de_bureau/53672-ee_Box_EB1501_blanc_.html?promocode=10076
Le produit dans sa totalité peut être caractérisé (ex. rdf :type ysm:Product) mais certains éléments internes de la page peuvent aussi être sélectionnés (ex. div#prod td.ProdImg > h1#ProdTitle > a.Brand) extraits et typés (ex. vcard :organization-name).
Bien que des formats existent pour transformer une page qui contient des données et en extraire le contenu (ex. GRDDL et XSLT), nous souhaitons trouver une façon d'associer les données dans une page avec leurs descriptions sans détruire ou transformer cette page. Nous appellerons cette description un patron. Ce patron permet de créer un graphe dont les nœuds ont une correspondance dans le DOM de la page. L’intérêt de garder la correspondance entre les données et leur représentation dans la page est que cela permet à partir de requêtes sur le graphe de visualiser les résultats simplement et d’aller placer des interactions à ces endroits précis en fonction du type de donnée identifié.
L’objectif du stage sera de considérer plusieurs problèmes dans la proposition d’un format de patrons d’extraction. Plusieurs sélecteurs peuvent décrire un même élément. L'objectif est de construire des sélecteurs les plus robustes possible, notamment préférer des sélecteurs invariants d’une page à l’autre et résistant à des changements mineurs de la structure de la page. Afin d’identifier les sélecteurs possibles et de déterminer leur robustesse, une comparaison entre différentes pages similaires du même site peut être nécessaire. La structure du DOM ne correspond pas forcement à la structure de données sous-jacente. L’extraction d’une donnée peut notamment devoir combiner plusieurs méthodes et langages d’extraction pour extraire et re-décomposer un contenu agrégé ou au contraire éclaté (ex. chemin dans le DOM plus expression régulière plus boucle d’itération, voir même des méthodes de TAL légères). En complément au format d’extraction, on s’intéressera à des schémas (ontologies) permettant de qualifier un objet reconnu à l'intérieur d'une page suite à l’application d’un patron fourni pour cette page et à faire le lien entre les patrons d’extraction et les schémas des annotations produites par ces patrons.
Ce stage aura aussi à cœur de respecter et intégrer au maximum les standards existants (ex. RDFa, GRDDL, XSLT, etc.) et certaines propositions pertinentes dans le domaine comme le « Website Parse Template » (http://www.w3.org/Submission/WPT/ et http://www.omfica.org/npo_website_template.php)
Profil recherché
Master, Master pro en informatiqueEcole d'ingénieur 2e ou 3e année.

