Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
public:specs_subcorpus [2019/12/11 14:59] slh@ens-lyon.fr [Sous-corpus] |
public:specs_subcorpus [2020/02/10 16:34] (Version actuelle) matthieu.decorde@ens-lyon.fr |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
Les sous-corpus sont des sélections de mots d'un corpus (principal ou racine) ou d'un sous-corpus : | Les sous-corpus sont des sélections de mots d'un corpus (principal ou racine) ou d'un sous-corpus : | ||
* les sous-corpus sont implémentés par CQP par une liste de matchs | * les sous-corpus sont implémentés par CQP par une liste de matchs | ||
- | * un match est une séquence continue de mots définie par deux positions : du mot de début au mot de fin (de start à end, ou 'start-end') | + | * un match est une séquence de mots contigus définie par deux positions : du mot de début au mot de fin (de start à end, ou 'start-end') |
* un match peut également correspondre à une séquence élémentaire ne contenant qu'un seul mot (start-end=start) : c'est-à-dire à un seul mot | * un match peut également correspondre à une séquence élémentaire ne contenant qu'un seul mot (start-end=start) : c'est-à-dire à un seul mot | ||
* un corpus principal est implémenté par une liste singleton contenant un seul match allant du premier au dernier mot des textes du corpus | * un corpus principal est implémenté par une liste singleton contenant un seul match allant du premier au dernier mot des textes du corpus | ||
Ligne 14: | Ligne 14: | ||
Règles de tomizof((choix d'architecture des données de TXM)) : | Règles de tomizof((choix d'architecture des données de TXM)) : | ||
- | - un sous-corpus est complètement inclus dans son parent | + | - un sous-corpus est complètement inclus [SLH ou égal ?] dans son parent ((au sens des noeuds de la vue Corpus. Un noeud dominé a donc été calculé après son parent - et ses ancêtres - et est contenu dans son parent - et ses ancêtres)) |
===== Construction de sous-corpus ===== | ===== Construction de sous-corpus ===== | ||
Ligne 28: | Ligne 28: | ||
[SLH : discussion] on peut récupérer les mots des textes où se réalisent des mots clés [pour en faire autre chose], ou les identifiants des textes où se réalisent des mots clés [pour en faire autre chose]. Le [pour en faire autre chose] déterminant ce qu'on fait des mots ou des identifiants. | [SLH : discussion] on peut récupérer les mots des textes où se réalisent des mots clés [pour en faire autre chose], ou les identifiants des textes où se réalisent des mots clés [pour en faire autre chose]. Le [pour en faire autre chose] déterminant ce qu'on fait des mots ou des identifiants. | ||
- | Si un sous-corpus est plus grand que son parent, alors son noeud dans la vue Corpus doit être placé sous le premier noeud le contenant entièrement. | + | Si un sous-corpus est plus grand que son parent, alors son noeud dans la vue Corpus doit être placé sous le premier noeud ancêtre le contenant entièrement. |
==== b) Par combinaison de sous-corpus avec des opérateurs d'intersection, union et différence ==== | ==== b) Par combinaison de sous-corpus avec des opérateurs d'intersection, union et différence ==== | ||
- | CQP possède les opérateurs union, inter et diff. Cependant ces opérateurs ne travaillent qu'avec des matchs et sont incapables de segmenter ou de fusionner des matches. | + | CQP permet de combiner des sous-corpus avec les opérateurs union, inter et diff. |
- | [SLH : feature] il serait très intéressant d'augmenter la sémantique des opérateurs existants pour obtenir des opérateurs aux résultats plus "intuitifs" et surtout plus utiles aux opérations sur les sous-corpus d'utilisateurs de TXM.\\ Il y aurait également des applications à d'autres commandes comme les Concordances calculées à partir de lignes d'Index (les pivots correspondraient à l'intersection entre la liste de matchs du résultat de la requête et la liste de matchs du corpus à l'origine de l'Index). | + | TXM commence à y donner accès, voir les tickets ; |
+ | * ANTRACT 2.0 : [[http://forge.cbp.ens-lyon.fr/redmine/issues/2623|#2623]] | ||
+ | * ANTRACT 3.0 : [[http://forge.cbp.ens-lyon.fr/redmine/issues/2629|#2629]] | ||
+ | * TXM 0.8.1 : [[http://forge.cbp.ens-lyon.fr/redmine/issues/1916|#1916]] | ||
+ | |||
+ | Cependant les opérateurs natifs union, inter et diff de CQP ne travaillent qu'avec des matchs et sont incapables de segmenter ou de fusionner((voir l'option coalesce des nouvelles commandes TXM)) des matches. | ||
+ | |||
+ | [SLH : feature] il serait très intéressant d'augmenter la sémantique des opérateurs existants pour obtenir des opérateurs aux résultats plus "intuitifs" et surtout plus utiles aux opérations sur les sous-corpus d'utilisateurs de TXM -> voir l'option coalesce des spécifications des nouvelles commandes ensemblistes TXM.\\ Il y aurait également des applications à d'autres commandes comme les Concordances calculées à partir de lignes d'Index (les pivots correspondraient à l'intersection entre la liste de matchs du résultat de la requête et la liste de matchs du corpus à l'origine de l'Index). | ||
==== c) Par construction à partir d'une liste de matchs ==== | ==== c) Par construction à partir d'une liste de matchs ==== | ||
Ligne 41: | Ligne 48: | ||
* d'un fichier binaire encodant une liste de matchs | * d'un fichier binaire encodant une liste de matchs | ||
* d'un fichier texte décrivant une liste de match, avec un match par ligne. | * d'un fichier texte décrivant une liste de match, avec un match par ligne. | ||
+ | |||
+ | |||
+ | ==== d) Par mise en relation de contraintes ==== | ||
+ | |||
+ | Exemple | ||
+ | |||
+ | La sélection : "je cherche les passages d'une transcriptions où le résumé (de la transcription) contient 'Bardot'" | ||
+ | se traduit par les requêtes : | ||
+ | * les passages d'une transcriptions : "[] expand to sp" calculée sur le corpus | ||
+ | * le résumé contient 'Bardot' : "Bardot" calculée sur le sous-corpus du résumé du corpus | ||
+ | |||
+ | De la sélection, on peut vouloir utiliser : | ||
+ | * toute la transcription | ||
+ | * le résumé | ||
+ | * les passages | ||
===== Résolution de requête sur structure ===== | ===== Résolution de requête sur structure ===== | ||
Ligne 54: | Ligne 76: | ||
* Assisté : l'utilisateur choisi une structure encadrante et peut définir un test de sélection à partir de plusieurs des propriétés de la structure. | * Assisté : l'utilisateur choisi une structure encadrante et peut définir un test de sélection à partir de plusieurs des propriétés de la structure. | ||
* Avancé : l'utilisateur donne la requête CQL à utiliser -> l'utilisateur est reponsable du respect de la règle de tomizof | * Avancé : l'utilisateur donne la requête CQL à utiliser -> l'utilisateur est reponsable du respect de la règle de tomizof | ||
- | * Script : [SLH : feature] l'utilisateur sélectionne la macro ou le script construisant le sous-corpus -> la macro est reponsable du respect de la règle de tomizof. Les macros construisant des sous-corpus sont stockées dans un répertoire dédié des macros et l'interface de sélection de macro utilise ce lieu de référence pour établir la liste des macros utilisables. | + | * Script (mode avancé ?) : [SLH : feature] l'utilisateur sélectionne la macro ou le script construisant le sous-corpus -> la macro est reponsable du respect de la règle de tomizof. Les macros construisant des sous-corpus sont stockées dans un répertoire dédié des macros et l'interface de sélection de macro utilise ce lieu de référence pour établir la liste des macros utilisables pour cette action. Ces macros doivent fournir leur liste de matchs par le biais d'une API à définir. |
- | * Fichier : [SLH : feature] l'utilisateur sélectionne le fichier binaire ou texte représentant le sous-corpus à construire -> le fichier est reponsable du respect de la règle de tomizof. | + | * Fichier (mode avancé ?) : [SLH : feature] l'utilisateur sélectionne le fichier au format binaire ou au format texte représentant le sous-corpus à construire -> le fichier est reponsable du respect de la règle de tomizof. Le corrolaire de cette fonctionnalité est une nouvelle commande d'export de la liste de matchs d'un sous-corpus. |