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 INTRODUCTION AU SUJET Recherche d’information 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 2 INTRODUCTION AU SUJET Sémantique 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 3 INTRODUCTION AU SUJET Couple qualia 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) 4 PRÉSENTATION DU PROJET Prototype de recherche 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 5 PRÉSENTATION DU PROJET Plan 1-Introduction au sujet 2- Présentation du projet 3- Le Prototype 4- La Spécification 5- Bilan 6 LE PROTOTYPE Fonctionnement Global (1/3) exemples : qualia(magasin, acheter). qualia(disque, acheter). ... corpus Experts linguistes exemple : (...) je pense aller au magasin pour acheter des disques (...) exemples positifs exemples négatifs Apprentissage Programmation Logique Inductive (Aleph) exemples : non_qualia(magasin, penser). non_qualia(disque, aller). ... 7 LE PROTOTYPE Fonctionnement Global (2/3) exemples : qualia(magasin, acheter). qualia(disque, acheter). ... exemples positifs exemples négatifs Apprentissage Programmation Logique Inductive (Aleph) exemple : est_qualia(Nom,Verbe) si : - distance entre Nom et Verbe < 4 mots - Verbe = verbe d’action - Nom = lieu ... règles exemples : non_qualia(magasin, penser). non_qualia(disque, aller). ... 8 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 ... règles Extraction exemples : qualia(magasin, acheter). qualia(disque, acheter). qualia(magasin, vendre). qualia(album, vendre). qualia(disque, vendre). ... couples qualia corpus exemple : (...) Le magasin de disque vend bien le dernier album de Lorie (...) 9 LE PROTOTYPE Fonctionnement Global : Récapitulatif corpus Experts linguistes exemples positifs exemples négatifs Apprentissage Programmation Logique Inductive règles Extraction couples qualia 10 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 11 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 1385\4 1385\11 1385\14 1385\21 1385\29 1385\37 1385\43 1385\48 TOK TOK TOK TOK TOK TOK TOK TOK PTERM_P Le marché du disque devrait reculer cette année . le#det_sg\ddef marché#noun_sg\acy de#prep\rde disque#noun_pl\art devoir#verb_sg\mod reculer#verb_inf\acp ce#det_sg\ddemon année#noun_sg\tme EOS .#sent\sent Problème : utilisation du logiciel payant Cordial7 12 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 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), ... exemple : is_qualia(magasin,acheter) :phrase entière d’où est tirée l’exemple avec l’étiquetage associé à chaque mot. 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 13 LE PROTOTYPE L’apprentissage : Approche générale Objectif : construire des règles permettant d’extraire automatiquement les couples qualia à partir du corpus Utilise la programmation logique inductive, système Aleph (implémenté en Prolog) Obtention de règles généralisant les exemples positifs en excluant les exemples négatifs 14 LE PROTOTYPE L’apprentissage : Schéma Background Knowledge E+ E- Apprentissage Aleph règles En entrée : E+ et E-, les exemples B, le Background knowledge, ensemble de connaissances élémentaires En sortie : les règles 15 LE PROTOTYPE L’apprentissage : Le Background Knowledge 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). 16 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. ┬ is_qualia(A,B) 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) 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. 17 LE PROTOTYPE Extraction des couples qualia Règles prolog générées par Aleph (Apprentissage) Extraction couples qualia Corpus étiqueté sous forme de faits Prolog Extraction = exécution directe des règles Prolog sur les faits Obtention des couples qualia (Nom, Verbe) vérifiant les règles 18 LE PROTOTYPE Bootstrapping : Présentation Motivations : Précédemment , les E+ et E- étaient créés à la main. Pour un bon apprentissage : 3 000 ex. positifs et 3 000 négatifs pour un corpus de 100 000 mots très fastidieux pour les experts linguistes Présentation du module : corpus Prend en entrée un Corpus étiqueté Extrait les exemples positifs et négatifs Bootstrapping Entièrement automatique Basé sur des méthodes statistiques E- E+ 19 LE PROTOTYPE Bootstrapping : Sa place dans le prototype Nouveau schéma de fonctionnement : exemples positifs corpus Bootstrapping exemples négatifs Apprentissage Programmation Logique Inductive règles Extraction couples qualia Permet donc de se passer de l’intervention de l’expert linguiste. Entier automatisme de l’ensemble du prototype. 20 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 21 LE PROTOTYPE Tests & Conclusion Points positifs : Points négatifs : Prototype globalement stable Testé sur un seul corpus (le corpus Matra) Fonctionne sous linux / solaris Pour corpus de grande taille uniquement Résultats relativement bons 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 22 SPÉCIFICATIONS Introduction 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 23 SPÉCIFICATIONS Installation Automatique 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 24 SPÉCIFICATIONS Interface Prototype 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. 25 SPÉCIFICATIONS Interface Prototype 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 26 SPÉCIFICATIONS Nouveau corpus Motivations : Tester le prototype en profondeur Avoir une utilisation personnelle pour notre projet Conditions : Textes dans un bon français (et sans fautes d’orthographe) Contraintes par rapport à l’étiquetage 27 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 : 180 000 mots environ Source : Internet 28 SPÉCIFICATIONS Application Web 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 29 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 : magasin disque Magasin : Avec ces choix, l’utilisateur obtient une nouvelle requête : 1 – acheter 2 – servir 3 – vendre 4 – consommer 5 – ouvrir Résultats : [(magasin acheter) ou (magasin vendre)] ET [(disque écouter) ou (disque lire)] Disque : 1 – écouter 2 – lire 3 – acheter Cette nouvelle requête est directement envoyée vers la page de résultats de Google 30 BILAN Conclusion & Interrogations 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 ? 31