Projet Matrice / TXM / PG

Contexte

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.

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

Définition des expériences

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
    • Implémentation :
      • étant donné un corpus allant des positions 0 à T, constitué d'une séquence de textes qui ont chacun une position de start et de end
      • étant donnée une liste de CQL correspondant à chaque terme
      • pour chaque CQL
        • décompter le nombre de matchs texte après texte dans l'ordre du corpus
  • 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
  • Implémentation :
    • étant donné un corpus C allant des positions 0 à T, constitué d'une séquence de textes qui ont chacun une position de start et de end
    • étant donnée une CQL pour sélectionner les mots pleins
    • étant donné le sous-corpus PC des mots pleins de C
    • étant donnée une liste de CQL construite à partir du lexique des lemmes de PC
    • pour chaque CQL de lemme de nom L
      • texte après texte dans l'ordre du corpus C
        • soit F la fréquence de la CQL de L dans le texte
        • pour chaque mot-clé de nom MC
          • décompter les f = le nombre de fois où les matchs de la CQL de MC recouvrent les matchs de la CQL de L
          • soit maxF = maximum(f)
          • produire la ligne 'text_id TAB code_MC TAB maxF TAB code_MC'
        • supprimer les duplicatas de lignes 'text_id TAB code_MC TAB * TAB code_MC'
          [en effet, pour le MC “Président de la République”, le lemme “Président” et le lemme “République” vont chacun générer cette même ligne]
          • la ligne conservée est celle du max(*), soit 'text_id TAB code_MC TAB max(*) TAB code_MC'
        • produire la ligne 'text_id TAB code_L TAB F - maxF TAB 0'
    • 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
  • Implémentation :
    • étant donné un corpus C allant des positions 0 à T, constitué d'une séquence de textes qui ont chacun une position de start et de end
    • étant donnée une liste de CQL correspondant à chaque terme
    • on construit le sous-corpus CT des contextes de CQL de termes
    • étant donnée une CQL pour sélectionner les mots pleins (variante matchs fréquents de 'patrons de mots composés')
    • on construit le sous-corpus PCT des mots pleins de CT
    • étant donnée une liste de CQL construite à partir du lexique des lemmes de PCT
      • pour chaque CQL de lemme de nom L
        • pour chaque mot-clé de nom MC
          • texte après texte dans l'ordre du corpus PCT
            • soit F la fréquence de la CQL de L dans le texte
            • décompter les f = le nombre de fois où les matchs de la CQL de MC recouvrent les matchs de la CQL de L
              → produire la ligne 'text_id TAB code_MC TAB f TAB code_MC'
            • produire la ligne 'text_id TAB code_L TAB F - somme(f) TAB 0'
            • supprimer les duplicatas de lignes 'text_id TAB code_MC TAB f TAB code_MC'
  • variantes possibles par rapport aux mots simples :
    • 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 #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.

Implémentation des expériences

Méthode :

  • Il faudra utiliser TXM 0.7.7 (à partir de BETA) pour pouvoir faire les expériences
  • Importer le corpus des transcriptions de 140M mots
  • Spécialiser la commande QueryIndex du prototype d'extension QueryIndex sur les textes et créer une nouvelle extension nommée 'CQL2LSA' de niveau BETA
  • L'optimiser pour les grands volumes
  • Enregistrer le résultat dans les fichiers compatibles avec les outils de PG
  • L'extension rajoute 4 commandes accessibles depuis la Toolbar de TXM quand on sélectionne un corpus (ou un sous-corpus)
  • L'idée est de fournir une extension aux partenaires pour qu'ils puissent exécuter eux-mêmes les calculs des expériences
  • Dans un premier temps nous fournissons les résultats des expériences directement

Import des transcriptions dans TXM

Pour l'instant dans TXM, nous ne faisons pas d'effort particulier pour gérer les grands corpus (la limite actuelle se trouve dans les 10M mots). Un module d'import prototype pour géré le cas de très gros corpus a été créé. Il n'est donc pas disponible depuis l'interface de TXM. Il faut démarrer ce module à partir d'un script Groovy.

Ce module :

  • récupère les débuts et fin de textes
  • gère le format des transcriptions limsi : récupère les mots détectés (pas vraiment une tokenisation)
  • annote à l'aide de TreeTagger (sans créer les fichiers XML intermédiaires des autres modules d'import)
  • est capable de ne pas refaire tout l'import si un fichier XML source n'a pas été modifié

Commande 'QueryIndex'

  • Commande utilitaire de réglage d'un fichier de requêtes ”.properties”
  • permet de dénombrer le nombre de réalisations des requêtes CQL d'un fichier ”.properties”
  • La documentation d'installation et d'utilisation de la commande se trouve dans la page des Extensions de TXM

Commande 'Exp I'

  • Dénombre les matchs d'une série de requêtes CQL dans les textes d'un corpus.
  • La commande demande à l'utilisateur :
    • un fichier de requêtes CQL ”.properties” de requêtes CQL
  • Le résultat est enregistré dans 2 fichiers “doc_word_freq.txt” et “lexicon.txt” dans le répertoire utilisateur

Commande ValuesOfQuery

  • Génère un fichier de requêtes CQL à partir d'une sélection CQL.
  • La commande demande à l'utilisateur :
    • une requête CQL de sélection des mots-pleins (pré-remplie)
    • (une propriété de mot sur laquelle sont projetées les occurrences sélectionnées)
    • un seuil de fréquence minimum pour filtrer les requêtes générées
  • Le résultat est enregistré dans le fichier “lemma_queries.properties” dans le répertoire utilisateur

Commande ContextSubcorpus

  • Crée un sous-corpus des contextes de requêtes CQL.
  • La commande demande à l'utilisateur :
    • un fichier de requêtes CQP ”.properties”
    • une distance à gauche et droite du pivot de la requête
  • Le résultat est un sous-corpus enfant du corpus sélectionné. Le nom du sous-corpus créé est
    <nom du fichier de requete sans extension>_contexts

Commande 'Exp II'

  • Dénombre les matchs de mots-clés combinés aux matchs d'autres requêtes CQL dans les textes d'un corpus
  • La commande demande à l'utilisateur :
    • un fichier ”.properties” de requêtes CQL de mots à dénombrer
    • un fichier ”.properties” de requêtes CQL de mots-clés
  • Le résultat est enregistré dans 2 fichiers “doc_word_freq_2.txt” et “lexicon_2.txt” dans le répertoire utilisateur

Installation et Utilisation des commandes pour réaliser les expériences

La combinaison des 4 commandes développées permettent de réaliser les 3 expériences décrites plus haut :

  • Expérience I
  • Expérience II A
  • Expérience II B

Pour réaliser ces expériences, il faut suivre les instructions suivantes avec les fichiers ”.properties” et des corpus de test du dossier

../Projets/Equipex%20Matrice/Projets/PG

  • corpus “Matrice” complet
  • corpus “Limsi” extrait du corpus “Matrice”

Installer TXM 0.7.7 Beta

  • Télécharger TXM_0.7.7 Beta en fonction du système d'exploitation de la machine.
  • Lancer l'installation de TXM

Import ou Chargement du corpus Matrice

Import à partir des sources XML Limsi

Il s'agit d'un import prototype qui se lance différemment des autres imports. Pour l'utiliser, il faut :

  1. Récupérer les scripts Groovy à partir du package “org.txm.imports.limsi” des sources du projet Toolbox
    svn export https://svn.code.sf.net/p/txm/code/trunk/Toolbox/trunk/org.textometrie.toolbox/src/groovy/org/txm/importer/limsi
  2. Les copier dans $TXMHOME/scripts/user/org/txm/imports/limsi
  3. Le script ne créé pas le fichier “import.xml”, le plus simple est d'utiliser l'interface d'import pour en créer un
  4. Les paramètres du scripts se trouvent dans le 1er bloc try&catch. Il faut modifier
    • Le chemin vers le fichier “import.xml” du dossier source
  5. Lancer le script à partir de la vue Fichier
    1. L'étape la plus longue du processus d'import est l'annotation TreeTagger (TreeTagger est relancé pour chaque fichier)
    2. L'import peut être interrompu si besoin.
  6. À la fin du script, le nouveau corpus devrait être chargé
Chargement du corpus (si quelqu'un a déjà fait l'import pour vous
  • Télécharger le corpus binaire “Matrice.txm” de description
    Corpus à usage restreint de 26669 transcriptions de vidéos de l'INA pour les partenaires de l'Équipex Matrice.
    Contacter l'Équipex Matrice pour connaitre les conditions d'utilisation (http://matricememory.fr/matrice/fr).
    Produit le 27/10/2014 à 17h00 par MD.
    Lemmatisé avec le modèle 'fr.par'
  • Appliquer la commande 'Fichier / Charger' directement sur ce fichier

Installation de l'extension CQL2LSA

  • Réglage du niveau de mise à jour :
    • Ouvrir les préférences de TXM, page “TXM > Avancée”
    • Dans le champ “niveau de mise à jour”, sélectionner le niveau ALPHA. Ce niveau de mise à jour permet d'installer les extensions en cours de développement.
    • Valider les changements avec le bouton “OK”
  • Ajouter une extension :
    • Ouvrir la page des extensions disponibles à partir du menu “Fichier > Installer une extension”
    • Dans la fenêtre ouverte, sélectionner l'extension “CQL2LSA”
    • Terminer par “OK”
    • Accepter les différents écrans puis relancer TXM
  • Vérifier la présence de l'extension :
    • Sélectionner un corpus de la vue Corpus
    • 4 commandes devraient être visibles dans la barre d'outils : “ExpI”, “ValuesOfQuery”, “ContextSubcorpus” et “ExpII”
Expérience I
  • Sélectionner le corpus “MATRICE”
  • Cliquer sur “Exp I” de la toolbar
    • Dans la fenêtre de dialogue qui s'ouvre, sélectionner le fichier ”.properties” de requête des mots-clés
    • Cette étape produits les fichiers 'doc_word_freq.txt' et 'lexique.txt'. Pendant l'exécution la console affiche :
      Compute QueryIndexOfText with MATRICE corpus properties file: file.properties
      Number of query lines: 496
      Result saved in /home/.../TXM/results/doc_word_freq.txt and /home/.../TXM/results/lexique.txt
Expérience II A
  • Sélectionner le corpus “MATRICE”
  • Cliquer sur “ValuesOfQuery” de la toolbar, laisser les paramètres tel quels. Valider à l'aide du bouton “OK”
    • Cette étape crée le fichier ”.properties” de requêtes des lemmes. Pendant l'exécution la console affiche
      Query=[frpos="N.*|ADJ|V.*" & frlemma!="@card@|être|avoir|faire|pouvoir|devoir|vouloir|falloir|aller|dire|savoir|c'.+|s'.+"]
      Fmin=10
      Lemma property=frlemma
      Done printing queries in /home/.../lemma_queries.properties
  • Cliquer sur “Exp II” de la toolbar
    • Dans la 1ere fenêtre de dialogue, sélectionner le fichier ”.properties” de requête de lemmes créé précédemment
    • Dans la 2e fenêtre de dialogue, sélectionner le fichier ”.properties” de requête des mots-clés
    • Cette étape produits les fichiers 'doc_word_freq.txt' et 'lexique.txt'. Pendant cette étape la console affiche
      Select lemma queries property file [une fenêtre de sélection de fichier ".properties" s'ouvre]
      Select keyword queries property file [une fenêtre de sélection de fichier ".properties" s'ouvre]
      Starting ExpII
      Number of keywords lines: 496
      Number of lemma lines: 98
      Done, result saved in: 
       - /home/.../doc_word_freq_keyword_2.txt
       - /home/.../lexicon_2.txt
Expérience II B
  • Sélectionner le corpus “MATRICE”
  • Cliquer sur “ContextSubcorpus” de la toolbar
    • Sélectionner le fichier de requête ”<nomdufichier>.properties” dont on veut construire les contextes
    • Laisser le paramètre de taille de context tel quel (10)
    • Valider à l'aide du bouton “OK”
    • Cette étape crée le sous-corpus du voisinage des mots-clés. Pendant cette étape la console affiche
      Number of keywords lines: 496
      context left and right size is: 10
      Done.
  • Sélectionner le sous-corpus “nomdufichier_contexts” qui vient d'être ajouté dans la vue Corpus
  • Cliquer sur “ValuesOfQuery”, laisser les paramètres tel quels. Valider à l'aide du bouton “OK”
    • Cette étape crée le fichier de requêtes des lemmes. Pendant cette étape la console affiche
      Query=[frpos="N.*|ADJ|V.*" & frlemma!="@card@|être|avoir|faire|pouvoir|devoir|vouloir|falloir|aller|dire|savoir|c'.+|s'.+"]
      Fmin=10
      Lemma property=frlemma
      Done printing queries in /home/.../lemma_queries.properties
  • Cliquer sur “Exp II” de la toolbar
    • Dans la 1ere fenêtre de dialogue, sélectionner le fichier ”.properties” de requête de lemmes créé précédemment
    • Dans la 2e fenêtre de dialogue, sélectionner le fichier ”.properties” de requête des mots-clés
    • Cette étape produits les fichiers 'doc_word_freq.txt' et 'lexique.txt'. Pendant cette étape la console affiche
      Select lemma queries property file
      Select keyword queries property file
      Starting ExpII
      Number of keywords lines: 496
      Number of lemma lines: 19
      Done, result saved in: 
       - /home/.../doc_word_freq_keyword_2.txt
       - /home/.../lexicon_2.txt

Utilitaires annexes

Installation de l'extension QueryIndex

Pour régler la liste des requêtes CQL on peut utiliser la commande QueryIndex de l'extension QueryIndex.

  • Ajouter l'extension QueryIndex :
    • Ouvrir la page des extensions disponibles à partir du menu “Fichier > Installer une extension”
    • Sélectionner l'extension “QueryIndex”
    • Terminer par “OK”
    • Accepter de relancer TXM
  • Vérifier la présence de l'extension :
    • Sélectionner un corpus de la vue Corpus
    • 1 commande devrait être visible dans la barre d'outils : l'icone de QueryIndex

Format d'un fichier de requêtes ".properties"

  • Fichier au format texte brut, encodé en “Unicode UTF-8”
  • Le fichier contient une requête par ligne
  • Chaque requête est nommée

Exemple de 2 lignes/requêtes :

travailleur=[frlemma="travailleur"%c]
trois grands=[frlemma="trois"%c][frlemma="grand"%c]

Exécution des expériences

Cycle 1 - 01/08/2014

Expérience I seulement avec un premier essai de fichier de requêtes CQL créé directement à partir de la liste des mots-clé de PG.

Cycle 2 - 27/10/2014

Expérience I, IIA et IIB avec plusieurs états de fichiers de requêtes CQL :

  • NEW_queries_PG.properties
  • NEW_queries_PG_23102014.properties
  • NEW_queries_PG_24102014.properties

Cycle 3 - 17/11/2014

BP propose pour l'expérience IIB d'utiliser un fichier de requêtes CQL plus spécifique à la 2nd Guerre Mondiale pour éviter de travailler sur des contextes qui ne concernent pas la 2nd Guerre Mondiale. PG a produit le nouveau fichier 'NEW_queries_PG_17112014_guerre.properties' pour y répondre.

Nouveaux fichiers :

  • NEW_queries_PG_17112014_guerre.properties : pour l'étape de construction du sous-corpus de contexte de l'expérience IIB
  • NEW_queries_PG_17112014_general.properties : pour le reste du déroulé de l'expérience

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_pg.txt · Dernière modification: 2015/03/16 17:24 par matthieu.decorde@ens-lyon.fr