Outils pour utilisateurs

Outils du site


public:specs_construction_partition

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:specs_construction_partition [2013/11/04 14:50]
sebastien.jacquot@univ-fcomte.fr
public:specs_construction_partition [2018/11/30 10:02] (Version actuelle)
slh@ens-lyon.fr
Ligne 1: Ligne 1:
-====== Spécifications de la construction de partitions ======+====== Spécifications de la construction ​de sous-corpus ou de partitions ======
  
 A l'​heure actuelle, il est possible de construire des partitions dans TXM de 4 façon différentes : A l'​heure actuelle, il est possible de construire des partitions dans TXM de 4 façon différentes :
Ligne 71: Ligne 71:
   * c) passage en mode greedy avec une requête du type   * c) passage en mode greedy avec une requête du type
     [text & !speaker]+ ​     [text & !speaker]+ ​
- 
- 
- 
- 
  
 ==== Interface pour la création de ces types de partition ==== ==== Interface pour la création de ces types de partition ====
Ligne 87: Ligne 83:
  
 SJ: effectivement je trouve aussi mais il faudrait dans ce cas revoir les 3 assistants déjà présent car ils permettent tous de créer des partitions sur des sous-corpus en passant directement par le corpus mère, rien que par sélection de structure non racine dans les combo boxes. Avec le système actuel, on a donc ensuite dans la vue corpus une partition directement liée au corpus mère alors qu'​elle n'a en réalité été évaluée que sur un sous-corpus temporaire. SJ: effectivement je trouve aussi mais il faudrait dans ce cas revoir les 3 assistants déjà présent car ils permettent tous de créer des partitions sur des sous-corpus en passant directement par le corpus mère, rien que par sélection de structure non racine dans les combo boxes. Avec le système actuel, on a donc ensuite dans la vue corpus une partition directement liée au corpus mère alors qu'​elle n'a en réalité été évaluée que sur un sous-corpus temporaire.
 +
 +==== Sous-corpus à partir d'une sélection lexicale (CQL) ====
 +
 +Pouvoir créer un sous-corpus à partir d'une sélection lexicale (CQL) étendue à une structure (eg. '​expand to div'). Un tel sous-corpus correspond à travailler dans les cooccurrents de la CQL.
 +
 +Cette construction de sous-corpus peut être aussi appliquée pour construire les parties d'une partition (en donnant plusieurs CQL donc).
 +
 +Interface Utilisateur : cela peut être une nouvelle option-alternative au mode assisté de l'​assistant de création de sous-corpus (pour l'​instant ce mode, non finalisé, n'aide à construire les sous-corpus qu'à partir de structures).
  
 ===== Méthode ===== ===== Méthode =====
  
 +==== Mode avancé ====
 +
 +L'​utilisateur donne les requêtes CQL et les noms des parties a créer.
 +
 +L'​interface est composée :
 +  * d'une liste de champs de parties composées de :
 +    * un champ texte pour nommer la partie
 +    * un champ requête pour régler la CQL
 +    * un bouton "​+"​ pour ajouter/​insérer une nouvelle partie
 +    * un bouton "​-"​ retirer la partie
 +  * d'un bouton "​Importer depuis un fichier properties..."​ pour charger les champs depuis une liste de requêtes nommées stockée dans un fichier properties
 +  * d'un bouton "​Exécuter une macro..."​ pour exécuter une macro :
 +    * qui reçoit en paramètre le corpus, la partition, etc. et retourne une liste de listes de matches nommées ou une Partition
  
 ==== Requêtes généralisées et '​expand'​ ==== ==== Requêtes généralisées et '​expand'​ ====
Ligne 152: Ligne 169:
 BP: si on veut coder cela dans TXM, il faudrait être capables de définir un algorithme de construction (semi)automatique de l'​arbre à partir de la représentation interne du corpus ? BP: si on veut coder cela dans TXM, il faudrait être capables de définir un algorithme de construction (semi)automatique de l'​arbre à partir de la représentation interne du corpus ?
  
-SJ: Oui, je crois qu'on ne peut pas récupérer directement la structure via CWB mais le script Groovy proposé contient une méthode le faisant (méthode ​assez lourde, au besoin il faudrait peut-être le faire et le stocker une fois pour toutes quelque part avec le corpus). ​+SJ: Oui, je crois qu'on ne peut pas récupérer directement la structure via CWB mais le script Groovy proposé contient une méthode le faisant (méthode ​récursive potentiellement ​lourde, au besoin il faudrait peut-être le faire et le stocker une fois pour toutes quelque part avec le corpus). ​
  
  
Ligne 216: Ligne 233:
 En fait ça marche aussi pour les sous-corpus,​ c'est génial nan ? En fait ça marche aussi pour les sous-corpus,​ c'est génial nan ?
  
-Remarque : compléter un peu l'​exemple,​ pour le moment je (bp) ne vois pas bien comment cela marche.+BP: Remarque : compléter un peu l'​exemple,​ pour le moment je ne vois pas bien comment cela marche
 + 
 +Scénario d'​utilisation :  
 +  * L'​utilisateur sélectionne plusieurs critères de sélection (ex: des valeurs de propriétés de structure) 
 +  * S'​affiche alors un disque par critère. 
 +  * Chaque aire chevauchante représente la réalisation simultanée des critères des disques qui construisent l'​aire 
 +  * L'​utilisateur peut alors sélectionner à la souris par activation/​désactivation les réalisations qu'il souhaite. L'​avantage de cette méthode est qu'il n'y a pas besoin de maitriser des opérateurs logiques : sélection en intention VS sélection en extension. 
 + 
 +Exemple avec le corpus DISCOURS : 
 +  * On ouvre l'​assistant en sélectionnant les propriétés de structures suivantes :  
 +    * text_type 
 +    * text_loc 
 +  * L'​utilisateur sélectionne dans la liste des valeurs celles qui l’intéresse:​ 
 +    * pour text_type : Allocution radiotélévisée et Entretien radiotélévisé. 
 +    * pour text_loc : Pompidou et de Gaulle. 
 +  * S'​affiche alors l'​écran de sélection des parties : 
 +    * 4 disques de couleur différentes qui s'​intersectent en créant 9 zones 
 +  * TODO...
  
 ===== Solution ===== ===== Solution =====
  
-  * Script de Seb : ... +==== Script ​Groovy ​de partitionnement avancé ==== 
-  * Partition croisée sur plusieurs structures+ 
 +Script permettant la création de partitions sur plusieurs propriétés croisées de même niveau et de partitions sur plusieurs niveaux de structures. (en .zip car le serveur refuse l'​extension .groovy) 
 + 
 +{{:public:​advancedpartition.zip|}} 
 + 
 +Il faudrait retester/​valider ce script. 
 + 
 +==== Macro CrossedPartitionBuilder ==== 
 + 
 +Ticket [[http://​forge.cbp.ens-lyon.fr/​redmine/​issues/​685|#​685]] 
 + 
 +En prenant le script {{:​public:​advancedpartition.zip|}},​ j'ai produit la macro CrossedPartitionBuilder (package org.txm.macro ds la TBX).  
 +Pour l'​instant la macro ne gère que le cas avec un seul niveau de structure. Mais il est possible de dé-commenter certains paramètre pour pouvoir faire des partition multi niveau, ignorer certainesstructures,​ renommer les parties de la partition. 
 + 
 +Pour fonctionner,​ la macro prend 2 paramètres :  
 +  * le nom de la structure et les propriétés à croiser. 
 +  * Et il faut avoir sélectionner un corpus 
 +Le nom de la partition est construit à partir des propriétés sélectionnées. Par exemple avec struture=text et propriétés=loc,​type,​ alors nom=text_type x text_loc. Les parties prennent comme nom "​valeur1 ∩ valeur2"​. Par exemple : "​DeGaulle ∩ Allocution"​
  
-Est-ce-que la partition croisée suffit à répondre à la problématique de Seb ? 
  
 ===== Protocole de test ===== ===== Protocole de test =====
Ligne 230: Ligne 280:
  
  
 +
 +==== Macro CrossedPartitionBuilder ====
 +=== Version sur un seul niveau de structure ===
 +
 +  - Sélectionner le corpus DISCOURS
 +  - Dans le champ "​structuralUnit"​ mettre "​text"​
 +  - Dans le champ "​structuralUnitPropertiesList"​ mettre "​loc,​type"​
 +  - Vérifier le nom de la partition = text_loc x text_type
 +  - Sélectionner la partition et vérifier :
 +    - Qu'il y a 6 parties
 +    - Vérifier les noms de parties avec la commande "​Informations"​
  
public/specs_construction_partition.1383573025.txt.gz · Dernière modification: 2013/11/04 14:50 par sebastien.jacquot@univ-fcomte.fr