Commit 7501fa3ae80540d56b40763fe75f0af878cde74c

Authored by Michał Lenart
1 parent 54e0cedd

poprawienie rozpoznawania typów segmentów z homonimami

git-svn-id: svn://svn.nlp.ipipan.waw.pl/morfeusz/trunk@311 ff4e3ee1-f430-4e82-ade0-24591c43f1fd
fsabuilder/morfeuszbuilder/tagset/segtypes.py
... ... @@ -8,10 +8,16 @@ import logging
8 8 import itertools
9 9 from morfeuszbuilder.utils import exceptions
10 10  
11   -def _cutHomonymFromLemma(lemma):
12   - if lemma:
13   - lemma = lemma.split(':')[0] if lemma and len(lemma) > 1 else lemma
14   - return lemma
  11 +def _getLemmaHomonymPair(lemma):
  12 + if lemma is None:
  13 + return (None, None)
  14 + elif u':' in lemma:
  15 + if lemma.replace(u':', '') == '':
  16 + return (lemma, None)
  17 + else:
  18 + return lemma.split(u':', 1)
  19 + else:
  20 + return (lemma, None)
15 21  
16 22 class Segtypes(object):
17 23  
... ... @@ -29,7 +35,7 @@ class Segtypes(object):
29 35 # self.segnum2Segtype = {}
30 36 self.patternsList = []
31 37  
32   - # (lemma, tagnum) -> [namenum, labelsnum, segnum]
  38 + # (lemma, tagnum) -> [homonym, namenum, labelsnum, segnum]
33 39 self._segnumsMap = {}
34 40  
35 41 # self._tagnum2Segnum = {}
... ... @@ -146,7 +152,7 @@ class Segtypes(object):
146 152 self._validate(
147 153 u'There is no tag that matches pattern "%s".' % (pattern),
148 154 lineNum,
149   - any([segtypePattern.tryToMatch(lemma, tag) != -1 for tag in self.tagset.getAllTags()]))
  155 + any([segtypePattern.tryToMatchTag(tag) != -1 for tag in self.tagset.getAllTags()]))
150 156 self.patternsList.append(segtypePattern)
151 157  
152 158 def _getAllExistingLabelsnumCombinations(self, labels):
... ... @@ -160,13 +166,13 @@ class Segtypes(object):
160 166 def _indexOnePattern(self, p):
161 167  
162 168 for tag in self.tagset.getAllTags():
163   - segnum = p.tryToMatch(p.lemma, tag)
  169 + segnum = p.tryToMatchTag(tag)
164 170 if segnum != -1:
165 171 tagnum = self.tagset.getTagnum4Tag(tag)
166 172 self._segnumsMap.setdefault((p.lemma, tagnum), [])
167 173 namenum = self.namesMap.get(p.name, -1)
168 174 for labelsnum in self._getAllExistingLabelsnumCombinations(p.labels):
169   - self._segnumsMap[(p.lemma, tagnum)].append((namenum, labelsnum, segnum))
  175 + self._segnumsMap[(p.lemma, tagnum)].append((p.homonym, namenum, labelsnum, segnum))
170 176  
171 177 def _indexSegnums(self):
172 178 logging.info('indexing segment type numbers...')
... ... @@ -186,15 +192,18 @@ class Segtypes(object):
186 192 # return self.segtype2Segnum[segTypeString]
187 193  
188 194 def lexeme2Segnum(self, lemma, tagnum, namenum, labelsnum):
  195 + lemma, homonym = _getLemmaHomonymPair(lemma)
189 196 if (lemma, tagnum) in self._segnumsMap:
190   - for (n, l, segnum) in self._segnumsMap[(lemma, tagnum)]:
191   - if (n, l) == (namenum, labelsnum) \
192   - or (n, l) == (0, 0)\
193   - or (n == 0 and l == labelsnum)\
194   - or (l == 0 and n == namenum):
195   - return segnum
196   -
197   - if not lemma is None:
  197 + for (h, n, l, segnum) in self._segnumsMap[(lemma, tagnum)]:
  198 + if h == homonym:
  199 + if (n, l) == (namenum, labelsnum) \
  200 + or (n, l) == (0, 0) \
  201 + or (n == 0 and l == labelsnum) \
  202 + or (l == 0 and n == namenum):
  203 + return segnum
  204 + if homonym is not None:
  205 + return self.lexeme2Segnum(lemma, tagnum, namenum, labelsnum)
  206 + elif lemma is not None:
198 207 return self.lexeme2Segnum(None, tagnum, namenum, labelsnum)
199 208 else:
200 209 assert False
... ... @@ -205,22 +214,21 @@ class Segtypes(object):
205 214 class SegtypePattern(object):
206 215  
207 216 def __init__(self, lemma, pattern, name, labels, segnum):
208   - #~ self.lemma = _cutHomonymFromLemma(lemma)
209   - self.lemma = lemma
  217 + self.lemma = _getLemmaHomonymPair(lemma)[0]
  218 + self.homonym = _getLemmaHomonymPair(lemma)[1]
210 219 self.pattern = pattern
211 220 self.name = name
212 221 self.labels = labels
213 222 self.segnum = segnum
214 223  
215   - def tryToMatch(self, lemma, tag):
  224 + def tryToMatchTag(self, tag):
216 225 patterns2Match = []
217 226 patterns2Match.append(self.pattern.replace('%', '.*'))
218 227 patterns2Match.append(re.sub(r'\:\%$', '', self.pattern).replace('%', '.*'))
219 228 # patterns2Match.append(re.sub(r'$', ':%', self.pattern).replace('%', '.*'))
220   - if self.lemma is None:
221   - lemma = None
222   - if any([re.match('^'+p+'$', tag) for p in patterns2Match]) \
223   - and self.lemma == lemma:
  229 + # if self.lemma is None:
  230 + # lemma = None
  231 + if any([re.match('^'+p+'$', tag) for p in patterns2Match]):
224 232 return self.segnum
225 233 else:
226 234 return -1
... ...
nbproject/configurations.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2   -<configurationDescriptor version="95">
  2 +<configurationDescriptor version="94">
3 3 <logicalFolder name="root" displayName="root" projectFiles="true" kind="ROOT">
4 4 <logicalFolder name="build"
5 5 displayName="build"
... ... @@ -922,45 +922,29 @@
922 922 </ccTool>
923 923 </item>
924 924 <item path="morfeusz/c_api/ResultsManager.cpp" ex="false" tool="1" flavor2="4">
925   - <ccTool flags="1">
926   - </ccTool>
927 925 </item>
928 926 <item path="morfeusz/case/CaseConverter.cpp" ex="false" tool="1" flavor2="4">
929   - <ccTool flags="1">
930   - </ccTool>
931 927 </item>
932 928 <item path="morfeusz/case/CasePatternHelper.cpp"
933 929 ex="false"
934 930 tool="1"
935 931 flavor2="4">
936   - <ccTool flags="1">
937   - </ccTool>
938 932 </item>
939 933 <item path="morfeusz/case/caseconv.cpp" ex="false" tool="1" flavor2="4">
940   - <ccTool flags="1">
941   - </ccTool>
942 934 </item>
943 935 <item path="morfeusz/charset/CharsetConverter.cpp"
944 936 ex="false"
945 937 tool="1"
946 938 flavor2="4">
947   - <ccTool flags="1">
948   - </ccTool>
949 939 </item>
950 940 <item path="morfeusz/charset/TextReader.cpp" ex="false" tool="1" flavor2="4">
951   - <ccTool flags="1">
952   - </ccTool>
953 941 </item>
954 942 <item path="morfeusz/charset/conversion_tables.cpp"
955 943 ex="false"
956 944 tool="1"
957 945 flavor2="4">
958   - <ccTool flags="1">
959   - </ccTool>
960 946 </item>
961 947 <item path="morfeusz/cli/cli.cpp" ex="false" tool="1" flavor2="4">
962   - <ccTool flags="1">
963   - </ccTool>
964 948 </item>
965 949 <item path="morfeusz/const.cpp" ex="false" tool="1" flavor2="4">
966 950 <ccTool flags="1">
... ... @@ -983,40 +967,28 @@
983 967 ex="false"
984 968 tool="1"
985 969 flavor2="4">
986   - <ccTool flags="1">
987   - </ccTool>
988 970 </item>
989 971 <item path="morfeusz/deserialization/MorphDeserializer.cpp"
990 972 ex="false"
991 973 tool="1"
992 974 flavor2="4">
993   - <ccTool flags="1">
994   - </ccTool>
995 975 </item>
996 976 <item path="morfeusz/deserialization/morphInterps/InterpretedChunksDecoder.cpp"
997 977 ex="false"
998 978 tool="1"
999 979 flavor2="4">
1000   - <ccTool flags="1">
1001   - </ccTool>
1002 980 </item>
1003 981 <item path="morfeusz/deserialization/morphInterps/InterpretedChunksDecoder4Analyzer.cpp"
1004 982 ex="false"
1005 983 tool="1"
1006 984 flavor2="4">
1007   - <ccTool flags="1">
1008   - </ccTool>
1009 985 </item>
1010 986 <item path="morfeusz/deserialization/morphInterps/InterpretedChunksDecoder4Generator.cpp"
1011 987 ex="false"
1012 988 tool="1"
1013 989 flavor2="4">
1014   - <ccTool flags="1">
1015   - </ccTool>
1016 990 </item>
1017 991 <item path="morfeusz/fsa/const.cpp" ex="false" tool="1" flavor2="4">
1018   - <ccTool flags="1">
1019   - </ccTool>
1020 992 </item>
1021 993 <item path="morfeusz/morfeusz2_c.cpp" ex="false" tool="1" flavor2="4">
1022 994 <ccTool flags="1">
... ... @@ -1068,12 +1040,8 @@
1068 1040 </ccTool>
1069 1041 </item>
1070 1042 <item path="morfeusz/segrules/SegrulesFSA.cpp" ex="false" tool="1" flavor2="4">
1071   - <ccTool flags="1">
1072   - </ccTool>
1073 1043 </item>
1074 1044 <item path="morfeusz/segrules/segrules.cpp" ex="false" tool="1" flavor2="4">
1075   - <ccTool flags="1">
1076   - </ccTool>
1077 1045 </item>
1078 1046 <item path="morfeusz/test_runner.cpp" ex="false" tool="1" flavor2="4">
1079 1047 <ccTool flags="0">
... ...
tests/analyzer/test_segtypes_with_homonyms/ARGS 0 → 100644
  1 +--aggl permissive
... ...
tests/analyzer/test_segtypes_with_homonyms/dictionary.tab 0 → 100644
  1 +euro euro prefs
  2 +kot kot:zwierze subst:sg:nom:m1 euro|samodzielnie
  3 +kot kot:nazwisko subst:sg:nom:m1 nazwisko samodzielnie
  4 +pies pies subst:sg:acc:m3 euro
  5 +pies pies subst:sg:nom:m1 nazwisko euro
... ...
tests/analyzer/test_segtypes_with_homonyms/input.txt 0 → 100644
  1 +kot
  2 +eurokot
  3 +pies
  4 +europies
... ...
tests/analyzer/test_segtypes_with_homonyms/output.txt 0 → 100644
  1 +[0,1,kot,kot:nazwisko,subst:sg:nom:m1,nazwisko,samodzielnie]
  2 +[0,1,eurokot,eurokot:zwierze,subst:sg:nom:m1,_,samodzielnie|euro]
  3 +[0,1,pies,pies,ign,_,_]
  4 +[0,1,europies,europies,subst:sg:acc:m3,_,euro
  5 + 0,1,europies,europies,subst:sg:nom:m1,nazwisko,euro]
  6 +
... ...
tests/analyzer/test_segtypes_with_homonyms/segmentation.dat 0 → 100644
  1 +[options]
  2 +aggl=strict permissive isolated
  3 +praet=split composite
  4 +
  5 +[combinations]
  6 +
  7 +samodzielnie
  8 +euro> z_euro
  9 +
  10 +[segment types]
  11 +euro
  12 +z_euro
  13 +samodzielnie
  14 +nigdy
  15 +
  16 +[lexemes]
  17 +z_euro kot:zwierze subst:%
  18 +samodzielnie kot subst:%
  19 +z_euro pies subst:%
  20 +samodzielnie pies:homonim subst:%
  21 +euro euro prefs
  22 +
  23 +[tags]
  24 +nigdy %
  25 +
  26 +[separator chars]
  27 +# ,
  28 +44
  29 +
  30 +# .
  31 +46
  32 +
  33 +# ;
  34 +59
... ...
tests/analyzer/test_segtypes_with_homonyms/tagset.dat 0 → 100644
  1 +#!TAGSET-ID pl.sgjp.morfeusz-0.5.0
  2 +
  3 +[TAGS]
  4 +# special: unknown word (ignotum):
  5 +0 ign
  6 +# special: space/blank:
  7 +1 sp
  8 +# NOUNS
  9 +694 subst:sg:nom:m1
  10 +695 subst:sg:nom:m2
  11 +696 subst:sg:nom:m3
  12 +697 subst:sg:nom:n1
  13 +698 subst:sg:nom:n2
  14 +693 subst:sg:nom:f
  15 +676 subst:sg:gen:m1
  16 +677 subst:sg:gen:m2
  17 +678 subst:sg:gen:m3
  18 +679 subst:sg:gen:n1
  19 +680 subst:sg:gen:n2
  20 +675 subst:sg:gen:f
  21 +670 subst:sg:dat:m1
  22 +671 subst:sg:dat:m2
  23 +672 subst:sg:dat:m3
  24 +673 subst:sg:dat:n1
  25 +674 subst:sg:dat:n2
  26 +669 subst:sg:dat:f
  27 +664 subst:sg:acc:m1
  28 +665 subst:sg:acc:m2
  29 +666 subst:sg:acc:m3
  30 +667 subst:sg:acc:n1
  31 +668 subst:sg:acc:n2
  32 +663 subst:sg:acc:f
  33 +682 subst:sg:inst:m1
  34 +683 subst:sg:inst:m2
  35 +684 subst:sg:inst:m3
  36 +685 subst:sg:inst:n1
  37 +686 subst:sg:inst:n2
  38 +681 subst:sg:inst:f
  39 +688 subst:sg:loc:m1
  40 +689 subst:sg:loc:m2
  41 +690 subst:sg:loc:m3
  42 +691 subst:sg:loc:n1
  43 +692 subst:sg:loc:n2
  44 +687 subst:sg:loc:f
  45 +700 subst:sg:voc:m1
  46 +701 subst:sg:voc:m2
  47 +702 subst:sg:voc:m3
  48 +703 subst:sg:voc:n1
  49 +704 subst:sg:voc:n2
  50 +699 subst:sg:voc:f
  51 +646 subst:pl:nom:m1
  52 +647 subst:pl:nom:m2
  53 +648 subst:pl:nom:m3
  54 +649 subst:pl:nom:n1
  55 +650 subst:pl:nom:n2
  56 +651 subst:pl:nom:p1
  57 +652 subst:pl:nom:p2
  58 +653 subst:pl:nom:p3
  59 +645 subst:pl:nom:f
  60 +619 subst:pl:gen:m1
  61 +620 subst:pl:gen:m2
  62 +621 subst:pl:gen:m3
  63 +622 subst:pl:gen:n1
  64 +623 subst:pl:gen:n2
  65 +624 subst:pl:gen:p1
  66 +625 subst:pl:gen:p2
  67 +626 subst:pl:gen:p3
  68 +618 subst:pl:gen:f
  69 +610 subst:pl:dat:m1
  70 +611 subst:pl:dat:m2
  71 +612 subst:pl:dat:m3
  72 +613 subst:pl:dat:n1
  73 +614 subst:pl:dat:n2
  74 +615 subst:pl:dat:p1
  75 +616 subst:pl:dat:p2
  76 +617 subst:pl:dat:p3
  77 +609 subst:pl:dat:f
  78 +601 subst:pl:acc:m1
  79 +602 subst:pl:acc:m2
  80 +603 subst:pl:acc:m3
  81 +604 subst:pl:acc:n1
  82 +605 subst:pl:acc:n2
  83 +606 subst:pl:acc:p1
  84 +607 subst:pl:acc:p2
  85 +608 subst:pl:acc:p3
  86 +600 subst:pl:acc:f
  87 +628 subst:pl:inst:m1
  88 +629 subst:pl:inst:m2
  89 +630 subst:pl:inst:m3
  90 +631 subst:pl:inst:n1
  91 +632 subst:pl:inst:n2
  92 +633 subst:pl:inst:p1
  93 +634 subst:pl:inst:p2
  94 +635 subst:pl:inst:p3
  95 +627 subst:pl:inst:f
  96 +637 subst:pl:loc:m1
  97 +638 subst:pl:loc:m2
  98 +639 subst:pl:loc:m3
  99 +640 subst:pl:loc:n1
  100 +641 subst:pl:loc:n2
  101 +642 subst:pl:loc:p1
  102 +643 subst:pl:loc:p2
  103 +644 subst:pl:loc:p3
  104 +636 subst:pl:loc:f
  105 +654 subst:pl:voc:f
  106 +655 subst:pl:voc:m1
  107 +656 subst:pl:voc:m2
  108 +657 subst:pl:voc:m3
  109 +658 subst:pl:voc:n1
  110 +659 subst:pl:voc:n2
  111 +660 subst:pl:voc:p1
  112 +661 subst:pl:voc:p2
  113 +662 subst:pl:voc:p3
  114 +# depreciative nominal flexeme:
  115 +149 depr:pl:nom:m2
  116 +150 depr:pl:voc:m2
  117 +# nominal compounds forming form:
  118 +599 substa
  119 +# PERSONAL PRONOUNS
  120 +443 ppron12:sg:acc:m1.m2.m3.f.n1.n2:pri:akc
  121 +444 ppron12:sg:acc:m1.m2.m3.f.n1.n2:pri:nakc
  122 +445 ppron12:sg:acc:m1.m2.m3.f.n1.n2:sec:akc
  123 +446 ppron12:sg:acc:m1.m2.m3.f.n1.n2:sec:nakc
  124 +447 ppron12:sg:dat:m1.m2.m3.f.n1.n2:pri:akc
  125 +448 ppron12:sg:dat:m1.m2.m3.f.n1.n2:pri:nakc
  126 +449 ppron12:sg:dat:m1.m2.m3.f.n1.n2:sec:akc
  127 +450 ppron12:sg:dat:m1.m2.m3.f.n1.n2:sec:nakc
  128 +451 ppron12:sg:gen:m1.m2.m3.f.n1.n2:pri:akc
  129 +452 ppron12:sg:gen:m1.m2.m3.f.n1.n2:pri:nakc
  130 +453 ppron12:sg:gen:m1.m2.m3.f.n1.n2:sec:akc
  131 +454 ppron12:sg:gen:m1.m2.m3.f.n1.n2:sec:nakc
  132 +455 ppron12:sg:inst:m1.m2.m3.f.n1.n2:pri
  133 +456 ppron12:sg:inst:m1.m2.m3.f.n1.n2:sec
  134 +457 ppron12:sg:loc:m1.m2.m3.f.n1.n2:pri
  135 +458 ppron12:sg:loc:m1.m2.m3.f.n1.n2:sec
  136 +459 ppron12:sg:nom:m1.m2.m3.f.n1.n2:pri
  137 +460 ppron12:sg:nom:m1.m2.m3.f.n1.n2:sec
  138 +461 ppron12:sg:voc:m1.m2.m3.f.n1.n2:sec
  139 +429 ppron12:pl:acc:_:pri
  140 +430 ppron12:pl:acc:_:sec
  141 +431 ppron12:pl:dat:_:pri
  142 +432 ppron12:pl:dat:_:sec
  143 +433 ppron12:pl:gen:_:pri
  144 +434 ppron12:pl:gen:_:sec
  145 +435 ppron12:pl:inst:_:pri
  146 +436 ppron12:pl:inst:_:sec
  147 +437 ppron12:pl:loc:_:pri
  148 +438 ppron12:pl:loc:_:sec
  149 +439 ppron12:pl:nom:_:pri
  150 +440 ppron12:pl:nom:_:sec
  151 +441 ppron12:pl:voc:_:pri
  152 +442 ppron12:pl:voc:_:sec
  153 +474 ppron3:sg:acc:f:ter:_:npraep
  154 +475 ppron3:sg:acc:f:ter:_:praep
  155 +476 ppron3:sg:acc:m1.m2.m3:ter:akc:npraep
  156 +477 ppron3:sg:acc:m1.m2.m3:ter:akc:praep
  157 +478 ppron3:sg:acc:m1.m2.m3:ter:nakc:npraep
  158 +479 ppron3:sg:acc:m1.m2.m3:ter:nakc:praep
  159 +480 ppron3:sg:acc:n1.n2:ter:_:npraep
  160 +481 ppron3:sg:acc:n1.n2:ter:_:praep
  161 +482 ppron3:sg:dat:f:ter:_:npraep
  162 +483 ppron3:sg:dat:f:ter:_:praep
  163 +484 ppron3:sg:dat:m1.m2.m3:ter:akc:npraep
  164 +485 ppron3:sg:dat:m1.m2.m3:ter:nakc:npraep
  165 +486 ppron3:sg:dat:m1.m2.m3:ter:_:praep
  166 +487 ppron3:sg:dat:n1.n2:ter:akc:npraep
  167 +488 ppron3:sg:dat:n1.n2:ter:nakc:npraep
  168 +489 ppron3:sg:dat:n1.n2:ter:_:praep
  169 +490 ppron3:sg:gen.acc:m1.m2.m3:ter:nakc:praep
  170 +491 ppron3:sg:gen:f:ter:_:npraep
  171 +492 ppron3:sg:gen:f:ter:_:praep
  172 +493 ppron3:sg:gen:m1.m2.m3:ter:akc:npraep
  173 +494 ppron3:sg:gen:m1.m2.m3:ter:akc:praep
  174 +495 ppron3:sg:gen:m1.m2.m3:ter:nakc:npraep
  175 +496 ppron3:sg:gen:m1.m2.m3:ter:nakc:praep
  176 +497 ppron3:sg:gen:n1.n2:ter:akc:npraep
  177 +498 ppron3:sg:gen:n1.n2:ter:nakc:npraep
  178 +499 ppron3:sg:gen:n1.n2:ter:_:praep
  179 +500 ppron3:sg:inst:f:ter:_:praep
  180 +501 ppron3:sg:inst:m1.m2.m3:ter:_:_
  181 +502 ppron3:sg:inst:n1.n2:ter:_:_
  182 +503 ppron3:sg:loc:f:ter:_:_
  183 +504 ppron3:sg:loc:m1.m2.m3:ter:_:_
  184 +505 ppron3:sg:loc:n1.n2:ter:_:_
  185 +506 ppron3:sg:nom:f:ter:_:_
  186 +507 ppron3:sg:nom:m1.m2.m3:ter:_:_
  187 +508 ppron3:sg:nom:n1.n2:ter:_:_
  188 +462 ppron3:pl:acc:m1.p1:ter:_:npraep
  189 +463 ppron3:pl:acc:m1.p1:ter:_:praep
  190 +464 ppron3:pl:acc:m2.m3.f.n1.n2.p2.p3:ter:_:npraep
  191 +465 ppron3:pl:acc:m2.m3.f.n1.n2.p2.p3:ter:_:praep
  192 +466 ppron3:pl:dat:_:ter:_:npraep
  193 +467 ppron3:pl:dat:_:ter:_:praep
  194 +468 ppron3:pl:gen:_:ter:_:npraep
  195 +469 ppron3:pl:gen:_:ter:_:praep
  196 +470 ppron3:pl:inst:_:ter:_:_
  197 +471 ppron3:pl:loc:_:ter:_:_
  198 +472 ppron3:pl:nom:m1.p1:ter:_:_
  199 +473 ppron3:pl:nom:m2.m3.f.n1.n2.p2.p3:ter:_:_
  200 +# PRONOUN ‘SIEBIE’
  201 +594 siebie:acc
  202 +595 siebie:dat
  203 +596 siebie:gen
  204 +597 siebie:inst
  205 +598 siebie:loc
  206 +# ADJECTIVES
  207 +5 adj:pl:acc:m1.p1:com
  208 +6 adj:pl:acc:m1.p1:pos
  209 +7 adj:pl:acc:m1.p1:sup
  210 +8 adj:pl:acc:m2.m3.f.n1.n2.p2.p3:com
  211 +9 adj:pl:acc:m2.m3.f.n1.n2.p2.p3:pos
  212 +10 adj:pl:acc:m2.m3.f.n1.n2.p2.p3:sup
  213 +11 adj:pl:dat:m1.m2.m3.f.n1.n2.p1.p2.p3:com
  214 +12 adj:pl:dat:m1.m2.m3.f.n1.n2.p1.p2.p3:pos
  215 +13 adj:pl:dat:m1.m2.m3.f.n1.n2.p1.p2.p3:sup
  216 +14 adj:pl:gen:m1.m2.m3.f.n1.n2.p1.p2.p3:com
  217 +15 adj:pl:gen:m1.m2.m3.f.n1.n2.p1.p2.p3:pos
  218 +16 adj:pl:gen:m1.m2.m3.f.n1.n2.p1.p2.p3:sup
  219 +17 adj:pl:inst:m1.m2.m3.f.n1.n2.p1.p2.p3:com
  220 +18 adj:pl:inst:m1.m2.m3.f.n1.n2.p1.p2.p3:pos
  221 +19 adj:pl:inst:m1.m2.m3.f.n1.n2.p1.p2.p3:sup
  222 +20 adj:pl:loc:m1.m2.m3.f.n1.n2.p1.p2.p3:com
  223 +21 adj:pl:loc:m1.m2.m3.f.n1.n2.p1.p2.p3:pos
  224 +22 adj:pl:loc:m1.m2.m3.f.n1.n2.p1.p2.p3:sup
  225 +23 adj:pl:nom:m1.p1:pos
  226 +24 adj:pl:nom:m2.m3.f.n1.n2.p2.p3:pos
  227 +25 adj:pl:nom.voc:m1.p1:com
  228 +26 adj:pl:nom.voc:m1.p1:pos
  229 +27 adj:pl:nom.voc:m1.p1:sup
  230 +28 adj:pl:nom.voc:m2.m3.f.n1.n2.p2.p3:com
  231 +29 adj:pl:nom.voc:m2.m3.f.n1.n2.p2.p3:pos
  232 +30 adj:pl:nom.voc:m2.m3.f.n1.n2.p2.p3:sup
  233 +31 adj:sg:acc:f:com
  234 +32 adj:sg:acc:f:pos
  235 +33 adj:sg:acc:f:sup
  236 +34 adj:sg:acc:m1.m2:com
  237 +35 adj:sg:acc:m1.m2:pos
  238 +36 adj:sg:acc:m1.m2:sup
  239 +37 adj:sg:acc:m3:com
  240 +38 adj:sg:acc:m3:pos
  241 +39 adj:sg:acc:m3:sup
  242 +40 adj:sg:acc:n1.n2:com
  243 +41 adj:sg:acc:n1.n2:pos
  244 +42 adj:sg:acc:n1.n2:sup
  245 +43 adj:sg:dat:f:com
  246 +44 adj:sg:dat:f:pos
  247 +45 adj:sg:dat:f:sup
  248 +46 adj:sg:dat:m1.m2.m3.n1.n2:com
  249 +47 adj:sg:dat:m1.m2.m3.n1.n2:pos
  250 +48 adj:sg:dat:m1.m2.m3.n1.n2:sup
  251 +49 adj:sg:gen:f:com
  252 +50 adj:sg:gen:f:pos
  253 +51 adj:sg:gen:f:sup
  254 +52 adj:sg:gen:m1.m2.m3.n1.n2:com
  255 +53 adj:sg:gen:m1.m2.m3.n1.n2:pos
  256 +54 adj:sg:gen:m1.m2.m3.n1.n2:sup
  257 +55 adj:sg:inst:f:com
  258 +56 adj:sg:inst:f:pos
  259 +57 adj:sg:inst:f:sup
  260 +58 adj:sg:inst:m1.m2.m3.n1.n2:com
  261 +59 adj:sg:inst:m1.m2.m3.n1.n2:pos
  262 +60 adj:sg:inst:m1.m2.m3.n1.n2:sup
  263 +61 adj:sg:loc:f:com
  264 +62 adj:sg:loc:f:pos
  265 +63 adj:sg:loc:f:sup
  266 +64 adj:sg:loc:m1.m2.m3.n1.n2:com
  267 +65 adj:sg:loc:m1.m2.m3.n1.n2:pos
  268 +66 adj:sg:loc:m1.m2.m3.n1.n2:sup
  269 +67 adj:sg:nom:f:pos
  270 +68 adj:sg:nom:m1.m2.m3:pos
  271 +69 adj:sg:nom:n1.n2:pos
  272 +70 adj:sg:nom.voc:f:com
  273 +71 adj:sg:nom.voc:f:pos
  274 +72 adj:sg:nom.voc:f:sup
  275 +73 adj:sg:nom.voc:m1.m2.m3:com
  276 +74 adj:sg:nom.voc:m1.m2.m3:pos
  277 +75 adj:sg:nom.voc:m1.m2.m3:sup
  278 +76 adj:sg:nom.voc:n1.n2:com
  279 +77 adj:sg:nom.voc:n1.n2:pos
  280 +78 adj:sg:nom.voc:n1.n2:sup
  281 +# adjectival compounds forming form:
  282 +2 adja
  283 +# predicative adjective:
  284 +3 adjc
  285 +# post-prepositional adjective:
  286 +4 adjp
  287 +# VERBS
  288 +# finitive (present/future) flexeme:
  289 +153 fin:pl:pri:imperf
  290 +154 fin:pl:pri:imperf.perf
  291 +155 fin:pl:pri:perf
  292 +156 fin:pl:sec:imperf
  293 +157 fin:pl:sec:imperf.perf
  294 +158 fin:pl:sec:perf
  295 +159 fin:pl:ter:imperf
  296 +160 fin:pl:ter:imperf.perf
  297 +161 fin:pl:ter:perf
  298 +162 fin:sg:pri:imperf
  299 +163 fin:sg:pri:imperf.perf
  300 +164 fin:sg:pri:perf
  301 +165 fin:sg:sec:imperf
  302 +166 fin:sg:sec:imperf.perf
  303 +167 fin:sg:sec:perf
  304 +168 fin:sg:ter:imperf
  305 +169 fin:sg:ter:imperf.perf
  306 +170 fin:sg:ter:perf
  307 +# past flexeme:
  308 +# praet=split (unsued otherwise):
  309 +509 praet:pl:m1.p1:imperf
  310 +510 praet:pl:m1.p1:imperf.perf
  311 +511 praet:pl:m1.p1:perf
  312 +521 praet:pl:m2.m3.f.n1.n2.p2.p3:imperf
  313 +522 praet:pl:m2.m3.f.n1.n2.p2.p3:imperf.perf
  314 +523 praet:pl:m2.m3.f.n1.n2.p2.p3:perf
  315 +533 praet:sg:f:imperf
  316 +534 praet:sg:f:imperf.perf
  317 +535 praet:sg:f:perf
  318 +545 praet:sg:m1.m2.m3:imperf
  319 +546 praet:sg:m1.m2.m3:imperf:agl
  320 +547 praet:sg:m1.m2.m3:imperf:nagl
  321 +548 praet:sg:m1.m2.m3:imperf.perf
  322 +549 praet:sg:m1.m2.m3:perf
  323 +550 praet:sg:m1.m2.m3:perf:agl
  324 +551 praet:sg:m1.m2.m3:perf:nagl
  325 +561 praet:sg:n1.n2:imperf
  326 +562 praet:sg:n1.n2:imperf.perf
  327 +563 praet:sg:n1.n2:perf
  328 +# praet=composite (unsued otherwise):
  329 +512 praet:pl:m1.p1:pri:imperf
  330 +513 praet:pl:m1.p1:pri:imperf.perf
  331 +514 praet:pl:m1.p1:pri:perf
  332 +515 praet:pl:m1.p1:sec:imperf
  333 +516 praet:pl:m1.p1:sec:imperf.perf
  334 +517 praet:pl:m1.p1:sec:perf
  335 +518 praet:pl:m1.p1:ter:imperf
  336 +519 praet:pl:m1.p1:ter:imperf.perf
  337 +520 praet:pl:m1.p1:ter:perf
  338 +524 praet:pl:m2.m3.f.n1.n2.p2.p3:pri:imperf
  339 +525 praet:pl:m2.m3.f.n1.n2.p2.p3:pri:imperf.perf
  340 +526 praet:pl:m2.m3.f.n1.n2.p2.p3:pri:perf
  341 +527 praet:pl:m2.m3.f.n1.n2.p2.p3:sec:imperf
  342 +528 praet:pl:m2.m3.f.n1.n2.p2.p3:sec:imperf.perf
  343 +529 praet:pl:m2.m3.f.n1.n2.p2.p3:sec:perf
  344 +530 praet:pl:m2.m3.f.n1.n2.p2.p3:ter:imperf
  345 +531 praet:pl:m2.m3.f.n1.n2.p2.p3:ter:imperf.perf
  346 +532 praet:pl:m2.m3.f.n1.n2.p2.p3:ter:perf
  347 +536 praet:sg:f:pri:imperf
  348 +537 praet:sg:f:pri:imperf.perf
  349 +538 praet:sg:f:pri:perf
  350 +539 praet:sg:f:sec:imperf
  351 +540 praet:sg:f:sec:imperf.perf
  352 +541 praet:sg:f:sec:perf
  353 +542 praet:sg:f:ter:imperf
  354 +543 praet:sg:f:ter:imperf.perf
  355 +544 praet:sg:f:ter:perf
  356 +552 praet:sg:m1.m2.m3:pri:imperf
  357 +553 praet:sg:m1.m2.m3:pri:imperf.perf
  358 +554 praet:sg:m1.m2.m3:pri:perf
  359 +555 praet:sg:m1.m2.m3:sec:imperf
  360 +556 praet:sg:m1.m2.m3:sec:imperf.perf
  361 +557 praet:sg:m1.m2.m3:sec:perf
  362 +558 praet:sg:m1.m2.m3:ter:imperf
  363 +559 praet:sg:m1.m2.m3:ter:imperf.perf
  364 +560 praet:sg:m1.m2.m3:ter:perf
  365 +564 praet:sg:n1.n2:pri:imperf
  366 +565 praet:sg:n1.n2:pri:imperf.perf
  367 +566 praet:sg:n1.n2:pri:perf
  368 +567 praet:sg:n1.n2:sec:imperf
  369 +568 praet:sg:n1.n2:sec:imperf.perf
  370 +569 praet:sg:n1.n2:sec:perf
  371 +570 praet:sg:n1.n2:ter:imperf
  372 +571 praet:sg:n1.n2:ter:imperf.perf
  373 +572 praet:sg:n1.n2:ter:perf
  374 +# conditional mood (used only with praet=composite)
  375 +100 cond:pl:m1.p1:pri:imperf
  376 +101 cond:pl:m1.p1:pri:imperf.perf
  377 +102 cond:pl:m1.p1:pri:perf
  378 +103 cond:pl:m1.p1:sec:imperf
  379 +104 cond:pl:m1.p1:sec:imperf.perf
  380 +105 cond:pl:m1.p1:sec:perf
  381 +106 cond:pl:m1.p1:ter:imperf
  382 +107 cond:pl:m1.p1:ter:imperf.perf
  383 +108 cond:pl:m1.p1:ter:perf
  384 +109 cond:pl:m2.m3.f.n1.n2.p2.p3:pri:imperf
  385 +110 cond:pl:m2.m3.f.n1.n2.p2.p3:pri:imperf.perf
  386 +111 cond:pl:m2.m3.f.n1.n2.p2.p3:pri:perf
  387 +112 cond:pl:m2.m3.f.n1.n2.p2.p3:sec:imperf
  388 +113 cond:pl:m2.m3.f.n1.n2.p2.p3:sec:imperf.perf
  389 +114 cond:pl:m2.m3.f.n1.n2.p2.p3:sec:perf
  390 +115 cond:pl:m2.m3.f.n1.n2.p2.p3:ter:imperf
  391 +116 cond:pl:m2.m3.f.n1.n2.p2.p3:ter:imperf.perf
  392 +117 cond:pl:m2.m3.f.n1.n2.p2.p3:ter:perf
  393 +118 cond:sg:f:pri:imperf
  394 +119 cond:sg:f:pri:imperf.perf
  395 +120 cond:sg:f:pri:perf
  396 +121 cond:sg:f:sec:imperf
  397 +122 cond:sg:f:sec:imperf.perf
  398 +123 cond:sg:f:sec:perf
  399 +124 cond:sg:f:ter:imperf
  400 +125 cond:sg:f:ter:imperf.perf
  401 +126 cond:sg:f:ter:perf
  402 +127 cond:sg:m1.m2.m3:pri:imperf
  403 +128 cond:sg:m1.m2.m3:pri:imperf.perf
  404 +129 cond:sg:m1.m2.m3:pri:perf
  405 +130 cond:sg:m1.m2.m3:sec:imperf
  406 +131 cond:sg:m1.m2.m3:sec:imperf.perf
  407 +132 cond:sg:m1.m2.m3:sec:perf
  408 +133 cond:sg:m1.m2.m3:ter:imperf
  409 +134 cond:sg:m1.m2.m3:ter:imperf.perf
  410 +135 cond:sg:m1.m2.m3:ter:perf
  411 +136 cond:sg:n1.n2:imperf
  412 +137 cond:sg:n1.n2:imperf.perf
  413 +138 cond:sg:n1.n2:perf
  414 +139 cond:sg:n1.n2:pri:imperf
  415 +140 cond:sg:n1.n2:pri:imperf.perf
  416 +141 cond:sg:n1.n2:pri:perf
  417 +142 cond:sg:n1.n2:sec:imperf
  418 +143 cond:sg:n1.n2:sec:imperf.perf
  419 +144 cond:sg:n1.n2:sec:perf
  420 +145 cond:sg:n1.n2:ter:imperf
  421 +146 cond:sg:n1.n2:ter:imperf.perf
  422 +147 cond:sg:n1.n2:ter:perf
  423 +# impersonal flexeme:
  424 +219 imps:imperf
  425 +220 imps:imperf.perf
  426 +221 imps:perf
  427 +# imperative flexeme:
  428 +222 impt:pl:pri:imperf
  429 +223 impt:pl:pri:imperf.perf
  430 +224 impt:pl:pri:perf
  431 +225 impt:pl:sec:imperf
  432 +226 impt:pl:sec:imperf.perf
  433 +227 impt:pl:sec:perf
  434 +228 impt:sg:sec:imperf
  435 +229 impt:sg:sec:imperf.perf
  436 +230 impt:sg:sec:perf
  437 +# infinitival flexeme:
  438 +231 inf:imperf
  439 +232 inf:imperf.perf
  440 +233 inf:perf
  441 +# agglutinative forms of ‘być’:
  442 +83 aglt:pl:pri:imperf:nwok
  443 +84 aglt:pl:pri:imperf:wok
  444 +85 aglt:pl:sec:imperf:nwok
  445 +86 aglt:pl:sec:imperf:wok
  446 +87 aglt:sg:pri:imperf:nwok
  447 +88 aglt:sg:pri:imperf:wok
  448 +89 aglt:sg:sec:imperf:nwok
  449 +90 aglt:sg:sec:imperf:wok
  450 +# future forms of ‘być’:
  451 +91 bedzie:pl:pri:imperf
  452 +92 bedzie:pl:sec:imperf
  453 +93 bedzie:pl:ter:imperf
  454 +94 bedzie:sg:pri:imperf
  455 +95 bedzie:sg:sec:imperf
  456 +96 bedzie:sg:ter:imperf
  457 +# ‘winien’ type verbs:
  458 +705 winien:pl:m1.p1:imperf
  459 +706 winien:pl:m1.p1:pri:imperf
  460 +707 winien:pl:m1.p1:sec:imperf
  461 +708 winien:pl:m1.p1:ter:imperf
  462 +709 winien:pl:m2.m3.f.n1.n2.p2.p3:imperf
  463 +710 winien:pl:m2.m3.f.n1.n2.p2.p3:sec:imperf
  464 +711 winien:pl:m2.m3.f.n1.n2.p2.p3:ter:imperf
  465 +712 winien:sg:f:imperf
  466 +713 winien:sg:f:pri:imperf
  467 +714 winien:sg:f:sec:imperf
  468 +715 winien:sg:f:ter:imperf
  469 +716 winien:sg:m1.m2.m3:imperf
  470 +717 winien:sg:m1.m2.m3:pri:imperf
  471 +718 winien:sg:m1.m2.m3:sec:imperf
  472 +719 winien:sg:m1.m2.m3:ter:imperf
  473 +720 winien:sg:n1.n2:imperf
  474 +721 winien:sg:n1.n2:pri:imperf
  475 +722 winien:sg:n1.n2:sec:imperf
  476 +723 winien:sg:n1.n2:ter:imperf
  477 +# predicative flexeme:
  478 +573 pred
  479 +# gerunds
  480 +171 ger:pl:dat.loc:n2:imperf:aff
  481 +172 ger:pl:dat.loc:n2:imperf:neg
  482 +173 ger:pl:dat.loc:n2:imperf.perf:aff
  483 +174 ger:pl:dat.loc:n2:imperf.perf:neg
  484 +175 ger:pl:dat.loc:n2:perf:aff
  485 +176 ger:pl:dat.loc:n2:perf:neg
  486 +177 ger:pl:gen:n2:imperf:aff
  487 +178 ger:pl:gen:n2:imperf:neg
  488 +179 ger:pl:gen:n2:imperf.perf:aff
  489 +180 ger:pl:gen:n2:imperf.perf:neg
  490 +181 ger:pl:gen:n2:perf:aff
  491 +182 ger:pl:gen:n2:perf:neg
  492 +183 ger:pl:inst:n2:imperf:aff
  493 +184 ger:pl:inst:n2:imperf:neg
  494 +185 ger:pl:inst:n2:imperf.perf:aff
  495 +186 ger:pl:inst:n2:imperf.perf:neg
  496 +187 ger:pl:inst:n2:perf:aff
  497 +188 ger:pl:inst:n2:perf:neg
  498 +189 ger:pl:nom.acc:n2:imperf:aff
  499 +190 ger:pl:nom.acc:n2:imperf:neg
  500 +191 ger:pl:nom.acc:n2:imperf.perf:aff
  501 +192 ger:pl:nom.acc:n2:imperf.perf:neg
  502 +193 ger:pl:nom.acc:n2:perf:aff
  503 +194 ger:pl:nom.acc:n2:perf:neg
  504 +195 ger:sg:dat.loc:n2:imperf:aff
  505 +196 ger:sg:dat.loc:n2:imperf:neg
  506 +197 ger:sg:dat.loc:n2:imperf.perf:aff
  507 +198 ger:sg:dat.loc:n2:imperf.perf:neg
  508 +199 ger:sg:dat.loc:n2:perf:aff
  509 +200 ger:sg:dat.loc:n2:perf:neg
  510 +201 ger:sg:gen:n2:imperf:aff
  511 +202 ger:sg:gen:n2:imperf:neg
  512 +203 ger:sg:gen:n2:imperf.perf:aff
  513 +204 ger:sg:gen:n2:imperf.perf:neg
  514 +205 ger:sg:gen:n2:perf:aff
  515 +206 ger:sg:gen:n2:perf:neg
  516 +207 ger:sg:inst:n2:imperf:aff
  517 +208 ger:sg:inst:n2:imperf:neg
  518 +209 ger:sg:inst:n2:imperf.perf:aff
  519 +210 ger:sg:inst:n2:imperf.perf:neg
  520 +211 ger:sg:inst:n2:perf:aff
  521 +212 ger:sg:inst:n2:perf:neg
  522 +213 ger:sg:nom.acc:n2:imperf:aff
  523 +214 ger:sg:nom.acc:n2:imperf:neg
  524 +215 ger:sg:nom.acc:n2:imperf.perf:aff
  525 +216 ger:sg:nom.acc:n2:imperf.perf:neg
  526 +217 ger:sg:nom.acc:n2:perf:aff
  527 +218 ger:sg:nom.acc:n2:perf:neg
  528 +# participles
  529 +# adverbial participles:
  530 +332 pcon:imperf
  531 +331 pant:perf
  532 +# adjectival active participle:
  533 +267 pact:pl:acc:m1.p1:imperf:aff
  534 +268 pact:pl:acc:m1.p1:imperf:neg
  535 +269 pact:pl:acc:m1.p1:imperf.perf:aff
  536 +270 pact:pl:acc:m1.p1:imperf.perf:neg
  537 +271 pact:pl:dat:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf:aff
  538 +272 pact:pl:dat:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf:neg
  539 +273 pact:pl:dat:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf.perf:aff
  540 +274 pact:pl:dat:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf.perf:neg
  541 +275 pact:pl:gen.loc:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf:aff
  542 +276 pact:pl:gen.loc:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf:neg
  543 +277 pact:pl:gen.loc:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf.perf:aff
  544 +278 pact:pl:gen.loc:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf.perf:neg
  545 +279 pact:pl:inst:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf:aff
  546 +280 pact:pl:inst:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf:neg
  547 +281 pact:pl:inst:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf.perf:aff
  548 +282 pact:pl:inst:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf.perf:neg
  549 +283 pact:pl:nom.acc.voc:m2.m3.f.n1.n2.p2.p3:imperf:aff
  550 +284 pact:pl:nom.acc.voc:m2.m3.f.n1.n2.p2.p3:imperf:neg
  551 +285 pact:pl:nom.acc.voc:m2.m3.f.n1.n2.p2.p3:imperf.perf:aff
  552 +286 pact:pl:nom.acc.voc:m2.m3.f.n1.n2.p2.p3:imperf.perf:neg
  553 +287 pact:pl:nom.voc:m1.p1:imperf:aff
  554 +288 pact:pl:nom.voc:m1.p1:imperf:neg
  555 +289 pact:pl:nom.voc:m1.p1:imperf.perf:aff
  556 +290 pact:pl:nom.voc:m1.p1:imperf.perf:neg
  557 +291 pact:sg:acc.inst:f:imperf:aff
  558 +292 pact:sg:acc.inst:f:imperf:neg
  559 +293 pact:sg:acc.inst:f:imperf.perf:aff
  560 +294 pact:sg:acc.inst:f:imperf.perf:neg
  561 +295 pact:sg:acc:m1.m2:imperf:aff
  562 +296 pact:sg:acc:m1.m2:imperf:neg
  563 +297 pact:sg:acc:m1.m2:imperf.perf:aff
  564 +298 pact:sg:acc:m1.m2:imperf.perf:neg
  565 +299 pact:sg:acc:m3:imperf:aff
  566 +300 pact:sg:acc:m3:imperf:neg
  567 +301 pact:sg:acc:m3:imperf.perf:aff
  568 +302 pact:sg:acc:m3:imperf.perf:neg
  569 +303 pact:sg:dat:m1.m2.m3.n1.n2:imperf:aff
  570 +304 pact:sg:dat:m1.m2.m3.n1.n2:imperf:neg
  571 +305 pact:sg:dat:m1.m2.m3.n1.n2:imperf.perf:aff
  572 +306 pact:sg:dat:m1.m2.m3.n1.n2:imperf.perf:neg
  573 +307 pact:sg:gen.dat.loc:f:imperf:aff
  574 +308 pact:sg:gen.dat.loc:f:imperf:neg
  575 +309 pact:sg:gen.dat.loc:f:imperf.perf:aff
  576 +310 pact:sg:gen.dat.loc:f:imperf.perf:neg
  577 +311 pact:sg:gen:m1.m2.m3.n1.n2:imperf:aff
  578 +312 pact:sg:gen:m1.m2.m3.n1.n2:imperf:neg
  579 +313 pact:sg:gen:m1.m2.m3.n1.n2:imperf.perf:aff
  580 +314 pact:sg:gen:m1.m2.m3.n1.n2:imperf.perf:neg
  581 +315 pact:sg:inst.loc:m1.m2.m3.n1.n2:imperf:aff
  582 +316 pact:sg:inst.loc:m1.m2.m3.n1.n2:imperf:neg
  583 +317 pact:sg:inst.loc:m1.m2.m3.n1.n2:imperf.perf:aff
  584 +318 pact:sg:inst.loc:m1.m2.m3.n1.n2:imperf.perf:neg
  585 +319 pact:sg:nom.acc.voc:n1.n2:imperf:aff
  586 +320 pact:sg:nom.acc.voc:n1.n2:imperf:neg
  587 +321 pact:sg:nom.acc.voc:n1.n2:imperf.perf:aff
  588 +322 pact:sg:nom.acc.voc:n1.n2:imperf.perf:neg
  589 +323 pact:sg:nom.voc:f:imperf:aff
  590 +324 pact:sg:nom.voc:f:imperf:neg
  591 +325 pact:sg:nom.voc:f:imperf.perf:aff
  592 +326 pact:sg:nom.voc:f:imperf.perf:neg
  593 +327 pact:sg:nom.voc:m1.m2.m3:imperf:aff
  594 +328 pact:sg:nom.voc:m1.m2.m3:imperf:neg
  595 +329 pact:sg:nom.voc:m1.m2.m3:imperf.perf:aff
  596 +330 pact:sg:nom.voc:m1.m2.m3:imperf.perf:neg
  597 +# adjectival passive participle:
  598 +333 ppas:pl:acc:m1.p1:imperf:aff
  599 +334 ppas:pl:acc:m1.p1:imperf:neg
  600 +335 ppas:pl:acc:m1.p1:imperf.perf:aff
  601 +336 ppas:pl:acc:m1.p1:imperf.perf:neg
  602 +337 ppas:pl:acc:m1.p1:perf:aff
  603 +338 ppas:pl:acc:m1.p1:perf:neg
  604 +339 ppas:pl:dat:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf:aff
  605 +340 ppas:pl:dat:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf:neg
  606 +341 ppas:pl:dat:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf.perf:aff
  607 +342 ppas:pl:dat:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf.perf:neg
  608 +343 ppas:pl:dat:m1.m2.m3.f.n1.n2.p1.p2.p3:perf:aff
  609 +344 ppas:pl:dat:m1.m2.m3.f.n1.n2.p1.p2.p3:perf:neg
  610 +345 ppas:pl:gen.loc:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf:aff
  611 +346 ppas:pl:gen.loc:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf:neg
  612 +347 ppas:pl:gen.loc:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf.perf:aff
  613 +348 ppas:pl:gen.loc:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf.perf:neg
  614 +349 ppas:pl:gen.loc:m1.m2.m3.f.n1.n2.p1.p2.p3:perf:aff
  615 +350 ppas:pl:gen.loc:m1.m2.m3.f.n1.n2.p1.p2.p3:perf:neg
  616 +351 ppas:pl:inst:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf:aff
  617 +352 ppas:pl:inst:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf:neg
  618 +353 ppas:pl:inst:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf.perf:aff
  619 +354 ppas:pl:inst:m1.m2.m3.f.n1.n2.p1.p2.p3:imperf.perf:neg
  620 +355 ppas:pl:inst:m1.m2.m3.f.n1.n2.p1.p2.p3:perf:aff
  621 +356 ppas:pl:inst:m1.m2.m3.f.n1.n2.p1.p2.p3:perf:neg
  622 +357 ppas:pl:nom.acc.voc:m2.m3.f.n1.n2.p2.p3:imperf:aff
  623 +358 ppas:pl:nom.acc.voc:m2.m3.f.n1.n2.p2.p3:imperf:neg
  624 +359 ppas:pl:nom.acc.voc:m2.m3.f.n1.n2.p2.p3:imperf.perf:aff
  625 +360 ppas:pl:nom.acc.voc:m2.m3.f.n1.n2.p2.p3:imperf.perf:neg
  626 +361 ppas:pl:nom.acc.voc:m2.m3.f.n1.n2.p2.p3:perf:aff
  627 +362 ppas:pl:nom.acc.voc:m2.m3.f.n1.n2.p2.p3:perf:neg
  628 +363 ppas:pl:nom.voc:m1.p1:imperf:aff
  629 +364 ppas:pl:nom.voc:m1.p1:imperf:neg
  630 +365 ppas:pl:nom.voc:m1.p1:imperf.perf:aff
  631 +366 ppas:pl:nom.voc:m1.p1:imperf.perf:neg
  632 +367 ppas:pl:nom.voc:m1.p1:perf:aff
  633 +368 ppas:pl:nom.voc:m1.p1:perf:neg
  634 +369 ppas:sg:acc.inst:f:imperf:aff
  635 +370 ppas:sg:acc.inst:f:imperf:neg
  636 +371 ppas:sg:acc.inst:f:imperf.perf:aff
  637 +372 ppas:sg:acc.inst:f:imperf.perf:neg
  638 +373 ppas:sg:acc.inst:f:perf:aff
  639 +374 ppas:sg:acc.inst:f:perf:neg
  640 +375 ppas:sg:acc:m1.m2:imperf:aff
  641 +376 ppas:sg:acc:m1.m2:imperf:neg
  642 +377 ppas:sg:acc:m1.m2:imperf.perf:aff
  643 +378 ppas:sg:acc:m1.m2:imperf.perf:neg
  644 +379 ppas:sg:acc:m1.m2:perf:aff
  645 +380 ppas:sg:acc:m1.m2:perf:neg
  646 +381 ppas:sg:acc:m3:imperf:aff
  647 +382 ppas:sg:acc:m3:imperf:neg
  648 +383 ppas:sg:acc:m3:imperf.perf:aff
  649 +384 ppas:sg:acc:m3:imperf.perf:neg
  650 +385 ppas:sg:acc:m3:perf:aff
  651 +386 ppas:sg:acc:m3:perf:neg
  652 +387 ppas:sg:dat:m1.m2.m3.n1.n2:imperf:aff
  653 +388 ppas:sg:dat:m1.m2.m3.n1.n2:imperf:neg
  654 +389 ppas:sg:dat:m1.m2.m3.n1.n2:imperf.perf:aff
  655 +390 ppas:sg:dat:m1.m2.m3.n1.n2:imperf.perf:neg
  656 +391 ppas:sg:dat:m1.m2.m3.n1.n2:perf:aff
  657 +392 ppas:sg:dat:m1.m2.m3.n1.n2:perf:neg
  658 +393 ppas:sg:gen.dat.loc:f:imperf:aff
  659 +394 ppas:sg:gen.dat.loc:f:imperf:neg
  660 +395 ppas:sg:gen.dat.loc:f:imperf.perf:aff
  661 +396 ppas:sg:gen.dat.loc:f:imperf.perf:neg
  662 +397 ppas:sg:gen.dat.loc:f:perf:aff
  663 +398 ppas:sg:gen.dat.loc:f:perf:neg
  664 +399 ppas:sg:gen:m1.m2.m3.n1.n2:imperf:aff
  665 +400 ppas:sg:gen:m1.m2.m3.n1.n2:imperf:neg
  666 +401 ppas:sg:gen:m1.m2.m3.n1.n2:imperf.perf:aff
  667 +402 ppas:sg:gen:m1.m2.m3.n1.n2:imperf.perf:neg
  668 +403 ppas:sg:gen:m1.m2.m3.n1.n2:perf:aff
  669 +404 ppas:sg:gen:m1.m2.m3.n1.n2:perf:neg
  670 +405 ppas:sg:inst.loc:m1.m2.m3.n1.n2:imperf:aff
  671 +406 ppas:sg:inst.loc:m1.m2.m3.n1.n2:imperf:neg
  672 +407 ppas:sg:inst.loc:m1.m2.m3.n1.n2:imperf.perf:aff
  673 +408 ppas:sg:inst.loc:m1.m2.m3.n1.n2:imperf.perf:neg
  674 +409 ppas:sg:inst.loc:m1.m2.m3.n1.n2:perf:aff
  675 +410 ppas:sg:inst.loc:m1.m2.m3.n1.n2:perf:neg
  676 +411 ppas:sg:nom.acc.voc:n1.n2:imperf:aff
  677 +412 ppas:sg:nom.acc.voc:n1.n2:imperf:neg
  678 +413 ppas:sg:nom.acc.voc:n1.n2:imperf.perf:aff
  679 +414 ppas:sg:nom.acc.voc:n1.n2:imperf.perf:neg
  680 +415 ppas:sg:nom.acc.voc:n1.n2:perf:aff
  681 +416 ppas:sg:nom.acc.voc:n1.n2:perf:neg
  682 +417 ppas:sg:nom.voc:f:imperf:aff
  683 +418 ppas:sg:nom.voc:f:imperf:neg
  684 +419 ppas:sg:nom.voc:f:imperf.perf:aff
  685 +420 ppas:sg:nom.voc:f:imperf.perf:neg
  686 +421 ppas:sg:nom.voc:f:perf:aff
  687 +422 ppas:sg:nom.voc:f:perf:neg
  688 +423 ppas:sg:nom.voc:m1.m2.m3:imperf:aff
  689 +424 ppas:sg:nom.voc:m1.m2.m3:imperf:neg
  690 +425 ppas:sg:nom.voc:m1.m2.m3:imperf.perf:aff
  691 +426 ppas:sg:nom.voc:m1.m2.m3:imperf.perf:neg
  692 +427 ppas:sg:nom.voc:m1.m2.m3:perf:aff
  693 +428 ppas:sg:nom.voc:m1.m2.m3:perf:neg
  694 +# NUMERALS
  695 +239 num:pl:acc:m1:rec
  696 +240 num:pl:dat.loc:n1.p1.p2:congr.rec
  697 +241 num:pl:dat:m1.m2.m3.n2.f:congr
  698 +242 num:pl:gen.dat.inst.loc:m1.m2.m3.f.n1.n2.p1.p2:congr
  699 +243 num:pl:gen.dat.inst.loc:m1.m2.m3.f.n2:congr
  700 +244 num:pl:gen.dat.loc:m1.m2.m3.n2.f:congr
  701 +245 num:pl:gen.loc:m1.m2.m3.f.n1.n2.p1.p2:congr
  702 +246 num:pl:gen.loc:m1.m2.m3.n2.f:congr
  703 +247 num:pl:gen:n1.p1.p2:rec
  704 +248 num:pl:inst:f:congr
  705 +249 num:pl:inst:m1.m2.m3.f.n1.n2.p1.p2:congr
  706 +250 num:pl:inst:m1.m2.m3.f.n2:congr
  707 +251 num:pl:inst:m1.m2.m3.n2:congr
  708 +252 num:pl:inst:m1.m2.m3.n2.f:congr
  709 +253 num:pl:inst:n1.p1.p2:rec
  710 +254 num:pl:nom.acc:m1.m2.m3.f.n1.n2.p1.p2:rec
  711 +255 num:pl:nom.acc.voc:f:congr
  712 +256 num:pl:nom.acc.voc:m1:rec
  713 +257 num:pl:nom.acc.voc:m2.m3.f.n1.n2.p1.p2:rec
  714 +258 num:pl:nom.acc.voc:m2.m3.f.n2:rec
  715 +259 num:pl:nom.acc.voc:m2.m3.n2:congr
  716 +260 num:pl:nom.acc.voc:m2.m3.n2.f:congr
  717 +261 num:pl:nom.acc.voc:n1.p1.p2:rec
  718 +262 num:pl:nom.gen.dat.inst.acc.loc.voc:m1.m2.m3.f.n1.n2.p1.p2:rec
  719 +263 num:pl:nom.voc:m1:congr
  720 +264 num:pl:nom.voc:m1:rec
  721 +265 num:sg:nom.gen.dat.inst.acc.loc.voc:f:rec
  722 +266 num:sg:nom.gen.dat.inst.acc.loc.voc:m1.m2.m3.n1.n2:rec
  723 +# numeral compounds forming form:
  724 +238 num:comp
  725 +# PREPOSITIONS
  726 +578 prep:acc
  727 +579 prep:acc:nwok
  728 +580 prep:acc:wok
  729 +581 prep:dat
  730 +582 prep:gen
  731 +583 prep:gen:nwok
  732 +584 prep:gen:wok
  733 +585 prep:inst
  734 +586 prep:inst:nwok
  735 +587 prep:inst:wok
  736 +588 prep:loc
  737 +589 prep:loc:nwok
  738 +590 prep:loc:wok
  739 +591 prep:nom
  740 +# ADVERBS
  741 +79 adv
  742 +80 adv:com
  743 +81 adv:pos
  744 +82 adv:sup
  745 +# OTHER
  746 +# kubliki (particles):
  747 +592 qub
  748 +# conjunctions:
  749 +148 conj
  750 +# complementizers:
  751 +99 comp
  752 +# interjections:
  753 +234 interj
  754 +# burkinostki (bound words):
  755 +98 burk
  756 +# abbreviations:
  757 +97 brev:pun
  758 +97 brev:npun
  759 +# punctuation:
  760 +235 interp
  761 +# digits:
  762 +151 dig
  763 +# Roman digits:
  764 +593 romandig
  765 +# emoticons:
  766 +152 emoticon
  767 +# prefixes:
  768 +574 prefa
  769 +575 prefppas
  770 +576 prefs
  771 +577 prefv
  772 +# (special)
  773 +236 naj
  774 +237 nie
... ...