Outils pour utilisateurs

Outils du site


public:projets_matrice_avec_txm

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
public:projets_matrice_avec_txm [2014/09/16 11:58]
slh@ens-lyon.fr
public:projets_matrice_avec_txm [2015/10/07 11:38] (Version actuelle)
slh@ens-lyon.fr
Ligne 1: Ligne 1:
 ====== Projets mobilisant TXM au sein de Matrice ====== ====== Projets mobilisant TXM au sein de Matrice ======
  
-Cette page synthétise les différentes discussions autour de projets de l'​Équipex Matrice mobilisant TXM.+Cette page sert au suivi des projets de l'[[http://​matricememory.fr/​matrice/​fr|Équipex Matrice]] mobilisant TXM.
  
-Elle doit servir à faire la liaison entre ICAR et Matrice et au suivi des développements ​de solutions.+Dans la mesure où cette page est actuellement publique, il est recommandé ​de veiller à maintenir un niveau d'​anonymat raisonnable(merci de nous contacter si cette page doit évoluer vers plus de confidentialité)
  
-Dans la mesure où cette page est pour l'​instant publiqueil est intéressant de veiller à ne pas trop désigner de personnes et de projets concrets(merci de nous contacter si cette page doit évoluer vers plus de confidentialité)+==== Liste des projets ==== 
 +  * [[public:​projets_matrice_avec_txm_corpus_matrice|Les différents corpus de Matrice (monographiestranscriptions,​ etc.)]] 
 +  * [[public:​projets_matrice_avec_txm_pg|Projet PG]] 
 +  * [[public:​projets_matrice_avec_txm_fd|Projet FD]]
  
-====== Projet PG ======+\\ 
  
-===== Contexte ===== +---- 
- +-> [[:|Retour ​à la liste des projets]].
-==== Expériences antérieures ==== +
- +
-Une première expérience a consisté à analyser la relation entre +
-des images du mémorial de Caen et des mots clés pour +
-N participants "​représentant des mémoires individuelles"​. +
-  * 119 images exposées au mémorial de Caen +
-  * 123 mots clés présents dans le texte décrivant les images +
-  * on associe/​code a priori chaque image avec 2 à 5 mots clés +
-  * on demande à chaque participant de choisir X mots-clés +
- +
-Une autre expérience,​ sans les données sur les participants,​ a consisté à faire une LDA sur la matrice images x mots-clés, qui a permis de faire émerger des topics, avec pour chaque mot-clé une probabilité d'​appartenance à ce topic. Les topics s'​interprètent comme une reconstruction des zones du Mémorial (il y a une vingtaine de zones, et on a demandé à LDA une vingtaine de topics). +
- +
-==== Formulations de l'​expérimentation avec TXM ==== +
- +
-Une nouvelle expérience consiste à analyser la relation entre +
-des documents audio ou vidéo de la base INA "​représentant +
-une mémoire collective"​ et les mêmes 123 mots-clés avec l'aide +
-de TXM. +
- +
-Il s'agit : +
-  * a) d'​analyser l'​évolution temporelle de chaque mot-clé, et peut-être des cooccurrents des mots clés, et peut-être en tenant compte des ensembles de mots-clés liés à une image donnée ; +
-  * ou b) analyser les clusters de mots produits par une LSA sur des tables de fréquence [documents (transcriptions ?) x mots clés] construites pour différentes périodes (?) +
- +
-La chronologie des transcriptions est établie par leurs regroupements en plusieurs +
-décennies fournis par DP -> en fait nous prenons la totalité du corpus de transcriptions car nous n'​avons pas d'​informations chronologiques : +
-  * nous sommes en attente des fiches INA au format XML pour pouvoir faire une sélection soit par le descripteur '​Seconde guerre mondiale'​ soit par chronologie +
- +
-Une liste de termes est établie par PG en lien avec DP. +
- +
-**Expérience I** +
-  * Nous produisons une matrice de fréquences/​présence-absence ​[documents x termes] pour PG. +
- +
-**Expérience II** +
-  * Pour la deuxième expérience,​ nous produisons deux matrices différentes : +
-    * matrice du corpus total : la matrice de fréquence documents x tous les mots du corpus filtrés par mots-outils et basse fréquence de corpus total +
-    * matrice du corpus focalisé : la matrice de fréquence documents x tous les mots filtrés par mots-outils et basse fréquence de corpus total des sous-corpus de document correspondant au contextes d'​apparition des termes +
- +
-Des expériences de LDA sont réalisées sur la base de cette première matrice, +
-pour calculer des distances entre termes pour caractériser le degré de regroupement entre des termes. +
- +
-===== Description des données et outils mobilisés ​ ===== +
- +
-Nous allons fournir les données issues du corpus de transcriptions Matrice à Pierre sous une forme compatible avec les outils qu'il utilise. +
- +
-==== Outils d'​analyse utilisés par Pierre - Matlab Topic Modeling Toolbox 1.4 ==== +
- +
-Remarque : bien que d'​autres outils, notamment R (package '​topicmodels'​) ou Java (Mallet) intégrables facilement dans TXM ou compatibles,​ permettent de faire du topic modeling au même titre que cette bibliothèque Matlab, dans un premier temps nous allons externaliser les données pour l'​outil Matlab. +
- +
-  * [[http://​psiexp.ss.uci.edu/​research/​programs_data/​toolbox.htm ​toolbox matlab réalisant le type d'​analyse (LDA)]] +
-  * [[http://​psiexp.ss.uci.edu/​research/​programs_data/​topictoolbox.zip | scripts et données exemples]] +
-    * script principal pour extraire les topics : [[http://​psiexp.ss.uci.edu/​research/​programs_data/​exampleLDA1.html | GibbsSamplerLDA.m]] +
- +
-=== Format des données ​à fournir === +
- +
-**Bibliothèque Matlab Topic Modeling Toolbox** +
- +
-Elle manipule les types de données suivants : +
-  * bag of words : document word counts +
-  * vocabulary +
-  * word stream : successive word and document indices +
-  * collocation word stream : successive word and document indices with function words removed +
-  * collocation stream : successive word and document indices (with function words removed ? -> peut-être pas et c'est ce qui ferait ​la différence ?? cf. [[http://​psiexp.ss.uci.edu/​research/​programs_data/​toolbox.htm]] ) [note BP] +
- +
-**GibbsSamplerLDA.m** +
- +
-La fonction '​**GibbsSamplerLDA**'​ utilise les données suivantes (de type bag of words) : +
-  * WS a 1 x N vector where WS(k) contains the vocabulary index of the kth word token, and N is the number of word tokens. The word indices are not zero based, i.e., min( WS )=1 and max( WS ) = W = number of distinct words in vocabulary +
-  * DS a 1 x N vector where DS(k) contains the document index of the kth word token. The document indices are not zero based, i.e., min( DS )=1 and max( DS ) = D = number of documents +
-  * WO a 1 x W cell array of strings where WO{k} contains the kth vocabulary item and W is the number of distinct vocabulary items. Not needed for running the Gibbs sampler but becomes necessary when writing the resulting word-topic distributions to a file using the writetopics matlab function. +
- +
-Le plus simple est d'​utiliser les fonctions Matlab '​importworddoccounts'​ et '​textread'​ pour produire ces données. +
- +
---- la fonction '​**importworddoccounts**'​ produit les vecteurs WS et DS à partir d'un fichier '​doc_word_freq.txt'​ de la forme suivante : +
- +
-  1 2 10 +
-  1 3 4 +
-  2 2 6 +
-  ... +
- +
-Glose : +
-  le mot 2 apparaît 10 fois dans le document 1 +
-  le mot 3 apparaît 4 fois dans le document 1 +
-  le mot 2 apparaît 6 fois dans le document 2 +
-  ... +
- +
-En fait '​importworddoccounts'​ utilise la fonction '​SparseMatrixtoCounts'​ dont voici le code Matlab : +
- +
-  [ ii , jj , ss ] = find( WD ); +
-   +
-  ntokens = full( sum( sum( WD ))); +
-  WS = zeros(1, ntokens); +
-  DS = zeros(1, ntokens); +
-   +
-  startindex = 0; +
-  for i=1:​length(ii) +
-     nt = ss(i); +
-     ​WS(startindex+1:​startindex+nt) = ii(i); +
-     ​DS(startindex+1:​startindex+nt) = jj(i); +
-     ​startindex = startindex + nt;  +
-  end +
- +
---- la fonction '​textread'​ (native) produit le tableau de chaines WO à partir d'un fichier '​lexique.txt'​ de la forme suivante : +
- +
-  forme_graphique_du_mot_1 +
-  forme_graphique_du_mot_2 +
-  forme_graphique_du_mot_3 +
-  ... +
- +
-==== Mots-clés ==== +
- +
-Les mots-clés sont organisés par catégorie (réécriture simplifiée mais représentative de ce que Pierre nous a fourni) : +
-  * Pays/​Localisation : Lybie, France... +
-  * Lieu : Usine d'​armement,​ Train... +
-  * Armée : Armée Française, Armée Britanique +
-  * Soldat : Soldat Français, Soldat Britanique +
-  * Personnage célèbre : Rommel, di Bergolo +
-  * Personnes : Main-d'​œuvre,​ Section d'​assaut +
-  * Action de Guerre : Invasion/​Conquête +
-  * ... +
- +
-Diagnostic : +
-  * on trouve ​des mots composés +
-  * les min/maj peuvent être importantes pour certains noms propres +
- +
-===== Mise en oeuvre ===== +
- +
-**Proposition** : +
-  * on importe les transcriptions pour être capable de faire des CQL sur les transcriptions +
-    * le XML des transcriptions est tokenisé (le module d'​import de départ peut être '​XML/​w+CSV',​ attention TOUS les mots ont un W dans les sources) +
-      * **MD :** on partira du module CQP qui est plus proche de ce dont on a besoin. Pour l'​instant,​ je fais un import prototype limsi, les options citées ci-dessous seront implémentée plus tard. +
-    * on va du XML source au format CQP (ex WTC puis CWB) le plus vite possible +
-      * on transfère les informations utilisées pour le calcul de Pierre (c'est une option à créer) +
-        * mot qui ont une forme (qui ont un ordre implicite) +
-        * transcription (qui ont un ordre implicite) +
-      * on ne transfère pas d'​information non utilisée pour le calcul de Pierre (c'est une option à créer) +
-        * **MD : ** je ne transfert que les débuts de texte et les mots limsi +
-    * on lemmatise, donc il y a deux états TTI _src et TTO _sortie (vérifier TreeTagger) +
-      * **MD : ** TreeTagger accepte que dans TTI_src il y ait des balises "​text",​ ce qui facilite grandement la tache puisque je n'ai pas besoin de convertir vers CQP +
-    * on essaye de rendre rémanentes certaines transitions tout en étant compatible avec l'​architecture actuelle des modules d'​import : +
-      * XML->​TTI ​ (c'est une option à créer) +
-      * TTI->​TTO ​ (c'est une option à créer) +
-      * TTO->CQP (peut-être éclaté en plusieurs CQP ?) +
-      * CQP->​indexes +
-      * **MD : ** toutes les transformations de fichier de l'​import prototype limsi sont rémanentes. +
-    * l'​unité du corpus au sens CQP (n sous-corpus) est à préciser en fonction des limites que nous pouvons rencontrer +
-    * le retour de CQP est exploité sous forme numérique seulement [Rq. BP : de fait on a juste besoin de compter les matchs à l'​intérieur d'un document, on ne s'​intéresse pas à la forme qu'ils prennent] +
-  * on utilise une CQL pour formuler chaque mot-clé (cf. ci-après) +
-  * **expérience I** : la matrice est construite à partir des fréquences de CQL +
-  * **expérience II** : +
-      * expérience II.A - corpus total : la matrice est construite à partir des fréquences de tous les mots filtrés par mots-outils et basse fréquence +
-      * expérience II.B - corpus focus : la matrice est construite à partir des fréquences de tous les mots filtrés par mots-outils et basse fréquence des contextes d'​apparition des CQL +
-        * le contexte est une fenêtre de X mots +
-      * variantes possibles : +
-        * ajouter des CQL de patrons de mots composés +
-        * ajouter des segments répétés longs et fréquents +
-  * on produit les fichiers '​doc_word_freq.txt'​ et '​lexique.txt'​ +
- +
-**Solution** : Voir ticket [[http://​forge.cbp.ens-lyon.fr/​redmine/​issues/​954|#​954]+
- +
-==== À propos des fichiers '​doc_word_freq.txt' et '​lexique.txt'​ ==== +
- +
-En ce qui concerne le fichier lexique.txt,​ il peut prendre la forme suivante : +
-  Lybie +
-  URSS +
-  ... +
-  Usine d'​armement +
-  Train +
-  Ruine +
-  Ville +
-  Village +
-  Camp +
-  Champ de bataille +
-  Mer +
-  Magazin +
-  Armée Japonaise +
-  Armée Soviétique +
-  ... +
-  Rommel +
-  di Bergolo +
-  Montgomery +
-  ... +
-  Prisonnier +
-  Déporté +
-  Interné +
-  Mort/​Blessé +
-  Vieillard +
-  Orphelins +
-  Résistant +
-  Combattant +
-  Main-d'​œuvre +
-  Section d'​assaut +
-  Milice +
-  Maquis +
-  Jeunesse Hit. +
-  Partisan +
-  Population +
-  Combat +
-  Invasion/​Conquête +
-  Bombardement +
-  etc. +
- +
-En considérant qu'on associe à chacun des mots-clés une équation CQL qui lui correspond (peut-être dans un fichier tabulé où la première colonne est le mot-clé, la deuxième l'​équation ?). (SH: je pense qu'un script Groovy sera plus simple et plus sûr, au moins dans une première version). +
- +
-Par exemple : +
-  Lybie : [frlemma="​Lybie"​] +
-  Usine d'​armement : [frlemma="​usine"​][frlemma="​de"​][frlemma="​armement"​] +
-  di Bergolo : [word="​di"​%c][word="​Bergolo"​%c] +
-  Mort/​Blessé : [frlemma="​mort"​ | word="​blessée?​s?"​%c] +
-  Orphelins : [frlemma="​orphelin"​] +
-  Main-d'​œuvre : -> sur 1 ou 3 token en fonction de la tokenisation faite par le LIMSI, à vérifier +
-  Jeunesse Hit. : [frlemma="​jeunesse"​][word="​hitlériennes?"​%c] +
-  Invasion/​Conquête : [frlemma="​invasion|conquête"​] +
-  etc. +
- +
-Il faudra prévoir de confronter chaque, ou certaines, CQL à tout ou partie du corpus des transcriptions pour régler : +
-1) la forme effective prise par les mots-clés, donc les CQL +
-2) la pertinence des mots-clés entre eux +
- +
-J'​espère que nous n'​aurons pas besoin de générer de concordance pour ça. +
- +
-Mais un Index est peut-être à considérer dès maintenant. +
- +
-Il y a peut-être d'​autres choses que l'on peut faire pour améliorer ce jeu de mots-clés : +
-  * repérer et analyser des formes équivalentes depuis le corpus, par exemple par le biais de cooccurrents +
-  * saturer par des dictionnaires de synonymes +
-  * etc. +
- +
-Les lignes du fichier doc_word_freq.txt consistent en : +
-  <numéro d'​ordre du document>​ <numéro de la ligne du fichier lexique.txt correspondant à l'​équation CQL lancée> <nb matchs équation CQL> +
-A vérifier mais il semble que les lignes où le nb de matchs est nul peuvent (voire doivent ?) ne pas être mises. +
- +
- +
-===== Archives ===== +
- +
-==== Questions ==== +
- +
-Pour discussion du mardi 17 juin 2014. +
- +
-  * A) sur quel "​corpus INA" on travaille +
-    * veut on utiliser tout le fonds INA 2GM (trop gros et trop bruité ?) +
-    * veut on sélectionner les transcriptions de la meilleure qualité au sens d'un indicateur (automatique) produit par le LIMSI ? +
-    * veut on se limiter à la partie revue et corrigée (manuellement) dans Matrice (trop petit ?) +
-    * veut on se donner une expertise pour choisir des documents pertinents dans le réseau Matrice ? +
-    * veut on se limiter à des transcriptions contenant des passages (à définir) contenant des cooccurrences (à définir) (intérêt quantitatif et qualitatif) ou à ces passages eux-mêmes ? +
-  * B) accès au corpus avec interface de consultation Opsomaï, surtout pour PG (qui conduit la recherche), pour +
-    * essayer de mieux connaître le fonds, +
-    * essayer de mieux définir le corpus.  +
-  * C) possibilité de consulter le corpus de travail à travers TXM, pour +
-    * objectifs : +
-      * essayer de mieux connaître le fonds, +
-      * essayer de mieux définir le corpus.  +
-      * évaluer la qualité des mots choisis pour un usage en tant que requête, +
-      * reconstruction éventuellement de requêtes (formulations alternatives,​ contextualisation). +
-    * moyens pour les deux derniers points : +
-      * voir les mots-clés en contexte (avec idéalement retour au document audiovisuel),​ +
-      * calcul de cooccurrences pour avoir une idée de leurs usages. +
-    * suppose : +
-      * le transfert d'​informations de fiches Opsomaï sous forme de métadonnées (au moins une information chronologique,​ voir point D) de transcriptions TXM (Est-ce possible : A. Dallo ?) +
-      * le transfert de transcriptions LIMSI (la relation entre une transcription et ses métadonnées +
-est fournie par un identifiant unique entre la base Opsomaï et le nom du fichier LIMSI ?) +
-  * D) une chronologie des transcriptions est établie +
-    * a minima : possibilité d'​avoir l'​année de diffusion (ou de réalisation) de chaque document +
-    * (éventuellement : informations temporelles sur des grains plus fins que le document ??) +
-    * aide technique au regroupement d'​années pour définir des périodes +
-    * (implémentation de spécificités chronologiques pour induire des périodes et caractériser des profils chronologiques) +
-  * E) des "​mots"​ sont associés et comptés pour chaque transcription +
-    * les items recherchés pourraient être : +
-      * les mots-clés eux-mêmes, avec leurs variantes graphiques éventuelles +
-      * des requêtes traduisant les mots-clés (synonymes, cooccurrences) +
-      * des requêtes correspondant aux descriptions d'​images (à construire sur la base de l'​ensemble des mots-clés associés à l'​image) +
-      * des requêtes correspondant aux topics +
-  * F) quel type de table faut il produire pour l'​analyse +
-    * on fournit des tables "​chronologie"​ (voir détail point D) x "​mot"​ (voir détail point E) +
-    * on fournit des tables "​mot"​ x "​mot"​ : cooccurrences entre mots-clés, entre requêtes-images (cf. E) ou/et entre requêtes-topics (cf. E) +
- +
-==== Précisions qui seraient utiles ==== +
- +
-=== Fichiers de transcription LIMSI === +
- +
-  * dernière version +
-  * qualité des transcriptions +
-  * métadonnées de transcriptions LIMSI ? +
-  * plusieurs modèles linguistiques (nom, caractéristiques - dont date ?) utilisés par transcription ? (si oui, relation entre parties de TRS et les modèles) +
-  * corrections de transcriptions : +
-    * accès ? +
-    * qualité +
- +
-=== Métadonnées de transcription LIMSI === +
- +
-  * relation entre une notice INA de fichiers audio ou vidéo et une transcription LIMSI (une notice pour plusieurs transcriptions ?) +
-  * qualité des métadonnées issues des notices INA : +
-    * datation : est-ce qu'on a toutes les dates des contenus ? Sinon il faut CALCULER les dates à partir des transcription ? (= séquencer ?) +
-  * transfert vers TXM depuis Opsomaï ou fichier(s) intermédiaires (ou base A. Dallo ?) +
-  * chapitrage de fichiers audio ou vidéo par Matrice +
-    * accès +
-    * désignation de portions de fichiers audio ou vidéo en qualifiant la portion (différencier les séquences) +
- +
-=== Données INA/​Opsomaï === +
- +
-  * transfert dans TXM de la sélection de notices dans Opsomaï : métadonnées temporelles ? +
-  * transfert des transcriptions corrigées ? +
-  * transfert des chapitrages ?+
  
public/projets_matrice_avec_txm.1410861525.txt.gz · Dernière modification: 2014/09/16 11:58 par slh@ens-lyon.fr