Closed hectoralos closed 5 years ago
There are two possibilities in the lexicon:
$ echo "музей<n><dat>" | hfst-lookup .deps/chv.LR.lexc.hfst
музей<n><dat> музей>{N}{A} 0,000000
музей<n><dat> музей{ъ}>{N}{A} 1,000000
$ echo "музей<n><dat>" | hfst-lookup .deps/chv.LR.hfst
музей<n><dat> музее 0,000000
музей<n><dat> музеа 1,000000
One of them is wrong, the other is ok. The problem is in the twol rule:
"Back vowel harmony for yotised {A}"
%{A%}:я <=> [ UnderBack: | BackVow | :BackVow ] [ :Cns | :0 ]* й:0 %>: [ :Cns | :0 ]* _ ;
except
_ %>: %{и%}: %{н%}: [ %>: %{N%}: %{A%}: | %>: :Cns | .#. ] ; ! ger
[ %{T%}: | р ] _ %>: %{х%}:0 ; ! loc.attr
Note how it doesn't take into account the {ъ}
that can appear after й:0
.
Changing it (and some other rules that depend on it) results in:
$ echo "музей<n><dat>" | hfst-lookup .deps/chv.LR.hfst
музей<n><dat> музее 0,000000
музей<n><dat> музея 1,000000
Should be fixed in 9c8b5eb .
Gràcies! Funciona.
One of the two possible dative forms of музей is музея (the other is музее), but instead музеа is recognised/generated. Vowel+a requests an epenthetic й: музея.