Commit bbe81abc0d41162b7139c08518ab38c70c246d17

Authored by Michał Lenart
1 parent 36a8a252

dodanie opcji "debug" + małe porządki

git-svn-id: svn://svn.nlp.ipipan.waw.pl/morfeusz/morfeusz@141 ff4e3ee1-f430-4e82-ade0-24591c43f1fd
CMakeLists.txt
... ... @@ -36,7 +36,7 @@ if ("${INPUT_DICTIONARIES}" STREQUAL "")
36 36 if ("${EMPTY_INPUT_DICTIONARY}" STREQUAL "TRUE")
37 37 set (INPUT_DICTIONARIES ${PROJECT_SOURCE_DIR}/input/empty.txt)
38 38 else ()
39   - set (INPUT_DICTIONARIES "${PROJECT_SOURCE_DIR}/input/sgjp-hom.tab,${PROJECT_SOURCE_DIR}/input/dodatki.tab")
  39 + set (INPUT_DICTIONARIES "${PROJECT_SOURCE_DIR}/input/PoliMorfSmall.tab,${PROJECT_SOURCE_DIR}/input/dodatki.tab")
40 40 endif ()
41 41 endif ()
42 42  
... ...
fsabuilder/morfeuszbuilder/fsa/fsa.py
... ... @@ -41,7 +41,7 @@ class FSA(object):
41 41 self.n += 1
42 42  
43 43 # debug
44   - if self.n % 100000 == 0:
  44 + if self.n == 1 or self.n % 10000 == 0:
45 45 logging.info(u'%d %s' % (self.n, word))
46 46 # logging.info(str(self.register.getStatesNum()))
47 47 # allWords.append(word)
... ...
input/PoliMorfSmall.tab
... ... @@ -707,3 +707,5 @@ dwu dwa num:comp
707 707 dwu dwa num:pl:gen.dat.loc:m1.m2.m3.n2.f:congr
708 708 dwu dwa num:pl:inst:m1.m2.m3.n2:congr
709 709 dwu dwa num:pl:nom.acc.voc:m1:rec
  710 +bliżsi bliski adj:pl:nom.voc:m1.p1:com
  711 +najbliżsi bliski adj:pl:nom.voc:m1.p1:sup
... ...
input/dodatki.tab
... ... @@ -8,19 +8,50 @@
8 8 7 7 dig
9 9 8 8 dig
10 10 9 9 dig
  11 +I I romandig
  12 +V V romandig
  13 +X X romandig
  14 +C C romandig
  15 +M M romandig
  16 +pół pół num:comp
11 17 ń on ppron3:sg:gen.acc:m1.m2.m3:ter:nakc:praep
12 18 by by qub
13 19 naj naj
14 20 nie nie
15 21 się się qub
  22 +wolnoć wolnoć pred
16 23 - - interp
  24 +– – interp
  25 +— — interp
17 26 . . interp
18 27 , , interp
19 28 ( ( interp
20 29 ) ) interp
  30 +[ [ interp
  31 +] ] interp
21 32 " " interp
22 33 „ „ interp
23 34 ” ” interp
  35 +‹ ‹ interp
  36 +› › interp
  37 +« « interp
  38 +» » interp
  39 +: : interp
  40 +! ! interp
  41 +? ? interp
  42 +; ; interp
  43 +… … interp
  44 +* * interp
  45 +§ § interp
  46 +% % interp
  47 +:-) :-) emoticon
  48 +:) :) emoticon
  49 +;-) ;-) emoticon
  50 +;) ;) emoticon
  51 +:-)) :-)) emoticon
  52 +:)) :)) emoticon
  53 +;-)) ;-)) emoticon
  54 +;)) ;)) emoticon
24 55 to to pred
25 56 a A brev:pun
26 57 b B brev:pun
... ... @@ -219,4 +250,141 @@ energo energo prefa
219 250 para para prefa
220 251 para para prefs
221 252 ś ś prefv
222   -wg wg brev:npun
  253 +wibro wibro prefa
  254 +wibro wibro prefs
  255 +izo izo prefa
  256 +izo izo prefs
  257 +anarcho anarcho prefs
  258 +anarcho anarcho prefa
  259 +antropo antropo prefs
  260 +antropo antropo prefa
  261 +łże łże prefs
  262 +łże łże prefa
  263 +wewnątrz wewnątrz prefa
  264 +niedo niedo prefppas
  265 +o +o+ morphconj
  266 +kredyto kredyt substa
  267 +trawo trawa substa
  268 +dupa dupo substa
  269 +biorcą +biorca subst:sg:inst:m1 pospolita
  270 +biorce +biorca depr:pl:nom:m2 pospolita
  271 +biorce +biorca depr:pl:voc:m2 pospolita
  272 +biorcę +biorca subst:sg:acc:m1 pospolita
  273 +biorco +biorca subst:sg:voc:m1 pospolita
  274 +biorcom +biorca subst:pl:dat:m1 pospolita
  275 +biorców +biorca subst:pl:acc:m1 pospolita
  276 +biorców +biorca subst:pl:gen:m1 pospolita
  277 +biorcy +biorca subst:pl:nom:m1 pospolita
  278 +biorcy +biorca subst:pl:voc:m1 pospolita
  279 +biorcy +biorca subst:sg:dat:m1 pospolita
  280 +biorcy +biorca subst:sg:gen:m1 pospolita
  281 +biorcy +biorca subst:sg:loc:m1 pospolita
  282 +dawcach +dawca subst:pl:loc:m1 pospolita
  283 +dawca +dawca subst:sg:nom:m1 pospolita
  284 +dawcami +dawca subst:pl:inst:m1 pospolita
  285 +dawcą +dawca subst:sg:inst:m1 pospolita
  286 +dawce +dawca depr:pl:nom:m2 pospolita
  287 +dawce +dawca depr:pl:voc:m2 pospolita
  288 +dawcę +dawca subst:sg:acc:m1 pospolita
  289 +dawco +dawca subst:sg:voc:m1 pospolita
  290 +dawcom +dawca subst:pl:dat:m1 pospolita
  291 +dawców +dawca subst:pl:acc:m1 pospolita
  292 +dawców +dawca subst:pl:gen:m1 pospolita
  293 +dawcy +dawca subst:pl:nom:m1 pospolita
  294 +dawcy +dawca subst:pl:voc:m1 pospolita
  295 +dawcy +dawca subst:sg:dat:m1 pospolita
  296 +dawcy +dawca subst:sg:gen:m1 pospolita
  297 +dawcy +dawca subst:sg:loc:m1 pospolita
  298 +żerca +żerca subst:sg:nom:m1 pospolita
  299 +żercą +żerca subst:sg:inst:m1 pospolita
  300 +żerce +żerca depr:pl:nom:m2 pospolita
  301 +żerce +żerca depr:pl:voc:m2 pospolita
  302 +żercę +żerca subst:sg:acc:m1 pospolita
  303 +żercom +żerca subst:pl:dat:m1 pospolita
  304 +żerco +żerca subst:sg:voc:m1 pospolita
  305 +żerców +żerca subst:pl:acc:m1 pospolita
  306 +żerców +żerca subst:pl:gen:m1 pospolita
  307 +żercy +żerca subst:pl:nom:m1 pospolita
  308 +żercy +żerca subst:pl:voc:m1 pospolita
  309 +żercy +żerca subst:sg:dat:m1 pospolita
  310 +żercy +żerca subst:sg:gen:m1 pospolita
  311 +żercy +żerca subst:sg:loc:m1 pospolita
  312 +znawcach +znawca subst:pl:loc:m1 pospolita
  313 +znawcami +znawca subst:pl:inst:m1 pospolita
  314 +znawca +znawca subst:sg:nom:m1 pospolita
  315 +znawcą +znawca subst:sg:inst:m1 pospolita
  316 +znawce +znawca depr:pl:nom:m2 pospolita
  317 +znawce +znawca depr:pl:voc:m2 pospolita
  318 +znawcę +znawca subst:sg:acc:m1 pospolita
  319 +znawcom +znawca subst:pl:dat:m1 pospolita
  320 +znawco +znawca subst:sg:voc:m1 pospolita
  321 +znawców +znawca subst:pl:acc:m1 pospolita
  322 +znawców +znawca subst:pl:gen:m1 pospolita
  323 +znawcy +znawca subst:pl:nom:m1 pospolita
  324 +znawcy +znawca subst:pl:voc:m1 pospolita
  325 +znawcy +znawca subst:sg:dat:m1 pospolita
  326 +znawcy +znawca subst:sg:gen:m1 pospolita
  327 +znawcy +znawca subst:sg:loc:m1 pospolita
  328 +maniacy +maniak subst:pl:nom:m1 pospolita
  329 +maniacy +maniak subst:pl:voc:m1 pospolita
  330 +maniakach +maniak subst:pl:loc:m1 pospolita
  331 +maniaka +maniak subst:sg:acc:m1 pospolita
  332 +maniaka +maniak subst:sg:gen:m1 pospolita
  333 +maniakami +maniak subst:pl:inst:m1 pospolita
  334 +maniakiem +maniak subst:sg:inst:m1 pospolita
  335 +maniaki +maniak depr:pl:nom:m2 pospolita
  336 +maniaki +maniak depr:pl:voc:m2 pospolita
  337 +maniak +maniak subst:sg:nom:m1 pospolita
  338 +maniakom +maniak subst:pl:dat:m1 pospolita
  339 +maniakowi +maniak subst:sg:dat:m1 pospolita
  340 +maniaków +maniak subst:pl:acc:m1 pospolita
  341 +maniaków +maniak subst:pl:gen:m1 pospolita
  342 +lodzy +log subst:pl:nom:m1 pospolita
  343 +lodzy +log subst:pl:voc:m1 pospolita
  344 +logach +log subst:pl:loc:m1 pospolita
  345 +loga +log subst:sg:acc:m1 pospolita
  346 +loga +log subst:sg:gen:m1 pospolita
  347 +logami +log subst:pl:inst:m1 pospolita
  348 +log +log subst:sg:nom:m1 pospolita
  349 +logiem +log subst:sg:inst:m1 pospolita
  350 +logi +log depr:pl:nom:m2 pospolita
  351 +logi +log depr:pl:voc:m2 pospolita
  352 +logom +log subst:pl:dat:m1 pospolita
  353 +logowie +log subst:pl:nom:m1 pospolita
  354 +logowie +log subst:pl:voc:m1 pospolita
  355 +logowi +log subst:sg:dat:m1 pospolita
  356 +logów +log subst:pl:acc:m1 pospolita
  357 +logów +log subst:pl:gen:m1 pospolita
  358 +logu +log subst:sg:loc:m1 pospolita
  359 +logu +log subst:sg:voc:m1 pospolita
  360 +logiach +logia subst:pl:loc:f pospolita
  361 +logia +logia subst:sg:nom:f pospolita
  362 +logiami +logia subst:pl:inst:f pospolita
  363 +logią +logia subst:sg:inst:f pospolita
  364 +logie +logia subst:pl:acc:f pospolita
  365 +logie +logia subst:pl:nom:f pospolita
  366 +logie +logia subst:pl:voc:f pospolita
  367 +logię +logia subst:sg:acc:f pospolita
  368 +logii +logia subst:pl:gen:f pospolita
  369 +logii +logia subst:sg:dat:f pospolita
  370 +logii +logia subst:sg:gen:f pospolita
  371 +logii +logia subst:sg:loc:f pospolita
  372 +logij +logia subst:pl:gen:f pospolita
  373 +logio +logia subst:sg:voc:f pospolita
  374 +logiom +logia subst:pl:dat:f pospolita
  375 +latek latek subst:sg:nom:m1 pospolita
  376 +latkach latek subst:pl:loc:m1 pospolita
  377 +latka latek subst:sg:acc:m1 pospolita
  378 +latka latek subst:sg:gen:m1 pospolita
  379 +latkami latek subst:pl:inst:m1 pospolita
  380 +latki latek depr:pl:nom:m2 pospolita
  381 +latki latek depr:pl:voc:m2 pospolita
  382 +latkiem latek subst:sg:inst:m1 pospolita
  383 +latkom latek subst:pl:dat:m1 pospolita
  384 +latkowi latek subst:sg:dat:m1 pospolita
  385 +latkowie latek subst:pl:nom:m1 pospolita
  386 +latkowie latek subst:pl:voc:m1 pospolita
  387 +latków latek subst:pl:acc:m1 pospolita
  388 +latków latek subst:pl:gen:m1 pospolita
  389 +latku latek subst:sg:loc:m1 pospolita
  390 +latku latek subst:sg:voc:m1 pospolita
... ...
input/polimorf.tagset
... ... @@ -696,6 +696,11 @@
696 696 691 winien:sg:n1.n2:pri:imperf
697 697 692 winien:sg:n1.n2:sec:imperf
698 698 693 winien:sg:n1.n2:ter:imperf
  699 +694 prefppas
  700 +695 substa
  701 +696 morphconj
  702 +697 romandig
  703 +698 emoticon
699 704  
700 705 [NAMES]
701 706 0
... ...
input/segmenty.dat
... ... @@ -3,7 +3,6 @@ aggl=permissive strict isolated
3 3 praet=split composite
4 4  
5 5 [combinations]
6   -
7 6 #define wsz_interp (interp|kropka|dywiz)*
8 7  
9 8 #define moze_interp(segmenty) wsz_interp segmenty wsz_interp
... ... @@ -20,7 +19,7 @@ samotny
20 19 # przeszlik pojedynczy w formie nieaglutynacyjnej, np. „gniótł”:
21 20 moze_interp(praet_sg_na)
22 21  
23   -# przeszlik pojedynczy w formie niezróżnicowanej aglutynacyjnie, np. „czytał”:
  22 +# przeszlik pojedynczy w formie niezróżnicowanej aglutynacyjnie, np. „moze”:
24 23 moze_interp(praet_sg)
25 24  
26 25 # przeszlik mnogi, np. „czytali”:
... ... @@ -32,14 +31,19 @@ moze_interp(by)
32 31 # inne segmenty, które dopuszczają po sobie aglutynant,
33 32 # np. „powininna”, „czyżby”:
34 33 moze_interp(z_aglt)
  34 +moze_interp(z_aglt_by)
35 35  
36 36 # forma przymiotnikowa (dopuszcza adja):
37 37 moze_interp(adj)
38 38  
39   -# dywiz (jako samodzielny segment jest tyko błędnym użyciem w funkcji
  39 +# dywiz (jako samodzielny segment jest tylko błędnym użyciem w funkcji
40 40 # myślnika, ale trzeba to dopuścić):
41 41 dywiz
42 42  
  43 +# pauza i półpauza w funkcji myślnika
  44 +pauza
  45 +polpauza
  46 +
43 47 #ifdef isolated
44 48 adja
45 49 #endif
... ... @@ -70,7 +74,7 @@ moze_interp(praet_sg by aglsg)
70 74 # np. „gnietli·by·śmy”
71 75 moze_interp(praet_pl by aglpl)
72 76 #else
73   -#moze_interp(praetcond)
  77 +# moze_interp(praetcond)
74 78 #endif
75 79 # np. „by·ś”
76 80 moze_interp(by aglsg)
... ... @@ -79,8 +83,13 @@ moze_interp(by aglpl)
79 83  
80 84 # np. „gdyby·m”
81 85 moze_interp(z_aglt aglsg)
  86 +moze_interp(z_aglt_by aglsg)
82 87 # np. „gdyby·ście”
83 88 moze_interp(z_aglt aglpl)
  89 +moze_interp(z_aglt_by aglpl)
  90 +# oraz wersje z by, np. chybabym
  91 +moze_interp(z_aglt by aglsg)
  92 +moze_interp(z_aglt by aglpl)
84 93  
85 94 # To jest dużo za dużo, ale tytułem eksperymentu:
86 95 #ifdef permissive
... ... @@ -98,14 +107,14 @@ moze_interp( (adja dywiz)+ adj )
98 107 # adja dywiz adja dywiz adja dywiz adj interp?
99 108 # adja dywiz adja dywiz adja dywiz adja dywiz adj interp?
100 109  
101   -# Stopień najwyższy:
102   -# np. „naj·zieleńszy”, „naj·mądrzej”
103   -moze_interp( naj> adj_sup )
104   -moze_interp( nie> naj> adj_sup ) !weak
  110 +# Formy zanegowane stopnia wyższego przymiotników i przysłówków (WK)
  111 +# np. „nie·grzeczniejszy”, „nie·grzeczniej”
  112 +moze_interp( adj_com )
  113 +moze_interp( nie> adj_com )
105 114  
106 115 # Formy „zanegowane” gerundiów i imiesłowów:
107 116 # np. „nie·czytanie”, „nie·przeczytany”, „nie·czytający”:
108   -moze_interp( nie > negat )
  117 +moze_interp( nie> negat )
109 118  
110 119 # Przyimki akceptujące krótką formę „-ń”
111 120 moze_interp(z_on_agl)
... ... @@ -113,19 +122,34 @@ moze_interp(z_on_agl)
113 122 moze_interp(z_on_agl on_agl)
114 123  
115 124 # Liczba zapisana jako ciąg cyfr:
116   -moze_interp( dig>* dig ) !weak
  125 +moze_interp( dig>* dig )
  126 +
  127 +# Liczba rzymska zapisana jako ciąg cyfr rzymskich:
  128 +# (kiepskie, trzeba poprawić wyrażeniem regularnym)
  129 +moze_interp( roman>* roman )
117 130  
118 131 # Formacje prefiksalne
119 132 #### trzeba wydzielić odpowiednie samodze!
120   -# rzeczownikowe i przymiotnikowe
121   -# np. „euro·sodoma”, „e-·papieros”, „euro·sodomski”, „bez·argumentowy”
122   -moze_interp( prefs> samodz )
  133 +# rzeczownikowe
  134 +# np. „euro·sodoma”, „e-·papieros”
  135 +moze_interp(nomina)
  136 +moze_interp( prefs> nomina ) !weak
123 137 # czasownikowe np. „po·nakapywać”
124   -moze_interp( prefv> samodz )
  138 +moze_interp(inf_imperf|praet_imperf|imps_imperf|fin_imperf|impt_sg_imperf|impt_pl_imperf|impt_sg_perf|impt_pl_perf)
  139 +moze_interp( prefv> (inf_imperf|praet_imperf|imps_imperf|fin_imperf|impt_sg_imperf|impt_pl_imperf) ) !weak
  140 +# przymiotnikowe np. „do·żylny”, „euro·sodomski”, „bez·argumentowy”
  141 +moze_interp(ppas|adv_pos|pact)
  142 +# moze_interp(prefa> adj)
  143 +moze_interp( prefa> ( adj|adv_pos|pact|ppas ) ) !weak
  144 +moze_interp( prefppas> ppas ) !weak
125 145  
126 146 # Apozycje z dywizem
127 147 # np. „kobieta-prezydent”
128   -moze_interp( samodz dywiz samodz )
  148 +moze_interp( nomina (dywiz) nomina )
  149 +
  150 +# Zakresy liczbowe, daty, np. 1911-1939.
  151 +moze_interp((dig>* dig) dywiz (dig>* dig))
  152 +
129 153 # poniższe do sprawdzenia, najwyraźniej obecne w tekstach, skoro wprowadziliśmy:
130 154 # ?
131 155 adj dywiz adj
... ... @@ -134,13 +158,92 @@ adj dywiz samodz
134 158 # ?
135 159 samodz dywiz adj
136 160  
  161 +#### PONIŻEJ REGUŁY WK
  162 +# Stopień najwyższy:
  163 +# np. „naj·zieleńszy”, „naj·mądrzej”
  164 +moze_interp( naj> adj_sup )
  165 +# Cząstka li przy osobowych formach czasownika oddzielona dywizem: znasz-li ten kraj
  166 +moze_interp( praet_sg dywiz li)
  167 +moze_interp( praet_sg aglsg dywiz li)
  168 +moze_interp( praet_pl dywiz li)
  169 +moze_interp( praet_pl aglpl dywiz li)
  170 +moze_interp( praet_sg_na dywiz li)
  171 +moze_interp( fin_perf)
  172 +moze_interp( fin_imperf)
  173 +moze_interp( (fin_perf|fin_imperf) dywiz li)
  174 +
  175 +# i bez dywizu --- czy bez dywizu jest sens łapać?
  176 +#moze_interp( praet_sg li)
  177 +#moze_interp( praet_pl li)
  178 +#moze_interp( praet_sg_na li)
  179 +#moze_interp( (fin_perf|fin_imperf) li)
  180 +
  181 +# reguła z partykułą ‹+że› przy trybie rozkazującym
  182 +# zakończonym na spółgłoskę
  183 +moze_interp(impt_sg_imperf ze)
  184 +moze_interp(impt_sg_perf ze)
  185 +# dodatkowo reguła dla part+że (niemalże, omalże, nieomalże):
  186 +# moze_interp(part_z_ze ze) --- już niepotrzebne, part. wpisane do słownika
  187 +# potrzebna jeszcze reguła dla ‹onże›
  188 +# i dla ‹+ż› przy zakończonym na samogłoskę
  189 +moze_interp(impt_pl_imperf z)
  190 +moze_interp(impt_pl_perf z)
  191 +
  192 +# aglutynant przy przymiotniku --- obsługiwane wyżej w wersji permissive
  193 +# moze_interp( adj aglsg )
  194 +moze_interp( adj aglpl )
  195 +
  196 +# forma złoż. liczebnika + przymiotnik, np. wieloaspektowy, pięciomasztowy
  197 +# dwudziestopięcioipółletni
  198 +moze_interp( i )
  199 +moze_interp( pol_zloz > adj ) !weak
  200 +moze_interp( num_zloz>+ adj ) !weak
  201 +moze_interp( num_zloz>+ i> pol_zloz> adj ) !weak
  202 +# moze_interp(num_zloz+ (i pol_zloz)? adj)
  203 +
  204 +# półdolarówka, półsiostra
  205 +moze_interp( ( pol_zloz>|num_zloz> ) nomina ) !weak
  206 +# nie analizuje: dwudziestopięcioipółlatek --- powinien?
  207 +# moze_interp( num_zloz nomina )
  208 +# czy dodać sufiksy: +latek m1, +latek m2, +latka f ? Chyba nie trzeba
  209 +
  210 +# wykluczenie ze złożeń przymiotników: ten, ów, ki, si.
  211 +moze_interp(adj_anty_zloz)
  212 +
  213 +# złożenia adja+adj/adv bez dywizu, np. średniopienny, sierściowłosy
  214 +moze_interp(adja>+ adj) !weak
  215 +
  216 +# złożenia konkretnych przyimków z formą -ń rzeczownika on:
  217 +moze_interp(prep_n)
  218 +moze_interp(prep_n n)
  219 +
  220 +# REGUŁY EKSPERYMENTALNE
  221 +# formy złoż. rzeczowników i sufiksy
  222 +moze_interp( substa> sufs ) !weak
  223 +
  224 +# złożenia imiesłowów przymiotnikowych czynnych;
  225 +# z braku form złoż. korzysta się z imiesłowów przysłówkowych + o
  226 +moze_interp(pcon)
  227 +# moze_interp( (pcon> morphconj dywiz)+ pact )
  228 +
  229 +# liczba arabska formą przymiotnikową, przysłówkową lub rzeczownikową: 22-letni, 20-latek,
  230 +# 1-majowy, 3-krotnie
  231 +moze_interp( dig>+ dywiz> (adj|adv_pos|nomina) )
  232 +
  233 +# liczba rzymska z formą przymiotnikową: XIX-wieczny
  234 +moze_interp( roman>+ dywiz> adj )
  235 +
  236 +# formy złoż. z sufiksem +latek:
  237 +moze_interp( num_zloz>+ latek ) !weak
  238 +moze_interp(num_zloz>+ i> pol_zloz> latek ) !weak
  239 +
  240 +# złożenia liczbowe z sufiksem +latek, np. 20-latek:
  241 +moze_interp( dig>+ dywiz> latek )
  242 +
  243 +# interpretacja znaków interpunkcyjnych
  244 +# moze_interp(samodz interp)
  245 +
137 246 [generator combinations]
138   -adja
139   -adj
140   -adj_sup
141   -samodz
142   -prefs> samodz
143   -prefv> samodz
144 247  
145 248 [segment types]
146 249 naj
... ... @@ -148,12 +251,35 @@ nie
148 251 prefs
149 252 prefv
150 253 prefa
  254 +prefppas
  255 +ppas
  256 +pcon
  257 +morphconj
  258 +li
  259 +substa
  260 +sufs
  261 +latek
  262 +dywiz
  263 +pauza
  264 +polpauza
  265 +kropka
  266 +adj_anty_zloz
  267 +adj_com
  268 +fin_perf
  269 +fin_imperf
  270 +nomina
  271 +adv_pos
  272 +pact
  273 +inf_imperf
  274 +praet_imperf
  275 +imps_imperf
  276 +ze
  277 +z
151 278 dig
  279 +roman
152 280 adja
153 281 adj
154 282 adj_sup
155   -adj_com
156   -fin
157 283 negat
158 284 on_agl
159 285 z_on_agl
... ... @@ -161,31 +287,45 @@ samotny
161 287 interp
162 288 aglsg
163 289 aglpl
  290 +z_aglt
  291 +z_aglt_by
  292 +by
164 293 praetcond
165 294 praet_sg_agl
166 295 praet_sg_na
167 296 praet_sg
168 297 praet_pl
169   -z_aglt
170   -by
171   -li
172   -nomina
173   -adjectiva
174   -verba_imperf
175   -dywiz
176   -kropka
  298 +impt_sg_perf
  299 +impt_sg_imperf
  300 +impt_pl_perf
  301 +impt_pl_imperf
  302 +pol_zloz
  303 +num_zloz
  304 +i
  305 +n
  306 +prep_n
  307 +emoticon
  308 +killfile
177 309 samodz
178 310  
  311 +
179 312 [tags]
180 313 naj naj
181 314 nie nie
182 315 prefs prefs
183 316 prefv prefv
  317 +prefa prefa
  318 +prefppas prefppas
184 319 dig dig
  320 +roman romandig
185 321 adja adja
  322 +substa substa
186 323 adj adj:%:pos
187 324 adj_sup adj:%:sup
188 325 adj_sup adv:sup
  326 +adj_com adj:%:com
  327 +adj_com adj:%:com
  328 +pcon pcon:imperf
189 329 negat ger:%:neg
190 330 negat pact:%:neg
191 331 negat ppas:%:neg
... ... @@ -193,43 +333,110 @@ on_agl ppron3:sg:gen.acc:m1.m2.m3:ter:nakc:praep
193 333 z_on_agl prep:%
194 334 samotny brev:pun
195 335 samotny brev:npun
196   -samotny interj
  336 +# samotny interj
  337 +samotny emoticon
197 338 interp interp
198 339 aglsg aglt:sg:%
199 340 aglpl aglt:pl:%
200   -#praetcond cond:%
201   -#praetcond praet:%:pri:%
202   -#praetcond praet:%:sec:%
203   -#praetcond praet:%:ter:%
204 341 praet_sg_agl praet:sg:%:agl
205 342 praet_sg_na praet:sg:%:nagl
206 343 praet_sg praet:sg:%
207 344 praet_pl praet:pl:%
208 345 praet_sg winien:sg:%
209 346 praet_pl winien:pl:%
  347 +fin_perf fin:%:perf
  348 +fin_imperf fin:%:imperf
  349 +nomina subst:%
  350 +nomina ger:%
  351 +nomina depr:%
  352 +adv_pos adv:pos
  353 +ppas ppas:%
  354 +pact pact:%
  355 +praet_imperf praet:%:imperf
  356 +inf_imperf inf:imperf
  357 +imps_imperf imps:imperf
  358 +impt_sg_imperf impt:sg:%:imperf
  359 +impt_sg_perf impt:sg:%:perf
  360 +impt_pl_imperf impt:pl:%:imperf
  361 +impt_pl_perf impt:pl:%:perf
  362 +num_zloz num:comp
  363 +prep_n prep:%:wok
210 364 samodz %
211 365  
212 366 [lexemes]
  367 +pol_zloz pół:num:comp
  368 +i i:conj
  369 +by by:qub
  370 +li li:qub
  371 +ze +że:qub
  372 +z +ż:qub
  373 +killfile +ć:qub
213 374 z_aglt aby:comp
214 375 z_aglt bowiem:comp
215   -by by:qub
216 376 z_aglt by:comp
217 377 z_aglt cóż:subst
218 378 z_aglt czemu:adv
219   -z_aglt czyżby:qub
220   -z_aglt choćby:comp
221   -z_aglt chociażby:comp
  379 +z_aglt_by czyżby:qub
  380 +z_aglt_by choćby:comp
  381 +z_aglt_by chociażby:comp
222 382 z_aglt dlaczego:adv
223 383 z_aglt dopóki:comp
224 384 z_aglt dopóty:conj
225   -z_aglt gdyby:comp
  385 +z_aglt_by gdyby:comp
226 386 z_aglt gdzie:qub
227 387 z_aglt gdzie:adv
228   -z_aglt jakby:comp
229   -z_aglt jakoby:comp
  388 +z_aglt_by jakby:comp
  389 +z_aglt_by jakoby:comp
230 390 z_aglt kiedy:adv
231 391 z_aglt kiedy:comp
232 392 z_aglt tylko:qub
233 393 z_aglt żeby:comp
  394 +z_aglt to:conj
  395 +z_aglt chyba:qub
  396 +z_aglt że:qub
  397 +z_aglt czy:conj
  398 +z_aglt_by oby:qub
  399 +z_aglt_by bodajby:qub
  400 +z_aglt co:comp
234 401 dywiz -:interp
  402 +pauza —:interp
  403 +polpauza –:interp
235 404 kropka .:interp
  405 +n on:ppron3:sg:gen.acc:m1.m2.m3:ter:nakc:praep
  406 +adj_anty_zloz ten:adj:%
  407 +adj_anty_zloz tenże:adj:%
  408 +adj_anty_zloz ck:adj:%
  409 +adj_anty_zloz c.k.:adj:%
  410 +adj_anty_zloz ki:adj:%
  411 +adj_anty_zloz si:adj:%
  412 +adj_anty_zloz ow:adj:%
  413 +adj_anty_zloz ów:adj:%
  414 +adj_anty_zloz ówże:adj:%
  415 +adj_anty_zloz mój:adj:%
  416 +adj_anty_zloz a-z:adj:%
  417 +adj_anty_zloz a-ż:adj:%
  418 +adj_anty_zloz kiż:adj:%
  419 +adj_anty_zloz be:adj:%
  420 +adj_anty_zloz caca:adj:%
  421 +adj_anty_zloz czyj:adj:%
  422 +adj_anty_zloz oboj:adj:%
  423 +adj_anty_zloz on:adj:%
  424 +adj_anty_zloz tyli:adj:%
  425 +prep_n do:prep:%
  426 +prep_n dla:prep:%
  427 +prep_n koło:prep:%
  428 +prep_n na:prep:%
  429 +prep_n o:prep:%
  430 +prep_n po:prep:%
  431 +prep_n poza:prep:%
  432 +prep_n spoza:prep:%
  433 +prep_n za:prep:%
  434 +prep_n zza:prep:%
  435 +morphconj +o+:morphconj
  436 +# adj_anty_zloz pop:adj:%
  437 +sufs +znawca:subst:%
  438 +sufs +dawca:subst:%
  439 +sufs +biorca:subst:%
  440 +sufs +żerca:subst:%
  441 +sufs +maniak:subst:%
  442 +latek latek:subst:%
... ...
morfeusz/morfeusz.i
... ... @@ -5,7 +5,7 @@
5 5 #ifdef SWIGJAVA
6 6 %module MorfeuszWrapper
7 7 #else
8   -%module morfeusz
  8 +%module morfeusz2
9 9 #endif
10 10  
11 11 %feature("autodoc", "2");
... ... @@ -66,22 +66,22 @@ namespace std {
66 66  
67 67 def analyze(self, text):
68 68 res = InterpsVector()
69   - _morfeusz.Morfeusz_analyze(self, text, res)
  69 + _morfeusz2.Morfeusz_analyze(self, text, res)
70 70 return list(res)
71 71  
72 72 Morfeusz.analyze = analyze
73 73  
74 74 def getOrth(self):
75   - return _morfeusz.MorphInterpretation_getOrth(self).decode('utf8')
  75 + return _morfeusz2.MorphInterpretation_getOrth(self).decode('utf8')
76 76  
77 77 def getLemma(self):
78   - return _morfeusz.MorphInterpretation_getLemma(self).decode('utf8')
  78 + return _morfeusz2.MorphInterpretation_getLemma(self).decode('utf8')
79 79  
80 80 def getTag(self):
81   - return _morfeusz.MorphInterpretation_getTag(self).decode('utf8')
  81 + return _morfeusz2.MorphInterpretation_getTag(self).decode('utf8')
82 82  
83 83 def getName(self):
84   - return _morfeusz.MorphInterpretation_getName(self).decode('utf8')
  84 + return _morfeusz2.MorphInterpretation_getName(self).decode('utf8')
85 85  
86 86 MorphInterpretation.getOrth = getOrth
87 87 MorphInterpretation.getLemma = getLemma
... ...
morfeusz/python/CMakeLists.txt
... ... @@ -12,16 +12,15 @@ INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_PATH})
12 12 INCLUDE_DIRECTORIES (..)
13 13  
14 14 set (SWIG_PYTHON_OUTFILE swigPYTHON.cpp)
15   -# set (JAVA_WRAPPER_FILE ${CMAKE_SHARED_LIBRARY_PREFIX}morfeusz${CMAKE_SHARED_LIBRARY_SUFFIX})
16 15 add_custom_command (
17   - OUTPUT ${SWIG_PYTHON_OUTFILE} morfeusz.py
  16 + OUTPUT ${SWIG_PYTHON_OUTFILE} morfeusz2.py
18 17 COMMAND swig -python -c++ -o ${SWIG_PYTHON_OUTFILE} ${CMAKE_SOURCE_DIR}/morfeusz/morfeusz.i
19 18 DEPENDS libmorfeusz
20 19 )
21 20  
22 21 set (SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in")
23 22 set (SETUP_PY "${CMAKE_CURRENT_BINARY_DIR}/setup.py")
24   -set (DEPS "${CMAKE_CURRENT_BINARY_DIR}/morfeusz.py" "${SWIG_PYTHON_OUTFILE}")
  23 +set (DEPS "${CMAKE_CURRENT_BINARY_DIR}/morfeusz2.py" "${SWIG_PYTHON_OUTFILE}")
25 24 set (OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/build")
26 25  
27 26 configure_file (${SETUP_PY_IN} ${SETUP_PY})
... ... @@ -51,11 +50,11 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
51 50 )
52 51 add_custom_target (package-python-deb-build
53 52 COMMAND debuild -us -uc
54   - WORKING_DIRECTORY deb_dist/pymorfeusz-${PYMORFEUSZ_VERSION}
  53 + WORKING_DIRECTORY deb_dist/morfeusz2-${PYMORFEUSZ_VERSION}
55 54 DEPENDS package-python-deb-sdist
56 55 )
57 56 add_custom_target(package-python-deb
58   - COMMAND mkdir -p "${TARGET_DIR}" && cp ${CMAKE_CURRENT_BINARY_DIR}/deb_dist/python-pymorfeusz*.deb "${TARGET_DIR}"
  57 + COMMAND mkdir -p "${TARGET_DIR}" && cp ${CMAKE_CURRENT_BINARY_DIR}/deb_dist/python-morfeusz2*.deb "${TARGET_DIR}"
59 58 DEPENDS package-python-deb-build
60 59 )
61 60 list (APPEND PACKAGE_DEPENDS package-python-deb)
... ...
morfeusz/python/setup.py.in
1 1 # -*- coding: utf-8 -*-
2 2 from setuptools import setup, Extension
3 3  
4   -morfeusz2 = Extension('_morfeusz',
  4 +morfeusz2 = Extension('_morfeusz2',
5 5 libraries=['morfeusz2'],
6 6 library_dirs=['${CMAKE_CURRENT_BINARY_DIR}/..'],
7 7 include_dirs=['${CMAKE_CURRENT_SOURCE_DIR}/..'],
8 8 sources=['${CMAKE_CURRENT_BINARY_DIR}/${SWIG_PYTHON_OUTFILE}'])
9 9  
10 10 if __name__ == '__main__':
11   - setup(name='pymorfeusz',
  11 + setup(name='morfeusz2',
12 12 author='${CPACK_PACKAGE_VENDOR}',
13 13 author_email='${CPACK_PACKAGE_CONTACT}',
14 14 description='Python bindings for Morfeusz',
... ...