BnF fr. 1430, f. 38v

Le Traitement automatique des langues médiévales

Interview des créateurs de la Medieval French Language Toolkit et de D(h)ante.

TAL, NLP : à quoi ces acronymes font-ils référence ? Le premier signifie Traitement Automatique de la Langue, et le second est son équivalent en anglais, Natural Language Processing. Dans ce billet et le suivant, nous nous intéresserons au TAL/NLP pour les langues médiévales, en particulier le français et l’italien.

[introduzione in italiano, di seguito]

Les outils du NLP permettent d’opérer un traitement automatique de la langue selon différents angles d’attaque : l’analyse grammaticale ou sémantique, la syntaxe, la reconnaissance des entités nommées, par exemple. La plupart de ces logiciels sont capables d’apprendre à reconnaître certaines entités ou caractéristiques d’un objet linguistique repéré dans un corpus déjà annoté (corpus d’apprentissage ou training corpus) et d’appliquer ce qui a été appris à un nouveau corpus. Le problème, évident pour les langues médiévales, est que les corpus sur lesquels le programme peut s’exercer sont peu nombreux : imaginer le volume des sources disponibles en format numérique pour l’anglais ou l’italien du XIV° siècle donne une idée de la différence, et donc de la difficulté à créer des outils pour traiter ces langues automatiquement.

Néanmoins, certaines ressources sont aujourd’hui disponibles, et leurs créateurs- développeurs, interviewés pour Fonte Gaia, vont nous présenter deux d’entre elles : Serge Heiden, pour la Medieval French Language Toolkit et Angelo Basile pour D(h)ante. Ces deux ressources fournissent les fichiers de paramétrage pour TreeTagger, un programme de lemmatisation avec lequel, grâce à la contribution de la communauté des utilisateurs, il est aujourd’hui possible de traiter un très grand nombre de langues.

[Que signifie “le fichier de paramétrage pour TreeTagger”? Imaginons un logiciel de traitement de texte, comme Open Office Writter ou Microsoft Word : dans ces deux programmes, nous pouvons charger des dictionnaires d’un grand nombre de langues, de façon à pouvoir utiliser le correcteur orthographique par exemple. TreeTagger fonctionne de manière assez similaire : le programme permet l’analyse grammaticale, mais l’utilisateur doit spécifier quel fichier de paramètres (lequel inclue le dictionnaire, la liste des tags et le texte déjà annoté) il souhaite utiliser, et donc, quelle langue doit être reconnue. TreeTagger utilise des arbres décisionnels (decision trees) pour déterminer ses réponses, vd. Schmid, Helmut, Decision Trees, in The Handbook of Computational Linguistics and Natural Language Processing, a c. di C. Alexander, C. Fox and S. Lappin, Malden, MA 2010.]

Decision Tree

Dans ce billet, nous nous intéresserons au Medieval French Language Toolkit, le prochain sera consacré à D(h)ante. FonteGaia remercie Serge Heiden, qui a fourni le reponses pour la MFLT. Nous remercions aussi Claire Mouraby et Serge Heiden pour la versione française.

 


[in italiano]

Interviste ai creatori di Medieval French Language Toolkit e D(h)ante

TAL, NLP, cosa significano questi acronimi? Il primo sta per Traitement Automatique de la Langue, e il secondo è la traduzione inglese, ovvero Natural Language Processing. In questo e nel prossimo post ci occuperemo di TAL/NLP per le lingue medievali, in particolare per il francese e l’italiano.

Gli strumenti di NLP permettono di processare la lingua in vari modi: dall’analisi grammaticale, a quella sintattica, al riconoscimento di nomi o allo studio della semantica, ad esempio. Molti di questi procedimenti fanno sì che il programma impari a riconoscere una certa entità o caratteristica dell’oggetto su un corpus già marcato (corpus d’apprentissage, o training corpus) e applichi quanto imparato su un nuovo corpus. Il problema evidente per le lingue medievali è che i corpora sui quali il programma può esercitarsi sono pochi: immaginare la quantità di risorse disponibili in formato digitale per l’inglese o per l’italiano del Trecento dà un’idea della differenza, e quindi della difficoltà di creare strumenti per processare queste lingue.

Nonostante ciò, alcune risorse sono ad oggi disponibili, e proprio di due di queste ci parleranno i loro creatori e sviluppatori, che sono stati intervistati per FonteGaia: Serge Heiden, per il Medieval French Language Toolkit, e Angelo Basile, per D(h)ante. Entrambe le risorse forniscono file di parametri per TreeTagger, un programma di lemmatizzazione con il quale, grazie ai contributi della comunità degli utilizzatori, è oggi possibile processare moltissime lingue.1

[Cosa vuol dire un file di parametri per TreeTagger? Immaginiamo un programma di scrittura, come OpenOffice Writer o Microsoft Word: in essi possiamo caricare dizionari di varie lingue, in modo da usufruire della correzione ortografica etc. Qualcosa di simile succede per TreeTagger: il programma fa l’analisi grammaticale, ma l’utente deve specificare quale file di parametri (che include dizionario, lista dei tag, e testo già marcato) utilizzare, e dunque quale lingua riconoscere. TreeTagger utilizza decision trees per determinare le sue risposte, vd. Schmid, Helmut, Decision Trees, in The Handbook of Computational Linguistics and Natural Language Processing, a c. di C. Alexander, C. Fox and S. Lappin, Malden, MA 2010.]

Brain diagram
https://commons.wikimedia.org/wiki/File:14th-century_painters_-_Diagram_of_the_brain_-_WGA15761.jpg

In questo post ci occupiamo del Medieval French Language Toolkit, mentre il prossimo sarà dedicato a D(h)ante. FonteGaia ringrazia Serge Heiden per aver fornito le risposte su MFLT. Ringraziamo anche Claire Mouraby e Serge Heiden per la versione francese.


 

 

1. Qu’est-ce que c’est la Medieval French Language Toolkit <https://github.com/sheiden/Medieval-French-Language-Toolkit> ?

C’est un entrepôt public d’hébergement de ressources linguistiques utiles au traitement automatique du français médiéval et développées et diffusées sous forme ouverte (sous licence open-source).

Le premier objectif de mise en place de cet entrepôt est de développer sous licence open-source toutes les ressources linguistiques nécessaires à la lemmatisation du français médiéval. Nous sommes donc en train de faire trois choses :

  1. compiler diverses ressources linguistiques disponibles
  2. obtenir la permission de diffuser les ressources compilées résultantes sous licence open-source
  3. diffuser ces ressources sous licence ouverte

Les services de la plateforme Github permettent de recevoir des commentaires (eg bugs) ou des améliorations (augmentation, corrections, etc.) des ressources par la communauté des utilisateurs de ces ressources. Nous espérons donc qu’un cercle plus large de contributeurs que les partenaires initiaux permettra d’obtenir de meilleurs ressources et donc une meilleure lemmatisation à long terme. C’est également une façon de pérenniser sur le long terme des développements de lemmatiseurs réalisés par des projets financés à durée limitée. Quand un nouveau financement arrive, on peut reprendre les ressources là où elles en étaient avec des responsabilités claires (copyright).

Il existe un entrepôt similaire pour le traitement du latin classique et du grec ancien appelé The Classical Language Toolkit http://cltk.org.


2. Qu’est-ce que c’est TreeTagger et pourquoi vous avez décidé de l’utiliser ?

TreeTagger est un logiciel de lemmatisation développé par Helmut Schmid (http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger) depuis les années 90. Il fonctionne selon deux modes :

  1. le premier mode apprend un modèle linguistique de lemmatisation à partir d’un corpus d’apprentissage et d’un lexique morphologique (composé de triplets ‘forme graphique du mot / catégorie / lemme’)
  2. le second mode projette un modèle linguistique sur un texte brut pour lemmatiser ses mots

Nous l’utilisons parce qu’il a de bonnes performances pour les mots inconnus, parce qu’il est intégré par défaut dans la plateforme TXM et parce qu’il dispose d’une grande quantité de modèles linguistiques différents pour lemmatiser beaucoup de langues.

TreeTagger est notre baseline pour la performance de la lemmatisation et pour la construction de ressources linguistiques pour une première étape de travail. Comme il n’est pas open-source , nous ne pouvons pas améliorer le logiciel de lemmatisation lui-même selon le même principe que les ressources linguistiques. Nous sommes donc en train de faire un état de l’art des logiciels de lemmatisation open-source pour remplacer TreeTagger (ici https://groupes.renater.fr/wiki/txm-info/public/specs_import_annotation_lexicale_auto#etat_de_l_art_general_et_pour_le_francais). Le logiciel choisi devra avoir de meilleures performances que TreeTagger ou similaires.


3. Quel est votre corpus d’apprentissage?

Le corpus d’apprentissage est un ensemble en évolution de textes de la Base de Français médiéval (http://bfm.ens-lyon.fr) encodés en XML-TEI et étiquetés morpho-syntaxiquement avec le jeu d’étiquettes CATTEX (http://bfm.ens-lyon.fr/spip.php?article176). En juin 2017 il est composé de 35 textes soit 1.010.222 mots et ponctuations. Ce corpus est accessible sous licence open-source après avoir signé la charte de la BFM par le biais d’une inscription au portail de la BFM (http://txm.bfm-corpus.org). Voir les Conditions Spécifiques d’Utilisation de la BFM (http://txm.ish-lyon.cnrs.fr/bfm/html/CSU.html).

Il s’utilise en association avec le lexique morphologique FROLEX diffusé dans la MFLT (voir https://github.com/sheiden/Medieval-French-Language-Toolkit/blob/master/MANUAL).


4. Combien le training corpus influence les résultats ? (par exemple, s’il n’y a pas de textes juridiques dans le corpus, est-ce que le programme fonctionnera correctement sur un texte juridique ?) Ça nous aide aussi à comprendre comment ces outils fonctionnent.

Une étude a montré que la performance est le plus influencée par les mots des textes à lemmatiser inconnus du lexique ayant servi à l’apprentissage, qui peuvent être soit des noms propres soit des mots de la langue, que par les différences de genre entre le corpus à lemmatiser et le corpus d’apprentissage (https://halshs.archives-ouvertes.fr/halshs-00087995).


5. Comment cet outil est né (d’une exigence concrète, d’un projet spécifique, d’une idée générale, etc.) ?

Cet outil est né dans le cadre du projet ANR-DFG Palafra (2015 – 2018) #ANR-14-FRAL-0006 (https://www-app.uni-regensburg.de/Fakultaeten/SLK/Medieninformatik/PaLaFra/?lang=en).

Il répond concrètement au besoin de lemmatiser la Base de Français médiéval pendant la durée du projet tout en mettant en place un environnement open-source de lemmatisation de l’ancien français.


6. Pouvez-vous citer un projet qui utilise le Medieval French Language Toolkit?

  • projet ANR-DFG Palafra.

7. Que type d’application envisagez-vous pour cet outil ?

  • étiqueter morphosyntaxiquement des textes en français médiéval ;
  • lemmatiser des textes en français médiéval ;
  • offrir des services de pré-traitement au calcul de propriétés d’unités dans des chaînes de co-références (cf projet ANR DEMOCRAT #ANR-15-CE38-0008 <http://www.agence-nationale-recherche.fr/?Projet=ANR-15-CE38-0008>) ;
  • offrir des services de pré-traitement à des analyseurs syntaxiques pour le français médiéval (cf projet ANR Profiterole).

8. Est-ce qu’il y a des plans pour le futur du Medieval French Language Toolkit?

Nous espérons que la MFLT pourra se développer selon un mode open-source par une communauté d’utilisateurs/contributeurs élargie pour obtenir une meilleure lemmatisation à long terme.

Nous comptons ultérieurement répliquer cette infrastructure open-source de lemmatisation pour la construction communautaire d’autres lemmatiseurs, pour le français moderne et le latin médiéval notamment.


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *