Annotation de Contenus et Informations en lien avec les textes

Création de Contenus ou d'Informations dans la BHP et utilisation de l'attribut @ana

A partir des textes transcrits, on pourra créer des Contenus ou des Informations dans la base de données collaborative du projet symogih.org (BHP) et détailler, grâce aux rôles associés à chaque Contenu ou Information, tous les objets historiques intervenant dans chaque unité de connaissance.

On pourra ensuite lier le passage de texte d'où est tiré le Contenu ou l'Information en insérant l'attribut @ana dans la balise qui entoure le passage (div, p, s, cl, seg). [Note provisoire: jusqu'en janvier 2016, ce manuel proposait d'utiliser l'attribut @corresp pour effectuer cette annotation. Les collégues du consortium TEI nous ont fait remarquer que, bien que cette approche ne soit pas fausse, il est plus opportun d'utiliser l'attribut @ana qui souligne la dimension interprétative de l'annotation.]

  • Pour un même passage, par ex. une phrase (s) on pourra insérer plusieurs identifiants d'Informations ou de Contenus dans l'attribut @ana, séparés par un espace blanc.
  • On appliquera donc la même méthode qui a été adoptée pour indiquer la typologie des différentes portions de texte. La distinction entre les deux approches est lisible dans l'identifiant de l'entité utilisé comme valeur de l'attribut @ana. S'il s'agit d'un objet abstrait ('AbOb9999') il s'agira d'un typage générique de la portion de texte; s'il s'agit de la clé d'un contenu ou d'une information ('Cont9999' ou 'Info9999') la référence s'effectuera vers une ou plusieurs unités de connaissance (Contenus ou Informations) tirées de ce texte.
  • Selon les principes de l'ontologie du projet symogih.org, il faut veiller à associer à l'unité de connaissance stockée dans la base de données uniquement la portion de texte, en régle générale atomisée, qui l'exprime effectivement. Il ne s'agit donc pas de l'expression d'une sorte de typologie du texte, indiquant que dans tel passage du texte plus ou moins long on parle de telle unité de connaissance, mais d'établir une correlation entre un texte précis et l'unité de connaissance qui en a été tirée, ou qui existait déjà dans la base de données et que ce texte exprime.
  • Par exemple:
    <s ana="Info94542">Galilée enseigne les mathématiques à l'Univesité de Padoue entre 1592 et 1610.</s>
    correspond à cette information.
  • Si on a annoté des entités nommées dans le texte, à l'intérieur du segment correspondant à l'unité de connaissance, on pourra associer la clé d'un Rôle à un élément particulier du texte, toujours en utilisant l'attribut @ana. Pour reprendre le même exemple:
    <s ana="Info94542"><name ref="Actr161" ana="InRo261100">Galilée</name> enseigne les <name ref="AbOb213" ana="InRo261102">mathématiques</name> à l'<name ref="CoAc54" ana="InRo261101">Univesité de Padoue</name> entre 1592 et 1610.</s>
    ce qui permet, par exemple, de rebondir sur ce role.
    • On relèvera le sens différent de l'attribut @ref, qui identifie l'objet visé par l'entité nommée, et l'attribut @ana, qui établit un lien entre la portion de texte 'entité nommée' et le rôle exercé par cet objet au sein de l'unité de connaissance créée dans la base de données.
    • Ce procédé permé de traiter les cas d'identification multiple, ou délicate, ou sujette à discussion, des entités nommées. Dans ces cas, on pourra créer l'unité de connaissance correspondante dans la base de données BHP et se limiter à associer grâce à l'attribut @ana les rôles concernant l'identification des entités nommées, sans mettre d'attribut @ref, car l'identification sera effectuée (et discutée) dans la base de données.
  • Le même procédé peut s'appliquer aux Contenus.
  • Au niveau de l'extraction et de l'exploitation des données, une requête combinant xQuery et SQL permettra, en partant de l'annotation du texte, de récupérer les types de rôle des différentes entitées nommées présentes dans le corpus ou, inversement, recupérer la dénomination précise d'un objet dans la source pour les objets associés via des rôles aux unités de connaissance.
  • Le sourçage de l'Information ou du Contenu dans la BHP se fera de la manière habituelle.
  • Il sera toutefois possible de chercher, via un formulaire, tous les textes du corpus analysé associés à un groupe d'Informations ou de Contenus

Grâce à cette méthode, on indique que tel contenu correspond à tel passage du texte transcrit, ou que telle information a été tirée, avec d'autres sources possibles, du passage en question ou qu'elle y est mentionnée même si déjà connue grâce à d'autres sources.

Si souhaité, on peut également associer différents paragraphes ou élements 'ab', voire même 'div', à un même contenu ou à une même information en utilisant la méthode de regroupement présentée précédemment :

 
<p xml:id="DiOb9999_1">Et il se rendit ensuite [...].</p>
<p xml:id="DiOb9999_2">Enfin il arriva à Lyon [...]. </p>
<p xml:id="DiOb9999_3">Il y resta quinze jours aux cours desquels [...].</p>
  <join target="#DiOb9999_1 #DiOb9999_2" result="list" ana="Cont33333">
     <desc>Récit du voyage de ... </desc>
  </join>
  <join target="#DiOb9999_2 #DiOb9999_3" result="list" ana="Info77777">
     <desc>Récit du séjour de ... à Lyon </desc>
  </join>

Dans ce cas, la partie de descriptif (élément 'desc') sera omise, en régle générale, car déjà exprimée par le Contenu ou l'Information correspondante, associée grâce à l'attribut @ana.

  • [Traitement des dates à ajouter]

Annotation d'unités de connaissances en stand-off

Comme évoqué précédemment, dans le contexte d'un encodage collaboratif il est préférable de séparer le rétablissement du texte et de sa structure, même grammaticale, de son annotation sémantique. Ceci pour éviter d'ajouter au texte numérique lui-même une couche sémantique dépendante d'une problématique de recherche précise.

Cette séparation peut être effectuée en utilisant la balise 'span', élément qui “associates an interpretative annotation directly with a span of text” (Guidelines TEI P5), selon l'exemple suivant:

<s xml:id="DiOb9999_12">Galilée enseigne les mathématiques à l'Univesité de Padoue entre 1592 et 1610.</s>
[...]
  <span target="#DiOb9999_12" ana="Info94542"/>

Tout élément susceptible d'être annoté est muni d'un identifiant sous la forme de l'attribut @xml:id (voir ici pour la manière de construire cet attribut de manière homogène) qui permet de pointer vers cet élément depuis un élément 'span' stocké de préférence dans un autre texte numérique, dédié à l'encodage sémantique. De cette manière, plusieurs interprétations complémentaires, voire concurrentes, peuvent être annotées par rappot au même texte. Cette méthode permet de stocker en même temps les métadonnées concernant la personne qui encode et l'horodatage de l'annotation.

Annotation de portions étendues de texte concernant un objet ou une unité de connaissance

Un cas particulier est celui de textes qui concernent un objet ou une unité de connaissance précise mais dont la longueur dépasse la simple formulation en une phrase de l'unité de connaissance concernée. Comme nous l'avons indiqué précédemment, il est important d'associer à une unité de connaissance créée dans la base de données BHP (contenu ou information) uniquement la portion de texte qui l'exprime effectivement et qui sera, en régle générale, atomisée. Comme nous l'avons indiqué ci-dessus, elle sera associée en utilisant un attribut @ana inséré directement dans un élément du balisage ou en stand-off.

Par exemple, dans le cas d'un entretien on va créer l'unité de connaissance qui renseigne le fait de l'entretien (dans l'exemple l'Info118847) et l'associer à la portion précise du texte qui fait état de l'entretien, en utilisant l'une des deux méthodes présentées précédemment (attribut @ana directement dans le texte ou élément 'span' pointant vers le texte atomisé). Si l'encodeur souhaite associer également un passage plus long du texte, décrivant les différents contenus de l'entretien, on procédera ainsi:

<seg xml:id="DiOb5714_5">
       <s xml:id="DiOb5714_6">Hiermattina con <name xml:id="DiOb5714_10" ref="Actr807">Mons.r Dini</name> lessi la sua modestissima et ingegnosissima lettera sopra il passo del Salmo <foreign xml:lang="la">Coeli enarrant</foreign>.</s>
       <s xml:id="DiOb5714_9">Quanto a me, non so conoscere che possano opporvi.</s> Siamo affatto chiari che della opinione non si è trattato qua tra più che quattro o cinque non molto affettionati suoi; e niuno di loro ha parlato col Maestro di Sacro Palazzo, ma con un Padre, amico di detto Maestro, il che mi fu confermato dal <name ref="Actr3035">Gratia</name> istesso:
       <s xml:id="DiOb5714_10">però è forse bene non ne trattare molto; <cl xml:id="DiOb5714_7">che così pareva al S.r<name ref="Actr103">Principe Cesi</name>,</cl> per non parere d'incolparsi col voler tentare le difese ove non è chi muova guerra.</s>
       [...]
       </seg>
 
 
      <span target="#DiOb5714_5" type="passage">
          <span target="#DiOb5714_6" ana="Info118847"/>
      </span>

L'élément 'span' se trouvant à l'intérieur du premier 'span' de l'exemple fait le lien entre l'élément 's' qui contient la mention du fait de l'entretien et l'information correspondante dans la base de données (Info118847) renseignée dans l'attribut @ana. Selon ce qui a été indiqué précédemment, ce lien aurait pu être également exprimé en insérant dans l'élément 's' l'attribut @ana, en renvoyant ainsi directement à l'information:

<s xml:id="DiOb5714_6" ana="Info118847">Hiermattina con ... </s>

Le fait d'adopter l'approche de codage en stand-off proposée dans l'exemple permet d'utiliser l'élément 'span' se référant au passage englobant pour englober l'élément interprétatif 'span' qui indique quel est l'objet principal du passage:

  • le premier 'span' (en position de parent) indique, grâce l'attribut @type=“passage”, qui est obligatoire, que la portion de texte visée dans l'attribut @target est une portion de texte englobante qui contient des développements concernant un objet principal (acteur, concept ou autre) ou une unité de connaissance principalement concernée (comme dans l'exemple)
  • le deuxième 'span' (en position d'enfant) met en relation l'unité de connaissance visée avec le texte précis qui l'exprime, se situant à l'intérieur du passage et identifié par l'attribut @target (target=”#DiOb5714_6”)

Si on souhaite renseigner plusieurs objets principaux du 'span' englobant, on pourra créer plusieurs éléments 'span' enfants à l'intérieur de celui-ci. En revanche, toute autre portion de texte annoté sémantiquement, se trouvant à l'intérieur du passage du texte visé par le 'span' englobant, même si elle est associée à une unité de connaissance, ne relève pas de l'objet principal du passage. Celui-ci correspond uniquement aux objets et/ou unités de connaissance renseignés dans les éléments 'span' enfants.

Généralement, l'objet ou l'unité de connaissance concernée par la portion de texte englobante est présente à l'intérieur de celle-ci (à l'intérieur au sens de la structure XML en arboréscence). Dans ce cas, l'attribut @target du deuxième 'span' indique où se trouve dans le texte l'objet concerné par le développement (target=”#DiOb5714_6” dans l'exemple), qui pourrait être aussi un acteur ou tout autre objet: on écrirait alors, par ex., target=”#DiOb5714_10” pour indiquer que le passage englobant concerne Mgr Dini. Mais on pourrait aussi se limiter à pointer vers un objet, ou vers une unité de connaissance, même si ils ne sont présents dans le texte que de manière implicite. Ce qui se fera sous cette forme:

<span target="#DiOb5714_5" type="passage" ana="Info118847"/>

ou

<span target="#DiOb5714_5" type="passage" ana="Actr807"/>

On indique ainsi que le chercheur interprète tel passage du texte, plus ou moins long, en tant que développement concernant telle unité de connaissance ou tel acteur qui n'y est pas directement ou explicitement mentionné. Si souhaité, on peut aussi combiner les deux approches:

<span target="#DiOb5714_5" type="passage" ana="Actr807">
     <span target="#DiOb5714_6" ana="Info118847"/>
</span>

Enfin, si on préfère éviter les balises 'seg' on peut également accrocher l'entité englobante à un paragraphe, ou à un élément 'div', en pointant vers l'attribut @xml:id correspondant au texte englobant visé.

        <p xml:id="DiOb5714_10">
                    <s xml:id="DiOb5714_2">Andai a far reverenza all'Ecc.mo S.r <name ref="Actr103">Principe Cesi</name>;
                        stetti con S. Ecc.za più hore; hebbi un gusto da muovere invidia a chiunque sente diletto di eminente virtù, nobiltà e cortesia.</s>
                        <s xml:id="DiOb5714_1">Non si può parlare con maggior veneratione et affetto di quel ch'ei faccia di V. S. Ecc.ma.</s>
                        <s xml:id="DiOb5714_8">Mi disse, haverle mandato il <rs ref="Bibl3390">libro del <name ref="Actr158" ana="SoCh1188">P. Foscarino</name>
                        </rs></s>
           </p>
 [...]
 
                    <span target="#DiOb5714_10" type="passage">
                        <span target="#DiOb5714_2" ana="Info118334"/>
                    </span>

On peut également munir toutes les phrases concernées d'un attribut @xml:id et les regrouper pour construire virtuellement le texte englobant visé:

        <p>
                    <s xml:id="DiOb5714_2">Andai a far reverenza all'Ecc.mo S.r <name ref="Actr103">Principe Cesi</name>;
                        stetti con S. Ecc.za più hore; hebbi un gusto da muovere invidia a chiunque sente diletto di eminente virtù, nobiltà e cortesia.</s>
                        <s xml:id="DiOb5714_1">Non si può parlare con maggior veneratione et affetto di quel ch'ei faccia di V. S. Ecc.ma.</s>
                        <s xml:id="DiOb5714_8">Mi disse, haverle mandato il <rs ref="Bibl3390">libro del <name ref="Actr158" ana="SoCh1188">P. Foscarino</name>
                        </rs></s>
           </p>
 [...]
 
                    <span target="#DiOb5714_2 #DiOb5714_1 #DiOb5714_8" type="passage">
                        <span target="#DiOb5714_2" ana="Info118334"/>
                    </span>

Cette manière de procéder, qui utilise l'attribut @target (en le préférant à la structure @from @to qui ne permettent pas de gérer les discontinuités) presente l'avantage de permettre de regrouper en un seul texte différentes portions de texte même si elles sont séparées entre elles par d'autres textes concernant d'autres sujets.


Création de 'contenus' dans un document XML-TEI, reliés directement au texte original

Annotation collaborative de textes en stand-off

symogih_manuel/annotation_de_contenus_et_informations.txt · Dernière modification: 2016/05/06 16:54 par francesco.beretta@ish-lyon.cnrs.fr