Outils de corpus – 1

M1 Plurital

clement.plancq@ens.psl.eu

Objectifs

  • Rappeler quelques notions clés sur les corpus
  • Utiliser des outils dédiés aux corpus
    • Outils d’interrogation
    • Outils d’annotation

À quoi servent les corpus : recherche

  • linguistique
    linguistique de corpus. Sous-branche de la linguistique d’origine anglo-saxonne qui a comme objet principal les données de corpus
  • TAL
    utilisation des corpus pour élaborer des modèles de langage
  • IA

À quoi servent les corpus : industrie

  • correction orthographique, grammaticale, stylistique (Cordial, MS Word, …)
  • fouille de textes, acquisition de connaissances
  • fouille d’opinions (e-reputation)
  • extraction d’informations et systèmes de QA (Watson)
  • traduction (Google Translate, DeepL, Skype Translator) et aide à la traduction

À quoi servent les corpus : industrie

  • génération de texte (Talk to Transformer demo)
  • reconnaissance vocale, synthèse vocale
  • dialoue Homme-Machine, agents conversationnels (ELIZA, Siri (Apple), Alexa (Amazon), Cortana (Ms), Google Home)

Qu’est-ce qu’un corpus ?

« corpus in modern linguistics, in contrast to being simply any body of text, might more accurately be described as a finite-sized body of machine-readable text, sampled in order to be maximally representative of the language variety under consideration. »

(McEnery and Wilson 2001)

Définition stricte d’un corpus héritée de la linguistique de corpus

Corpus ou données ?

  • En TAL, corpus peut prendre une définition plus large : un ensemble de documents textuels

  • On parle aussi de collection de données langagières

  • Frontière ténue entre un corpus et un dataset

Critères de définition d’un corpus

  • Taille (en nb de mots le plus souvent)
  • Annotations (niveaux et outils utilisés)
  • Statut de la documentation (guidelines, publication scientifique)
  • Stratégie d’échantillonnage et origine des textes (genre)
  • Modalité (écrit/oral)
  • Licence et droits d’utilisation

Types d’annotation

  • (Transcription phonétique et/ou orthographique d’enregistrements)
  • Annotation morpho-syntaxique (POS tagging)
  • Annotation syntaxique (en constituants, en dépendance)
  • Annotation sémantique
  • Annotation en structures discursives

Du texte brut au texte annoté

+-------------+
|  texte brut |
+------+------+
       |        sentence splitting
+------v-------+
|   phrases    |
+------+-------+
       |        tokenisation
+------v-------+
|    tokens    |
+------+-------+
       |        POS tagging
+------v-------+
| tagged corpus|
+------+-------+
       |        Parsing
+------v-------+
|   treebank   |
+--------------+

Découpage en phrases

One morning, when Gregor Samsa woke from troubled dreams, he found
himself transformed in his bed into a horrible vermin.  He lay on
his armour-like back, and if he lifted his head a little he could
see his brown belly, slightly domed and divided by arches into stiff
sections.

<s>One morning, when Gregor Samsa woke from troubled dreams, he found
himself transformed in his bed into a horrible vermin.</s> <s> He lay on
his armour-like back, and if he lifted his head a little he could
see his brown belly, slightly domed and divided by arches into stiff
sections.</s>

Découpage en phrases

"Oh, God!"
called his mother, who was already in tears, "he could be seriously
ill and we're making him suffer.  Grete! Grete!" she then cried.
"Mother?" his sister called from the other side.  They communicated
across Gregor's room.  "You'll have to go for the doctor straight
away.  Gregor is ill.  Quick, get the doctor.  Did you hear the way
Gregor spoke just now?"  "That was the voice of an animal", said the
chief clerk, with a calmness that was in contrast with his mother's
screams.
?

Tokenisation

One morning, when Gregor Samsa woke from troubled dreams, he found
himself transformed in his bed into a horrible vermin.

One / morning, / when / Gregor / Samsa / woke / from / troubled / dreams, / he / found / himself / transformed / in / his / bed / into / a / horrible / vermin.

Tokenisation

"What's happened to me?" he thought.  It wasn't a dream.

?

Où trouver les corpus ?

Où trouver les corpus ?

Exemples de corpus

Corpus de référence

  • Brown corpus (Brown University, 1960, 1 million de mots, 500 échantillons de 15 genres, étiqueté en POS)
  • BNC (British National Corpus, 100 millions de mots, échantillonné, étiqueté en POS)
  • COCA (Corpus of Contemporary American English, 560 millions de mots, échantillonné, étiqueté en POS)

Exemples de corpus

Treebanks

Corpus parallèle

Les gros corpus du web

  • frWaC (1,6 milliards de mots, annotation POS avec TreeTagger)
  • FRCOW16 (8,7 milliards de mots)
  • OSCAR (23 milliards de mots pour le français (issu de Common Crawl))

Formats d’annotation

Annotation morpho-syntaxique

  • format Brown (forme/POS/lemme)
L'homme/NPP/*L'homme était/V/être parti/VPP/partir de/P/de
Marchiennes/NPP/Marchiennes vers/P/vers deux/DET/*deux heures.
  • format TreeTagger (forme POS lemme)
L'  DET:ART le
homme   NOM homme
était   VER:impf    être
parti   VER:pper    partir
de  PRP de
Marchiennes NAM <unknown>
vers    PRP vers
deux    NUM deux
heures  NOM heure
.   SENT    .

Formats d’annotation (2)

Annotation syntaxique en constituants

exemple FTB
exemple FTB

Formats d’annotation (3)

Annotation syntaxique en dépendances

exemple orfeo
exemple orfeo

Formats d’annotation (4)

Alignement de corpus (Exemple tiré d’Europarl)

  • format CES

fichier en

fichier fr

fichier alignement

  • format TMX (translation memory exchange)

fichier en-fr

Outils d’exploration de corpus

  • Concordanciers : Wordsmith, AntConc

  • Concordanciers en ligne (lexiqum, lextutor)

  • Outils de requête avec prise en compte des annotations (IMS CWB, NoSketch Engine)

  • Outils de requête pour treebanks (TGrep, Tregex, TIGERSearch, Annis, Grew)

  • Outils pour corpus alignés (opus)

  • Outils de textométrie (TXM, Lexico3)

CQL (corpus query language)

Développé à Stuttgart pour IMS CWB Voir documentation

  • requête sur des champs
[word = "Marchiennes"]
[pos = "NAM"]
[] (n'importe quel mot)
  • support des expressions régulières
[word = ".+eur"]
  • combinaison de champs
[word = ".+eur" & pos="N"]
[pos="N"] [pos="ADJ"]
  • requêtes sur les structures
<s> [pos = "V"]
[pos = "V"] </s>

CQL (corpus query language)

Interrogation du corpus frWac avec l’outil NoSketchEngine

  1. Trouver les noms commençants par ‘anti’

  2. Trouver les mots contenant deux 'z' successifs

  3. Trouver les fréquences par POS des mots se terminant par ‘able’

  4. Comparer les fréquences des adverbes se terminant par ‘ment’ et ceux ne se terminant pas par ‘ment’

  5. Compter le nombre de séquences “adj nom” et “nom adj”