Aux nouvelles
Notes (correctif)
Une erreur était présente dans le calcul de vos notes. J'ai donc modifié vos notes sur Studium. Le calcul suivant a été effectué pour obtenir votre total au cours:
total = (intra * 1.2 * 30) / 66 + ((tp1 + tp2 ) * 35) / 20
j'ai ensuite utilisé la table de conversion donnée dans la capsule du 4 mai 2018. Je vous rappelle la tenue d'une permanence de mercredi entre 14h et 15h30.
Notes
Les notes de vos devoirs / exams sont disponibles sur le site
studium. Les devoirs sont notés sur 20, l'examen totalise 66
points. Chaque devoir comptait pour 35% de la note, l'examen pour
30%. Studium ne permet pas d'importer des notes lettrées, aussi vous
pouvez la déduire à partir de la colonne TOTAL
à
l'aide de a conversion suivante:
>= 89 A+ >= 85 A >= 80 A- >= 77 B+ >= 73 B >= 70 B- >= 65 C+ >= 60 C >= 57 C- >= 54 D+ >= 50 D >= 35 E else F (ou abandon)
N'hésitez pas à venir voir votre copie, le corrigé et vos devoirs mercredi 9 mai entre 14h et 15h30 à mon bureau.
Prochain cours
Aucun présentation à l' agenda pour aujourd'hui. Le prochain cours aura lieu mercredi prochain avec trois présentations prévues.
Présentations
Pour celles et ceux qui présenterez en classe, merci de me transmettre par mail une période et un titre que je mettrai à jour dans cet agenda. Au plus tard la veille au soir de la présentation, vous m'enverrez votre présentation au format pdf que j'ajouterai à cet agenda.
Test Devoir #1
J'ai déposé 5 nouvelles tranches pour tester vos devoirs sur une même base:
Vous pouvez consulter ces tranches au DIRO directement sur:http://www-labs.iro.umontreal.ca/~felipe/IFT6285-Hiver2018/resources/tmp.2pvHHmkcyH/tp1/blind/
.
Le format est le même que les autres tranches, si ce
n'est qu'une seule colonne est fournie (les lemmes). À vous de
produire la colonne manquante. Produisez un fichier de deux colonnes
(au même format que ceux qui vous ont été donnés lors de la
réalisation du devoir 1). Les 5 fichiers de réponse sont à fournir
sous forme d'un répertoire compressé (zip, tar, gzip) sur Studium
dans un dossier intitulé: Devoir #1 TEST
. Vous avez
jusqu'au 27 mars pour déposer vos sorties (base volontaire).
Examen
L'examen du cours aura lieu jeudi 29 mars 2018 dans la salle de cours (Z-255) à l'heure du cours (12h30). Vous pouvez utiliser votre ordinateur pour consulter des pdfs déjà chargés sur votre ordinateur (vous ne pourrez pas taper sur votre clavier, ni utiliser internet). Voici à titre indicatif un examen passé.
Devoir 2
Le sujet du devoir 2 est disponible et sera présenté en cours aujourd'hui. Suivez l'onglet travaux.
Cours annulé
Le cours du mercredi 21 février est annulé. Désolé de cette annonce de dernière minute.
Devoir 1
Le sujet du devoir 1 est disponible et sera présenté en cours aujourd'hui. Suivez l'onglet travaux.
Premier cours
Bonne rentrée à tous. Le premier cours aura lieu mercredi 10 janvier en salle Z-255 du pavillon Claire-McNicoll.
TP1: Sequence de lemmes vers formes de surface
Objet du TP
De nombreuses chaînes de traitement des langues font intervenir des
lemmes. Le lemme d'un mot est sa forme de
base. Ainsi manger
est la forme de base (le lemme)
associé à la forme mangeront
. Dans ce devoir, vous
allez mesurer quelle est la perte liée à traiter des séquences de
lemmes plutôt que des séquences de formes. Votre objectif est à
cette fin, de réaliser un système capable de procéder à la
prédiction d'une séquence de formes à partir d'une séquence de
lemmes. Ce type de mapping est un problème générique que
vous pouvez tenter de résoudre par
une approche
populaire. Vous pouvez également décider de produire des règles,
ou tenter d'entraîner un modèle à base de features. Ceci est laissé
à votre sagacité. Dans tous les cas, la note à ce TP ne dépendra que
faiblement des résultats que vous allez obtenir, mais sera bien
davantage corrélée à la curiosité avec laquelle vous allez étudier
le problème.
Données disponibles
Des données pour la langue anglaise (une des langues les plus
``plates'' pour ce genre d'exercice, les phénomènes dérivationnels
pour l'anglais étant en nombre limité) ont été extraites de
Wikipédia et sont encodées en utf-8
. Vous avez accès à
un total de 2020 tranches de 1000 articles chacune, où un article
est représenté par une succession de lignes, où une ligne représente
un mot (forme de surface, tabulation, puis lemme), et où chaque phrase est
marquée d'une ligne vide. Chaque tranche fait en moyenne 2M non
compressée (800k compressée avec gzip). Voici un extrait d'une telle
tranche (la première phrase en fait):
#begin document 21466609
FOCS foc
, ,
the the
Annual annual
IEEE ieee
Symposium symposium
on on
Foundations foundations
of of
Computer computer
Science science
, ,
is be
an a
academic academic
conference conference
in in
the the
field field
of of
theoretical theoretical
computer computer
science science
. .
Je souligne que les lemmes ont été produits automatiquement, et
qu'il se peut qu'il y ait du bruit dans les
données. Ainsi foc
n'est pas le lemme
de FOCS
qui est un acronyme
pour Foundation of Computer
Science .
Les données sont assez volumineuses et vous n'avez pas obligation de tout utiliser. Si au contraire, vous manquez de données, alors vous pouvez en utiliser d'autres dont vous expliquerez précisément la nature. Notez que les données de test sont extraites également de Wikipédia, aussi ne devriez-vous pas utiliser Wikipédia comme source de données supplémentaires. Si vous utilisez uniquement les données fournies, alors vous êtes en mode dit fermé, sinon vous êtes en mode ouvert. Si vous utilisez des modèles déjà entraînés, c'est comme si vous aviez utilisé la ressource sur laquelle le modèle a été entraîné. Voici ce qui est disponible:
- train
- 1500 tranches de Wikipédia
- dev
- 500 tranches de Wikipédia disjointes des tranches de train.
- test
- 20 tranches de Wikpédia, disjointes de train et dev.
- mystere
- 5 tranches mystère qui vous serons données plus tard pour lesquelles vous n'avez pas la forme de surface associée (à un lemme). Ces tranches sont réservées afin que je puisse évaluer de manière commune vos systèmes. Je vous demande en effet de produire (dans la mesure du possible) votre meilleure prédiction afin que je puisse évaluer vos sorties à l'aide de mes scripts d'évaluation.
Ces données sont disponibles directement sur les machines du diro
dans le
répertoire /home/www-labs/felipe/public_html/IFT6285-Hiver2018/resources/tmp.2pvHHmkcyH/tp1/
. Vous
pouvez ne copier qu'une partie de ces données ou bien y accéder
directement (si vous travaillez sur des machines du DIRO). Je
laisserai les données à cet emplacement pendant la durée du
projet. Vous pouvez aussi y accéder via le web en vous rendant
ici: http://www-labs.iro.umontreal.ca/~felipe/IFT6285-Hiver2018/resources/tmp.2pvHHmkcyH/tp1/
.
% ls /home/www-labs/felipe/public_html/IFT6285-Hiver2018/resources/tmp.2pvHHmkcyH/tp1/train
train-0.gz train-1000.gz train-1001.gz train-1002.gz train-1003.gz
train-1004.gz train-1005.gz train-1006.gz train-1007.gz train-1008.gz
train-1009.gz train-100.gz train-1010.gz train-1011.gz train-1012.gz
...
% ls /home/www-labs/felipe/public_html/IFT6285-Hiver2018/resources/tmp.2pvHHmkcyH/tp1/dev
dev-2369.gz dev-2370.gz dev-2371.gz dev-2372.gz dev-2373.gz dev-2374.gz
dev-2375.gz dev-2376.gz dev-2377.gz dev-2378.gz dev-2379.gz dev-237.gz
dev-2380.gz dev-2381.gz dev-2382.gz dev-2383.gz dev-2384.gz dev-2385.gz
...
% ls /home/www-labs/felipe/public_html/IFT6285-Hiver2018/resources/tmp.2pvHHmkcyH/tp1/test
test-2819.gz test-2820.gz test-2821.gz test-2822.gz test-2823.gz
test-2824.gz test-2825.gz test-2826.gz test-2827.gz test-2828.gz
test-2829.gz test-282.gz test-2830.gz test-2831.gz test-2832.gz
test-2833.gz test-2834.gz test-2835.gz test-2836.gz test-283.gz
Vous pouvez afficher le contenu d'une tranche à l'aide
de zcat
:
% zcat /home/www-labs/felipe/public_html/IFT6285-Hiver2018/resources/tmp.2pvHHmkcyH/tp1/test/test-2819.gz | head
#begin document 26802526
Facemelter facemelter
is be
the the
twelfth twelfth
studio studio
album album
by by
American american
hard hard
rock/heavy rock/heavy
Cahier des charges
Vous devez développer un programme capable de transformer une séquence de lemmes (la seconde colonne dans les fichiers train/dev/test distribués en la première). Aucune contrainte n'est imposée quand à la façon de procéder. Vous pouvez utiliser des outils existants, des modèles existants (seulement après avoir identifié sur quoi exactement ils ont été entraînés).
Vous devez au moins étudier une solution au problème en mode fermé (c'est-à-dire en utilisant uniquement les données fournies). Libre bien sûr à vous d'étudier ensuite l'injection de nouvelles données.
Vous devez remettre un rapport au format pdf. C'est essentiellement à l'aide de ce rapport que je vais juger de votre travail. Ce rapport, d'au plus 8 pages, doit ressembler à un article scientifique. Vous devez en particulier:
- expliquer les motivations ayant guidé votre choix des approches, éventuellement à la lumière de travaux reliés
- la ou les approche(s) testée(s). Chaque approche doit être étudiée selon ses meta-paramètres (seuils, nombre de règles, etc.).
- vous devez décrire votre protocole expérimental: les métriques utilisées pour mesurer vos résultats, le ou les systèmes de base (baselines) avec lesquels comparer votre approche. Un baseline simple consiste par exemple à toujours prédire le lemme comme forme de surface (de nombreuses formes de surface sont en effet identiques au lemme).
- ce qui doit guider votre rapport est avant tout la curiosité, quelque soit l'approche. Je cherche à lire des réponses à des questions pertinentes compte tenu des approches sélectionnées. Je suis plus intéressé à comprendre les limites d'une approche que ses performances.
À remettre
Rapport
Il s'agit de la partie la plus importante de votre travail. Vous
pouvez le rédiger en français ou en anglais. Vous devez trouver un
équilibre qui permet à un lecteur informé de reproduire votre
approche, sans tomber dans trop de détails. N'hésitez à parler du
temps d'entraînement d'un modèle, ou de développement de règles par exemple. Le
rapport est à remettre sous la forme d'un
document IFT6285-nom.pdf
(où nom
spécifie
votre ou vos noms) envoyé
par mail.
Je vais lire ce rapport afin de mesurer votre degré de curiosité. Notez que cela n'est pas relié à la complexité de votre solution: l'utilisation d'un modèle ``complexe'' qui ne donne pas de résultats pertinents avec comme explication que les données ne sont pas assez grandes pour que le modèle puisse ``s'exprimer'' ne présente pas nécessairement un haut degré de curiosité.
Code
Je vous demande également de remettre via Studium (les détails
viendront) les sources que vous avez développés (si vous en
développez). Je ne tenterai aucunement de lancer ces sources, mais
d'aller les consulter peut m'aider à mieux comprendre certains points
de votre rapport. N'hésitez pas à glisser un readme
dans
ces codes pour mettre en exergue les points que vous jugez importants
ou utiles.
Tests
Après la date butoire de remise des rapports, vous aurez une semaine pour lancer votre meilleure approche sur des textes de mon choix. Ces textes sont également extraits de Wikipédia (il s'agit donc d'un jeu de test du domaine).