Етап №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_l...