Transformation vers corpusHM
Version 21 (Severine Gedzelman, 28/09/2017 14:10)
1 | 1 | Severine Gedzelman | h1. Transformation vers un corpus parallèle (alignement HM) |
---|---|---|---|
2 | 1 | Severine Gedzelman | |
3 | 2 | Severine Gedzelman | Le document fourni par Uetani est un fichier word, organisé avec des tableaux à 3 colonnes : |
4 | 7 | Severine Gedzelman | ** col 1 : nom du segment philologique (et notes diverses, dont certains acronymes sont à élucider pour moi) |
5 | 7 | Severine Gedzelman | ** col 2 : version italienne |
6 | 7 | Severine Gedzelman | ** col 3 : version française correspondante |
7 | 2 | Severine Gedzelman | |
8 | 2 | Severine Gedzelman | L'enregistrement du .doc vers .odt est obligatoire chez moi, car je ne possède pas de logiciel Microsoft. Pour obtenir un corpus en XML-TEI, on a besoin de passer par deux scripts : |
9 | 7 | Severine Gedzelman | # le premier est fourni par le service "OXGarage":http://www.tei-c.org/oxgarage/ (transformateur en ligne pour la communauté TEI principalement) |
10 | 7 | Severine Gedzelman | # le deuxième a été écrit en python par moi-même dont les détails sont après. |
11 | 2 | Severine Gedzelman | |
12 | 15 | Severine Gedzelman | h2. 1) ODT vers XML-TEI |
13 | 1 | Severine Gedzelman | |
14 | 2 | Severine Gedzelman | * Le document de départ : attachment:CorpusSANAZIFR_Uetani_2017.odt |
15 | 2 | Severine Gedzelman | * Le document de sortie : attachment:CorpusSANAZIFR_Uetani_2017.xml |
16 | 2 | Severine Gedzelman | |
17 | 6 | Severine Gedzelman | Les choix ont été les suivants sur "OxGarage":http://www.tei-c.org/oxgarage/ : OpenOffice texte (odt) en entrée, TEI P5 XML Document en sortie |
18 | 2 | Severine Gedzelman | |
19 | 2 | Severine Gedzelman | !{width:80%}OXGarage_convertODT-2-TEI.png! |
20 | 2 | Severine Gedzelman | |
21 | 8 | Severine Gedzelman | Les tableaux sont restitués avec également les éléments de forme et les notes de bas de page, un exemple de la dernière ligne (<row>) du dernier tableau (<table>) : |
22 | 5 | Severine Gedzelman | |
23 | 5 | Severine Gedzelman | <pre><code> |
24 | 5 | Severine Gedzelman | <table rend="frame" xml:id="Tableau4"> |
25 | 5 | Severine Gedzelman | <row> |
26 | 5 | Severine Gedzelman | <cell>Ecloga II, vv. 1-12</cell> |
27 | 5 | Severine Gedzelman | <cell>....</cell> |
28 | 5 | Severine Gedzelman | <cell>....</cell> |
29 | 5 | Severine Gedzelman | </row> |
30 | 5 | Severine Gedzelman | ... |
31 | 5 | Severine Gedzelman | </table> |
32 | 5 | Severine Gedzelman | <table> |
33 | 5 | Severine Gedzelman | ... |
34 | 5 | Severine Gedzelman | <row> |
35 | 5 | Severine Gedzelman | <cell>A la Sampogna, 19-20</cell> |
36 | 5 | Severine Gedzelman | <cell rend="justify"><hi rend="bold italic">Benché</hi><hi rend="italic"> mi |
37 | 5 | Severine Gedzelman | pare esser certo che tal fatica a tenon fia necessaria, se tu tra le |
38 | 5 | Severine Gedzelman | selve, sí come io ti impongo, secretamente e senza pompe star ti vorrai. |
39 | 5 | Severine Gedzelman | Con ciò sia cosa che chi non sale, non teme di cadere ; e chi cade nel |
40 | 5 | Severine Gedzelman | piano, il che rare volte adiviene, con picciolo agiuto</hi><hi |
41 | 5 | Severine Gedzelman | rend="italic"><note xml:id="ftn529" place="foot" n="529"> |
42 | 5 | Severine Gedzelman | <hi rend="italic">agiuto</hi> : aiuto (E).</note></hi><hi |
43 | 5 | Severine Gedzelman | rend="italic"> de la propria mano senza danno si rileva</hi><hi |
44 | 5 | Severine Gedzelman | rend="italic"><note xml:id="ftn530" place="foot" n="530"><hi |
45 | 5 | Severine Gedzelman | rend="italic"> rileva</hi> : risolleva, rialza |
46 | 5 | Severine Gedzelman | (E).</note></hi><hi rend="italic">. Onde per cosa vera e indubitata |
47 | 5 | Severine Gedzelman | tener ti puoi che chi piú di nascoso e piú lontano da la moltitudine |
48 | 5 | Severine Gedzelman | vive, miglior vive ; e colui tra' mortali si può con piú verità chiamar |
49 | 5 | Severine Gedzelman | beato che, senza invidia de le altrui grandezze, </hi><hi |
50 | 5 | Severine Gedzelman | rend="bold italic">con modesto animo</hi><hi rend="italic"> de la sua |
51 | 5 | Severine Gedzelman | fortuna si contenta (p. 241).</hi></cell> |
52 | 5 | Severine Gedzelman | <cell rend="justify"><hi rend="bold">Nonobstant</hi> je pense estre aßeuré que |
53 | 5 | Severine Gedzelman | n'auras besoing de ce faire, si suyvant mon conseil, tu te veul tenir en ces |
54 | 5 | Severine Gedzelman | boys secretement, & sans aucune pompe : Car qui ne saulte, n'a peur de |
55 | 5 | Severine Gedzelman | tumber : & qui chet en la plaine (ce que n'advient gueres) se relieve |
56 | 5 | Severine Gedzelman | sans dommage, seulement avec un peu de secours de ses propres mains. Parquoy |
57 | 5 | Severine Gedzelman | tu peux tenir pour chose indubitable, que celuy peult vivre en plus grand |
58 | 5 | Severine Gedzelman | repos, qui est plus loingtain & retiré de la multitude confuse. Et entre |
59 | 5 | Severine Gedzelman | les hommes se peult plus veritablement estimer bien heureux celuy qui sans |
60 | 5 | Severine Gedzelman | envie des grandeßes d'aultruy,<hi rend="bold">par </hi><hi |
61 | 5 | Severine Gedzelman | rend="bold italic">modestie</hi><hi rend="bold"> de courage</hi> se |
62 | 5 | Severine Gedzelman | contente de sa fortune (fol. 114 v°).</cell> |
63 | 5 | Severine Gedzelman | </row> |
64 | 5 | Severine Gedzelman | </table> |
65 | 5 | Severine Gedzelman | </code></pre> |
66 | 5 | Severine Gedzelman | |
67 | 15 | Severine Gedzelman | h2. 2) XML-TEI vers XML-TEI-HM |
68 | 2 | Severine Gedzelman | |
69 | 9 | Severine Gedzelman | |
70 | 1 | Severine Gedzelman | Le script attachment:tei2teiHM.py permet de |
71 | 13 | Severine Gedzelman | * récupérer l'ensemble des deux textes (source italien, cible français) : |
72 | 1 | Severine Gedzelman | ** sans les notes (de bas de page) |
73 | 3 | Severine Gedzelman | ** sans les indications graphiques (qui sont dans des balises <hi> avec attributs : italic, bold, ...) |
74 | 13 | Severine Gedzelman | * et de préparer la structure et les noms des divisions, et des segments contenus dans celles-ci. Par exemple les segments <seg> "Prosa_X_1", "Prosa_X_2", ... seront rassemblés sous une division <div> : "Prosa_X". |
75 | 1 | Severine Gedzelman | |
76 | 9 | Severine Gedzelman | Pour plus d'info, voir le chapitre dédié à la [[structure philologique]], et les opérations de nettoyage effectuées jusqu'à présent. |
77 | 9 | Severine Gedzelman | |
78 | 12 | Severine Gedzelman | h3. A propos de la ressource XML en entrée |
79 | 12 | Severine Gedzelman | |
80 | 11 | Severine Gedzelman | Le document XML-TEI a été légèrement modifié à la main (attachment:) |
81 | 11 | Severine Gedzelman | # avec une substitution des "Egloga" en "Ecloga" (peut refaire la modification dans le sens inverse si besoin) |
82 | 1 | Severine Gedzelman | # avec remplacement des valeurs des attributs "xml:id" des tableaux afin de permettre la création de divisions philologiques plus méta comme "Prosa_X", dans lesquels s'inséreront automatiquement les segments philologiques "Prosa_X_1", "Prosa_X_2". L'attribut notait jusqu'à présent seulement l'incrémentation des tableaux : "Tableau1", "Tableau2". Cela donne pour le premier tableau : *<table rend="frame" xml:id="Prologo I">* |
83 | 11 | Severine Gedzelman | |
84 | 12 | Severine Gedzelman | Dans une réflexion semblable, faut-il préparer des <cell> avec les titres des segments, comme par exemple s'est trouvé par hasard le titre de "Ecloga XI". On pourra ainsi les traiter comme des titres en TEI avec la balise <head>. |
85 | 9 | Severine Gedzelman | |
86 | 10 | Severine Gedzelman | <pre><code> |
87 | 10 | Severine Gedzelman | <table rend="frame" xml:id="Ecloga_XI"> |
88 | 10 | Severine Gedzelman | <row> |
89 | 12 | Severine Gedzelman | <cell>Ecloga XI, 0</cell> |
90 | 10 | Severine Gedzelman | <cell rend="center">ERGASTO<hi rend="italic"> solo</hi></cell> |
91 | 10 | Severine Gedzelman | <cell>ERGASTO SEVL.</cell> |
92 | 1 | Severine Gedzelman | </row> |
93 | 1 | Severine Gedzelman | </code></pre> |
94 | 1 | Severine Gedzelman | |
95 | 1 | Severine Gedzelman | h3. A propos du script et de ses paramètres |
96 | 13 | Severine Gedzelman | |
97 | 15 | Severine Gedzelman | Le script génère des <teiHeader> pour les deux textes (it, fr) <TEI> et pour l'ensemble du corpus <teiCorpus>. Chaque texte aura un identifiant pour Hypermachiavel avec une langue correspondante : |
98 | 15 | Severine Gedzelman | * Erspamer_1505 (i1) - it |
99 | 15 | Severine Gedzelman | * Martin_1544 (f1) - frm |
100 | 13 | Severine Gedzelman | |
101 | 14 | Severine Gedzelman | +Remarque+ : Il faudra prévoir d'ajouter ces entêtes manuellement selon les indicatons de Uetani sur ces différentes éditions/productions. J'ai calqué pour l'instant à la structure de Hyperprince, pour les détails, voir le corpus. |
102 | 1 | Severine Gedzelman | |
103 | 12 | Severine Gedzelman | Avant d'appeler le script python, il faut |
104 | 12 | Severine Gedzelman | # vérifier l'installation de "python" sur la machine (à noter que tous les Mac ont une version par défaut, même chose pour le programme Java) |
105 | 12 | Severine Gedzelman | # placer les ressources dans le même dossier : soit le fichier source de donnée .xml et le fichier script .py, |
106 | 12 | Severine Gedzelman | # indiquer en deuxième paramètre du script, la chaîne correspondant au chemin du dossier où se trouve ces ressources |
107 | 12 | Severine Gedzelman | |
108 | 12 | Severine Gedzelman | |
109 | 1 | Severine Gedzelman | <pre><code> |
110 | 9 | Severine Gedzelman | $ python tei2teiHM.py CorpusSANAZIFR_Uetani_2017.xml ~/Documents/Travail_ENS/Projets/Exterieurs/CESR_Uetani/Transformations |
111 | 9 | Severine Gedzelman | </code></pre> |
112 | 1 | Severine Gedzelman | |
113 | 12 | Severine Gedzelman | h3. A propos de la ressource générée |
114 | 12 | Severine Gedzelman | |
115 | 12 | Severine Gedzelman | Le résultat avec le même extrait 'XML-TEI' donné plus haut : *A_la_Sampogna_19-20* |
116 | 9 | Severine Gedzelman | |
117 | 9 | Severine Gedzelman | <pre><code> |
118 | 11 | Severine Gedzelman | <seg n="15" type="Segment" rend="A_la_Sampogna_19-20" xml:id="i1_Ch25-Seg15"> |
119 | 11 | Severine Gedzelman | Benché mi pare esser certo che tal fatica a tenon fia necessaria, se tu tra le selve, sí |
120 | 11 | Severine Gedzelman | come io ti impongo, secretamente e senza pompe star ti vorrai. Con ciò sia cosa |
121 | 11 | Severine Gedzelman | che chi non sale, non teme di cadere ; e chi cade nel piano, il che rare volte adiviene, |
122 | 11 | Severine Gedzelman | con picciolo agiuto de la propria mano senza danno si rileva. Onde per cosa vera e |
123 | 1 | Severine Gedzelman | indubitata tener ti puoi che chi piú di nascoso e piú lontano da la moltitudine vive, |
124 | 1 | Severine Gedzelman | miglior vive ; e colui tra' mortali si può con piú verità chiamar beato che, |
125 | 1 | Severine Gedzelman | senza invidia de le altrui grandezze, con modesto animo de la sua fortuna si contenta (p. 241). |
126 | 1 | Severine Gedzelman | </seg> |
127 | 1 | Severine Gedzelman | </code></pre> |
128 | 15 | Severine Gedzelman | |
129 | 15 | Severine Gedzelman | h2. 3) Importation dans Hypermachiavel |
130 | 15 | Severine Gedzelman | |
131 | 18 | Severine Gedzelman | # Il faut ouvrir l'outil, voir la documentation officielle pour démarrer à "cette page":https://forge.cbp.ens-lyon.fr/redmine/projects/hypermachiavel/wiki/Comment_d%C3%A9marrer) |
132 | 18 | Severine Gedzelman | # puis suivre "les étapes de la création d'un projet corpus":https://forge.cbp.ens-lyon.fr/redmine/projects/hypermachiavel/wiki/D%C3%A9marrer_un_nouveau_corpus_(XML-TEI). |
133 | 19 | Severine Gedzelman | # La tokenisation et lemmatisation sont ensuite déclenchées, le processus est plus ou moins long mais ne sera effectué qu'à cette étape de création. Par la suite, pour toute ré-ouverture de l'application et du projet, on pourra suive "cette page":https://forge.cbp.ens-lyon.fr/redmine/projects/hypermachiavel/wiki/Ouvrir_un_projet_existant |
134 | 19 | Severine Gedzelman | # Les textes sont alignés et on peut commencer à faire un travail de mise en équivalence entre des séquences (mot ou syntagme) source et cible. Exemple ci-dessous avec les mots "camere" (it) et "chambres" (fr) |
135 | 15 | Severine Gedzelman | |
136 | 1 | Severine Gedzelman | !{width:80%}HM_HyperArcadia_AnnotateTranslationEquivalences.png! |
137 | 19 | Severine Gedzelman | |
138 | 20 | Severine Gedzelman | h2. Exploration lexicale |
139 | 1 | Severine Gedzelman | |
140 | 20 | Severine Gedzelman | On a également accès aux lexiques de chaque langue (un texte par langue dans le corpus de "HyperArcadia" pour le moment). |
141 | 20 | Severine Gedzelman | |
142 | 20 | Severine Gedzelman | Voici donc la liste du vocabulaire du texte français (édition de Martin 1544) : |
143 | 20 | Severine Gedzelman | |
144 | 21 | Severine Gedzelman | !{width:70%}HM_HyperArcadia_ItalianLexicon_list.png! |
145 | 20 | Severine Gedzelman | |
146 | 21 | Severine Gedzelman | Et la liaison avec le tableau de concordance sur la forme "aucuns" (affichage de toutes les occurrences de cette forme dans le texte français), après sélection de cet élément dans la liste et click sur l'icône : !Column.gif! |
147 | 20 | Severine Gedzelman | |
148 | 21 | Severine Gedzelman | !{width:70%}HM_HyperArcadia_KWIC_example.png! |
149 | 20 | Severine Gedzelman | |
150 | 21 | Severine Gedzelman | h2. Exploration |