diff --git a/CMakeLists.txt b/CMakeLists.txt index 2313587..2cb253f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,7 +36,7 @@ if ("${INPUT_DICTIONARIES}" STREQUAL "") if ("${EMPTY_INPUT_DICTIONARY}" STREQUAL "TRUE") set (INPUT_DICTIONARIES ${PROJECT_SOURCE_DIR}/input/empty.txt) else () - set (INPUT_DICTIONARIES "${PROJECT_SOURCE_DIR}/input/sgjp-hom.tab,${PROJECT_SOURCE_DIR}/input/dodatki.tab") + set (INPUT_DICTIONARIES "${PROJECT_SOURCE_DIR}/input/PoliMorfSmall.tab,${PROJECT_SOURCE_DIR}/input/dodatki.tab") endif () endif () diff --git a/fsabuilder/morfeuszbuilder/fsa/fsa.py b/fsabuilder/morfeuszbuilder/fsa/fsa.py index c0f234b..76dbaf2 100644 --- a/fsabuilder/morfeuszbuilder/fsa/fsa.py +++ b/fsabuilder/morfeuszbuilder/fsa/fsa.py @@ -41,7 +41,7 @@ class FSA(object): self.n += 1 # debug - if self.n % 100000 == 0: + if self.n == 1 or self.n % 10000 == 0: logging.info(u'%d %s' % (self.n, word)) # logging.info(str(self.register.getStatesNum())) # allWords.append(word) diff --git a/input/PoliMorfSmall.tab b/input/PoliMorfSmall.tab index 5eec35b..43de8a1 100644 --- a/input/PoliMorfSmall.tab +++ b/input/PoliMorfSmall.tab @@ -707,3 +707,5 @@ dwu dwa num:comp dwu dwa num:pl:gen.dat.loc:m1.m2.m3.n2.f:congr dwu dwa num:pl:inst:m1.m2.m3.n2:congr dwu dwa num:pl:nom.acc.voc:m1:rec +bliżsi bliski adj:pl:nom.voc:m1.p1:com +najbliżsi bliski adj:pl:nom.voc:m1.p1:sup diff --git a/input/dodatki.tab b/input/dodatki.tab index ed7d83f..d9f8827 100644 --- a/input/dodatki.tab +++ b/input/dodatki.tab @@ -8,19 +8,50 @@ 7 7 dig 8 8 dig 9 9 dig +I I romandig +V V romandig +X X romandig +C C romandig +M M romandig +pół pół num:comp ń on ppron3:sg:gen.acc:m1.m2.m3:ter:nakc:praep by by qub naj naj nie nie się się qub +wolnoć wolnoć pred - - interp +– – interp +— — interp . . interp , , interp ( ( interp ) ) interp +[ [ interp +] ] interp " " interp „ „ interp ” ” interp +‹ ‹ interp +› › interp +« « interp +» » interp +: : interp +! ! interp +? ? interp +; ; interp +… … interp +* * interp +§ § interp +% % interp +:-) :-) emoticon +:) :) emoticon +;-) ;-) emoticon +;) ;) emoticon +:-)) :-)) emoticon +:)) :)) emoticon +;-)) ;-)) emoticon +;)) ;)) emoticon to to pred a A brev:pun b B brev:pun @@ -219,4 +250,141 @@ energo energo prefa para para prefa para para prefs ś ś prefv -wg wg brev:npun +wibro wibro prefa +wibro wibro prefs +izo izo prefa +izo izo prefs +anarcho anarcho prefs +anarcho anarcho prefa +antropo antropo prefs +antropo antropo prefa +łże łże prefs +łże łże prefa +wewnątrz wewnątrz prefa +niedo niedo prefppas +o +o+ morphconj +kredyto kredyt substa +trawo trawa substa +dupa dupo substa +biorcą +biorca subst:sg:inst:m1 pospolita +biorce +biorca depr:pl:nom:m2 pospolita +biorce +biorca depr:pl:voc:m2 pospolita +biorcę +biorca subst:sg:acc:m1 pospolita +biorco +biorca subst:sg:voc:m1 pospolita +biorcom +biorca subst:pl:dat:m1 pospolita +biorców +biorca subst:pl:acc:m1 pospolita +biorców +biorca subst:pl:gen:m1 pospolita +biorcy +biorca subst:pl:nom:m1 pospolita +biorcy +biorca subst:pl:voc:m1 pospolita +biorcy +biorca subst:sg:dat:m1 pospolita +biorcy +biorca subst:sg:gen:m1 pospolita +biorcy +biorca subst:sg:loc:m1 pospolita +dawcach +dawca subst:pl:loc:m1 pospolita +dawca +dawca subst:sg:nom:m1 pospolita +dawcami +dawca subst:pl:inst:m1 pospolita +dawcą +dawca subst:sg:inst:m1 pospolita +dawce +dawca depr:pl:nom:m2 pospolita +dawce +dawca depr:pl:voc:m2 pospolita +dawcę +dawca subst:sg:acc:m1 pospolita +dawco +dawca subst:sg:voc:m1 pospolita +dawcom +dawca subst:pl:dat:m1 pospolita +dawców +dawca subst:pl:acc:m1 pospolita +dawców +dawca subst:pl:gen:m1 pospolita +dawcy +dawca subst:pl:nom:m1 pospolita +dawcy +dawca subst:pl:voc:m1 pospolita +dawcy +dawca subst:sg:dat:m1 pospolita +dawcy +dawca subst:sg:gen:m1 pospolita +dawcy +dawca subst:sg:loc:m1 pospolita +żerca +żerca subst:sg:nom:m1 pospolita +żercą +żerca subst:sg:inst:m1 pospolita +żerce +żerca depr:pl:nom:m2 pospolita +żerce +żerca depr:pl:voc:m2 pospolita +żercę +żerca subst:sg:acc:m1 pospolita +żercom +żerca subst:pl:dat:m1 pospolita +żerco +żerca subst:sg:voc:m1 pospolita +żerców +żerca subst:pl:acc:m1 pospolita +żerców +żerca subst:pl:gen:m1 pospolita +żercy +żerca subst:pl:nom:m1 pospolita +żercy +żerca subst:pl:voc:m1 pospolita +żercy +żerca subst:sg:dat:m1 pospolita +żercy +żerca subst:sg:gen:m1 pospolita +żercy +żerca subst:sg:loc:m1 pospolita +znawcach +znawca subst:pl:loc:m1 pospolita +znawcami +znawca subst:pl:inst:m1 pospolita +znawca +znawca subst:sg:nom:m1 pospolita +znawcą +znawca subst:sg:inst:m1 pospolita +znawce +znawca depr:pl:nom:m2 pospolita +znawce +znawca depr:pl:voc:m2 pospolita +znawcę +znawca subst:sg:acc:m1 pospolita +znawcom +znawca subst:pl:dat:m1 pospolita +znawco +znawca subst:sg:voc:m1 pospolita +znawców +znawca subst:pl:acc:m1 pospolita +znawców +znawca subst:pl:gen:m1 pospolita +znawcy +znawca subst:pl:nom:m1 pospolita +znawcy +znawca subst:pl:voc:m1 pospolita +znawcy +znawca subst:sg:dat:m1 pospolita +znawcy +znawca subst:sg:gen:m1 pospolita +znawcy +znawca subst:sg:loc:m1 pospolita +maniacy +maniak subst:pl:nom:m1 pospolita +maniacy +maniak subst:pl:voc:m1 pospolita +maniakach +maniak subst:pl:loc:m1 pospolita +maniaka +maniak subst:sg:acc:m1 pospolita +maniaka +maniak subst:sg:gen:m1 pospolita +maniakami +maniak subst:pl:inst:m1 pospolita +maniakiem +maniak subst:sg:inst:m1 pospolita +maniaki +maniak depr:pl:nom:m2 pospolita +maniaki +maniak depr:pl:voc:m2 pospolita +maniak +maniak subst:sg:nom:m1 pospolita +maniakom +maniak subst:pl:dat:m1 pospolita +maniakowi +maniak subst:sg:dat:m1 pospolita +maniaków +maniak subst:pl:acc:m1 pospolita +maniaków +maniak subst:pl:gen:m1 pospolita +lodzy +log subst:pl:nom:m1 pospolita +lodzy +log subst:pl:voc:m1 pospolita +logach +log subst:pl:loc:m1 pospolita +loga +log subst:sg:acc:m1 pospolita +loga +log subst:sg:gen:m1 pospolita +logami +log subst:pl:inst:m1 pospolita +log +log subst:sg:nom:m1 pospolita +logiem +log subst:sg:inst:m1 pospolita +logi +log depr:pl:nom:m2 pospolita +logi +log depr:pl:voc:m2 pospolita +logom +log subst:pl:dat:m1 pospolita +logowie +log subst:pl:nom:m1 pospolita +logowie +log subst:pl:voc:m1 pospolita +logowi +log subst:sg:dat:m1 pospolita +logów +log subst:pl:acc:m1 pospolita +logów +log subst:pl:gen:m1 pospolita +logu +log subst:sg:loc:m1 pospolita +logu +log subst:sg:voc:m1 pospolita +logiach +logia subst:pl:loc:f pospolita +logia +logia subst:sg:nom:f pospolita +logiami +logia subst:pl:inst:f pospolita +logią +logia subst:sg:inst:f pospolita +logie +logia subst:pl:acc:f pospolita +logie +logia subst:pl:nom:f pospolita +logie +logia subst:pl:voc:f pospolita +logię +logia subst:sg:acc:f pospolita +logii +logia subst:pl:gen:f pospolita +logii +logia subst:sg:dat:f pospolita +logii +logia subst:sg:gen:f pospolita +logii +logia subst:sg:loc:f pospolita +logij +logia subst:pl:gen:f pospolita +logio +logia subst:sg:voc:f pospolita +logiom +logia subst:pl:dat:f pospolita +latek latek subst:sg:nom:m1 pospolita +latkach latek subst:pl:loc:m1 pospolita +latka latek subst:sg:acc:m1 pospolita +latka latek subst:sg:gen:m1 pospolita +latkami latek subst:pl:inst:m1 pospolita +latki latek depr:pl:nom:m2 pospolita +latki latek depr:pl:voc:m2 pospolita +latkiem latek subst:sg:inst:m1 pospolita +latkom latek subst:pl:dat:m1 pospolita +latkowi latek subst:sg:dat:m1 pospolita +latkowie latek subst:pl:nom:m1 pospolita +latkowie latek subst:pl:voc:m1 pospolita +latków latek subst:pl:acc:m1 pospolita +latków latek subst:pl:gen:m1 pospolita +latku latek subst:sg:loc:m1 pospolita +latku latek subst:sg:voc:m1 pospolita diff --git a/input/polimorf.tagset b/input/polimorf.tagset index 2158549..64615e4 100644 --- a/input/polimorf.tagset +++ b/input/polimorf.tagset @@ -696,6 +696,11 @@ 691 winien:sg:n1.n2:pri:imperf 692 winien:sg:n1.n2:sec:imperf 693 winien:sg:n1.n2:ter:imperf +694 prefppas +695 substa +696 morphconj +697 romandig +698 emoticon [NAMES] 0 diff --git a/input/segmenty.dat b/input/segmenty.dat index 9505803..28eba5b 100644 --- a/input/segmenty.dat +++ b/input/segmenty.dat @@ -3,7 +3,6 @@ aggl=permissive strict isolated praet=split composite [combinations] - #define wsz_interp (interp|kropka|dywiz)* #define moze_interp(segmenty) wsz_interp segmenty wsz_interp @@ -20,7 +19,7 @@ samotny # przeszlik pojedynczy w formie nieaglutynacyjnej, np. „gniótł”: moze_interp(praet_sg_na) -# przeszlik pojedynczy w formie niezróżnicowanej aglutynacyjnie, np. „czytał”: +# przeszlik pojedynczy w formie niezróżnicowanej aglutynacyjnie, np. „moze”: moze_interp(praet_sg) # przeszlik mnogi, np. „czytali”: @@ -32,14 +31,19 @@ moze_interp(by) # inne segmenty, które dopuszczają po sobie aglutynant, # np. „powininna”, „czyżby”: moze_interp(z_aglt) +moze_interp(z_aglt_by) # forma przymiotnikowa (dopuszcza adja): moze_interp(adj) -# dywiz (jako samodzielny segment jest tyko błędnym użyciem w funkcji +# dywiz (jako samodzielny segment jest tylko błędnym użyciem w funkcji # myślnika, ale trzeba to dopuścić): dywiz +# pauza i półpauza w funkcji myślnika +pauza +polpauza + #ifdef isolated adja #endif @@ -70,7 +74,7 @@ moze_interp(praet_sg by aglsg) # np. „gnietli·by·śmy” moze_interp(praet_pl by aglpl) #else -#moze_interp(praetcond) +# moze_interp(praetcond) #endif # np. „by·ś” moze_interp(by aglsg) @@ -79,8 +83,13 @@ moze_interp(by aglpl) # np. „gdyby·m” moze_interp(z_aglt aglsg) +moze_interp(z_aglt_by aglsg) # np. „gdyby·ście” moze_interp(z_aglt aglpl) +moze_interp(z_aglt_by aglpl) +# oraz wersje z by, np. chybabym +moze_interp(z_aglt by aglsg) +moze_interp(z_aglt by aglpl) # To jest dużo za dużo, ale tytułem eksperymentu: #ifdef permissive @@ -98,14 +107,14 @@ moze_interp( (adja dywiz)+ adj ) # adja dywiz adja dywiz adja dywiz adj interp? # adja dywiz adja dywiz adja dywiz adja dywiz adj interp? -# Stopień najwyższy: -# np. „naj·zieleńszy”, „naj·mądrzej” -moze_interp( naj> adj_sup ) -moze_interp( nie> naj> adj_sup ) !weak +# Formy zanegowane stopnia wyższego przymiotników i przysłówków (WK) +# np. „nie·grzeczniejszy”, „nie·grzeczniej” +moze_interp( adj_com ) +moze_interp( nie> adj_com ) # Formy „zanegowane” gerundiów i imiesłowów: # np. „nie·czytanie”, „nie·przeczytany”, „nie·czytający”: -moze_interp( nie > negat ) +moze_interp( nie> negat ) # Przyimki akceptujące krótką formę „-ń” moze_interp(z_on_agl) @@ -113,19 +122,34 @@ moze_interp(z_on_agl) moze_interp(z_on_agl on_agl) # Liczba zapisana jako ciąg cyfr: -moze_interp( dig>* dig ) !weak +moze_interp( dig>* dig ) + +# Liczba rzymska zapisana jako ciąg cyfr rzymskich: +# (kiepskie, trzeba poprawić wyrażeniem regularnym) +moze_interp( roman>* roman ) # Formacje prefiksalne #### trzeba wydzielić odpowiednie samodze! -# rzeczownikowe i przymiotnikowe -# np. „euro·sodoma”, „e-·papieros”, „euro·sodomski”, „bez·argumentowy” -moze_interp( prefs> samodz ) +# rzeczownikowe +# np. „euro·sodoma”, „e-·papieros” +moze_interp(nomina) +moze_interp( prefs> nomina ) !weak # czasownikowe np. „po·nakapywać” -moze_interp( prefv> samodz ) +moze_interp(inf_imperf|praet_imperf|imps_imperf|fin_imperf|impt_sg_imperf|impt_pl_imperf|impt_sg_perf|impt_pl_perf) +moze_interp( prefv> (inf_imperf|praet_imperf|imps_imperf|fin_imperf|impt_sg_imperf|impt_pl_imperf) ) !weak +# przymiotnikowe np. „do·żylny”, „euro·sodomski”, „bez·argumentowy” +moze_interp(ppas|adv_pos|pact) +# moze_interp(prefa> adj) +moze_interp( prefa> ( adj|adv_pos|pact|ppas ) ) !weak +moze_interp( prefppas> ppas ) !weak # Apozycje z dywizem # np. „kobieta-prezydent” -moze_interp( samodz dywiz samodz ) +moze_interp( nomina (dywiz) nomina ) + +# Zakresy liczbowe, daty, np. 1911-1939. +moze_interp((dig>* dig) dywiz (dig>* dig)) + # poniższe do sprawdzenia, najwyraźniej obecne w tekstach, skoro wprowadziliśmy: # ? adj dywiz adj @@ -134,13 +158,92 @@ adj dywiz samodz # ? samodz dywiz adj +#### PONIŻEJ REGUŁY WK +# Stopień najwyższy: +# np. „naj·zieleńszy”, „naj·mądrzej” +moze_interp( naj> adj_sup ) +# Cząstka li przy osobowych formach czasownika oddzielona dywizem: znasz-li ten kraj +moze_interp( praet_sg dywiz li) +moze_interp( praet_sg aglsg dywiz li) +moze_interp( praet_pl dywiz li) +moze_interp( praet_pl aglpl dywiz li) +moze_interp( praet_sg_na dywiz li) +moze_interp( fin_perf) +moze_interp( fin_imperf) +moze_interp( (fin_perf|fin_imperf) dywiz li) + +# i bez dywizu --- czy bez dywizu jest sens łapać? +#moze_interp( praet_sg li) +#moze_interp( praet_pl li) +#moze_interp( praet_sg_na li) +#moze_interp( (fin_perf|fin_imperf) li) + +# reguła z partykułą ‹+że› przy trybie rozkazującym +# zakończonym na spółgłoskę +moze_interp(impt_sg_imperf ze) +moze_interp(impt_sg_perf ze) +# dodatkowo reguła dla part+że (niemalże, omalże, nieomalże): +# moze_interp(part_z_ze ze) --- już niepotrzebne, part. wpisane do słownika +# potrzebna jeszcze reguła dla ‹onże› +# i dla ‹+ż› przy zakończonym na samogłoskę +moze_interp(impt_pl_imperf z) +moze_interp(impt_pl_perf z) + +# aglutynant przy przymiotniku --- obsługiwane wyżej w wersji permissive +# moze_interp( adj aglsg ) +moze_interp( adj aglpl ) + +# forma złoż. liczebnika + przymiotnik, np. wieloaspektowy, pięciomasztowy +# dwudziestopięcioipółletni +moze_interp( i ) +moze_interp( pol_zloz > adj ) !weak +moze_interp( num_zloz>+ adj ) !weak +moze_interp( num_zloz>+ i> pol_zloz> adj ) !weak +# moze_interp(num_zloz+ (i pol_zloz)? adj) + +# półdolarówka, półsiostra +moze_interp( ( pol_zloz>|num_zloz> ) nomina ) !weak +# nie analizuje: dwudziestopięcioipółlatek --- powinien? +# moze_interp( num_zloz nomina ) +# czy dodać sufiksy: +latek m1, +latek m2, +latka f ? Chyba nie trzeba + +# wykluczenie ze złożeń przymiotników: ten, ów, ki, si. +moze_interp(adj_anty_zloz) + +# złożenia adja+adj/adv bez dywizu, np. średniopienny, sierściowłosy +moze_interp(adja>+ adj) !weak + +# złożenia konkretnych przyimków z formą -ń rzeczownika on: +moze_interp(prep_n) +moze_interp(prep_n n) + +# REGUŁY EKSPERYMENTALNE +# formy złoż. rzeczowników i sufiksy +moze_interp( substa> sufs ) !weak + +# złożenia imiesłowów przymiotnikowych czynnych; +# z braku form złoż. korzysta się z imiesłowów przysłówkowych + o +moze_interp(pcon) +# moze_interp( (pcon> morphconj dywiz)+ pact ) + +# liczba arabska formą przymiotnikową, przysłówkową lub rzeczownikową: 22-letni, 20-latek, +# 1-majowy, 3-krotnie +moze_interp( dig>+ dywiz> (adj|adv_pos|nomina) ) + +# liczba rzymska z formą przymiotnikową: XIX-wieczny +moze_interp( roman>+ dywiz> adj ) + +# formy złoż. z sufiksem +latek: +moze_interp( num_zloz>+ latek ) !weak +moze_interp(num_zloz>+ i> pol_zloz> latek ) !weak + +# złożenia liczbowe z sufiksem +latek, np. 20-latek: +moze_interp( dig>+ dywiz> latek ) + +# interpretacja znaków interpunkcyjnych +# moze_interp(samodz interp) + [generator combinations] -adja -adj -adj_sup -samodz -prefs> samodz -prefv> samodz [segment types] naj @@ -148,12 +251,35 @@ nie prefs prefv prefa +prefppas +ppas +pcon +morphconj +li +substa +sufs +latek +dywiz +pauza +polpauza +kropka +adj_anty_zloz +adj_com +fin_perf +fin_imperf +nomina +adv_pos +pact +inf_imperf +praet_imperf +imps_imperf +ze +z dig +roman adja adj adj_sup -adj_com -fin negat on_agl z_on_agl @@ -161,31 +287,45 @@ samotny interp aglsg aglpl +z_aglt +z_aglt_by +by praetcond praet_sg_agl praet_sg_na praet_sg praet_pl -z_aglt -by -li -nomina -adjectiva -verba_imperf -dywiz -kropka +impt_sg_perf +impt_sg_imperf +impt_pl_perf +impt_pl_imperf +pol_zloz +num_zloz +i +n +prep_n +emoticon +killfile samodz + [tags] naj naj nie nie prefs prefs prefv prefv +prefa prefa +prefppas prefppas dig dig +roman romandig adja adja +substa substa adj adj:%:pos adj_sup adj:%:sup adj_sup adv:sup +adj_com adj:%:com +adj_com adj:%:com +pcon pcon:imperf negat ger:%:neg negat pact:%:neg negat ppas:%:neg @@ -193,43 +333,110 @@ on_agl ppron3:sg:gen.acc:m1.m2.m3:ter:nakc:praep z_on_agl prep:% samotny brev:pun samotny brev:npun -samotny interj +# samotny interj +samotny emoticon interp interp aglsg aglt:sg:% aglpl aglt:pl:% -#praetcond cond:% -#praetcond praet:%:pri:% -#praetcond praet:%:sec:% -#praetcond praet:%:ter:% praet_sg_agl praet:sg:%:agl praet_sg_na praet:sg:%:nagl praet_sg praet:sg:% praet_pl praet:pl:% praet_sg winien:sg:% praet_pl winien:pl:% +fin_perf fin:%:perf +fin_imperf fin:%:imperf +nomina subst:% +nomina ger:% +nomina depr:% +adv_pos adv:pos +ppas ppas:% +pact pact:% +praet_imperf praet:%:imperf +inf_imperf inf:imperf +imps_imperf imps:imperf +impt_sg_imperf impt:sg:%:imperf +impt_sg_perf impt:sg:%:perf +impt_pl_imperf impt:pl:%:imperf +impt_pl_perf impt:pl:%:perf +num_zloz num:comp +prep_n prep:%:wok samodz % [lexemes] +pol_zloz pół:num:comp +i i:conj +by by:qub +li li:qub +ze +że:qub +z +ż:qub +killfile +ć:qub z_aglt aby:comp z_aglt bowiem:comp -by by:qub z_aglt by:comp z_aglt cóż:subst z_aglt czemu:adv -z_aglt czyżby:qub -z_aglt choćby:comp -z_aglt chociażby:comp +z_aglt_by czyżby:qub +z_aglt_by choćby:comp +z_aglt_by chociażby:comp z_aglt dlaczego:adv z_aglt dopóki:comp z_aglt dopóty:conj -z_aglt gdyby:comp +z_aglt_by gdyby:comp z_aglt gdzie:qub z_aglt gdzie:adv -z_aglt jakby:comp -z_aglt jakoby:comp +z_aglt_by jakby:comp +z_aglt_by jakoby:comp z_aglt kiedy:adv z_aglt kiedy:comp z_aglt tylko:qub z_aglt żeby:comp +z_aglt to:conj +z_aglt chyba:qub +z_aglt że:qub +z_aglt czy:conj +z_aglt_by oby:qub +z_aglt_by bodajby:qub +z_aglt co:comp dywiz -:interp +pauza —:interp +polpauza –:interp kropka .:interp +n on:ppron3:sg:gen.acc:m1.m2.m3:ter:nakc:praep +adj_anty_zloz ten:adj:% +adj_anty_zloz tenże:adj:% +adj_anty_zloz ck:adj:% +adj_anty_zloz c.k.:adj:% +adj_anty_zloz ki:adj:% +adj_anty_zloz si:adj:% +adj_anty_zloz ow:adj:% +adj_anty_zloz ów:adj:% +adj_anty_zloz ówże:adj:% +adj_anty_zloz mój:adj:% +adj_anty_zloz a-z:adj:% +adj_anty_zloz a-ż:adj:% +adj_anty_zloz kiż:adj:% +adj_anty_zloz be:adj:% +adj_anty_zloz caca:adj:% +adj_anty_zloz czyj:adj:% +adj_anty_zloz oboj:adj:% +adj_anty_zloz on:adj:% +adj_anty_zloz tyli:adj:% +prep_n do:prep:% +prep_n dla:prep:% +prep_n koło:prep:% +prep_n na:prep:% +prep_n o:prep:% +prep_n po:prep:% +prep_n poza:prep:% +prep_n spoza:prep:% +prep_n za:prep:% +prep_n zza:prep:% +morphconj +o+:morphconj +# adj_anty_zloz pop:adj:% +sufs +znawca:subst:% +sufs +dawca:subst:% +sufs +biorca:subst:% +sufs +żerca:subst:% +sufs +maniak:subst:% +latek latek:subst:% diff --git a/morfeusz/morfeusz.i b/morfeusz/morfeusz.i index 465d00c..07f02bc 100644 --- a/morfeusz/morfeusz.i +++ b/morfeusz/morfeusz.i @@ -5,7 +5,7 @@ #ifdef SWIGJAVA %module MorfeuszWrapper #else -%module morfeusz +%module morfeusz2 #endif %feature("autodoc", "2"); @@ -66,22 +66,22 @@ namespace std { def analyze(self, text): res = InterpsVector() - _morfeusz.Morfeusz_analyze(self, text, res) + _morfeusz2.Morfeusz_analyze(self, text, res) return list(res) Morfeusz.analyze = analyze def getOrth(self): - return _morfeusz.MorphInterpretation_getOrth(self).decode('utf8') + return _morfeusz2.MorphInterpretation_getOrth(self).decode('utf8') def getLemma(self): - return _morfeusz.MorphInterpretation_getLemma(self).decode('utf8') + return _morfeusz2.MorphInterpretation_getLemma(self).decode('utf8') def getTag(self): - return _morfeusz.MorphInterpretation_getTag(self).decode('utf8') + return _morfeusz2.MorphInterpretation_getTag(self).decode('utf8') def getName(self): - return _morfeusz.MorphInterpretation_getName(self).decode('utf8') + return _morfeusz2.MorphInterpretation_getName(self).decode('utf8') MorphInterpretation.getOrth = getOrth MorphInterpretation.getLemma = getLemma diff --git a/morfeusz/python/CMakeLists.txt b/morfeusz/python/CMakeLists.txt index d31c2ac..24de5ba 100644 --- a/morfeusz/python/CMakeLists.txt +++ b/morfeusz/python/CMakeLists.txt @@ -12,16 +12,15 @@ INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_PATH}) INCLUDE_DIRECTORIES (..) set (SWIG_PYTHON_OUTFILE swigPYTHON.cpp) -# set (JAVA_WRAPPER_FILE ${CMAKE_SHARED_LIBRARY_PREFIX}morfeusz${CMAKE_SHARED_LIBRARY_SUFFIX}) add_custom_command ( - OUTPUT ${SWIG_PYTHON_OUTFILE} morfeusz.py + OUTPUT ${SWIG_PYTHON_OUTFILE} morfeusz2.py COMMAND swig -python -c++ -o ${SWIG_PYTHON_OUTFILE} ${CMAKE_SOURCE_DIR}/morfeusz/morfeusz.i DEPENDS libmorfeusz ) set (SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in") set (SETUP_PY "${CMAKE_CURRENT_BINARY_DIR}/setup.py") -set (DEPS "${CMAKE_CURRENT_BINARY_DIR}/morfeusz.py" "${SWIG_PYTHON_OUTFILE}") +set (DEPS "${CMAKE_CURRENT_BINARY_DIR}/morfeusz2.py" "${SWIG_PYTHON_OUTFILE}") set (OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/build") configure_file (${SETUP_PY_IN} ${SETUP_PY}) @@ -51,11 +50,11 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") ) add_custom_target (package-python-deb-build COMMAND debuild -us -uc - WORKING_DIRECTORY deb_dist/pymorfeusz-${PYMORFEUSZ_VERSION} + WORKING_DIRECTORY deb_dist/morfeusz2-${PYMORFEUSZ_VERSION} DEPENDS package-python-deb-sdist ) add_custom_target(package-python-deb - COMMAND mkdir -p "${TARGET_DIR}" && cp ${CMAKE_CURRENT_BINARY_DIR}/deb_dist/python-pymorfeusz*.deb "${TARGET_DIR}" + COMMAND mkdir -p "${TARGET_DIR}" && cp ${CMAKE_CURRENT_BINARY_DIR}/deb_dist/python-morfeusz2*.deb "${TARGET_DIR}" DEPENDS package-python-deb-build ) list (APPEND PACKAGE_DEPENDS package-python-deb) diff --git a/morfeusz/python/setup.py.in b/morfeusz/python/setup.py.in index 3226e85..0c679da 100644 --- a/morfeusz/python/setup.py.in +++ b/morfeusz/python/setup.py.in @@ -1,14 +1,14 @@ # -*- coding: utf-8 -*- from setuptools import setup, Extension -morfeusz2 = Extension('_morfeusz', +morfeusz2 = Extension('_morfeusz2', libraries=['morfeusz2'], library_dirs=['${CMAKE_CURRENT_BINARY_DIR}/..'], include_dirs=['${CMAKE_CURRENT_SOURCE_DIR}/..'], sources=['${CMAKE_CURRENT_BINARY_DIR}/${SWIG_PYTHON_OUTFILE}']) if __name__ == '__main__': - setup(name='pymorfeusz', + setup(name='morfeusz2', author='${CPACK_PACKAGE_VENDOR}', author_email='${CPACK_PACKAGE_CONTACT}', description='Python bindings for Morfeusz',