Outils pour utilisateurs

Outils du site


public:spec_exploitation_annotation:spec_urs_mesures2

Mesures 2 sur corpus structuré et partitionné.

Augmentation des premiers outils d'analyse d'annotations Analec (macros de mesures) développés pour l'article de Langage.

Cette page fait partie des outils d'exploitation d'annotations généraux.

Et de façon plus spécifique du chantier sur les annotations Analec-URS.

Spécifications

Désignation du corpus de travail

  • travailler sur un corpus de textes et non sur un corpus composé d'un seul texte
  • travailler sur un sous-corpus quelconque de TXM
  • travailler sur des objets composites : partition ou sélection de plusieurs corpus ou sous-corpus. Les partitions permettent notamment de faire des contrastes chronologiques ;

  • pouvoir combiner des sélections d'unités URS avec des sélections de mots CQP
    • quand les sélections de mots CQP sont réalisées à partir de limites de structures CQP, encodées dans les textes du corpus, cela permet de combiner les sélections d'unités avec des limites de structures CQP

Sélection d'éléments URS

Toutes les macros d'analyse utilisent un mécanisme de sélection d'éléments (Unite, Relation et Schema) combiné :

  • sélection d'éléments par relation à d'autres éléments (ex: sélectionner des unités contenues par certains schéma - relation inclusion)
  • sélection d'éléments par critères propres de type, propriété et valeur de propriété
  • intersection de la sélection d'éléments avec des sélections de mots (issus d'une requête CQL, comme pour le repérage de délimitations de structures)

URSQL

La sélection sur les critères d'éléments peut s'exprimer par le biais d'un certain nombre de champs dans un formulaire de requête ou par le biais d'une expression unique utilisant un langage de requête, comme GlozzQL. URSQL est un début de proposition.

V0

Pouvoir sélectionner un élément par son type, une propriété et valeur de propriété. Une requête ne permet pas d'exprimer la sélection d'une unité ou d'une relation ou d'un schéma.

Une requête est de la forme TYPE@PROPRIETE=VALEUR_DE_PROPRIETE. Chacun des 3 critères (identifiants en majuscules) est une expression régulière. Si on souhaite ignorer un critère de sélection on ne le renseigne pas.

Cas possibles :

  • “” : aucun critère de sélection n'est appliqué, tous les éléments sont sélectionnés
  • TYPE : on sélectionne tous les éléments d'un certain TYPE
  • TYPE@PROPRIETE : on sélectionne tous les éléments d'un certain TYPE et ayant une certaine PROPRIETE
  • TYPE@PROPRIETE=VALEUR_DE_PROPRIETE : on sélectionne tous les éléments d'un certain TYPE et ayant une certaine PROPRIETE à une certaine VALEUR_DE_PROPRIETE
  • @PROPRIETE=VALEUR_DE_PROPRIETE : on sélectionne tous les éléments ayant une certaine PROPRIETE à une certaine VALEUR_DE_PROPRIETE (pour n'importe quel TYPE)

Cas particuliers :

  • @PROPRIETE : on sélectionne tous les éléments ayant une certaine PROPRIETE (pour n'importe quel TYPE)
  • =VALEUR_DE_PROPRIETE : on sélectionne tous les éléments ayant une certaine VALEUR_DE_PROPRIETE (pour n'importe quel TYPE et n'importe quelle PROPRIETE)
  • TYPE=VALEUR_DE_PROPRIETE : on sélectionne tous les éléments d'un certain TYPE et d'une certaine VALEUR_DE_PROPRIETE (pour n'importe quelle PROPRIETE)

Les éléments pris en compte sont les Unités et les Schémas.

Calculs

On commence par développer trois macros :

  • UnitsList : liste des unités sélectionnées
  • UnitsIndex : index hiérarchique des valeurs d'une propriété des unités sélectionnées
  • UnitsSummary : statistiques des unités sélectionnées

Elle prennent en argument soit :

  • un objet simple : un corpus ou un sous-corpus
  • un objet composite : une partition ou une sélection de plusieurs corpus ou sous-corpus

Si l'argument est composite, le résultat prend la forme d'un tableau avec autant de colonnes que de parties ou de corpus et sous-corpus.

Ces trois macros prennent des paramètres de sélection identiques :

  • schema_type : type de schéma
  • propriété de schéma (schema_property_name) à une certaine valeur (schema_property_value)
  • minimum_schema_size : taille minimale de schéma
  • unit_type : type d'unité
  • propriété d'unité (unit_property_name) à une certaine valeur (unit_property_value)
  • limits_cql : requête CQL d'expression de limites de structures (exemple <div> [] expand to div)
  • strictInclusion : une option pour forcer tous les mots de l'unité considérée à faire partie de la structure ou non
  • limitDistance : la distance de l'unité à la limite de structure (0 = toutes les unités situées au sein des limites, 1 = première unité après la limite, -1 = dernière avant la limite, etc.)

La macro UnitsIndex prend un argument supplémentaire : propriété d'unité (unit_property_name) dont il faut faire l'index hiérarchique des valeurs.

Documentation

Voir la documentation des macros d'exploitation dans le manuel de l'extension Analec.

Recette 3.3

Merci de faire vos retours dans la page de suivi du projet DEMOCRAT du wiki txm-users.

N'oubliez pas de renseigner au préalable votre configuration machine.

Vérifications

Utilisation des valeurs de propriétés d'une propriété d'unité

  1. Sélectionner le corpus DEMOCRATLYON3
  2. lancer la vérification à partir du menu “URS > Outils > Vérifications > Check Annotation Structure Values” avec les paramètres par défaut
  3. la console affiche
    Values stored in the structure: [chaque famille particulière, ... , espérance des hommes]
    The following values (7) are not used: chaque famille particulière, les familles, la grande famille, chaque type de gouvernement, l'éducation, les lois de l'éducation, un principe

Recherche de duplicatas dans les schémas

  1. Sélectionner le corpus DEMOCRATLYON3
  2. lancer la vérification à partir du menu “URS > Outils > Vérifications > Check Duplicates In Schemas” avec les paramètres par défaut
  3. la console affiche
    No duplicates found in CHAINE schema units
    • saufs erreurs :
      33 duplicates found
      cette guerre 9123-9124, {ACCESSIBILITE=Faible, CATEGORIE=GN.DEM, REF=SI} in: 
       'SI_2866'	[REF:SI_2866, NB MAILLONS:1, TYPE REFERENT:, GENRE:, NOMBRE:]
       'SI'	[REF:SI, NB MAILLONS:1596, TYPE REFERENT:, GENRE:, NOMBRE:]
      ...

Décomptes généraux

UnitsSummary

  1. sélectionner le corpus DEMOCRATLYON3
  2. lancer la macro analec/exploit/UnitsSummary
    1. laisser tous les champs vides et les champs numériques à 0
    2. le résultat est :
      Statistiques des unités de DEMOCRATLYON3
      	DEMOCRATLYON3
      Units	9602
      REF	3136
      CATEGORIE	18


      Glose : il y a 18 valeurs de CATEGORIEs différentes.

  3. sélectionner la partition “Textes”
  4. relancer la macro UnitsSummary avec les mêmes paramètres
  5. le résultat est :
    Statistiques des unités de Textes
    	BossuetDiscours	DiderotEssais	MontesquieuLois
    Units	3600	3042	2960
    REF	445	1400	1354
    CATEGORIE	18	18	18


    Glose : il y a 18 valeurs de CATEGORIEs utilisées par tous les textes.

SchemasSummary

  • Sélectionner la partition “texts” du corpus “DEMOCRALYON3”
  • Lancer le calcul à partir du menu “URS > Outils > Exploitation > Schemas summary” avec les paramètres par défaut sauf :
    • schema_ursql=CHAINE@REF=.*Dieu.*
  • le résultat affiché dans la console est :
    Statistiques des schémas de texts
    	BossuetDiscours	DiderotEssais	MontesquieuLois
    Schemas	5	2	3
    Average len	28.2	60.5	47.3333333333
    Median len	3	3	20
    REF	5	1	2
    ACCESSIBILITE	1	1	1
    CATEGORIE	1	1	1

Listes

UnitsList

  • Sélectionner le corpus DEMOCRATLYON3
  • Lancer le calcul à partir du menu “URS > Outils > Exploitation > Units list” avec les paramètres par défaut sauf :
    • unit_ursql=MENTION@CATEGORIE=PRO.ADV
  • le résultat s'affiche dans la console :
    DEMOCRATLYON3 units: 98
    #   1, 22-22, "en" {ACCESSIBILITE=Faible, CATEGORIE=PRO.ADV, REF=l'ouvrage}
    #   2, 22-22, "en" {ACCESSIBILITE=Faible, CATEGORIE=PRO.ADV, REF=SI}
    #   3, 29-29, "en" {ACCESSIBILITE=Faible, CATEGORIE=PRO.ADV, REF=l'ouvrage}
    ...

SchemasList

  • Sélectionner le corpus DEMOCRATLYON3
  • Lancer le calcul à partir du menu “URS > Outils > Exploitation > Schemas list” avec les paramètres par défaut sauf :
    • unit_ursql=CHAINE@REF=l'ouvrage
  • le résultat s'affiche dans la console :
    [REF:l'ouvrage, NB MAILLONS:3, TYPE REFERENT:, GENRE:, NOMBRE:]: en, en, cét ouvrage

Index et mesures d'unités

Units index

  1. sélectionner la partition “Textes”
  2. lancer la macro UnitsIndex avec les paramètres suivants1) :
    • schema_ursql : CHAINE
    • minimum_schema_size : 0
    • maximum_schema_size : 0
    • unit_ursql : MENTION
    • unit_property_display : CATEGORIE
    • limit_cql :
    • strict_inclusion : true
    • limit_distance : 0
    • output_2D : true
    • output_legend : true
    • output_fmin : 0
    • output_histogram : true
    • output_lexicaltable : false
    • debug : OFF
  3. le résultat est :
    CATEGORIE	BossuetDiscours	DiderotEssais	MontesquieuLois
    DET.POS	263	199	147
    GN.DEF	1209	1094	1120
    GN.DEM	193	125	140
    GN.IND	126	308	304
    GN.INT	3	9	3
    GN.NAM	722	66	80
    GN.NU	50	126	101
    GN.NUM	36	26	21
    GN.POS	260	207	162
    PRO.ADV	31	51	64
    PRO.DEM	22	58	47
    PRO.IND	11	14	17
    PRO.INT	1	16	8
    PRO.NUM	3	3	11
    PRO.PER	400	481	526
    PRO.POS	2	4	5
    PRO.REL	226	182	191
    SUJ.ZERO	42	73	13


    Glose : contrôle général des valeurs de catégories de toutes les unités par texte.

    Vue graphique du résultat :

  1. sélectionner la partition “Textes”
  2. lancer la macro UnitsIndex avec les paramètres suivants2) :
    • schema_ursql : CHAINE
    • minimum_schema_size : 3
    • maximum_schema_size : 999999
    • unit_ursql : MENTION
    • unit_property_display : CATEGORIE
    • limit_cql : <div>[]expand to div
    • strict_inclusion : true
    • limit_distance : 1
    • output_2D : true
    • output_legend : true
    • output_fmin : 0
    • output_histogram : true
    • output_lexicaltable : false
    • debug : OFF
  3. le résultat est :
    CATEGORIE	BossuetDiscours	DiderotEssais	MontesquieuLois
    DET.POS	5	5	0
    GN.DEF	134	160	160
    GN.DEM	9	11	20
    GN.IND	12	48	40
    GN.NAM	170	17	14
    GN.NU	1	15	9
    GN.NUM	5	2	1
    GN.POS	12	16	11
    PRO.ADV	0	1	2
    PRO.DEM	1	2	0
    PRO.IND	1	1	2
    PRO.NUM	0	2	3
    PRO.PER	18	10	11
    PRO.REL	2	0	0
    SUJ.ZERO	0	1	0


    Glose : index hiérachique des catégories des premiers maillons, juste après une limite de div. Les div ont différentes valeurs selon le texte. Elles en ont à peu prêt une dizaine depuis l'uniformisation de MontesquieuLois.

    Vue graphique du résultat :

Units Inter Distance

  • Sélectionner le corpus DEMOCRATLYON3
  • lancer le calcul à partir du menu “URS > Outils > Exploitation > Units inter distance” avec les paramètres par défaut sauf pour
    • unit_ursql=MENTION@CATEGORIE=PRO.+
  • le résultat s'affiche dans la console :
    distances [0, 0, ..., 14200, 14554]
    distance moyenne inter-mayonnaise : 537273 / 2141 = 250.9448855675
    distance médiane inter-mayonnaise : 12
    distance quartiles : 0 2 12 63 14554
    cadences [0, ... , 4130]
    cadence moyenne : 84162 / 2141 = 39.3096683793
    cadence médiane : 5
    cadence quartiles : 0 0 5 17 4130

Units Referential Density

  • Sélectionner le corpus DEMOCRATLYON3
  • lancer le calcul à partir du menu “URS > Outils > Exploitation > Units referential density” avec les paramètres par défaut
  • le résultat s'affiche dans la console :
    Densité référentielle : nUnites/nMots = 9602/33557 = 0.2861400006 = 28.6140000600%

Units Referential Stability

  • Sélectionner le corpus DEMOCRATLYON3
  • lancer le calcul à partir du menu “URS > Outils > Exploitation > Units Referential Stability” avec les paramètres par défaut sauf pour
    • word_property=frlemma
  • le résultat s'affiche dans la console :
    Cyaxare II (10 units) : 2 selected units / 1 frlemmas = 2
    Daniel (5 units) : 2 selected units / 2 frlemmas = 1
    Cyrus (35 units) : 8 selected units / 3 frlemmas = 2.6666666667
    ...
    homme de bien (3 units) : 1 selected units / 1 frlemmas = 1

Visualisation de chaines

Dans TXM 0.7.9, il faut corriger le fichier Groovy de la macro SchemasProgression: ticket 2379
  1. sélectionner le corpus DEMOCRATLYON3
  2. supprimer la CHAINE des singletons, de référent “SI”
    1. ouvrir l'édition
    2. démarrer l'annotation des SCHEMA
    3. ouvrir l'interface de recherche
    4. faire une recherche avec le seul critère REF=“SI”
  3. créer le sous-corpus du texte MontesquieuLois et le sélectionner
  4. lancer la macro analec/exploit/SchemasProgression avec les paramètres suivants :
    • sélection de schémas :
      • schema_ursql : CHAINE@REF=les lois.*
      • minimum_schema_size : 0
      • maximum_schema_size : 0
    • schema_property_display : REF
    • unit_ursql : MENTION
    • limit_cql :
    • strict_inclusion : false
    • limit_distance : 0
    • struct_name : div
    • struct_prop_name : n
    • line_width : 1
    • bande_width : 1.0f
    • show_title : false
    • show_legend : true
  5. le résultat s'affiche dans une nouvelle fenêtre :


Glose : les schémas dont le référent commence par “les lois…” sont affichés.

  1. zoomer sur le début du texte
  2. cliquer sur la première unité de la chaine “les lois politiques et civiles” pour visualiser ses caractéristiques :
    • sa position dans le corpus : MontesquieuLois, page 22, ligne 20
    • sa surface textuelle (ses mots) : les loix politiques et civiles
    • sa catégorie : GN.DEF
    • etc.
  3. Control-clic (pour ajouter à la sélection des points du graphique) sur la 10ième unité de la chaine pour visualiser ses propriétés
  4. Control-clic sur la 13ième unité de la chaine “les lois” pour visualiser ses propriétés et les comparer à celles des autres unités sélectionnées
  5. toujours avec le sous-corpus MontesquieuLois, lancer la macro analec/exploit/SchemasProgression avec les paramètres suivants :
    • sélection de schémas :
      • schema_ursql : CHAINE
      • minimum_schema_size : 3
      • maximum_schema_size : 999999
    • schema_property_display : REF
    • sélection d'unités :
      • unit_ursql : MENTION
      • limit_cql : <div> [] expand to div
      • strict_inclusion : true
      • limit_distance : 1
    • struct_name : div
    • struct_prop_name : n
    • line_width : 1
    • bande_width : 1.0f
    • show_title : false
    • show_legend : false
  6. le résultat s'affiche dans une nouvelle fenêtre :


Glose : les schémas sélectionnés sont affichés et les premières mentions après limite de structure div (les unités sélectionnées) sont mises en évidence par un petit symbole ajouté à la courbe de son schéma. Les premières unités du livre 03 ont été sélectionnées à la main (par Control-clic) pour mettre en évidence leurs propriétés.

Longueurs de structures

  1. sélectionner le corpus DEMOCRATLYON3
  2. lancer, à partir de la vue Macro, la macro “commands/StructuresIndex” avec les paramètres suivants :
    • structures : text,div
    • structProperties : id,n
    • query : [frpos="N.*"]
    • wordProperty : word
    • displayIndex : true
    • Vmax : 20
  3. le résultat est3) :
    struct	prop	start	end	T	t	v	fmin	fmax	index
    text	FM_ARG_EXT_BossuetDiscours	0	11741	11741	3096	1150	1	74	[temps, Dieu, fils, roy, rois, royaume, peuple, histoire, mesme, ans, medes, nom, luy, empire, ville, premier, Babylone, Egypte, enfans, Moïse]
    div	01	0	246	246	55	46	1	3	[religion, choses, premierement, évenemens, temps, suite, empires, affaires, DESSEIN, PREMIER, DISCOURS, Aprés, dessein, ouvrage, ay, trois, utilité, espere, epoques, mots]
    div	02	247	1066	819	226	157	1	8	[genre, Dieu, hommes, premiere, homme, enfans, arts, terre, fondement, innocence, monde, Noé, deluge, temps, 1, abord, image, histoire, mesme, puissance]
    div	03	1067	1894	827	202	146	1	8	[temps, premier, premiers, hommes, terre, Noé, memoire, toûjours, genre, mesme, estoit, arts, fruits, tour, partage, trois, terres, peuples, egyptiens, Nemrod]
    div	04	1895	3097	1202	336	211	1	11	[Dieu, Egypte, luy, temps, Jacob, pharaon, rois, fils, nom, peuples, peuple, Abraham, enfans, toûjours, douze, freres, Grece, ans, deluge, pere]
    div	05	3098	4218	1120	321	208	1	14	[temps, loy, fils, roy, Moïse, ans, peuple, Dieu, ville, mesme, luy, fondement, Aaron, mort, histoire, Josué, livres, Ninus, empire, tyrannie]
    div	06	4219	4833	614	176	131	1	8	[temps, Dieu, cause, mesme, fils, roy, peuple, enfans, epoque, Troye, poëtes, heros, Priam, Jupiter, gloire, crime, Saül, premier, Athenes, mort]
    div	07	4834	6850	2016	548	342	1	13	[temps, fils, royaume, Dieu, Juda, Israël, roy, ans, Achab, regne, rois, temple, Athalie, pieté, loy, idolatrie, David, prince, Moïse, maison]
    div	08	6851	11741	4890	1232	555	1	23	[medes, rois, roy, temps, royaume, histoire, Babylone, fils, empire, ville, Dieu, nom, assyriens, peuple, Orient, Cyrus, Assyrie, mesme, Cyaxare, histoires]
    text	MontesquieuLois	11742	23019	11277	2167	716	1	98	[loix, gouvernement, peuple, nature, état, 1, vertu, corps, principe, LIVRE, loi, prince, monarchie, PARTIE, droit, démocratie, république, honneur, homme, puissance]
    div	01	11742	14504	2762	513	210	1	48	[loix, rapports, nature, être, rapport, monde, état, êtres, hommes, droit, société, guerre, 1, homme, loi, sentiment, gouvernement, gens, intelligens, règles]
    div	02	14505	18982	4477	866	370	1	35	[peuple, loix, nature, gouvernement, aristocratie, état, loi, démocratie, monarchie, Rome, partie, puissance, république, corps, monarque, suffrage, sénat, affaires, sort, temps]
    div	03	18983	22887	3904	754	352	1	33	[gouvernement, loix, vertu, honneur, principe, prince, état, 1, 3, nature, peuple, LIVRE, force, PARTIE, corps, gouvernemens, monarchie, république, ressort, cesse]
    div	04	22888	23019	131	34	25	1	4	[loix, éducation, 1, gouvernement, famille, PARTIE, LIVRE, 4, Que, principes, premières, citoyens, plan, peuple, principe, parties, familles, espèce, monarchies, objet]
    text	DiderotEssais	23020	33688	10668	2011	903	1	38	[nature, couleur, homme, tableau, lumière, objets, œil, toile, art, effet, corps, artiste, ombre, ombres, deux, peintre, peinture, dessin, couleurs, tête]
    div	01	23031	26040	3009	549	327	1	16	[nature, homme, modèle, figure, deux, école, artiste, chose, âge, figures, dessin, actions, fois, professeur, action, attitude, manière, femme, col, tête]
    div	02	26041	28980	2939	531	307	1	23	[couleur, nature, chair, artiste, toile, art, homme, yeux, œil, couleurs, tableau, harmonie, effet, dessin, palette, organe, ton, coloriste, vie, ami]
    div	03	28981	31801	2820	569	334	1	22	[lumière, corps, ombres, ombre, effet, objets, lumières, toile, œil, scène, nature, art, teinte, loi, soleil, jour, ciel, couleurs, objet, tableau]
    div	04	31802	33688	1886	357	215	1	14	[tableau, objets, habit, distance, peintre, nature, peinture, détails, point, homme, Exemple, formes, possibles, œil, mesure, père, figure, deux, lumières, lieu]


    Glose :

  • MontesquieuLois est composé de 11277 mots
    • ses chapitres resp. de 2762, 4477, 3904 et 131 mots (le dernier livre est très tronqué)
  • MontesquieuLois parle dans l'ensemble de : loix, gouvernement, peuple, nature, état, 1, vertu, corps, principe, LIVRE, loi, prince, monarchie, PARTIE, droit, démocratie, république, honneur, homme, puissance
    • son livre I de : loix, rapports, nature, être, rapport, monde, état, êtres, hommes, droit, société, guerre, 1, homme, loi, sentiment, gouvernement, gens, intelligens, règles
    • son livre II de : peuple, loix, nature, gouvernement, aristocratie, état, loi, démocratie, monarchie, Rome, partie, puissance, république, corps, monarque, suffrage, sénat, affaires, sort, temps
    • etc.

Annotation d'unités par sélection

  1. sélectionner le corpus DEMOCRATLYON3
  2. ajouter la propriété “PREMIERMAILLONDIV” aux Unités de type MENTION avec la commande “Éditer la structure d'annotation”
  3. lancer la macro analec/edit/UnitsAnnotate avec les paramètres suivants :
    • schema_ursql : CHAINE
    • minimum_schema_size : 3
    • maximum_schema_size : 999999
    • unit_ursql : MENTION
    • limit_cql : <div> [] expand to div
    • strict_inclusion : true
    • limit_distance : 1
    • unit_property_to_set : PREMIERMAILLONDIV
    • unit_property_value_to_set : true
    • debug : false
  4. ouvrir l'édition et démarrer l'annotation des Unités
  5. ouvrir l'interface de recherche avec le critère de sélection PREMIERMAILLONDIV=true
  6. lancer la recherche et naviguer dans les Unités
1) , 2)
la signature des paramètres a changé depuis la spéc → à documenter
3)
ne pas hésiter à copier depuis la console, puis faire un Shift-Ctrl-V dans Calc pour lire plus confortablement le tableau
public/spec_exploitation_annotation/spec_urs_mesures2.txt · Dernière modification : 04/06/2019 14:38 de benedicte.pincemin@ens-lyon.fr