Généralités
Enseignant | Pascal Amsili |
Code | LYST001, Ancien intitulé "Fouille de Textes" |
Lien iCampus | https://icampus.univ-paris3.fr/course/view.php?id=42118 |
Créneau | Jeudi 15h00-17h00, salle B311, Campus Nation. Premier cours: jeudi 21 septembre. |
Contenu | Partie "fondamentale" : sémantique distributionnelle, un peu d'algèbre linéaire (réduction de
dimensionalité, opérations sur les vecteurs...), et plongements lexicaux (de Word2vec à BERT) Partie "applicative" : tâches de sémantique computationnelle : résolution de coréférences, détection des inférences naturelles (RTE/NLI) |
Archives |
Liens vers les pages des années précédentes:
2022-2023,
2021-2022,
2020-2021
lien vers la page de l'année 2019-2020 (programme très différent --- et très perturbé) |
Contrôles
Modalités | Un devoir à rendre chaque semaine pendant |
DM n°1 21/09→28/09 |
Graphe lexical Version courte: Un graphe lexical centré sur le mot/sens de votre choix, comprenant au moins 20 noeuds et 4 types de relations différentes. N'oubliez pas d'indiquer la source que vous avez choisie, ainsi que le mot qui a servi de point d'entrée. Si ce travail vous inspire des remarque ou si vous avez rencontré des difficultés, vous pouvez aussi en faire part brièvement. Sources possibles: wordnet, framenet, RL-fr etc. Pas de version longue |
DM n°2 28/09→05/10 |
Simlex vs. distance lexicale Version courte: À partir des données SimLex-999 téléchargeables ICI, choisir cinq paires de mots concrets ayant une distance supérieure à 9, et cinq paires ayant une distance inférieure à 2. Pour chacune de ces paires, relever les différentes mesures de distance lexicale disponibles dans l'implémentation nltk de wordnet. Il faut bien sûr préalablement installer nltk. Le résultat à produire est une table avec les 10 paires en ligne, et en colonne: la distance SimLex-999 et les valeurs obtenues pour les 3 mesures de similarité implémentées dans nltk (path/lch/wup). Version longue: Ajouter au devoir une étude de corrélation, qui permet a minima de déterminer laquelle des mesures de distances implémentées dans nltk se rapproche le plus de la similarité « naturelle » ; vérifier si la généralisation concerne seulement les mots concrets ou s'applique aussi à d'autres catégories de mots; on ajoutera enfin une comparaison avec une autre mesure de distance, soit structurelle dans un réseau lexical, soit définie d'une autre manière (distributionnelle par exemple). |
DM n°3 05/10→12/10 |
Matrice Terme-Terme Version courte: Construire une matrice Terme-Terme avec des fréquences brutes, en choisissant 5 lemmes qui correspondront à la fois aux lignes et aux colonnes; les fréquences seront obtenues dans le corpus de votre choix (par exemple frWaC). Choisir ensuite deux des lemmes comme formant un espace à deux dimensions, et représenter graphiquement les autres lemmes dans cet espace. Faire la même opération pour trois espaces différents. La représentation graphique peut se faire à la main sur papier quadrillé (on ne cherche pas la précision du dessin), ou en utilisant comme base le petit script python ici. Version longue: Construire une matrice Terme-Terme sur l'ensemble des oeuvres en français d'Emile Zola accessibles sur Gutenberg (utiliser nltk), en utilisant par exemple CountVectorizer de sckit-learn. Proposer ensuite pour 10 mots de votre choix plusieurs représentations dans un espace à deux dimensions, en choisissant comme dimensions (1) les deux mots les plus fréquents, (2) deux mots dont la fréquence est autour de la moyenne, puis en utilisant une méthode de réduction de dimensionalité comme tSNE ou PCA. |
DM n°4 12/10→19/10 (02/11) |
Loi de Zipf Version courte: Avec un corpus en français de votre choix (pas trop petit), vérifier visuellement la loi de Zipf: comptez les fréquences des mot-formes, et plottez un histogramme des fréquences classées par ordre décroissant. Version longue: Vérifier le comportement de la loi pour les principales catégories syntaxiques (il faut donc POS-tagguer le corpus); comparer les listes de stop-words classiques avec une liste obtenue en appliquant un seuil sur la fréquences des types ou des lemmes: déterminer empiriquement le meilleur seuil. En bonus, on pourra essayer de déterminer les paramètres de la loi de puissance pour le corpus considéré, et comparer les corpus entre eux. |
DM n°5 19/10→26/10 (09/11) |
Proportionalité avec GloVe Version courte: Télécharger le code de Glove sur le github de Stanford, et installer la démo (crée 2 index de ~1G chacun). En vous inspirant des data sets de tests disponibles dans eval/question-data, préparer un fichier de quadruplets avec des noms de profession (ex waiter waitress man woman, ou steward stewardess speaker speakrin) comprenant au moins 20 paires, et faire tourner le script de vérification qui détermine un taux de réussite. Version longue: Idem mais au lieu de faire tourner la demo, faire faire les calculs sur un corpus français et préparer des data sets de test comme ceux de la version anglaise. |
DM n°6 16/11→23/11 (07/12) |
Robustesse avec GloVe et word2vec On cherche à établir la liste des mots dont les représentations sont les plus «proches» avec GloVe et word2vec. Choisir une liste de M mots (par exemple les M noms les plus fréquents, ou bien M mots fonctionnels moyennement fréquents...). Pour chacun des mots de cette liste on génère les deux listes des k voisins les plus proches données par GloVe et word2vec (version démo, donc avec des corpus non comparables). On mesure une distance entre ces deux listes (voir plus loin) et on ordonne les mots de la liste initiale par cette mesure. Version courte: M = k = 20, modèles de GloVe et de word2vec de la version démo, distance entre deux listes de voisins définie comme le nombre de mots en commun dans les deux listes. Version longue: Utilisation de modèles démos de GloVe et de word2vec entraînés sur le même corpus, et utilisation de modèles pré-entraînés pour l'anglais; exploration de 3 ou 4 mesures de distance ou de divergence entre les listes de voisins. |
DM n°7 23/11→30/11 (14/12) |
Réduction de dimensionalité Version courte: Construire une matrice Terme-Terme sur le corpus de votre choix en excluant les stop-words (par exemple avec CountVectorizer()). Procéder à une réduction de dimensionalité en utilisant les méthodes PCA et NMF sur la matrice, pour obtenir un espace de dimension 2. Sélectionner les 15 mots les plus fréquents (à partir de la matrice originale), et représenter graphiquement ces mots dans les deux espaces obtenus par réduction de dimensionalité. Version longue: Ajouter des méthodes non-linéaires (t-SNE par exemple) et évaluer la qualité de la réduction en faisant au moins un calcul anaplogique (du type roi-homme+femme=reine) à la fois dans l'espace de départ et dans chaque espace réduit. |
DM n°8 30/11→07/12 |
Représentations lexicales de BERT DM annulé |
Mini-projet | Comparaison de trois types de vecteurs distributionnels et évaluation qualitative.
On demande de construire des vecteurs distributionnels avec trois types de méthodes: (A) des vecteurs distributionnels épars obtenus par comptage de fréquence en corpus (et normalisation éventuelle); (B) les vecteurs précédent après réduction de dimensionalité; (C) des vecteurs de type word2vec ou fasttext obtenus sur les mêmes corpus. Pour comparer les espaces vectoriels obtenus, on procède à une évaluation qualitative: en prenant un choix de 25 mots-cibles comme référence, on va comparer, qualitativement, les k plus proches voisins de chacun de ces mots-cible avec chacun des embeddings (en fixant la distance cosinus). On demande un petit rapport décrivant le travail accompli, les choix effectués et les difficultés rencontrées; l'évaluation qualitative doit être détaillée dans le rapport, qui devra contenir aussi une discussion sur les leçons tirées de l'évaluation. En annexe on fournira le code (commenté), les données, des traces d'exécution éventuelle. L'article (Pierrejean & Tanguy 2018) peut constituer une source d'inspiration. Le travail doit être rendu au plus tard le 14 janvier 2024, déposé sur iCampus (avant 23h59). Tout plagiat, aussi minime soit-il, sera réprimé avec la plus grande sévérité. Le projet peut être réalisé en monôme ou en binôme. |
Résultats | notes (consignes) |
Séances
2023-09-21 | I. Sémantique Distributionnelle § 1. Sémantique lexicale |
exemplier n°1 ; | |
2023-09-28 | I. Sémantique Distributionnelle § 1. Sémantique lexicale (suite) |
exemplier n°2 | |
2023-10-05 | I. Sémantique Distributionnelle § 1. Sémantique lexicale (fin) § 2. L'hypothèse distributionnelle |
exemplier n°3 ; exemplier n°4 | |
2023-10-12 | I. Sémantique Distributionnelle
§ 2. L'hypothèse distributionnelle (suite) |
exemplier n°5 | |
2023-10-19 | I. Sémantique Distributionnelle
§ 2. L'hypothèse distributionnelle (suite) |
exemplier n°6 | |
2023-10-26 | I. Sémantique Distributionnelle
§ 2. L'hypothèse distributionnelle (fin) § 3. Applications |
exemplier n°7 | |
2023-11-02 | Pas de séance (semaine de break) | ||
2023-11-09 | I. Sémantique Distributionnelle
§ 3. Applications (suite) |
||
2023-11-16 | I. Sémantique Distributionnelle
§ 4. Réduction de dimensionalité |
exemplier | |
2023-11-23 | Séance annulée (assises de la recherche) | ||
2023-11-30 | Séance annulée pour raison de santé | ||
2023-12-07 | I. Sémantique Distributionnelle
§ 4. Réduction de dimensionalité (fin) |
exemplier n°9 | |
2023-12-14 | I. Sémantique Distributionnelle
§ 5. Plongements lexicaux |
||
2023-12-21 | Retour personalisé sur les DM (séance facultative) |
Pointeurs en lien avec le cours
- Dan Juravsky et James H. Martin, Speech and Language Processing (3rd edition, draft, 2023).
- Cours «Distributional Models for Lexical Semantics» offert par Denis Paperno en 2017.
- Une mine de ressources sur les statistiques, l'apprentissage
machine:
qui rassemble des poly, des notebooks, des TP en français sur beaucoup d'aspects des statistiques modernes.
- Ressources précieuses en français: diapos et supports sur le text mining proposés par Ricco Rakotomalala.
- Kruszewski, G., Paperno, D., Bernardi, R., & Baroni, M. (2016). There is no logical negation here, but there are alternatives: Modeling conversational negation with distributional semantics. Computational Linguistics, 42(4), 637-660.
- Mohammad, S. M., Dorr, B. J., Hirst, G., & Turney, P. D. (2013). Computing lexical contrast. Computational Linguistics, 39(3), 555-590.
- Mohammad, Said M. (2019). State of NLP. Une série de posts sur medium qui examine l'état de la communauté des chercheurs en TAL, en particulier sur la base des publications accumulées dans l'anthologie de l'ACL.
- Bénédicte Pierrejean, Ludovic Tanguy. Étude de la reproductibilité des word embeddings : repérage des zones stables et instables dans le lexique. TALN, May 2018, Rennes, France. hal-01793370.
Pointeurs généraux
- La revue scientifique (ephémère) « Linguistic Issues in Language Technologies » présente des travaux intéressants portant sur la relation entre linguistique et TAL. Le numéro spécial Interaction of Linguistics and Computationnal Linguistics, paru en 2011, contient un lot d'articles intéressants et toujours d'actualité en grande partie.
- L'ATALA publie depuis 1960 la revue TAL (Traitement Automatique des Langues), qui est en ligne et en accès libre depuis 2006. Si beaucoup d'articles comportent une certaine dimension technique, on trouve aussi des textes plus accessibles au non spécialiste, que ce soit des articles de synthèse ou des discussions.
- L'ATALA organise depuis 1994 la conférence TALN qui est un lieu de rencontre de la communauté (essentiellement francophone) du TAL. Les communications à ces conférences sont systématiquement sélectionnées et publiées sous formes d'articles courts de 6 à 12 pages, qui ne sont malheureusement pas encore rassemblés sur un site unique, mais qui sont assez facile à trouver, en particulier pour les dernières années, sur les sites respectifs de chaque édition.
- Conférences en TAL/NLP les plus importantes.