Aucun titre de diapositive

publicité
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
Téléchargement