CLERC Frédéric COMMEROT Sami CROGUENNEC Julien GARNIER Nicolas MIGNÉ Vincent VAILLANT Laurent Encadreur : DUCASSÉ Mireille Recherche Sémantique d’Information Soutenance de Janvier
2 ReSeIn : Recherche Sémantique d’Information But de la recherche d’information : développer des systèmes capables de fournir à un utilisateur, qui interroge une base de données documentaire, les textes les plus pertinents. Difficultés actuelles dans la recherche Internet (Google) : Ce que l’on cherche se trouve rarement dans les premières réponses Temps souvent long avant d’obtenir ce que l’on recherche INTRODUCTION AU SUJET Recherche d’information
3 Exemple d’applications du traitement automatique du langage naturel : Recherche documentaire Traduction automatique Il est nécessaire pour ces applications d’acquérir un lexique décrivant le sens des mots qu’elles manipulent. Représentation sémantique (ie. basée sur le sens) Des études linguistiques ont prouvé qu’il existe un lien sémantique fort entre les noms et les verbes La représentation des couples qualia utilise ce lien Le couple qualia est l’élément central du projet INTRODUCTION AU SUJETSémantique
4 Couple qualia : Fait l’objet d’études linguistiques Extrait du Lexique Génératif développé en 1995 par J. Pustejovsky Définition : association d’un nom et d’un verbe qui sont liés par le sens Exemple : le nom livre Couple (livre,lire) : rôle de but ou de fonction Couple (livre,écrire) : rôle de création etc … Utilité de ces couples dans la recherche d’information Exemple : reformulation de requête « Magasin de disques » « Vendre des disques » avec le couple qualia (magasin,vendre) INTRODUCTION AU SUJET Couple qualia
5 Intérêt de la récupération automatique des couples qualia pour les linguistes Point de départ du projet : prototype de recherche de Vincent Claveau [IRISA,TEXMEX] permettant cette récupération 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 PRÉSENTATION DU PROJET Prototype de recherche
6 1-Introduction au sujet 2- Présentation du projet 3- Le Prototype 4- La Spécification 5- Bilan PRÉSENTATION DU PROJETPlan
7 LE PROTOTYPE Fonctionnement Global (1/3) Apprentissage Programmation Logique Inductive (Aleph) corpus exemples positifs Experts linguistes exemples négatifs exemple : (...) je pense aller au magasin pour acheter des disques (...) exemples : qualia(magasin, acheter). qualia(disque, acheter).... exemples : non_qualia(magasin, penser). non_qualia(disque, aller)....
8 LE PROTOTYPE Fonctionnement Global (2/3) Apprentissage Programmation Logique Inductive (Aleph) exemples positifs exemples négatifs exemples : qualia(magasin, acheter). qualia(disque, acheter).... exemples : non_qualia(magasin, penser). non_qualia(disque, aller).... règles exemple : est_qualia(Nom,Verbe) si : - distance entre Nom et Verbe < 4 mots - Verbe = verbe d’action - Nom = lieu...
9 LE PROTOTYPE Fonctionnement Global (3/3) règles exemple : est_qualia(Nom,Verbe) si : - distance entre Nom et Verbe < 4 mots - Verbe = verbe d’action - Nom = lieu... Extraction corpus couples qualia exemples : qualia(magasin, acheter). qualia(disque, acheter). qualia(magasin, vendre). qualia(album, vendre). qualia(disque, vendre).... exemple : (...) Le magasin de disque vend bien le dernier album de Lorie (...)
10 LE PROTOTYPE Fonctionnement Global : Récapitulatif règles Extraction couples qualia Apprentissage Programmation Logique Inductive exemples positifs exemples négatifs Experts linguistes corpus
11 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 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
12 LE PROTOTYPE Données nécessaires en entrée d’apprentissage : le Corpus étiqueté 1385\1 TOK Lele#det_sg\ddef 1385\4 TOK marchémarché#noun_sg\acy 1385\11 TOK dude#prep\rde 1385\14 TOK disquedisque#noun_pl\art 1385\21 TOK devraitdevoir#verb_sg\mod 1385\29 TOK reculerreculer#verb_inf\acp 1385\37 TOK cettece#det_sg\ddemon 1385\43 TOK annéeannée#noun_sg\tme 1385\48 PTERM_P.EOS.#sent\sent Exemple de phrase : “Le marché du disque devrait reculer cette année.” Problème : utilisation du logiciel payant Cordial7
13 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 LE PROTOTYPE Données nécessaires en entrée d’apprentissage : les Exemples 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 : ex. positifs et négatifs pour mots très fastidieux pour les experts linguistes solution alternative automatisée : le Bootstrapping
14 LE PROTOTYPE L’apprentissage : Approche générale Obtention de règles généralisant les exemples positifs en excluant les exemples négatifs Utilise la programmation logique inductive, système Aleph (implémenté en Prolog) Objectif : construire des règles permettant d’extraire automatiquement les couples qualia à partir du corpus
15 LE PROTOTYPE L’apprentissage : Schéma Apprentissage Aleph règles E+E+ E-E- Background Knowledge En entrée : E+ et E-, les exemples B, le Background knowledge, ensemble de connaissances élémentaires En sortie : les règles
16 LE PROTOTYPEL’apprentissage description syntaxique des différents types de mots : common_noun(W) :- plural_common_noun(W). verb(W) :- infinitive(W ). description sémantique des différents types de mots : common_noun(W) :- artefact(W). verb(W) :- action_verb(W). prédicats d’ordre et de distance (propriétés entre les mots) : precedes(V,N) :- distance(N,V,X,_). near_verb(N,V) :- distance(N,V,_,1). L’apprentissage : Le Background Knowledge Exemple de règle générée : Is_qualia(A,B) :- precedes(B,A), near_verb(A,B), infinitive(B), action_verb(A,B).
17 LE PROTOTYPE L’apprentissage : algorithme 1. Choix de manière aléatoire d’un exemple positif e dans E +. Si E + est vide, arrêt. 2. Construction d’un espace de recherche H Construction du treillis correspondant à e ┬ clause la plus générale ┴ clause la plus spécifique (e) 3. Chercher dans H la règle h qui a le score le plus élevé fonction de score = nb de E+ couverts – nb de E- couverts 4. Retirer à E+ tous les exemples couverts par la règle h. Aller à l’étape 1. e ┴ is_qualia(A,B) ┬
18 LE PROTOTYPE Extraction des couples qualia Extraction = exécution directe des règles Prolog sur les faits Obtention des couples qualia (Nom, Verbe) vérifiant les règles Extraction couples qualia Règles prolog générées par Aleph (Apprentissage) Corpus étiqueté sous forme de faits Prolog
19 LE PROTOTYPE Bootstrapping : Présentation Présentation du module : Prend en entrée un Corpus étiqueté Extrait les exemples positifs et négatifs Entièrement automatique Basé sur des méthodes statistiques Motivations : Précédemment, les E+ et E- étaient créés à la main. Pour un bon apprentissage : ex. positifs et négatifs pour un corpus de mots très fastidieux pour les experts linguistes corpus E+E+ E-E- Bootstrapping
20 LE PROTOTYPE Bootstrapping : Sa place dans le prototype Nouveau schéma de fonctionnement : règles Extraction couples qualia Apprentissage Programmation Logique Inductive exemples positifs exemples négatifs Bootstrapping corpus Permet donc de se passer de l’intervention de l’expert linguiste. Entier automatisme de l’ensemble du prototype.
21 LE PROTOTYPE Bootstrapping : Fonctionnement Fonctionnement du module : Calcul d’un score pour chaque couple Nom-Verbe Ce score est basé sur le nombre d’occurrence du couple Couples ayant le plus haut score = E+ Couples ayant le plus bas score = E- Validation : Fonction choisie : Information Mutuelle au Cube [Daille, 1994] Fonction choisie de manière expérimentale Performances : Vincent Claveau obtient les mêmes résultats qu’avec le système avec manuel, sur le corpus Matra
22 LE PROTOTYPE Tests & Conclusion Points positifs : Prototype globalement stable Fonctionne sous linux / solaris Résultats relativement bons Points négatifs : Testé sur un seul corpus (le corpus Matra) Pour corpus de grande taille uniquement Plutôt pour corpus de style "non-littéraire" Temps d’exécution très long (de 15 min à 7 jours) Certains paramètres sont codés "en dur" Prototype difficile à utiliser et à installer par des linguistes
23 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 Utilisation concrète des couples qualia Spécification d'une application Web SPÉCIFICATIONSIntroduction
24 But : Convention dans le cadre d'une distribution d'un produit Simplifier la procédure d'installation qui est contraignante Installation possible par un linguiste sans intervention de l'administrateur Conception : Une interface qui guide l'utilisateur Un assistant pas à pas Possibilité de voir le déroulement détaillé de l'installation SPÉCIFICATIONS Installation Automatique
25 Pourquoi ? Interface du prototype en ligne de commande et rebutante. Souci d'avoir un logiciel exploitable par un linguiste. Une valeur ajoutée pour la distribution : Des fonctionnalités supplémentaires : Affichage du corpus Sauvegarde facilitée des informations Faciliter la manipulation des données utilisées par le protoype : Les fichiers d'exemples notamment. SPÉCIFICATIONS Interface Prototype
26 Conception : Choix d'une interface avec des onglets. Chacun des onglets représente un module ou un prérequis précis du prototype. Parties de l'interface : 1 : Menu 2 : Onglets 3 : Bouton d'aide 4 : Operation suivante SPÉCIFICATIONS Interface Prototype
27 Motivations : Tester le prototype en profondeur Avoir une utilisation personnelle pour notre projet Conditions : Texte sans fautes d’orthographe Contraintes par rapport à l’étiquetage SPÉCIFICATIONS Nouveau corpus
28 SPÉCIFICATIONS Nouveau corpus sur le sport Nouveau domaine choisi : le sport Listing des sports : Sports collectifs Sports individuels Sports mécaniques Sports de combat Sports extrêmes Taille du corpus : mots environ Source : Internet
29 But de l’application : 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 SPÉCIFICATIONS Application Web
30 SPÉCIFICATIONS Application Web : Exemple Page d’aide à la recherche : On propose à l’utilisateur de compléter sa requête, avec les couples qualia Requête initiale : buteur France Brésil Buteur : 1 – marquer 2 – jouer 3 – tirer 4 – gagner 5 – manquer Résultats : Avec ces choix, l’utilisateur obtient une nouvelle requête : (buteur OU marquer) ET (France Brésil) Cette nouvelle requête est directement envoyée vers la page de résultats de Google
31 Apports : Création de rapports (Latex) Test d’un logiciel Découverte de la complexité des algorithmes Utilisation concrète de Prolog Difficultés de mise en œuvre : Lenteur du prototype pour récupérer les couples qualia Nécessité d’utiliser Cordial7 (logiciel sous licence) au préalable Limite du Projet : Couples qualia spécifiques à un domaine précis Interrogations sur la validation des résultats : 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 ? BILAN Conclusion & Interrogations