site de Fabien Torre, université de Lille


Master Lexicographie, Terminographie et Traitement Automatique des Corpus (Master LTTAC)

Informations sur les cours que j'assure en Master LTTAC pour l'année universitaire 2016-2017.

J'interviens dans des cours communs à la première et à la deuxième année du Master LTTAC, ainsi qu'au Master 2 LCE (Littératures et cultures européennes). Le langage de programmation utilisé change chaque année : Perl une année, JavaScript la suivante, etc.

Descriptif du cours perl (2016-2017)

Présentation 2016-2017 (cours perl)

Cet enseignement propose une découverte de la programmation avec le langage Perl et une introduction à la manipulation de corpus textuels.

Perl a été créé en 1987 par Larry Wall. Linguiste de formation, il visait dès l'origine un langage de programmation facilitant le traitement des données textuelles. Larry Wall a également voulu que Perl présente de nombreux points communs avec le langage naturel. Par la suite, et outre ces premières caractéristiques, Perl a été utilisé comme un langage glu, c'est-à-dire permettant des changements de formats et facilitant ainsi le dialogue entre des logiciels basés sur des dialectes différents.

Aujourd'hui, Perl est largement répandu et présent sur différentes plates-formes. Il a connu un regain d'intérêt avec l'apparition de nouvelles problématiques tels l'exploration du web caché, le big data et l'open data, et de nouveaux métiers comme data journalist.

Dans le cadre de ce cours nous privilégierons le travail sous Linux, sans que cela soit obligatoire. Tous les supports (notes de cours, feuilles d'exercices, etc.) seront disponibles en ligne et donc accessibles à distance.

Le cours commencera par une mise à niveau sur le système d'exploitation Linux, puis passera en revue les sujets suivants :

  • codages des caractères et formats de documents,
  • mise en œuvre en Perl du cours d'algorithmique et production automatique de textes,
  • expressions régulières en perl et extractions automatiques à partir de textes.

Des réalisations concrètes accompagneront le cours :

  • cryptage et décryptage de messages,
  • découverte d'anagrammes et jeu de scrabble,
  • corrections orthographiques et aide à l'écriture,
  • calcul de co-occurrences et concordancier,
  • constitution automatique de corpus à partir du web,
  • classification automatique de textes, etc.

Cette liste pourra être modifiée et enrichie à l'initiative des étudiants.

Références bibliographiques

Tanguy L., Hathout N. (2007), Perl pour les linguistes,
Programmes en Perl pour l'exploitation des données langagières,
Science Publications, Éditions Hermès.
Christiansen T., Foy B., Wall L., Orwant J. (2012), Programming Perl:
Unmatched power for text processing and scripting,
O'Reilly.

Éléments abordés en 2016-2017 (cours perl)

  • Systèmes d'exploitation Linux.
  • Expressions régulières.
  • Algorithmique.
  • Langage Perl.

Évaluations en 2016-2017 (perl)

Premier semestre : projet de programmation perl à la maison.

Second semestre, interrogation :

  • commentaire d'un code perl existant,
  • déboguage d'un code perl existant,
  • exercice de programmation perl.

Planning des séances perl (2016-2017)

Algorithmique 1/3, lundi 12 septembre 2016

  • Introduction à l'algorithmique, découpage fonctionnel, notions de complexité, langage de description,
  • procédures, variables et paramètres.

Algorithmique 2/3, mardi 13 septembre 2016

  • Exercices sur les tables de vérité,
  • exercices sur les boucles,
  • travaux pratiques avec le Robot.

Algorithmique 3/3, mercredi 14 septembre 2016

Structures de données et algorithmes :

  • type tableaux, tableaux d'entiers, tableaux de mots,
  • premiers algorithmes sur les tableaux : affichage, recherche d'un élément, etc.
  • notions de complexité.

Perl et textes 1/12, vendredi 30 septembre 2016

Perl et textes 2/12, vendredi 7 octobre 2016

Suite du TP sur linux.

Perl et textes 3/12, vendredi 14 octobre 2016

  • Introduction au langage perl.
  • Travaux pratiques sur la production automatique de textes.

Perl et textes 4/12, vendredi 21 octobre 2016

  • Compléments au cours sur Perl : booléens, notion de fonction, écriture dans un fichier, lecture depuis un fichier, ajout dans un tableau, tirage aléatoire d'une case de tableau.
  • Poursuite du TP Perl (conjugaisons automatiques et pipotron).

Perl et textes 5/12, vendredi 4 novembre 2016

  • Éléments de théorie des langages.
  • Perl et expressions régulières.

Perl et textes 6/12, vendredi 18 novembre 2016

Poursuite du TP sur Perl et les expressions régulières.

Perl et textes 7/12, janvier 2017

  • Introduction au second semestre.
  • Cours sur les tableaux associatifs en perl.
  • Retour sur les exercices du premier semestre, avec des tableaux associatifs.

Perl et textes 8/12, janvier 2017

Exercices de découpage/comptage :

  • comptage des mots d'un corpus,
  • décryptage d'un texte codé.

Perl et textes 9/12, février 2017

Création d'un concordancier.

Perl et textes 10/12, février 2017

Améliorations du concordancier.

Perl et textes 11/12, mars 2017

Éléments de cours en Perl :

  • passage de paramètres et références,
  • tableaux de tableaux.

Applications pratiques :

  • regroupement des formes pour le concordancier,
  • comptages lemmes/formes,
  • découverte d'anagrammes (pour le scrabble).

Perl et textes 12/12, mars 2017

TP au choix :

  • Découpage de textes et comptage de cooccurrences et Application à la cartographie.
  • Jeu de scrabble.
  • Écriture intuitive.
  • Améliorations concordancier.

Évaluation sur machine, mars 2017

Descriptif du cours JavaScript (2015-2016)

Présentation 2015-2016 (cours Javascript)

Cet enseignement propose une découverte de la programmation avec le langage JavaScript et une introduction à la manipulation automatique de documents semi-structurés.

JavaScript est un langage intrinsèquement lié aux documents (x)html (c'est-à-dire en particulier la grande majorité des documents présents sur le web), a priori documents statiques que JavaScript permet de rendre dynamiques. JavaScript se différencie des autres langages de programmation car la programmation se fait dans le document lui-même et l'exécution du programme se fait côté client, c'est-à-dire par le navigateur de l'utilisateur. Ces caractéristiques autorisent l'utilisateur à interagir avec le document dans son navigateur, sans aller-retour avec le serveur web.

JavaScript a récemment connu un regain d'intérêt avec :

  • le soutien déclaré en 2009 du W3C au web multimédia avec html5 et au détriment de xhtml,
  • le refus par Apple en 2010 d'utiliser Flash sur ses appareils, le couple html5-JavaScript apparaît alors comme la seule alternative,
  • la volonté des éditeurs traditionnels de proposer leurs livres sous forme d'e-books (dont les formats majeurs comme epub ou kindle sont basés sur html), en profitant du passage papier-numérique pour les rendre dynamiques ou interactifs.

Le cours commencera par une mise à niveau sur html, puis passera en revue les sujets suivants :

  • mise en œuvre en JavaScript du cours d'algorithmique,
  • interaction entre JavaScript et l'objet graphique canvas de html5,
  • modification des documents html à travers l'API DOM de JavaScript.

Des réalisations concrètes illustreront le cours et seront demandées aux étudiants : productions automatiques de phrases, jeux graphiques et ludiques, manipulation de textes, aide à l'étiquetage de textes, extraction et visualisation automatique d'informations, etc.

Cet enseignement pourra servir de bases à d'éventuels apprentissages dans le cursus des étudiants ou dans leur future carrière professionnelle :

  • l'algorithmique et la découverte du langage JavaScript faciliteront l'apprentissage de tout autre langage de programmation,
  • la modification de documents à travers l'API DOM pourra être mise en œuvre avec un autre langage de programmation que JavaScript, et pour des documents xml non nécessairement html.

Les compétences acquises pendant ce cours sont également reconnues dans le monde professionnel, en particulier avec l'utilisation de html5/JavaScript dans les formats e-book.

Les supports de cours et exercices seront disponibles en ligne.

Éléments abordés en 2015-2016 (cours JavaScript)

  • Mise en œuvre en JavaScript du cours d'algorithmique,
  • interaction entre JavaScript et l'objet graphique canvas de html5,
  • modification des documents html à travers l'API DOM de JavaScript.

Évaluations en 2015-2016 (JavaScript)

Premier semestre :

  • Interrogation sur table le mercredi 16 décembre 2015 à 11h30,
  • rendu des exercices au plus tard le vendredi 18 décembre 2015.

Second semestre : devoir à la maison à rendre au plus tard le lundi 21 mars 2016.

Planning des séances JavaScript (2015-2016)

Sauf avis contraire, les cours ont lieu dans la salle A2.423.

Algorithmique 1/3, lundi 14 septembre 2015

  • Introduction à l'algorithmique, découpage fonctionnel, notions de complexité, langage de description,
  • procédures, variables et paramètres.

Algorithmique 2/3, mardi 15 septembre 2015

  • Exercices sur les tables de vérité,
  • exercices sur les boucles,
  • travaux pratiques avec le Robot.

Algorithmique 3/3, jeudi 17 septembre 2015

Structures de données et algorithmes :

  • type tableaux, tableaux d'entiers, tableaux de mots,
  • premiers algorithmes sur les tableaux : affichage, recherche d'un élément, etc.
  • notions de complexité.

JavaScript 1/12, mercredi 30 septembre 2015

  • Cours html/css par l'exemple.
  • Évocation des notions suivantes : internet et web, encodages des couleurs et des caractères, sémantique versus mise en forme, adaptation aux média, accessibilité et référencement, langages xml, doctype et validité vis-à-vis des DTD du W3C, document vu comme un arbre.
  • Travaux pratiques : préparation en html/css des pages destinées à accueillir nos exercices JavaScript.

JavaScript 2/12, mercredi 7 octobre 2015

  • Cours javascript : généralités, syntaxe, variables, structures de contrôle, tableaux.
  • TP : exercices sur les mots.
  • TP : utilisation de tableaux JavaScript.

JavaScript 3/12, mercredi 21 octobre 2015

  • TP : poursuite des exercices mots/tableaux.
  • Cours javascript : capture des événement du navigateur et modification du DOM.
  • TP : premières captures d'événements.

JavaScript 4/12, mercredi 4 novembre 2015

  • Poursuite des travaux pratiques sur les événements.
  • TP : exercices sur la modification du DOM par JavaScript.

JavaScript 5/12, mercredi 18 novembre 2015

  • Cours JavaScript : manipulation de l'objet html5 canvas.
  • TP : premiers exercices avec le canvas.

JavaScript 6/12, mercredi 2 décembre 2015

  • TP : fin des exercices sur le canvas.
  • Révisions.

JavaScript 7/12, vendredi 15 janvier 2016

  • Cours : introduction à l'extraction d'informations et rappels sur les manipulations DOM en JavaScript.
  • TP : extractions à partir de documents html5.

JavaScript 8/12, vendredi 22 janvier 2016

  • Cours : parcours d'arbres, récursivité, version itérative avec pile.
  • TP : poursuite des exercices sur les arbres DOM.

JavaScript 9/12, vendredi 5 février 2016

  • Cours : rappels JavaScript sur la manipulation de chaînes de caractères et sur la gestion de l'arbre DOM.
  • TP : implémentation d'un moteur de recherche simple en JavaScript.

JavaScript 10/12, vendredi 12 février 2016

  • Cours : théorie des langages et expressions régulières.
  • Cours : expressions régulières en JavaScript.
  • TP : pratique des expressions régulières.
  • TP : améliorations du moteur de recherche à l'aide d'expressions régulières.

JavaScript 11/12, vendredi 26 février 2016

  • Cours : utilisation des dataset et web storage html5 en JavaScript.
  • TP : mise en œuvre des dataset et web storage html5 en JavaScript sur un corpus réel.

JavaScript 12/12, vendredi 4 mars 2016

Suivi de projet sur le corpus étudié.

Fabien Torre Valid HTML5! Valid CSS!
Accueil > Enseignement > Formations > Master LTTAC
(contenu mis à jour )
site de Fabien Torre, université de Lille

Description

Survoler un lien de navigation pour lire sa description ici...