Master Lexicographie, Terminographie et Traitement Automatique des Corpus (Master LTTAC)
J'interviens dans des cours communs :
- aux deux années du Master LTTAC (Lexicographie, Terminographie et Traitement Automatique des Corpus),
- aux deux années du Master EdNITL (Éditions numériques et imprimées de textes littéraires),
À propos du Master LTTAC : un article de la RTBF qui évoque le métier de lexicographe et la formation.
L'année débute avec une semaine intensive de mise à niveau pour les nouveaux étudiants, en ce qui me concerne j'y assure une partie du cours d'algorithmique et un cours de HTML & CSS.
Mon cours principal s'intitule « programmation pour l'extraction d'informations » et le langage de programmation utilisé est Perl pour les M1 et JavaScript pour les M2.
Semaine intensive de mises à niveau
Cours donnés la semaine du 9 septembre 2024. Interrogation le vendredi 20 septembre 2024.
Algorithmique 1/3
- Introduction à l'algorithmique, découpage fonctionnel, notions de complexité, langage de description,
- procédures, variables et paramètres.
Algorithmique 2/3
- Exercices sur les tables de vérité,
- exercices sur les boucles,
- travaux pratiques « Le Robot » avec l'interface « boum le mur ».
Algorithmique 3/3
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é.
HTML 1/3
Cours html.
- internet et web,
- encodages des couleurs et des caractères,
- accessibilité et référencement,
- structure arborescente.
- etc.
HTML 2/3
Cours doctypes html et css.
- sémantique versus mise en forme,
- langages xml,
- validité vis-à-vis des DTD du W3C,
- adaptation aux média,
- etc.
HTML 3/3
Séance de Travaux Pratiques html et css.
Programmation Perl en première année
Présentation du 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 dans le cours perl
- Systèmes d'exploitation Linux.
- Expressions régulières.
- Algorithmique.
- Langage Perl.
Évaluations dans le cadre du cours perl
Premier semestre : QCM+discussion sur table le vendredi 29 novembre 2024.
Second semestre : Devoir sur machine le vendredi 21 mars 2025.
Séances de cours
Perl et textes 1/12, 26+27 septembre 2024
- Introduction au cours « Perl et textes ».
- Système d'exploitation Linux.
- Travaux pratiques : système de fichiers, terminal, commandes linux, etc.
Perl et textes 2/12, 3+4 octobre 2024
- Suite du TP sur linux.
- Introduction au langage perl.
- Premier exercice.
Perl et textes 3/12, 17+18 octobre 2024
- Travaux pratiques sur la production automatique de textes.
Perl et textes 4/12, 24+25 octobre 2024
- Compléments au cours sur Perl : booléens, notion de fonction, écriture dans un fichier, etc.
- Poursuite du TP Perl.
Perl et textes 5/12, 7+8 novembre 2024
- Éléments de théorie des langages.
- Perl et expressions régulières.
Perl et textes 6/12, 14+15 novembre 2024
Poursuite du TP sur Perl et les expressions régulières.
- Pratique des expressions régulières.
- Enrichissement d'un document XML-TEI.
- Production de pages HTML (et d'autres formats).
Perl et textes 7/12, vendredi 17 janvier 2025
- 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, vendredi 24 janvier 2025
Exercice de découpage/comptage en Perl : comptage des mots d'un corpus.
Perl et textes 9/12, vendredi 7 février 2025
Création d'un concordancier.
Perl et textes 10/12, vendredi 14 février 2025
Améliorations du concordancier.
Perl et textes 11/12, vendredi 28 février 2025
Éléments de cours en Perl :
Applications pratiques :
- découverte d'anagrammes pour le scrabble,
- comptage de cooccurrences,
- regroupement par formes des lignes du concordancier.
Perl et textes 12/12, vendredi 7 mars 2025
Passage de Perl vers Python.
Programmation JavaScript en deuxième année
Présentation du 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 dans le 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 dans le cadre du cours JavaScript
Premier semestre : QCM+discussion sur table le vendredi 29 novembre 2024.
Second semestre : Devoir sur machine le jeudi 20 mars 2025.
Séances des cours
JavaScript 1/12, vendredi 27 septembre 2024
- Cours javascript : généralités, syntaxe, variables, structures de contrôle, tableaux.
- TP : exercices de prise en main de JavaScript.
- TP : premier exercice sur les mots et les tableaux.
JavaScript 2/12, vendredi 4 octobre 2024
JavaScript 3/12, vendredi 18 octobre 2024
- Cours javascript : capture des événements du navigateur.
- Cours javascript : modifications du DOM.
- TP : premières captures d'événements.
JavaScript 4/12, vendredi 25 octobre 2024
- Poursuite des travaux pratiques sur les événements.
- TP : exercices sur la modification du DOM par JavaScript.
JavaScript 5/12, vendredi 8 novembre 2024
JavaScript 6/12, vendredi 15 novembre 2024
- TP : fin des exercices sur le canvas en JavaScript.
- Révisions.
JavaScript 7/12, jeudi 16 janvier 2025
- Cours : introduction à l'extraction d'informations et rappels sur les manipulations DOM en JavaScript.
- TP : extractions à partir de documents html5.
JavaScript 8/12, jeudi 23 janvier 2025
- Cours : parcours d'arbres, récursivité, version itérative avec pile.
- TP : poursuite des exercices JavaScript sur les arbres DOM.
JavaScript 9/12, jeudi 6 février 2025
- 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, jeudi 13 février 2025
- 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, jeudi 27 février 2025
Implémentation d'outils JavaScript pour animer et exploiter des documents TEI (transformés en fichiers html par xslt, mis en forme avec css).
JavaScript 12/12, jeudi 6 mars 2025
Production d'un ePub mêlant (x)html5, css et JavaScript.