cnrs-lacito / himalco Goto Github PK
View Code? Open in Web Editor NEWHimalayan Corpora
License: Other
Himalayan Corpora
License: Other
Spécifier l’architecture logicielle (en UML) envisagée pour la bibliothèque traitant les dictionnaires, le but étant de pouvoir passer d’un format à un autre et vice-versa.
Demande d'Alexis.
Conversion du lexique na, d’Excel vers MDF.
Les spécificités/choses à prévoir sont rassemblées ici.
Quand on ouvre un dictionnaire dans Toolbox, avec une "Side browse" montrant les gloses (champ \lx), un clic simple sur une entrée dans la "side view" ouvre la fiche correspondante dans l'autre vue.
Quand j'ouvre le dictionnaire na dans Toolbox, avec une "Side browse", ça ne marche que jusqu'à l'entrée du verbe /bv˩/.
Il y a 5 homophones pour /bv˩a/. Pour les 2 premiers, "couver" et "étuver", ça marche. A partir du 3e et jusqu'à la fin du dictionnaire, un clic dans la liste renvoie systématiquement à la même fiche: la fiche 6978 (mot d'emprunt chinois 合; son champ \lx est vide).
J'ai cherché et re-cherché les erreurs de syntaxe qui auraient pu se glisser mais pas réussi à trouver.
Les marqueurs de paradigmes, type "1s", "1d" etc. ne sont pas supportées en XML : en effet, le nom d'un élément XML ne peut pas commencer par un chiffre.
Une solution consisterait à tout mettre sous le marqueur plus général "pd".
Mais avant, je vais regarder du côté de Toolbox et Lexique Pro, voir comment ils ont géré ce problème.
(à réaliser de mai/juin 2014 à l'automne)
Génération automatique du champ \lc
Cahier des charges: pour chaque item:
J'ai mis dans le dossier dev, sous dossier "scripts Alexis", des scripts Perl, dont NaTone.pl, qui fait précisément ça: assigner des tons de surface à une expression, en fonction de son ton sous-jacent. La tâche pour toi (Céline) consiste à reprendre ce script... ou recommencer à zéro en mieux! mais les commentaires portés dans NaTone.pl pourront t'être utiles pour référence.
Le script a vocation à être générique, et à terme, devenir un programme exhaustif pour générer les tons de formes de surface en na, des expressions les plus simples (ex.: un nom dit à l'isolée) jusqu'aux plus complexes (énoncés entiers).
Dans un premier temps, il faut l'appliquer à toutes les entrées du dictionnaire pour avoir la forme de surface. Ce serait une fonction qui prendrait en entrée 1 ton abstrait (catégorie phonologique)+1 suite de syllabes et donnerait en sortie la forme de surface, pour des expressions d'1 ou plusieurs syllabes. Inutile de souligner combien cet outil est utile pour vérifier l'analyse et la faire avancer, et pour les applications pratiques.
Récapitulation des règles:
Rule 1: L tone spreads progressively (‘left-to-right’) onto syllables that are unspecified for tone.
Rule 2: Syllables that remain unspecified for tone after the application of Rule 1 receive M tone.
Rule 3: In tone-group-initial position, H and M are neutralized to M.
Rule 4: A syllable following a H-tone syllable receives L tone.
Rule 5: All syllables following a HL or ML sequence receive L tone.
Rule 6: In tone-group-final position, H and M are neutralized to H if they follow a L tone.
Rule 7: If a tone group only contains L tones, a post-lexical H tone is added to its last syllable.
Règles à appliquer: de la forme sous-jacente (ton dans \lx) à la forme dans \lc:
Le tableau suivant indique, pour les noms : la catégorie tonale phonologique (=abstraite/sous-jacente); la réalisation tonale en isolation; la notation du ton dans \lx; celle à adopter pour \lc; et un exemple.
Les tons pour lesquels \lc et \lx ne sont pas identiques sont mis en gras dans la colonne "in isolation".
les NOMS MONOSYLLABIQUES.
analysis | in isolation | \lx tone | \lc tone | example: \lx | example: \lc | n° de règle |
---|---|---|---|---|---|---|
//LM// | LH | ˩˧ | ˩˥ | bo˩˧ | bo˩˥ | simple assignation des 2 tons (L et M) à la syllabe; puis règle 6 |
//LH// | LH | ˩˥ | ˩˥ | ʐæ˩˥ | ʐæ˩˥ | simple assignation des 2 tons (L et H) à la syllabe |
//M// | M | ˧ | ˧ | lɑ˧ | lɑ˧ | simple assignation du ton à la syllabe |
//L// | M | ˩ | ˧ | jo˩ | jo˧ | application de l'exception selon laquelle, POUR LES NOMS, //L// se réalise /M/ à l'isolée |
//#H// | M | ˥ | ˧ | ʐwæ˥ | ʐwæ˧ | règle 3 |
//MH#// | MH | ˧˥ | ˧˥ | ʈʂʰæ˧˥ | ʈʂʰæ˧˥ | simple assignation |
les NOMS DISYLLABIQUES. Le sigma σ représente une syllabe.
analysis | in isolation | \lx tone | \lc tone | example: \lx | example: \lc | n° de règle |
---|---|---|---|---|---|---|
M | M.M | σ˧ σ˧ | σ˧ σ˧ | po˧lo˧ | po˧lo˧ | assignation de M à la 1e syllabe (=standard), puis règle 2 |
#H | M.M | σ˧ σ#˥ | σ˧ σ˧ | ʐwæ˧zo#˥ | ʐwæ˧zo˧ | la partie #H ne peut se manifester. Le mot reste sans ton. Alors s'applique la règle 2, pour les 2 syllabes |
MH# | M.MH | σ˧ σ˧˥ | σ˧ σ˧˥ | hwɤ˧li˧˥ | hwɤ˧li˧˥ | assignation simple; la 1e syll. reçoit M par la règle 2 |
H$ | M.H | σ˧ σ˥$ | σ˧ σ˥ | kv̩˧ʂe˥$ | kv̩˧ʂe˥ | assignation simple: à l'isolée, la fin du mot est également celle du noyau morphologique (symbolisée par $), et le ton H s'y associe ; la 1e syll. reçoit M par la règle 2 |
H# | M.H | σ˧ σ˥ | σ˧ σ˥ | hwæ˧ʈʂæ˥ | hwæ˧ʈʂæ˥ | assignation simple; la 1e syll. reçoit M par la règle 2 |
L | L.LH | σ˩ σ˩ | σ˩ σ˩˥ | kʰv˩mi˩ | kʰv˩mi˩˥ | assignation simple (L sur 1e syllabe), puis règle 1, puis règle 7 |
L# | M.L | σ˧ σ˩ | σ˧ σ˩ | dɑ˧ʝi˩ | dɑ˧ʝi˩ | assignation simple (L sur dernière syllabe), puis règle 2 (assignant un ton M à la 1e syllabe) |
LM+MH# | L.MH | σ˩ σ˧˥ | σ˩ σ˧˥ | õ˩dv˧˥ | õ˩dv˧˥ | assignation "simple"; la 1e syll. reçoit L; la 2e syll. reçoit M, puis un contour MH. "In the special case where only two syllables are available, the MH contour associates to the second syllable, overriding its M tone." Pour être explicite il faudrait formuler ça comme une règle de réécriture: les séquences de M sur une même syllabe sont simplifiées en 1 seul ton M. |
LM+#H | L.M | σ˩ σ#˥ | σ˩ σ˧ | nɑ˩hĩ#˥ | nɑ˩hĩ˥ | assignation simple; la partie #H ne peut se manifester. Le ton résultant est noté H plutôt que M, car le produit de la neutralisation de H et M en position finale de groupe (après ton L) est noté H et non M, par convention. |
LM | L.H | σ˩ σ˧ | σ˩ σ˥ | bo˩mi˧ | bo˩mi˥ | règle 6 |
LH | L.H | σ˩ σ˥ | σ˩ σ˥ | bo˩ɬɑ˥ | bo˩ɬɑ˥ | association simple |
Les verbes monosyllabiques et les adjectifs. Là je te mets juste à gauche la forme sous-jacente; en gras: ceux dont la forme de surface est différente de la forme sous-jacente.
analysis | in isolation | n° règle |
---|---|---|
Ma | ˧ | assignation simple; pas de différence entre les a, b, c (sous-catégories du ton M des verbes) |
Mb | ˧ | assignation simple |
Mc | ˧ | assignation simple |
H | ˧ | règle 3 |
La | ˩˥ | règle 7 |
Lb | ˩˥ | règle 7 |
MH | ˧˥ | assignation simple |
Les mots de 3 syllabes et plus.
C'est là que les règles 4 et 5 (qui n'ont pas reçu d'illustration ci-dessus) entrent en jeu.
(Le script Perl NaTone.pl contient les infos)
analysis | in isolation | \lx tone | \lc tone | example: \lx | example: \lc | n° de règle |
---|---|---|---|---|---|---|
M | M.M.M... | σ˧ σ˧... | σ˧ σ˧... | ɕjɤ˧-bv˧nv˧ | ɕjɤ˧-bv˧nv˧ | assignation de M à la 1e syllabe (=standard), puis règle 2 |
#H | M.M | σ˧ σ#˥ | σ˧ σ˧ | læ˧ʁæ˧-pʰv#˥ | læ˧ʁæ˧-pʰv˧ | la partie #H ne peut se manifester. Le mot reste sans ton. Alors s'applique la règle 2, pour toutes les syllabes [ATTENTION, dans la 1e version du script (2014, ces mots n'étaient pas bien analysés: ex. ligne 2081: \lx læ˧ʁæ˧pʰv#˥ \lc læ˧ʁæ˧pʰv#˥; la forme lc devrait être: læ˧ʁæ˧-pʰv˧] |
MH# | M.M ... .MH | σ˧ ... σ˧˥ | σ˧ ... σ˧˥ | ʈʂo˧ɭɯ˧ʈʂo˧˥ | ʈʂo˧ɭɯ˧ʈʂo˧˥ | assignation simple (MH sur la dernière syllabe); les autres syllabes (1 à n-1) reçoivent M par la règle 2 |
H$ | M.M ... H | σ˧ σ˧ ... σ˥$ | σ˧ σ˧ ... σ˥ | lɑ˧tʰɑ˧mi˥$ | lɑ˧tʰɑ˧mi˥ | assignation simple: à l'isolée, la fin du mot est également celle du noyau morphologique (symbolisée par $), et le ton H s'y associe ; les autres syllabes (1 à n-1) reçoivent M par la règle 2 |
H# | M.M...H | σ˧ σ˧ ... σ˥ | σ˧ σ˧ ... σ˥ | bi˧ɕi˧kv˥ | bi˧ɕi˧kv˥ | assignation simple; la 1e syll. reçoit M par la règle 2. (Est correctement traité dans le script.) |
L | L.L ... LH | σ˩ σ˩ ... σ˩ | σ˩ σ˩ ... σ˩˥ | dʑɯ˩nɑ˩mi˩ | dʑɯ˩nɑ˩mi˩˥ | assignation simple (L sur 1e syllabe), puis règle 1, puis règle 7 |
L# | M.M ... L | σ˧ σ˧ ...σ˩ | σ˧ σ˧ ... σ˩ | mv˧gv˧-kʰv˩ | mv˧gv˧-kʰv˩ | assignation simple (L sur dernière syllabe), puis règle 2 (assignant un ton M aux autres syllabes, de 1 à n-1) |
LM+MH# | L.M.M ... MH | σ˩ σ˧ σ˧ ... σ˧˥ | σ˩ σ˧ σ˧ ... σ˧˥ | pɤ˩tɕɯ˧-ʁo˧ɖɯ˧˥ | pɤ˩tɕɯ˧-ʁo˧ɖɯ˧˥ | assignation "simple"; la 1e syll. reçoit L; la 2e syll. reçoit M; et la dernière syllabe reçoit un contour MH. Ensuite s'il reste des syllabes en plus, "au milieu", elles reçoivent M. (Est correctement traité dans le script.) |
LM+#H | L.M ... M | σ˩ σ˧ ... σ#˥ | σ˩ σ˧ ... σ˧ | v˩tsʰɤ˧-bv#˥ | v˩tsʰɤ˧-bv˧ | assignation simple; la partie #H ne peut se manifester. |
LM | L.M ... M | σ˩ σ˧ ... σ˧ | σ˩ σ˧ ... σ˧ | bi˩tsɯ˧tsɯ˧ | bi˩tsɯ˧tsɯ˧ | L sur 1e syllabe; M sur toutes les suivantes |
L+H# | L.L ... H | σ˩ σ˩ ... σ˥# | σ˩ σ˩ ... σ˥ | æ˩gv˩-mæ˩qo˥# | æ˩gv˩-mæ˩qo˥ | L sur 1e syllabe, et toutes les suivantes sauf la dernière (=1 à (n-1)); H sur la dernière syllabe |
Pour les tons (phonologiques) comportant un ° il faut traiter successivement ce qu'il y a avant et après le °
Par exemple si l'expression c'est
LH°
et qu'il faut l'appliquer à 3 syllabes : il faut voir où se trouve la séparation morphologique dans l'expression, signalée par un tiret (-)
exemple :
\lx lo˩tsʰɯ˥-sɑ˩
\lc None
\ps n
\np LH°
c'est lo˩tsʰɯ˥-sɑ˩ ce qui veut dire : 2 syllabes + 1 syllabe.
on attache le LH aux 2 premières syllabes, de la façon normale : L sur 1e syll., H sur 2e.
et la 3e syllabe reçoit L "par défaut": un ton H est toujours suivi par un ton L (à l'intérieur d'un même groupe tonal).
(à continuer ensemble lundi 30 mars 2015)
18 janvier 2017 :
En discutant avec Christian Chanard du LLACAN, il m’a donné l’idée d’utiliser les marqueurs ‘pdl’ et ‘pdv’ à la place du marqueur ‘ms’ que l’on a ajouté.
Voici les infos que j’ai trouvées sur ces marqueurs :
Grammatical paradigms
. . . \pd Paradigm English RS Prdm: xyz. §9.5
. . . . \pdl Paradigm label English RS xyz:
. . . . . \pdv Paradigm form vernacular xyz etc.
. . . . . \pde Paradigm form gloss (E) English 'xyz'
. . . . . \pdn Paradigm form gloss (n) national 'xyz'
. . . . . \pdr Paradigm form gloss (r) regional 'xyz'
Ce qui donnerait par exemple, en remplacement de :
Na :
\ms <lang=“na" type=“classifier”> v˧
\ms <lang="fr" type=“classifier”> cl individu
Japhug :
\mr pɯ-
ceci :
Na :
\pdl classifier
\pdv v˧
\pdf cl individu
=> on créerait un 'pdf' pour le français, de la même manière que l’on a créé 'xf', 'gf', etc.
Japhug :
\pdl lexicalized affix (je ne suis plus sûre que ça corresponde à ça, mais l’idée est similaire)
\pdv pɯ-
Comme vous le voyez, ça marche comme une paire label (pdl) / value (pdv) que l’on peut personnaliser.
Demande d'Alexis :
Pour les mots archaïques, l'info pourrait-elle être codée par un champ particulier ?
Pour indiquer si un mot est archaïque/suranné : pas courant dans l'usage au moment de l'enquête. En blanc = mot courant; si mention "arch" en colonne I, c'est un mot archaïque.
Ou y a-t-il une meilleure solution d'encodage?
Pour le dictionnaire na, maintenant dans Toolbox, chaque entrée a-t-elle un UID numérique? La glose +numéro d'homonyme permet une identification unique dans les gloses. Mais pour l'annotation des fichiers audio de vocabulaire ce serait utile d'avoir un identifiant numérique. (C'était le sens des notations anciennes conservées dans le dictionnaire, mais qui ne couvrent plus 100% des mots)
Dans le dossier dict/na/toolbox/settings, il y a 31 fichiers en local sur mon ordinateur portable. Le fichier Toolbox Project.prj ne se synchronise pas via GitHub: il n'apparaît pas sur l'interface web de GitHub (30 fichiers seulement dans le dossier).
Du coup ce fichier n'est pas récupéré sur mon ordinateur de bureau et je ne peux pas ouvrir le projet avec Toolbox.
Pour mémoire, ci-dessous le contenu intégral du fichier.
+ShProjectSettings
\ver 5.0
\ProgramVersion 1.6.1 Jun 2013
\ProjectPath C:\Users\alexis\Documents\GitHub\HimalCo\dict\na\toolbox\Settings\Toolbox Project.prj
\LockProject 0
\AutomaticKeyboardSwitching
+CorpusSet
\WordLstCorpus Text
\WordLstLimitCount
\WordLstMaxCount 10
\ConcordanceCorpus Text
\ConcordanceSearch sæmpl̩
\ConcordanceSearchType 3
\ConcordanceLimitCount
\ConcordanceMaxCount 1000
\ConcordanceOutput Concordance.db
+Corpus Free translation
\FilesList C:\Users\alexis\Documents\GitHub\HimalCo\dict\na\toolbox\Texts.txt
\lng English
\WordMarkers \ft
\BookMarker \ref
\WordIndex C:\Users\alexis\Documents\GitHub\HimalCo\dict\na\toolbox\Freetran.wi
\WordListOutput wordlistft.db
-Corpus
+Corpus Text
\FilesList C:\Users\alexis\Documents\GitHub\HimalCo\dict\na\toolbox\Texts.txt
\lng vernacular
\WordMarkers \tx
\BookMarker \ref
\WordIndex C:\Users\alexis\Documents\GitHub\HimalCo\dict\na\toolbox\Text.wi
\WordListOutput wordlist.db
-Corpus
-CorpusSet
\LangCtrlHeight 24
\DontValidateOnEdit
+fntMarkers
\Name MS Sans Serif
\Size 10
-fntMarkers
+rundosMarkers
-rundosMarkers
\placementMain max -1 -1 -1 -1 0 0 1280 409
+dblst
+db C:\Users\alexis\Documents\GitHub\HimalCo\dict\na\toolbox\Texts.txt
+wndlst
+wnd
\placement normal -1 -1 -4 -30 25 647 1301 854
\z 0
\ViewMarkers
\widthMarkerArea 50
\JumpTarget
\FocusTarget
+brflst
\FieldEmptyEntry empty
\NoFieldEntry no field
+brf
\mkr ref
\width 1250
-brf
-brflst
+ind
\mkrPriKey ref
\srtPriKey English
-ind
+rec
\fldPriKey
-rec
+keySearch
\fldPri short
\match_char p
-keySearch
+keyInsert
\MatchWhole
\match_char p
-keyInsert
\CaretLine 86
\CaretLineScroll 8
\CaretChar 4
-wnd
-wndlst
-db
+db C:\Users\alexis\Documents\GitHub\HimalCo\dict\na\toolbox\Dictionary.txt
+wndlst
+wnd
\placement normal -1 -1 -1 -1 384 -3 1352 572
\z 3
\ViewMarkers
\widthMarkerArea 50
\Browse
\JumpTarget
\FocusTarget
+brflst
\FieldEmptyEntry empty
\NoFieldEntry no field
+brf
\mkr np
\width 226
-brf
+brf
\mkr lx
\width 226
-brf
+brf
\mkr ps
\width 226
-brf
+brf
\mkr ge
\width 226
-brf
-brflst
+ind
\mkrPriKey lx
\srtPriKey abcde
\mkrSecKey hm
-ind
+rec
\fldPriKey <id="1032"> *
\fldSecKey
-rec
+keySearch
\match_char p
-keySearch
+keyInsert
\fldPri ze˩
\MatchWhole
\match_char p
-keyInsert
-wnd
+wnd
\placement normal -1 -1 -1 -1 150 -3 500 572
\z 1
\ViewMarkers
\widthMarkerArea 50
\JumpTarget
\FocusTarget
+brflst
\FieldEmptyEntry empty
\NoFieldEntry no field
+brf
\mkr lx
\width 324
-brf
-brflst
+ind
\mkrPriKey lx
\srtPriKey abcde
\mkrSecKey hm
-ind
+rec
\fldPriKey <id="1032"> *
\fldSecKey
-rec
+keySearch
\fldPri <id="1861"> *
\match_char p
-keySearch
+keyInsert
\fldPri ze˩
\MatchWhole
\match_char p
-keyInsert
\CaretLine 0
\CaretLineScroll 0
\CaretChar 0
-wnd
+wnd
\placement normal -1 -1 -1 -1 0 -3 155 572
\z 2
\ViewMarkers
\widthMarkerArea 50
\Browse
\JumpTarget
\FocusTarget
+brflst
\FieldEmptyEntry empty
\NoFieldEntry no field
+brf
\mkr lx
\width 112
-brf
-brflst
+ind
\mkrPriKey lx
\srtPriKey abcde
\mkrSecKey hm
-ind
+rec
\fldPriKey <id="1032"> *
\fldSecKey
-rec
+keySearch
\fldPri <id="1861"> *
\match_char p
-keySearch
+keyInsert
\fldPri ze˩
\MatchWhole
\match_char p
-keyInsert
-wnd
-wndlst
-db
-dblst
+Find
\SingleField
\Field lx
\match_char p
+ftxlst
+ftx
\text 4423
\lng English
-ftx
+ftx
\text 900
\lng English
-ftx
+ftx
\text 红铜
\lng national
-ftx
+ftx
\text lo˧ʝi˧
\lng English
-ftx
+ftx
\text lo˧ ʝi˧
\lng English
-ftx
+ftx
\text ɳɯ˧go˧
\lng English
-ftx
+ftx
\text bavard
\lng English
-ftx
+ftx
\text 可怕
\lng national
-ftx
+ftx
\text 怕
\lng national
-ftx
+ftx
\text ɖæ˩ʂo
\lng vernacular
-ftx
+ftx
\text ɖʐv˧˥
\lng vernacular
-ftx
+ftx
\text qʰɑ˩ne
\lng vernacular
-ftx
+ftx
\text ze˩
\lng vernacular
-ftx
+ftx
\text e˩
\lng vernacular
-ftx
+ftx
\text ʈʂɯ˧
\lng vernacular
-ftx
+ftx
\text ʁæ#˥
\lng vernacular
-ftx
-ftxlst
-Find
\AmbigBoxLeft 0
\AmbigBoxTop 20
-ShProjectSettings
Récupérer les scripts de chacun (Guillaume, Boyd, Alexis, etc.) avec quelques explications, les rendre génériques et les mettre sur GitHub.
Dans le dictionnaire japhug, il y a de nombreuses références 'sy', 'an', 'cf' invalides.
gros problème avec le convertisseur de XML > latex, il ne marche plus correctement. J'ai regardé le code et je pense qu'il manque des balises, déjà pas de \end{document}
A classer dans l'ordre alphabétique du caractère qui suit '*', '=' ou '-', mais en laissant ce caractère spécial.
Pour le dictionnaire japhug, il faudrait remplacer automatiquement les marqueurs 'et' par des marqueurs 'bw' pour les mots tibétains.
Le format est le même pour le dictionnaire na-cn-fr et pour le dictionnaire na-cn-en; la différence c'est le remplacement du français par l'anglais, pour la version na-cn-en: dans les champs, et aussi dans les éléments fixes de chaque entrée: ex. "Tone:" vs. "Ton :" avant le ton.
En français, mettre un espace insécable avant la ponctuation ; : ? ! tandis qu'en anglais on n'en met pas. (Note 28 mai 2014: attention, ça doit être un espace insécable)
Format des entrées :
<\lx> (prononciation: \lc; avec le verbe copule: \lc <type="with copula">) TAB <\ps> TAB Ton: <\np <type="tone">>.
RETOUR CHARIOT
<\df>.
RETOUR CHARIOT
<\dn>。 Dialecte chinois local: <\gr>。
RETOUR CHARIOT
\xv
RETOUR CHARIOT
\xf (ou xe selon le type de dictionnaire)
RETOUR CHARIOT
\xn (répéter pour tous les exemples)
\xn
\xf
en clair:
Pour les mots qui ont deux \sn ou plus, attention de les faire figurer dans l'ordre croissant: dans la version du 27 mai 2014, "trou" et "terrier" (p. 192) ne sont pas dans le bon ordre, "terrier" (sens 2) figure en premier. Là j'ai corrigé à la main. Mais il faudrait intégrer dans le script une vérification pour les entrées complexes comme celles-ci: vérifier que la numérotation est en ordre et que la forme (\lx) est bien la même.
Exemple qui reste à corriger : /lo˧/ 'Occupation, travail, tâche' (premier sens) qui figure actuellement (p. 121) après le sens secondaire 'Utilité'.
Ca c'est un principe général: la vérification manuelle est faillible, et la mienne peut-être plus que la moyenne. Plus on peut intégrer d'automatisation, mieux c'est. Par exemple: mise en majuscule de la 1e lettre des définitions fr et en; ajout d'un point après les définitions, s'il n'y en a pas dans le champ; vérification qu'il n'y a pas de champ vide et qui ne devrait pas l'être (ex.: tous les mots devront avoir des définitions et gloses: fr, cn, en).
Merci et à+!
Lorsqu'on a dans le format MDF :
\va ID.
il faut recopier l'entrée principale ('lx' ou 'se' selon les cas) lors de la génération du format XML.
Un document devait être écrit pour la conférence, ce qui serait de toute façon utile.
Actuellement le ton est codé dans
\np <type="tone">
Il y a 2 champs \np, dont le premier sert aux commentaires phonologiques "en toutes lettres". Je n'arrive pas à trier les données par ton car lorsque j'utilise View / Browse Field... en choisissant \np, c'est le premier champ \np qui s'affiche = pas celui qui contient le ton.
Faut-il
Il semble qu'il y ait, pour chaque entrée, 2 fois l'historique?
\nt <type="hist" print="n">
\nt <type="hist" print="n">
Je n'ai pas trouvé d'exemple dans lequel la 2e ligne était non vide. La 1e contient un historique des notations.
Doublon ajouté par erreur? (serait alors à supprimer)
Faire un script pour transformer les fichiers région en fichiers XML WordList.
Liste de régions : 4_AMA17_mots66a96.wav
Nom Début Fin Longueur
(65b) 00:00:00,656 00:00:01,049 00:00:00,393
(65b) 00:00:02,133 00:00:02,482 00:00:00,348
66 00:00:07,361 00:00:08,243 00:00:00,882
66 00:00:09,334 00:00:10,124 00:00:00,789
67 00:00:11,099 00:00:11,796 00:00:00,697
68 00:00:14,791 00:00:15,790 00:00:00,998
68 00:00:17,369 00:00:19,110 00:00:01,741
66 00:00:22,082 00:00:22,825 00:00:00,743
68 00:00:23,992 00:00:24,346 00:00:00,354
68 00:00:25,252 00:00:25,612 00:00:00,360
66 00:00:30,616 00:00:31,405 00:00:00,789
67 00:00:31,498 00:00:32,253 00:00:00,755
68 00:00:33,088 00:00:33,820 00:00:00,731
ama réprimande la plus jeune des petites-filles 00:00:37,001 00:00:38,127 00:00:01,126
(71) 00:00:41,999 00:00:42,643 00:00:00,644
71 00:00:43,642 00:00:44,420 00:00:00,778
79a 00:00:45,871 00:00:46,750 00:00:00,879
79b 00:00:47,566 00:00:51,316 00:00:03,750
79c 00:00:55,519 00:00:56,517 00:00:00,998
79b_2e syllabe : rime /i/ très proche, ds ce contexte, de /z/ (pinyin: ee) 00:00:59,350 00:01:05,550 00:00:06,200
qq mots à la fille de KZ 00:01:08,174 00:01:22,570 00:00:14,396
80 00:01:25,775 00:01:30,186 00:00:04,412
82c 00:01:33,292 00:01:34,131 00:00:00,839
82c 00:01:35,527 00:01:36,316 00:00:00,789
82c 00:01:37,013 00:01:38,128 00:00:01,115
82b 00:01:39,405 00:01:40,085 00:00:00,681
82c 00:01:40,333 00:01:41,274 00:00:00,940
82c 00:01:43,677 00:01:44,559 00:00:00,882
82b 00:01:46,347 00:01:47,044 00:00:00,697
82b 00:01:48,646 00:01:50,318 00:00:01,672
361 00:01:52,431 00:01:56,576 00:00:04,145
84a 00:02:00,883 00:02:30,930 00:00:30,047
85 00:02:32,195 00:02:40,612 00:00:08,417
86a 00:02:42,691 00:02:58,701 00:00:16,010
(86) 00:03:00,524 00:03:01,383 00:00:00,859
87 00:03:04,541 00:03:06,578 00:00:02,038
88 00:03:08,860 00:03:11,274 00:00:02,415
88b 00:03:12,807 00:03:15,152 00:00:02,345
2169b_salle des esprits_à voir 00:03:17,056 00:03:22,292 00:00:05,236
2169a 00:03:23,233 00:03:31,453 00:00:08,220
89a 00:03:35,516 00:03:37,954 00:00:02,438
91 00:03:43,875 00:03:46,453 00:00:02,577
92 00:03:47,962 00:03:51,236 00:00:03,274
94 00:03:53,210 00:03:56,309 00:00:03,100
95 00:03:59,015 00:04:01,337 00:00:02,322
96 00:04:07,583 00:04:17,786 00:00:10,204
Caractère ‘<‘ à supprimer de :
Caractère ‘>’ à supprimer de :
Comme par exemple dans l'entrée du dictionnaire Na : "*ʈʰæ˩"
Mise en page du dictionnaire :
Pour l'instant ça se touche presque. Exemple: page 3.
Ce serait bien d'avoir environ 6 mm à 1 cm entre les 2 colonnes (pourquoi pas essayer 8 mm pour commencer), et peut-être une ligne fine.
Là il y a une décision à prendre. Je ne sais pas comment le choix initial a été fait: c'est conçu pour un format de livre type "livre imprimé"?
Je trouve A5 franchement trop petit. J'aime bien le format des livres d'Academia Sinica :
185 mm x 260 mm
avec environ 15 à 20 mm de marge des 4 côtés
A4 c'est envisageable si on se dit que le livre sera surtout téléchargé par des gens qui regarderont sur écran, et qui imprimeront en A4. Mais A4 c'est peu courant pour un format de livre. A mon avis mieux vaut choisir un format de "vrai" livre; celui d'Academia Sinica a un bon rendu en A4, soit en laissant des marges supplémentaires en blanc, soit en ajustant la zone d'impression (=impression en plus gros).
je verrais : numéro de page centré; et du côté extérieur (=à gauche pour les pages paires, à droite pour les pages impaires), la 1e entrée de la page pour les pages paires, et la dernière pour les pages impaires. Les 2 mots indiqueraient ainsi l'intervalle couvert par les 2 pages que le lecteur a sous les yeux.
Cela pour la version papier / PDF, bien sûr. Pour la version en ligne en HTML c'est autre chose.
Salut Guillaume, et bonjour tout le monde
Que pensez-vous de l'idée d'ajouter une romanisation aux dictionnaires?
Pour le na, il y a une collègue néo-zélandaise qui réfléchit depuis qq années à une romanisation, pas trop éloignée du pinyin chinois et de la romanisation naxi. Techniquement ce ne serait pas difficile: une sorte de translittération de l'alphabet phonétique en alphabet latin. Pour une utilisation par les locuteurs, c'est évidemment plus maniable que l'API.
C'est peut-être une mauvaise idée car ça ouvre la boîte de Pandore des normes orthographiques, de la variété à choisir comme standard, et soucis polly-tick divers dont on se passe volontiers qd on travaille dans ces régions sensibles. Je voulais juste soulever la question. Guillaume, comme tu es en 1e ligne pour les problèmes d'accès au terrain, de tracasseries administratives et de regards ombrageux portés sur ta présence sur le terrain et ton travail, ton avis/ta confirmation serait bien utile. J'imagine que voir des caractères txbx txxns (=l'alphabet familier/préféré des locuteurs) sur chaque page crisperait les interlocuteurs officiels, et qu'il vaut mieux éviter?
Il fat que je trouve une balise XML ou HTML pour indiquer qu'il s'agit de petites majuscules.
Bonjour Céline, merci bcp de l'envoi du nouveau PDF. Diverses choses :
Quatre langues, je trouve ça trop pour 1 seul document. Pour moi c'est surtout le français et l'anglais dont la juxtaposition gêne: je trouve ça désorientant d'avoir ces 2 langues en caractères latins sur la même page. Français ou anglais, ça va, mais les deux non.
(Le na, c'est en API, le chinois c'est en caractères chinois, visuellement c'est distinct du reste.)
Je pense que pour les usagers anglophones ou sinophones, en gros anglais et chinois sont pas contradictoires ni gênants. Il faut donc une version na-anglais-chinois.
Et "pour moi" (logique égoïste, mais pour l'instant je suis le plus gros utilisateur!) il faudrait une version française
Comme relevé par Guillaume, pour les verbes il y a un ajustement à réaliser, pour la sortie vers un format typographique final / à afficher :
Il y a plusieurs catégories de tons bas (L), moyens (M) etc.: elles sont distinguées par une lettre: a, b. Celle-ci serait à afficher en indice.
Quand on voit bo˧b on se dit qu'il y a une consonne après le ton, on ne sait pas quoi en faire. En fait, c'est:
bo
avec comme ton: Mb (affichage: M et un b en indice)
L'affichage à réaliser serait donc:
bo˧b
avec le "b" final en indice.
Comment déterminer les caractères à mettre en indice: c'est forcément une LETTRE (pour prévoir large, on peut en indiquer 4: a, b, c, d), qui apparaît APRES LES MARQUES TONALES.
Merci bcp
Est-ce que l'information "v" dans le champ "ps" est suffisante ? Ne faudrait-il pas préciser s'il s'agit d'un verbe transitif, intransitif ou autre ?
Pour les verbes na, j'ai des exemples du mot associé à des préfixes, suffixes... grammaticaux: par exemple
læ˧-ɖʐæ˧-ze˧
Dans ces cas-là, tout simples, j'indique seulement en traduction les gloses des morphèmes ajoutés: dans cet exemple c'est
°accomp _ °pfv
Le tiret bas _ matérialise la place du verbe.
Comme je n'ai pas sur le bout de la langue les traductions chinoises de chacun de ces morphèmes, je me contente de recopier la même chose dans les champs \xe et \xn, à partir du champ \xf.
Serait-il possible, d'ici à la finalisation (=fin 2015?), de réaliser un script pour traduction automatique de ces gloses grammaticales en chinois? Soit il irait chercher dans le dictionnaire pour trouver la traduction de °accomp etc. Soit on fabriquerait un petit tableau à double entrée fr / cn pour tous les mots du dictionnaire dont la glose commence par °.
(merci au passage à Guillaume pour cette astuce typographique °)
Bonjour Céline,
Je regarde le nouveau PDF : quand et pourquoi as-tu supprimé la traduction française des exemples? Est-ce un bug?
C'est à rétablir (je suis sûr que je ne t'avais pas demandé de le supprimer).
Merci
PS La version anglaise n'est pas affectée par le problème.
ɑ
ɑ̃
æ
b
ɕ
d
dz
dʑ
ɖ
ɖʐ
ə
f
g
ɣ
h
ĩ
j
ʝ
k
kʰ
l
ɬ
m
n
ɳ
ɲ
ŋ
õ
p
pʰ
q
qʰ
ɻ
ɻ̃
ʁ
s
ʂ
t
tʰ
tɕ
tɕʰ
ts
tsʰ
ʈ
ʈʰ
ʈʂ
ʈʂʰ
v
w
w̃
z
ʐ
ʑ
J'ai mis les mots chinois dans le dictionnaire japhug avec le symbole @ avant car ils ne sont pas en api, mais en pinyin. Peux-tu enlever le @ et les mettre dans une couleur/ police particulière dans le rendu LaTeX?
Il reste des chevrons dans le champ 'hbf' séparant les multiples références. Faut-il faire automatiser le fait de les mettre sur plusieurs lignes ou lieu d'une ?
D'autre part, il y a 3 champs 'xv' qui comprennent des chevrons : ceux des léxèmes "qrotsoʁ", "tɤlɤβʑɤzu", "sɯŋgɯpɤjka". Peut-on les supprimer aussi ?
Correspondances LaTeX et MDF :
jpg ==> \ipa{}
chinois ==> \zh{}
\lx ==> \section{\ipa{XXXX}}
==> \label{sec:chiffre}
\a ==> \ipa{XXXX}
\ps ==> \textit{XXX}
\mr ==> \ipa{XXX}
\ge ==> XXX
\gn ==> \zh{XXXX}
\xv ===> \ipa{XXX}
\xn ===> \zh{XXX}
\et ===> \ipa{XXX}
\un ===> \zh{XXX}
à l'intérieur de \un{} :
{XX} ==> \ipa{XXX}
\sy ===> \ref{sec:chiffre}
\cf
\an
Une question pas directement liée à la conversion: traitement des œ
Quand je saisis du français dans Notepad++, les oe restent comme ça, ça n'est pas corrigé en œ. Mais dans Excel, à un moment ça faisait la correction automatique.
Du coup j'avais des œ et des oe pour oeil, coeur, soeur, oeuf, boeuf, moeurs, noeux, oeuvre, voeu...
Pour certaines entrées j'en étais même à mettre les 2 formes, par ex. oeil et œil, pour retrouver plus facilement qd je cherche de façon automatique.
Je viens de tout uniformiser en œ, pour les textes et le lexique.
Mais y aurait-il des avantages à écrire simplement oe? (c'est vite fait de changer, c'est automatisable à 100% tandis que l'inverse n'est pas vrai: coefficient / *cœfficient)
Bonjour,
Le 9 août je pars sur le terrain; j'aimerais imprimer à l'avance 1 version papier du dictionnaire. Serait-il possible de re-générer un PDF à partir de la version actuelle? Ou plutôt 2 PDF : un CN/FR et un CN/EN, comme précédemment. (Le champ \lc n'étant pas finalisé pour l'instant, la 1e chose à faire c'est de créer un PDF sans.)
Il faudrait que j'aie les 2 PDF le 4 août au plus tard pour avoir le temps de me retourner avant le départ.
A terme je serais preneur d'une page d'explication sur la marche à suivre pour apprendre à fabriquer moi-même un PDF : passage txt > XML > LaTeX > PDF. Mais vu le peu de temps que j'arrive à y consacrer en ce moment, c'est peut-être illusoire que j'essaie d'être autonome en ce domaine pour l'instant...
Certains champs "lx" du dictionnaire japhug commencent par un caractère spécial : '_', '^' ou '$'. Ce caractère était juste une indication pour Guillaume, mais ils peuvent maintenant être supprimés.
Ce serait bien utile d'avoir une page Wiki "HowTo" pour certaines opérations telles que l'ajout d'une nouvelle entrée ou la division d'une entrée en sous-entrées pour des sens distincts.
Exemple : l'actuelle entrée 48 a 3 sens :
\df indigent, pauvre (personne…); mauvais (action…); être sombre (ciel)
Pour les diviser en 3, c'est quoi la séquence recommandée des opérations :
Cette "Issue" fait suite à celle (fermée) concernant :
UID pour annotation de fichiers audio? #29
La demande est la suivante:
Mise en route du développement d'un script pour relier des enregistrements anciens au dictionnaire na.
En entrée:
Par ex., si la valeur fournie en entrée quand on lance le script est "B", pour un item (ligne du fichier SoundForge) portant le numéro n, le script recherche \sf <nb="B"> n dans le dictionnaire.
Cahier des charges: le script est un outil de conversion semi-automatique. Il lit le son (sortie haut-parleur) et affiche ce qu'il a trouvé dans le dictionnaire.
L'utilisateur valide si c'est bon, et la référence au nom de fichier audio, ainsi que l'alignement temporel, sont inscrits dans l'entrée concernée du dictionnaire = une référence à un enregistrement. (Chaque entrée de dictionnaire comporterait deux types de liens vers des enregistrements: vers des mots isolés, et vers des textes. Dans les 2 cas, une entrée comporterait de 0 à p liens à des enregistrements; pas de limite supérieure à p. Dans les cas où le nombre est très élevé on réfléchira à des astuces d'affichage.)
S'il y a erreur, l'utilisateur "invalide", et la ligne de la Liste de régions correspondante est mise dans un fichier (Log.txt) que l'utilisateur devra ensuite traiter manuellement pour identifier les mots en question et indiquer leur identifiant, avant de faire tourner à nouveau le script sur ce "résidu".
Ex. du format "Liste de régions":
Liste de régions : 38_47_AMA_mots1377a1396.wav
Nom Début Fin Longueur
1377 00:00:01,840 00:00:02,769 00:00:00,929
1377 00:00:05,190 00:00:05,869 00:00:00,679
1378 00:00:10,194 00:00:13,990 00:00:03,796
1378 00:00:15,813 00:00:17,194 00:00:01,382
1378_deux dernières syllabes 00:00:22,861 00:00:23,253 00:00:00,392
Merci ++ !
Page Wiki à mettre à jour (Marqueurs “MDF” et Toolbox à utiliser pour les dictionnaires)
Lorsqu'il n'existe pas de mot en na pour désigner un terme, l'entrée lexicale est notée à l'aide d'une étoile.
Ces entrées doivent se retrouver à la fin du dictionnaire, dans une partie "Appendices".
Rebonjour,
Parmi les exemples, le premier a déjà un champ vide tout prêt pour la saisie des traductions en et cn (langue nationale). C'est tout confort.
Les autres exemples n'ont pas encore ces champs. Par ex.:
<id="3"> bv˧ʂæ˧
le 1er exemple avait les champs vides; j'ai rempli. Le 2e n'a pas de champs vides; pour l'instant je crée à la main, pas de pb. Un retour chariot après la forme na (API) crée automatiquement la ligne pour la traduction anglaise. D'ici quelque temps je trouverai même peut-être comment faire en sorte qu'un retour chariot après la traduction anglaise crée une ligne \xn (trad chinoise).
Offrir un format "tableur" simple (OpenOffice, Excel...) pour l'envoi des métadonnées de fichiers à déposer. (Premier essai envoyé en février)
Ecrire une page Wiki “HowTo” si besoin.
L'information étymologique fournie dans le dictionnaire na est contenue dans 2 champs
Question: Pour \et : comment fournir une réf non ambiguë à l'entrée concernée. Par exemple, /bv˧ ɖæ˧/ 'de mauvaise humeur': le champ \et contient
bv˧; ɖæ˥
Comment indiquer que /ɖæ˥/ ici est le mot 'court', et pas son homophone 'à plat, allongé'? Utiliser l'identifiant (UID) du mot, <id="58">? Ou sa glose?
Provisoirement je recopie toute l'entrée, par exemple pour 'opium':
\et 鸦片; <id="1589"> jɤ˧
mais le format de \lx est amené à changer donc il faut s'entendre sur un format.
\lx (API seul)+\ps+\hm??
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.