DESCRIPTIF DU SYSTÈME: FASTSEM est une suite d'outils d'analyse sémantique selon le modèle FrameNet. Il peut apprendre un modèle à partir d'un corpus annoté en frames sous le format décrit plus bas et décoder un texte annoté en lemmes, POS et syntaxe. Le système repose sur la liblairie liblinear, qui implémente des séparateurs linéaires. Pour chaque unité lexicale, nous avons un séparateur linéaire décidant du frame associé à cette unité lexicale. Une fois le frame décidé, nous avons un séparateur linéaire par frame, décidant du rôle à donner à chaque frame element. Pour les classifieurs de triggers, nous utilisons des combinaisons de différentes features: - lemme du trigger; - PoS du trigger; - Chemins syntaxiques entre le trigger et les têtes syntaxiques des FE; - Lemmes des FE; - PoS des FE. Pour les classifieurs de FE, nous utiliserons: - Chemin syntaxique entre le trigger et la tête syntaxique du FE; - Lemme du FE; - PoS du FE; - Nom du Frame; - Trigger du Frame. Nous utilisons comme features les chemins syntaxiques entre un trigger et la tête syntaxique de chacun de ses FE, les lemmes des FORMAT CONLL: Le format a un nombre variable de colonnes, ce nombre correspond à 7 colonnes de base auxquelles s'ajoutent n colonnes, n étant le nombre de frames dans la phrase. La septième colonne correspond au Frame si le mot est un trigger, la 7+n ième colonne correspond au rôle que joue un mot dans le n-ième frame. De ce fait un mot ne peut être trigger que d'un seul frame, mais peut jouer un rôle dans plusieurs frames. Par soucis de simplicité, les frame elements composés de plusieurs mots sont réduits à leur tête syntaxique. Le format: id Word Lemma PoS GovId labelSynt Frame Role_in_frame_1 Role_in_frame_2 Role_in_frame_3 ... Exemple: 1 You you PRP 4 SBJ _ Agent _ _ Agent Partner_1 2 and and CC 1 COORD _ _ _ _ _ _ 3 I i PRP 2 CONJ _ _ _ _ _ Partner_2 4 have have VBP 0 ROOT _ _ _ _ _ _ 5 done do VBN 4 VC Intentionally_act _ _ _ _ Undertaking 6 some some DT 8 NMOD Relational_quantity _ Denoted_quantity _ _ _ 7 important important JJ 8 NMOD Importance _ _ _ _ _ 8 work work NN 5 OBJ Working_on Act Mass Factor _ _ 9 together together RB 5 MNR Collaboration Manner _ _ _ _ 10 . . . 4 P _ _ _ _ _ _ FORMAT lexical-units: LU1 frame1 frame2 LU2 frame3 Pour l'anglais on a des LU avec partie de discours, ce qui donne quelquechose du genre: detain.v Detaining Inhibit_movement verdict.n Verdict baron.n Leadership on time.adv Relative_time voice.v Expressing_publicly LIBRAIRIES UTILISÉES: - pickle - glob - getopt - begins - time - zmq INSTALLATION de liblinear: Make dans utils/liblinear-1.96/ puis dans utils/liblinear-1.96/python APPRENTISSAGE: - agglutiner tous les fichiers conll enrichis de sémantique dans deux fichiers (un train et un test) - on peut supprimer les lignes vides qui sont en trop avec la fonction removeEmptyLines de miniclean.py - il vaut mieux aussi supprimer les phrases avec des cycles syntaxiques en utilisant removeSentencesWithLoops de miniclean.py - pour l'apprentissage, on crée d'abord un fichier "premache" avec premacheCorpus.py pour le train et le test - il est possible de réduire le corpus artificiellement en utilisant cutSomePathes.py - on lance l'apprentissage avec fastsem.py train TEST: - utiliser fastsem.py test DECODAGE: - pour décoder un fichier conll on utilise decodeConll.py qui ressort un fichier conll enrichi de la syntaxe à partir d'un fichier conll avec lemmes, PoS et syntaxe annotés.
Select Git revision
fastsem
-
-
- Open in your IDE
- Download source code
Name | Last commit | Last update |
---|---|---|
utils | ||
LUs_ENG.txt | ||
LUs_FR.txt | ||
LUs_ITA.txt | ||
README | ||
exemple.py | ||
fastsem.py | ||
models_ENG.tar.bz2 | ||
models_FR.tar.bz2 | ||
models_ITA.tar.bz2 |