ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de...

29
ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq, LaTTiCe (CNRS, ENS, Paris 3) [email protected] CORLI, lundi 14 novembre 2016

Transcript of ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de...

Page 1: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS pour l’interrogation de corpus annotés

Travaux pratiques sur les corpus oraux du projet Orfeo

Clément Plancq, LaTTiCe (CNRS, ENS, Paris 3)[email protected]

CORLI, lundi 14 novembre 2016

Page 2: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 2

Plan

● Présentation d’Orfeo– Les corpus

– Les métadonnées, les annotations

● TP 1 : Premiers pas avec ANNIS– Présentation de l’interface et des fonctionnalités

– AQL : Annis Query Language

● ANNIS et les outils de corpus-tools.org– Modèle de données SALT

– Installation et importation de données (outil de conversion Pepper)

● TP 2 : Exploration de corpus avec ANNIS

Page 3: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 3

Présentation d’Orfeo

Page 4: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 4

Orfeo

● Projet ANR (appel corpus) http://www.projet-orfeo.fr/● 7 laboratoires partenaires, coord. Jeanne-Marie Debaisieux

(LaTTiCe)● Objectifs :

– Constituer un corpus d’étude pour le français contemporain

– Rassembler des données secondaires à partir de corpus existants (méta-données, transcriptions harmonisées, alignement texte / signal, annotations)

● Résultats :– Plate-forme d’interrogation des données

– Diffusion des corpus annotés sous licence libre

Page 5: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 5

Orfeo : les corpus

● Oral : 3 millions de mots Écrit : 15 millions● Focus sur les corpus oraux pendant la

formation● Liste des corpus oraux :

http://www.projet-orfeo.fr/corpus/corpus2● Description :

http://www.projet-orfeo.fr/corpus/le-corpus-d-etude-du-francais-contemporain

Page 6: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 6

Orfeo : méta-données

● Corpus oraux hétérogènes (taille, variétés de français, type de textes, date d’enregistrement, domaine, nombre de locuteurs, qualité du signal)

● Méta-données indispensables pour la description des données et aussi pour leur interrogation

● Travail d’élaboration d’un jeu de méta-données communes aux différents corpus

● Utilisation du standard tei (teiHeader) pour l’encodage

Page 7: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 7

Orfeo : annotations

● Départ : transcriptions (transcriber ou praat) et fichiers sons● Chaîne de traitement Orfeo

– Segmentation (manuelle et automatique) en unités macro-syntaxiques

– Tokenisation (macaon, LIF)

– Alignement texte / signal (JTrans, LORIA)

– Étiquetage POS, lemmatisation (macaon, LIF)

– Analyse syntaxique (macaon, LIF)

● Résultat : fichier conll (conll-X + 2 colonnes d’estampilles temporelles)

Page 8: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 8

Orfeo : POSADJ (adjectifs qualificatifs) : méchant, petit, long, gigantesque, drôle, rouge, etc.

ADN (adverbes de négation) : pas, jamais, nullement, guère, plus, etc.

ADV (adverbes) : savamment, peut-être, in extremis, très, environ, etc.

CLI (autres clitiques) : te, lui, -le, -y, en, -leur, nous, etc.

CLN (clitique de négation) : ne

CLS (clitiques sujets) : tu, elles, vous, -vous, c, etc.

COO (conjonctions de coordination) : et, ou, alias, mais encore, voire, puis, etc.

CSU (conjonctions de subordination) : au fur et à mesure qu, tandis que, lorsque, etc.

DET (déterminants) : cette, certains, quelques, un, etc.

INT (interjections) : hein, ben, allô, pfff, no comment, niark, okidoki, parbleu, etc.

NOM (noms) : diplodocus, Montastruc-la-Conseillère, topinambour, Google, etc.

NUM (nombres) : six, treize, milliard, quatorze, mille, billion, etc.

PCT (signes de ponctuation) : !, ?, !, etc., (, », etc.

PRE (prépositions) : des, nonobstant, parmi, pour cause de, par delà, outre, etc.

PRO (pronoms) : moi, celles, les tiens, plusieurs, vous-mêmes, nul, pas grand-chose, etc.

PRQ (pronoms interrogatifs-relatifs) : combien est-ce que, lequel, pourquoi, que, etc.

VNF (verbes à l'infinitif) : tenir, poindre, jouer, entendre, etc.

VPP (verbes au participe passé) : tenu, point, joué, entendu, etc.

VPR (verbes au participe présent) : tenant, poignant, jouant, entendant, etc.

VRB (verbes à la forme finie) : tiens, poignent, joueraient, entendissions, etc.

X (mot inconnu, étranger ou tronqué de catégorie indécidable) : El Paìs, fuck you, etc.

Page 9: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 9

Orfeo : lemmes

Les lemmes sont la forme pour les lexèmes invariables, la forme infinitive pour les verbes, le singulier pour les noms et le masculin singulier pour les adjectifs.

● Le lemme pour les articles (DET) et les pronoms clitiques (CLI) le, la, l, les est le

● le lemme pour du et des est de+le.

● Le lemme pour les pronoms de 1ère et 2ème personne je, tu, nous, vous, me, te … est la forme.

● Le lemme pour les clitiques sujet (CLS) de 3ème personne (il, ils, elle, elles) est la forme masc.sing. il.

● Le lemme pour les pronoms sujet (PRO) de 3ème personne (lui, eux, elle, elles) est la forme du masculin singulier lui.

● Le lemme pour les déterminants possessifs (mon, ma, mes, ton, ta, tes …) est toujours son.

Page 10: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 10

Orfeo : dépendances

ROOT (racine) : verbe, nom, adjectif, adverbe, préposition, coordination

subj (sujet)

aux (auxiliaire): seuls être et avoir

dep (complément) de verbe, de nom, d’adjectif, de préposition, d’adverbe, de coordination

spe (spécifieur)

periph (complément à droite du verbe)

para (éléments de même fonction coordonnés ou énumérés)

disflink (segment non analysable, disfluences)

dm (éléments flottants)

Page 11: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 11

Orfeo : exemple

http://ortolang107.inist.fr/annis-sample/fleuron/V_Scol_endo_02_P4.html

Accès réservé le temps de la formation

identifiant : corli

mot de passe : orfeo

Page 12: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 12

TP 1 : premiers pas avec ANNIS

Page 13: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 13

ANNIS : premiers pas

http://ortolang107.inist.fr/annis-gui/● Composition de l’interface utilisateur● Accès à la documentation, aux méta-données● Sélection des corpus, des options● Requête et visualisation des résultats● Partage d’un résultat ● Fonctionnalités d’export

Page 14: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 14

ANNIS : premiers pas

● Annis Query Language (AQL) : http://corpus-tools.org/annis/aql.html● Recherche par formes

– "vous" (équivalent à tok="vous")

– Disjonction : "vous" | "Vous"

– Expressions régulières : /[Vv]ous/

● Recherche de tokens successifs– . opérateur de "précédence"

● Ex : "vous" . "le" ("vous" directement suivi de "le")

(équivalent à "vous" & "le" & #1 . #2)● "vous" .* "le" ("vous" directement ou indirectement suivi de "le" (50 tokens

max.))● "vous" .1,5 "le" ("vous" séparé de "le" par 1 à 5 tokens)

Page 15: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 15

Annis : premiers pas

● Méta-données– "vous" . "le" & meta::nombreLocuteurs="2" ("vous"

directement suivi de "le" dans un texte avec deux locuteurs)

● Annotations– annotation_name = value

– POS = "CLS"

– POS!= "CLS" (négation)

– POS /CL./ (regex : tous les clitiques)

– "pour" . POS = "ADV" ("pour" directement suivi d’un adverbe)

– LEMMA = /.+ment/ . POS = "ADJ" (token dont le lemme se termine par "ment" directement suivi d’un adjectif)

Page 16: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 16

Annis : premiers pas

● Deux conditions sur le même token– LEMMA = /.+ment/ _=_ POS!= "ADV" (un lemme se terminant

par "ment" qui n’est pas un adverbe)

(équivalent à LEMMA = /.+ment/ & POS!= "ADV" & #1 _=_ #2)

● Noeuds nommés– name# permet permet de nommer un nœud recherché, à la manière

d’une variable

– ment# LEMMA = /.+ment/ _=_ POS != "ADV" &

adj# POS = "ADJ" &

#ment . #adj

Page 17: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 17

Annis : premiers pas

● Dépendance– nœud →dep[deprel="dep_type"] noeud

– "avec" →dep[deprel="dep"] node ("avec" gouverne un nœud quelconque avec une relation ‘dep’)

– POS = "VPP" & #1:root (un participe passé est ‘root’)

– "avec" →dep[deprel!= "dep"] node &

#1 .2,5 #2

("avec" gouverne un nœud avec une relation non ‘dep’. Les deux nœuds sont séparés d’au moins un token)

Page 18: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 18

Annis : premiers pas

● Ce n’est qu’une vue partielle d’AQL– Opérateurs sur les relations de dominance

(treebank)

– Espace de noms permet d’interroger des annotations concurrentielles

● Documentation : http://corpus-tools.org/annis/aql.html

Page 19: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 19

Annis : premiers pas

● Travaux pratiques. Trouvez les requêtes correspondant aux demandes suivantes :– Les noms en "-eur"

– Pronoms interrogatifs relatifs ne commençant pas par ‘qu’

– Idem mais suivi d’un verbe à l’infinitif

– "juste" suivi d’un adjectif

– Les suites NOM NOM

– Les spécifieurs qui ne sont pas des articles

Page 20: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 20

ANNIS et les outils de corpus-tools.org

Page 21: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 21

ANNIS et corpus-tools.org

● Projet open source (CC BY-NC-SA, github) soutenu par– Humboldt-Universität zu Berlin

– Georgetown university

– Universität Potsdam

● ANNIS fait partie d’un ensemble logiciel (corpus-tools.org) composé de :– Salt : méta modèle de données linguistiques

– Pepper : outil de conversion de données linguistiques

– Atomic : logiciel d’annotation de corpus

Page 22: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 22

ANNIS : installation

● ANNIS est écrit en Java● ANNIS fonctionne avec PostgreSQL● ANNIS est un outil web, deux installations possibles :

– Serveur : déploiement dans un serveur d’applications (tomcat)

– Local : kickstarter

● Multiplateforme (Windows, Mac, Linux), 2 prérequis : java, PostgreSQL

● http://corpus-tools.org/annis/download.html

Page 23: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 23

ANNIS et Salt

● ANNIS est un outil web de recherche et de visualisation de données annotées à plusieurs niveaux, quelque soit le type d’annotation

● Possible grâce à Salt, méta modèle de données annotées– Indépendant de la langue

– Indépendant du jeu d’étiquette

– Pas lié à une théorie

– Mutli-niveaux

– Multimédia (support audio et vidéo)

Page 24: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 24

ANNIS et Salt

● Pour être aussi générique Salt a adopté volontairement une sémantique pauvre

● Salt repose sur des graphes– Pas une structure linguistique mais plutôt utilisé en mathématiques et

en informatique

● Un graphe est formé de nœuds reliés par des arcs– Les arcs peuvent avoir une direction (graphe orienté)

– Les nœuds peuvent recevoir des labels

● Salt utilise des graphes orientés– Les tokens sont les nœuds

– Les annotations sont les étiquettes

– Les relations sont les arcs

Page 25: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 25

ANNIS et Salt

● La souplesse de Salt permet d’intégrer de nombreux types d’annotations :– Plusieurs variétés de transcriptions pour un même token

– Pos (même plusieurs tagsets concurrents)

– Lemme

– Entités nommées

– Arbres syntaxiques et constituants

– Relations de dépendance

– Coréférence

– Structures de discours

– ...

● La condition est que les données puissent être modélisées sous forme de graphe

Page 26: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 26

ANNIS et Pepper

● Salt est un modèle, implémenté en classes Java, accessible par une API

● Il existe un format SaltXML mais il est peu utilisé

● Comment importer des données dans ANNIS ?– relANNIS, le format ANNIS est un jeu de tables en

relation composées de données et d’identifiants numériques

– Proche de Salt mais peu lisible, doit être généré

Page 27: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 27

ANNIS et Pepper

● Pepper : outil de conversion de données linguistiques● Salt comme modèle pivot● Import / export de nombreux formats

– Elan

– Exmeralda

– TigerXML

– Conll

– ANNIS

– RST

– MMAX2

– Gate

– PTB

– ...

Page 28: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 28

TP 2 : Exploration de corpus avec ANNIS

Page 29: ANNIS pour l’interrogation de corpus annotés Travaux ... · ANNIS pour l’interrogation de corpus annotés Travaux pratiques sur les corpus oraux du projet Orfeo Clément Plancq,

ANNIS - Corli - 14/11/2016 29

TP 2 ANNIS

● Sujets inversés● Distribution par POS des relations ‘disflink’● Sujets non pronominaux● Compléments adjectivaux du verbe "trouver"● Double marquage sujet (un verbe avec deux

sujets)● ...