Outils pour utilisateurs

Outils du site


public:annotation:specs_annotation_analec:annotations_unites

Annotation des unités

L'annotation des unités se fait à l'aide de l'éditeur SynopticEditor et d'une toolbar spécialisée.

Planning

Etape 1

L'objectif de cette étape est de proposer un transfert du travail d'annotation de DEMOCRAT depuis le logiciel Analec vers le logiciel TXM le plus vite possible, pour que le travail d'annotation dans TXM consolide l'implémentation réalisée et éventuellement offre de nouveaux services utiles au travail d'annotation (usage des outils de TXM, des annotations de mots ou de structures, du pilotage par scripts, etc.). L'étape 1 sera vraiment terminée quand tous les annotateurs pourront choisir entre l'utilisation d'Analec ou de TXM pour leur travail d'annotation pour le projet DEMOCRAT.

Contenu

Branchements des fonctionnalités de base de l'annotation des unités d'Analec :

  • on navigue et créé dans une barre d'outil de l'édition synoptique :
    • liste des types d'unités
    • liste des unités
    • bouton de création d'unité
    • bouton de suppression d'unité
    • bouton de rectification des bornes d'unité
  • on visualise dans la vue Édition
    • paginée
    • sélectionner une séquence de tokens
    • reproduit l'UI de sélection de type/propriété/valeur d'Analec
    • gestion de feed-back :
      • stylisation des unités
      • stylisation de propriétés de mots
    • navigation entre unités (avant, après)
  • on édite les propriétés dans la Vue propriétés

La barre d'outil s'ouvre à l'aide d'un bouton qui se trouve à gauche dans la barre d'outil inférieur de l'éditeur SynopticEditor

On transfère du code d'Analec pour :

  • classes du modèle de structure d'annotation
    • persistence
  • importation d'une structure d'annotation

déroulement

Pour la dernière semaine de Septembre (semaine 39) :

  • évaluation / récupération de code Analec
  • évaluation du composant de rendu HTML actuel pour les fonctionnalités nécessaires
    • sélection : peut-on récupérer depuis tous les systèmes suportés (Windows, Mac OS X et Linux) les identifiants des mots qui sont recouvert par la sélection
    • stylisation : peut-on styler une portion de la page d'édition et comment ? Le retour au texte, le fait déjà en Javascript à l'aide des identifiants de mots que la concordance a retourné → comment identifier la zone à styler ?
    • interaction
  • préparation de la toolbox et de la rcp pour l'extension
    • Il s'agit essentiellement de préparer l'extension SynopticEditor à pouvoir étendre ses toolbar (inférieure qui existe déjà et supérieure, à faire) mais aussi de pouvoir acceder à la sélection de l'éditeur
  • implémentation de l'extension (UI + modèle)
    • importer une structure d'annotation : ajouter une entrée de menu (dans un premier temps) : Analec > Charger une structure
    • création d'unités : l'extension ajouter un bouton “crayon” dans la barre inférieure de l'édition qui active une toolbar similaire à celle d'Analec
  • finalisation de la recette

Etape 2

  • Liste des unités
    • Navigation par touche clavier :
      • avec les touches : flèche haut (n-1), flèche bas (n+1), page haut (n-10), page bas (n+10)
      • avec la molette de la souris
      • cycler dans les valeurs
    • aller à l'unité d'identifiant XYZ
      • auto-complétion de l'identifiant d'unité avec les touches clavier CTRL + ESPACE

Etape 3

  • sélection d'unités inter-pages
  • gestion des unités recouvrantes (#1894)
    • affichage du recouvrement
    • aide à la sélection:
      • menu contextuel
      • sélection par plusieurs clic : si l'une des unités est déjà sélectionnée, sélectionner l'autre
  • correction des bornes d'unités
    • UI outil principal
    • outils secondaires
      • étendre à gauche
      • étendre à droite
      • re-sélection de l'unité
  • navigation dans les unités à partir de l'édition
    • brancher les raccourcis claviers pour aller à la première unité et la la dernière
      • depuis la liste des unités
      • depuis l'édition
    • lors de la navigation à la n-1/n+1/n-10/n+10 unité, ignorer la valeur “<identifiants>”
    • dans la vue Unités : brancher les raccourcis claviers et ajouter des boutons pour aller à l'unité précédente, suivante, premiere et derniere.

Spécifications

Interactions

[discussion en cours concernant l'amélioration de l'interaction pour l'annotation]

Opérations (par ordre de fréquence) :

  • sur les unités :
    1. créer une unité
    2. rectifier les bornes de l'unité courante
    3. supprimer une unité
  • de navigation dans les unités :
    1. sélectionner une unité par son identifiant
    2. déplacer la sélection d'unité courante
  • de navigation dans les caractères de l'édition :
    1. étendre à gauche
    2. étendre à droite

Stratégie simple : intuitive qui correspond à la politique RCP = souris + toolbar

Stratégie avancée : limiter le va-et-vient de la souris entre le texte pour la sélection de mots/caractères et la toolbar pour déclencher les actions → équilibrer l'usage entre la souris et le clavier

  • souris = sélection de mots/caractères
  • clavier = Entrer/Créer, Suppr/Supprimer, Space-pressed/Rectifier les bornes

Highlight des unités pour le scénario V:

  • état 1 : Toutes les unités d'un type sélectionné dans la liste des types d'unités de la toolbar Unité sont highlightées en jaune clair
  • état 2 : Une unité sélectionnée (soit à partir de la liste des unité, soit avec la souris) est highlightée en jaune foncé
  • Pour sélectionner une autre unité, il faut revenir à l'état 1

Highlight des unités pour le scénario D:

  • Toutes les unités d'un type sélectionné dans la liste des types d'unités de la toolbar Unité sont highlightées en vert clair
  • Une unité sélectionnée (soit à partir de la liste des unité, soit avec la souris) est highlightée en vert foncé
  • contrairement à Analec, les unités du type courant sont toujours highlightées.
    • L'avantage est de réduire le nombre de clics nécessaires pour trouver et sélectionner une unité dans l'édition (lorsqu'une autre unité est déjà sélectionnée).

Mise en évidence des unités

Dans Analec il y a 4 types de mises en évidence :

  • celle du mode présentation : drivée par la Vue Analec (choix couleurs, gras, italic, etc. par valeur de propriété)
  • celles du mode annotation
    • les unités du type d'unité courant (sélectionné dans la barre d'outil) : jaune clair
      • les chevauchements d'unités : jaune marqué
    • l'unité sélectionnée : jaune marqué + gras

Dans TXM :

  • Dans l'étape 1, une partie est implémenté mais avec les couleurs vert clair et vert.
  • Dans l'étape 2, l'implémentation correspond à celle d'Analec
  • Dans l'étape 3, 2 nouvelles préférences Analec pour choisir la couleur : current_unit_type_color et selected_unit_color
    • utiliser un champ de préférence de couleur avec :
      • 2 jeux de couleurs prédéfinies : combo “jaune”+“jaune marqué”, “vert”+“vert marqué” (des étapes 1 et 2)
  • Prochaines étapes
    • proposer plusieurs palettes de couleurs pastels
    • un bouton “other colors…” qui ouvre un Color picker dialog

Mise en évidence de la continuité des mots des unités

Dans TXM, la mise en évidence ne rend pas bien compte de la continuité de l'annotation.

Mode présentation VS Mode annotation

Dans Analec, tant qu'on a pas sélectionné de type d'unité/schéma/relation ou sélectionné d'unité/schéma/relation dans l'édition. Le logiciel est en mode présentation.

En mode présentation, la Vue drive complètement l'affichage des unités (police, gras, italic, couleur de fond, couleur de police, taille de police…)

Structure

Ajouter des options pour :

  • générer des propriétés automatiques de création d'annotation, de modification date de l'annotation, d'annotateur
  • pour rendre lisible des propriétés
  • pour rendre éditable des propriétés
  • pour fermer ou ouvrir les valeurs de propriété

Vue

Sélection de mots

  • avec la souris :
    • avec un drag and drop du clic gauche
    • avec un double clic
  • avec le clavier
    • étendre la sélection au mot suivant
    • étendre la sélection au mot précédent
    • rogner la sélection au mot à gauche
    • rogner la sélection au mot à droite
  • avec une CQL

Rectification des bornes d'unité

Plusieurs scénarios identifiés :

Analec

- select unit
- click "rectifier une borne" button
- click in the edition near the unit
--> if the click is on a word of the first (left) half of the word span of the unit or before the first word of the unit, the word is the new left limit
--> if the click is on a word of the second (right) half of the word span of the unit or after the last word of the unit, the word is the new right limit
solution 2

activation puis re-sélection :

- select unit
- select word span (eg click down on first word to release up on last word)
- click "rectifier les bornes" button

re-sélection puis activation:

- click "rectifier les bornes" button
- select unit
- select word span (eg click down on first word to release up on last word)

Analec + modifieurs claviers

- select unit
- click "rectifier une borne" button
- click in the edition near the unit
--> a click selects the new left limit
--> a shift-click selects the new right limit

Boutons d'extension à gauche ou droite

Bouton étendre à gauche
Bouton étendre à droite
Bouton réduire à gauche
Bouton réduire à droite

Accéder aux différents modes de correction des bornes avec un “bouton liste déroulante”

[ Rectifier les bornes | v ] -> [ Rectifier les bornes | v ]
                                | Limite gauche        |
                                | Limite droite        |
                                |______________________|

Ascenseur de visualisation globale

Comme dans Glozz, afficher dans un ascenseur la localisation de toutes les annotations du corpus.

Il permet de :

  • voir ou se trouve la page courante dans le corpus
  • voir les annotations dans le corpus
  • cliquer dans l'ascenseur affiche la page la plus proche du clic
  • cliquer sur une annotation dans l'ascenseur affiche la page qui contient l'annotation et la met en évidence

Gestion du chevauchement des unités

Affichage

Plusieurs scénarios:

Analec: 2 couleurs de background : jaune clair et jaune. jaune clair pour mettre en évidence une annotation et jaune pour mettre en évidence la superposition d'annotations (2 ou plus). Les couleurs peuvent être modifiées grâce à la Vue.

Incrémentale : la saturation ou la luminosité est exploitée de manière incrémentale, à chaque fois qu'on ajoute un niveau d'imbrication. Ainsi, pour 2 niveaux, cela revient à la solution précédente. Pour 3 niveaux, cela revient à avoir du jaune clair, du jaune foncé et du jaune très foncé

Marqueurs de début et fin : ajouter des caractères spéciaux discrets en début et fin d'unités, par exemple des crochets []. FL: cette solution augmente la largeur du texte.

Tooltips : lorsque l'on survole les annotations, un tooltip peut rendre compte des identifiants des annotations survolées.

Sélection

Par simple clic gauche. Si on re-clic, l'annotation suivante est sélectionnée

Par le menu contextuel. Une entrée est rajoutée pour chaque annotation recouvrant la position de la souris.

Par la liste des unités.

Par les raccourcis claviers : annotation suivante et annotation précédente

Annotation URS par concordances

Par exemple pour annoter, “Phileas” “Fogg” dans TDM80J, on avance dans l'édition à travers la concordance par retour au texte ligne par ligne).

Scénario :

  1. d'abord on fait un premier retour au texte par double-clic sur une ligne de concordance pour ouvrir l'édition et la passer en mode annotation
  2. annotation ligne par ligne : quand on double-clique sur une ligne de concordance correspondant à une unité à visualiser ou à créer, on met en évidence les mots de l'unité dans l'édition mais pas l'unité elle-même si elle existe et la vue “MENTION from X to Y” n'est pas mise à jour avec les valeurs des propriétés de l'unité
    –> la mise en évidence des mots d'une unité dans une édition, en cours d'annotation URS, lors d'un retour au texte par concordance doit :
    • appeler un code qui crée la sélection de caractères correspondants dans le navigateur
    • appeler le code qui allume éventuellement les unités, présentent dans l'édition en cours d'annotation, situées sous la sélection de caractères et fait la mise à jour éventuelle de la vue “MENTION from X to Y” pour voir les valeurs des propriétés de l'unité courante
    • activer la barre d'annotation pour, par exemple, pouvoir [Créer] directement une unité à partir des mots mis en évidence quand il n'y a pas d'unité situé sous la sélection de caractères ou pouvoir [Supprimer] l'unité sélectionnée si elle existe
  3. annotation de tous les pivots de la concordance d'un coup, après élagage éventuel préalable de certaines lignes :
    –> d'abord il faut pouvoir indiquer qu'on veut tout annoter d'un coup : le bouton annoter (crayon) de la concordance pourrait servir à ça s'il ne servait pas déjà à l’annotation simple-avancée. Solution 1 : nouvelle Préférence : donner priorité à l'annotation Analec sur l'annotation Simple quand une structure d'annotation URS est associée au corpus → dans ce cas le bouton annoter (crayon) de la concordance lance le code d'annotation d'unités URS sur les pivots avec une gestion associée de la saisie des valeurs de propriétés dans la vue “MENTION from X to Y” avant de valider l'annotation de tous les pivots. Solution 2 : ajouter un nouveau bouton “Annoter URS” dans la concordance quand une structure d'annotation URS est associée au corpus, qui lance le code précédent.
  4. relation bi-directionnelle édition↔concordance
    –> quand une édition est ouverte à partir du retour au texte d'une concordance, le clic sur une séquence de mots highlightés doit positionner la concordance sur l'occurrence du pivot correspondante. Cela permettrait d'annoter les mots à travers la concordance par paquets ou mot par mot dans l'édition, de façon alternative et cyclique, en fonction du type de pivot et de la densité des occurrences.
Manœuvre de contournement actuelle pour annoter à travers une navigation de concordance : après le retour au texte, cliquer dans l'édition sur les mots mis en évidence pour mettre à jour la vue “MENTION from X to Y”. S'il n'y a pas d'unité associée aux mots sélectionnés les valeurs de champs dans la vue “MENTION from X to Y” ne sont pas mises à jour et la mise en évidence des mots est rosée, au lieu de vert ou jaune. Dans ce cas il faut créer l'unité et donner des valeurs à ses propriétés.

Solution

Mise en évidence des unités

  • TXM 0.7.9 :
    • la mise en évidence est réalisée par le stylage CSS du navigateur interne
    • elle est réalisée lors de la navigation entre unités et lors de la création d'unités
    • elle procède en deux étapes :
      • 1) aller à la page de l'unité à mettre en évidence
        • 1.1) trouver les identifiants de mots de l'unité (start, end)
        • 1.2) trouver le texte qui contient le start
          • utilise l'index de structure 'text_id' de CQP
        • 1.3) trouver la page (du texte) qui contient le start
          • utilise l'index de pages du fichier import.xml + la structure des répertoires d'édition du corpus
      • 2) changer le style CSS de l'unité
public/annotation/specs_annotation_analec/annotations_unites.txt · Dernière modification: 2018/05/28 11:33 par slh@ens-lyon.fr