Le groupe ICOR a proposé un export des corpus de Clapi en TEI depuis 2006 pour promouvoir la diffusion des corpus oraux dans des formats normalisés et tenter de diffuser cette pratique dans les projets impliquant Clapi. Notre objectif était d'utiliser la TEI aussi bien pour les métadonnées que pour la transcription textuelle des enregistrements audio ou vidéo. Le jeu d'éléments de la TEI initialement choisi a évolué avec l'organisation de la base Clapi et son changement de structure (nouvelle version en novembre 2012). Il a bénéficié de l' outil de désambigüisation des élisions non standards en orthographe adpatée (`fin pour enfin) qui permet de retrouver automatiquement la forme orthographique standard (enfin) pour les traitements automatiques (outils de requêtes de Clapi, annotateurs automatiques dans Orféo)
Les choix techniques
Dans un premier temps, Clapi n'a pas voulu développer son propre jeu de balises avec une personnalisation ODD trop vite pour proposer le minimum de modification par rapport au jeu de balises déjà disponibles en TEI P5, préferrant discuter de cette personnalisation avec les acteurs des autres plateformes pour définir un ODD commun.
Ce choix conduit à utiliser des éléments génériques comme <p> ou <note> pour décrire des données pourtant fondamentales à l'oral qui sont regroupées dans le paragraphe La liste des adaptations
Il faudra définir dans les instances communes une classification avec des sous-niveaux optionnels pour couvrir chaque domaine. Dans Clapi, la typologie des genres interactionnels a été reprise avec les interactions privées, professionnelles, commerciales, medicales, scolaires, ...et traduite en TEI par les éléments<keyword> et <item>
Les données disponibles en TEI
Les métadonnées de toutes les transcriptions de Clapi sont disponibles en TEI (595 transcriptions à ce jour) Les métadonnées et le texte de la transcription sont disponibles en TEI pour les transcriptions requêtables dans Clapi (123 transcriptions à ce jour), c'est à dire normalisées par la médiathèque de corpus
La liste des adaptations des éléments existants
<teiHeader>
l'enregistrement et la transcription
Un élément dédié à la qualite de l'enregistrement et non une description <quality level="///">
L'anonymisation de l'enregistrement car actuellement élement description dans l'élément media <anonymisation type="bip/contour prosodique">
La définition de la transcription avec un élément propre avec sa durée, son intervalle (par rapport à l'enregistrement si partielle), son format (transcreiber, praat, clan, elan, ...) <transcript duration="" from="" to="" format="" url="">
La liste des annotations avec leur niveau de granularité (type,level)
Un élément pour la vérification de la transcription <checking>
Le multilinguisme et les locuteurs
Pour les interactions bilingues, les langues principales/secondaires sont à indiquer en pourcentage, proposer un attribut non chiffré "main/other"
La langue parlée par les parents des locuteurs
Le lieu où la langue a été apprise par le locuteur, élément <learning>
<text>
Le timing : utiliser et <timeline unit="s" origin="#T0"><when xml:id="T0" absolute="00:00:00"/><when xml:id="T1" absolute="00:01:05:20"/> ... pour la définition du timing et sa durée, utiliser <anchor synch="#Txx"/>
Un chevauchement : On pourrait définir autant de timelines relatifs (sans temps absolu) que de début et fin de segments en chevauchements, mais compte-tenu du caractère fortement interactif de nos interactions, cela rendrait les timelines illisibles et l'ancrage segment chevauchant/chevauché moins lisible on choisit d'utiliser anchor xml-id pour le segment chevauché avec une ancre CH_xxx et anchor synch pour le segment chevauchant avec bien sûr la même ancre
<anchor xml:id="CH_xx"/> et <anchor synch="#CH_xx"/> MAR [ça va ____] BEA [on pose nos ] affaires là
Un chevauchement annoté à l'intérieur d'un token [c'est chou]ette <anchor xml:id="CH_6" n="155/3a"/> <w n="155/3b">c'</w> <w n="155/3c">est</w> <choice n="155/3d"> <orig>chou <anchor xml:id="CH_7" n="155/3d"/> ette </orig> <reg>chouette</reg> </choice>
Une pause : ajouter l'attribut rend à pause pour garder la forme transcrite <pause type="short/long" dur="PT0.2S" rend="(0.2)">
Un token <w n="m7/8e4">euh</w>
Un token en orthographe adaptée `fin pour enfin : <choice n="m7/7jd"><orig>`fin</orig><reg>enfin</reg></choice>
Les intonations : intonation montante et intonation descendante ça va/ <w n="155/59">ça</w>
<w n="155/5a">va <shift feature="pitch" new="asc"/></w> non\ <w n="155/7i">non <shift feature="pitch" new="desc"/></w>
Les allongements tomber::: <w n="155/12f">tomber <shift feature="tempo" new="rall"/> <shift feature="tempo" new="rall"/> <shift feature="tempo" new="rall"/></w> Pour un allongement annoté à l'intérieur d'un mot, on utilise choice pour reconstituer le mot tel qu'il a été transcrit comme ou:ais: <choice n="155/5o"> <orig>ou <shift feature="tempo" new="rall"/>ais <shift feature="tempo" new="rall"/></orig> <reg>ouais</reg> </choice>
L'accentuation de certaines sylhabes nON <w n="155/2j">n<shift feature="loud" new="f">on</shift></w>
Les caractères inaudibles tes chaussures xx <w n="155/6j">tes</w>
<w n="155/6k">chaussures</w><unclear extent="2 sylls"/>
Les aspirations et expirations .h <shift new="breathing-in"/> .h <shift new="breathing-out"/>
Un mot ou un groupe de mots incertains Un mot comme (mais) <w n="155/3lb"> <unclear>mais</unclear> </w> Le groupe de mots incertains (qui tournent) <unclear><w n="155/4c3">qui</w>
<w n="155/4c4">tournent</w></unclear>
Le chuchotement comme °tes chaussures° <seg type="voice" rend="whisp"><w n="155/6j">tes</w><w n="155/6k">chaussures</w></seg>
La portee pour encadrer une information portant sur une séquence de la PV <((en riant)) bon> <seg type="non-speech" rend="((en riant))"><w n="155/ee">bon</w></seg> <((rebouche la bouteille)) (0.3)> <seg type="incident" rend="((rebouche la bouteille))> <pause type="short" dur="PT0.3S" rend="(0.3)" n="155/148"/> </seg>
Les commentaires : vocal ou note comme ((rires)) <vocal><desc n="155/179">((rires))</desc></vocal>
Un élément additionnel fictif pour l'affichage aligné des chevauchements <space style="overlap" rend="________"/>
((France - Repas - Kiwi 2008, Repas entre amies))(00:00:00)(25.5) ((ELI marche vers la porte et ouvre la porte))ELI BONJOUR:/(2.8) ((les invitées arrivent devant la porte)) BEA salut/ELI ça va/BEA ça va et toi/(1.6) ((BEA et ELI se font la bise))ELI j'ai ent[endu du BR]UITMAR ________[salut/ ___]MAR ouiBEA ouais((ELI et MAR se font la bise))MAR <((rires)) (0.4)> merde on nous entend arriver de loinELI hm(0.3)BEA ah il fait chaud iciMAR ah ouais ça fait du bienELI bon ben voilà vous aviez pas vu/BEA [nON]MAR [nON](.)ELI [voilà ____]BEA [c'est chou]ette/ (.) c'est chouette ouais\(0.2)MAR c'est coolBEA [.h ouais]ELI [.H: ____] bon j` vous laisse vous installer les [filles/]<text xml:lang="fr"> <timeline unit="s" origin="#T0"> <when xml:id="T0" absolute="00:00:00"/> <when xml:id="T1" absolute="00:01:05:20"/> <when xml:id="T2" absolute="00:01:06:20"/> <when xml:id="T3" absolute="00:01:10:70"/> <when xml:id="T4" absolute="00:01:10:85"/> <when xml:id="T5" absolute="00:01:13:90"/> <when xml:id="T6" absolute="00:01:26:70"/> ... </timeline>
<body> <anchor synch="#T0"/>
<note> <desc n="155/1">((France - Repas - Kiwi 2008, Repas entre amies))</desc> </note> <pause type="long" dur="PT25.5S" rend="(25.5)" n="155/2"/> <note> <desc n="155/3">((ELI marche vers la porte et ouvre la porte))</desc> </note> <u who="#ELI"> <w n="155/4"> <shift feature="loud" new="f">bonjour</shift> <shift feature="tempo" new="rall"/> <shift feature="pitch" new="asc"/> </w> <space style="overlap" rend="_______"/> <pause type="long" dur="PT2.8S" rend="(2.8)" n="155/6"/> <note> <desc n="155/7">((les invitées arrivent devant la porte))</desc> </note> </u>
<u who="#BEA"> <w n="155/17">ouais</w> <space style="overlap" rend="_______"/> <note> <desc n="155/19">((ELI et MAR se font la bise))</desc> </note> </u>
La DTD et le schéma XML retenu (à venir, restrictions à préciser)
<!ELEMENT TEI ( teiHeader, text ) ><!ATTLIST TEI xmlns CDATA #REQUIRED > <!ELEMENT activity ( #PCDATA ) > <!ELEMENT age EMPTY ><!ATTLIST age from NMTOKEN #REQUIRED ><!ATTLIST age to NMTOKEN #REQUIRED > <!ELEMENT anchor EMPTY ><!ATTLIST anchor n CDATA #IMPLIED ><!ATTLIST anchor synch CDATA #IMPLIED ><!ATTLIST anchor xml:id ID #IMPLIED > <!ELEMENT availability ( licence ) ><!ATTLIST availability status NMTOKEN #REQUIRED > <!ELEMENT birth EMPTY ><!ATTLIST birth from NMTOKEN #REQUIRED ><!ATTLIST birth to NMTOKEN #REQUIRED > <!ELEMENT body ( anchor, note, u+ ) > <!ELEMENT choice ( orig, reg+ ) ><!ATTLIST choice n CDATA #REQUIRED > <!ELEMENT correction ( p ) > <!ELEMENT creation ( date ) > <!ELEMENT date ( #PCDATA ) > <!ELEMENT desc ( #PCDATA ) ><!ATTLIST desc n CDATA #IMPLIED > <!ELEMENT editorialDecl ( interpretation, correction, normalization ) > <!ELEMENT education ( #PCDATA ) > <!ELEMENT encodingDesc ( p+, editorialDecl ) > <!ELEMENT fileDesc ( titleStmt, publicationStmt, notesStmt, sourceDesc ) > <!ELEMENT interpretation ( p ) > <!ELEMENT item ( #PCDATA ) > <!ELEMENT keywords ( list ) ><!ATTLIST keywords scheme NMTOKEN #REQUIRED > <!ELEMENT langKnowledge ( langKnown ) > <!ELEMENT langKnown ( #PCDATA ) ><!ATTLIST langKnown level NMTOKEN #REQUIRED ><!ATTLIST langKnown tag NMTOKEN #REQUIRED > <!ELEMENT langUsage ( language ) > <!ELEMENT language ( #PCDATA ) ><!ATTLIST language ident NMTOKEN #REQUIRED ><!ATTLIST language usage NMTOKEN #REQUIRED > <!ELEMENT licence ( p+ ) ><!ATTLIST licence target CDATA #REQUIRED > <!ELEMENT list ( item ) > <!ELEMENT listPerson ( person+, personGrp ) > <!ELEMENT media ( desc+ ) ><!ATTLIST media dur NMTOKEN #REQUIRED ><!ATTLIST media mimeType CDATA #REQUIRED ><!ATTLIST media url CDATA #REQUIRED > <!ELEMENT name ( #PCDATA ) > <!ELEMENT normalization ( p ) ><!ATTLIST normalization source CDATA #REQUIRED > <!ELEMENT note ( #PCDATA | desc )* > <!ELEMENT notesStmt ( note ) > <!ELEMENT occupation ( #PCDATA ) > <!ELEMENT orig ( #PCDATA | anchor | shift | unclear )* > <!ELEMENT p ( #PCDATA ) > <!ELEMENT particDesc ( listPerson ) > <!ELEMENT pause EMPTY ><!ATTLIST pause dur NMTOKEN #IMPLIED ><!ATTLIST pause n CDATA #REQUIRED ><!ATTLIST pause rend CDATA #REQUIRED ><!ATTLIST pause type ( long | short ) #REQUIRED > <!ELEMENT person ( age | birth | education | langKnowledge | note | occupation )* ><!ATTLIST person sex NMTOKEN #REQUIRED ><!ATTLIST person xml:id NMTOKEN #REQUIRED > <!ELEMENT personGrp EMPTY ><!ATTLIST personGrp sex NMTOKEN #REQUIRED ><!ATTLIST personGrp size NMTOKEN #REQUIRED > <!ELEMENT principal ( #PCDATA ) > <!ELEMENT profileDesc ( creation, settingDesc, langUsage, particDesc, textClass ) > <!ELEMENT pubPlace ( #PCDATA ) > <!ELEMENT publicationStmt ( publisher, pubPlace, availability ) > <!ELEMENT publisher ( #PCDATA ) > <!ELEMENT recording ( media ) > <!ELEMENT recordingStmt ( recording ) > <!ELEMENT reg ( #PCDATA ) > <!ELEMENT resp ( #PCDATA ) > <!ELEMENT respStmt ( resp, name+ ) > <!ELEMENT seg ( anchor | choice | pause | seg | shift | unclear | w )* ><!ATTLIST seg rend CDATA #REQUIRED ><!ATTLIST seg type ( non-speech | voice ) #REQUIRED > <!ELEMENT setting ( activity ) > <!ELEMENT settingDesc ( setting ) > <!ELEMENT shift ( #PCDATA ) ><!ATTLIST shift feature ( loud | pitch | tempo ) #IMPLIED ><!ATTLIST shift new ( asc | breathing-in | breathing-out | desc | f | rall ) #REQUIRED > <!ELEMENT sourceDesc ( recordingStmt ) > <!ELEMENT space ( #PCDATA ) ><!ATTLIST space style NMTOKEN #REQUIRED ><!ATTLIST space rend NMTOKEN #REQUIRED > <!ELEMENT teiHeader ( fileDesc, encodingDesc, profileDesc ) ><!ATTLIST teiHeader xml:lang NMTOKEN #REQUIRED > <!ELEMENT text ( timeline, body ) ><!ATTLIST text xml:lang NMTOKEN #REQUIRED > <!ELEMENT textClass ( keywords ) > <!ELEMENT timeline ( when+ ) ><!ATTLIST timeline origin CDATA #REQUIRED ><!ATTLIST timeline unit NMTOKEN #REQUIRED > <!ELEMENT title ( #PCDATA ) > <!ELEMENT titleStmt ( title, principal, respStmt+ ) > <!ELEMENT u ( #PCDATA | space | anchor | choice | note | pause | seg | shift | unclear | vocal | w )* ><!ATTLIST u who CDATA #REQUIRED > <!ELEMENT unclear ( #PCDATA | space | anchor | choice | pause | seg | shift | unclear | vocal | w )* ><!ATTLIST unclear extent CDATA #IMPLIED > <!ELEMENT vocal ( desc ) > <!ELEMENT w ( #PCDATA | anchor | shift | unclear )* ><!ATTLIST w n CDATA #REQUIRED > <!ELEMENT when EMPTY ><!ATTLIST when absolute NMTOKEN #REQUIRED ><!ATTLIST when xml:id ID #REQUIRED >
Utilisation de la TEI dans le projet Ciel : Daniel Alcon, Carole Etienne
Le projet Ciel-f a choisi d'archiver ses données dans les deux banques de données Moca et Clapi, les collections de données seront donc échangées régulièrement, les transcriptions sont en Praat, les métadonnées seront échangées en TEI
en utilisant l'élément <teiCorpus> pour la totalité de la collection
en utilisant l'élément <teiheader> pour la totalité du projet Ciel
en utilisant l'élément <teiCorpus> par aire géographique
en utilisant l'élément <TEI> par situation enregistrée avec son <teiheader>
Utilisation de la TEI dans le projet Orféo
Le projet Orféo s'appuie sur un corpus d'études constituté par différentes ressources de différentes plateformes transcrites dans différents formats et pourrait utiliser la Tei pour les métadonnées et les transcriptions
Conseil de gestion de Clapi Sylvie Bruxelles, Carole Etienne, Emilie Jouin-Chardon, Justine Lascar, Sandra Teston-Bonnard, Véronique Traverso
Ont contribué à la conception et au développement de CLAPI Kamel Aouiche, Lukas Balthazar, Michel Bert, Lorenza Mondada, Christian Plantin, Daniel Valéro
Les enregistrements et les transcriptions de CLAPI sont disponibles sous licence Creative Common 4.0 International (CC BY-NC-SA 4.0) c'est à dire qu'elles sont réutilisables à l'identique ou modifiables mais pour des usages non commerciaux et avec citation de la source ( CLAPI, http://clapi.icar.cnrs.fr ), elles peuvent être redistribuées dans les mêmes conditions.
The recordings and the transcripts of CLAPI are available with license Creative Common 4.0 International (CC BY-NC-SA 4.0) which means that they could be reusable faithfully or modified but not for commercial purposes and with appropriate credit ( CLAPI, http://clapi.icar.cnrs.fr ), they could be redistributed under the same license.