apertium / apertium-tat Goto Github PK
View Code? Open in Web Editor NEWApertium linguistic data for Tatar
License: GNU General Public License v3.0
Apertium linguistic data for Tatar
License: GNU General Public License v3.0
A morphological analyzer & Constraint Grammar-based disambiguator for Tatar. More info at https://wiki.apertium.org/wiki/Apertium-tat and https://apertium.github.io/apertium-tat/index.html
^халкым/халк<n><sg><sg><px1sg><nom>$ ^минем/мин<n><sg><sg><px1sg><nom>$
echo "объектив" | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^объектив/объектив<adj>$
echo "объективрак" | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^объективрак/*объективрак$
^интегергә/интег<v><tv><inf>$
I think we could add an analysis for the form 'дисәңче'. @IlnarSelimcan what do you think?
^дисәң/ди<gna_cond>/ди<prc_cond>$^./.$
+чы
According to Tatar orthographical dictionary it should be "асфальтны", not "асфальтне":
http://suzlek.antat.ru/words.php?txtW=%D0%B0%D1%81%D1%84%D0%B0%D0%BB%D1%8C%D1%82&submit=%D0%AD%D0%B7%D0%BB%D3%99%D2%AF
echo "асфальтны" | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^асфальтны/*асфальтны$
echo "асфальтне" | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^асфальтне/асфальт<n><sg><acc>$
echo "бунтарьлар" | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^бунтарьлар/*бунтарьлар$
echo "бунтарь" | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^бунтарь/бунтарь<n><sg><nom>$
It's not clear to me that the corpus data in tests-tatcorpus/
should stay there. Things I worry about:
@mansayk, could you make an argument to justify keeping the tests in the repository?
In other Turkic languages we have -NIKI / -nInki / etc. as gen.subst
but in Tatar it's still px
.
@IlnarSelimcan, I commented the lemma "китаб" (only "китап"), because it is not valid in modern Tatar language. If you want to use it for some old texts, maybe there are some special markers to exclude them from compiling in regular mode. I'm sure there are other archaic/historical words that we should take care of.
@jonorthwash, @ftyers, what is the best way here?
^кызыксыну/кызыксыну<n><sg><sg><nom>$ ^китапның/китап<n><sg><sg><gen>$ ^соңгы/соңгы<adj>$ ^битләренә/бит<n><pl><px3sp><dat>$ ^кадәр/кадәр<post>$ ^барды/бард<n><sg><sg><px3sp><nom>$
Hi!
The correct 3rd person possession form of "поши" is "пошие" (пошиең, пошиемны...). But currently it is processed as "пошисы", what I think is not correct, @IlnarSelimcan, right?
It also applies to other words ending with "и": тарихи (тарихиена, тарихисы?), бриджи (бриджиен, бриджисы?), гади (гадиен), песи (песиең), ралли (раллиена, раллисы?), verb ки (киеп)...
The form -сы is also used in some cases: абый абые абыйсы, сеңел сеңеле сеңлесе, зур зурысы...
tat-eng errors out with:
make[1]: *** No rule to make target '/usr/share/apertium/apertium-tat/apertium-tat.tat.mb.rlx', needed by 'tat-eng.mb.rlx.bin'. Stop.
apertium-tat.tat.mb.rlx
was added to the project and dependents, but isn't part of the install target. Must be added to install.
E.g. in: Бер легендача, каргыраа дөя үрчетүчеләрдә барлыкка килгән.
There are 2 rule conflicts:
There is a <=-rule conflict between "I Vowel Harmony" and "Deletion of {I} after vowels".
E.g. in context __HFST_TWOLC_.#.:__HFST_TWOLC_.#. ё:ё о:о Я:Я Я:Я Ы:Ы {ь}: й: {n}: >: н: Ю:Ю {n}: >: н: Ю:Ю У:У ь:ь {E}:я {ь}: й: {n}: >: н: ь:ь {n}: >: н: {D}:д о:о {ь}: й: {n}: >: н: Ю:Ю ь: {n}: >: н: {D}:д Я:Я {ь}: ө:ө {ь}: {n}: {ъ}: {E}:и {ь}: е:е й: {☭}: {n}: >: н: Ю:Ю {j}: {j}: й: ь: >: {n}: Ю:Ю {j}: {j}: й: ь: {n}: >: н: У:У {j}: {j}: >: й: {n}: >: н: У:У {j}: {j}: й: ь: >: {n}: ь:ь >: й: {n}: >: н: __HFST_TWOLC_SPACE:__HFST_TWOLC_SPACE й: ь: >: {n}: {D}:д Ы:Ы {ь}: _ __HFST_TWOLC_.#.:__HFST_TWOLC_.#.
There is a <=-rule conflict between "I Vowel Harmony" and "Deletion of {I} after vowels".
E.g. in context __HFST_TWOLC_.#.:__HFST_TWOLC_.#. Я:Я Ы:Ы Я:Я Ё:ё й: {ь}: {n}: >: н: У:У {n}: >: н: Ю:Ю {n}: >: н: Ю:Ю У:У Ь:ь {E}:я й: {n}: >: н: Ю:Ю й: {ъ}: {n}: >: н: Ю:Ю {j}: {j}: У:У й: {n}: >: н: Ю:Ю {j}: {j}: {д}:д Я:Я {j}: {j}: {ь}: Ь:ь {n}: >: н: {д}:д Ы:Ы й: {n}: >: н: Ь:ь й: {n}: >: н: {д}:д {U}:ү {☭}: {j}: {n}: >: н: ө:ө {☭}: й: {n}: >: н: и:и {☭}: {j}: {j}: {ь}: {I}:е й: {n}: >: н: Ю:Ю й: {n}: >: н: У:У й: {n}: >: н: __HFST_TWOLC_SPACE:__HFST_TWOLC_SPACE {n}: >: н: Ь:ь й: {n}: >: н: {д}:д {I}:е {j}: _ __HFST_TWOLC_.#.:__HFST_TWOLC_.#.
echo "конъюнктивит" | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^конъюнктивит/конъюнктивит<n><sg><nom>$
echo "конъюнктивитны | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^конъюнктивитны/*конъюнктивитны$
^бер/бер<num>$ ^ягында/яг<n><sg><px3sp><loc>$
өстәрәк
e.g. in:
Елга Ница елгасының уң ярына тамагыннан 126 км өстәрәк кушыла.
From the frequency list:
$ sh hitparade.sh | grep дарак
^24/24<num>/24<num><subst><nom>$ ^алдарак/*алдарак$
^6/6<num>/6<num><subst><nom>$ ^янындарак/*янындарак$
^4/4<num>/4<num><subst><nom>$ ^уңдарак/*уңдарак$
^4/4<num>/4<num><subst><nom>$ ^сулдарак/*сулдарак$
^4/4<num>/4<num><subst><nom>$ ^Алдарак/*Алдарак$
^2/2<num>/2<num><subst><nom>$ ^төньягындарак/*төньягындарак$
^2/2<num>/2<num><subst><nom>$ ^Айдарак/*Айдарак$
^1/1<num>/1<num><subst><nom>$ ^ягындарак/*ягындарак$
^1/1<num>/1<num><subst><nom>$ ^кырындарак/*кырындарак$
^1/1<num>/1<num><subst><nom>$ ^кырыйдарак/*кырыйдарак$
^1/1<num>/1<num><subst><nom>$ ^көньягындарак/*көньягындарак$
^1/1<num>/1<num><subst><nom>$ ^көнчыгышындарак/*көнчыгышындарак$
echo "бульдогка" | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^бульдогка/*бульдогка$
root@apertium:~# echo "бульдог" | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^бульдог/бульдог<n><sg><nom>$
^күләмдәге/күлә<n><sg><sg><px1sg><loc><subst><nom>$
selimcan@patroclus:~/src/apertium-all/apertium-languages/apertium-tat$ echo "үзегез" | apertium -d . tat-morph
^үзегез/үз/үз/үз/үз+и/үз+и/үз+и/үз+и/үз+и/үз+и$^./.$
We have this statement in lxc:
%<ger1%>:%>м%{A%}%{K%} GER-INFL ;
For example:
Бармак, килмәк.
I cannot remember it taking additional affixes, like case or possession:
килмәге, килмәгрәк, килмәктер, шикләнмәге, шаярмагы, бозылмагын
These word forms are (were) not possible, I think.
So, maybe we can also change it as:
%<ger1%>:%>м%{A%}к GER-INFL ;
and make some more restrictions, right?
Am I correct here?
— Хәерле көн, — ди ул. — Ә нигә фонарьны сүндердең?
But:
$ echo "фонарьны" | hfst-lookup tat.automorf.hfst
фонарьны фонарьны+? inf
$ echo "фонарны" | hfst-lookup tat.automorf.hfst
фонарны фонар<n><acc> 0,000000
$ echo "фонарь<n><acc>" | hfst-lookup .deps/tat.LR.lexc.hfst
фонарь<n><acc> фонарь{ъ}>н{I} 0,000000
$ echo "фонарь<n><acc>" | hfst-lookup .deps/tat.LR.hfst
фонарь<n><acc> фонарьне 0,000000
Perhaps the harmony rule for {I}
needs to be changed ? @jonorthwash ?
Some extra strings seem to be added to the transducer, e.g. Татарстан<np><top><attr><err_orth>
which is not in the original.
$ echo "татарстан" | lt-proc tat.automorf.bin | tr '/' '\n'
^татарстан
Татарстан<np><top><attr><err_orth>
Татарстан<np><top><nom><err_orth>
Татарстан<np><top><nom>+и<cop><aor><p3><pl><err_orth>
Татарстан<np><top><nom>+и<cop><aor><p3><sg><err_orth>$
$ echo "Татарстан" | lt-proc tat.automorf.bin | tr '/' '\n'
^Татарстан
Татарстан<np><top><attr>
Татарстан<np><top><nom>
Татарстан<np><top><attr><err_orth>
Татарстан<np><top><nom><err_orth>
Татарстан<np><top><nom>+и<cop><aor><p3><pl>
Татарстан<np><top><nom>+и<cop><aor><p3><sg>
Татарстан<np><top><nom>+и<cop><aor><p3><pl><err_orth>
Татарстан<np><top><nom>+и<cop><aor><p3><sg><err_orth>$
Compare to hfst-lookup
:
$ hfst-lookup tat.automorf.hfst
татарстан
татарстан Татарстан<np><top><attr><err_orth> 0,000000
татарстан Татарстан<np><top><nom><err_orth> 0,000000
татарстан Татарстан<np><top><nom>+и<cop><aor><p3><pl><err_orth> 0,000000
татарстан Татарстан<np><top><nom>+и<cop><aor><p3><sg><err_orth> 0,000000
Татарстан
Татарстан Татарстан<np><top><attr> 0,000000
Татарстан Татарстан<np><top><nom> 0,000000
Татарстан Татарстан<np><top><nom>+и<cop><aor><p3><pl> 0,000000
Татарстан Татарстан<np><top><nom>+и<cop><aor><p3><sg> 0,000000
Note that this doesn't happen with lt-proc -c
:
$ echo "татарстан" | lt-proc -c tat.automorf.bin | tr '/' '\n'
^татарстан
Татарстан<np><top><attr><err_orth>
Татарстан<np><top><nom><err_orth>
Татарстан<np><top><nom>+и<cop><aor><p3><pl><err_orth>
Татарстан<np><top><nom>+и<cop><aor><p3><sg><err_orth>$
$ echo "Татарстан" | lt-proc -c tat.automorf.bin | tr '/' '\n'
^Татарстан
Татарстан<np><top><attr>
Татарстан<np><top><nom>
Татарстан<np><top><nom>+и<cop><aor><p3><pl>
Татарстан<np><top><nom>+и<cop><aor><p3><sg>$
Although of course with lt-proc -c
, other case forms won't work.
The extra strings can be easily removed with some CG rules for the <err_orth>
tag, but they are undesirable for the model in general.
Hello!
There is a problem that is typical for texts in Tatar language. It is about using affixes after quotes, for example,
"Каз оясы"на каратып
"Алтынчә"не кушамат дип
Ә "Шыксыз үрдәк баласы"н?
Ә "Гали баба һәм кырык юлбасар"ны?
"параллель Җир"дәге
Алар умарталыкны "Бояр бакчасы"на күчерергә
"өчле"гә җавап бирә
And Apertium's tagger doesn't process them correctly:
echo '"өчле"гә җавап бирә' | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^"/"<quot>$^өчле/өчле<adj>$^"/"<quot>$^гә/*гә$ ^җавап бирә/җавап бир<v><tv><pres><p3><sg>$
So I want to ask if there is any possible way to make tagger to recognize those cases? They are very typical for Tatar texts. Some statistics from corpus:
42693 "ның
25702 "ны
24363 "да
22480 "га
19133 "нең
13277 "не
10018 "ка
9649 "гы
9387 "нда
9288 "гә
9060 "дә
8753 "та
8586 "на
8106 "ндә
7420 "лар
6265 "нә
5428 "дан
3880 "кә
3737 "тә
3724 "ләр
3247 "тан
2767 "дән
2684 "дагы
2681 "сы
2576 "ын
2318 "ннан
1912 "ларны
1778 "ннән
1638 "нан
1515 "ен
1512 "се
1507 "сын
1421 "лары
1390 "ларга
1332 "ларның
1239 "ле
1213 "тән
1204 "ында
1120 "нын
982 "дәге
967 "лы
917 "ына
860 "лылар
805 "тагы
797 "ларын
796 "нар
767 "ләрне
738 "дип
736 "ләре
734 "сен
710 "ендә
681 "ларда
658 "сына
628 "сында
614 "ндагы
606 "ләргә
561 "ндәге
543 "дигән
540 "сыз
540 "лардан
536 "ләрнең
529 "нен
488 "мы
456 "леләр
447 "сендә
426 "ыннан
417 "нән
402 "ының
384 "ләрен
372 "енә
364 "сенә
332 "ныкы
329 "ме
318 "ларына
317 "чылар
302 "ләрдә
300 "ләрдән
298 "сыннан
264 "енең
261 "сының
259 "тәге
252 "нәр
224 "ыбыз
213 "лек
212 "еннән
209 "дыр
206 "лык
193 "легә
192 "ындагы
173 "нарны
167 "ларының
164 "сез
161 "ым
161 "нары
158 "челәр
155 "чы
150 "сеннән
145 "сенең
142 "ларыннан
141 "нарга
140 "ың
140 "дер
135 "лап
128 "лыларның
127 "нәре
126 "неке
123 "быз
117 "нарның
115 "ларында
110 "ендәге
^алдыннан/алд<n><sg><px3sp><abl>$
echo "бульдозерында" | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^бульдозерында/*бульдозерында$
root@apertium:~# echo "бульдозер" | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^бульдозер/бульдозер<n><sg><nom>$
Is "Ул/бул" parsed correctly here:
echo "Ул ташламас сине." | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | apertium-retxt
^Ул/бул<v><tv><imp><p2><sg>/ул<prn><pers><p3><sg><nom>/бул<v><iv><imp><p2><sg>/ул<prn><dem><nom>$ ^ташламас/ташла<v><tv><neg><gpr_fut>/ташла<v><tv><neg><fut><p3><sg>$ ^сине/син<prn><pers><p2><sg><acc>$^./.<sent>$
I would turn off tat-twol; tat-spell should probably install depending
on --enable-spell. .deps
is all temporary files, tat-tokenise should
install something else.
Tatar Wikipedia is written in both Latin and Cyrillic script.
Trying to analyse the sentence: "Төньякта Русия киң фронт белән Төньяк Боз океаны диңгезләренә чыга."
Looks like another vowel harmony problem, could be related to #3.
$ echo "төньяктә" | apertium -d . tat-morph
^төньяктә/төньяк<n><loc>/төньяк<n><loc>+и<cop><aor><p3><pl>/төньяк<n><loc>+и<cop><aor><p3><sg>$^./.<sent>$
This is also not working: көньяктарак ... we're going to add {ъ}
for now, but is that a permanent solution, @jonorthwash ?
! ^алтылап/*алтылап$
! ^алтышар/*алтышар$
! ^бишләп/*бишләп$! ^алтылап/*алтылап$
! ^алтышар/*алтышар$
! ^бишләп/*бишләп$
! ^дистәләрчә/*дистәләрчә$
! ^дүртләп/*дүртләп$
! ^җиделәп/*җиделәп$
! ^җидешәр/*җидешәр$
! ^икешәр/*икешәр$
! ^йөзәрләгән/*йөзәрләгән$
! ^йөзләрчә/*йөзләрчә$
! ^меңәрләгән/*меңәрләгән$
! ^меңәрләп/*меңәрләп$
! ^меңләп/*меңләп$
! ^меңнәрчә/*меңнәрчә$
! ^миллиардларча/*миллиардларча$
! ^миллионнарча/*миллионнарча$
! ^өчәрләп/*өчәрләп$
! ^өчләп/*өчләп$
! ^тугызлап/*тугызлап$
! ^тугызлашып/*тугызлашып$
! ^унарлаган/*унарлаган$
! ^унарлап/*унарлап$
! ^унаулап/*унаулап$
! ^унаулап/*унаулап$^-/-$^унаулап/*унаулап$
! ^унлап/*унлап$
! ^унлап/*унлап$^-/-$^унлап/*унлап$
! ^уннарча/*уннарча$
! ^дистәләрчә/*дистәләрчә$
! ^дүртләп/*дүртләп$
! ^җиделәп/*җиделәп$
! ^җидешәр/*җидешәр$
! ^икешәр/*икешәр$
! ^йөзәрләгән/*йөзәрләгән$
! ^йөзләрчә/*йөзләрчә$
! ^меңәрләгән/*меңәрләгән$
! ^меңәрләп/*меңәрләп$
! ^меңләп/*меңләп$
! ^меңнәрчә/*меңнәрчә$
! ^миллиардларча/*миллиардларча$
! ^миллионнарча/*миллионнарча$
! ^өчәрләп/*өчәрләп$
! ^өчләп/*өчләп$
! ^тугызлап/*тугызлап$
! ^тугызлашып/*тугызлашып$
! ^унарлаган/*унарлаган$
! ^унарлап/*унарлап$
! ^унаулап/*унаулап$
! ^унаулап/*унаулап$^-/-$^унаулап/*унаулап$
! ^унлап/*унлап$
! ^унлап/*унлап$^-/-$^унлап/*унлап$
! ^уннарча/*уннарча$
! ^алтылап/*алтылап$
! ^алтышар/*алтышар$
! ^бишләп/*бишләп$
! ^дистәләрчә/*дистәләрчә$
! ^дүртләп/*дүртләп$
! ^җиделәп/*җиделәп$
! ^җидешәр/*җидешәр$
! ^икешәр/*икешәр$
! ^йөзәрләгән/*йөзәрләгән$
! ^йөзләрчә/*йөзләрчә$
! ^меңәрләгән/*меңәрләгән$
! ^меңәрләп/*меңәрләп$
! ^меңләп/*меңләп$
! ^меңнәрчә/*меңнәрчә$
! ^миллиардларча/*миллиардларча$
! ^миллионнарча/*миллионнарча$
! ^өчәрләп/*өчәрләп$
! ^өчләп/*өчләп$
! ^тугызлап/*тугызлап$
! ^тугызлашып/*тугызлашып$
! ^унарлаган/*унарлаган$
! ^унарлап/*унарлап$
! ^унаулап/*унаулап$
! ^унаулап/*унаулап$^-/-$^унаулап/*унаулап$
! ^унлап/*унлап$
! ^унлап/*унлап$^-/-$^унлап/*унлап$
! ^уннарча/*уннарча$
These numerals from corpus.tatar currently aren't analysed.
All four (-ләп, -әрләп, -ләгән, -ләрчә) more or less have the same meaning -- approximation. The question is, which tags should they receive. Ideally the choices we make shouldn't surprise someone familiar with academic Tatar grammars.! ^алтылап/*алтылап$
! ^алтышар/*алтышар$
! ^бишләп/*бишләп$
! ^дистәләрчә/*дистәләрчә$
! ^дүртләп/*дүртләп$
! ^җиделәп/*җиделәп$
! ^җидешәр/*җидешәр$
! ^икешәр/*икешәр$
! ^йөзәрләгән/*йөзәрләгән$
! ^йөзләрчә/*йөзләрчә$
! ^меңәрләгән/*меңәрләгән$
! ^меңәрләп/*меңәрләп$
! ^меңләп/*меңләп$
! ^меңнәрчә/*меңнәрчә$
! ^миллиардларча/*миллиардларча$
! ^миллионнарча/*миллионнарча$
! ^өчәрләп/*өчәрләп$
! ^өчләп/*өчләп$
! ^тугызлап/*тугызлап$
! ^тугызлашып/*тугызлашып$
! ^унарлаган/*унарлаган$
! ^унарлап/*унарлап$
! ^унаулап/*унаулап$
! ^унаулап/*унаулап$^-/-$^унаулап/*унаулап$
! ^унлап/*унлап$
! ^унлап/*унлап$^-/-$^унлап/*унлап$
! ^уннарча/*уннарча$
Once we figure this out, a numerals.tsv
file with the above forms should be added to apertium-tat/tests/morphophonology
. See other apertium-tat/tests/morphophonology/test.py
for details.
Equative case may make more sense as a label for -DAй than similative case.
This applies to quite a few (mostly Kypchak) transducers, including kaz and kir.
Aside from the practicality issues (such a change would take some effort, but would be doable), what are people's feelings about the linguistic issues?
echo "шәфәкъ" | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^шәфәкъ/шәфәкъ<n><sg><nom>$
echo "шәфәкъны" | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^шәфәкъны/*шәфәкъны$
echo "шәфәгы" | apertium-destxt -n | lt-proc -z -w 'apertium-tat/tat.automorf.bin' | cg-proc -z 'apertium-tat/tat.rlx.bin' | cg-proc -z -w -1 'apertium-tat/dev/mansur.bin' | apertium-retxt
^шәфәгы/*шәфәгы$
Hi!
I fixed 2 twol rules, because some cases didn't work, for example, часть, частьны, частька.
79a5b1a
Currently we marked with RUS tag only those loanwords, that accept affixes with back vowels. That means, that we cannot mark with RUS tag loanwords accepting affixes with front vowels. What is the best solution here? Maybe we need to replace -RUS tag with 2 different ones: -RUS-BACK and -RUS-FRONT?
Trying to analyse the following sentence: "Көньяк чик башта Ур муенын кисеп үтә, Каркинит култыгын, аннан соң Кара диңгез буйлап бара, аннан Адлер янында тауларга күтәрелә һәм Зур Кавказның Субүләр сырты буенча Русияне Гөрҗистаннан һәм Азәрбайҗаннан аера."
fran@matxine:~/source/apertium/languages/apertium-tat$ echo "аер<v><tv><pres><p3><sg>" | hfst-lookup .deps/tat.LR.lexc.hfst
аер<v><tv><pres><p3><sg> аер>{E} 0,000000
fran@matxine:~/source/apertium/languages/apertium-tat$ echo "аер<v><tv><pres><p3><sg>" | hfst-lookup .deps/tat.LR.hfst
аер<v><tv><pres><p3><sg> аерә 0,000000
@jonorthwash any ideas? We've tried a few hacks, but kept messing up other stuff :)
Probably an issue in twol:
$ echo "ноябрь<n><px3sp><loc>" | hfst-lookup .deps/tat.LR.lexc.hfst
ноябрь<n><px3sp><loc> ноябрь>{s}{I}{n}>{D}{A} 0,000000
ноябрь<n><px3sp><loc> ноябрь{ъ}>{s}{I}{n}>{D}{A} 0,000000
$ echo "ноябрь<n><px3sp><loc>" | hfst-lookup .deps/tat.LR.hfst
ноябрь<n><px3sp><loc> ноябрында 0,000000
ноябрь<n><px3sp><loc> ноябрьында 0,000000
Hi!
гыйнвар:январь N1-RUS ; ! "" Dir/LR
Is it correct? I think they should be considered as different words. And how to mark it here, because гыйнвар is adopted Tatar word, январь is a Russian loanword?
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.