CNRS-LACITO / HimalCo

Himalayan Corpora
Other
2 stars 1 forks source link

[na ] Génération automatique du champ \lc (mai 2014) #41

Closed alexis-michaud closed 7 years ago

alexis-michaud commented 10 years ago

(à 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".

  1. 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
  2. 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
  3. 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
  4. 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 :

buret commented 10 years ago

Salut Alexis !

J'ai avancé sur le traitement des mots de plus de 3 syllabes, ainsi que sur les mots composés de plusieurs morceaux.

J'ai intégré les résultats :

J'aurais besoin de toi pour vérifier si les 'lc' générés te semblent corrects, et si les 'lc' non générés sont bien dus à des incohérences. Si tu vois des erreurs, peux-tu me les reporter s'il te plaît, en précisant bien le 'lx' et le 'lc' attendu ?

D'autre part, certains 'lx' contiennent les caractères suivants : '~', '=', '|', '-ADJ-', ','. Comment doivent-ils être traités ?

Merci ! A+

alexis-michaud commented 10 years ago

Tâche pour Alexis: indications détaillées concernant le traitement des formes rédupliquées : bien distinguer lx et lc, et fournir les règles de correspondance

buret commented 10 years ago

Coucou Alexis, afin de progresser sur le sujet, une suggestion serait que tu ajoutes un exemple concret pour chaque cas possible, comme tu l'as fait de manière détaillée pour les noms dans les tableaux monosyllabique et dissyllabique. Même si ça doit te paraître évident, ça ne l'est pas forcément pour moi. Idem pour la description à faire des 3 syllabes et plus. Tous ces exemples me permettent de faire des tests plus fiables. Merci d'avance ;)

alexis-michaud commented 10 years ago

Bonjour Céline, merci beaucoup d'être prête à aller de l'avant.

Comme on en a discuté via Skype, l'enjeu maintenant c'est de proposer un outil suffisamment générique pour que le script soit réutilisable (par moi) par la suite. Cela tout en circonscrivant bien le projet: on renonce à poser les bases d'une modélisation informatique du système tonal entier (=non réalisable dans le calendrier du projet), et on se concentre sur le passage "UtoS" (Underlying to Surface).

Le nom du script est à discuter, pour qu'il reflète l'orientation (le cahier des charges). L'outil a vocation à servir au-delà du simple passage de lx à lc pour le dictionnaire: le cahier des charges, c'est: passer d'une forme "sous-jacente" à une forme "de surface".

Il convient d'apporter des modifications simples et économiques au script actuel. J'ai regardé le script; avec quelques explications de ta part je devrais arriver à m'y retrouver; espoir à vérifier empiriquement bien sûr ;-)

Proposition pour l'emboîtement des fonctions / boucles :

A bientôt par mail/Skype pour en discuter, A.

alexis-michaud commented 9 years ago

Compléments d'information pour avancer : un petit perfectionnement à apporter dans les formes lc de HimalCo/dev/scripts/na/py/Dictionary_na.txt:

ligne 41 \lx æ̃̃˩ɬi#˥ \lc æ̃̃˩ɬi˧ \ps n \np LM+#H C'est un nom disyllabique; comme indiqué dans le tableau plus haut sur cette page, ça doit donner L.H comme forme de surface: \lc æ̃̃˩ɬi˥. L'exemple donné dans le tableau est : lx: nɑ˩hĩ#˥ lc: nɑ˩hĩ˥

Le même problème apparaît pour tous les noms disyllabiques au ton LM+#H, par ex. ligne 56 : \lx ɑ˩mi#˥ \lc ɑ˩mi˧ \ps n \np LM+#H

(C'est possible que ça remonte à une mauvaise info que je t'avais fournie à une étape antérieure. Le tableau sur la page Wiki actuelle -- non modifiée depuis juin dernier -- est bon.)

alexis-michaud commented 9 years ago

Suite des compléments : perfectionnements à apporter pour obtenir les bonnes formes lc pour les mots actuellement dans HimalCo/dev/scripts/na/py/tone_errors.txt

1) comment traiter le ton (sous-jacent) L+H# exemple ligne 16: \lx æ˩gv˩-mæ˩qo˥ \lc None \ps n \np L+H# Solution : ajouter L+H# à la liste des tons. Son application: L sur toutes les syllabes, sauf la dernière, qui reçoit H. Comme l'expression ne contient pas de frontière de groupe (|), elle constitue un seul groupe tonal, et l'assignation des tons se fait "en 1 fois" (=sans tenir compte du tiret, qui reste là où il est et n'a pas d'influence sur l'assignation des tons). Je rajoute ça dans la section 4: "Les mots de 3 syllabes et plus".

alexis-michaud commented 7 years ago

Réalisé par Benjamin Galliot