Secteur TAL Informatique

ILPGA Université Paris 3

Cours Modules L7T04/L8T07 "Programmation et projet encadré" (Master TAL 1/2) TAL Paris 3 - ILPGA / Paris X / INALCO

Responsables du cours

S. Fleury/J.M Daube/R.Belmouhoub. (contact : serge.fleury@univ-paris3.fr)

Descriptif du cours

Mise en oeuvre d'une chaîne de traitement textuel semi-automatique, depuis la récupération des données jusqu'à leur présentation. Ce cours posera d'abord la question des objectifs linguistiques à atteindre (lexicologie, recherche d'information, traduction...) et fera appel aux méthodes et outils informatiques nécessaires à leur réalisation (récupération de corpus, normalisation des textes, segmentation, étiquetage, extraction, structuration et présentation des résultats...). Ce cours sera aussi l'occasion d'une évaluation critique des résultats obtenus, d'un point de vue quantitatif et qualitatif.


 

Archives Cours

Sommaire du cours

Projet La vie "multilingue" des mots sur le web


 

Transparents Série 1 (version PDF), "Présentation du cours et du projet, le mini-projet "un mot sur le web", ... ou (version HTML).

Lecture complémentaire :
Les moteurs de recherche multilingues.
Traduction et Veille stratégique multilingue : Supports et communications. On regardera en particulier : M. Jean-Paul PINTE, Institut Catholique de Lille : « La Veille pédagogique : outils et ressources pour les traducteurs »

Outils, liens :
Un nouveau service de traduction en ligne qui permet d'accéder à des millions de textes traduits par d'autres personnes : http://www.linguee.fr/
http://ajaxime.chasen.org : système de saisie en ligne (pratique par exemple quand le japonais n'est pas disponible sur votre machine).
http://blog.imtranslator.com/ : module à installer dans Firefox ou IE.
http://clusty.com/
http://ultralingua.com/online-dictionary/
http://babelplex.com/
http://www.kvisu.com/
http://www.touchgraph.com/
http://www.ujiko.com/v2a/flash.php?langue=fr
http://mapdream.com
http://urfist.univ-lyon1.fr/risi/outils.htm

Transparents Série 2 (version PDF) : "Fichiers et systèmes de fichiers"

Transparents Série 3 (HTML) : "Egrep et expressions régulières"

Projets La vie des mots sur le web : travaux en cours

A voir sur la page Travaux en cours

Travaux réalisés "Un mot sur le web"

(MàJ : 20/01/2010)

Notation des Projets "Un mot sur le web"

Bilan du cours à mi-parcours

Intermède Perl pour les linguistes

"Pourquoi programmer (1) et pourquoi Perl (2)" :
(1) "Working with language data is nearly impossible these days without a computer. Data are massaged, analyzed, sorted, and distributed on computers. Various software packages are available for language researchers, but to truly take control of this domain, some amount of programming expertise is essential"
(2) "The Perl programming language may provide an answer. There are a number of reasons why Perl may be an excellent choice. First, Perl was designed for extracting information from text files. This makes it ideal for many of the kinds of tasks language researchers need. Second, there are free Perl implementations for every type of computer. It doesn’t matter what kind of operating system you use or computer architecture it’s running on. There is a free Perl implementation available. Third, it’s free. Again, for any imaginable computer configuration, there is a free Perl implementation. Fourth, it’s extremely easy. In fact, it might not be an exaggeration to claim that of the languages that can do the kinds of things language researchers need, Perl may be the easiest to learn. Fifth, Perl is an interpreted language. This means that you can write and run your programs immediately without going through an explicit intermediate stage to convert your program into something that the computer will understand. Sixth, Perl is a natural choice for programming for the web. Finally, Perl is a powerful programming language."
(source : [Hammond 2003])

Le cours sera fait à partir des transparents présentés pendant les différentes séances. Ces transparents sont disponibles ci-dessus dans le dossier du même nom et ci-dessous en version flash.

Pour démarrer, on commencera par regarder une application en ligne permettant de tester Perl :
perl-online
http://user.cs.tu-berlin.de/~ulfi/cgi-bin/r-online/perl-online.cgi

IMPORTANT :

On regardera (très souvent) les fiches "MEMO PERL" disponibles sous Agora

Fiche-intro.pdf : Introduction
Fiche1.pdf : généralités
Fiche2-generalites.pdf : généralités (suite)
Fiche2.pdf : généralités (suite)
Fiche3-regexp.pdf : les expressions régulières
Fiche4-TableauxEtHachages.pdf : Les tableaux de scalaires et les tables de hashage
Fiche5-references.pdf : les références (tableau de tableaux...)
Fiche6-fichiers.pdf : les entrées/sorties, gestion de fichiers

Une introduction par l'exemple (avec interface graphique) :

Perl pour le TAL :

Un polycopié est aussi disponible (sous Agora) pour enrichir la présentation du langage Perl.

Ce polycopié est composé de 3 volumes :

1. Le langage de base
2. Une "programmothèque"
3. Présentation détaillée de Perl/tk

Un polycopié complémentaire traite de Perl/XML (utilisation des bibliothèque de la "galaxie XML" avec Perl, voir aussi les slides Perl/XML et les slides Perl/TK).

Projet

Objectif final : étant donnée une liste d'URL, le programme doit pouvoir récupérer les contenus des URLS, "nettoyer" le contenu pour n'en garder que le texte, faire un texte partitionné (marquage des parties FICHIER, LIGNE (?) etc.
Construire un programme avec interface graphique (via Perl/Tk) permettant de construire les différentes étapes suivantes :
Etape 1 : (1) récupérer une URL donnée (2) récuperer une liste d'URL
=> utilisation d'une bibliothèque Perl
Etape 2 : d'en extraire le texte
=> à comparer avec Lynx -dump
Etape 3 : de construire le dictionnaire des formes utilisées (forme + fréquence)
=> pb de segmentation
Etape 4 : de construire une concordance des formes => construire au préalable un programme de concordance (en ligne de commande) sur ce texte de travail
Etape 5 : de produire un rapport sur l'URL : nombre de mots, de balises (type de balises etc.)
=> comptage des éléments de la page (cf cours du semestre 1 en python)
Etape 6 : d'étiqueter le texte via treetagger
=> mode d'emploi de treetagger
Etape 7 : extraction de patron syntaxique
=> recherche de patron donné (NOM PREP NOM, NOM ADJ...)
Etape 8 : exporter le texte au format Lexico3 (forme, lemme etc.) etc.
=> sauvegarder pour réutilisation dans d'autres programmes
Les étapes de progression :
- Phase 1 : un script minimal pour chaque étape
- Phase 2 : préparer l'interface graphique avec Tk
- Phase 3 : articuler l'interface et les modules de calcul
Références :
http://perl.linguistes.free.fr/liste-programmes.html
Cours Perl + Perl/Tk sous Agora
Ressources :
- un squelette minimal de programme à enrichir...

extractor d'URL

Autres lectures conseillées :

Perl pour les linguistes : Programmes en Perl pour l'exploitation des données langagières par Ludovic Tanguy et Nabil Hathout aux Editions Hermès, 2007. Un environnement de travail complet ainsi que tous les programmes présentés dans le livre sont disponibles sur ce site : http://perl.linguistes.free.fr/. On regardera en particulier tous les programmes disponibles sur ce site que l'on pourra (ré)utiliser.

Sur le site Developpez.com, un portail Perl avec de très belles ressources : cours en ligne, outils, codes etc... détour indispensable : http://perl.developpez.com/

Tutoriel des expressions rationnelles en Perl : http://perl.enstimac.fr/DocFr/perlretut.html

Eric Wilhelm has written six tutorials - from “Getting Started with Perl” to “Your First GUI DesktopApplication". The six tutorials are :
http://learnperl.scratchcomputing.com/tutorials/getting_started/ : Getting Started with Perl
http://learnperl.scratchcomputing.com/tutorials/csss/ : Control, Structures, Scoping, and Subroutines
http://learnperl.scratchcomputing.com/tutorials/modules/ : Using and Creating Modules
http://learnperl.scratchcomputing.com/tutorials/objects/ : An Introduction to Objects
http://learnperl.scratchcomputing.com/tutorials/configuration/ : Perl/CPAN Configuration Howto
http://learnperl.scratchcomputing.com/tutorials/wxperl/ : Your First GUI Desktop Application

Projet Boîtes à outils


 


 

Boîtes à outils [Séries 1, 2, 3, 4, 5] : travaux encours

A voir sur la page Travaux en cours

Boîtes à outils [Séries 1, 2, 3, 4, 5] : travaux réalisés (sur le site pluriTAL)

Web Services

Lectures

WebServices à voir

Page du projet "Web Service"

Projets

Weblog Master pluriTAL

Contrôle des connaissances

Projets, travail personnel...

Bibliographie

cf les slides vus en cours...

Lectures

Outils

Liens

Portail TAL - P3 : cours, Tds, outils...

PLURITAL : Filières TAL et ingéniérie linguistique de Paris III Sorbonne nouvelle, Paris X Nanterre, INALCO (Institut National des langues et civilisations orientales)- Apports croisés, complémentaires et pluriels pour le TAL

Rechercher une entrée du TLFi :

 

Rechercher une entrée du XMLittré :