L'objectif du TP est de construire un index de plusieurs résumés issus de PubMed.
Pour cela, vous allez apprendre à utiliser des outils de TAL et à exploiter leur résultats. Puis vous sélectionnerez les termes et relations que vous jugerez pertinents et représentatifs des résumés.
NB : Si les outils présentés en cours ne sont pas suffisant, vous
pouvez effectuer une partie du travail manuellement (notamment au
niveau du nettoyage du corpus, ou du tri et de la validation des
résultats).
Préliminaires
cd $HOME tar xzvf Termino.tar.gz cd Termino ./install.sh
Vous devez d'abord constituer votre corpus
Après avoir constitué votre corpus, effectuez les traitements suivants : On supposera que le fichier du corpus se trouve dans $HOME/Termino/Corpus$HOME/Termino/TreeTaggerEN.sh $HOME/Termino/Corpus/corpusVIH.txt
$HOME/Termino/Logiciels/grepTerms.pl --terms $HOME/Termino/Corpus/MESH.termlist.txt --corpus $HOME/Termino/Corpus/corpusVIH.txt --list > $HOME/Termino/Corpus/corpusVIH.termsAnalyser les résultats
$HOME/Termino/YaTeA/yatea-ttg.sh $HOME/Termino/Corpus/corpusVIH.ttg
$HOME/Termino/FasterFreeEN.sh $HOME/Termino/Corpus/corpusVIH.txt
$HOME/Termino/FasterFreeEN-YaTeA.sh $HOME/Termino/Corpus/corpusVIH.termCandidates.ttg
$HOME/Termino/FasterControlledEN.sh $HOME/Termino/Corpus/corpusVIH.txt $HOME/Termino/Corpus/MESH.termlist.txt
$HOME/Termino/FasterControlledEN-YaTeA.sh $HOME/Termino/Corpus/corpusVIH.termCandidates.ttg $HOME/Termino/Corpus/MESH.termlist.txt
$HOME/Termino/Logiciels/TreeTagger2AcabitIn.pl < $HOME/Termino/Corpus/corpusVIH.ttg | $HOME/Termino/Logiciels/PatronsLS.pl --liste > $HOME/Termino/Corpus/corpusVIH.relHyperonymie-liste.txt $HOME/Termino/Logiciels/TreeTagger2AcabitIn.pl < $HOME/Termino/Corpus/corpusVIH.ttg | $HOME/Termino/Logiciels/PatronsLS.pl > $HOME/Termino/Corpus/corpusVIH.relHyperonymie.txt
$HOME/Termino/Logiciels/getTermAndHead.sh $HOME/Termino/Corpus/corpusVIH.termList.xml
Analyseurs morpho-syntaxiques (pour l'anglais)
cd $HOME/Termino/TreeTagger PATH=`pwd`/cmd:`pwd`/bin:$PATH
Utilsation
$HOME/Termino/Logiciels/grepTerms.pl --terms Ressource --corpus CorpusTreeTagger --umls(recherche basique) se trouvant dans le répertoire $HOME/Termino/Logiciels
où :
Utilisation :
cd $HOME/Termino/YaTeA PATH=`pwd`:$PATH yatea.sh Config/yatea.rc Corpus
Le fichier Corpus doit être au format de sortie du TreeTagger
Les résultats sont dans le répertoire Corpus créé dans le répertoire courant. Plusieurs fichiers sont disponibles :
Configuration :
Plusieurs fichiers de configuration sont disponibles dans le répertoire YaTeA/Config
Autre possibilité d'utilisation (sans le script yatea.sh) :
cd $HOME/Termino/YaTeA/Lingua-YaTeA PATH=`pwd`/bin:$PATH export PERL5LIB=`pwd`/lib:$PERL5LIB cd $HOME/Termino/YaTeA/Config-General-2.41/blib export PERL5LIB=`pwd`/lib:$PERL5LIBcd $HOME/Termino/YaTeA/Parse-Yapp-1.05/blib export PERL5LIB=`pwd`/lib:$PERL5LIB yatea --rcfile=yatea.rc Corpus
Utilisation :
cd $HOME/Termino/FASTER-2.03 PATH=`pwd`/cmd:`pwd`/bin:$PATH
NB : L'indexation ne consiste pas seulement à identifier les termes pertinents ou discriminants dans un texte, mais aussi regrouper les termes similaires (morphologiquement, syntaxiquement ou sémantiquement). Vous réduisez ainsi la taille de l'index (et donc après, le coût de la recherche dans un contexte de recherche d'information). Vous regroupez ainsi les termes synonymes ou similaires dans une même entrée de l'index.
NB : il est possible que cette partie prenne beaucoup de temps ou que Faster se termine avant la fin. Dans ce cas, il faut découper le fichier ListeDeTermes en plusieurs sous listes (avec split et l'option -l) et lancer l'indexation controlée sur chaque sous liste.
Pour obtenir la liste des termes contrôlés au format TreeTagger, chaque terme doit se terminer par une point. Vous utilisez ensuite TreeTagger pour étiqueter les termes.
Programme complémentaire :
Lex2Faster.pl Ajout un point à la fin de chaque ligne fournit sur l'entrée standard (supprime également tous les points se trouvant à l'intérieur de chaque ligne).
L'option -liste permet de n'afficher que les termes en relation
Les informations en entrée doivent être représentées de la manière suivate : Forme fléchie/Étiquette/Lemme/Clé de hashage
exemple : proteins/NNP/protein/0
Chaque ligne correspond à une phrase.
Fichier de règles (pour la correction de jeu d'étiquette pour TreeTagger pour l'anglais - modifiable pour d'autres jeux d'étiquettes)
Utilisation :
Le corpus doit être au format de sortie de TreeTagger.
Le script produit la sortie suivante :
Forme fléchie/Étiquette/Lemme/Clé de hashage
<FIC NUM=id>identifie chaque phrase.
Le fichier en argument est le fichier XML en sortie de YaTeA
En sortie, chaque ligne correspond à une relation entre un terme hyponyme et un terme hyperonyme.
Le devoir peut être réalisé en seul ou en binôme.
Vous avez à disposition une liste de résumés (avec leur titre et les termes MeSH) au format texte. Les fichiers XML sont disponibles ici
L'objectif du devoir est de construire
Pour cela, vous utiliserez les outils et techniques vus en TP. Puis vous sélectionnerez les termes et relations que vous jugerez pertinents pour être inclus dans les index.
NB : Si les outils présentés en cours ne sont pas suffisants, vous pouvez effectuer une partie du travail manuellement (notamment au niveau du nettoyage du corpus, ou du tri et de la validation des résultats) ou en rédigeant des programmes.
Evaluation : vous devez préparer un rapport de 10 pages maximum dans lequel vous présenterez la méthode et les outils utilisés. Vous analyserez les résultats afin de présenter les problèmes que vous avez rencontrés et que vous n'avez pus résoudre, ainsi que les erreurs et limites constatées.
Avant le 13 novembre 2011, vous enverrez thierry.hamon@univ-paris13.fr et natalia.grabar@univ-lille3.fr :
la soutenance est fixé au 18 novembre 2011 de 14h à 17h (avec la soutenance de RI-BI)