Krolov18 / PFMG

A Paradigm-Function-Morphology-driven Grammar
BSD 4-Clause "Original" or "Old" License
0 stars 0 forks source link

feature : MorphoSyntax.yaml - Ajouter l'optionalité/duplication de composants #80

Open Krolov18 opened 5 months ago

Krolov18 commented 5 months ago
start: "S"

NP:
  Source:
    phrases:
      - [ "D", "N" ]
    agreements:
      - "Genre,Nombre"
    percolations:
      - "Genre,Nombre"
    translations:
      - [ 1, 0 ]
  Destination:
    phrases:
      - [ "N", "D" ]
    agreements:
      - "Genre,Nombre"
    percolations:
      - "Genre,Nombre"

Dans cet exemple minimaliste, un NP se compose d'un D suivi d'un N. Comment faisons nous pour reconnaître à la fois D N et N. La facilité serait d'écrire deux règles distinctes. On peut néanmoins simplifier les choses. Si dans la langue source D est optionnel mais que dans la langue cible cet élément est obligatoire alors notre alignement initial est cassé car dans l'implémentation en cours, les composants ne peuvent pas apparaître de nulle part. Ils peuvent disparaître, ils peuvent être dupliqués mais pas apparaître, ainsi la règle de transformation suivante n'est pas possible en l'état actuel.

D? N -> N D

Une solution au problème serait que dans ce genre de situation, tout D dans la langue cible peut avoir cette place tant qu'elle respecte les règles d'accord bien évidemment. Cette solution présuppose un alignement qui dirait'si je n'ai pas de D dans source et que D est obligatoire dans cible, alors tout D dans cible peut prendre cette place'.

Du coup comment ferait on si nous avons :

D N -> L K

Pourquoi ajouter ces contraintes à Gloses.yaml ?