Recherche Sémantique d’Information Soutenance de Janvier Recherche Sémantique d’Information CLERC Frédéric COMMEROT Sami CROGUENNEC Julien GARNIER Nicolas MIGNÉ Vincent VAILLANT Laurent Encadreur : DUCASSÉ Mireille
Resein = recherche sémantique d’information (ie. Basée sur le sens) INTRODUCTION AU SUJET blabla Resein = recherche sémantique d’information (ie. Basée sur le sens) Nécessité d’acquérir une représentation sémantique riche des mots. La représentation choisie est celle des couples qualia. Couple qualia : association d’un nom et d’un verbe qui sont liés par le sens Ex : (magasin, vendre) (magasin, acheter) etc. Intérêt de la récupération automatique de ces couples pour les linguistes.
blabla PRÉSENTATION DU PROJET Fonction du prototype de recherche de Vincent Claveau : L’acquisition automatique des couples qualia contenus dans un texte But du projet : Correction des bogues du prototype Mise en place d’une interface pour faciliter son utilisation par les linguistes Réalisation d’une application Web utilisant les couples qualia
Plan PRÉSENTATION DU PROJET 1- Présentation du projet 2- Le Prototype 2.1- Introduction 2.2- Etiquetage 2.3- Apprentissage 2.4- Extraction 2.5- Bootstrapping 2.6- Tests et Conclusion 3- La Spécification 3.1- Installation automatique 3.2- Interface du prototype 3.3- Nouveau corpus 3.4- Application Web 4- Bilan
Programmation Logique LE PROTOTYPE Fonctionnement Global (1/3) exemples : qualia(magasin, acheter). qualia(disque, acheter). ... exemples positifs Apprentissage Programmation Logique Inductive (Aleph) Experts linguistes corpus exemples négatifs exemples : non_qualia(magasin, penser). non_qualia(disque, aller). ... exemple : (...) je pense aller au magasin pour acheter des disques (...)
Programmation Logique LE PROTOTYPE Fonctionnement Global (2/3) exemples : qualia(magasin, acheter). qualia(disque, acheter). ... exemple : est_qualia(Nom,Verbe) si : - distance entre Nom et Verbe < 4 mots - Verbe = verbe d’action - Nom = lieu ... exemples positifs Apprentissage Programmation Logique Inductive (Aleph) règles exemples négatifs exemples : non_qualia(magasin, penser). non_qualia(disque, aller). ...
Fonctionnement Global (3/3) LE PROTOTYPE Fonctionnement Global (3/3) exemple : est_qualia(Nom,Verbe) si : - distance entre Nom et Verbe < 4 mots - Verbe = verbe d’action - Nom = lieu ... exemples : qualia(magasin, acheter). qualia(disque, acheter). qualia(magasin, aller). ... couples qualia règles Extraction corpus exemple : (...) je pense aller au magasin pour acheter des disques (...)
Programmation Logique LE PROTOTYPE Fonctionnement Global : Récapitulatif exemples positifs Apprentissage Programmation Logique Inductive (Aleph) Experts linguistes corpus exemples négatifs couples qualia règles Extraction
Données nécessaires en entrée d’apprentissage : le Corpus LE PROTOTYPE Données nécessaires en entrée d’apprentissage : le Corpus corpus : texte ou recueil de textes relatif à un domaine spécifique servant à une étude linguistique. contraintes (pour le traitement par le prototype) : taille conséquente (au moins 100.000 mots) en français uniquement style non-littéraire de préférence (phrases concrètes) termes techniques propres au domaine fréquemment utilisés nécessité d’avoir un étiquetage syntaxique et sémantique des mots
Données nécessaires en entrée d’apprentissage : le Corpus étiqueté LE PROTOTYPE Données nécessaires en entrée d’apprentissage : le Corpus étiqueté Exemple de phrase : “Le marché du disque devrait reculer cette année.” 1385\1 TOK Le le#det_sg\ddef 1385\4 TOK marché marché#noun_sg\acy 1385\11 TOK du de#prep\rde 1385\14 TOK disque disque#noun_pl\art 1385\21 TOK devrait devoir#verb_sg\mod 1385\29 TOK reculer reculer#verb_inf\acp 1385\37 TOK cette ce#det_sg\ddemon 1385\43 TOK année année#noun_sg\tme 1385\48 PTERM_P . EOS .#sent\sent Problème : utilisation du logiciel payant Cordial7
Données nécessaires en entrée d’apprentissage : les Exemples LE PROTOTYPE Données nécessaires en entrée d’apprentissage : les Exemples Exemples Positifs E+ (resp. Négatifs E-) : couples Nom-Verbe présents dans le corpus et certifiés par un expert linguiste comme qualia (resp. non qualia). clauses Prolog totalement adaptées exemple : is_qualia(magasin,acheter) :- phrase entière d’où est tirée l’exemple avec l’étiquetage associé à chaque mot. format : is_qualia(N,V) :- tags(et_debut,tc_vide,ts_vide), tags(NomN,tagSyntaxiqueN,tagSemantiqueN), pred(NomN,et_debut), tags(V,tagSyntaxiqueV,tagSemantiqueV), pred(N,V), ... Pour un bon apprentissage : 3.000 ex. positifs et 3.000 négatifs pour 100.000 mots très fastidieux pour les experts linguistes solution alternative automatisée : le Bootstrapping
LE PROTOTYPE Apprentissage
LE PROTOTYPE Extraction
Bootstrapping Nouveau schéma de fonctionnement LE PROTOTYPE Apprentissage (Prolog, Aleph) Extraction couples qualia règles corpus étiqueté E+ E- paramètres Background Knowledge opérateur de raffinement Bootstrapping
Bootstrapping Bootstrapping Présentation du module : LE PROTOTYPE E+ Prend en entrée un corpus étiqueté Extrait les ensembles positifs et négatifs Entièrement automatique Bootstrapping E- E+ Corpus étiqueté
Calcul du score IM3 de chaque couple N-V LE PROTOTYPE Bootstrapping Fonctionnement du module : Calcul du score IM3 de chaque couple N-V Couples ayant le plus haut score = E+ Couples ayant le plus bas score = E- Le score IM3 : Basé sur le nombre d’occurrences du couple N-V La formule :
Bootstrapping LE PROTOTYPE Performance : Tests effectués par Vincent Claveau Tests effectués sur le corpus Matra uniquement : Résultats équivalents avec les E+/E- extrait manuellement
Tests & Conclusion LE PROTOTYPE Points positifs : Prototype assez stable Fonctionne sous Linux / Solaris Résultats relativement bons
Tests & Conclusion LE PROTOTYPE Points négatifs : Pour corpus de grande taille uniquement Pour corpus de style “non-littéraire” Temps d’exécution très longs (de 15 min à 7 jours) Certains paramètres codés “en dur” Prototype difficile à utiliser Prototype difficile à installer
Introduction SPÉCIFICATIONS Le prototype est un programme en ligne de commande création d'une interface et d'un assistant d'installation Un seul corpus est disponible recherche et création d'un nouveau corpus Application : Spécification d'un interface Web
Interface Prototype SPÉCIFICATIONS Pourquoi ? - Interface du prototype en ligne de commande et rebutante. - Souci d'avoir un logiciel exploitable par un linguiste lambda. - Une valeur ajoutée pour la distibution : des fonctionnalités supplémentaires. faciliter la manipulation des données utilisées par le prototype.
Interface Prototype SPÉCIFICATIONS Conception : - Choix d'une interface avec des onglets. - Chacun des onglets représente un module précis du prototype. - Scénarios d'utilisation élaborés pour chaque onglets.
Nouveau Corpus SPÉCIFICATIONS Utilité : Conditions : Tester le prototype en profondeur Avoir une utilisation personnelle pour notre projet Domaine plus intéressant par rapport aux hélicoptères Conditions : Textes dans un bon français Phrases stéréotypées et termes techniques fréquents Contraintes par rapport à l’étiquetage
Nouveau Corpus SPÉCIFICATIONS Domaine choisi : le sport Listing des sports : Sports collectifs Sports individuels Sports mécaniques Sports de combat Sports extrêmes Autres… Autres détails sur le Corpus
Application Web SPÉCIFICATIONS Exemples d’utilisation : L’utilisateur entre sa requête, Exemple : magasin disque Sa requête est traité par l’interface Web et l’utilisateur est renvoyé vers une autre page :
Application Web SPÉCIFICATIONS Page d’aide à la recherche On propose à l’utilisateur de compléter sa requête, avec les couples qualia : Requête initiale : magasin disque Magasin : 1 – acheter 2 – servir 3 – vendre 4 – consommer 5 – ouvrir Disque : 1 – écouter 2 – lire 3 – acheter
Application Web SPÉCIFICATIONS Résultats : Requête initiale : magasin disque Avec ces choix, l’utilisateur obtient une nouvelle requête : (magasin disque) et (acheter ou vendre) et (écouter ou lire) La nouvelle requête est directement envoyée vers la page de résultats d’un moteur de recherche.
Application Web SPÉCIFICATIONS But de l’interface : Conception : Aider un utilisateur dans ses recherches sur Google Lui proposer des sites plus ciblés sur sa requête Prendre en compte la généralité de certaines requêtes Avoir une application concrète pour le prototype Conception : Stockage des couples qualia dans une base de données Classement des couples en fonction de leur pertinence
... BILAN Limites du projet : - lenteur du prototype pour récupérer les couples qualia - couples qualia spécifiques à un domaine précis - nécessité d’utiliser Cordial7 (logiciel sous license) au préalable Interrogations sur l’avenir du projet : - pertinence des couples qualia obtenus à partir de notre corpus - validation de l’interface par les linguistes - efficacité de l’application Web dans la recherche d’informations