Аналіз роботи автоматичного морфологічного аналізатора.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2000
Тип роботи:
Лабораторна робота
Предмет:
Інші

Частина тексту файла (без зображень, графіків і формул):

Етап №3. Аналіз роботи автоматичного морфологічного аналізатора. Скопіювала файли ukrainian.yaml ukrainian.lex в директорію з програмою kimmo.py Переглянула та проаналізувала вміст файлів ukrainian.yaml ukrainian.lex 3. Запустила програму kimmo.py зазначеним нижче способом: в IDLE (Python GUI) виконала наступну послідовність дій: >>> from kimmo import * >>> k=load("ukramian.yaml ") >>> k.gui() 4. Розробила програму морфологічного аналізу всіх граматичних форм наступних слів: рука, ткаля, миша, село, коваль, горіх, піч, лоша, летіти, свистіти, писати, тесати, топтати, радіти, бити, смажити, дружити. Здійснила морфологічний аналіз всіх граматичних форм вказаних слів. Попередньо у файлі ukrainian.rec зберегла всі граматичні форми. from kimmo import * k = KimmoRuleSet.load('ukrainian.yaml') recfile = open('ukrainian.rec') for line in recfile: line = line.strip() if not line: continue if line.startswith(';'): print line continue print list(k.recognize(line)), '<=', line recfile.close() UKRAINIAN.REC ruka gorihiv pySemo byty  ruky goriham pySete b'U  ruci gorihamy pySutB b'ES  ruku gorihah pysav b'E  rukoU piC pysala b'Emo  ruko peCi pysalo b'Ete  ruk piCCU pysaly b'UtB  rukam peCej pysatymu byv  rukamy peCam pysatymeS byla  rukah peCamy pysatyme bylo  tkalA peCah tesaty byly  tkali loSa teSu bytymu  tkalU loSaty teSeS bytymeS  tkaleU loSati teSe bytyme  tkale loSam teSemo smaZyty  tkalB loSata teSete smaZu  tkalAm loSat teSutB smaZyS  tkalAmy loSatam tesav smaZutB  tkalAh loSatamy tesala smaZymo  mySa loSatah tesalo smaZyte  mySi letity tesaly smaZatB  mySu leCu tesatymu smaZyv  mySeU letyS tesatymeS smaZyla  mySe letytB tesatyme smaZylo  mySej letymo toptaty smaZyly  mySam letyte topCu smaZytymu  mySamy letAtB topCeS smaZytymeS  mySah letiv topCe smaZytyme  selo letila topCemo druZyty  sela letilo topCete druZu  selu letily topCutB druZyS  selom letitymu toptav druZytB  seli letitymeS toptala druZymo  sil letityme toptalo druZyte  selam svystity toptaly druZatB  selamy svyHu toptatymu druZyv  selah svystyS toptatymeS druZyla  kovalB svystytB toptatyme druZylo  kovalA svystymo radity druZyly  kovalU svystyte radiU druZytymu  kovalem svystAtB radiES druZytymeS  kovali svystiv radiE druZytyme  kovaliv svystila radiEmo   kovalAm svystilo radiEte   kovalAmy svystily radiUtB   kovalAh svystitymu radiv   gorih svystitymeS radila   goriha svystityme radilo   gorihu pysaty radily   gorihom pySu raditymu   gorisi pySeS raditymeS   gorihy pySe radityme    >>> from kimmo import * >>> k = KimmoRuleSet.load('ukrainian.yaml') >>> recfile = open('ukrainian.rec') >>> for line in recfile: line = line.stripO if not line: continue if line.startswith(';'): print line continue print list(k.recognize(line)), '<=', line [('ruk+a', 'Noun_1_Tv(ruk)+a_Nominative case,sg')] <= ruka [('ruk+y', 'Noun_1_Tv(ruk)+y_')] <= ruky [] <= ruci [('ruk+u', 'Noun_1_Tv(ruk)+u_accusative case,sg')] <= ruku [('ruk+oU', 'Noun_1_Tv(ruk)+oU_possesive case,sg')] <= rukoU [('ruk+o', 'Noun_1_Tv(ruk)+o_vocative case,sg')] <= ruko [] <= ruk [('ruk+am', 'Noun_1_Tv(ruk)+am_dative case,pl')] <= rukam [('ruk+amy', 'Noun_1_Tv(ruk)+amy_possesive case,pl')] <= rukamy [('ruk+ah', 'Noun_1_Tv(ruk)+ah_locative case,pl')] <= rukah [('tkal+A', 'Noun_1_Mj(tkal)+A_Nominative case,sg')] <= tkalA [('tkal+i', 'Noun_1_Mj(tkal)+i_')] <= tkali [('tkal+U', 'Noun_1_Mj(tkal)+U_accusative case,sg')] <= tkalU [('tkal+eU', 'Noun_1_Mj(tkal)+eU_possesive case,sg')] <= tkaleU [('tkal+e', 'Noun_1_Mj(tkal)+e_vocative case,sg')] <= tkale [('tkal+B', 'Noun_1_Mj(tkal)+B_genitive case,pl')] <= tkalB [('tkal+Am', 'Noun_1_Mj(tkal)+Am_dative case,pl')] <= tkalAm [('tkal+Amy', 'Noun_1_Mj(tkal)+Amy_possesive case,pl')] <= tkalAmy [('tkal+Ah', 'Noun_1_Mj(tkal)+Ah_locative case,pl')] <= tkalAh [('myS+a', 'Noun_1_Mi(myS)+a_Nominative case,sg')] <= mySa [('myS+i', 'Noun_1_Mi(myS)+i_')] <= mySi [('myS+u', 'Noun_1_Mi(myS)+u_accusative case,sg')] <= mySu [('myS+eU', 'Noun_1_Mi(myS)+eU_possesive case,sg')] <= mySeU [('myS+e', 'Noun_1_Mi(myS)+e_vocative case,sg')] <= mySe [('myS+ej', 'Noun_1_Mi(myS)+ej_pl')] <= mySej [('myS+am', 'Noun_1_Mi(myS)+am_dative case,pl')] <= mySam [('myS+amy', 'Noun_1_Mi(myS)+amy_possesive case,pl')] <= mySamy [('myS+ah', 'Noun_1_Mi(myS)+ah_locative case,pl')] <= mySah [('sel+o', 'Noun_2_Tv(sel)+o_sg')] <= selo [('sel+a', 'Noun_2_Tv(sel)+a_Genitive case,sg')] <= sela [('sel+u', 'Noun_2_Tv(sel)+u_Genitive case,sg'), ('sel+u', 'Noun_2_Tv(sel)+u_Dative case,sg')] <= selu [('sel+om', 'Noun_2_Tv(sel)+om_possesive case,sg')] <= selom [('sel+i', 'Noun_2_Tv(sel)+i_locative case,sg')] <= seli [] <= sil [('sel+am', 'Noun_2_Tv(sel)+am_dative case,pl')] <= selam [('sel+amy', 'Noun_2_Tv(sel)+amy_possesive case,pl')] <= selamy [('sel+ah', 'Noun_2_Tv(sel)+ah_locative case,pl')] <= selah [('koval+B', 'Noun_2_Mj(koval)+B')] <= kovalB [('koval+A', 'Noun_2_Mj(koval)+A')] <= kovalA [('koval+U', 'Noun_2_Mj(koval)+U_sg')] <= kovalU [('koval+em', 'Noun_2_Mj(koval)+em_possesive case,sg')] <= kovalem [('koval+i', 'Noun_2_Mj(koval)+i')] <= kovali [('koval+iv', 'Noun_2_Mj(koval)+iv_pl')] <= kovaliv [('koval+Am', 'Noun_2_Mj(koval)Am')] <= kovalAm [('koval+Amy', 'Noun_2_Mj(koval)+Amy_possesive case,pl')] <= kovalAmy [('koval+Ah', 'Noun_2_Mj(koval)+Ah_locative case,pl')] <= kovalAh [] <= gorih [] <= goriha [] <= gorihu [] <= gorihom [] <= gorisi [] <= gorihy [] <= gorihiv [] <= goriham [] <= gorihamy [] <= gorihah [] <= piC [] <= peCi [('piC+U', 'Noun_3(piC)+U_Possesive case,sg')] <= piCCU [] <= peCej [] <= peCam [] <= peCamy [] <= peCah [] <= loSa [('loS+at+y', 'Noun_4(loS)+at_+y_Genitive case,sg')] <= loSaty [('loS+at+i', 'Noun_4(loS)+at_+i_sg.')] <= loSati [] <= loSam [('loS+at+a', 'Noun_4(loS)+at_+a_')] <= loSata [] <= loSat [('loS+at+am', 'Noun_4(loS)+at_+am_'), ('loS+at+am', 'Noun_4(loS)+at_+am_')] <= loSatam [('loS+at+amy', 'Noun_4(loS)+at_+amy_possesive case.pl')] <= loSatamy [('loS+at+ah', 'Noun_4(loS)+at_+ah_locative case.pl')] <= loSatah [] <= letity [] <= leCu [] <= letyS [] <= letytB [('let+y+mo', 'Verb(let)+y_+mo_ imperative. pl. 1 pers'), ('let+y+mo', 'Verb(let)+y_+mo_ imperative. pl. 1 pers')] <= letymo [('let+y+te', 'Verb(let)+y_+te_imperative. pl. 2 pers'), ('let+y+te', 'Verb(let)+y_+te_imperative. pl. 2 pers')] <= letyte [] <= letAtB [('let+i+v', 'Verb(let)+i_+v_sg.past'), ('let+i+v', 'Verb(let)+i_+v_sg.m.past'), ('let+i+v', 'Verb(let)+i_+v_sg.m.past'), ('let+i+v', 'Verb(let)+i_+v_sg.past')] <= letiv [('let+i+la', 'Verb(let)+i_+la_sg.fem.past'), ('let+i+la', 'Verb(let)+i_+la_sg.fem.past'), ('let+i+la', 'Verb(let)+i_+la_sg.fem.past'), ('let+i+la', 'Verb(let)+i_+la_sg.fem.past')] <= letila [('let+i+lo', 'Verb(let)+i_+lo_sg'), ('let+i+lo', 'Verb(let)+i_+lo_sg.n.past'), ('let+i+lo', 'Verb(let)+i_+lo_sg.n.past'), ('let+i+lo', 'Verb(let)+i_+lo_sg')] <= letilo [('let+i+ly', 'Verb(let)+i_ly_pl.past'), ('let+i+ly', 'Verb(let)+i_+ly_pl.past'), ('let+i+ly', 'Verb(let)+i_+ly_pl.past'), ('let+i+ly', 'Verb(let)+i_+ly_pl.past')] <= letily [('let+ity+mu', 'Verb(let)+ity_mu_sg.1 pers. future'), ('let+ity+mu', 'Verb(let)+ity_+mu_sg.1 pers. future'), ('let+ity+mu', 'Verb(let)+ity_+mu_sg.1 pers. future'), ('let+ity+mu', 'Verb(let)+ity_+mu_sg.1 pers. future')] <= letitymu [('let+ity+meS', 'Verb(let)+ity_+meS_sg.2 pers. future'), ('let+ity+meS', 'Verb(let)+ity_+meS_sg.2 pers. future'), ('let+ity+meS', 'Verb(let)+ity_+meS_sg.2 pers. future'), ('let+ity+meS', 'Verb(let)+ity_+meS_sg.2 pers. future')] <= letitymeS [('let+ity+me', 'Verb(let)+ity_+me_sg.3 pers. future'), ('let+ity+me', 'Verb(let)+ity_+me_sg.3 pers. future'), ('let+ity+me', 'Verb(let)+ity_+me_sg.3 pers. future'), ('let+ity+me', 'Verb(let)+ity_+me_sg.3 pers. future')] <= letityme [] <= svystity [] <= svyHu [] <= svystyS [] <= svystytB [] <= svystymo [] <= svystyte [] <= svystAtB [] <= svystiv [] <= svystila [] <= svystilo [] <= svystily [] <= svystitymu [] <= svystitymeS [] <= svystityme [] <= pysaty [] <= pySu [] <= pySeS [] <= pySe [] <= pySemo [] <= pySete [] <= pySutB [] <= pysav [] <= pysala [] <= pysalo [] <= pysaly [] <= pysatymu [] <= pysatymeS [] <= pysatyme [] <= tesaty [] <= teSu [] <= teSeS [] <= teSe [] <= teSemo [] <= teSete [] <= teSutB [] <= tesav [] <= tesala [] <= tesalo [] <= tesaly [] <= tesatymu [] <= tesatymeS [] <= tesatyme [] <= toptaty [] <= topCu [] <= topCeS [] <= topCe [] <= topCemo [] <= topCete [] <= topCutB [('topt+a+v', 'Verb(topt)+a_+v_sg.past'), ('topt+a+v', 'Verb(topt)+a_+v_sg.m.past'), ('topt+a+v', 'Verb(topt)+a_+v_sg.m.past'), ('topt+a+v', 'Verb(topt)+a_+v_sg.past')] <= toptav [('topt+a+la', 'Verb(topt)+a_+la_sg.fem.past'), ('topt+a+la', 'Verb(topt)+a_+la_sg.fem.past'), ('topt+a+la', 'Verb(topt)+a_+la_sg.fem.past'), ('topt+a+la', 'Verb(topt)+a_+la_sg.fem.past')] <= toptala [('topt+a+lo', 'Verb(topt)+a_+lo_sg'), ('topt+a+lo', 'Verb(topt)+a_+lo_sg.n.past'), ('topt+a+lo', 'Verb(topt)+a_+lo_sg.n.past'), ('topt+a+lo', 'Verb(topt)+a_+lo_sg')] <= toptalo [('topt+a+ly', 'Verb(topt)+a_ly_pl.past'), ('topt+a+ly', 'Verb(topt)+a_+ly_pl.past'), ('topt+a+ly', 'Verb(topt)+a_+ly_pl.past'), ('topt+a+ly', 'Verb(topt)+a_+ly_pl.past')] <= toptaly [('topt+aty+mu', 'Verb(topt)+aty_mu_sg.1 pers. future'), ('topt+aty+mu', 'Verb(topt)+aty_+mu_sg.1 pers. future'), ('topt+aty+mu', 'Verb(topt)+aty_+mu_sg.1 pers. future'), ('topt+aty+mu', 'Verb(topt)+aty_+mu_sg.1 pers. future')] <= toptatymu [('topt+aty+meS', 'Verb(topt)+aty_+meS_sg.2 pers. future'), ('topt+aty+meS', 'Verb(topt)+aty_+meS_sg.2 pers. future'), ('topt+aty+meS', 'Verb(topt)+aty_+meS_sg.2 pers. future'), ('topt+aty+meS', 'Verb(topt)+aty_+meS_sg.2 pers. future')] <= toptatymeS [('topt+aty+me', 'Verb(topt)+aty_+me_sg.3 pers. future'), ('topt+aty+me', 'Verb(topt)+aty_+me_sg.3 pers. future'), ('topt+aty+me', 'Verb(topt)+aty_+me_sg.3 pers. future'), ('topt+aty+me', 'Verb(topt)+aty_+me_sg.3 pers. future')] <= toptatyme [] <= radity [] <= radiU [] <= radiES [] <= radiE [] <= radiEmo [] <= radiEte [] <= radiUtB [] <= radiv [] <= radila [] <= radilo [] <= radily [('radi+ty+mu', 'Verb(radi)+ty_mu_sg.1 pers. future'), ('radi+ty+mu', 'Verb(radi)+ty_+mu_sg.1 pers. future'), ('radi+ty+mu', 'Verb(radi)+ty_+mu_sg.1 pers. future'), ('radi+ty+mu', 'Verb(radi)+ty_+mu_sg.1 pers. future'), ('radi+ty+mu', 'Verb(radi)+ty_mu_sg.1 pers. future'), ('radi+ty+mu', 'Verb(radi)+ty_+mu_sg.1 pers. future'), ('radi+ty+mu', 'Verb(radi)+ty_+mu_sg.1 pers. future'), ('radi+ty+mu', 'Verb(radi)+ty_+mu_sg.1 pers. future')] <= raditymu [('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future'), ('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future'), ('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future'), ('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future'), ('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future'), ('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future'), ('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future'), ('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future')] <= raditymeS [('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future'), ('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future'), ('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future'), ('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future'), ('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future'), ('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future'), ('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future'), ('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future')] <= radityme [] <= byty [] <= b'U [] <= b'ES [] <= b'E [] <= b'Emo [] <= b'Ete [] <= b'UtB [('b+y+v', 'Verb(b)+y_+v_sg.past'), ('b+y+v', 'Verb(b)+y_+v_sg.m.past'), ('b+y+v', 'Verb(b)+y_+v_sg.m.past'), ('b+y+v', 'Verb(b)+y_+v_sg.past'), ('b+y+v', 'Verb(b)+y_+v_sg.past'), ('b+y+v', 'Verb(b)+y_+v_sg.m.past'), ('b+y+v', 'Verb(b)+y_+v_sg.m.past'), ('b+y+v', 'Verb(b)+y_+v_sg.past')] <= byv [('b+y+la', 'Verb(b)+y_+la_sg.fem.past'), ('b+y+la', 'Verb(b)+y_+la_sg.fem.past'), ('b+y+la', 'Verb(b)+y_+la_sg.fem.past'), ('b+y+la', 'Verb(b)+y_+la_sg.fem.past'), ('b+y+la', 'Verb(b)+y_+la_sg.fem.past'), ('b+y+la', 'Verb(b)+y_+la_sg.fem.past'), ('b+y+la', 'Verb(b)+y_+la_sg.fem.past'), ('b+y+la', 'Verb(b)+y_+la_sg.fem.past')] <= byla [('b+y+lo', 'Verb(b)+y_+lo_sg'), ('b+y+lo', 'Verb(b)+y_+lo_sg.n.past'), ('b+y+lo', 'Verb(b)+y_+lo_sg.n.past'), ('b+y+lo', 'Verb(b)+y_+lo_sg'), ('b+y+lo', 'Verb(b)+y_+lo_sg'), ('b+y+lo', 'Verb(b)+y_+lo_sg.n.past'), ('b+y+lo', 'Verb(b)+y_+lo_sg.n.past'), ('b+y+lo', 'Verb(b)+y_+lo_sg')] <= bylo [('b+y+ly', 'Verb(b)+y_ly_pl.past'), ('b+y+ly', 'Verb(b)+y_+ly_pl.past'), ('b+y+ly', 'Verb(b)+y_+ly_pl.past'), ('b+y+ly', 'Verb(b)+y_+ly_pl.past'), ('b+y+ly', 'Verb(b)+y_ly_pl.past'), ('b+y+ly', 'Verb(b)+y_+ly_pl.past'), ('b+y+ly', 'Verb(b)+y_+ly_pl.past'), ('b+y+ly', 'Verb(b)+y_+ly_pl.past')] <= byly [('b+yty+mu', 'Verb(b)+yty_mu_sg.1 pers. future'), ('b+yty+mu', 'Verb(b)+yty_+mu_sg.1 pers. future'), ('b+yty+mu', 'Verb(b)+yty_+mu_sg.1 pers. future'), ('b+yty+mu', 'Verb(b)+yty_+mu_sg.1 pers. future'), ('b+yty+mu', 'Verb(b)+yty_mu_sg. 1 pers. future'), ('b+yty+mu', 'Verb(b)+yty_+mu_sg.1 pers. future'), ('b+yty+mu', 'Verb(b)+yty_+mu_sg.1 pers. future'), ('b+yty+mu', 'Verb(b)+yty_+mu_sg.1 pers. future')] <= bytymu [('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future'), ('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future'), ('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future'), ('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future'), ('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future'), ('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future'), ('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future'), ('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future')] <= bytymeS [('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future'), ('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future'), ('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future'), ('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future'), ('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future'), ('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future'), ('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future'), ('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future')] <= bytyme [] <= smaZyty [] <= smaZu [] <= smaZyS [] <= smaZutB [] <= smaZymo [] <= smaZyte [] <= smaZatB [] <= smaZyv [] <= smaZyla [] <= smaZylo [] <= smaZyly [] <= smaZytymu [] <= smaZytymeS [] <= smaZytyme [] <= druZyty [] <= druZu [] <= druZyS [] <= druZytB [] <= druZymo [] <= druZyte [] <= druZatB [] <= druZyv [] <= druZyla [] <= druZylo [] <= druZyly [] <= druZytymu [] <= druZytymeS [] <= druZytyme >>> recfile.close() Оцінка результатів аналізу: Оскільки программа пацює лише з літерами латинського алфавіту, то ми зробили транслітерацію всіх слів. При аналізі всіх словоформ слова ruka, система розпізнала всі слова, крім словоформ ruci та ruk. При аналізі словоформи ruci не спрацювало правило зміни букви k на c (к на ц), хоча воно і записане в файлі ukrainian.yaml. k to c: | FSA k i @ c i @ 1: 2 1 1 2: 0 1 0 При аналізі словоформи ruk, жодні правила не використовувались. Але, дивлячись на правила сполучуваності гарно видно, що в системі збій, оскільки в файлі ukrainian.lex розглядається варіант нульового закінчення в іменниках 1 відміни твердої групи в родовому відмінку множини, але система це не розпізнала: N_ROOT_1_TV: ruk AfterNoun_1_Tv Noun_1_Tv(ruk) N_ENDING_1_TV: +0 AfterNounEnding genitive case,pl Також не врахувала система, що при аналізі слова ruky, ця словоформа може бути як родовим відмінком однини, так і називним відмінком множини. На жаль, оскільки цих даних не записано в файлі ukrainian.lex, тому система не змогла зробити аналіз цієї словоформи. [('ruk+a', 'Noun_1_Tv(ruk)+a_Nominative case,sg')] <= ruka [('ruk+y', 'Noun_1_Tv(ruk)+y_')] <= ruky [] <= ruci [('ruk+u', 'Noun_1_Tv(ruk)+u_accusative case,sg')] <= ruku [('ruk+oU', 'Noun_1_Tv(ruk)+oU_possesive case,sg')] <= rukoU [('ruk+o', 'Noun_1_Tv(ruk)+o_vocative case,sg')] <= ruko [] <= ruk [('ruk+am', 'Noun_1_Tv(ruk)+am_dative case,pl')] <= rukam [('ruk+amy', 'Noun_1_Tv(ruk)+amy_possesive case,pl')] <= rukamy [('ruk+ah', 'Noun_1_Tv(ruk)+ah_locative case,pl')] <= rukah При аналізі всіх словоформ слова ІкяІЛ, система розпізнала всі слова, лише в словоформі ІкаІі не розпізнала що ця словоформа може бути як родовим відмінком однини, так і називним відмінком множини (як і при аналізі попереднього слова). [('tkal+A', 'Noun_1_Mj(tkal)+A_Nominative case,sg')] <= tkalA [('tkal+i', 'Noшl_1_Mj(tkal)+i_')] <= tkali [('tkal+U', 'Noun_1_Mj(tkal)+U_accusative case,sg')] <= tkalU [(Чкаї+еи', 'Noun_1_Mj(tkal)+eU_possesive case,sg')] <= tkaleU [(Чкаї+е', 'Noun_1_Mj(tkal)+e_vocative case,sg')] <= tkale [(чкаї+В', 'Noun_1_Mj(tkal)+B_genitive case,pl')] <= tkalB [(Чкаї+Ат', 'Noun_1_Mj(tkal)+Am_dative case,pl')] <= tkalAm [(Чкаї+Ату', 'Noun_1_Mj(tkal)+Amy_possesive case,pl')] <= tkalAmy [(чкаї+Агі', 'Noun_1_Mj(tkal)+Ah_locative case,pl')] <= tkalAh При аналізі всіх словоформ слова шу8я аналогічно до словоформ слова ІкяІЛ, система не проаналізувала лише слово шу8і. [('шуБ+а', 'Коип_1_Мі(шу8)+а_Кошіпагіуе саБе^')] <= шуБа [('шуБ+і', 'Коип_1_Мі(шуБ)+і_')] <= шуБі [('шуБ+и', 'Коип_1_Мі(шу8)+и_ассшагіуе саБе^')] <= шуБи [('шуБ+еИ', 'Коип_1_Мі(шу8)+еИ_ро88Є8іуе саБе^')] <= шуБеи [('шуБ+е', 'Коип_1_Мі(шуБ)+е_уоса1іуе саБе^')] <= шуБе [('шуБ+еі', 'Коип_1_Мі(шуБ)+е]_р1')] <= шуБе] [('шуБ+аш', 'Коип_1_Мі(шу8)+аш_сІагіуе саБе,р1')] <= шуБаш [('шуБ+ашу', 'Коип_1_Мі(шу8)+ашу_ро88евіуе саБе,р1')] <= шуБашу [('шуБ+аЬ', ']ЧГоип_1_Мі(шу8)+агі_1оса1іуе саБе,р1')] <= шуБаЬ При аналізі всіх словоформ слова selo, система розпізнала слово selo лише частково, оскільки в файлі ukrainian.lex не описано, що це слово іменник називного відмінку: N_ROOT_2_TV: sel AfterNoun_2_Tv Noun_2_Tv(sel) N_ENDING_2_TV: +o AfterNounEnding +o_sg В словоформі sela, не розпізнано що воно ще й іменник називного відмінка множини. В словоформі selu, помилка, оскільки система розпізнала цю словоформу двома видами: N_ROOT_2_TV: sel AfterNoun_2_Tv Noun_2_Tv(sel) N_ENDING_2_TV: +u AfterNounEnding +u_Genitive case,sg +u AfterNounEnding +u_Dative case,sg Слово selu може бути лише іменником давального відмінку однини. Ця помилка з'явилась, тому що є помилка в файлі ukrainian.lex. При аналізі словоформи sil, не використалось правило зміни е на і, e to i: | FSA e l # @ i l # @ 1: 2 1 1 1 2: 0 3 0 0 3: 0 0 1 0 тому система не змогла проаналізувати слово. [('sel+o', 'Noun_2_Tv(sel)+o_sg')] <= selo [('sel+a', 'Noun_2_Tv(sel)+a_Genitive case,sg')] <= sela [('sel+u', 'Noun_2_Tv(sel)+u_Genitive case,sg'), ('sel+u', 'Noun_2_Tv(sel)+u_Dative case,sg')] <= selu [('sel+om', 'Noun_2_Tv(sel)+om_possesive case,sg')] <= selom [('sel+i', 'Noun_2_Tv(sel)+i_locative case,sg')] <= seli [] <= sil [('sel+am', 'Noun_2_Tv(sel)+am_dative case,pl')] <= selam [('sel+amy', 'Noun_2_Tv(sel)+amy_possesive case,pl')] <= selamy [('sel+ah', 'Noun_2_Tv(sel)+ah_locative case,pl')] <= selah При аналізі всіх словоформ слова kovalB, розпізнались всі слова але більшість з незначними помилками (не розпізнався відмінок). Подаю слова які з помилками, і які без: [('koval+B', 'Noun_2_Mj(koval)+B')] <= kovalB - Н.В. Одн. [('koval+A', 'Noun_2_Mj(koval)+A')] <= kovalA - Р.В Одн. [('koval+U', 'Noun_2_Mj(koval)+U_sg')] <= kovalU - Д.В Одн. [('koval+em', 'Noun_2_Mj(koval)+em_possesive case,sg')] <= kovalem - Добре розпізнало [('koval+i', 'Noun_2_Mj(koval)+i')] <= kovali - Н.В Мн. [('koval+iv', 'Noun_2_Mj(koval)+iv_pl')] <= kovaliv - Р.В [('koval+Am', 'Noun_2_Mj(koval)Am')] <= kovalAm - Д.В Мн. [('koval+Amy', 'Noun_2_Mj(koval)+Amy_possesive case,pl')] <= kovalAmy - Добре розпізнало [('koval+Ah', 'Noun_2_Mj(koval)+Ah_locative case,pl')] <= kovalAh - Добре розпізнало Ці помилки стались із-за того, що в файлі ukrainian.lex помилки. При аналізі всіх словоформ слова gorih, система не розпізнала жодного слова. Бо в ukrainian.lex неправильно транслітеровано це слово: N_ROOT_2_MI: goryh AfterNoun_2_Mi Noun_2_Mi(horyH) [] <= gorih [] <= goriha [] <= gorihu [] <= gorihom [] <= gorisi [] <= gorihy [] <= gorihiv [] <= goriham [] <= gorihamy [] <= gorihah При аналізі всіх словоформ слова piC, система розпізнала лише словоформу piCCU, де використалось правило подвоєння букви C (ч). Словоформа piC не розпізналась, хоча в файлі ukrainian.lex записані правила сполучуваності: N_ROOT_3: piC AfterNoun_3 Noun_3(piC) N_ENDING_3: +0 AfterNounEnding +0,sg На жаль, причини цієї помилки на даному етапі не можна вияснити. Словоформи peCi, peCej, peCam, peCamy, peCah також не були розпізнані. Оскільки не використалось правило зміни і на р: i to e: | FSA i C Ie @ e C Ie @ 1: 2 1 1 1 2: 0 3 0 0 3: 0 0 1 0 Тому система не продовжувала аналіз словоформ. [] <= peCi [('piC+U', 'Noun_3(piC)+U_Possesive case,sg')] <= piCCU [] <= peCej [] <= peCam [] <= peCamy [] <= peCah При аналізі всіх словоформ слова 1о8а: Не розпізнались словоформи 1о8а, 1о8аіп, 1о8аі, оскільки в файлі написані правила сполучуваності не дуже добрим чином. Обов'язково після кореня повинен йти суфікс, а потім закінчення. В деяких словах є лише корінь і суфікс, а в інших корінь і закінчення, тому не у всій словоформах це правило діє, ось чому сталась така помилка. При аналізі інших словоформ виникли проблеми такі, що в словоформі 1о8аії, не зазначено, що це іменник Д.В одн, в словоформі 1о8аіа - іменник Н.В множини, а от в словоформі 1о8аіаіп, проаналізовано слово однаково 2 рази. Причина цих помилок - неправильне написання в файлі икгаіпіап.іех. Лише 1оБа1у, 1оБа1ашу, 1оБа1аИ розпізнано правильно. [] <= 1оБа [('1оБ+а1+у', 'Коип_4(1о8)+аг_+у_аепігіуе саБе^')] <= 1оБа1у [('1оБ+а1+і', 'Коип_4(1о8)+аг_+і_8§.')] <= 1оБай [] <= 1оБаш [('1оБ+а1+а', 'Коип_4(1о8)+аг_+а_')] <= 1оБа1а [] <= 1оБа1 [('1оБ+а1+аш', 'Коип_4(1о8)+аг_+агп_'), ('1оБ+а1+аш', 'Коип_4(1о8)+аг_+агп_')] <= 1оБа1аш [('1оБ+а1+ашу', 'Коип_4(1о8)+а1_+ашу_роБ8е8іуе саБе.рГ)] <= 1оБа1ашу [('1о8+а1+аЬ', 'Коип_4(1о8)+а1_+аЬ_1оса1іуе саБе.р1')] <= 1о8а1аЬ При аналізі всіх словоформ слова letity: Словоформи letity, letyS, letytB, letAtB система не розпізнала, тому що правила сполучуваності записані, що після кореня повинен іти суфікс, а аж потім закінчення, а в наших словах після кореня відразу йде закінчення, ось в чому причина помилки. При аналізі інших словоформ сталась помилка лише в тому, що система видала не один результат а декілька однакових аналізів певного слова. [] <= letity [] <= leCu [] <= letyS [] <= letytB [('let+y+mo', 'Verb(let)+y_+mo_ imperative. pl. 1 pers'), ('let+y+mo', 'Verb(let)+y_+mo_ imperative. pl. 1 pers')] <= letymo [('let+y+te', 'Verb(let)+y_+te_imperative. pl. 2 pers'), ('let+y+te', 'Verb(let)+y_+te_imperative. pl. 2 pers')] <= letyte [] <= letAtB [('let+i+v', 'Verb(let)+i_+v_sg.past'), ('let+i+v', 'Verb(let)+i_+v_sg.m.past'), ('let+i+v', 'Verb(let)+i_+v_sg.m.past'), ('let+i+v', 'Verb(let)+i_+v_sg.past')] <= letiv [('let+i+la', 'Verb(let)+i_+la_sg.fem.past'), ('let+i+la', 'Verb(let)+i_+la_sg.fem.past'), ('let+i+la', 'Verb(let)+i_+la_sg.fem.past'), ('let+i+la', 'Verb(let)+i_+la_sg.fem.past')] <= letila [('let+i+lo', 'Verb(let)+i_+lo_sg'), ('let+i+lo', 'Verb(let)+i_+lo_sg.n.past'), ('let+i+lo', 'Verb(let)+i_+lo_sg.n.past'), ('let+i+lo', 'Verb(let)+i_+lo_sg')] <= letilo [('let+i+ly', 'Verb(let)+i_ly_pl.past'), ('let+i+ly', 'Verb(let)+i_+ly_pl.past'), ('let+i+ly', 'Verb(let)+i_+ly_pl.past'), ('let+i+ly', 'Verb(let)+i_+ly_pl.past')] <= letily [('let+ity+mu', 'Verb(let)+ity_mu_sg.1 pers. future'), ('let+ity+mu', 'Verb(let)+ity_+mu_sg.1 pers. future'), ('let+ity+mu', 'Verb(let)+ity_+mu_sg.1 pers. future'), ('let+ity+mu', 'Verb(let)+ity_+mu_sg.1 pers. future')] <= letitymu [('let+ity+meS', 'Verb(let)+ity_+meS_sg.2 pers. future'), ('let+ity+meS', 'Verb(let)+ity_+meS_sg.2 pers. future'), ('let+ity+meS', 'Verb(let)+ity_+meS_sg.2 pers. future'), ('let+ity+meS', 'Verb(let)+ity_+meS_sg.2 pers. future')] <= letitymeS [('let+ity+me', 'Verb(let)+ity_+me_sg.3 pers. future'), ('let+ity+me', 'Verb(let)+ity_+me_sg.3 pers. future'), ('let+ity+me', 'Verb(let)+ity_+me_sg.3 pers. future'), ('let+ity+me', 'Verb(let)+ity_+me_sg.3 pers. future')] <= letityme При аналізі всіх словоформ слів svystity, pysaty, tesaty, smaZyty, druZyty система не розпізнала ні одної словоформи. Причини різні, по-перше, правила сполучуваності записані, що після кореня повинен іти суфікс, а аж потім закінчення, а в наших деяких словах після кореня відразу йде закінчення, ось в чому причина помилки. По-друге деяких словах не виконались правила. По-третє, не правильно транслітеровані деякі слова. Але чому не розпізнались слова, які б по-суті повинні були розпізнатись, бо вони підходять і до правил сполучуваності і не виконуються в них жодні правила, на жаль на даному етапі я не можу це пояснити. Можливо якийсь збій системи. [] <= svystity [] <= svyHu [] <= svystyS [] <= svystytB [] <= svystymo [] <= svystyte [] <= svystAtB [] <= svystiv [] <= svystila [] <= svystilo [] <= svystily [] <= svystitymu [] <= svystitymeS [] <= svystityme [] <= pysaty [] <= PySu [] <= pySeS [] <= PySe [] <= PySemo [] <= pySete [] <= PySutB [] <= pysav [] <= pysala [] <= pysalo [] <= pysaly [] <= pysatymu [] <= pysatymeS [] <= pysatyme [] <= tesaty [] <= teSu [] <= teSeS [] <= teSe [] <= teSemo [] <= teSete [] <= teSutB [] <= tesav [] <= tesala [] <= tesalo [] <= tesaly [] <= tesatymu [] <= tesatymeS [] <= tesatyme [] <= smaZyty [] <= smaZu [] <= smaZyS [] <= smaZutB [] <= smaZymo [] <= smaZyte [] <= smaZatB [] <= smaZyv [] <= smaZyla [] <= smaZylo [] <= smaZyly [] <= smaZytymu [] <= smaZytymeS [] <= smaZytyme [] <= druZyty [] <= druZu [] <= druZyS [] <= druZytB [] <= druZymo [] <= druZyte [] <= druZatB [] <= druZyv [] <= druZyla [] <= druZylo [] <= druZyly [] <= druZytymu [] <= druZytymeS [] <= druZytyme При аналізі всіх словоформ слова toptaty: Словоформа toptaty система не проаналізувала, оскільки в правилах сполучуваності, як я вже казала, повинен після кореня стояти суфікс а потім ще закінчення, а в нашому випадку лише є корінь і суфікс. Словоформи topCu, topCeS, topCe, topCemo, topCete, topCutB не проаналізувались, оскільки не виконалось правила зміни t на C (т на ч). В інших словоформах, розпізнало правильно, але декілька раз написаний той самий аналіз. [] <= toptaty [] <= topCu [] <= topCeS [] <= topCe [] <= topCemo [] <= topCete [] <= topCutB [('topt+a+v', 'Verb(topt)+a_+v_sg.past'), ('topt+a+v', 'Verb(topt)+a_+v_sg.m.past'), ('topt+a+v', 'Verb(topt)+a_+v_sg.m.past'), ('topt+a+v', 'Verb(topt)+a_+v_sg.past')] <= toptav [('topt+a+la', 'Verb(topt)+a_+la_sg.fem.past'), ('topt+a+la', 'Verb(topt)+a_+la_sg.fem.past'), ('topt+a+la', 'Verb(topt)+a_+la_sg.fem.past'), ('topt+a+la', 'Verb(topt)+a_+la_sg.fem.past')] <= toptala [('topt+a+lo', 'Verb(topt)+a_+lo_sg'), ('topt+a+lo', 'Verb(topt)+a_+lo_sg.n.past'), ('topt+a+lo', 'Verb(topt)+a_+lo_sg.n.past'), ('topt+a+lo', 'Verb(topt)+a_+lo_sg')] <= toptalo [('topt+a+ly', 'Verb(topt)+a_ly_pl.past'), ('topt+a+ly', 'Verb(topt)+a_+ly_pl.past'), ('topt+a+ly', 'Verb(topt)+a_+ly_pl.past'), ('topt+a+ly', 'Verb(topt)+a_+ly_pl.past')] <= toptaly [('topt+aty+mu', 'Verb(topt)+aty_mu_sg.1 pers. future'), ('topt+aty+mu', 'Verb(topt)+aty_+mu_sg.1 pers. future'), ('topt+aty+mu', 'Verb(topt)+aty_+mu_sg.1 pers. future'), ('topt+aty+mu', 'Verb(topt)+aty_+mu_sg.1 pers. future')] <= toptatymu [('topt+aty+meS', 'Verb(topt)+aty_+meS_sg.2 pers. future'), ('topt+aty+meS', 'Verb(topt)+aty_+meS_sg.2 pers. future'), ('topt+aty+meS', 'Verb(topt)+aty_+meS_sg.2 pers. future'), ('topt+aty+meS', 'Verb(topt)+aty_+meS_sg.2 pers. future')] <= toptatymeS [('topt+aty+me', 'Verb(topt)+aty_+me_sg.3 pers. future'), ('topt+aty+me', 'Verb(topt)+aty_+me_sg.3 pers. future'), ('topt+aty+me', 'Verb(topt)+aty_+me_sg.3 pers. future'), ('topt+aty+me', 'Verb(topt)+aty_+me_sg.3 pers. future')] <= toptatyme При аналізі всіх словоформ слова гасІИу: Словоформа гасСИу не розпізнана по причині аналогічній до словоформи іоріаіу. Словоформи гасСШ, гасСіЕ8, гасИЕ, гассіЕіпо, гасИЕіе, гасИШВ, гасИу, гасІПа, гасІПо, гасШу не розпізнались, тому що в файлі икгаіпіап.іех недописано суфікси для цих словоформ. Решта розпізнані правильно тільки (звична помилка при аналізі дієслів) система видала не один результат а декілька однакових аналізів певного слова. [] <= гасШу [] <= radiU [] <= radiES [] <= radiE [] <= radiEmo [] <= radiEte [] <= radiUtB [] <= radiv [] <= radila [] <= radilo [] <= radily [('radi+ty+mu', 'Verb(radi)+ty_mu_sg.1 pers. future'), ('radi+ty+mu', 'Verb(radi)+ty_+mu_sg.1 pers. future'), ('radi+ty+mu', 'Verb(radi)+ty_+mu_sg.1 pers. future'), ('radi+ty+mu', 'Verb(radi)+ty_+mu_sg.1 pers. future'), ('radi+ty+mu', 'Verb(radi)+ty_mu_sg.1 pers. future'), ('radi+ty+mu', 'Verb(radi)+ty_+mu_sg.1 pers. future'), ('radi+ty+mu', 'Verb(radi)+ty_+mu_sg.1 pers. future'), ('radi+ty+mu', 'Verb(radi)+ty_+mu_sg.1 pers. future')] <= raditymu [('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future'), ('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future'), ('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future'), ('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future'), ('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future'), ('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future'), ('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future'), ('radi+ty+meS', 'Verb(radi)+ty_+meS_sg.2 pers. future')] <= raditymeS [('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future'), ('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future'), ('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future'), ('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future'), ('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future'), ('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future'), ('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future'), ('radi+ty+me', 'Verb(radi)+ty_+me_sg.3 pers. future')] <= radityme При аналізі всіх словоформ слова Ьуіу: Словоформа Ьуіу не розпізнана по причині аналогічній до словоформи toptaty. Словоформи b'ES, b'E, b'Emo, b'Ete, Ь'ШБ, система не проаналізувала, бо не виконується правило сполучуваності корінь+суфікс+закінчення. Решта розпізнані правильно тільки з звичною помилкою, що відбувається при аналізі дієслів. [] <= byty [] <= ЬТІ [] <= Ьі^ [] <= Ь'Б [] <= b'Emo [] <= b'Ete [] <= ЬТЛБ [('b+y+v', 'Verb(b)+y_+v_sg.past'), ('b+y+v', 'Verb(b)+y_+v_sg.m.past'), ('b+y+v', 'Verb(b)+y_+v_sg.m.past'), (Ь+у+< 'Verb(b)+y_+v_sg.past'), (Ъ+y+v', 'Verb(b)+y_+v_sg.past'), (Ъ+у+< 'Verb(b)+y_+v_sg.m.past'), (Ъ+у+< 'Verb(b)+y_+v_sg.m.past'), (Ъ+у+< 'Verb(b)+y_+v_sg.past')] <= byv [(Ъ+у+к', 'Verb(b)+y_+la_sg.fem.past'), ('b+y+la', 'Verb(b)+y_+la_sg.fem.past'), ('b+y+la', 'Verb(b)+y_+la_sg.fem.past'), ('b+y+la', 'Verb(b)+y_+la_sg.fem.past'), ('b+y+la', 'Verb(b)+y_+la_sg.fem.past'), (ъ+у+к', 'Verb(b)+y_+la_sg.fem.past'), ('b+y+la', 'Verb(b)+y_+la_sg.fem.past'), ('b+y+la', 'Verb(b)+y_+la_sg.fem.past')] <= byla [('b+y+lo', 'Verb(b)+y_+lo_sg'), ('b+y+lo', 'Verb(b)+y_+lo_sg.n.past'), ('b+y+lo', 'Verb(b)+y_+lo_sg.n.past'), ('b+y+lo', 'Verb(b)+y_+lo_sg'), ('b+y+lo', 'Verb(b)+y_+lo_sg'), ('b+y+lo', 'Verb(b)+y_+lo_sg.n.past'), ('b+y+lo', 'Verb(b)+y_+lo_sg.n.past'), ('b+y+lo', 'Verb(b)+y_+lo_sg')] <= bylo [('b+y+ly', 'Verb(b)+y_ly_pl.past'), ('b+y+ly', 'Verb(b)+y_+ly_pl.past'), ('b+y+ly', 'Verb(b)+y_+ly_pl.past'), ('b+y+ly', 'Verb(b)+y_+ly_pl.past'), ('b+y+ly', 'Verb(b)+y_ly_pl.past'), ('b+y+ly', 'Verb(b)+y_+ly_pl.past'), ('b+y+ly', 'Verb(b)+y_+ly_pl.past'), ('b+y+ly', 'Verb(b)+y_+ly_pl.past')] <= byly [('b+yty+mu', 'Verb(b)+yty_mu_sg.1 pers. future'), ('b+yty+mu', 'Verb(b)+yty_+mu_sg.1 pers. future'), ('b+yty+mu', 'Verb(b)+yty_+mu_sg.1 pers. future'), ('b+yty+mu', 'Verb(b)+yty_+mu_sg.1 pers. future'), ('b+yty+mu', 'Verb(b)+yty_mu_sg. 1 pers. future'), ('b+yty+mu', 'Verb(b)+yty_+mu_sg.1 pers. future'), ('b+yty+mu', 'Verb(b)+yty_+mu_sg.1 pers. future'), ('b+yty+mu', 'Verb(b)+yty_+mu_sg.1 pers. future')] <= bytymu [('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future'), ('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future'), ('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future'), ('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future'), ('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future'), ('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future'), ('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future'), ('b+yty+meS', 'Verb(b)+yty_+meS_sg.2 pers. future')] <= bytymeS [('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future'), ('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future'), ('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future'), ('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future'), ('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future'), ('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future'), ('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future'), ('b+yty+me', 'Verb(b)+yty_+me_sg.3 pers. future')] <= bytyme Оцінка результатів синтезу: Синтез всіх словоформ слова піка: Синтезуючи слова ruka, гику, гики, ruko, ruk, гикат, rukah система перевіряла їх на такі правила: вставлення апострофа, заміна k на C (к на ч), заміна k на c (к на ц) та подвоєння букви C (ч), але жодне з цих правил не виконалось, хоча система розпізнала правила цих слів. Синтезуючи слово гисі, система перевіряла слово на правила: вставлення апоствофа, заміна і на o (і на о), подвоєння букви C (ч), жодне з правил не виконалося. Синтезуючи слово гикои, система перевірила це слово на правила вставлення апострофа, заміна k на C (к на ч), заміна k на c (к на ц) та подвоєння букви C (ч), і розглянула слова, що підходять до правил вставлення апоствофа та подвоєння букви C (ч) - гико'и, гикоСи. Ця проблема виникла у зв'язку з тим, що при написанні правил не врахували, що правила можуть виконатись і в звичайних словах, які не підтримують жодних правил. Синтез всіх словоформ слова tkalA: Синтезуючи слова ґкаїі, ІкаІБ система перевіряла їх на такі правила: вставлення апострофа, заміна k на C (к на ч), заміна k на c (к на ц) та подвоєння букви C (ч), але правила не виконались. Синтезуючи слова tkalA, tkalAm, tkalAmy, tkalAh слова перевірялись на правила вставлення апострофа, заміна k на C (к на ч), заміна k на c (к на ц) та подвоєння букви C (ч), з яких жодне не виконалось, але правила вставлення апоствофа можливо і виконались, бо система видала ще й слова ІкаІ'Л, Іка^ш, Ік^І^шу, ІкаІ^Іі. Ці слова підходять до правил, але ж насправді таких слів немає в лексиконі української мови, але оскільки система при синтезі не звертається до словника, то це не можна вважати помилкою. Синтезуючи слово tkaleU, слово перевірялось на правила вставлення апострофа, заміна k на C (к на ч), заміна k на c (к на ц), заміна є на і (е на і) та подвоєння букви C (ч), до цього слова правила не виконались, але система знов вилдала слова, що підтримують ці правила - tkale'U, tkaleCU. Синтез всіх словоформ слова mySa: Синтезуючи слова mySa, mySi, mySu, mySam, mySamy, mySah система перевіряла лише 2 правила: вставлення апострофа та подвоєння букви C (ч), які не виконались. Синтезуючи слова mySeU, mySe, mySej система перевіряла правила вставлення апострофа, заміна e на і (е на і) та подвоєння букви C (ч), які не виконались. Оскільки в слові mySeU, може виконується правило вставлення апострофа перед я, ю, є, ї та правило подвоєння букви C (ч), тому система видала ще й слово mySeCU, mySe'U. Синтез всіх словоформ слова selo: Синтезуючи слова selo, sela, selu, selom, seli, sil, selam, selamy, selah перевірялися правила заміна s на S (с на ш), вставлення апострофа та подвоєння букви C (ч), що не виконались а слова seli, sil перевірялись ще й також на правило заміна і на o (і на о). Чому не виконалось це правило в слові sil на жаль не відомо, можливо при створенні файлу ukrainian.yaml сталась помилка. Синтез всіх словоформ слова kovalB: Синтезуючи слова kovalB, kovalem, система перевіряла такі правила: вставлення апострофа, заміна k на C (к на ч), заміна k на c (к на ц), подвоєння букви C (ч), які знов таки не виконались. Синтезуючи слова kovalA, kovalU, kovalAm, kovalAmy, kovalAh також слова перевірялись на ці правила, але оскільки вони підходять під правила вставлення апострофа і подвоєння букви C (ч), то система видала слова: koval'A, koval'Am, koval'Amy, koval'U, kovalCU. Синтезуючи слова kovali, kovaliv не виконались правила вставлення апострофа, заміна k на C (к на ч), заміна k на c (к на ц), заміна і на o (і на о), подвоєння букви C (ч). Синтез всіх словоформ слова gorih: Синтезуючи слова gorih, goriha, gorihu, gorihom, gorisi, gorihy, gorihiv, goriham, gorihamy, gorihah перевірялись правила вставлення апострофа, заміна і на o (і на о), подвоєння букви C (ч). Крім того при синтезі слова gorisi, не використалось також правило заміна s на S (с на ш). Синтез всіх словоформ слова piC: При синтезі слів peCej, peCam, peCamy, peCah правила вставлення апострофа, заміна e на і (е на і), подвоєння букви C (ч) перевірялись, але не виконались. До речі слово peCi також перевірялось на ті самі правила та ще й на правило заміна і на o (і на о), але вони також не виконались. При синтезі слів piC, piCCU не виконались правила вставлення апострофа, заміна і на o (і на о), подвоєння букви C (ч). Хоча можна сказати, що правило подвоєння букви C (ч) при синтезі слова piCCU виконались, оскільки в слові є подвоєння букви ч, і це підходить під наше правило, що ч подвоюється,коли потім стоїть буква Ю. Хоча система видала ще один результат piCC'U, але хоча такого слова не існує, правило також підходить. Синтез всіх словоформ слова loSa: При синтезі loSaty, loSati, loSam, loSata, loSat, loSatam, loSatamy, loSatah слів не виконалось ні одне правило з правил, на які ці слова перевірялися: вставлення апострофа, заміна e на і (е на і) та подвоєння букви C (ч). Синтез всіх словоформ слова letity: Синтезуючи слова letyS, letytB, letymo, letyte, letiv, letila, letilo, letily, letitymu, letitymeS,letityme система перевіряла слова на правила вставлення апострофа, заміна e на і (е на і) та подвоєння букви C (ч). Ці правила не виконались. Хоча слово leCu також перевірялось на ці правила, і також вони не виконались, але незрозуміло те, що, оскільки це слово перевірялось на ще 2 правила, то хоча б одне з правил заміни t на C (т на ч і потім буква у) або заміни t на C (т на ч і потім буква у, е або и) повинно було виконатись. Причина помилки в неправильному поданні правил в файлі ukrainian.yaml. При синтезі слова letity не виконались жодні з перевіряючих правил, вони і не повинні були виконуватись. При синтезі слова letAtB не виконались правила вставлення апострофа, заміна e на і (е на і) та подвоєння букви C (ч), але система, не звертається до словника, тому і видала, що правило вставлення апострофа могло виконатись. Система видала - let' AtB. Синтез всіх словоформ слова svystity: Жодне правило, на які перевіряли слова svystity, svyHu, svystyS, svystytB, svystymo, svystyte, svystAtB, svystiv, svystila, svystilo, svystily, svystitymu, svystitymeS, svystityme не виконалось і система зовсім не могла просинтезувати ці слова. А перевірялись слова на правила: заміна s на S (с на ш), вставлення апострофа, подвоєння букви C (ч). Синтез всіх словоформ слова pysaty: Синтезуючи слова pysaty, pysav, pysala, pysalo, pysaly, pysatymu, pysatymeS, pysatyme система перевіряла правила заміна s на S (с на ш), вставлення апострофа, подвоєння букви C (ч), які не виконалися. Слова pySu, pySutB не перевірялись на правило заміни s на S (с на ш). А слова pySeS, pySe, pySemo, pySete перевірялись ще й на правило заміна e на і (е на і). Синтез всіх словоформ слова tesaty: Синтезуючи слова tesaty, teSu, teSeS, teSe, teSemo, teSete, teSutB, tesav, tesala, tesalo, tesaly, tesatymu, tesatymeS, tesatyme не виконались правила заміна s на S (с на ш), вставлення апострофа, заміна t на C (т на ч і потім буква у), заміна t на C (т на ч і потім буква у, е або и), заміна e на і (е на і), подвоєння букви C (ч), на які перевірялись ці слова. Не виконується правило заміни s на S (с на ш), тому що помилка в файлі ukrainian.yaml. Синтез всіх словоформ слова іоріаіу: При синтезі іоріаіу, іоріау, іоріаіа, іоріаіо, іоріаіу, іоріаіуши, 1оріа1уше8, іоріаіуше перевірялись такі 2 правила: вставлення апострофа, подвоєння букви С (ч). Жодне з них не виконалось, оскільки ці слова не потребують жодних правил. Такі слова як іорСи, 1орСе8, іорСе, іорСешо, іорСеіе, перевірялись ще й на правило заміна е на і (е на і). Воно також не виконалось, але чому не виконались правила заміни і на С (т на ч і потім буква у) та заміни і на С (т на ч і потім буква у, е або и) для цих слів і для слова ІорСиВ, тому що неправильно написані правила. Синтез всіх словоформ слова гассіїу: Система перевіряла слова гассіїу, гасИІІ, гасНЕ8, гасИЕ, гассіЕшо, гасИЕіе, гасИШВ, гасИу, гасШа, гасШо, гасШу, гасШуши, гассИуше8, гассіїуше на такі правила: вставлення апострофа, заміна і на о (і на о), подвоєння букви С (ч), що не виконались. Слова гассИуше8, гасШуше перевірялись ше й на правило заміна е на і (е на і), яке також не виконалось. Слова гасИІІ, гасИЕ8, гасИЕ, гасИЕшо, гасИЕІе, гасИШВ коли перевірялись на правила вставлення апострофа, а слова гасИІІ, гасИШВ ще й на правило подвоєння букви С (ч), система видала нові результати. Знов цю похибку, яка вже зустрічалась під час синтезу різних словоформ, що підходять під ці правила. Ось ці слова - гасНСШ, гасИ'ІІ, гасИ'Е8, гасИ'Е, гасИ'Ешо, гасі'Еіе, гасі'ШіВ, гасНСШВ. Синтез всіх словоформ слова Ьуіу: Система перевіряла слова Ьуіу, Ь'Ш, Ь'Е8 , Ь'Е, Ь'Ешо, Ь'Еіе, Ь'ШіВ, Ьуу, Ьуіа, Ьуіо, Ьуіу, Ьуіуши, Ьуіуше8, Ьуіуше, на такі правила: вставлення апострофа, заміна і на С (т на ч і потім буква у), заміна і на С (т на ч і потім буква у, е або и), подвоєння букви С (ч), що не виконались. Слова bytymeS, bytyme перевірялись ше й на правило заміна e на і (е на і), яке також не виконалось. Слова b'U, b'ES , b'E, b'Emo, b'Ete, b'UtB коли перевірялись на правила вставлення апострофа, а слова b'U, b'UtB ще й на правило подвоєння букви C (ч), система видала нові результати. Правило виконалось, але знов була невелика похибка. Ось ці слова - b''U, b'CU, b''ES , b''E, b''Emo, b''Ete, b''UtB, b'CUtB. Синтез всіх словоформ слова smaZyty: Жодне правило, на які перевіряли слова smaZyty, smaZu, smaZyS, smaZutB, smaZymo, smaZyte, smaZatB, smaZyv, smaZyla, smaZylo, smaZyly, smaZytymu, smaZytymeS, smaZytyme не виконалось і система зовсім не могла просинтезувати ці слова. А перевірялись слова на правила: заміна s на S (с на ш), вставлення апострофа, подвоєння букви C (ч). Синтез всіх словоформ слова druZyty: Всі слова були розпізнані синтезатором. Слова druZyty, druZu, druZyS, druZytB, druZymo, druZyte, druZatB, druZyv, druZyla, druZylo, druZyly, druZytymu, druZytymeS, druZytyme система перевіряла на правила: вставлення апострофа, подвоєння букви C (ч). Крім того слова такі як druZytymeS, druZytyme перевірялись також на правило заміни e на і (е на і). Зробивши синтез всіх потрібних нам словоформ, можна зробити висновок, що проблеми з використанням правил, які записані в файлі ukrainian.yaml виникли тому, що при написанні правил і тому при створенні самого файлу були допущені помилки. Перелік правил необхідний для реалізації морфологічного аналізатора з врахуванням слів з індивідуального завдання.  Правила, записані згідно вимог програми КЄЕК та згенеровані стани скінченного перетворювача.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!