Commit 46a46821b37bc5e11065304c0e9494a667a66c25
1 parent
8f86545e
Added preferable spejd config to resources directory.
Showing
3 changed files
with
8533 additions
and
0 deletions
src/main/resources/spejd_config/config.ini
0 → 100644
1 | +# | |
2 | +# FILES LOCATION | |
3 | +# all paths in this file are relative to location of this config file, | |
4 | +# except for absolute paths | |
5 | +# (in UNIXes starting from '/', in Windows starting from '<letter>:\' or '\') | |
6 | +# | |
7 | + | |
8 | +# a file containing Spejd's grammar | |
9 | +# in this example file you can find the Spejd rules syntax explained | |
10 | +rules = rules.sr | |
11 | + | |
12 | +# tagset used in grammar and input/output | |
13 | +# see that file for details on used format | |
14 | +tagset = sample.cfg | |
15 | + | |
16 | +# | |
17 | +# PROCESSING CHAIN | |
18 | +# | |
19 | + | |
20 | +# list of tools to be executed between reader and writer modules | |
21 | + | |
22 | +# for spejd with preprocessing with dictionary | |
23 | +# (dictionary entries may be multiple - with different names after colon, see below) | |
24 | +# processingChain = dictionary:example_dict spejd | |
25 | + | |
26 | +# spejd preceded with the pantera tagger (Spejd must have pantera support built in) | |
27 | +# processingChain = pantera spejd | |
28 | + | |
29 | +# spejd alone (the default) | |
30 | +processingChain = spejd | |
31 | + | |
32 | +# no tools (only reader and writer) - can be used as format converter | |
33 | +# processingChain = | |
34 | + | |
35 | +# number of threads to use, 0 means autodetect ( = number of detected cpus) | |
36 | +maxThreads = 0 | |
37 | + | |
38 | +# | |
39 | +# INPUT | |
40 | +# | |
41 | + | |
42 | +# inputType: auto|xcesAna|tei|txt | |
43 | +# auto chooses reader basing on the file name / extension: | |
44 | +# - *.txt/*.txt.gz = txt | |
45 | +# - morph.xml/morph.xml.gz = xcesAna | |
46 | +# - ann_segmentation.xml/ann_segmentation.xml.gz = tei, without using morphosyntax | |
47 | +# - ann_morphosyntax.xml/ann_morphosyntax.xml.gz = tei, using morphosyntax | |
48 | +# with txt and tei without morphosyntax the Morfeusz morphological analyzer is used (unless disabled) | |
49 | + | |
50 | +inputType = auto | |
51 | + | |
52 | +# encoding of input files (overrides any XML coding tags!) | |
53 | +# | |
54 | +# note: the acronymsAfter, acronymsBefore options, and contents of various files | |
55 | +# such as ogonkifyFile, morfeusz disambiguation rules or dictionaries must be | |
56 | +# in this encoding too. | |
57 | +inputEncoding = UTF-8 | |
58 | + | |
59 | +# regexp describing names of input files | |
60 | +# to look for when traversing directories given in command line | |
61 | +# does not affect file names given explicitly in command line | |
62 | + | |
63 | +inputFiles = morph\.xml(\.gz)?|.*\.txt(\.gz)?|ann_morphosyntax\.xml(\.gz)? | |
64 | + | |
65 | +# to ignore any disambiguation found in input? | |
66 | + | |
67 | +ignoreDisamb = no | |
68 | + | |
69 | +# Spejd can use XML id attributes available in the input. Sometimes this may cause | |
70 | +# problems (e.g. duplicate id values in the scope of file), so can be turned off | |
71 | +ignoreIDs = no | |
72 | + | |
73 | +# | |
74 | +# OUTPUT | |
75 | +# | |
76 | + | |
77 | +# format of the output file(s): tei|xcesAna|null | |
78 | +# null = for testing only, does not write anything | |
79 | + | |
80 | +outputType = tei | |
81 | + | |
82 | +# can interpretations deleted by Spejd be discarded at will (yes) | |
83 | +# or should be preserved for the final output (no)? | |
84 | + | |
85 | +discardDeleted = yes | |
86 | + | |
87 | +# the suffix to be added to the target file name | |
88 | + | |
89 | +outputSuffix = .xml | |
90 | + | |
91 | +# The core name of the output file. Depending on the output type | |
92 | +# some infixes can be added between it and output suffix. | |
93 | +# Caution: this option replaces the name of the input file. | |
94 | +# With output suffix containing only extension equal to extension of | |
95 | +# the input file (e.g. .xml for the XML input file) spejd will | |
96 | +# overwrite input files with output. | |
97 | +# | |
98 | +# Leave empty or comment out to use the input file name instead. | |
99 | + | |
100 | +outputFilenameCore = ann | |
101 | + | |
102 | +# If set to 'yes' spejd will backup existing output files to <name>.bak | |
103 | + | |
104 | +backupExistingFiles = no | |
105 | + | |
106 | +# apply gzip compression to output? | |
107 | + | |
108 | +compressOutput = yes | |
109 | + | |
110 | +# put <f>'s in single line and omit empty sentences/paragraphs when writing tei? | |
111 | + | |
112 | +compactTeiOutput = no | |
113 | + | |
114 | +# NKJP (National Corpus of Polish) compatibility mode: | |
115 | +# dont write <f name="interps"> and <fs type="lex"> in *_words.xml | |
116 | +# assuming that there can be only one interpretation marked as "correct" for each token. | |
117 | +# | |
118 | +# It is a user task to make sure that there will be no tokens with multiple | |
119 | +# correct interpretations | |
120 | +teiSingleSyntokInterp = yes | |
121 | + | |
122 | +# again, NKJP compatibility: | |
123 | +# place group's heads information inside the <fs type"group"> | |
124 | +# as features instead of marking it as 'type' attribute of group's elements | |
125 | +teiFsGroupHeads = yes | |
126 | + | |
127 | +# for backward compatibility with Spejd 1.2, it is probably easier to parse structures | |
128 | +# written in bottom up order, starting from leafs to the root | |
129 | +# (all entities defined before referencing) | |
130 | +teiBottomUpSyntacticStructures = no | |
131 | + | |
132 | +# DIAGNOSTICS | |
133 | + | |
134 | +# report progress every reportInterval seconds | |
135 | +# use 0 to completely disable progress reports | |
136 | + | |
137 | +reportInterval = 5 | |
138 | + | |
139 | +# more verbose reports? | |
140 | +debug = no | |
141 | + | |
142 | +# mark which rule has deleted an interpretation? | |
143 | + | |
144 | +ruleMarking = no | |
145 | + | |
146 | +# are tag/tagset errors fatal? | |
147 | +# If turned on, Spejd will try to its best to output only tags conforming the tagset, | |
148 | +# but they may be useless. | |
149 | +# This option exists only to preserve compatibility with older versions of Spejd, which | |
150 | +# accepted incorrect rules. Please do not use when developing new grammars. | |
151 | +# | |
152 | +# !!! use at your own risk and don't report crashes when using this option !!! | |
153 | +nonfatalTagErrors = no | |
154 | + | |
155 | +# if to silence the (nonfatal) tag errors? | |
156 | +muffleTagWarnings = no | |
157 | + | |
158 | +# Disable correctness checks of tags in between rules execution? | |
159 | +# If set, tags can be temporary incomplete or incorrect, but the usual validation | |
160 | +# before writing is stil performed to make sure Spejd will output only | |
161 | +# correct tags. | |
162 | +# Not recommended for developing new grammars. | |
163 | +tagErrorsOnlyOnTheEnd = no | |
164 | + | |
165 | + | |
166 | +###################################################################### | |
167 | +# MODULE-SPECIFIC OPTIONS | |
168 | +###################################################################### | |
169 | + | |
170 | + | |
171 | +# DICTIONARIES | |
172 | + | |
173 | +# list of files containing morphological dictionaries | |
174 | +# to be applied as "dictionary:example_dict" tool to the input | |
175 | +# the format of lines of files is: | |
176 | +# orthographic form,base (lexical) form:tag | |
177 | +# | |
178 | +# or: | |
179 | +# ,base (lexical) form:some_parts_of_tag;condition | |
180 | +# | |
181 | +# In the first variant the orthographical form is used for matching words. | |
182 | +# Tag definition is expanded (it may contain wildcards). | |
183 | +# | |
184 | +# In the second variant orthographic form is ommited. In that case a base form is used to match. | |
185 | +# The tags of existing interpretations which match the base form are corrected/modified | |
186 | +# according to the specified tag. | |
187 | +# This variant allows the tag to be not full/complete, but only specifying some | |
188 | +# of the attributes (some parts). | |
189 | +# This variant also allows to specify conditions on tag that must | |
190 | +# be meet to perform the modification. The condition has form of a partial tag, just like | |
191 | +# in the "tag" section of modifying variant. A condition restricts modified interpretations to | |
192 | +# that ones which have all values of the specified attributes among the specified values. | |
193 | +# If an attribute is ommited in the specification it means that there are no restrictions | |
194 | +# on this attribute value and it can be anything (including absence of value). | |
195 | +# When a condition is empty (that means: there are no restrictions on any attribute), | |
196 | +# a semicolon preceding it can be ommited and the format is: | |
197 | +# ,base (lexical) form:some_parts_of_tag | |
198 | +# | |
199 | +# The above two variants of entries can be mixed. | |
200 | +# All the entries with orthographic form are applied before applying any | |
201 | +# of the entries without orth in the scope of a single 'dictionary:<name>' tool, | |
202 | +# no matter in which file in this list they appear. | |
203 | +# | |
204 | +# The encoding of dictionary files must be the same as inputEncoding. | |
205 | +#dictionary:example_dict = sample_dict lexdictnum | |
206 | + | |
207 | + | |
208 | +# PANTERA CONFIGURATION | |
209 | + | |
210 | +# Pantera can use its own built-in tweaked version of Morfeusz. | |
211 | +# If this option is set, all interpretations set by reader | |
212 | +# or any tools preceding pantera in the toolchain are dropped | |
213 | +panteraDoOwnMorphAnalysis = yes | |
214 | + | |
215 | +# tagset for pantera, leave empty for a default (check pantera documentation for details) | |
216 | +panteraTagsetName = | |
217 | + | |
218 | +# pantera's engine, leave empty for a default (check pantera documentation for details) | |
219 | +panteraEnginePath = | |
220 | + | |
221 | + | |
222 | +# SPEJD SEMANTICS | |
223 | + | |
224 | +# default strategy for matching syntactic entities | |
225 | +# use * for greedy, + for possessive, ? for reluctant | |
226 | + | |
227 | +matchStrategy = * | |
228 | + | |
229 | +# should agree(case,1,2) return true, if both 1 and 2 have no case? | |
230 | + | |
231 | +nullAgreement = no | |
232 | + | |
233 | +# SPEJD FSM INTERNALS | |
234 | + | |
235 | +# number of single-rule automata to be composed together, usually not needed to change | |
236 | +# Rule of thumb: if Spejd consumes much too much memory, it's better to decrease this | |
237 | +# number than to set very low memoryLimit - it gives smaller impact on performance | |
238 | +composeLimit = 150 | |
239 | + | |
240 | +# memory limit in megabytes | |
241 | +# when memory usage exceeds this limit the rarely-used states removal procedure | |
242 | +# (or GC, a garbage collector) is launched | |
243 | +# use as an emergency brake, for standard limit see above. | |
244 | +# The memoryLimit is approximate, actual memory usage may be slightly higher | |
245 | +# (it depends on memory allocator library buffers size) | |
246 | +memoryLimit = 1900 | |
247 | + | |
248 | +# approx. percent of DFA states to leave after the states removal | |
249 | +leavePercent = 80 | |
250 | + | |
251 | +# The definitive limit of normal GC usage. GC removes only complex states, so if there are lots | |
252 | +# of plain states it can't prevent from exceeding memoryLimit. If the percent of complex states | |
253 | +# is less than minComplexPercent, all the DFAs are dropped and they are built from the beggining | |
254 | +# just like if the spejd would be restarted. However it does not recompile rules, so it's faster. | |
255 | +minComplexPercent = 10 | |
256 | + | |
257 | + | |
258 | +# A maximal number of unicode characters which can appear in rules compiled to internal regex | |
259 | +# It must be higher than the highest number of values of a single attribute (including | |
260 | +# numeric attributes) and must be higher than a number of unique characters appearing in all rules. | |
261 | +# Setting too high can increase the memory usage. | |
262 | +maxNumberOfValues = 4000 | |
263 | + | |
264 | + | |
265 | +# BUILT-IN MORPHOLOGICAL ANALYZER 'MORFEUSZ' | |
266 | + | |
267 | +# disable Morfeusz completely, useful when some other tool replaces interpretations, e.g. pantera | |
268 | +disableMorfeusz = yes | |
269 | + | |
270 | +# Morfeusz produces ambiguous segmentation, which can be resolved by simple rule-based | |
271 | +# disambiguator. This option specifies a file to load rules from. | |
272 | +# The rule format is described in the example file | |
273 | +# (leave empty for the builtin default, which is actualy the example file) | |
274 | + | |
275 | +# The encoding of this file must be the same as inputEncoding. | |
276 | +morfeuszSegmentationDisambiguationRules = segm_disamb.conf | |
277 | + | |
278 | +# PLAIN TEXT READER - GENERAL | |
279 | + | |
280 | +# mock xml:id for the whole text input referred from the output in string-range notation | |
281 | +# (in TEI output it appears in *segmentation.xml) | |
282 | +stringRangeMockID = p-1 | |
283 | + | |
284 | +# PLAIN TEXT READER - SENTENCER | |
285 | + | |
286 | +# list of acronyms - | |
287 | +# if a dot is found after one of them, it is not a sentence break | |
288 | + | |
289 | +acronymsAfter = prof|dr|mgr|doc|ul|np|godz|gen|płk|mjr|por|tzw|tzn|proc|nt|art|ust|ww|www|ws|dz | |
290 | + | |
291 | +# list of acronyms (actually top level domain names) - | |
292 | +# if a dot is found before one of them, it is not a sentence break | |
293 | + | |
294 | +acronymsBefore = ac|ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|asia|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cat|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|info|int|io|iq|ir|is|it|je|jm|jo|jobs|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mil|mk|ml|mm|mn|mo|mobi|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tel|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|travel|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw | |
295 | + | |
296 | + | |
297 | +# PLAIN TEXT READER - OGONKIFIER | |
298 | + | |
299 | +# name of file with ogonkify (diacrit completion) substitutions | |
300 | +# the format is: | |
301 | +# <letter without diacritics>=<list of possible letters with diacritics separated by '|'> | |
302 | +# see the example ogonkifier.ini | |
303 | + | |
304 | +# The encoding of this file must be the same as inputEncoding. | |
305 | +#ogonkifyFile = ogonkifier.ini | |
306 | + | |
307 | +# when to use ogonkifier: | |
308 | +# A - Always, | |
309 | +# N - Never, | |
310 | +# M - only when the Morphological analyzer fails to analyse a word | |
311 | + | |
312 | +ogonkifyStrategy = N | |
313 | + | |
314 | +# min and max length of words to ogonkify | |
315 | + | |
316 | +ogonkifyMinLength = 3 | |
317 | +ogonkifyMaxLength = 13 | |
318 | + | |
319 | + | |
320 | + | |
... | ... |
src/main/resources/spejd_config/rules.sr
0 → 100644
1 | +######Gramatyka dla projektu CORE | |
2 | +######Autor: Katarzyna Głowińska | |
3 | +######wersja z 15.02.2012 | |
4 | + | |
5 | +# MACRO DEFINITIONS | |
6 | + | |
7 | +Define czasownik = [pos~~"winien|praet|bedzie|fin|impt|imps|inf"]; | |
8 | + | |
9 | +Define lub_imieslow = | |
10 | + [pos~~"winien|praet|bedzie|fin|impt|imps|inf|pcon|pant|pred"]; | |
11 | + | |
12 | +Define lub_grupa = [synh=[]] | $lub_imieslow; | |
13 | + | |
14 | +Define tytul = [orth~"[Kk]s\.|[Hh]r\.|o\.|s\.|[Pp]\.|[Pp]s\.|[Rr]ed\.|[Pp]rof\.|[Dd]oc\.|[Dd]yr\.|[Mm]in\.|[Mm]ec\.|[Ii]nż\.|[Aa]rch\.|[Gg]en\.|[Gg]en\. gen\.|[Gg]en\. dyw\.|[Gg]en\. bryg\.|[Ss]t\. szer\.|[Ss]zer\.|[Kk]pt\.|[Pp]por\.||[Tt]ow\.|[Kk]ol\.|[Hh]m\.|[Dd]h\.|[Kk]om\.|[Nn]adkom\.|[Pp]odkom\.|[Pp]os\.||[Pp]łk|[Pp]płk|[Mm]jr|[Rr]tm|[Dd]r?|[Mm]gr|[Aa]bp|[Aa]bp\.|[Bb]p|[Bb]p\.|[Kk]ard\.|śp\.|Mr|[Ll]ek\. med\." && pos~"Brev"]; | |
15 | +Define tytul1 = [base~"porucznik"]; | |
16 | + | |
17 | +Define osoba = [base~".*burmistrz|król.*|redaktor.*|pan.?|państwo|aktor|doktor|prymas|szkoleniowiec|księżna|prorokini|babcia|szlachcic|rodzina|archeolog|kustosz|markiz|prezbiter|psycholog|prałat|biznesmen|fizyk|wójt|artystka|konserwator|rabbi|radny|brat|sir|obywatel|.*mistrz|finansista|harcerz|papież|scenograf|dziennikar.*|metodysta|autor|autorka|sędzia|ojciec|generał|mecenas|handlowiec|obrońca|.*minister|.*anin|.*biskup|kardynał|senator|.*premier|Polak|Duńczyk|Białorusinka|Włoch|Ukrainiec|Ukrainka|geolog|.*prezydent|ksiądz|magister|kurator|trener|poseł|posłanka|prezes|.*starosta|.*wojewoda|perkusista|basista|.*marszałek|kolega|ciotka|sekretarz|profesor|lobbysta|dyrektor|.*reporter|poet.*|reżyser|konserwatysta|de"]; | |
18 | + | |
19 | +Define adv_przy_adj = [pos~"Adv" && base~"zdecydowanie|trochę|nieuleczalnie|.*krotnie|chronicznie|szczególnie|wyłącznie|praktycznie|strasznie|rażąco|jakościowo|skrajnie|znacznie|niesłychanie|jawnie|czysto|ogólnie|stosunkowo|możliwie|równie|nowo|kompletnie|całkowicie|przesadnie|lekko|wyjątkowo|nieco|znacząco|zbyt|zdumiewająco|wyraźnie|niezwykle|średnio|zupełnie|niezbyt|bardzo|odpowiednio|całkiem|coraz|szaro|na tyle|mało|przewlekle|niezwykle|względnie|tak|prawnie|prawdziwie|.*proporcjonalnie|tymczasowo"]; | |
20 | + | |
21 | +Define qub_przy_adj = [pos~"Qub" && base~"jeszcze|dosyć|dość|naprawdę|nie|to|właśnie|około|zaledwie|nawet|przynajmniej|zgoła|tam|pseudo|już|jeszcze|niemal|jedynie"]; | |
22 | + | |
23 | +Define qub_przy_num = [pos~"Qub" && base~"dokładnie|niespełna|.*ledwie|ponad|za|już|prawie|nie|jeszcze|tylko|przeszło|około|nawet|aż|minimum|niemal"]; | |
24 | + | |
25 | +Define adv_przy_num = [pos~"Adv" && base~"ledwo|zbyt|znacznie|bardzo|niezbyt|tak|coraz|nieskończenie|wyjątkowo|jak|trochę|raptem|.*krotnie"]; | |
26 | + | |
27 | +Define instytucja = [orth~"[Kk]op\." && pos~"Brev"]; | |
28 | + | |
29 | + | |
30 | +# RULES | |
31 | + | |
32 | +#Rule "liczba -- liczba cyframi" | |
33 | +# | |
34 | +#Match: [orth~"[1-9][0-9]*"] (ns [orth~"[,-]"] ns [orth~"[0-9]+"])?; | |
35 | +#Eval: word(liczba,1.orth); | |
36 | +#AW: nie łapie się np. "0,5"? | |
37 | + | |
38 | +##########SŁOWA SKŁADNIOWE | |
39 | + | |
40 | +Rule "frazeo: a nuż" | |
41 | + | |
42 | +Match: [base~"a"] [base~"nuż"]; | |
43 | +Eval: word(Qub, 0.base); | |
44 | + | |
45 | + | |
46 | +#LD Tę regułę trzeba na razie wyłączyć, bo produkuje niepełne tagi. | |
47 | +#brak informacji morfologicznych dla Adj | |
48 | +#Rule "frazeo: a vista" | |
49 | +# | |
50 | +#Match: [base~"a"] [base~"vista"]; | |
51 | +#Eval: word(2, Adj, 0.base); | |
52 | + | |
53 | + | |
54 | +Rule "frazeo: a więc" | |
55 | + | |
56 | +Match: [base~"a" && pos~"conj"] [base~"więc" && pos~"conj"]; | |
57 | +Eval: word(Conj, 0.base); | |
58 | + | |
59 | + | |
60 | +Rule "frazeo: ani rusz" | |
61 | + | |
62 | +Match: [base~"ani"] [orth~"rusz"]; | |
63 | +Eval: word(Adv, 1.base " " 2.orth); | |
64 | + | |
65 | + | |
66 | +Rule "frazeo: ani trochę" | |
67 | + | |
68 | +Match: [base~"ani"] [base~"trochę"]; | |
69 | +Eval: word(Adv, 0.base); | |
70 | + | |
71 | + | |
72 | +Rule "frazeo: ani w ząb" | |
73 | + | |
74 | +Match: [base~"ani|ni"] [base~"w"] [orth~"ząb"]; | |
75 | +Eval: word(Adv, 0.base); | |
76 | + | |
77 | + | |
78 | +Rule "frazeo: bądź co bądź" | |
79 | + | |
80 | +Match: [orth~"[Bb]ądź" && pos~~"impt"] | |
81 | + [base~"co" && pos~"comp"] | |
82 | + [orth~"bądź" && pos~~"impt"]; | |
83 | +Eval: word(Qub, "bądź co bądź"); | |
84 | + | |
85 | + | |
86 | +Rule "DisG: bądź co bądź" | |
87 | + | |
88 | +Match: [base~"bądź co bądź"]; | |
89 | +Eval: group(DisG, 1,1); | |
90 | + | |
91 | + | |
92 | +Rule "frazeo: bez mała" | |
93 | + | |
94 | +Match: [base~"bez" && pos~~"prep"] | |
95 | + [orth~"mała"]; | |
96 | +Eval: word(Qub, 1.base " " 2.orth); | |
97 | + | |
98 | + | |
99 | +Rule "frazeo: bez trudu" | |
100 | + | |
101 | +Match: [base~"bez" && pos~~"prep"] [orth~"trudu"]; | |
102 | +Eval: word(Adv, 1.base " " 2.orth); | |
103 | + | |
104 | + | |
105 | +Rule "frazeo: bez wątpienia" | |
106 | + | |
107 | +Match: [base~"bez" && pos~~"prep"] [orth~"wątpienia"]; | |
108 | +Eval: word(Qub, 1.base " " 2.orth); | |
109 | + | |
110 | + | |
111 | +Rule "frazeo: bez względu na" | |
112 | + | |
113 | +Match: [base~"bez"] [orth~"względu"] [base~"na"]; | |
114 | +Eval: word(Prep:acc, "bez względu na"); | |
115 | + | |
116 | + | |
117 | +Rule "frazeo: blisko (Prep)" | |
118 | + | |
119 | +Match: [orth~"[Bb]lisko"]; | |
120 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
121 | + && case~~"gen"]; | |
122 | +Eval: word(Prep:gen, "blisko"); | |
123 | + | |
124 | + | |
125 | +Rule "frazeo: bliżej (Prep)" | |
126 | + | |
127 | +Match: [orth~"[Bb]liżej"]; | |
128 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
129 | + && case~~"gen"]; | |
130 | +Eval: word(Prep:gen, "bliżej"); | |
131 | + | |
132 | + | |
133 | +Rule "frazeo: najbliżej (Prep)" | |
134 | + | |
135 | +Match: [orth~"[Nn]ajbliżej"]; | |
136 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
137 | + && case~~"gen"]; | |
138 | +Eval: word(Prep:gen, "najbliżej"); | |
139 | + | |
140 | + | |
141 | +Rule "frazeo: Bogu ducha winny" | |
142 | + | |
143 | +Match: [orth~"[Bb]ogu"] [orth~"ducha"] [base~"winny"]; | |
144 | +Eval: word(3, Adj, "Bogu ducha winny"); | |
145 | + | |
146 | + | |
147 | +Rule "frazeo: Brawo," | |
148 | + | |
149 | +Match: [orth~"[Bb]rawo"]; | |
150 | +Right: ns [base~","]; | |
151 | +Eval: word(Interj, 1.base); | |
152 | + | |
153 | + | |
154 | +Rule "DisG: Brawo," | |
155 | + | |
156 | +Match: [base~"brawo" && pos~"Interj"]; | |
157 | +Eval: group(DisG, 1,1); | |
158 | + | |
159 | + | |
160 | +Rule "frazeo: broń Boże" | |
161 | + | |
162 | +Match: [orth~"[Bb]roń"] [orth~"[Bb]oże"]; | |
163 | +Eval: word(Interj, "broń Boże"); | |
164 | + | |
165 | + | |
166 | +Rule "DisG: broń Boże" | |
167 | + | |
168 | +Match: [base~"broń Boże" && pos~"Interj"]; | |
169 | +Eval: group(DisG, 1,1); | |
170 | + | |
171 | + | |
172 | +Rule "frazeo: być może" | |
173 | + | |
174 | +Match: [orth~"[Bb]yć"] [orth~"może"]; | |
175 | +Eval: word(Qub, 1.base " " 2.orth); | |
176 | + | |
177 | + | |
178 | +Rule "frazeo: chargé d’affaires" | |
179 | + | |
180 | +Match: [base~"chargé"] [base~"d'affaires"]; | |
181 | +Eval: word(1, Noun, 0.base); | |
182 | + | |
183 | + | |
184 | +Rule "frazeo: chyba że" | |
185 | + | |
186 | +Match: [base~"chyba"] [base~"że"]; | |
187 | +Eval: word(Comp, 0.base); | |
188 | + | |
189 | + | |
190 | +Rule "frazeo: co gorsza|więcej" | |
191 | + | |
192 | +Match: [base~"co"] [orth~"gorsza|więcej"]; | |
193 | +Eval: word(Qub, 1.base " " 2.orth); | |
194 | + | |
195 | + | |
196 | +Rule "frazeo: co najmniej" | |
197 | + | |
198 | +Match: [base~"co"] [orth~"najmniej"]; | |
199 | +Eval: word(Qub, 1.base " " 2.orth); | |
200 | + | |
201 | + | |
202 | +Rule "frazeo: co najwyżej" | |
203 | + | |
204 | +Match: [base~"co"] [orth~"najwyżej"]; | |
205 | +Eval: word(Qub, 1.base " " 2.orth); | |
206 | + | |
207 | + | |
208 | +Rule "frazeo: co niemiara" | |
209 | + | |
210 | +Match: [orth~"co"] [base~"niemiara"]; | |
211 | +Eval: word(Adv, 0.base); | |
212 | + | |
213 | + | |
214 | +Rule "frazeo: co prawda" | |
215 | + | |
216 | +Match: [orth~"[Cc]o"] [orth~"prawda"]; | |
217 | +Eval: word(Qub, 0.base); | |
218 | + | |
219 | + | |
220 | +Rule "DisG: co prawda" | |
221 | + | |
222 | +Match: [base~"co prawda"]; | |
223 | +Eval: group(DisG, 1,1); | |
224 | + | |
225 | + | |
226 | +Rule "frazeo: co rusz" | |
227 | + | |
228 | +Match: [orth~"[Cc]o"] [orth~"rusz"]; | |
229 | +Eval: word(Adv, "co rusz"); | |
230 | + | |
231 | + | |
232 | +Rule "frazeo: co i rusz" | |
233 | + | |
234 | +Match: [orth~"[Cc]o"] [base~"i"] [orth~"rusz"]; | |
235 | +Eval: word(Adv, "co i rusz"); | |
236 | + | |
237 | + | |
238 | +Rule "frazeo: co tchu" | |
239 | + | |
240 | +Match: [orth~"[Cc]o"] [orth~"tchu"]; | |
241 | +Eval: word(Adv, "co tchu"); | |
242 | + | |
243 | + | |
244 | +Rule "frazeo: coraz to" | |
245 | + | |
246 | +Match: [base~"coraz"] [orth~"to"]; | |
247 | +Eval: word(Adv, "coraz to"); | |
248 | + | |
249 | + | |
250 | +Rule "frazeo: Cóż," | |
251 | + | |
252 | +Left: sb; | |
253 | +Match: [base~"cóż"]; | |
254 | +Right: ns [base~","]; | |
255 | +Eval: word(Interj, 2.base); | |
256 | + | |
257 | + | |
258 | +Rule "DisG: Cóż," | |
259 | + | |
260 | +Match: [base~"cóż" && pos~"Interj"]; | |
261 | +Eval: group(DisG, 1,1); | |
262 | + | |
263 | + | |
264 | +Rule "frazeo: dawno temu" | |
265 | + | |
266 | +Match: [orth~"[Dd]awno"] [base~"temu"]; | |
267 | +Eval: word(Adv, 0.base); | |
268 | + | |
269 | + | |
270 | +Rule "frazeo: do/u diabła" | |
271 | + | |
272 | +Match: [base~"do|u"] [orth~"diabła"]; | |
273 | +Eval: word(Interj, 1.base " " 2.orth); | |
274 | + | |
275 | + | |
276 | +Rule "DisG: do/u diabła" | |
277 | + | |
278 | +Match: ([base~"do diabła"] | [base~"u diabła"]); | |
279 | +Eval: group(DisG, 1,1); | |
280 | + | |
281 | + | |
282 | +Rule "frazeo: do/od rzeczy" | |
283 | + | |
284 | +Match: [base~"do|od"] [orth~"rzeczy"]; | |
285 | +Right: [case!~"gen"]; | |
286 | +Eval: word(Adv, 1.base " " 2.orth); | |
287 | + | |
288 | + | |
289 | +Rule "frazeo: do cna" | |
290 | + | |
291 | +Match: [base~"do" && pos~~"prep"] [base~"cna"]; | |
292 | +Eval: word(Adv, 0.base); | |
293 | + | |
294 | + | |
295 | +Rule "frazeo: do spraw" | |
296 | +Match: [base~"do"] [orth~"spraw"]; | |
297 | +Right: [pos~~"subst|ger" && case~~"gen"]; | |
298 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
299 | + | |
300 | + | |
301 | +Rule "frazeo: do syta i in." | |
302 | + | |
303 | +Match: [base~"do" && pos~~"prep"] | |
304 | + [orth~"czysta|naga|niedawna|ostatka|pełna|późna|sucha|syta|szczętu|upadłego|żywa"]; | |
305 | +Eval: word(Adv, 1.base " " 2.orth); | |
306 | + | |
307 | + | |
308 | +Rule "frazeo: do widzenia" | |
309 | + | |
310 | +Match: [base~"do"] [orth~"widzenia"]; | |
311 | +Eval: word(Interj, 1.base " " 2.orth); | |
312 | + | |
313 | + | |
314 | +Rule "frazeo: do żywego (1)" | |
315 | + | |
316 | +Match: [base~"do"] [orth~"żywego"]; | |
317 | +Right: [case!~"gen"]; | |
318 | +Eval: word(Adv, 1.base " " 2.orth); | |
319 | + | |
320 | + | |
321 | +Rule "frazeo: do żywego (2)" | |
322 | + | |
323 | +Match: [base~"do"] [orth~"żywego"]; | |
324 | +Right: ns [pos~"interp"]; | |
325 | +Eval: word(Adv, 1.base " " 2.orth); | |
326 | + | |
327 | + | |
328 | +Rule "frazeo: dopiero co" | |
329 | + | |
330 | +Match: [base~"dopiero"] [orth~"co"]; | |
331 | +Eval: word(Adv, 0.base); | |
332 | + | |
333 | + | |
334 | +Rule "frazeo: na dzień dobry" | |
335 | + | |
336 | +Match: [base~"na" && pos~"prep"] [orth~"dzień"] [orth~"dobry"]; | |
337 | +Eval: word(Adv, 0.base); | |
338 | + | |
339 | + | |
340 | +Rule "frazeo: dzień dobry" | |
341 | + | |
342 | +Match: [orth~"[Dd]zień"] [orth~"dobry"]; | |
343 | +Eval: word(Interj, 0.base); | |
344 | + | |
345 | + | |
346 | +Rule "frazeo: dziwnym trafem" | |
347 | + | |
348 | +Match: [orth~"[Dd]ziwnym"] [orth~"trafem"]; | |
349 | +Eval: word(Adv, "dziwnym trafem"); | |
350 | + | |
351 | + | |
352 | +Rule "frazeo: happy end" | |
353 | + | |
354 | +Match: [base~"happy"] [base~"end"]; | |
355 | +Eval: word(2, Noun, 0.base); | |
356 | + | |
357 | + | |
358 | +Rule "frazeo: gdzie|kiedy itp. indziej" | |
359 | + | |
360 | +Match: [base~"gdzie|gdzieś|gdziekolwiek|nigdzie|wszędzie|kiedy|kiedykolwiek"] [base~"indziej"]; | |
361 | +Eval: word(Adv, 0.base); | |
362 | + | |
363 | + | |
364 | +Rule "frazeo: expressis verbis" | |
365 | + | |
366 | +Match: [base~"expressis"] [base~"verbis"]; | |
367 | +Eval: word(Adv, 0.base); | |
368 | + | |
369 | + | |
370 | +Rule "frazeo: i to" | |
371 | + | |
372 | +Left: [base~","]; | |
373 | +Match: [base~"i" && pos~"conj"] [base~"to" && pos~"qub"]; | |
374 | +Eval: word(Qub, 0.base); | |
375 | + | |
376 | + | |
377 | +Rule "frazeo: in corpore" | |
378 | + | |
379 | +Match: [base~"in"] [base~"corpore"]; | |
380 | +Eval: word(Adv, 0.base); | |
381 | + | |
382 | + | |
383 | +Rule "frazeo: innymi słowy" | |
384 | + | |
385 | +Match: [orth~"[Ii]nnymi"] [orth~"słowy"]; | |
386 | +Eval: word(Qub, "innymi " 2.orth); | |
387 | + | |
388 | + | |
389 | +Rule "DisG: innymi słowy" | |
390 | + | |
391 | +Match: [base~"innymi słowy"]; | |
392 | +Eval: group(DisG, 1,1); | |
393 | + | |
394 | + | |
395 | +Rule "frazeo: inaczej mówiąc" | |
396 | + | |
397 | +Match: [orth~"[Ii]naczej"] [orth~"mówiąc"]; | |
398 | +Eval: word(Qub, "inaczej " 2.orth); | |
399 | + | |
400 | + | |
401 | +Rule "DisG: inaczej mówiąc" | |
402 | + | |
403 | +Match: [base~"inaczej mówiąc"]; | |
404 | +Eval: group(DisG, 1,1); | |
405 | + | |
406 | + | |
407 | +Rule "frazeo: i tak dalej" | |
408 | + | |
409 | +Match: [base~"i"] [base~"tak" && pos~"adv"] [orth~"dalej"]; | |
410 | +Eval: word(Qub, "i tak dalej"); | |
411 | + | |
412 | + | |
413 | +Rule "DisG: i tak dalej" | |
414 | + | |
415 | +Match: [base~"i tak dalej"]; | |
416 | +Eval: group(DisG, 1,1); | |
417 | + | |
418 | + | |
419 | +#LD Na razie wyłączyłam regułę, bo trzeba lepiej opisać kontekst. | |
420 | +#Rule "frazeo: i tak" | |
421 | +# | |
422 | +#Match: [base~"i"] [base~"tak"]; | |
423 | +#Eval: word(Qub, 0.base); | |
424 | +#? częściej Adv, ale trudno podać dobry kontekst | |
425 | + | |
426 | + | |
427 | +Rule "frazeo: jak dotąd" | |
428 | + | |
429 | +Match: [base~"jak"] [base~"dotąd"]; | |
430 | +Eval: word(Adv, 0.base); | |
431 | + | |
432 | + | |
433 | +Rule "frazeo: tak czy owak|siak" | |
434 | + | |
435 | +Match: [orth~"[Tt]ak"] [base~"czy"] [orth~"owak|siak"]; | |
436 | +Eval: word(Qub, 0.base); | |
437 | + | |
438 | + | |
439 | +Rule "DisG: tak czy owak|siak" | |
440 | + | |
441 | +Match: [base~"tak czy owak|tak czy siak"]; | |
442 | +Eval: group(DisG, 1,1); | |
443 | + | |
444 | + | |
445 | +Rule "frazeo: tak jakby (Comp)" | |
446 | + | |
447 | +Left: [base~","]; | |
448 | +Match: [base~"tak"] [base~"jakby"]; | |
449 | +Eval: word(Comp, 0.base); | |
450 | + | |
451 | + | |
452 | +Rule "frazeo: tak jakby (Qub)" | |
453 | + | |
454 | +Match: [base~"tak"] [base~"jakby"]; | |
455 | +Eval: word(Qub, 0.base); | |
456 | + | |
457 | + | |
458 | +Rule "frazeo: tak jak gdyby" | |
459 | + | |
460 | +Left: [base~","]; | |
461 | +Match: [base~"tak"] [base~"jak"] [base~"gdyby"]; | |
462 | +Eval: word(Comp, 0.base); | |
463 | + | |
464 | + | |
465 | +Rule "frazeo: jak gdyby (Comp)" | |
466 | + | |
467 | +Left: [base~","]; | |
468 | +Match: [base~"jak"] [base~"gdyby"]; | |
469 | +Eval: word(Comp, 0.base); | |
470 | + | |
471 | + | |
472 | +Rule "frazeo: jak gdyby (Qub)" | |
473 | + | |
474 | +Match: [base~"jak"] [base~"gdyby"]; | |
475 | +Eval: word(Qub, 0.base); | |
476 | +#[KG: może lepiej opisać kontekst (na razie wystarczy)] | |
477 | + | |
478 | + | |
479 | +Rule "frazeo: jak najbardziej (Interj)" | |
480 | + | |
481 | +Left: sb; | |
482 | +Match: [base~"jak"] [orth~"najbardziej"]; | |
483 | +Right: [pos~"interp"]? se; | |
484 | +Eval: word(Interj, 2.base " " 3.orth); #LD zmiana cyferek | |
485 | + | |
486 | + | |
487 | +Rule "frazeo: jak najbardziej (Adv)" | |
488 | + | |
489 | +Match: [base~"jak"] [orth~"najbardziej"]; | |
490 | +Eval: word(Adv, 1.base " " 2.orth); | |
491 | + | |
492 | + | |
493 | +Rule "frazeo: jak też" | |
494 | + | |
495 | +Match: [base~"jak"] [base~"też"]; | |
496 | +Eval: word(Conj, 0.base); | |
497 | + | |
498 | + | |
499 | +Rule "frazeo: jako że|iż" | |
500 | + | |
501 | +Match: [base~"jako"] [base~"że|iż"]; | |
502 | +Eval: word(Comp, 0.base); | |
503 | + | |
504 | + | |
505 | +Rule "frazeo: jako żywo" | |
506 | + | |
507 | +Match: [base~"jako"] [base~"żywo"]; | |
508 | +Eval: word(Adv, 0.base); | |
509 | + | |
510 | + | |
511 | +Rule "frazeo: jednym tchem" | |
512 | + | |
513 | +Match: [orth~"[Jj]ednym"] [orth~"tchem"]; | |
514 | +Eval: word(Adv, "jednym tchem"); | |
515 | + | |
516 | + | |
517 | +Rule "frazeo: Jezus Maria" | |
518 | + | |
519 | +Match: [orth~"[Jj]ezus"] [orth~"[Mm]aria"]; | |
520 | +Eval: word(Interj, 0.orth); | |
521 | + | |
522 | + | |
523 | +Rule "frazeo: kick boxing" | |
524 | + | |
525 | +Match: [base~"kick"] [base~"boxing"]; | |
526 | +Eval: word(2, Noun, 0.base); | |
527 | + | |
528 | + | |
529 | +Rule "frazeo: krok po kroku" | |
530 | + | |
531 | +Match: [orth~"[Kk]rok"] [base~"po"] [orth~"kroku"]; | |
532 | +Eval: word(Adv, "krok po kroku"); | |
533 | + | |
534 | + | |
535 | +Rule "frazeo: krok w krok" | |
536 | + | |
537 | +Match: [orth~"[Kk]rok"] [base~"w"] [orth~"krok"]; | |
538 | +Eval: word(Adv, 0.base); | |
539 | + | |
540 | + | |
541 | +Rule "frazeo: krok za krokiem" | |
542 | + | |
543 | +Match: [orth~"[Kk]rok"] [base~"za"] [orth~"krokiem"]; | |
544 | +Eval: word(Adv, "krok za krokiem"); | |
545 | + | |
546 | + | |
547 | +Rule "frazeo: ku pamięci" | |
548 | +Match: [base~"ku"] [orth~"pamięci"]; | |
549 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
550 | + && case~~"gen"]; | |
551 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
552 | + | |
553 | + | |
554 | +Rule "frazeo: latem|jesienią|zimą|wiosną" | |
555 | + | |
556 | +Match: [base~"lato|jesień|zima|wiosna" && case~"inst"]; | |
557 | +Eval: word(Adv, 0.orth); | |
558 | + | |
559 | + | |
560 | +Rule "frazeo: mało kto|co" | |
561 | + | |
562 | +Match: [orth~"[Mm]ało"] [base~"kto|co"]; | |
563 | +Eval: word(2, Noun, 0.base); | |
564 | + | |
565 | + | |
566 | +Rule "frazeo: Matko Boska" | |
567 | + | |
568 | +Match: [orth~"[Mm]atko"] [orth~"[Bb]oska|jedyna|[Śś]więta"]; | |
569 | +Eval: word(Interj, 0.orth); | |
570 | + | |
571 | + | |
572 | +Rule "frazeo: mimo to" | |
573 | + | |
574 | +Match: [base~"mimo|pomimo" && pos~~"prep"] [base~"to"]; | |
575 | +Eval: word(Qub, 0.base); | |
576 | + | |
577 | + | |
578 | +Rule "frazeo: mimo wszystko" | |
579 | + | |
580 | +Match: [base~"mimo|pomimo" && pos~~"prep"] [base~"wszystko"]; | |
581 | +Eval: word(Qub, 0.base); | |
582 | + | |
583 | + | |
584 | +Rule "frazeo: mniej więcej" | |
585 | + | |
586 | +Match: [orth~"[Mm]niej"] [orth~"więcej"]; | |
587 | +Eval: word(Qub, "mniej więcej"); | |
588 | + | |
589 | + | |
590 | +Rule "frazeo: mniej lub więcej" | |
591 | + | |
592 | +Match: [orth~"mniej"] [base~"lub|bądź"] [orth~"więcej|bardziej"]; | |
593 | +Eval: word(Adv, 0.orth); | |
594 | + | |
595 | + | |
596 | +Rule "frazeo: musztarda po obiedzie" | |
597 | + | |
598 | +Match: [base~"musztarda"] [base~"po"] [orth~"obiedzie"]; #LD zmiana orth na base w 1. el. | |
599 | +Eval: word(1, Noun, 1.base " " 2.base " " 3.orth); #LD dodano:"1, " | |
600 | + | |
601 | + | |
602 | +Rule "frazeo: na baczność" | |
603 | + | |
604 | +Match: [base~"na"] [orth~"baczność"]; | |
605 | +Eval: word(Adv, 0.base); | |
606 | + | |
607 | + | |
608 | +Rule "frazeo: na bakier" | |
609 | + | |
610 | +Match: [base~"na" && pos~~"prep"] [orth~"bakier"]; | |
611 | +Eval: word(Adv, 1.base " " 2.orth); | |
612 | + | |
613 | + | |
614 | +Rule "frazeo: na bazie i in." | |
615 | +Match: [base~"na"] | |
616 | + [orth~"bazie|czele|drodze|gruncie|końcu|łamach|miarę|mocy|modłę|poczet|podstawie|progu|przeciąg|przełomie|przestrzeni|punkcie|rzecz|skalę|skutek|szkodę|środku|temat|tle|wypadek|wzór|zakończenie|zasadzie"]; | |
617 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
618 | + && case~~"gen"]; | |
619 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
620 | + | |
621 | + | |
622 | +Rule "frazeo: na co dzień" | |
623 | + | |
624 | +Match: [base~"na"] [orth~"co"] [orth~"dzień"]; | |
625 | +Eval: word(Adv, 0.base); | |
626 | + | |
627 | +Rule "frazeo: na czas" | |
628 | + | |
629 | +Match: [base~"na" && pos~~"prep"] [orth~"czas"]; | |
630 | +Right: [case!~"acc"]; | |
631 | +Eval: word(Adv, 1.base " " 2.orth); | |
632 | + | |
633 | + | |
634 | +Rule "frazeo: na czele" | |
635 | + | |
636 | +Match: [base~"na"] [orth~"czele"]; | |
637 | +Eval: word(Adv, 1.base " " 2.orth); | |
638 | + | |
639 | + | |
640 | +Rule "frazeo: na dłuższą|krótszą metę" | |
641 | + | |
642 | +Match: [base~"na"] [orth~"dłuższą|krótszą"] [orth~"metę"]; | |
643 | +Eval: word(Adv, 1.base " " 2.orth " " 3.orth); | |
644 | + | |
645 | + | |
646 | +Rule "frazeo: na dobrą sprawę" | |
647 | + | |
648 | +Match: [base~"na"] [orth~"dobrą"] [orth~"sprawę"]; | |
649 | +Eval: word(Qub, "na dobrą sprawę"); | |
650 | + | |
651 | + | |
652 | +Rule "frazeo: na dobre i na złe" | |
653 | + | |
654 | +Match: [base~"na" && pos~~"prep"] [orth~"dobre"] [base~"i"] | |
655 | + [base~"na" && pos~~"prep"] [orth~"złe"]; | |
656 | +Eval: word(Adv, "na dobre i na złe"); | |
657 | + | |
658 | + | |
659 | +Rule "frazeo: na dobre" | |
660 | + | |
661 | +Match: [base~"na"] [orth~"dobre"]; | |
662 | +Right: [case!~"acc"]; | |
663 | +Eval: word(Adv, 1.base " " 2.orth); | |
664 | + | |
665 | + | |
666 | +Rule "frazeo: na dobry początek" | |
667 | + | |
668 | +Match: [base~"na"] [orth~"dobry"] [orth~"początek"]; | |
669 | +Eval: word(Adv, 0.base); | |
670 | + | |
671 | + | |
672 | +Rule "frazeo: na dodatek" | |
673 | + | |
674 | +Match: [base~"na"] [orth~"dodatek"]; | |
675 | +Eval: word(Qub, 1.base " " 2.orth); | |
676 | + | |
677 | + | |
678 | +Rule "frazeo: na domiar złego" | |
679 | + | |
680 | +Match: [base~"na"] [orth~"domiar"] [orth~"złego"]; | |
681 | +Eval: word(Qub, "na domiar złego"); | |
682 | + | |
683 | + | |
684 | +Rule "frazeo: na dwoje" | |
685 | + | |
686 | +Match: [base~"na"] [orth~"dwoje"]; | |
687 | +Eval: word(Adv, 1.base " " 2.orth); | |
688 | + | |
689 | + | |
690 | +Rule "frazeo: na golasa i in." | |
691 | + | |
692 | +Match: [base~"na" && pos~~"prep"] [orth~"golasa|głodniaka|pewniaka|stojaka|waleta|wariata"]; | |
693 | +Eval: word(Adv, 1.base " " 2.orth); | |
694 | + | |
695 | + | |
696 | +Rule "frazeo: na gwałt|głos" | |
697 | + | |
698 | +Match: [base~"na"] [orth~"gwałt|głos"]; | |
699 | +Eval: word(Adv, 0.base); | |
700 | + | |
701 | + | |
702 | +Rule "frazeo: na jaw" | |
703 | + | |
704 | +Match: [base~"na"] [orth~"jaw"]; | |
705 | +Eval: word(Adv, 1.base " " 2.orth); | |
706 | + | |
707 | + | |
708 | +Rule "frazeo: na/w lewo/prawo" | |
709 | + | |
710 | +Match: [base~"na|w"] [orth~"lewo|prawo" && pos~"adjp"]; | |
711 | +Eval: word(Adv, 1.base " " 2.orth); | |
712 | + | |
713 | + | |
714 | +Rule "frazeo: na/od kiedy" | |
715 | + | |
716 | +Match: [base~"na|od"] [base~"kiedy"]; | |
717 | +Eval: word(Adv, 0.base); | |
718 | + | |
719 | + | |
720 | +Rule "frazeo: na łeb, na szyję" | |
721 | + | |
722 | +Match: [base~"na"] [orth~"łeb"] ns [base~","]? [base~"na"] [orth~"szyję"]; | |
723 | +Eval: word(Adv, "na łeb, na szyję"); | |
724 | + | |
725 | + | |
726 | +Rule "frazeo: na odczepne i in." | |
727 | + | |
728 | +Match: [base~"na" && pos~~"prep"] [orth~"odczepne|odchodne"]; | |
729 | +Eval: word(Adv, 1.base " " 2.orth); | |
730 | + | |
731 | + | |
732 | +Rule "frazeo: na odczepnego i in." | |
733 | + | |
734 | +Match: [base~"na" && pos~~"prep"] [orth~"całego|głodnego|odczepnego|upartego"]; | |
735 | +Eval: word(Adv, 1.base " " 2.orth); | |
736 | + | |
737 | + | |
738 | +Rule "frazeo: na odchodnym i in." | |
739 | + | |
740 | +Match: [base~"na" && pos~~"prep"] [orth~"odchodnym|odjezdnym|wychodnym|wyjezdnym"]; | |
741 | +Eval: word(Adv, 1.base " " 2.orth); | |
742 | + | |
743 | + | |
744 | +Rule "frazeo: na odtrąbiono" | |
745 | + | |
746 | +Match: [base~"na" && pos~~"prep"] [orth~"odtrąbiono"]; | |
747 | +Eval: word(Adv, 1.base " " 2.orth); | |
748 | + | |
749 | + | |
750 | +Rule "frazeo: na odwrót|opak" | |
751 | + | |
752 | +Match: [base~"na"] [orth~"odwrót|opak"]; | |
753 | +Eval: word(Qub, 0.base); | |
754 | + | |
755 | + | |
756 | +Rule "frazeo: na ogół" | |
757 | + | |
758 | +Match: [base~"na" && pos~~"prep"] [orth~"ogół"]; | |
759 | +Eval: word(Adv, 1.base " " 2.orth); | |
760 | + | |
761 | + | |
762 | +Rule "frazeo: na oścież" | |
763 | + | |
764 | +Match: [base~"na" && pos~~"prep"] [base~"oścież"]; | |
765 | +Eval: word(Adv, 0.base); | |
766 | + | |
767 | + | |
768 | +Rule "frazeo: na oślep" | |
769 | + | |
770 | +Match: [base~"na"] [base~"oślep"]; | |
771 | +Eval: word(Adv, 0.base); | |
772 | + | |
773 | + | |
774 | +Rule "frazeo: na pewno" | |
775 | + | |
776 | +Match: [base~"na" && pos~~"prep"] [orth~"pewno"]; | |
777 | +Eval: word(Qub, 1.base " " 2.orth); | |
778 | + | |
779 | + | |
780 | +Rule "frazeo: na pierwszy rzut oka" | |
781 | + | |
782 | +Match: [base~"na"] [orth~"pierwszy"] [orth~"rzut"] [orth~"oka"]; | |
783 | +Eval: word(Adv, 1.base " " 2.base " " 3.base " " 4.orth); | |
784 | + | |
785 | + | |
786 | +Rule "frazeo: na piśmie" | |
787 | + | |
788 | +Match: [base~"na" && pos~~"prep"] [orth~"piśmie"]; | |
789 | +Eval: word(Adv, 1.base " " 2.orth); | |
790 | + | |
791 | + | |
792 | +Rule "frazeo: na początku (Prep)" | |
793 | +Match: [base~"na"] [orth~"początku|wstępie"]; | |
794 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
795 | + && case~~"gen"]; | |
796 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
797 | + | |
798 | + | |
799 | +Rule "frazeo: na początku (Adv)" | |
800 | + | |
801 | +Match: [base~"na"] [orth~"początku|wstępie"]; | |
802 | +Right: [case!~"gen"]; | |
803 | +Eval: word(Adv, 1.base " " 2.orth); | |
804 | + | |
805 | + | |
806 | +Rule "frazeo: na poczekaniu" | |
807 | + | |
808 | +Match: [base~"na"] [orth~"poczekaniu"]; | |
809 | +Eval: word(Adv, 1.base " " 2.orth); | |
810 | + | |
811 | + | |
812 | +Rule "frazeo: na powrót" | |
813 | + | |
814 | +Match: [base~"na"] [orth~"powrót"]; | |
815 | +Eval: word(Adv, 0.base); | |
816 | + | |
817 | + | |
818 | +Rule "frazeo: na poziomie (Prep)" | |
819 | + | |
820 | +Match: [base~"na"] [orth~"poziomie"]; | |
821 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
822 | + && case~~"gen"]; | |
823 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
824 | + | |
825 | + | |
826 | +Rule "frazeo: na poziomie (Adj)" | |
827 | + | |
828 | +Match: [base~"na"] [orth~"poziomie"]; | |
829 | +Right: [case!~"gen"]; | |
830 | +Eval: word(Adjc, 1.base " " 2.orth); | |
831 | + | |
832 | + | |
833 | +Rule "frazeo: na pozór" | |
834 | + | |
835 | +Match: [base~"na"] [orth~"pozór"]; | |
836 | +Eval: word(Adv, 1.base " " 2.orth); | |
837 | + | |
838 | + | |
839 | +Rule "frazeo: na przekór" | |
840 | +Match: [base~"na"] [orth~"przekór"]; | |
841 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
842 | + && case~~"dat"]; | |
843 | +Eval: word(Prep:dat, 1.base " " 2.orth); | |
844 | + | |
845 | + | |
846 | +Rule "frazeo: na przemian" | |
847 | + | |
848 | +Match: [base~"na" && pos~~"prep"] [base~"przemian"]; | |
849 | +Eval: word(Adv, 0.base); | |
850 | + | |
851 | + | |
852 | +Rule "frazeo: na przykład" | |
853 | + | |
854 | +Match: [base~"na" && pos~~"prep"] [orth~"przykład"]; | |
855 | +Right: [case!~"gen"]; | |
856 | +Eval: word(Qub, 1.base " " 2.orth); | |
857 | + | |
858 | + | |
859 | +Rule "DisG: na przykład" | |
860 | + | |
861 | +Match: [base~"na przykład" && pos~~"Qub"]; | |
862 | +Eval: group(DisG, 1,1); | |
863 | + | |
864 | + | |
865 | +#Rule "frazeo: na przyszłość" | |
866 | +# | |
867 | +#Match: [base~"na"] [orth~"przyszłość"]; | |
868 | +#Eval: word(Adv, 0.base); | |
869 | +#odróżnić od "plany na przyszłość" | |
870 | + | |
871 | + | |
872 | +Rule "frazeo: na razie (Interj)" | |
873 | + | |
874 | +Match: [base~"na" && pos~~"prep"] [orth~"razie"]; | |
875 | +Right: [base~"!" && pos~"interp"]; | |
876 | +Eval: word(Interj, 1.base " " 2.orth); | |
877 | + | |
878 | + | |
879 | +Rule "frazeo: na razie (Adv)" | |
880 | + | |
881 | +Match: [base~"na" && pos~~"prep"] [orth~"razie"]; | |
882 | +Eval: word(Adv, 1.base " " 2.orth); | |
883 | + | |
884 | + | |
885 | +Rule "frazeo: na równi z" | |
886 | +Match: [base~"na"] [orth~"równi"] [base~"z"]; | |
887 | +Eval: word(3, Prep, 1.base " " 2.orth " " 3.base); | |
888 | + | |
889 | + | |
890 | +Rule "frazeo: na siłę" | |
891 | + | |
892 | +Match: [base~"na" && pos~~"prep"] [orth~"siłę"]; | |
893 | +Eval: word(Adv, 1.base " " 2.orth); | |
894 | + | |
895 | + | |
896 | +Rule "frazeo: na stałe" | |
897 | + | |
898 | +Match: [base~"na" && pos~~"prep"] [orth~"stałe" && pos~"adjp"]; | |
899 | +Eval: word(Adv, 1.base " " 2.orth); | |
900 | + | |
901 | + | |
902 | +Rule "frazeo: na szczęście" | |
903 | + | |
904 | +Match: [base~"na"] [orth~"szczęście"]; | |
905 | +Eval: word(Adv, 0.base); | |
906 | + | |
907 | + | |
908 | +Rule "frazeo: na własne oczy|uszy" | |
909 | + | |
910 | +Match: [base~"na"] [orth~"własne"] [orth~"oczy|uszy"]; | |
911 | +Eval: word(Adv, 1.base " " 2.orth " " 3.orth); | |
912 | + | |
913 | + | |
914 | +Rule "frazeo: na własność" | |
915 | + | |
916 | +Match: [base~"na" && pos~~"prep"] [orth~"własność"]; | |
917 | +Eval: word(Adv, 0.base); | |
918 | + | |
919 | + | |
920 | +Rule "frazeo: na wpół" | |
921 | + | |
922 | +Match: [base~"na" && pos~~"prep"] [orth~"wpół"]; | |
923 | +Right: [base!~"do"]; | |
924 | +Eval: word(Adv, 1.base " " 2.orth); | |
925 | + | |
926 | + | |
927 | +Rule "frazeo: na wprost (Prep)" | |
928 | + | |
929 | +Match: [base~"na" && pos~~"prep"] [orth~"wprost"]; | |
930 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
931 | + && case~~"gen"]; | |
932 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
933 | + | |
934 | + | |
935 | +Rule "frazeo: na wprost i in." | |
936 | + | |
937 | +Match: [base~"na" && pos~~"prep"] | |
938 | + [orth~"wprost|przełaj|wyprzódki"]; | |
939 | +Eval: word(Adv, 1.base " " 2.orth); | |
940 | + | |
941 | + | |
942 | +Rule "frazeo: na wskroś" | |
943 | + | |
944 | +Match: [base~"na" && pos~~"prep"] [base~"wskroś"]; | |
945 | +Eval: word(Adv, 0.base); | |
946 | + | |
947 | + | |
948 | +Rule "frazeo: na wszelki wypadek" | |
949 | + | |
950 | +Match: [base~"na"] [orth~"wszelki"] [orth~"wypadek"]; | |
951 | +Eval: word(Adv, 1.base " " 2.orth " " 3.orth); | |
952 | + | |
953 | + | |
954 | +Rule "frazeo: na wyrost|wznak" | |
955 | + | |
956 | +Match: [base~"na"] [orth~"wyrost|wznak"]; | |
957 | +Eval: word(Adv, 0.base); | |
958 | + | |
959 | + | |
960 | +Rule "frazeo: na zakończenie|koniec" | |
961 | + | |
962 | +Match: [base~"na"] [orth~"zakończenie|koniec"]; | |
963 | +Right: [case!~"gen"]; | |
964 | +Eval: word(Adv, 0.base); | |
965 | + | |
966 | + | |
967 | +Rule "frazeo: na złość" | |
968 | + | |
969 | +Match: [base~"na" && pos~~"prep"] [orth~"złość"]; | |
970 | +Eval: word(Adv, 1.base " " 2.orth); | |
971 | + | |
972 | + | |
973 | +Rule "frazeo: na/od zawsze" | |
974 | + | |
975 | +Match: [base~"na|od" && pos~~"prep"] [base~"zawsze"]; | |
976 | +Eval: word(Adv, 0.base); | |
977 | + | |
978 | + | |
979 | +Rule "frazeo: na -o (1)" | |
980 | + | |
981 | +Match: [base~"na" && pos~~"prep"] | |
982 | + [orth~".*o" && pos~~"adv" && base!~"bardzo|pewno"]; | |
983 | +Right: [pos!~"adj|pact|ppas"]; | |
984 | +Eval: word(Adv, 1.base " " 2.orth); | |
985 | + | |
986 | + | |
987 | +Rule "frazeo: na -o (2)" | |
988 | + | |
989 | +Match: [base~"na" && pos~~"prep"] | |
990 | + [orth~".*o" && pos~~"adv" && base!~"bardzo|pewno"]; | |
991 | +Right: ns [pos~"interp"]; | |
992 | +Eval: word(Adv, 1.base " " 2.orth); | |
993 | + | |
994 | + | |
995 | +Rule "frazeo: na zewnątrz + gen" | |
996 | + | |
997 | +Match: [base~"na" && pos~~"prep"] [base~"zewnątrz"]; | |
998 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
999 | + && case~~"gen"]; | |
1000 | +Eval: word(Prep:gen, 0.base); | |
1001 | + | |
1002 | + | |
1003 | +Rule "frazeo: na/od/z zewnątrz" | |
1004 | + | |
1005 | +Match: [base~"na|od|z" && pos~~"prep"] [base~"zewnątrz"]; | |
1006 | +Eval: word(Adv, 0.base); | |
1007 | + | |
1008 | + | |
1009 | +Rule "frazeo: nad podziw|wyraz" | |
1010 | + | |
1011 | +Match: [base~"nad" && pos~~"prep"] [orth~"podziw|wyraz"]; | |
1012 | +Eval: word(Adv, 0.base); | |
1013 | + | |
1014 | + | |
1015 | +Rule "frazeo: nade wszystko" | |
1016 | + | |
1017 | +Match: [orth~"[Nn]ade"] [orth~"wszystko"]; | |
1018 | +Eval: word(Qub, "nade wszystko"); | |
1019 | + | |
1020 | + | |
1021 | +Rule "frazeo: nie lada" | |
1022 | + | |
1023 | +Match: [base~"nie"] [base~"lada"]; | |
1024 | +Eval: word(Qub, 0.base); | |
1025 | + | |
1026 | + | |
1027 | +Rule "frazeo: ni stąd, ni zowąd" | |
1028 | + | |
1029 | +Match: [base~"ni"] [base~"stąd"] ns [base~","] [base~"ni"] [base~"zowąd"]; | |
1030 | +Eval: word(Adv, 0.base); | |
1031 | + | |
1032 | + | |
1033 | +Rule "frazeo: non stop" | |
1034 | + | |
1035 | +Match: [base~"non"] [base~"stop"]; | |
1036 | +Eval: word(Adv, 0.base); | |
1037 | + | |
1038 | + | |
1039 | +Rule "frazeo: o krok od" | |
1040 | +Match: [base~"o" && pos~"prep"] [orth~"krok"] [base~"od"]; | |
1041 | +Eval: word(Prep:gen, 0.base); | |
1042 | + | |
1043 | + | |
1044 | +Rule "frazeo: o mało (co)" | |
1045 | +Match: [base~"o"] [orth~"mało"] [orth~"co"]?; | |
1046 | +Eval: word(Adv, 0.base); | |
1047 | + | |
1048 | + | |
1049 | +Rule "frazeo: o wiele (1)" | |
1050 | + | |
1051 | +Match: [base~"o" && pos~~"prep"] [orth~"wiele" && pos~~"num"]; | |
1052 | +Right: [base~"za"] [pos~"adj|adv" && degree~"pos"]; | |
1053 | +Eval: word(Adv, 1.base " " 2.orth); | |
1054 | + | |
1055 | + | |
1056 | +Rule "frazeo: o wiele (2)" | |
1057 | + | |
1058 | +Match: [base~"o" && pos~~"prep"] [orth~"wiele" && pos~~"num"]; | |
1059 | +Right: [pos~"adj|adv" && degree~"com"]; | |
1060 | +Eval: word(Adv, 1.base " " 2.orth); | |
1061 | + | |
1062 | + | |
1063 | +Rule "frazeo: od czasu do czasu" | |
1064 | + | |
1065 | +Match: [base~"od"] [orth~"czasu"] | |
1066 | + [base~"do"] [orth~"czasu"]; | |
1067 | +Eval: word(Adv, "od czasu do czasu"); | |
1068 | + | |
1069 | + | |
1070 | +Rule "frazeo: od dawna/nowa" | |
1071 | + | |
1072 | +Match: [base~"od" && pos~~"prep"] | |
1073 | + [orth~"dawna|niedawna|pradawna|nowa|razu|zaraz"]; | |
1074 | +Eval: word(Adv, 1.base " " 2.orth); | |
1075 | + | |
1076 | + | |
1077 | +#LD zmieniłam regułę i rozmnożyłam | |
1078 | +#info: rozmnożone, bo nie da się wziąć informacji od elementu spoza linii Match | |
1079 | +Rule "frazeo: od groma + m1" | |
1080 | + | |
1081 | +Match: [base~"od"] [orth~"groma"]; | |
1082 | +Right: [pos~"adj|subst" && gender~"m1"]; | |
1083 | +Eval: word(Num:pl:acc:m1:rec, 1.base " " 2.orth); | |
1084 | +#przypadek "z sufitu" | |
1085 | + | |
1086 | +Rule "frazeo: od groma + m2" | |
1087 | + | |
1088 | +Match: [base~"od"] [orth~"groma"]; | |
1089 | +Right: [pos~"adj|subst" && gender~"m2"]; | |
1090 | +Eval: word(Num:pl:acc:m2:rec, 1.base " " 2.orth); | |
1091 | +#przypadek "z sufitu" | |
1092 | + | |
1093 | +Rule "frazeo: od groma + m3" | |
1094 | + | |
1095 | +Match: [base~"od"] [orth~"groma"]; | |
1096 | +Right: [pos~"adj|subst" && gender~"m3"]; | |
1097 | +Eval: word(Num:pl:acc:m3:rec, 1.base " " 2.orth); | |
1098 | +#przypadek "z sufitu" | |
1099 | + | |
1100 | +Rule "frazeo: od groma + f" | |
1101 | + | |
1102 | +Match: [base~"od"] [orth~"groma"]; | |
1103 | +Right: [pos~"adj|subst" && gender~"f"]; | |
1104 | +Eval: word(Num:pl:acc:f:rec, 1.base " " 2.orth); | |
1105 | +#przypadek "z sufitu" | |
1106 | + | |
1107 | +Rule "frazeo: od groma + n" | |
1108 | + | |
1109 | +Match: [base~"od"] [orth~"groma"]; | |
1110 | +Right: [pos~"adj|subst" && gender~"n"]; | |
1111 | +Eval: word(Num:pl:acc:n:rec, 1.base " " 2.orth); | |
1112 | +#przypadek "z sufitu" | |
1113 | + | |
1114 | +Rule "frazeo: od groma + brak NG" | |
1115 | + | |
1116 | +Match: [base~"od"] [orth~"groma"]; | |
1117 | +Right: [pos!~"adj|subst"]; | |
1118 | +Eval: word(Num:pl:acc:n:rec, 1.base " " 2.orth); | |
1119 | +#przypadek i rodzaj "z sufitu" | |
1120 | + | |
1121 | + | |
1122 | +Rule "frazeo: od kuchni" | |
1123 | + | |
1124 | +Match: [base~"od"] [orth~"kuchni"]; | |
1125 | +Eval: word(Adv, 1.base " " 2.orth); | |
1126 | + | |
1127 | + | |
1128 | +Rule "frazeo: od niechcenia" | |
1129 | + | |
1130 | +Match: [base~"od" && pos~~"prep"] [orth~"niechcenia"]; | |
1131 | +Eval: word(Adv, 1.base " " 2.orth); | |
1132 | + | |
1133 | + | |
1134 | +Rule "frazeo: od początku (Adv)" | |
1135 | +Match: [base~"od"] [orth~"początku"]; | |
1136 | +Right: [case!~"gen"]; | |
1137 | +Eval: word(Adv, 1.base " " 2.orth); | |
1138 | + | |
1139 | + | |
1140 | +Rule "frazeo: od przypadku do przypadku" | |
1141 | + | |
1142 | +Match: [base~"od"] [orth~"przypadku"] | |
1143 | + [base~"do"] [orth~"przypadku"]; | |
1144 | +Eval: word(Adv, "od przypadku do przypadku"); | |
1145 | + | |
1146 | + | |
1147 | +Rule "frazeo: od stóp do głów" | |
1148 | + | |
1149 | +Match: [base~"od"] [orth~"stóp"] | |
1150 | + [base~"do"] [orth~"głów"]; | |
1151 | +Eval: word(Adv, 1.base " " 2.orth " " 3.base " " 4.orth); | |
1152 | + | |
1153 | + | |
1154 | +Rule "frazeo: od ucha do ucha" | |
1155 | + | |
1156 | +Match: [base~"od"] [orth~"ucha"] | |
1157 | + [base~"do"] [orth~"ucha"]; | |
1158 | +Eval: word(Adv, "od ucha do ucha"); | |
1159 | + | |
1160 | + | |
1161 | +Rule "frazeo: odnośnie do" | |
1162 | +Match: [base~"odnośnie"] [base~"do"]; | |
1163 | +Eval: word(Prep:gen, 0.base); | |
1164 | + | |
1165 | + | |
1166 | +Rule "frazeo: oko w oko" | |
1167 | + | |
1168 | +Match: [orth~"[Oo]ko"] [base~"w"] [orth~"oko"]; | |
1169 | +Eval: word(Adv, 0.base); | |
1170 | + | |
1171 | + | |
1172 | +Rule "frazeo: twarzą w twarz" | |
1173 | + | |
1174 | +Match: ([orth~"[Tt]warzą"] | [orth~"[Tt]warz"]) [base~"w"] [orth~"twarz"]; | |
1175 | +Eval: word(Adv, 1.orth " " 2.base " " 3.base); | |
1176 | + | |
1177 | + | |
1178 | +Rule "frazeo: panie dzieju" | |
1179 | + | |
1180 | +Match: [orth~"[Pp]anie"] [orth~"dzieju"]; | |
1181 | +Eval: word(Interj, "panie dzieju"); | |
1182 | + | |
1183 | + | |
1184 | +Rule "DisG: panie dzieju" | |
1185 | + | |
1186 | +Match: [base~"panie dzieju"]; | |
1187 | +Eval: group(DisG, 1,1); | |
1188 | + | |
1189 | + | |
1190 | +Rule "frazeo: pędem" | |
1191 | + | |
1192 | +Match: [base~"pęd" && case~"inst" && number~"sg"]; | |
1193 | +Right: $czasownik; | |
1194 | +Eval: word(Adv, "pędem"); | |
1195 | + | |
1196 | + | |
1197 | +Rule "frazeo: piąte przez dziesiąte" | |
1198 | + | |
1199 | +Match: [orth~"[Pp]iąte"] [base~"przez"] [orth~"dziesiąte"]; | |
1200 | +Eval: word(Adv, "piąte przez dziesiąte"); | |
1201 | + | |
1202 | + | |
1203 | +Rule "frazeo: Po co " | |
1204 | + | |
1205 | +Left: sb; | |
1206 | +Match: [base~"po" && pos~~"prep"] [orth~"co|cóż"]; | |
1207 | +Eval: word(Adv, 0.base); | |
1208 | +##było też "na co", ale inne rzeczy się łapały | |
1209 | + | |
1210 | + | |
1211 | +Rule "frazeo: , po co" | |
1212 | + | |
1213 | +Left: [base~","]; | |
1214 | +Match: [base~"po" && pos~~"prep"] [orth~"co|cóż"]; | |
1215 | +Eval: word(Adv, 0.base); | |
1216 | +##było też "na co", ale inne rzeczy się łapały | |
1217 | + | |
1218 | + | |
1219 | +Rule "frazeo: po drodze" | |
1220 | + | |
1221 | +Match: [base~"po" && pos~~"prep"] [orth~"drodze"]; | |
1222 | +Right: [pos!~"adj"]; | |
1223 | +Eval: word(Adv, 1.base " " 2.orth); | |
1224 | +##tu można dokładniej: prawy kontekst to albo nie "szybkiego" albo nie przymiotnik w miejscowniku (jak to zapisać ! && !?) | |
1225 | + | |
1226 | + | |
1227 | +Rule "frazeo: po herbacie|zawodach" | |
1228 | + | |
1229 | +Left: [base~"i"]; | |
1230 | +Match: [base~"po" && pos~~"prep"] [orth~"herbacie|zawodach"]; | |
1231 | +Eval: word(Adv, 2.base " " 3.orth); #LD zmiana cyferek | |
1232 | + | |
1233 | + | |
1234 | +Rule "frazeo: po imieniu" | |
1235 | + | |
1236 | +Match: [base~"po"] [orth~"imieniu"]; | |
1237 | +Eval: word(Adv, 1.base " " 2.orth); | |
1238 | + | |
1239 | + | |
1240 | +Rule "frazeo: po prostu" | |
1241 | + | |
1242 | +Match: [base~"po" && pos~~"prep"] [orth~"prostu"]; | |
1243 | +Eval: word(Qub, 1.base " " 2.orth); | |
1244 | + | |
1245 | + | |
1246 | +Rule "frazeo: po trochu itp." | |
1247 | + | |
1248 | +Match: [base~"po" && pos~~"prep"] [orth~"trochu|trosze|troszeczku|troszku"]; | |
1249 | +Eval: word(Qub, 1.base " " 2.orth); | |
1250 | + | |
1251 | + | |
1252 | +Rule "frazeo: po wiele/okroć" | |
1253 | + | |
1254 | +Match: [base~"po"] [base~"wielekroć|wielokroć"]; | |
1255 | +Eval: word(Adv, 0.base); | |
1256 | + | |
1257 | + | |
1258 | +Rule "frazeo: po -u" | |
1259 | + | |
1260 | +Match: [base~"po" && pos~~"prep"] [orth~".*u" && pos~~"adjp|burk"]; | |
1261 | +Eval: word(Adv, 1.base " " 2.orth); | |
1262 | + | |
1263 | + | |
1264 | +Rule "frazeo: po pierwsze/drugie" | |
1265 | + | |
1266 | +Match: [base~"po" && pos~~"prep"] | |
1267 | + [orth~"pierwsze|drugie|trzecie|czwarte" && pos~~"adj"]; | |
1268 | +Eval: word(Qub, 1.base " " 2.orth); | |
1269 | +#jaka to część mowy? było Adv, ale sądzę, że jednak Qub | |
1270 | + | |
1271 | + | |
1272 | +Rule "frazeo: po próżnicy" | |
1273 | + | |
1274 | +Match: [base~"po" && pos~~"prep"] [orth~"próżnicy"]; | |
1275 | +Eval: word(Adv, 1.base " " 2.orth); | |
1276 | + | |
1277 | + | |
1278 | +Rule "frazeo: po raz pierwszy itp." | |
1279 | + | |
1280 | +Match: [base~"po"] [orth~"raz"] [orth~"pierwszy|drugi|trzeci|czwarty"]; | |
1281 | +Eval: word(Adv, 0.base); | |
1282 | + | |
1283 | + | |
1284 | +Rule "frazeo: po raz [kolejny]" | |
1285 | + | |
1286 | +Match: [base~"po"] [orth~"raz"] [base~"adj" && case~"acc"]; | |
1287 | +Eval: word(Adv, 0.base); | |
1288 | + | |
1289 | + | |
1290 | +Rule "frazeo: po równo" | |
1291 | + | |
1292 | +Match: [base~"po"] [orth~"równo"]; | |
1293 | +Eval: word(Adv, 1.base " " 2.orth); | |
1294 | + | |
1295 | + | |
1296 | +Rule "frazeo: po zęby" | |
1297 | + | |
1298 | +Match: [base~"po"] [orth~"zęby"]; | |
1299 | +Eval: word(Adv, 1.base " " 2.orth); | |
1300 | + | |
1301 | + | |
1302 | +Rule "frazeo: pod adresem i in." | |
1303 | + | |
1304 | +Match: [base~"pod"] | |
1305 | + [orth~"adresem|ciężarem|egidą|koniec|maską|okiem|osłoną|płaszczykiem|postacią|pozorem|pretekstem|warunkiem|wezwaniem|wodzą|wpływem|względem"]; | |
1306 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
1307 | + && case~~"gen"]; | |
1308 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
1309 | + | |
1310 | + | |
1311 | +Rule "frazeo: pod auspicjami" | |
1312 | + | |
1313 | +Match: [base~"pod"] [orth~"auspicjami"]; | |
1314 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
1315 | + && case~~"gen"]; | |
1316 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
1317 | + | |
1318 | + | |
1319 | +Rule "frazeo: pod kątem (Prep)" | |
1320 | + | |
1321 | +Match: [base~"pod"] [orth~"kątem"]; | |
1322 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
1323 | + && case~~"gen"]; | |
1324 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
1325 | + | |
1326 | + | |
1327 | +Rule "frazeo: pod kątem (Adv)" | |
1328 | + | |
1329 | +Match: [base~"pod"] [orth~"kątem"]; | |
1330 | +Eval: word(Adv, 1.base " " 2.orth); | |
1331 | + | |
1332 | + | |
1333 | +Rule "frazeo: pod ochroną" | |
1334 | + | |
1335 | +Match: [base~"pod"] [orth~"ochroną"]; | |
1336 | +Eval: word(Adv, 1.base " " 2.orth); | |
1337 | + | |
1338 | + | |
1339 | +Rule "frazeo: podczas gdy" | |
1340 | + | |
1341 | +Match: [base~"podczas"] [base~"gdy"]; | |
1342 | +Eval: word(Adv, 0.base); | |
1343 | + | |
1344 | + | |
1345 | +Rule "frazeo: podobnie jak" | |
1346 | + | |
1347 | +Match: [base~"podobnie" && pos~"conj"] [base~"jak" && pos~"conj"]; | |
1348 | +Eval: word(Conj, 0.base); | |
1349 | + | |
1350 | + | |
1351 | +Rule "frazeo: poza tym" | |
1352 | + | |
1353 | +Match: [base~"poza" && pos~"prep"] [orth~"tym"]; | |
1354 | +Right: [case!~"inst"]; | |
1355 | +Eval: word(Qub, 1.base " " 2.orth); | |
1356 | + | |
1357 | + | |
1358 | +Rule "frazeo: powiedzmy" | |
1359 | + | |
1360 | +Left: [base~","]; | |
1361 | +Match: [orth~"powiedzmy"]; | |
1362 | +Right: [base~","]; | |
1363 | +Eval: word(Qub, 2.orth); | |
1364 | + | |
1365 | + | |
1366 | +Rule "DisG: powiedzmy" | |
1367 | + | |
1368 | +Match: [base~"powiedzmy"]; | |
1369 | +Eval: group(DisG, 1,1); | |
1370 | + | |
1371 | + | |
1372 | +#Rule "frazeo: prawda?" | |
1373 | +# | |
1374 | +#Match: [orth~"prawda" && pos~"subst"] ns [base~"?"]; | |
1375 | +#Right: ns [base~"?"]; | |
1376 | +#Eval: word(Interj, 1.base); | |
1377 | +#!! reguła nie działa | |
1378 | + | |
1379 | + | |
1380 | +Rule "frazeo: prędzej czy później" | |
1381 | + | |
1382 | +Match: [orth~"[Pp]rędzej"] [base~"czy"] [orth~"później"]; | |
1383 | +Eval: word(Adv, "prędzej czy później"); | |
1384 | + | |
1385 | + | |
1386 | +Rule "frazeo: wcześniej czy później" | |
1387 | + | |
1388 | +Match: [orth~"[Ww]cześniej"] [base~"czy"] [orth~"później"]; | |
1389 | +Eval: word(Adv, "wcześniej czy później"); | |
1390 | + | |
1391 | + | |
1392 | +Rule "frazeo: prosit" | |
1393 | + | |
1394 | +Match: [base~"prosit"]; | |
1395 | +Eval: word(Interj, 1.base); | |
1396 | + | |
1397 | + | |
1398 | +Rule "frazeo: przede wszystkim" | |
1399 | + | |
1400 | +Match: [orth~"[Pp]rzede"] [orth~"wszystkim"]; | |
1401 | +Eval: word(Qub, "przede wszystkim"); | |
1402 | + | |
1403 | + | |
1404 | +Rule "frazeo: przy okazji (Prep)" | |
1405 | + | |
1406 | +Match: [base~"przy"] [orth~"okazji"]; | |
1407 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
1408 | + && case~~"gen"]; | |
1409 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
1410 | + | |
1411 | + | |
1412 | +Rule "frazeo: przy okazji (Adv)" | |
1413 | + | |
1414 | +Match: [base~"przy"] [orth~"okazji"]; | |
1415 | +Eval: word(Adv, 1.base " " 2.orth); | |
1416 | + | |
1417 | + | |
1418 | +Rule "frazeo: przy pomocy" | |
1419 | +Match: [base~"przy"] [orth~"pomocy"]; | |
1420 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
1421 | + && case~~"gen"]; | |
1422 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
1423 | + | |
1424 | + | |
1425 | +Rule "frazeo: przy czym|tym (Conj)" | |
1426 | + | |
1427 | +Left: [base~","]; | |
1428 | +Match: [base~"przy"] [orth~"czym|tym" && pos~"subst"]; | |
1429 | +Eval: word(Conj, 2.base " " 3.orth); | |
1430 | + | |
1431 | + | |
1432 | +Rule "frazeo: przy tym (Qub)" | |
1433 | + | |
1434 | +Match: [base~"przy"] [orth~"tym" && pos~"subst"]; | |
1435 | +Right: [case!~"loc"]; | |
1436 | +Eval: word(Qub, 1.base " " 2.orth); | |
1437 | + | |
1438 | + | |
1439 | +Rule "frazeo: przykładowo" | |
1440 | + | |
1441 | +Match: [orth~"[Pp]rzykładowo"]; | |
1442 | +Eval: word(Qub, 1.base); | |
1443 | + | |
1444 | + | |
1445 | +Rule "DisG: przykładowo" | |
1446 | + | |
1447 | +Match: [base~"przykładowo"]; | |
1448 | +Eval: group(DisG, 1,1); | |
1449 | + | |
1450 | + | |
1451 | +Rule "frazeo: razem z i in." | |
1452 | + | |
1453 | +Match: [base~"razem|łącznie|wespół|wraz"] [base~"z" && pos~~"prep"]; | |
1454 | +Eval: word(2, Prep, 0.base); | |
1455 | + | |
1456 | + | |
1457 | +Rule "frazeo: raz po raz" | |
1458 | + | |
1459 | +Match: [orth~"[Rr]az"] [base~"po"] [orth~"raz"]; | |
1460 | +Eval: word(Adv, 0.base); | |
1461 | + | |
1462 | +Rule "frazeo: rodem z" | |
1463 | + | |
1464 | +Match: [orth~"[Rr]odem"] [base~"z" && pos~~"prep"]; | |
1465 | +Eval: word(2, Prep, "rodem z"); | |
1466 | + | |
1467 | + | |
1468 | +Rule "frazeo: rzecz jasna|oczywista" | |
1469 | + | |
1470 | +Match: [orth~"[Rr]zecz"] [orth~"jasna|oczywista"]; | |
1471 | +Eval: word(Qub, "rzecz " 2.orth); | |
1472 | +#w ISJP "rzecz jasna, że" to Interj, a u nas co? | |
1473 | + | |
1474 | + | |
1475 | +Rule "DisG: rzecz jasna|oczywista" | |
1476 | + | |
1477 | +Match: ([base~"rzecz jasna"] | [base~"rzecz oczywista"]); | |
1478 | +Eval: group(DisG, 1,1); | |
1479 | + | |
1480 | + | |
1481 | +Rule "frazeo: sam w sobie" | |
1482 | + | |
1483 | +Match: [base~"sam"] [base~"w"] [orth~"sobie"]; | |
1484 | +Eval: word(1, Adj, 1.base " " 2.base " " 3.orth); | |
1485 | + | |
1486 | + | |
1487 | +Rule "frazeo: skoro świt" | |
1488 | + | |
1489 | +Match: [orth~"[Ss]koro"] [orth~"świt"]; | |
1490 | +Eval: word(Adv, 0.base); | |
1491 | + | |
1492 | + | |
1493 | +Rule "frazeo: słowo w słowo" | |
1494 | + | |
1495 | +Match: [orth~"[Ss]łowo"] [base~"w"] [orth~"słowo"]; | |
1496 | +Eval: word(Adv, 0.base); | |
1497 | + | |
1498 | + | |
1499 | +Rule "frazeo: status quo" | |
1500 | + | |
1501 | +Match: [base~"status"] [base~"quo"]; | |
1502 | +Eval: word(1, Noun, 0.base); | |
1503 | + | |
1504 | + | |
1505 | +Rule "frazeo: swego czasu" | |
1506 | + | |
1507 | +Match: [orth~"[Ss]wego"] [orth~"czasu"]; | |
1508 | +Eval: word(Adv, "swego czasu"); | |
1509 | + | |
1510 | + | |
1511 | +Rule "frazeo: swoją drogą" | |
1512 | + | |
1513 | +Match: [orth~"[Ss]woją"] [orth~"drogą"]; | |
1514 | +Eval: word(Qub, "swoją drogą"); | |
1515 | + | |
1516 | + | |
1517 | +Rule "DisG: swoją drogą" | |
1518 | + | |
1519 | +Match: [base~"swoją drogą"]; | |
1520 | +Eval: group(DisG, 1,1); | |
1521 | + | |
1522 | + | |
1523 | +Rule "frazeo: tak jakby" | |
1524 | + | |
1525 | +Left: [base~","]; | |
1526 | +Match: [base~"tak"] [base~"jakby"]; | |
1527 | +Eval: word(Comp, 0.base); | |
1528 | + | |
1529 | + | |
1530 | +Rule "frazeo: tak naprawdę" | |
1531 | + | |
1532 | +Match: [base~"tak"] [orth~"naprawdę"]; | |
1533 | +Eval: word(Qub, 1.base " " 2.orth); | |
1534 | + | |
1535 | + | |
1536 | +Rule "frazeo: tak zwany" | |
1537 | + | |
1538 | +Match: [base~"tak"] [base~"zwać" && pos~"ppas"]; | |
1539 | +Eval: word(Adj:2.number:2.case:2.gender:pos, "tak zwany"); #LD zmiana | |
1540 | +#Eval: word(2, Adj:pos, "tak zwany"); | |
1541 | + | |
1542 | + | |
1543 | +#Rule "frazeo: to znaczy" | |
1544 | +# | |
1545 | +#Match: [orth~"[Tt]o"] [orth~"znaczy"]; | |
1546 | +#Eval: word(Conj, "to znaczy"); | |
1547 | +#!! lepiej zdefiniować | |
1548 | + | |
1549 | + | |
1550 | +Rule "frazeo: tu i ówdzie" | |
1551 | + | |
1552 | +Match: [base~"tu"] [base~"i"] [base~"ówdzie"]; | |
1553 | +Eval: word(Adv, 0.base); | |
1554 | + | |
1555 | + | |
1556 | +Rule "frazeo: tym razem" | |
1557 | + | |
1558 | +Match: [orth~"[Tt]ym"] [orth~"razem"]; | |
1559 | +Eval: word(Adv, "tym razem"); | |
1560 | + | |
1561 | + | |
1562 | +Rule "frazeo: tym samym" | |
1563 | + | |
1564 | +Left: [pos!~"prep"]; | |
1565 | +Match: [orth~"[Tt]ym"] [orth~"samym"]; | |
1566 | +Eval: word(Qub, "tym samym"); | |
1567 | + | |
1568 | + | |
1569 | +Rule "frazeo: tak samo" | |
1570 | + | |
1571 | +Match: [base~"tak"] [base~"samo"]; | |
1572 | +Eval: word(Adv:pos, 0.base); | |
1573 | + | |
1574 | + | |
1575 | +Rule "frazeo: taki sam" | |
1576 | + | |
1577 | +Match: [base~"taki"] [base~"sam"]; | |
1578 | +Eval: unify(case number gender,1,2); | |
1579 | + word(1, Adj, 0.base); | |
1580 | + | |
1581 | + | |
1582 | +Rule "frazeo: ten sam" | |
1583 | + | |
1584 | +Match: [base~"ten"] [base~"sam"]; | |
1585 | +Eval: unify(case number gender,1,2); | |
1586 | + word(1, Adj, 0.base); | |
1587 | + | |
1588 | + | |
1589 | +Rule "frazeo: to samo" | |
1590 | + | |
1591 | +Match: [base~"to"] [base~"sam"]; | |
1592 | +Eval: unify(case number gender,1,2); | |
1593 | + word(1, Noun, 1.base " samo"); | |
1594 | + | |
1595 | + | |
1596 | +Rule "frazeo: tyle samo" | |
1597 | + | |
1598 | +Match: [base~"tyle"] [orth~"samo"]; | |
1599 | +Eval: word(Adv, 1.base " " 2.orth); | |
1600 | + | |
1601 | + | |
1602 | +Rule "frazeo: tyle|tylko że" | |
1603 | + | |
1604 | +Match: [base~"tyle|tylko"] [base~"że"]; | |
1605 | +Eval: word(Conj, 0.base); | |
1606 | + | |
1607 | + | |
1608 | +Rule "frazeo: u boku i in." | |
1609 | +Match: [base~"u"] [orth~"boku|góry|progu|schyłku|stóp"]; | |
1610 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
1611 | + && case~~"gen"]; | |
1612 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
1613 | + | |
1614 | + | |
1615 | +Rule "frazeo: w biały dzień" | |
1616 | + | |
1617 | +Match: [base~"w"] [orth~"biały"] [orth~"dzień"]; | |
1618 | +Eval: word(Adv, 0.base); | |
1619 | + | |
1620 | + | |
1621 | +Rule "frazeo: w całej rozciągłości" | |
1622 | + | |
1623 | +Match: [base~"w"] [orth~"całej"] [orth~"rozciągłości"]; | |
1624 | +Eval: word(Adv, 1.base " " 2.orth " " 3.orth); | |
1625 | + | |
1626 | + | |
1627 | +Rule "frazeo: w całości" | |
1628 | + | |
1629 | +Match: [base~"w"] [orth~"całości"]; | |
1630 | +Eval: word(Adv, 1.base " " 2.orth); | |
1631 | + | |
1632 | + | |
1633 | +Rule "frazeo: w dodatku" | |
1634 | + | |
1635 | +Match: [base~"w"] [orth~"dodatku"]; | |
1636 | +Eval: word(Qub, 1.base " " 2.orth); | |
1637 | + | |
1638 | + | |
1639 | +Rule "frazeo: w głos" | |
1640 | + | |
1641 | +Match: [base~"w"] [orth~"głos"]; | |
1642 | +Eval: word(Adv, 0.base); | |
1643 | + | |
1644 | + | |
1645 | +Rule "frazeo: w gruncie rzeczy" | |
1646 | + | |
1647 | +Match: [base~"w"] [orth~"gruncie"] [orth~"rzeczy"]; | |
1648 | +Eval: word(Qub, 1.base " " 2.orth " " 3.orth); | |
1649 | + | |
1650 | + | |
1651 | +Rule "frazeo: w istocie rzeczy" | |
1652 | + | |
1653 | +Match: [base~"w"] [orth~"istocie"] [orth~"rzeczy"]; | |
1654 | +Eval: word(Qub, 1.base " " 2.orth " " 3.orth); | |
1655 | + | |
1656 | + | |
1657 | +Rule "frazeo: w istocie" | |
1658 | + | |
1659 | +Match: [base~"w"] [orth~"istocie"]; | |
1660 | +Eval: word(Qub, 1.base " " 2.orth); | |
1661 | + | |
1662 | + | |
1663 | +Rule "frazeo: w każdym razie" | |
1664 | + | |
1665 | +Match: [base~"w"] [orth~"każdym"] [orth~"razie"]; | |
1666 | +Eval: word(Qub, 1.base " " 2.orth " " 3.orth); | |
1667 | + | |
1668 | + | |
1669 | +Rule "DisG: w każdym razie" | |
1670 | + | |
1671 | +Match: [base~"w każdym razie"]; | |
1672 | +Eval: group(DisG, 1,1); | |
1673 | + | |
1674 | + | |
1675 | +Rule "frazeo: w kucki" | |
1676 | + | |
1677 | +Match: [base~"w"] [orth~"kucki"]; | |
1678 | +Eval: word(Adv, 1.base " " 2.orth); | |
1679 | + | |
1680 | + | |
1681 | +Rule "frazeo: w myślach|myśli" | |
1682 | + | |
1683 | +Match: [base~"w"] [orth~"myślach|myśli"]; | |
1684 | +Eval: word(Adv, 1.base " " 2.orth); | |
1685 | + | |
1686 | + | |
1687 | +Rule "frazeo: w najlepsze (1)" | |
1688 | + | |
1689 | +Match: [base~"w"] [orth~"najlepsze"]; | |
1690 | +Right: [case!~"acc"]; | |
1691 | +Eval: word(Adv, 1.base " " 2.orth); | |
1692 | + | |
1693 | + | |
1694 | +Rule "frazeo: w najlepsze (2)" | |
1695 | + | |
1696 | +Match: [base~"w"] [orth~"najlepsze"]; | |
1697 | +Right: ns [pos~"interp"]; | |
1698 | +Eval: word(Adv, 1.base " " 2.orth); | |
1699 | + | |
1700 | + | |
1701 | +Rule "frazeo: w oddali" | |
1702 | + | |
1703 | +Match: [base~"w"] [base~"oddali"]; | |
1704 | +Eval: word(Adv, 0.base); | |
1705 | + | |
1706 | + | |
1707 | +Rule "frazeo: w ostatniej chwili" | |
1708 | + | |
1709 | +Match: [base~"w"] [orth~"ostatniej"] [orth~"chwili"]; | |
1710 | +Eval: word(Adv, 1.base " " 2.orth " " 3.orth); | |
1711 | + | |
1712 | + | |
1713 | +Rule "frazeo: w razie czego" | |
1714 | + | |
1715 | +Match: [base~"w"] [orth~"razie"] [orth~"czego"]; | |
1716 | +Eval: word(Adv, 1.base " " 2.orth " " 3.orth); | |
1717 | + | |
1718 | + | |
1719 | +Rule "frazeo: w samą porę" | |
1720 | + | |
1721 | +Match: [base~"w"] [orth~"samą"] [orth~"porę"]; | |
1722 | +Eval: word(Adv, 1.base " " 2.orth " " 3.orth); | |
1723 | + | |
1724 | + | |
1725 | +Rule "frazeo: w zaparte" | |
1726 | + | |
1727 | +Match: [base~"w"] [orth~"zaparte"]; | |
1728 | +Eval: word(Adv, 1.base " " 2.orth); | |
1729 | + | |
1730 | + | |
1731 | +Rule "frazeo: w zasadzie" | |
1732 | + | |
1733 | +Match: [base~"w"] [orth~"zasadzie"]; | |
1734 | +Eval: word(Qub, 1.base " " 2.orth); | |
1735 | + | |
1736 | + | |
1737 | +Rule "frazeo: w zgodzie z" | |
1738 | + | |
1739 | +Match: [base~"w"] [orth~"zgodzie"] [base~"z" && pos~~"prep"]; | |
1740 | +Eval: word(3, Prep, "w zgodzie z"); | |
1741 | + | |
1742 | + | |
1743 | +Rule "frazeo: w zupełności|pełni" | |
1744 | + | |
1745 | +Match: [base~"w"] [orth~"zupełności|pełni"]; | |
1746 | +Eval: word(Adv, 1.base " " 2.orth); | |
1747 | + | |
1748 | + | |
1749 | +Rule "frazeo: w celu i in." | |
1750 | + | |
1751 | +Match: [base~"w" && pos~~"prep"] | |
1752 | + [orth~"celu|charakterze|ciągu|czasie|dole|drodze|duchu|dziedzinie|imieniu|imię|miejsce|myśl|następstwie|obliczu|obrębie|obronie|pobliże|postaci|przeciągu|przeddzień|przededniu|przypadku|ramach|razie|rodzaju|roli|sferze|skali|sprawie|stronę|środku|świetle|toku|trakcie|wydaniu|wyniku|wypadku|wysokości|zakresie|zastępstwie"]; | |
1753 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
1754 | + && case~~"gen"]; | |
1755 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
1756 | + | |
1757 | + | |
1758 | +Rule "frazeo: w efekcie i in. (Prep)" | |
1759 | + | |
1760 | +Match: [base~"w" && pos~~"prep"] | |
1761 | + [orth~"efekcie|rezultacie|głąb|głębi|pobliżu|poprzek|końcu"]; | |
1762 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
1763 | + && case~~"gen"]; | |
1764 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
1765 | + | |
1766 | + | |
1767 | +Rule "frazeo: w efekcie i in. (Adv)" | |
1768 | + | |
1769 | +Match: [base~"w" && pos~~"prep"] | |
1770 | + [orth~"efekcie|rezultacie|głąb|głębi|pobliżu|poprzek"]; | |
1771 | +Right: [case!~"gen"]; | |
1772 | +Eval: word(Adv, 1.base " " 2.orth); | |
1773 | + | |
1774 | + | |
1775 | +Rule "frazeo: w końcu (Qub)" | |
1776 | + | |
1777 | +Match: [base~"w" && pos~~"prep"] [orth~"końcu"]; | |
1778 | +Right: [case!~"gen"]; | |
1779 | +Eval: word(Qub, 1.base " " 2.orth); | |
1780 | + | |
1781 | + | |
1782 | +Rule "frazeo: w lot" | |
1783 | + | |
1784 | +Match: [base~"w"] [orth~"lot"]; | |
1785 | +Eval: word(Adv, 0.base); | |
1786 | + | |
1787 | + | |
1788 | +Rule "frazeo: w miarę jak (Comp)" | |
1789 | + | |
1790 | +Match: [base~"w" && pos~~"prep"] [orth~"miarę"] [base~"jak"]; | |
1791 | +Eval: word(Comp, 1.base " " 2.orth " " 3.base); | |
1792 | + | |
1793 | + | |
1794 | +Rule "frazeo: w miarę (Prep)" | |
1795 | + | |
1796 | +Match: [base~"w" && pos~~"prep"] [orth~"miarę"]; | |
1797 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
1798 | + && case~~"gen"]; | |
1799 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
1800 | + | |
1801 | + | |
1802 | +Rule "frazeo: w miarę (Adv)" | |
1803 | + | |
1804 | +Match: [base~"w" && pos~~"prep"] [orth~"miarę"]; | |
1805 | +Right: [pos~"adj|adv" && degree~"pos"]; | |
1806 | +Eval: word(Adv, 1.base " " 2.orth); | |
1807 | + | |
1808 | + | |
1809 | +Rule "frazeo: w odniesieniu do i in." | |
1810 | + | |
1811 | +Match: [base~"w" && pos~~"prep"] [orth~"nawiązaniu|odniesieniu|opozycji|przeciwieństwie|stosunku"] | |
1812 | + [base~"do" && pos~~"prep"]; | |
1813 | +Eval: word(Prep:gen, 1.base " " 2.orth " " 3.base); | |
1814 | + | |
1815 | + | |
1816 | +Rule "frazeo: w odpowiedzi na" | |
1817 | + | |
1818 | +Match: [base~"w" && pos~~"prep"] [orth~"odpowiedzi"] | |
1819 | + [base~"na" && pos~~"prep"]; | |
1820 | +Eval: word(Prep:acc, 1.base " " 2.orth " " 3.base); | |
1821 | + | |
1822 | + | |
1823 | +Rule "frazeo: w odróżnieniu|zależności od" | |
1824 | + | |
1825 | +Match: [base~"w" && pos~~"prep"] [orth~"odróżnieniu|zależności"] | |
1826 | + [base~"od" && pos~~"prep"]; | |
1827 | +Eval: word(Prep:gen, 1.base " " 2.orth " " 3.base); | |
1828 | + | |
1829 | + | |
1830 | +Rule "frazeo: w ogóle" | |
1831 | + | |
1832 | +Match: [base~"w"] [orth~"ogóle"]; | |
1833 | +Eval: word(Qub, 1.base " " 2.orth); | |
1834 | + | |
1835 | + | |
1836 | +Rule "frazeo: w ogólności" | |
1837 | + | |
1838 | +Match: [base~"w"] [orth~"ogólności"]; | |
1839 | +Eval: word(Qub, 1.base " " 2.orth); | |
1840 | + | |
1841 | + | |
1842 | +Rule "frazeo: w oparciu o" | |
1843 | + | |
1844 | +Match: [base~"w" && pos~~"prep"] [orth~"oparciu"] [base~"o" && pos~~"prep"]; | |
1845 | +Eval: word(Prep:acc, 1.base " " 2.orth " " 3.base); | |
1846 | + | |
1847 | + | |
1848 | +Rule "frazeo: w pojedynkę" | |
1849 | + | |
1850 | +Match: [base~"w"] [orth~"pojedynkę"]; | |
1851 | +Eval: word(Adv, 1.base " " 2.orth); | |
1852 | + | |
1853 | + | |
1854 | +Rule "frazeo: w porozumieniu z" | |
1855 | + | |
1856 | +Match: [base~"w" && pos~~"prep"] [orth~"porozumieniu"] | |
1857 | + [base~"z" && pos~~"prep"]; | |
1858 | +Eval: word(3, Prep, 1.base " " 2.orth " " 3.base); | |
1859 | + | |
1860 | + | |
1861 | +Rule "frazeo: w porównaniu|związku z" | |
1862 | + | |
1863 | +Match: [base~"w" && pos~~"prep"] [orth~"porównaniu|związku"] | |
1864 | + [base~"z" && pos~~"prep"]; | |
1865 | +Eval: word(3, Prep, 1.base " " 2.orth " " 3.base); | |
1866 | + | |
1867 | + | |
1868 | +Rule "frazeo: w porządku (Interj)" | |
1869 | + | |
1870 | +Left: sb; | |
1871 | +Match: [base~"w" && pos~~"prep"] [orth~"porządku"]; | |
1872 | +Right: [pos~"interp"]? se; | |
1873 | +Eval: word(Interj, 2.base " " 3.orth); #LD zmiana cyferek | |
1874 | + | |
1875 | + | |
1876 | +Rule "frazeo: w porządku (Adv)" | |
1877 | + | |
1878 | +Match: [base~"w" && pos~~"prep"] [orth~"porządku"]; | |
1879 | +Eval: word(Adv, 1.base " " 2.orth); | |
1880 | + | |
1881 | + | |
1882 | +Rule "frazeo: wpół do" | |
1883 | + | |
1884 | +Match: [base~"wpół|pół"] [base~"do"]; | |
1885 | +Eval: word(Prep:gen, 0.base); | |
1886 | + | |
1887 | + | |
1888 | +Rule "frazeo: w sumie" | |
1889 | + | |
1890 | +Match: [base~"w"] [orth~"sumie"]; | |
1891 | +Eval: word(Adv, 1.base " " 2.orth); | |
1892 | + | |
1893 | + | |
1894 | +Rule "frazeo: w szczególności" | |
1895 | + | |
1896 | +Match: [base~"w"] [orth~"szczególności"]; | |
1897 | +Eval: word(Qub, 1.base " " 2.orth); | |
1898 | + | |
1899 | + | |
1900 | +Rule "frazeo: w ślad za" | |
1901 | + | |
1902 | +Match: [base~"w" && pos~~"prep"] [orth~"ślad"] [base~"za" && pos~~"prep"]; | |
1903 | +Eval: word(Prep:inst, 1.base " " 2.orth " " 3.orth); | |
1904 | + | |
1905 | + | |
1906 | +Rule "frazeo: w zamian za" | |
1907 | + | |
1908 | +Match: [base~"w" && pos~~"prep"] [orth~"zamian"] [base~"za" && pos~~"prep"]; | |
1909 | +Eval: word(Prep:acc, 1.base " " 2.orth " " 3.orth); | |
1910 | + | |
1911 | + | |
1912 | +Rule "frazeo: w zamian" | |
1913 | + | |
1914 | +Match: [base~"w"] [orth~"zamian"]; | |
1915 | +Eval: word(Adv, 1.base " " 2.orth); | |
1916 | + | |
1917 | +Rule "frazeo: we wnętrzu" | |
1918 | + | |
1919 | +Match: [orth~"[Ww]e" && pos~~"prep"] [orth~"wnętrzu"]; | |
1920 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
1921 | + && case~~"gen"]; | |
1922 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
1923 | + | |
1924 | + | |
1925 | +Rule "frazeo: wbrew pozorom" | |
1926 | + | |
1927 | +Match: [base~"wbrew"] [orth~"pozorom"]; | |
1928 | +Eval: word(Qub, 1.base " " 2.orth); | |
1929 | + | |
1930 | + | |
1931 | +Rule "frazeo: wszystko jedno" | |
1932 | + | |
1933 | +Match: [orth~"[Ww]szystko"] [orth~"jedno"]; | |
1934 | +Eval: word(Adv, 1.base " " 2.orth); | |
1935 | + | |
1936 | + | |
1937 | +Rule "frazeo: z całą pewnością" | |
1938 | + | |
1939 | +Match: [base~"z"] [orth~"całą"] [orth~"pewnością"]; | |
1940 | +Eval: word(Qub, 1.base " " 2.orth " " 3.orth); | |
1941 | + | |
1942 | + | |
1943 | +Rule "frazeo: z całych sił" | |
1944 | + | |
1945 | +Match: [base~"z"] [orth~"całych"] [orth~"sił"]; | |
1946 | +Eval: word(Adv, "z " 2.orth " " 3.orth); | |
1947 | + | |
1948 | + | |
1949 | +Rule "frazeo: ze wszystkich sił" | |
1950 | + | |
1951 | +Match: [base~"z"] [orth~"wszystkich"] [orth~"sił"]; | |
1952 | +Eval: word(Adv, "ze " 2.orth " " 3.orth); | |
1953 | + | |
1954 | + | |
1955 | +Rule "frazeo: z całej siły" | |
1956 | + | |
1957 | +Match: [base~"z"] [orth~"całej"] [orth~"siły"]; | |
1958 | +Eval: word(Adv, 1.base " " 2.orth " " 3.orth); | |
1959 | + | |
1960 | + | |
1961 | +Rule "frazeo: ile|co sił" | |
1962 | + | |
1963 | +Match: [orth~"ile|co"] [orth~"sił"]; | |
1964 | +Eval: word(Adv, 1.base " " 2.orth); | |
1965 | + | |
1966 | + | |
1967 | +Rule "frazeo: z ciężkim sercem" | |
1968 | + | |
1969 | +Match: [orth~"[Zz]"] [orth~"ciężkim"] [orth~"sercem"]; | |
1970 | +Eval: word(Adv, "z " 2.orth " " 3.orth); | |
1971 | + | |
1972 | + | |
1973 | +Rule "frazeo: z czasem (1)" | |
1974 | + | |
1975 | +Left: sb; | |
1976 | +Match: [base~"z" && pos~~"prep"] [orth~"czasem"]; | |
1977 | +Eval: word(Adv, 2.base " " 3.orth); | |
1978 | + | |
1979 | + | |
1980 | +Rule "frazeo: z czasem (2)" | |
1981 | + | |
1982 | +Match: [base~"z" && pos~~"prep"] [orth~"czasem"]; | |
1983 | +Right: [pos~"qub"]? $czasownik; | |
1984 | +Eval: word(Adv, 1.base " " 2.orth); | |
1985 | + | |
1986 | + | |
1987 | +Rule "frazeo: z dala|daleka od" | |
1988 | + | |
1989 | +Match: [base~"z" && pos~~"prep"] [orth~"dala|daleka"] [base~"od"]; | |
1990 | +Eval: word(Prep:gen, 1.base " " 2.orth " " 3.base); | |
1991 | + | |
1992 | + | |
1993 | +Rule "frazeo: daleko od" | |
1994 | + | |
1995 | +Match: [base~"daleko"] [base~"od"]; | |
1996 | +Eval: word(Prep:gen, 0.base); | |
1997 | + | |
1998 | + | |
1999 | +Rule "frazeo: z bliska/daleka" | |
2000 | + | |
2001 | +Match: [base~"z" && pos~~"prep"] | |
2002 | + [orth~"bliska|cicha|dala|daleka|lekka|lewa|nagła|naprzeciwka|niedaleka|oddali|osobna|ostrożna|przeciwka|rzadka|ukosa|wolna|wysoka"]; | |
2003 | +Eval: word(Adv, 1.base " " 2.orth); | |
2004 | + | |
2005 | + | |
2006 | +Rule "frazeo: z duszą na ramieniu" | |
2007 | + | |
2008 | +Match: [base~"z"] [orth~"duszą"] [base~"na"] [orth~"ramieniu"]; | |
2009 | +Eval: word(Adv, "z duszą na ramieniu"); | |
2010 | + | |
2011 | + | |
2012 | +Rule "frazeo: z głębi i in." | |
2013 | + | |
2014 | +Match: [base~"z" && pos~~"prep"] | |
2015 | + [orth~"głębi|końcem|okazji|perspektywy|początkiem|pomocą|powodu|przyczyny|racji|ramienia|strony|tyłu|tytułu|wyjątkiem"]; | |
2016 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
2017 | + && case~~"gen"]; | |
2018 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
2019 | + | |
2020 | + | |
2021 | +Rule "frazeo: z grubsza" | |
2022 | + | |
2023 | +Match: [base~"z" && pos~~"prep"] [orth~"grubsza"]; | |
2024 | +Eval: word(Qub, 1.base " " 2.orth); | |
2025 | + | |
2026 | +Rule "frazeo: z gruntu" | |
2027 | + | |
2028 | +Match: [base~"z" && pos~~"prep"] [orth~"gruntu"]; | |
2029 | +Eval: word(Adv, 1.base " " 2.orth); | |
2030 | + | |
2031 | +Rule "frazeo: z|po kolei" | |
2032 | + | |
2033 | +Match: [base~"z|po" && pos~~"prep"] [orth~"kolei"]; | |
2034 | +Eval: word(Adv, 1.base " " 2.orth); | |
2035 | + | |
2036 | + | |
2037 | +#LD Tę regułę trzeba na razie wyłączyć, bo produkuje niepełne tagi. | |
2038 | +#brak informacji morfologicznych dla Adj | |
2039 | +#Rule "frazeo: z krwi i kości" | |
2040 | + | |
2041 | +#Nie można wziąć informacji z elementu z kontekstu, więc reguły trzeba by rozmnożyć. Wtedy będzie 70 reguł (2 liczby, 7 przypadków, 5 rodzajów). | |
2042 | +#Left: [pos~"subst" && number~"sg"]; | |
2043 | +#Match: [base~"z"] [orth~"krwi"] [base~"i"] [orth~"kości"]; | |
2044 | +#Eval: word(1, Adj, "z krwi i kości"); | |
2045 | + | |
2046 | + | |
2047 | +Rule "frazeo: z łatwością|trudem" | |
2048 | + | |
2049 | +Match: [base~"z" && pos~~"prep"] [orth~"łatwością|trudem"]; | |
2050 | +Eval: word(Adv, 1.base " " 2.orth); | |
2051 | + | |
2052 | + | |
2053 | +Rule "frazeo: z pewnością" | |
2054 | + | |
2055 | +Match: [base~"z" && pos~~"prep"] [orth~"pewnością"]; | |
2056 | +Eval: word(Qub, 1.base " " 2.orth); | |
2057 | + | |
2058 | + | |
2059 | +Rule "frazeo: z powrotem" | |
2060 | + | |
2061 | +Match: [base~"z"] [orth~"powrotem"]; | |
2062 | +Eval: word(Adv, 1.base " " 2.orth); | |
2063 | + | |
2064 | + | |
2065 | +Rule "frazeo: z pozoru" | |
2066 | + | |
2067 | +Match: [base~"z"] [orth~"pozoru"]; | |
2068 | +Eval: word(Adv, 1.base " " 2.orth); | |
2069 | + | |
2070 | + | |
2071 | +#LD Tę regułę trzeba na razie wyłączyć, bo produkuje niepełne tagi. | |
2072 | +#brak informacji morfologicznych dla Adj | |
2073 | +#Rule "frazeo: z prawdziwego zdarzenia" | |
2074 | +# | |
2075 | +#Match: [base~"z"] [orth~"prawdziwego"] [orth~"zdarzenia"]; | |
2076 | +#Eval: word(Adj, 1.base " " 2.orth " " 3.orth); | |
2077 | + | |
2078 | + | |
2079 | +Rule "frazeo: z punktu widzenia" | |
2080 | + | |
2081 | +Match: [base~"z" && pos~~"prep"] [orth~"punktu"] [orth~"widzenia"]; | |
2082 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
2083 | + && case~~"gen"]; | |
2084 | +Eval: word(Prep:gen, 1.base " " 2.orth " " 3.orth); | |
2085 | + | |
2086 | + | |
2087 | +Rule "frazeo: z pyszna" | |
2088 | + | |
2089 | +Match: [base~"z" && pos~~"prep"] [orth~"pyszna"]; | |
2090 | +Eval: word(Adv, 1.base " " 2.orth); | |
2091 | + | |
2092 | + | |
2093 | +Rule "frazeo: z rana" | |
2094 | + | |
2095 | +Match: [base~"z" && pos~~"prep"] [orth~"samego"]? [orth~"rana"]; | |
2096 | +Eval: word(Adv, 0.orth); | |
2097 | + | |
2098 | + | |
2099 | +Rule "frazeo: ze smakiem" | |
2100 | + | |
2101 | +Left: [base~"jeść|zjeść"]; | |
2102 | +Match: [base~"z"] [orth~"smakiem"]; | |
2103 | +Eval: word(Adv, 2.base " " 3.orth); | |
2104 | + | |
2105 | + | |
2106 | +Rule "frazeo: z zasady" | |
2107 | + | |
2108 | +Match: [base~"z"] [orth~"zasady|reguły"]; | |
2109 | +Eval: word(Qub, 1.base " " 2.orth); | |
2110 | + | |
2111 | + | |
2112 | +Rule "frazeo: z zimną krwią" | |
2113 | + | |
2114 | +Match: [base~"z"] [orth~"zimną"] [orth~"krwią"]; | |
2115 | +Eval: word(Adv, "z " 2.orth " " 3.orth); | |
2116 | + | |
2117 | + | |
2118 | +Rule "frazeo: z -ska" | |
2119 | + | |
2120 | +Match: [base~"z" && pos~~"prep"] [orth~".*ska" && pos~~"adjp|burk"]; | |
2121 | +Eval: word(Adv, 1.base " " 2.orth); | |
2122 | + | |
2123 | + | |
2124 | +Rule "frazeo: z tym, że" | |
2125 | + | |
2126 | +Match: [base~"z"] [orth~"tym"] (ns [base~","])? [base~"że"]; | |
2127 | +Eval: word(Conj, 1.base " " 2.orth 3.base " " 4.base); | |
2128 | + | |
2129 | + | |
2130 | +Rule "frazeo: z uwagi na" | |
2131 | + | |
2132 | +Match: [base~"z"] [orth~"uwagi"] [base~"na"]; | |
2133 | +Eval: word(Prep:acc, 1.base " " 2.orth " " 3.base); | |
2134 | + | |
2135 | + | |
2136 | +Rule "frazeo: za darmo|bezcen" | |
2137 | + | |
2138 | +Match: [base~"za" && pos~~"prep"] [base~"darmo|bezcen"]; | |
2139 | +Eval: word(Adv, 0.base); | |
2140 | + | |
2141 | + | |
2142 | +Rule "frazeo: za to" | |
2143 | + | |
2144 | +Match: [base~"za" && pos~~"prep"] [orth~"to"]; | |
2145 | +Right: [case!~"acc"]; | |
2146 | +Eval: word(Qub, 1.base " " 2.orth); | |
2147 | + | |
2148 | + | |
2149 | +Rule "frazeo: za cenę i in." | |
2150 | + | |
2151 | +Match: [base~"za" && pos~~"prep"] | |
2152 | + [orth~"cenę|pomocą|pośrednictwem|sprawą"]; | |
2153 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
2154 | + && case~~"gen"]; | |
2155 | +Eval: word(Prep:gen, 1.base " " 2.orth); | |
2156 | + | |
2157 | + | |
2158 | +Rule "frazeo: ze względu na" | |
2159 | + | |
2160 | +Match: [orth~"[Zz]e"] [orth~"względu"] [base~"na"]; | |
2161 | +Eval: word(Prep:acc, "ze względu na"); | |
2162 | + | |
2163 | + | |
2164 | +Rule "frazeo: zależnie|niezależnie od" | |
2165 | + | |
2166 | +Match: [base~"zależnie|niezależnie" && pos~~"adv"] [base~"od" && pos~~"prep"]; | |
2167 | +Eval: word(Prep:gen, 0.base); | |
2168 | + | |
2169 | + | |
2170 | +Rule "frazeo: zgodnie|niezgodnie z" | |
2171 | + | |
2172 | +Match: [base~"zgodnie|niezgodnie" && pos~~"adv"] [base~"z" && pos~~"prep"]; | |
2173 | +Eval: word(2, Prep, 0.base); | |
2174 | + | |
2175 | + | |
2176 | +Rule "frazeo: zwłaszcza że" | |
2177 | + | |
2178 | +Match: [base~"zwłaszcza"] [base~"że|iż"]; | |
2179 | +Eval: word(Comp, 0.base); | |
2180 | + | |
2181 | + | |
2182 | +Rule "frazeo: bez/do reszty" | |
2183 | + | |
2184 | +Match: [base~"bez|do" && pos~~"prep"] [orth~"reszty"]; | |
2185 | +Right: $lub_imieslow; | |
2186 | +Eval: word(Adv, 1.base " " 2.orth); | |
2187 | + | |
2188 | + | |
2189 | +Rule "frazeo: z prawa" | |
2190 | + | |
2191 | +Match: [base~"z" && pos~~"prep"] [orth~"prawa"]; | |
2192 | +Right: ([base!~"do" && pos~~"prep"] | [case!~"gen"]); | |
2193 | +Eval: word(Adv, 1.base " " 2.orth); | |
2194 | + | |
2195 | + | |
2196 | +Rule "frazeo: póki co" | |
2197 | + | |
2198 | +Match: [base~"póki" && pos~~"comp"] [orth~"co" && pos~~"subst"]; | |
2199 | +Eval: word(Adv, 1.base " " 2.orth); | |
2200 | + | |
2201 | + | |
2202 | +Rule "frazeo: co do + gen" | |
2203 | + | |
2204 | +Match: [orth~"[Cc]o" && pos~~"comp"] [base~"do" && pos~~"prep"]; | |
2205 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
2206 | + && case~~"gen"]; | |
2207 | +Eval: word(Prep:gen, 1.orth " " 2.base); | |
2208 | + | |
2209 | + | |
2210 | +Rule "frazeo: mimo że/iż" | |
2211 | + | |
2212 | +Match: [base~"mimo|pomimo"] [base~"że|iż"]; | |
2213 | +Eval: word(Comp, 0.base); | |
2214 | + | |
2215 | + | |
2216 | +Rule "frazeo: a także" | |
2217 | + | |
2218 | +Match: [base~"a"] [base~"także"]; | |
2219 | +Eval: word(Conj, 0.base); | |
2220 | + | |
2221 | + | |
2222 | +Rule "frazeo: a więc (Conj)" | |
2223 | + | |
2224 | +Left: [base~","]; | |
2225 | +Match: [base~"a"] [base~"więc"]; | |
2226 | +Eval: word(Conj, 0.base); | |
2227 | + | |
2228 | + | |
2229 | +Rule "frazeo: a więc (Qub)" | |
2230 | + | |
2231 | +Left: sb; | |
2232 | +Match: [base~"a"] [base~"więc"]; | |
2233 | +Eval: word(Qub, 0.base); | |
2234 | + | |
2235 | + | |
2236 | +Rule "frazeo: a zatem (Conj)" | |
2237 | + | |
2238 | +Left: [base~","]; | |
2239 | +Match: [base~"a"] [base~"zatem"]; | |
2240 | +Eval: word(Conj, 0.base); | |
2241 | + | |
2242 | + | |
2243 | +Rule "frazeo: a zatem (Qub)" | |
2244 | + | |
2245 | +Left: sb; | |
2246 | +Match: [base~"a"] [base~"zatem"]; | |
2247 | +Eval: word(Qub, 0.base); | |
2248 | + | |
2249 | + | |
2250 | +Rule "frazeo: zarówno ... " | |
2251 | + | |
2252 | +Match: [base~"zarówno|tak" && pos~~"conj"]; | |
2253 | +Right: []+ ns [base~","] | |
2254 | + [base~"jak" && pos~~"conj"] [base~"i" && pos~~"conj"]; | |
2255 | +Eval: word(Conj1:discr, 1.base); | |
2256 | + | |
2257 | + | |
2258 | +Rule "frazeo: nie tylko ..." | |
2259 | + | |
2260 | +Match: [base~"nie" && pos~~"conj"] [base~"tylko" && pos~~"conj"]; | |
2261 | +Right: []+ (ns [base~","] []+)? ns [base~","] | |
2262 | + [base~"lecz|ale" && pos~~"conj"] [base~"i|także|również"]?; | |
2263 | +Eval: word(Conj1:discr, "nie tylko"); | |
2264 | + | |
2265 | + | |
2266 | +Rule "frazeo: im ... " | |
2267 | + | |
2268 | +Match: [base~"im" && pos~~"conj"]; | |
2269 | +Right: []+ (ns [base~","] []+)? ns [base~","] | |
2270 | + [base~"tym" && pos~~"conj"]; | |
2271 | +Eval: word(Conj1:discr, 1.base); | |
2272 | + | |
2273 | + | |
2274 | +Rule "frazeo: ani ... " | |
2275 | + | |
2276 | +Match: [base~"ani" && pos~~"conj"]; | |
2277 | +Right: []+ ns [base~","] | |
2278 | + [base~"ani" && pos~~"conj"]; | |
2279 | +Eval: word(Conj1:discr, 1.base); | |
2280 | + | |
2281 | + | |
2282 | +Rule "frazeo: albo ... " | |
2283 | + | |
2284 | +Match: [base~"albo" && pos~~"conj"]; | |
2285 | +Right: []+ ns [base~","] | |
2286 | + [base~"albo" && pos~~"conj"]; | |
2287 | +Eval: word(Conj1:discr, 1.base); | |
2288 | + | |
2289 | + | |
2290 | +Rule "frazeo: nie dość, że ... " | |
2291 | + | |
2292 | +Match: [base~"nie" && pos~"conj"] [base~"dość" && pos~"conj"] | |
2293 | + ns [base~","] [base~"że"]; | |
2294 | +Right: []+ ns [base~","] | |
2295 | + [base~"to" && pos~~"conj"] [base~"jeszcze" && pos~~"conj"]; | |
2296 | +Eval: word(Conj1:discr, 0.base); | |
2297 | + | |
2298 | + | |
2299 | +Rule "frazeo: na tyle ... " | |
2300 | + | |
2301 | +Match: [base~"na"] [base~"tyle"]; | |
2302 | +Right: []* ns [base~","] | |
2303 | + [base~"na"] [base~"ile"]; | |
2304 | +Eval: word(Conj1:discr, 0.base); | |
2305 | + | |
2306 | + | |
2307 | +Rule "frazeo: na tyle (Adv)" | |
2308 | + | |
2309 | +Match: [base~"na"] [base~"tyle"]; | |
2310 | +Right: [pos~"Adj"]; | |
2311 | +Eval: word(Adv, 0.base); | |
2312 | + | |
2313 | + | |
2314 | +Rule "frazeo: nie tyle ... " | |
2315 | + | |
2316 | +Match: [base~"nie"] [base~"tyle"]; | |
2317 | +Right: []* ns [base~","] [base~"ile|co"]; | |
2318 | +Eval: word(Conj1:discr, 0.base); | |
2319 | + | |
2320 | + | |
2321 | +Rule "frazeo: tym bardziej że" | |
2322 | + | |
2323 | +Match: [orth~"[Tt]ym"] [orth~"bardziej"] [base~"że"]; | |
2324 | +Eval: word(Comp, "tym bardziej że"); | |
2325 | + | |
2326 | + | |
2327 | +Rule "frazeo: tym bardziej" | |
2328 | + | |
2329 | +Match: [orth~"[Tt]ym"] [orth~"bardziej"]; | |
2330 | +Eval: word(Qub, "tym bardziej"); | |
2331 | + | |
2332 | + | |
2333 | +Rule "frazeo: jeśli/jeżeli ... " | |
2334 | + | |
2335 | +Match: [base~"jeśli|jeżeli|skoro|gdyby" && pos~~"comp"]; | |
2336 | +Right: []+ ns [base~","] [base~"to" && pos~~"conj"]; | |
2337 | +Eval: word(Comp1:discr, 1.base); | |
2338 | + | |
2339 | + | |
2340 | +Rule "frazeo: jak ... " | |
2341 | + | |
2342 | +Match: [base~"jak" && pos~~"adv"]; ##!czy to ma być adv? | |
2343 | +Right: []+ ns [base~","] | |
2344 | + [base~"to" && pos~~"conj"]; | |
2345 | +Eval: word(Comp1:discr, 1.base); | |
2346 | + | |
2347 | + | |
2348 | +Rule "frazeo: o tyle ... " | |
2349 | + | |
2350 | +Match: [base~"o"] [base~"tyle"]; | |
2351 | +Right: []* ns [base~","] | |
2352 | + [base~"o"] [base~"ile"]; | |
2353 | +Eval: word(Conj1:discr, 0.base); | |
2354 | + | |
2355 | + | |
2356 | +Rule "frazeo: o ile ... " | |
2357 | + | |
2358 | +Match: [base~"o"] [base~"ile"]; | |
2359 | +Right: []* ns [base~","] | |
2360 | + [base~"o"] [base~"tyle"]; | |
2361 | +Eval: word(Conj1:discr, 0.base); | |
2362 | + | |
2363 | + | |
2364 | +Rule "frazeo: dopóki ... " | |
2365 | + | |
2366 | +Match: [base~"dopóki" && pos~~"comp"]; | |
2367 | +Right: []+ ns [base~","] | |
2368 | + [base~"dopóty" && pos~~"conj"]; | |
2369 | +Eval: word(Comp1:discr, 1.base); | |
2370 | + | |
2371 | + | |
2372 | +Rule "frazeo: ..., jak i" | |
2373 | + | |
2374 | +Left: [base~"zarówno|tak" && pos~"Conj1"] []+; | |
2375 | +Match: ns [base~","] | |
2376 | + [base~"jak" && pos~~"conj"] [base~"i|też|również"]; | |
2377 | +Eval: word(Conj2:discr, 0.base); | |
2378 | + | |
2379 | + | |
2380 | +Rule "frazeo: jak również" | |
2381 | + | |
2382 | +Match: [base~"jak" && pos~~"|conj|adv"] [base~"również" && pos~"conj|qub"]; | |
2383 | +Eval: word(Conj, 0.base); | |
2384 | +#nie działa (plik morph-Inne2) | |
2385 | + | |
2386 | +Rule "frazeo: ..., ale|lecz i|także" | |
2387 | + | |
2388 | +Left: [base~"nie tylko" && pos~~"Conj1"] []+ (ns [base~","] []+)?; | |
2389 | +Match: ns [base~","] | |
2390 | + [base~"lecz|ale" && pos~~"conj"] [base~"i|także|również"]?; | |
2391 | +Eval: word(Conj2:discr, 0.base); | |
2392 | + | |
2393 | + | |
2394 | +Rule "frazeo: ..., tym" | |
2395 | + | |
2396 | +Left: [base~"im" && pos~~"Conj1"] []+ (ns [base~","] []+)?; | |
2397 | +Match: ns [base~","] [base~"tym" && pos~~"conj"]; | |
2398 | +Eval: word(Conj2:discr, 0.base); | |
2399 | + | |
2400 | + | |
2401 | +Rule "frazeo: ..., ani" | |
2402 | + | |
2403 | +Left: [base~"ani" && pos~~"Conj1"] []+; | |
2404 | +Match: ns [base~","] | |
2405 | + [base~"ani" && pos~~"conj"]; | |
2406 | +Eval: word(Conj2:discr, 0.base); | |
2407 | + | |
2408 | + | |
2409 | +Rule "frazeo: ..., albo" | |
2410 | + | |
2411 | +Left: [base~"albo" && pos~~"Conj1"] []+; | |
2412 | +Match: ns [base~","] | |
2413 | + [base~"albo" && pos~~"conj"]; | |
2414 | +Eval: word(Conj2:discr, 0.base); | |
2415 | + | |
2416 | + | |
2417 | +Rule "frazeo: ..., to jeszcze " | |
2418 | + | |
2419 | +Left: [base~"nie dość, że" && pos~~"Conj1"] []+; | |
2420 | +Match: ns [base~","] | |
2421 | + [base~"to" && pos~~"conj"] [base~"jeszcze" && pos~~"conj"]; | |
2422 | +Eval: word(Conj2:discr, 0.base); | |
2423 | + | |
2424 | + | |
2425 | +Rule "frazeo: ... na ile" | |
2426 | + | |
2427 | +Left: [base~"na tyle" && pos~~"Conj1"] []*; | |
2428 | +Match: ns [base~","] [base~"na"] [base~"ile"]; | |
2429 | +Eval: word(Conj2:discr, 0.base); | |
2430 | + | |
2431 | + | |
2432 | +Rule "frazeo: ... ile|co" | |
2433 | + | |
2434 | +Left: [base~"nie tyle" && pos~~"Conj1"] []*; | |
2435 | +Match: ns [base~","] [base~"ile|co"]; | |
2436 | +Eval: word(Conj2:discr, 0.base); | |
2437 | + | |
2438 | + | |
2439 | +Rule "frazeo: (jeśli)..., to " | |
2440 | + | |
2441 | +Left: [base~"jeśli|jeżeli|skoro|gdyby" && pos~~"Comp1"] []+; | |
2442 | +Match: ns [base~","][base~"to" && pos~~"conj"]; | |
2443 | +Eval: word(Comp2:discr, 0.base); | |
2444 | + | |
2445 | + | |
2446 | +Rule "frazeo: (jak) ..., to" | |
2447 | + | |
2448 | +Left: [base~"jak" && pos~~"Comp1"] []+; | |
2449 | +Match: ns [base~","] [base~"to" && pos~~"conj"]; | |
2450 | +Eval: word(Comp2:discr, 0.base); | |
2451 | + | |
2452 | + | |
2453 | +Rule "frazeo: ... o ile" | |
2454 | + | |
2455 | +Left: [base~"o tyle" && pos~~"Conj1"] []*; | |
2456 | +Match: ns [base~","] [base~"o"] [base~"ile"]; | |
2457 | +Eval: word(Conj2:discr, 0.base); | |
2458 | + | |
2459 | + | |
2460 | +Rule "frazeo: ... o tyle" | |
2461 | + | |
2462 | +Left: [base~"o ile" && pos~~"Conj1"] []*; | |
2463 | +Match: ns [base~","] [base~"o"] [base~"tyle"]; | |
2464 | +Eval: word(Conj1:discr, 0.base); | |
2465 | + | |
2466 | + | |
2467 | +Rule "frazeo: ... dopóty" | |
2468 | + | |
2469 | +Left: [base~"dopóki" && pos~~"Comp1"] []+; | |
2470 | +Match: ns [base~","] | |
2471 | + [base~"dopóty" && pos~~"conj"]; | |
2472 | +Eval: word(Comp2:discr, 0.base); | |
2473 | + | |
2474 | + | |
2475 | +##$$ dwufunkcyjne | |
2476 | +##do przesady | |
2477 | +##do woli | |
2478 | +#do dnia - wykluczyć subst, pact, adj z prawej (warto?) | |
2479 | +#po pijaku | |
2480 | +#na czele | |
2481 | + | |
2482 | +##JW bliższe frazeologizmom | |
2483 | + | |
2484 | +Rule "frazeo: tylko i wyłącznie" | |
2485 | + | |
2486 | +Match: [base~"tylko"] [base~"i"] [base~"wyłącznie"]; | |
2487 | +Eval: word(Qub, 0.base); | |
2488 | + | |
2489 | + | |
2490 | +Rule "frazeo: w dalszym ciągu" | |
2491 | + | |
2492 | +Match: [base~"w" && pos~~"prep"] [orth~"dalszym"] [orth~"ciągu"]; | |
2493 | +Eval: word(Adv, 1.base " " 2.orth " " 3.orth); | |
2494 | + | |
2495 | + | |
2496 | +Rule "frazeo: za wszelką cenę" | |
2497 | + | |
2498 | +Match: [base~"za" && pos~~"prep"] [orth~"wszelką"] [orth~"cenę"]; | |
2499 | +Eval: word(Adv, 1.base " " 2.orth " " 3.orth); | |
2500 | + | |
2501 | + | |
2502 | + | |
2503 | +##reguły dla skrótów | |
2504 | + | |
2505 | + | |
2506 | +Rule "Brev: %" | |
2507 | + | |
2508 | +Match: [base~"%" && pos~~"interp"]; | |
2509 | +Right: []; | |
2510 | +Eval: word(Brev:npun:NOUN, "procent"); | |
2511 | + | |
2512 | +Rule "Brev: §" | |
2513 | + | |
2514 | +Match: [base~"§" && pos~~"interp"]; | |
2515 | +Right: []; | |
2516 | +Eval: word(Brev:npun:NOUN, "paragraf"); | |
2517 | + | |
2518 | + | |
2519 | +Rule "Brev: °" | |
2520 | + | |
2521 | +Match: [base~"°" && pos~~"interp"]; | |
2522 | +Right: []; #ns [pos~"interp"]; #!Spejd protestuje | |
2523 | +Eval: word(Brev:npun:NOUN, "stopień"); | |
2524 | + | |
2525 | + | |
2526 | +Rule "Brev: ub.r. (osobno) (1)" | |
2527 | + | |
2528 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ubiegły"] | |
2529 | + ns [base~"\."] ns | |
2530 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"rok"] | |
2531 | + ns [base~"\."]; | |
2532 | +Right: []; | |
2533 | +Eval: word(Brev:pun:NG, "ubiegły rok"); | |
2534 | +#czy to nie powinien być jeden segment? | |
2535 | + | |
2536 | + | |
2537 | +Rule "Brev: ub.r. (osobno) (3)" | |
2538 | + | |
2539 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ubiegły"] | |
2540 | + ns [base~"\."] ns | |
2541 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"rok"] | |
2542 | + ns [base~"\."]; | |
2543 | +Right: se; | |
2544 | +Eval: word(Brev-se:pun:NG, "ubiegły rok"); | |
2545 | +#czy to nie powinien być jeden segment? | |
2546 | + | |
2547 | + | |
2548 | +Rule "Brev: r. (1)" | |
2549 | + | |
2550 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"rok"] ns [base~"\."]; | |
2551 | +Right: []; | |
2552 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2553 | + | |
2554 | + | |
2555 | +Rule "Brev: r. (2)" | |
2556 | + | |
2557 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"rok"] ns [base~"\."]; | |
2558 | +Right: ns [pos~"interp"]; | |
2559 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2560 | + | |
2561 | + | |
2562 | +Rule "Brev: r. (3)" | |
2563 | + | |
2564 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"rok"] ns [base~"\."]; | |
2565 | +Right: se; | |
2566 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
2567 | + | |
2568 | + | |
2569 | +Rule "Brev: r. bez kropki" | |
2570 | + | |
2571 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"rok"]; | |
2572 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2573 | +##!! nie wiem, jak zapisać, że jako prawy kontekst nie może być "ns kropka" | |
2574 | + | |
2575 | +Rule "Brev: l. (1)" | |
2576 | + | |
2577 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"lata"] ns [base~"\."]; | |
2578 | +Right: []; | |
2579 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2580 | + | |
2581 | + | |
2582 | +Rule "Brev: l. (2)" | |
2583 | + | |
2584 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"lata"] ns [base~"\."]; | |
2585 | +Right: ns [pos~"interp"]; | |
2586 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2587 | + | |
2588 | + | |
2589 | +Rule "Brev: l. (3)" | |
2590 | + | |
2591 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"lata"] ns [base~"\."]; | |
2592 | +Right: se; | |
2593 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
2594 | + | |
2595 | + | |
2596 | +Rule "Brev: w. (1)" | |
2597 | + | |
2598 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"wiek"] ns [base~"\."]; | |
2599 | +Right: []; | |
2600 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2601 | + | |
2602 | + | |
2603 | +Rule "Brev: w. (2)" | |
2604 | + | |
2605 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"wiek"] ns [base~"\."]; | |
2606 | +Right: ns [pos~"interp"]; | |
2607 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2608 | + | |
2609 | + | |
2610 | +Rule "Brev: w. (3)" | |
2611 | + | |
2612 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"wiek"] ns [base~"\."]; | |
2613 | +Right: se; | |
2614 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
2615 | + | |
2616 | +Rule "Brev: w. (wyspa1)" | |
2617 | + | |
2618 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"wyspa"] ns [base~"\."]; | |
2619 | +Right: []; | |
2620 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2621 | + | |
2622 | +Rule "Brev: w. (wyspa2)" | |
2623 | + | |
2624 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"wyspa"] ns [base~"\."]; | |
2625 | +Right: ns [pos~"interp"]; | |
2626 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2627 | + | |
2628 | +Rule "Brev: w. (wyspa3)" | |
2629 | + | |
2630 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"wyspa"] ns [base~"\."]; | |
2631 | +Right: se; | |
2632 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
2633 | + | |
2634 | + | |
2635 | +Rule "Brev: godz. godz." | |
2636 | + | |
2637 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"godzina"] | |
2638 | + ns [base~"\."] | |
2639 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"godzina"] | |
2640 | + ns [base~"\."]; | |
2641 | +Right: []; | |
2642 | +Eval: word(Brev:pun:NOUN, "godziny"); | |
2643 | + | |
2644 | + | |
2645 | +Rule "Brev: b.m. (osobno)" | |
2646 | + | |
2647 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"bieżący"] | |
2648 | + ns [base~"\."] | |
2649 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"miesiąc"] | |
2650 | + ns [base~"\."]; | |
2651 | +Right: []; | |
2652 | +Eval: word(Brev:pun:NG, "bieżący miesiąc"); | |
2653 | + | |
2654 | + | |
2655 | +Rule "Brev: godz.|sek.|dn.|mies. (1)" | |
2656 | + | |
2657 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
2658 | + && base~~"godzina|sekunda|dzień|miesiąc"] | |
2659 | + ns [base~"\."]; | |
2660 | +Right: []; | |
2661 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2662 | + | |
2663 | + | |
2664 | +Rule "Brev: godz.|sek.|mies. (2)" | |
2665 | + | |
2666 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"godzina|sekunda|miesiąc"] | |
2667 | + ns [base~"\."]; | |
2668 | +Right: ns [pos~"interp"]; | |
2669 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2670 | + | |
2671 | + | |
2672 | +Rule "Brev: godz.|sek. (3)" | |
2673 | + | |
2674 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"godzina|sekunda"] | |
2675 | + ns [base~"\."]; | |
2676 | +Right: se; | |
2677 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
2678 | + | |
2679 | + | |
2680 | +Rule "Brev: godz. (4)" | |
2681 | + | |
2682 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"godzina"] | |
2683 | + ns [base~"\."]; | |
2684 | +Right: ns [pos~"adj|num"]; | |
2685 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2686 | + | |
2687 | + | |
2688 | +Rule "Brev: pon. i in." | |
2689 | + | |
2690 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
2691 | + && base~~"poniedziałek|wtorek|środa|czwartek|piątek|sobota|niedziela"] | |
2692 | + ns [base~"\."]; #LD dodałam pozostałe dni tygodnia | |
2693 | +Right: []; | |
2694 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2695 | + | |
2696 | + | |
2697 | +Rule "Brev: pt." | |
2698 | + | |
2699 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"piątek"] | |
2700 | + ns [base~"\."]; | |
2701 | +Right: []; | |
2702 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2703 | + | |
2704 | + | |
2705 | +Rule "Brev: tys. (1)" | |
2706 | + | |
2707 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"tysiąc"] | |
2708 | + ns [base~"\."]; | |
2709 | +Right: []; | |
2710 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2711 | + | |
2712 | + | |
2713 | +Rule "Brev: tys. (2)" | |
2714 | + | |
2715 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"tysiąc"] | |
2716 | + ns [base~"\."]; | |
2717 | +Right: ns [pos~"interp"]; | |
2718 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2719 | + | |
2720 | + | |
2721 | +Rule "Brev: tys. (3)" | |
2722 | + | |
2723 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"tysiąc"] | |
2724 | + ns [base~"\."]; | |
2725 | +Right: se; | |
2726 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
2727 | + | |
2728 | + | |
2729 | +Rule "Brev: tys. (bez kropki)" | |
2730 | + | |
2731 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"tysiąc"]; | |
2732 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2733 | + | |
2734 | + | |
2735 | +Rule "Brev: l. (1)" | |
2736 | + | |
2737 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"liczba"] ns [base~"\."]; | |
2738 | +Right: []; | |
2739 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2740 | + | |
2741 | +Rule "Brev: proc.|prom. (1)" | |
2742 | + | |
2743 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"procent|promil"] ns [base~"\."]; | |
2744 | +Right: []; | |
2745 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2746 | + | |
2747 | + | |
2748 | +Rule "Brev: proc. (2)" | |
2749 | + | |
2750 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"procent"] ns [base~"\."]; | |
2751 | +Right: ns [pos~"interp"]; | |
2752 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2753 | + | |
2754 | + | |
2755 | +Rule "Brev: proc. (3)" | |
2756 | + | |
2757 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"procent"] ns [base~"\."]; | |
2758 | +Right: se; | |
2759 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
2760 | + | |
2761 | + | |
2762 | +Rule "Brev: pkt. (1)" | |
2763 | + | |
2764 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"punkt"] ns [base~"\."]; | |
2765 | +Right: []; | |
2766 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2767 | + | |
2768 | + | |
2769 | +Rule "Brev: pkt. (2)" | |
2770 | + | |
2771 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"punkt"] ns [base~"\."]; | |
2772 | +Right: ns [pos~"interp"]; | |
2773 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2774 | + | |
2775 | + | |
2776 | +Rule "Brev: pkt. (2a)" | |
2777 | + | |
2778 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"punkt"] ns [base~"\."]; | |
2779 | +Right: ns [orth~"[0-9]+"]; | |
2780 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2781 | + | |
2782 | + | |
2783 | +Rule "Brev: pkt. (2b)" | |
2784 | + | |
2785 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"punkt"] ns [base~"\."]; | |
2786 | +Right: ns [orth~"[0-9]+[0-9.]+"]; | |
2787 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2788 | + | |
2789 | + | |
2790 | +Rule "Brev: pkt. (3)" | |
2791 | + | |
2792 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"punkt"] ns [base~"\."]; | |
2793 | +Right: se; | |
2794 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
2795 | + | |
2796 | + | |
2797 | +Rule "Brev: pkt|ppkt" | |
2798 | + | |
2799 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"punkt|podpunkt"]; | |
2800 | +Eval: word(Brev:npun:NOUN, 1.base); | |
2801 | + | |
2802 | + | |
2803 | +Rule "Brev: szt." | |
2804 | + | |
2805 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"sztuka"] | |
2806 | + ns [base~"\."]; | |
2807 | +Right: []; | |
2808 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2809 | + | |
2810 | + | |
2811 | +Rule "Brev: poz.|wyd." | |
2812 | + | |
2813 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"pozycja|wydanie"] | |
2814 | + ns [base~"\."]; | |
2815 | +Right: []; | |
2816 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2817 | + | |
2818 | + | |
2819 | +Rule "Brev: poł.|pocz. (1)" | |
2820 | + | |
2821 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"połowa|początek"] | |
2822 | + ns [base~"\."]; | |
2823 | +Right: []; | |
2824 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2825 | + | |
2826 | + | |
2827 | +Rule "Brev: poł.|pocz. (2)" | |
2828 | + | |
2829 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"połowa|początek"] | |
2830 | + ns [base~"\."]; | |
2831 | +Right: ns [pos~"interp"]; | |
2832 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2833 | + | |
2834 | + | |
2835 | +Rule "Brev: poł.|pocz. (3)" | |
2836 | + | |
2837 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"połowa|początek"] | |
2838 | + ns [base~"\."]; | |
2839 | +Right: se; | |
2840 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
2841 | + | |
2842 | + | |
2843 | +Rule "Brev: poł. (bez kropki)" | |
2844 | + | |
2845 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"połowa"]; | |
2846 | +Right: []; | |
2847 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2848 | +#!jak zaznaczyć, że tu nie może być "ns ."? | |
2849 | + | |
2850 | +Rule "Brev: fot. (1)" | |
2851 | + | |
2852 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
2853 | + && base~~"fotografia|fotograf|zdjęcie"] | |
2854 | + ns [base~"\."]; | |
2855 | +Right: []; | |
2856 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2857 | + | |
2858 | + | |
2859 | +Rule "Brev: fot. (2)" | |
2860 | + | |
2861 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"fotografia"] | |
2862 | + ns [base~"\."]; | |
2863 | +Right: ns [pos~"interp"]; | |
2864 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2865 | + | |
2866 | + | |
2867 | +Rule "Brev: art.|h." | |
2868 | + | |
2869 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"artysta|homoseksualista"] | |
2870 | + ns [base~"\."]; | |
2871 | +Right: []; | |
2872 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2873 | + | |
2874 | + | |
2875 | +Rule "Brev: proj.|oprac." | |
2876 | + | |
2877 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"projekt|opracowanie"] | |
2878 | + ns [base~"\."]; | |
2879 | +Right: []; | |
2880 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2881 | + | |
2882 | + | |
2883 | +Rule "NGb: Brev(N=oprac.|proj.)" | |
2884 | + | |
2885 | +Match: [base~"opracowanie|projekt" && pos~"Brev"]; | |
2886 | +Right: [base~"[A-ZŁŚ].*" && case~"nom"]; | |
2887 | +Eval: group(NGb,1,1); | |
2888 | + | |
2889 | + | |
2890 | +Rule "Brev: lek. med." | |
2891 | + | |
2892 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"lekarz"] | |
2893 | + ns [base~"\."] | |
2894 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"medycyna"] | |
2895 | + ns [base~"\."]; | |
2896 | +Right: []; | |
2897 | +Eval: word(Brev:pun:NG, "lekarz medycyny"); | |
2898 | + | |
2899 | + | |
2900 | +Rule "Brev: lek." | |
2901 | + | |
2902 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"lekarz"] | |
2903 | + ns [base~"\."]; | |
2904 | +Right: []; | |
2905 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2906 | +#jeszcze nie było | |
2907 | + | |
2908 | +Rule "Brev: mieszk. (1)" | |
2909 | + | |
2910 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"mieszkaniec"] | |
2911 | + ns [base~"\."]; | |
2912 | +Right: []; | |
2913 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2914 | + | |
2915 | + | |
2916 | +Rule "Brev: mieszk. (2)" | |
2917 | + | |
2918 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"mieszkaniec"] | |
2919 | + ns [base~"\."]; | |
2920 | +Right: ns [pos~"interp"]; | |
2921 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2922 | + | |
2923 | + | |
2924 | +Rule "Brev: mieszk. (3)" | |
2925 | + | |
2926 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"mieszkaniec"] | |
2927 | + ns [base~"\."]; | |
2928 | +Right: se; | |
2929 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
2930 | + | |
2931 | + | |
2932 | +Rule "Brev: Dz.U. (razem)" | |
2933 | + | |
2934 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"dziennik.ustaw"] | |
2935 | + ns [base~"\."]; | |
2936 | +Right: []; | |
2937 | +Eval: word(Brev:pun:NG, 1.base); | |
2938 | + | |
2939 | + | |
2940 | +Rule "Brev: Dz.U. (osobno)" | |
2941 | + | |
2942 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"dziennik"] | |
2943 | + ns [base~"\."] ns? | |
2944 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"ustawa"] | |
2945 | + ns [base~"\."]; | |
2946 | +Right: []; | |
2947 | +Eval: word(Brev:pun:NG, "dziennik ustaw"); | |
2948 | +#?czy na etapie segmentacji to nie powinien być jeden brev? | |
2949 | + | |
2950 | + | |
2951 | +Rule "Brev: Społ.-Ekon." | |
2952 | + | |
2953 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"społeczno"] | |
2954 | + ns [base~"\."] ns | |
2955 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"ekonomiczny"] | |
2956 | + ns [base~"\."]; | |
2957 | +Right: []; | |
2958 | +Eval: word(Brev:pun:ADJ, "społeczno-ekonomiczny"); | |
2959 | +#?czy na etapie segmentacji to nie powinien być jeden brev? | |
2960 | + | |
2961 | +Rule "Brev: ust." | |
2962 | + | |
2963 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ustęp|ustawa"] ns [base~"\."]; | |
2964 | +Right: []; | |
2965 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2966 | + | |
2967 | + | |
2968 | +Rule "Brev: ust. (4)" | |
2969 | + | |
2970 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ustęp"] ns [base~"\."]; | |
2971 | +Right: ns [pos~"adj|num"]; | |
2972 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2973 | + | |
2974 | + | |
2975 | +Rule "Brev: lit." | |
2976 | + | |
2977 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"litera"] ns [base~"\."]; | |
2978 | +Right: []; | |
2979 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2980 | + | |
2981 | + | |
2982 | +Rule "Brev: arch." | |
2983 | + | |
2984 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"archiwum"] | |
2985 | + ns [base~"\."]; | |
2986 | +Right: []; | |
2987 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2988 | + | |
2989 | + | |
2990 | +Rule "Brev: dol. (1)" | |
2991 | + | |
2992 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"dolar"] ns [base~"\."]; | |
2993 | +Right: []; | |
2994 | +Eval: word(Brev:pun:NOUN, 1.base); | |
2995 | + | |
2996 | + | |
2997 | +Rule "Brev: dol. (2)" | |
2998 | + | |
2999 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"dolar"] ns [base~"\."]; | |
3000 | +Right: ns [pos~"interp"]; | |
3001 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3002 | + | |
3003 | + | |
3004 | +Rule "Brev: dol. (3)" | |
3005 | + | |
3006 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"dolar"] ns [base~"\."]; | |
3007 | +Right: se; | |
3008 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
3009 | + | |
3010 | + | |
3011 | +Rule "Brev: fund." | |
3012 | + | |
3013 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"fundacja"] | |
3014 | + ns [base~"\."]; | |
3015 | +Right: []; | |
3016 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3017 | + | |
3018 | + | |
3019 | +Rule "Brev: Lic." | |
3020 | + | |
3021 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"liceum"] | |
3022 | + ns [base~"\."]; | |
3023 | +Right: []; | |
3024 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3025 | + | |
3026 | + | |
3027 | +Rule "Brev: kl." | |
3028 | + | |
3029 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"klasa"] | |
3030 | + ns [base~"\."]; | |
3031 | +Right: []; | |
3032 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3033 | + | |
3034 | + | |
3035 | +Rule "Brev: im." | |
3036 | + | |
3037 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"imienia"] | |
3038 | + ns [base~"\."]; | |
3039 | +Right: []; | |
3040 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3041 | + | |
3042 | + | |
3043 | +Rule "Brev: przyp." | |
3044 | + | |
3045 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"przypisek|przypis"] | |
3046 | + ns [base~"\."]; | |
3047 | +Right: []; | |
3048 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3049 | + | |
3050 | + | |
3051 | +Rule "Brev: tel." | |
3052 | + | |
3053 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"telefon"] | |
3054 | + ns [base~"\."]; | |
3055 | +Right: []; | |
3056 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3057 | + | |
3058 | + | |
3059 | +Rule "Brev: tel. (2*)" | |
3060 | + | |
3061 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"telefon"] | |
3062 | + ns [base~"\."]; | |
3063 | +Right: ns []; | |
3064 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3065 | + | |
3066 | + | |
3067 | +Rule "Brev: tel (2) (bez kropki)" | |
3068 | + | |
3069 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"telefon"]; | |
3070 | +Right: ns [base~"/|:"]; | |
3071 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3072 | + | |
3073 | + | |
3074 | +Rule "Brev: s.|str.|ss.|t.|k.|rozdz." | |
3075 | + | |
3076 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3077 | + && base~~"strona|strony|tom|karta|rozdział"] | |
3078 | + ns [base~"\."]; | |
3079 | +Right: ns? []; | |
3080 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3081 | + | |
3082 | + | |
3083 | +Rule "Brev: str. bez kropki" | |
3084 | + | |
3085 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"strona"]; | |
3086 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3087 | + | |
3088 | + | |
3089 | +Rule "Brev: pok.|m." | |
3090 | + | |
3091 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"pokój|mieszkanie"] | |
3092 | + ns [base~"\."]; | |
3093 | +Right: []; | |
3094 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3095 | + | |
3096 | + | |
3097 | +Rule "Brev: art. (1)" | |
3098 | + | |
3099 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"artykuł"] | |
3100 | + ns [base~"\."]; | |
3101 | +Right: []; | |
3102 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3103 | + | |
3104 | + | |
3105 | +Rule "Brev: art. (2)" | |
3106 | + | |
3107 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"artykuł"] | |
3108 | + ns [base~"\."]; | |
3109 | +Right: ns [base~"[1-9][0-9]*"]; | |
3110 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3111 | + | |
3112 | + | |
3113 | +Rule "Brev: par." | |
3114 | + | |
3115 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"paragraf"] | |
3116 | + ns [base~"\."]; | |
3117 | +Right: []; | |
3118 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3119 | + | |
3120 | + | |
3121 | +Rule "Brev: cyt." | |
3122 | + | |
3123 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"cytat"] | |
3124 | + ns [base~"\."]; | |
3125 | +Right: []; | |
3126 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3127 | + | |
3128 | + | |
3129 | +Rule "Brev: ref. (1)" | |
3130 | + | |
3131 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"refren"] | |
3132 | + ns [base~"\."]; | |
3133 | +Right: []; | |
3134 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3135 | + | |
3136 | + | |
3137 | +Rule "Brev: ref. (3)" | |
3138 | + | |
3139 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"refren"] | |
3140 | + ns [base~"\."]; | |
3141 | +Right: se; | |
3142 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
3143 | + | |
3144 | + | |
3145 | +Rule "Brev: rys.|tab." | |
3146 | + | |
3147 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"rysunek|ilustracja|tabela"] | |
3148 | + ns [base~"\."]; | |
3149 | +Right: []; | |
3150 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3151 | + | |
3152 | + | |
3153 | +Rule "Brev: rys. (4)" | |
3154 | + | |
3155 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"rysunek"] | |
3156 | + ns [base~"\."]; | |
3157 | +Right: ns [pos~"adj|num"]; | |
3158 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3159 | + | |
3160 | + | |
3161 | +Rule "Brev: ryc. (1)" | |
3162 | + | |
3163 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"rycina"] | |
3164 | + ns [base~"\."]; | |
3165 | +Right: []; | |
3166 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3167 | + | |
3168 | + | |
3169 | +Rule "Brev: ryc. (2)" | |
3170 | + | |
3171 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"rycina"] | |
3172 | + ns [base~"\."]; | |
3173 | +Right: ns [base~":"]; | |
3174 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3175 | + | |
3176 | + | |
3177 | +Rule "Brev: wkł. (2)" | |
3178 | + | |
3179 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"wkładka"] | |
3180 | + ns [base~"\."]; | |
3181 | +Right: ns [pos~"interp"]; | |
3182 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3183 | + | |
3184 | + | |
3185 | +Rule "Brev: temp." | |
3186 | + | |
3187 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"temperatura"] | |
3188 | + ns [base~"\."]; | |
3189 | +Right: []; | |
3190 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3191 | + | |
3192 | + | |
3193 | +Rule "Brev: sygn.|zn." | |
3194 | + | |
3195 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"sygnatura|znak"] | |
3196 | + ns [base~"\."]; | |
3197 | +Right: []; | |
3198 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3199 | + | |
3200 | + | |
3201 | +Rule "Brev: ms." | |
3202 | + | |
3203 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"manuscriptum"] | |
3204 | + ns [base~"\."]; | |
3205 | +Right: []; | |
3206 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3207 | + | |
3208 | + | |
3209 | +Rule "Brev: reż.|przebud." | |
3210 | + | |
3211 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3212 | + && base~~"reżyseria|przebudowa|przyjazd"] | |
3213 | + ns [base~"\."]; | |
3214 | +Right: []; | |
3215 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3216 | + | |
3217 | + | |
3218 | +Rule "Brev: zm. (2)" | |
3219 | + | |
3220 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"zmiana"] | |
3221 | + ns [base~"\."]; | |
3222 | +Right: ns [pos~"interp"]; | |
3223 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3224 | + | |
3225 | + | |
3226 | +Rule "Brev: st." | |
3227 | + | |
3228 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"stopień"] | |
3229 | + ns [base~"\."]; | |
3230 | +Right: []; | |
3231 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3232 | + | |
3233 | + | |
3234 | +Rule "Brev: stow.|tow." | |
3235 | + | |
3236 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"stowarzyszenie|towarzystwo"] | |
3237 | + ns [base~"\."]; | |
3238 | +Right: []; | |
3239 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3240 | + | |
3241 | + | |
3242 | +Rule "Brev: al.|ul.|pl." | |
3243 | + | |
3244 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"aleja|ulica|plac"] | |
3245 | + ns [base~"\."]; | |
3246 | +Right: []; | |
3247 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3248 | + | |
3249 | + | |
3250 | +Rule "Brev: ul.|pl. (4)" | |
3251 | + | |
3252 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ulica|plac"] | |
3253 | + ns [base~"\."]; | |
3254 | +Right: ns []; | |
3255 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3256 | + | |
3257 | + | |
3258 | +Rule "Brev: złożone strony świata (1)" | |
3259 | + | |
3260 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3261 | + && base~~"północny|południowy"] ns [base~"\."] | |
3262 | + ns? [pos~~"brev" && fullstoppedness~~"pun" | |
3263 | + && base~~"wschód|zachód"] ns [base~"\."]; | |
3264 | +Right: []; | |
3265 | +Eval: word(Brev:pun:NG, 1.base " " 5.base); | |
3266 | + | |
3267 | + | |
3268 | +Rule "Brev: złożone strony świata (3)" | |
3269 | + | |
3270 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3271 | + && base~~"północny|południowy"] ns [base~"\."] | |
3272 | + ns? [pos~~"brev" && fullstoppedness~~"pun" | |
3273 | + && base~~"wschód|zachód"] ns [base~"\."]; | |
3274 | +Right: se; | |
3275 | +Eval: word(Brev-se:pun:NG, 1.base " " 5.base); | |
3276 | + | |
3277 | + | |
3278 | +Rule "Brev: strony świata (1)" | |
3279 | + | |
3280 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3281 | + && base~~"wschód|zachód|północ|południe"] | |
3282 | + ns [base~"\."]; | |
3283 | +Right: []; | |
3284 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3285 | + | |
3286 | + | |
3287 | +Rule "Brev: strony świata (2)" | |
3288 | + | |
3289 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3290 | + && base~~"wschód|zachód|północ|południe"] | |
3291 | + ns [base~"\."]; | |
3292 | +Right: ns [pos~"interp"]; | |
3293 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3294 | + | |
3295 | + | |
3296 | +Rule "Brev: strony świata (3)" | |
3297 | + | |
3298 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3299 | + && base~~"wschód|zachód|północ|południe"] | |
3300 | + ns [base~"\."]; | |
3301 | +Right: se; | |
3302 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
3303 | + | |
3304 | + | |
3305 | +Rule "Brev: p. (1)" | |
3306 | + | |
3307 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"piętro"] | |
3308 | + ns [base~"\."]; | |
3309 | +Right: []; | |
3310 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3311 | + | |
3312 | + | |
3313 | +Rule "Brev: p. (2)" | |
3314 | + | |
3315 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"piętro"] | |
3316 | + ns [base~"\."]; | |
3317 | +Right: ns [pos~"interp"]; | |
3318 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3319 | + | |
3320 | + | |
3321 | +Rule "Brev: j." | |
3322 | + | |
3323 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"język"] | |
3324 | + ns [base~"\."]; | |
3325 | +Right: []; | |
3326 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3327 | + | |
3328 | + | |
3329 | +Rule "Brev: kop." | |
3330 | + | |
3331 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"kopalnia"] | |
3332 | + ns [base~"\."]; | |
3333 | +Right: []; | |
3334 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3335 | + | |
3336 | + | |
3337 | +Rule "Brev: Oddz.|Konst.|Dep." | |
3338 | + | |
3339 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"oddział|Konstytucja|departament"] | |
3340 | + ns [base~"\."]; | |
3341 | +Right: []; | |
3342 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3343 | + | |
3344 | + | |
3345 | +Rule "Brev: łac. (2)" | |
3346 | + | |
3347 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"łacina"] | |
3348 | + ns [base~"\."]; | |
3349 | +Right: ns [pos~"interp"]; | |
3350 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3351 | + | |
3352 | + | |
3353 | +Rule "Brev: śp." | |
3354 | + | |
3355 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"świętej.pamięci"] | |
3356 | + ns [base~"\."]; | |
3357 | +Right: []; | |
3358 | +Eval: word(Brev:pun:NG, 1.base); | |
3359 | + | |
3360 | + | |
3361 | +Rule "Brev: Sp." | |
3362 | + | |
3363 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"spółka"] | |
3364 | + ns [base~"\."]; | |
3365 | +Right: []; | |
3366 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3367 | + | |
3368 | + | |
3369 | +Rule "Brev: o.o." | |
3370 | + | |
3371 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3372 | + && base~~"ograniczona odpowiedzialność"] ns [base~"\."]; | |
3373 | +Right: []; | |
3374 | +Eval: word(Brev:pun:NG, 1.base); | |
3375 | + | |
3376 | + | |
3377 | +Rule "Brev: S.C." | |
3378 | + | |
3379 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3380 | + && base~~"spółka cywilna"] ns [base~"\."]; | |
3381 | +Right: []; | |
3382 | +Eval: word(Brev:pun:NG, 1.base); | |
3383 | + | |
3384 | + | |
3385 | +Rule "Brev: Ś.P. (1)" | |
3386 | + | |
3387 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"świętej"] | |
3388 | + ns [base~"\."] ns | |
3389 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"pamięci"] | |
3390 | + ns [base~"\."]; | |
3391 | +Right: []; | |
3392 | +Eval: word(Brev:pun:NG, 1.base); | |
3393 | + | |
3394 | + | |
3395 | +Rule "Brev: Ś.P. (2)" | |
3396 | + | |
3397 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"świętej"] | |
3398 | + ns [base~"\."] ns | |
3399 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"pamięci"] | |
3400 | + ns [base~"\."]; | |
3401 | +Right: ns [pos~"interp"]; | |
3402 | +Eval: word(Brev:pun:NG, 1.base); | |
3403 | + | |
3404 | + | |
3405 | +Rule "Brev: mkw. (1)" | |
3406 | + | |
3407 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"metr.kwadratowy"] | |
3408 | + ns [base~"\."]; | |
3409 | +Right: []; | |
3410 | +Eval: word(Brev:pun:NG, 1.base); | |
3411 | + | |
3412 | + | |
3413 | +Rule "Brev: mkw. (2)" | |
3414 | + | |
3415 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"metr.kwadratowy"] | |
3416 | + ns [base~"\."]; | |
3417 | +Right: ns [pos~"interp"]; | |
3418 | +Eval: word(Brev:pun:NG, 1.base); | |
3419 | + | |
3420 | + | |
3421 | +Rule "Brev: m kw. (1)" | |
3422 | + | |
3423 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"metr"] | |
3424 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"kwadratowy"] | |
3425 | + ns [base~"\."]; | |
3426 | +Right: []; | |
3427 | +Eval: word(Brev:pun:NG, 1.base); | |
3428 | + | |
3429 | + | |
3430 | +Rule "Brev: m kw. (2)" | |
3431 | + | |
3432 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"metr"] | |
3433 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"kwadratowy"] | |
3434 | + ns [base~"\."]; | |
3435 | +Right: ns [pos~"interp"]; | |
3436 | +Eval: word(Brev:pun:NG, 1.base); | |
3437 | + | |
3438 | + | |
3439 | +Rule "Brev: m kw. (3)" | |
3440 | + | |
3441 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"metr"] | |
3442 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"kwadratowy"] | |
3443 | + ns [base~"\."]; | |
3444 | +Right: se; | |
3445 | +Eval: word(Brev-se:pun:NG, 1.base); | |
3446 | + | |
3447 | + | |
3448 | +Rule "Brev: cdn./c.d.n. (3)" | |
3449 | + | |
3450 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ciąg.dalszy.nastąpi"] | |
3451 | + ns [base~"\."]; | |
3452 | +Right: se; | |
3453 | +Eval: word(Brev-se:pun:DisG, 1.base); | |
3454 | + | |
3455 | + | |
3456 | +Rule "Brev: Cd. (1)" | |
3457 | + | |
3458 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ciąg.dalszy"] | |
3459 | + ns [base~"\."]; | |
3460 | +Right: []; | |
3461 | +Eval: word(Brev:pun:NG, 1.base); | |
3462 | +#zmienić na DisG? | |
3463 | + | |
3464 | + | |
3465 | +Rule "Brev: cd. (2)" | |
3466 | + | |
3467 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ciąg.dalszy"] | |
3468 | + ns [base~"\."]; | |
3469 | +Right: ns [pos~"interp"]; | |
3470 | +Eval: word(Brev:pun:NG, 1.base); | |
3471 | + | |
3472 | + | |
3473 | +Rule "Brev: agd. (2)" | |
3474 | + | |
3475 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && | |
3476 | + base~~"artykuły gospodarstwa domowego"] ns [base~"\."]; | |
3477 | +Right: ns [pos~"interp"]; | |
3478 | +Eval: word(Brev:pun:NG, 1.base); | |
3479 | +#? dlaczego pun? | |
3480 | + | |
3481 | +Rule "Brev: e.w." | |
3482 | + | |
3483 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ekwiwalent wodny"] | |
3484 | + ns [base~"\."]; | |
3485 | +Right: []; | |
3486 | +Eval: word(Brev:pun:NG, 1.base); | |
3487 | + | |
3488 | + | |
3489 | +Rule "Brev: A.D." | |
3490 | + | |
3491 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Anno.Domini"] | |
3492 | + ns [base~"\."]; | |
3493 | +Right: []; | |
3494 | +Eval: word(Brev:pun:NG, 1.base); | |
3495 | + | |
3496 | + | |
3497 | +Rule "Brev: M.P." | |
3498 | + | |
3499 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"military police"] | |
3500 | + ns [base~"\."]; | |
3501 | +Right: []; | |
3502 | +Eval: word(Brev:pun:NG, 1.base); | |
3503 | + | |
3504 | + | |
3505 | +Rule "Brev: Ltd. (2)" | |
3506 | + | |
3507 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"limited.company"] | |
3508 | + ns [base~"\."]; | |
3509 | +Right: ns [pos~"interp"]; | |
3510 | +Eval: word(Brev:pun:NG, 1.base); | |
3511 | + | |
3512 | + | |
3513 | +Rule "Brev: T.S.S." | |
3514 | + | |
3515 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Turbine"] | |
3516 | + ns [base~"\."] ns | |
3517 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"Steam"] | |
3518 | + ns [base~"\."] ns | |
3519 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"Ship"] | |
3520 | + ns [base~"\."]; | |
3521 | +Right: []; | |
3522 | +Eval: word(Brev:pun:NG, "Turbine Steam Ship"); | |
3523 | + | |
3524 | + | |
3525 | +Rule "Brev: S.T., N.T. (1)" | |
3526 | + | |
3527 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3528 | + && base~~"Stary Testament|Nowy Testament"] | |
3529 | + ns [base~"\."]; | |
3530 | +Right: []; | |
3531 | +Eval: word(Brev:pun:NG, 1.base); | |
3532 | + | |
3533 | + | |
3534 | +Rule "Brev: S.T., N.T. (3)" | |
3535 | + | |
3536 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3537 | + && base~~"Stary Testament|Nowy Testament"] | |
3538 | + ns [base~"\."]; | |
3539 | +Right: se; | |
3540 | +Eval: word(Brev-se:pun:NG, 1.base); | |
3541 | + | |
3542 | + | |
3543 | +Rule "Brev: Mk|Mt|Łk|J" | |
3544 | + | |
3545 | +Match: [pos~~"brev" && fullstoppedness~~"npun" | |
3546 | + && base~~"Ewangelia według świętego Marka|Ewangelia według świętego Mateusza|Ewangelia według świętego Łukasza|Ewangelia według świętego Jana"]; | |
3547 | +Eval: word(Brev:npun:NG, 1.base); | |
3548 | + | |
3549 | + | |
3550 | +Rule "Brev: Mk|Mt|Łk|J (wg św.)" | |
3551 | + | |
3552 | +Match: [pos~~"brev" && fullstoppedness~~"npun" | |
3553 | + && base~~"Ewangelia wg św. Marka|Ewangelia wg św. Mateusza|Ewangelia wg św. Łukasza|Ewangelia wg św. Jana"]; | |
3554 | +Eval: word(Brev:npun:NG, 1.base); | |
3555 | +#jak powinno być: "według świętego" czy "wg św."? | |
3556 | + | |
3557 | + | |
3558 | +Rule "Brev: Kol|Kr|Dz" | |
3559 | + | |
3560 | +Match: [pos~~"brev" && fullstoppedness~~"npun" | |
3561 | + && base~~"List do Kolosan|List do Koryntian|Dzieje Apostolskie|List do Efezjan"]; | |
3562 | +Eval: word(Brev:npun:NG, 1.base); | |
3563 | +#dopisać wszystkie listy | |
3564 | + | |
3565 | + | |
3566 | +Rule "Brev: Biblia - Księgi" | |
3567 | + | |
3568 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"Księga.Joela|Księga.Samuela|Księga.Izajasza|Księga.Wyjścia|Księga Powtórzonego Prawa|Księga.Jonasza|Księga.Mądrości|Księga.Ezechiela"]; | |
3569 | +Eval: word(Brev:npun:NG, 1.base); | |
3570 | +#dopisać wszystkie księgi | |
3571 | + | |
3572 | + | |
3573 | +Rule "Brev: ĆD" | |
3574 | + | |
3575 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"Ćwiczenia Duchowe"]; | |
3576 | +Eval: word(Brev:npun:NG, 1.base); | |
3577 | + | |
3578 | + | |
3579 | +Rule "Brev: MB" | |
3580 | + | |
3581 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"Matka Boska"]; | |
3582 | +Eval: word(Brev:npun:NG, 1.base); | |
3583 | + | |
3584 | + | |
3585 | +Rule "Brev: Ś-W" | |
3586 | + | |
3587 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Ściana Wschodnia"]; | |
3588 | +Right: []; | |
3589 | +Eval: word(Brev:npun:NG, 1.base); | |
3590 | + | |
3591 | + | |
3592 | +Rule "Brev: k." | |
3593 | + | |
3594 | +Left: [base~"żółty"] ns; | |
3595 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"kartka"] | |
3596 | + ns [base~"\."]; | |
3597 | +Right: ns [pos~"interp"]; | |
3598 | +Eval: word(Brev:pun:NOUN, 3.base);#LD zmiana cyferki | |
3599 | + | |
3600 | + | |
3601 | +Rule "Brev: P. (Porrhomma)" | |
3602 | + | |
3603 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Porrhomma"] | |
3604 | + ns [base~"\."]; | |
3605 | +Right: [base~"moravicum"]; | |
3606 | +Eval: word(Brev:pun:XXX, 1.base); | |
3607 | + | |
3608 | + | |
3609 | +Rule "Brev: K.W." | |
3610 | + | |
3611 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Krzyż"] | |
3612 | + ns [base~"\."] | |
3613 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"Walecznych"] | |
3614 | + ns [base~"\."]; | |
3615 | +Right: se; | |
3616 | +Eval: word(Brev-se:pun:NG, "Krzyż Walecznych"); | |
3617 | + | |
3618 | + | |
3619 | +Rule "Brev: INF. WŁ." | |
3620 | + | |
3621 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"informacja"] | |
3622 | + ns [base~"\."] | |
3623 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"własny|własna"] | |
3624 | + ns [base~"\."]; | |
3625 | +Right: ns [pos~"interp"]; | |
3626 | +Eval: word(Brev:pun:NG, "informacja własna"); | |
3627 | + | |
3628 | + | |
3629 | +Rule "Brev: woj. (1)" | |
3630 | + | |
3631 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"województwo"] | |
3632 | + ns [base~"\."]; | |
3633 | +Right: []; | |
3634 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3635 | + | |
3636 | + | |
3637 | +Rule "Brev: woj. (2)" | |
3638 | + | |
3639 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"województwo"] | |
3640 | + ns [base~"\."]; | |
3641 | +Right: ns [pos~"interp"]; | |
3642 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3643 | + | |
3644 | + | |
3645 | +Rule "Brev: woj. (2*)" | |
3646 | + | |
3647 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"województwo|powiat"] | |
3648 | + ns [base~"\."]; | |
3649 | +Right: ns []; | |
3650 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3651 | + | |
3652 | + | |
3653 | +Rule "Brev: jez.|rz.|dol.|Przeł." | |
3654 | + | |
3655 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3656 | + && base~~"[Jj]ezioro|rzeka|dolina|[Pp]rzełęcz"] | |
3657 | + ns [base~"\."]; | |
3658 | +Right: []; | |
3659 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3660 | + | |
3661 | + | |
3662 | +Rule "Brev: rez." | |
3663 | + | |
3664 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"rezerwat|rzeka"] | |
3665 | + ns [base~"\."]; | |
3666 | +Right: []; | |
3667 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3668 | + | |
3669 | + | |
3670 | +Rule "Brev: m.st." | |
3671 | + | |
3672 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"miasto"] | |
3673 | + ns [base~"\."] ns | |
3674 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"stołeczny"] | |
3675 | + ns [base~"\."]; | |
3676 | +Right: []; | |
3677 | +Eval: word(Brev:pun:NG, "miasto stołeczne"); | |
3678 | + | |
3679 | + | |
3680 | +Rule "Brev: pow.|gm.|m.|os." | |
3681 | + | |
3682 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3683 | + && base~~"powiat|gmina|miasto|osiedle"] | |
3684 | + ns [base~"\."]; | |
3685 | +Right: []; | |
3686 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3687 | + | |
3688 | + | |
3689 | +Rule "Brev: m. (2)" | |
3690 | + | |
3691 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"miasto"] | |
3692 | + ns [base~"\."]; | |
3693 | +Right: ns [pos~"interp"]; | |
3694 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3695 | + | |
3696 | + | |
3697 | +Rule "Brev: m. (3)" | |
3698 | + | |
3699 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"miasto"] | |
3700 | + ns [base~"\."]; | |
3701 | +Right: se; | |
3702 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
3703 | + | |
3704 | + | |
3705 | +Rule "Brev: ok." | |
3706 | + | |
3707 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"okolica"] | |
3708 | + ns [base~"\."]; | |
3709 | +Right: []; | |
3710 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3711 | + | |
3712 | + | |
3713 | +Rule "Brev: red.(1)" | |
3714 | + | |
3715 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"redaktor|redakcja"] | |
3716 | + ns [base~"\."]; | |
3717 | +Right: []; | |
3718 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3719 | + | |
3720 | + | |
3721 | +Rule "Brev: red. (2)" | |
3722 | + | |
3723 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"redaktor|redakcja"] | |
3724 | + ns [base~"\."]; | |
3725 | +Right: ns [pos~"interp"]; | |
3726 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3727 | + | |
3728 | +Rule "Brev: prof.|doc." | |
3729 | + | |
3730 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"profesor|docent"] | |
3731 | + ns [base~"\."]; | |
3732 | +Right: []; | |
3733 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3734 | + | |
3735 | + | |
3736 | +Rule "Brev: inż." | |
3737 | + | |
3738 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"inżynier"] | |
3739 | + ns [base~"\."]; | |
3740 | +Right: []; | |
3741 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3742 | + | |
3743 | + | |
3744 | +Rule "Brev: arch." | |
3745 | + | |
3746 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"architekt"] | |
3747 | + ns [base~"\."]; | |
3748 | +Right: []; | |
3749 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3750 | + | |
3751 | + | |
3752 | +Rule "Brev: dyr." | |
3753 | + | |
3754 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"dyrektor|dyrekcja"] | |
3755 | + ns [base~"\."]; | |
3756 | +Right: []; | |
3757 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3758 | + | |
3759 | + | |
3760 | +Rule "Brev: min." | |
3761 | + | |
3762 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"minister|ministerstwo"] | |
3763 | + ns [base~"\."]; | |
3764 | +Right: []; | |
3765 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3766 | + | |
3767 | + | |
3768 | +Rule "Brev: mec." | |
3769 | + | |
3770 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"mecenas"] | |
3771 | + ns [base~"\."]; | |
3772 | +Right: []; | |
3773 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3774 | + | |
3775 | + | |
3776 | +Rule "Brev: zast." | |
3777 | + | |
3778 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"zastępca"] | |
3779 | + ns [base~"\."]; | |
3780 | +Right: []; | |
3781 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3782 | + | |
3783 | + | |
3784 | +Rule "Brev: gen. gen." | |
3785 | + | |
3786 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"generał"] | |
3787 | + ns [base~"\."] | |
3788 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"generał"] | |
3789 | + ns [base~"\."]; | |
3790 | +Right: []; | |
3791 | +Eval: word(Brev:pun:NOUN, "generałowie"); | |
3792 | + | |
3793 | + | |
3794 | +Rule "Brev: gen. bryg." | |
3795 | + | |
3796 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"generał"] | |
3797 | + ns [base~"\."] | |
3798 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"brygada"] | |
3799 | + ns [base~"\."]; | |
3800 | +Right: []; | |
3801 | +Eval: word(Brev:pun:NG, "generał brygady"); | |
3802 | + | |
3803 | + | |
3804 | +Rule "Brev: gen. dyw." | |
3805 | + | |
3806 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"generał"] | |
3807 | + ns [base~"\."] | |
3808 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"dywizja"] | |
3809 | + ns [base~"\."]; | |
3810 | +Right: []; | |
3811 | +Eval: word(Brev:pun:NG, "generał dywizji"); | |
3812 | + | |
3813 | + | |
3814 | +Rule "Brev: gen.|kpt.|por.|ppor." | |
3815 | + | |
3816 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3817 | + && base~~"generał|kapitan|porucznik|podporucznik"] | |
3818 | + ns [base~"\."]; | |
3819 | +Right: []; | |
3820 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3821 | + | |
3822 | + | |
3823 | +Rule "Brev: st. szer." | |
3824 | + | |
3825 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"starszy"] | |
3826 | + ns [base~"\."] | |
3827 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"szeregowy"] | |
3828 | + ns [base~"\."]; | |
3829 | +Right: []; | |
3830 | +Eval: word(Brev:pun:NG, "starszy szeregowy"); | |
3831 | + | |
3832 | + | |
3833 | +Rule "Brev: st. post." | |
3834 | + | |
3835 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"starszy"] | |
3836 | + ns [base~"\."] | |
3837 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"posterunkowy"] | |
3838 | + ns [base~"\."]; | |
3839 | +Right: []; | |
3840 | +Eval: word(Brev:pun:NG, "starszy posterunkowy"); | |
3841 | + | |
3842 | + | |
3843 | +Rule "Brev: st. asp." | |
3844 | + | |
3845 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"starszy"] | |
3846 | + ns [base~"\."] | |
3847 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"aspirant"] | |
3848 | + ns [base~"\."]; | |
3849 | +Right: []; | |
3850 | +Eval: word(Brev:pun:NG, "starszy aspirant"); | |
3851 | + | |
3852 | + | |
3853 | +Rule "Noun: st. sierżant" | |
3854 | + | |
3855 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"starszy"] | |
3856 | + ns [base~"\."] | |
3857 | + [pos~~"subst" && base~~"sierżant"]; | |
3858 | +Eval: word(4, Noun, "starszy sierżant"); | |
3859 | +##!! uznałam za Noun, bo centrum grupy nie jest skrótem | |
3860 | + | |
3861 | + | |
3862 | +Rule "Brev: mł. insp." | |
3863 | + | |
3864 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"młodszy"] | |
3865 | + ns [base~"\."] | |
3866 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"inspektor"] | |
3867 | + ns [base~"\."]; | |
3868 | +Right: []; | |
3869 | +Eval: word(Brev:pun:NG, "młodszy inspektor"); | |
3870 | + | |
3871 | + | |
3872 | +Rule "Brev: młodszy insp." | |
3873 | + | |
3874 | +Match: [pos~~"adj" && orth~~"[Mm]łodszy"] | |
3875 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"inspektor"] | |
3876 | + ns [base~"\."]; | |
3877 | +Right: []; | |
3878 | +Eval: word(Brev:pun:NG, "młodszy inspektor"); | |
3879 | + | |
3880 | + | |
3881 | +Rule "Brev: insp." | |
3882 | + | |
3883 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"inspektor"] | |
3884 | + ns [base~"\."]; | |
3885 | +Right: []; | |
3886 | +Eval: word(Brev:pun:NG, 1.base); | |
3887 | + | |
3888 | + | |
3889 | +Rule "Brev: szer.|kom." | |
3890 | + | |
3891 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"szeregowy|komendant"] | |
3892 | + ns [base~"\."]; | |
3893 | +Right: []; | |
3894 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3895 | + | |
3896 | + | |
3897 | +Rule "Brev: tow.|kol." | |
3898 | + | |
3899 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3900 | + && base~~"towarzysz|towarzyszka|kolega"] | |
3901 | + ns [base~"\."]; | |
3902 | +Right: []; | |
3903 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3904 | + | |
3905 | + | |
3906 | +Rule "Brev: hm.|dh." | |
3907 | + | |
3908 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"harcmistrz|druh"] | |
3909 | + ns [base~"\."]; | |
3910 | +Right: []; | |
3911 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3912 | + | |
3913 | + | |
3914 | +Rule "Brev: p.|pp." | |
3915 | + | |
3916 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"pan|pani|państwo|panowie"] | |
3917 | + ns [base~"\."]; | |
3918 | +Right: []; | |
3919 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3920 | + | |
3921 | + | |
3922 | +Rule "Brev: p. (2)" | |
3923 | + | |
3924 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"pan|pani|państwo"] | |
3925 | + ns [base~"\."]; | |
3926 | +Right: ns []; | |
3927 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3928 | + | |
3929 | + | |
3930 | +Rule "Brev: ks.|o.|s." | |
3931 | + | |
3932 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ksiądz|ojciec|siostra"] | |
3933 | + ns [base~"\."]; | |
3934 | +Right: []; | |
3935 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3936 | + | |
3937 | + | |
3938 | +Rule "Brev: ss. (bez kropki)" | |
3939 | + | |
3940 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"siostra"]; | |
3941 | +Right: []; | |
3942 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3943 | + | |
3944 | + | |
3945 | +Rule "Brev: ks.|hr." | |
3946 | + | |
3947 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"książę|hrabia"] | |
3948 | + ns [base~"\."]; | |
3949 | +Right: []; | |
3950 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3951 | + | |
3952 | + | |
3953 | +Rule "Brev: OO." | |
3954 | + | |
3955 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ojcowie"] | |
3956 | + ns [base~"\."]; | |
3957 | +Right: []; | |
3958 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3959 | + | |
3960 | + | |
3961 | +Rule "Brev: ps." | |
3962 | + | |
3963 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"pseudonim"] | |
3964 | + ns [base~"\."]; | |
3965 | +Right: []; | |
3966 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3967 | + | |
3968 | + | |
3969 | +Rule "Brev: pos." | |
3970 | + | |
3971 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"poseł"] | |
3972 | + ns [base~"\."]; | |
3973 | +Right: []; | |
3974 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3975 | + | |
3976 | + | |
3977 | +Rule "Brev: kom.|nadkom.|podkom." | |
3978 | + | |
3979 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
3980 | + && base~~"komisarz|nadkomisarz|podkomisarz"] ns [base~"\."]; | |
3981 | +Right: []; | |
3982 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3983 | + | |
3984 | + | |
3985 | +Rule "Brev: jr. (pun)" | |
3986 | + | |
3987 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"junior"] | |
3988 | + ns [base~"\."]; | |
3989 | +Right: []; | |
3990 | +Eval: word(Brev:pun:NOUN, 1.base); | |
3991 | + | |
3992 | + | |
3993 | +Rule "Brev: jr (npun)" | |
3994 | + | |
3995 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"junior"]; | |
3996 | +Eval: word(Brev:npun:NOUN, 1.base); | |
3997 | + | |
3998 | + | |
3999 | +Rule "Brev: dyw.|p." | |
4000 | + | |
4001 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"dywizja|pułk"] | |
4002 | + ns [base~"\."]; | |
4003 | +Right: []; | |
4004 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4005 | + | |
4006 | + | |
4007 | +Rule "Brev: p. (2*)" | |
4008 | + | |
4009 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"pułk"] | |
4010 | + ns [base~"\."]; | |
4011 | +Right: ns; | |
4012 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4013 | + | |
4014 | + | |
4015 | +Rule "Brev: uł. 3)" | |
4016 | + | |
4017 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ułan"] | |
4018 | + ns [base~"\."]; | |
4019 | +Right: se; | |
4020 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
4021 | + | |
4022 | + | |
4023 | +Rule "Brev: kat. (3)" | |
4024 | + | |
4025 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"kategoria"] | |
4026 | + ns [base~"\."]; | |
4027 | +Right: se; | |
4028 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
4029 | + | |
4030 | + | |
4031 | +Rule "Brev: pow.|obw.|odl.|poj." | |
4032 | + | |
4033 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4034 | + && base~~"powierzchnia|obwód|odległość|pojemność"] ns [base~"\."]; | |
4035 | +Right: []; | |
4036 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4037 | + | |
4038 | + | |
4039 | +Rule "Brev: głęb.|dł.|szer.|wys." | |
4040 | + | |
4041 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4042 | + && base~~"głębokość|długość|szerokość|wysokość"] | |
4043 | + ns [base~"\."]; | |
4044 | +Right: ns? []; | |
4045 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4046 | + | |
4047 | + | |
4048 | +Rule "Brev: k.p.c. (1)" | |
4049 | + | |
4050 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4051 | + && base~~"kodeks postępowania cywilnego"] ns [base~"\."]; | |
4052 | +Right: []; | |
4053 | +Eval: word(Brev:pun:NG, 1.base); | |
4054 | + | |
4055 | + | |
4056 | +Rule "Brev: k.p.c. (2)" | |
4057 | + | |
4058 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4059 | + && base~~"kodeks postępowania cywilnego"] ns [base~"\."]; | |
4060 | +Right: ns [pos~"interp"]; | |
4061 | +Eval: word(Brev:pun:NG, 1.base); | |
4062 | + | |
4063 | + | |
4064 | +Rule "Brev: k.w. (2)" | |
4065 | + | |
4066 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"kodeks wykroczeń"] | |
4067 | + ns [base~"\."]; | |
4068 | +Right: ns [pos~"interp"]; | |
4069 | +Eval: word(Brev:pun:NG, 1.base); | |
4070 | + | |
4071 | + | |
4072 | +Rule "Brev: odp. (1)" | |
4073 | + | |
4074 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"odpowiedzialność"] | |
4075 | + ns [base~"\."]; | |
4076 | +Right: []; | |
4077 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4078 | + | |
4079 | + | |
4080 | +Rule "Brev: k.k." | |
4081 | + | |
4082 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"kodeks"] | |
4083 | + ns [base~"\."] ns | |
4084 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"karny"] | |
4085 | + ns [base~"\."]; | |
4086 | +Right: []; | |
4087 | +Eval: word(Brev:pun:NG, "kodeks karny"); | |
4088 | +#?czy na etapie segmentacji to nie powinien być jeden brev? | |
4089 | + | |
4090 | + | |
4091 | +Rule "Brev: k.p." | |
4092 | + | |
4093 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"kodeks"] | |
4094 | + ns [base~"\."] | |
4095 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"praca"] | |
4096 | + ns [base~"\."]; | |
4097 | +Right: []; | |
4098 | +Eval: word(Brev:pun:NG, "kodeks pracy"); | |
4099 | +#?czy na etapie segmentacji to nie powinien być jeden brev? | |
4100 | + | |
4101 | + | |
4102 | +Rule "Brev: Zw. Zaw." | |
4103 | + | |
4104 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"związek"] | |
4105 | + ns [base~"\."] | |
4106 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"zawodowy"] | |
4107 | + ns [base~"\."]; | |
4108 | +Right: []; | |
4109 | +Eval: word(Brev:pun:NG, "związek zawodowy"); | |
4110 | + | |
4111 | + | |
4112 | +Rule "Brev: pap." | |
4113 | + | |
4114 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"papier"] | |
4115 | + ns [base~"\."]; | |
4116 | +Right: []; | |
4117 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4118 | + | |
4119 | + | |
4120 | +Rule "Brev: wielka litera z kropką przed skrótem" | |
4121 | + | |
4122 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4123 | + && base~~"[A-ZŁŚŻĆŹ]"] ns [base~"\."]; | |
4124 | +Right: ns [pos~"brev"]; | |
4125 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4126 | + | |
4127 | +Rule "Brev: wielka litera z kropką + segment" | |
4128 | + | |
4129 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4130 | + && base~~"A|B|C|Ć|D|E|F|G|H|I|J|K|L|Ł|M|N|O|P|Q|R|S|Ś|T|U|V|W|Z|Ź|Ż"] ns [base~"\."]; | |
4131 | +Right: []; | |
4132 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4133 | + | |
4134 | +Rule "Brev: litera Br." | |
4135 | + | |
4136 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Br"] ns [base~"\."]; | |
4137 | +Right: []; | |
4138 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4139 | + | |
4140 | +Rule "Brev: litera Ch. (1)" | |
4141 | + | |
4142 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Ch"] ns [base~"\."]; | |
4143 | +Right: []; | |
4144 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4145 | + | |
4146 | +Rule "Brev: litera Ch. (3)" | |
4147 | + | |
4148 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Ch"] ns [base~"\."]; | |
4149 | +Right: se; | |
4150 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
4151 | + | |
4152 | +Rule "Brev: litera Cz. (2)" | |
4153 | + | |
4154 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Cz"] ns [base~"\."]; | |
4155 | +Right: ns [pos~"interp"]; | |
4156 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4157 | + | |
4158 | +Rule "Brev: litera Cz. (3)" | |
4159 | + | |
4160 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Cz"] ns [base~"\."]; | |
4161 | +Right: se; | |
4162 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
4163 | + | |
4164 | +Rule "Brev: litera St. (1)" | |
4165 | + | |
4166 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"St"] ns [base~"\."]; | |
4167 | +Right: []; | |
4168 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4169 | + | |
4170 | +Rule "Brev: litera St. (1a)" | |
4171 | + | |
4172 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Stanisław"] ns [base~"\."]; | |
4173 | +Right: []; | |
4174 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4175 | + | |
4176 | +Rule "Brev: litera Sz. (1)" | |
4177 | + | |
4178 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Sz"] ns [base~"\."]; | |
4179 | +Right: []; | |
4180 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4181 | + | |
4182 | +Rule "Brev: litera Sz. (2a)" | |
4183 | + | |
4184 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Sz"] ns [base~"\."]; | |
4185 | +Right: ns [pos~"brev"]; | |
4186 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4187 | + | |
4188 | +Rule "Brev: litera Sz. (3)" | |
4189 | + | |
4190 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Sz"] ns [base~"\."]; | |
4191 | +Right: se; | |
4192 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
4193 | + | |
4194 | + | |
4195 | +Rule "Brev: litera Th." | |
4196 | + | |
4197 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Th"] ns [base~"\."]; | |
4198 | +Right: []; | |
4199 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4200 | + | |
4201 | +Rule "Brev: litera Wł. (1)" | |
4202 | + | |
4203 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Wł"] ns [base~"\."]; | |
4204 | +Right: []; | |
4205 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4206 | + | |
4207 | +Rule "Brev: wielka litera z kropką + znak interpunkcyjny" | |
4208 | + | |
4209 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4210 | + && base~~"A|B|C|D|E|F|G|H|I|J|K|L|Ł|M|N|O|P|Q|R|S|Ś|T|U|W|Z|Ż"] ns [base~"\."]; | |
4211 | +Right: ns [pos~"interp"]; | |
4212 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4213 | + | |
4214 | +Rule "Brev: litera Ch. (2)" | |
4215 | + | |
4216 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Ch"] ns [base~"\."]; | |
4217 | +Right: ns [pos~"interp"]; | |
4218 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4219 | + | |
4220 | +Rule "Brev: litera Sz. (2)" | |
4221 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Sz"] ns [base~"\."]; | |
4222 | +Right: ns [pos~"interp"]; | |
4223 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4224 | + | |
4225 | +Rule "Brev: wielka litera (base z kropką) (2)" | |
4226 | + | |
4227 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4228 | + && base~~"A\.|B\.|C\.|D\.|E\.|F\.|G\.|H\.|I\.|J\.|K\.|L\.|Ł\.|M\.|N\.|O\.|P\.|Q\.|R\.|S\.|Ś\.|T\.|U\.|W\.|Z\.|Ż\."] ns [base~"\."]; | |
4229 | +Right: ns []; | |
4230 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4231 | + | |
4232 | +Rule "Brev: wielka litera (base z kropką) (1)" | |
4233 | + | |
4234 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4235 | + && base~~"A\.|B\.|C\.|D\.|E\.|F\.|G\.|H\.|I\.|J\.|K\.|L\.|Ł\.|M\.|N\.|O\.|P\.|Q\.|R\.|S\.|Ś\.|T\.|U\.|W\.|Z\.|Ż\."] ns [base~"\."]; | |
4236 | +Right: []; | |
4237 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4238 | + | |
4239 | +Rule "Brev: wielka litera z kropką na końcu zdania" | |
4240 | + | |
4241 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4242 | + && base~~"A|B|C|D|E|F|G|H|I|J|K|L|Ł|M|N|O|P|Q|R|S|Ś|T|U|W|Z|Ż"] ns [base~"\."]; | |
4243 | +Right: se; | |
4244 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
4245 | + | |
4246 | +Rule "Brev: wielka litera bez kropki" | |
4247 | + | |
4248 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"A|B|C|D|E|F|G|H|I|J|K|L|Ł|M|N|O|P|R|S|Ś|T|U|W|Z"]; | |
4249 | +Eval: word(Brev:npun:NOUN, 1.base); | |
4250 | + | |
4251 | + | |
4252 | +Rule "Brev: wielka litera i dwukropek" | |
4253 | + | |
4254 | +Match: [pos~~"brev" && fullstoppedness~~"pun|npun" && base~~"A|B|C|D|E|F|G|H|I|J|K|L|Ł|M|N|O|P|R|S|Ś|T|U|W|Z"]; | |
4255 | +Right: ns [base~":"]; | |
4256 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4257 | + | |
4258 | + | |
4259 | +Rule "Brev: wielka litera z kropką" | |
4260 | + | |
4261 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"A|B|C|D|E|F|G|H|I|J|K|L|Ł|M|N|O|P|R|S|Ś|T|U|W|Z"] ns [base~"\."]; | |
4262 | +Right: (ns | []); | |
4263 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4264 | + | |
4265 | + | |
4266 | +Rule "Brev: duże litery:" | |
4267 | + | |
4268 | +Match: [pos~~"brev" && fullstoppedness~~"pun|npun" && base~~"[A-ZŁŚŻ][A-ZŁŚŻ]+"]; | |
4269 | +Right: ns [base~":"]; | |
4270 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4271 | + | |
4272 | + | |
4273 | +Rule "Brev: duże litery :" | |
4274 | + | |
4275 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"[A-ZŁŚŻ][A-ZŁŚŻ][a-z]?"]; | |
4276 | +Right: [base~":"]; | |
4277 | +Eval: word(Brev:npun:NOUN, 1.base); | |
4278 | + | |
4279 | + | |
4280 | +Rule "Brev: duże litery na końcu zdania" | |
4281 | + | |
4282 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"[A-ZŁŚŻ][A-ZŁŚŻ]"]; | |
4283 | +Right: se; | |
4284 | +Eval: word(Brev:npun:NOUN, 1.base); | |
4285 | + | |
4286 | + | |
4287 | +Rule "Brev: mała litera z kropką jako inicjał" | |
4288 | + | |
4289 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"a|b|c|cz|d|e|f|g|h|i|j|k|l|ł|m|n|o|p|r|s|ś|t|u|w|z"] ns [base~"\."]; | |
4290 | +Right: (ns | []); | |
4291 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4292 | + | |
4293 | + | |
4294 | +Rule "Brev: mała litera z kropką jako inicjał" | |
4295 | + | |
4296 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"a|b|c|cz|d|e|f|g|h|i|j|k|l|ł|m|n|o|p|r|s|ś|t|u|w|z"] ns [base~"\."]; | |
4297 | +Right: se; | |
4298 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
4299 | + | |
4300 | + | |
4301 | +Rule "Brev: skrócone imię (1)" | |
4302 | + | |
4303 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4304 | + && base~~"Andrzej|Zenon|Małgorzata|Tadeusz|Grażyna|Krystyna"] | |
4305 | + ns [base~"\."]; | |
4306 | +Right: []; | |
4307 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4308 | + | |
4309 | + | |
4310 | +Rule "Brev: skrócone imię (2)" | |
4311 | + | |
4312 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4313 | + && base~~"Andrzej|Zenon|Małgorzata|Tadeusz|Grażyna|Krystyna"] | |
4314 | + ns [base~"\."]; | |
4315 | +Right: ns [pos~"interp"]; | |
4316 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4317 | + | |
4318 | + | |
4319 | +Rule "Brev: S.=sen? (1)" | |
4320 | + | |
4321 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"sen"] | |
4322 | + ns [base~"\."]; | |
4323 | +Right: []; | |
4324 | +Eval: word(Brev:pun:NOUN, 1.base); | |
4325 | + | |
4326 | + | |
4327 | +Rule "Brev: S.=sen? (3)" | |
4328 | + | |
4329 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"sen"] | |
4330 | + ns [base~"\."]; | |
4331 | +Right: se; | |
4332 | +Eval: word(Brev-se:pun:NOUN, 1.base); | |
4333 | + | |
4334 | + | |
4335 | +Rule "Brev: Wlkp|Op.|GD. (1)" | |
4336 | + | |
4337 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Wielkopolski|Gdański"] | |
4338 | + ns [base~"\."]; | |
4339 | +Right: []; | |
4340 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4341 | + | |
4342 | + | |
4343 | +Rule "Brev: Wlkp (2)" | |
4344 | + | |
4345 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"Wielkopolski|Gdański"] | |
4346 | + ns [base~"\."]; | |
4347 | +Right: ns [pos~"interp"]; | |
4348 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4349 | + | |
4350 | + | |
4351 | +Rule "Brev: Wlkp|Op.|GD. (3)" | |
4352 | + | |
4353 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4354 | + && base~~"Wielkopolski|Opolskie|Gdański"] | |
4355 | + ns [base~"\."]; | |
4356 | +Right: se; | |
4357 | +Eval: word(Brev-se:pun:ADJ, 1.base); | |
4358 | +#!czy nie powinno być Opolski? (NKJP_1M_1305000001942) | |
4359 | + | |
4360 | + | |
4361 | +Rule "Brev: Płd (1)" | |
4362 | + | |
4363 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4364 | + && base~~"południowy|północny|wschodni|zachodni"] | |
4365 | + ns [base~"\."]; | |
4366 | +Right: []; | |
4367 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4368 | + | |
4369 | + | |
4370 | +Rule "Brev: Płd (2)" | |
4371 | + | |
4372 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4373 | + && base~~"południowy|północny|wschodni|zachodni"] | |
4374 | + ns [base~"\."]; | |
4375 | +Right: ns [pos~"interp"]; | |
4376 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4377 | + | |
4378 | + | |
4379 | +Rule "Brev: Płd (2*)" | |
4380 | + | |
4381 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"północny"] | |
4382 | + ns [base~"\."]; | |
4383 | +Right: ns; | |
4384 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4385 | +#reguła do usunięcia | |
4386 | + | |
4387 | +Rule "Brev: Płd (3)" | |
4388 | + | |
4389 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4390 | + && base~~"południowy|północny|wschodni|zachodni"] | |
4391 | + ns [base~"\."]; | |
4392 | +Right: se; | |
4393 | +Eval: word(Brev-se:pun:ADJ, 1.base); | |
4394 | + | |
4395 | + | |
4396 | +Rule "Brev: W. (adj)" | |
4397 | + | |
4398 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"wielki|Wielki"] | |
4399 | + ns [base~"\."]; | |
4400 | +Right: []; | |
4401 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4402 | + | |
4403 | + | |
4404 | +Rule "Brev: św. św." | |
4405 | + | |
4406 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"święty"] | |
4407 | + ns [base~"\."] | |
4408 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"święty"] | |
4409 | + ns [base~"\."]; | |
4410 | +Right: []; | |
4411 | +Eval: word(Brev:pun:ADJ, "święci"); | |
4412 | + | |
4413 | + | |
4414 | +Rule "Brev: św.|St.|Najśw. (1)" | |
4415 | + | |
4416 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4417 | + && base~~"święty|saint|najświętszy"] | |
4418 | + ns [base~"\."]; | |
4419 | +Right: []; | |
4420 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4421 | + | |
4422 | + | |
4423 | +Rule "Brev: St" | |
4424 | + | |
4425 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"Saint"]; | |
4426 | +Eval: word(Brev:npun:ADJ, 1.base); | |
4427 | + | |
4428 | + | |
4429 | +Rule "Brev: św. (2)" | |
4430 | + | |
4431 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"święty"] | |
4432 | + ns [base~"\."]; | |
4433 | +Right: ns [pos~"interp"]; | |
4434 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4435 | + | |
4436 | + | |
4437 | +Rule "Brev: św. (3)" | |
4438 | + | |
4439 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"święty"] | |
4440 | + ns [base~"\."]; | |
4441 | +Right: se; | |
4442 | +Eval: word(Brev-se:pun:ADJ, 1.base); | |
4443 | + | |
4444 | + | |
4445 | +Rule "Brev: paraf.|gm. (1)" | |
4446 | + | |
4447 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"parafialny|gminny"] | |
4448 | + ns [base~"\."]; | |
4449 | +Right: []; | |
4450 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4451 | + | |
4452 | + | |
4453 | +Rule "Brev: paraf. (2)" | |
4454 | + | |
4455 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"parafialny"] | |
4456 | + ns [base~"\."]; | |
4457 | +Right: ns [pos~"interp"]; | |
4458 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4459 | + | |
4460 | +Rule "Brev: m.in. (!)" ##czy to nie jest byk? | |
4461 | + | |
4462 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"między"] | |
4463 | + ns [base~"\."] ns? | |
4464 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"inny|innymi"] | |
4465 | + ns [base~"\."]; | |
4466 | +Right: []; | |
4467 | +Eval: word(Brev:pun:DisG, "między innymi"); | |
4468 | + | |
4469 | + | |
4470 | +Rule "Brev: m.in. (1)" | |
4471 | + | |
4472 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"między.innymi"] | |
4473 | + ns [base~"\."]; | |
4474 | +Right: []; | |
4475 | +Eval: word(Brev:pun:DisG, 1.base); | |
4476 | + | |
4477 | + | |
4478 | +Rule "Brev: m.in. (2)" | |
4479 | + | |
4480 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"między.innymi"] | |
4481 | + ns [base~"\."]; | |
4482 | +Right: ns [pos~"interp"]; | |
4483 | +Eval: word(Brev:pun:DisG, 1.base); | |
4484 | + | |
4485 | + | |
4486 | +Rule "DisG: między innymi" | |
4487 | + | |
4488 | +Match: [base~"między.innymi"]; | |
4489 | +Eval: group(DisG, 1,1); | |
4490 | + | |
4491 | + | |
4492 | +Rule "Brev: in.(1)" | |
4493 | + | |
4494 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"inny"] | |
4495 | + ns [base~"\."]; | |
4496 | +Right: []; | |
4497 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4498 | + | |
4499 | + | |
4500 | +Rule "Brev: in.(2)" | |
4501 | + | |
4502 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"inny"] | |
4503 | + ns [base~"\."]; | |
4504 | +Right: ns [pos~"interp"]; | |
4505 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4506 | + | |
4507 | + | |
4508 | +Rule "Brev: in.(3)" | |
4509 | + | |
4510 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"inny"] | |
4511 | + ns [base~"\."]; | |
4512 | +Right: se; | |
4513 | +Eval: word(Brev-se:pun:ADJ, 1.base); | |
4514 | + | |
4515 | + | |
4516 | +Rule "Brev: b.|d.|st.|późn.|zm.|zam.|śr.|dysk.|pojed." | |
4517 | + | |
4518 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4519 | + && base~~"były|dawny|stary|późniejszy|zmarły|zamieszkały|średni|dyskusyjny|pojedynczy"] | |
4520 | + ns [base~"\."]; | |
4521 | +Right: []; | |
4522 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4523 | + | |
4524 | + | |
4525 | +Rule "Brev: b.|d.|st.|późn.|zm.|zam.|śr.|dysk.|pojed. (2)" | |
4526 | + | |
4527 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4528 | + && base~~"były|dawny|stary|późniejszy|zmarły|zamieszkały|średni|dyskusyjny|pojedynczy"] | |
4529 | + ns [base~"\."]; | |
4530 | +Right: ns [pos~"interp"]; | |
4531 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4532 | + | |
4533 | + | |
4534 | +Rule "Brev: d. ns k.p.c." | |
4535 | + | |
4536 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"dawny"] | |
4537 | + ns [base~"\."]; | |
4538 | +Right: ns [pos~"brev"]; | |
4539 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4540 | +#reguła szczegółowa | |
4541 | + | |
4542 | + | |
4543 | +Rule "Brev: kw" | |
4544 | + | |
4545 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"kwadratowy"] | |
4546 | + ns [base~"\."]; | |
4547 | +Right: []; | |
4548 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4549 | + | |
4550 | + | |
4551 | +Rule "Brev: ang. (1)" | |
4552 | + | |
4553 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"angielski"] | |
4554 | + ns [base~"\."]; | |
4555 | +Right: []; | |
4556 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4557 | + | |
4558 | + | |
4559 | +Rule "Brev: ang. (2)" | |
4560 | + | |
4561 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"angielski"] | |
4562 | + ns [base~"\."]; | |
4563 | +Right: ns [pos~"interp"]; | |
4564 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4565 | + | |
4566 | + | |
4567 | +Rule "Brev: łac.|wł.|pol." | |
4568 | + | |
4569 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4570 | + && base~~"łaciński|włoski|polski"] | |
4571 | + ns [base~"\."]; | |
4572 | +Right: []; | |
4573 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4574 | + | |
4575 | + | |
4576 | +Rule "Brev: min.|maks." | |
4577 | + | |
4578 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"minimalny|maksymalny"] | |
4579 | + ns [base~"\."]; | |
4580 | +Right: []; | |
4581 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4582 | + | |
4583 | + | |
4584 | +Rule "Brev: geogr." | |
4585 | + | |
4586 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"geograficzny"] | |
4587 | + ns [base~"\."]; | |
4588 | +Right: []; | |
4589 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4590 | + | |
4591 | + | |
4592 | +Rule "Brev: kolej." | |
4593 | + | |
4594 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"kolejowy"] | |
4595 | + ns [base~"\."]; | |
4596 | +Right: []; | |
4597 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4598 | + | |
4599 | + | |
4600 | +Rule "Brev: ppanc." | |
4601 | + | |
4602 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"przeciwpancerny"] | |
4603 | + ns [base~"\."]; | |
4604 | +Right: []; | |
4605 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4606 | + | |
4607 | + | |
4608 | +Rule "Brev: ppanc. (3)" | |
4609 | + | |
4610 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"przeciwpancerny"] | |
4611 | + ns [base~"\."]; | |
4612 | +Right: se; | |
4613 | +Eval: word(Brev-se:pun:ADJ, 1.base); | |
4614 | + | |
4615 | + | |
4616 | +Rule "Brev: ppanc (bez kropki)" | |
4617 | + | |
4618 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"przeciwpancerny"]; | |
4619 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4620 | + | |
4621 | + | |
4622 | +Rule "Brev: (50-)proc." | |
4623 | + | |
4624 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"[1-9][0-9]*-procentowy|procentowy"] | |
4625 | + ns [base~"\."]; | |
4626 | +Right: []; | |
4627 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4628 | +#rozszerzyć regułę | |
4629 | + | |
4630 | + | |
4631 | +Rule "Brev: n-tys." | |
4632 | + | |
4633 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"[1-9][0-9]*-tysięczny"] | |
4634 | + ns [base~"\."]; | |
4635 | +Right: []; | |
4636 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4637 | + | |
4638 | +Rule "Brev: c.k." | |
4639 | + | |
4640 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"cesarsko-królewski"] | |
4641 | + ns [base~"\."]; | |
4642 | +Right: []; | |
4643 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4644 | + | |
4645 | + | |
4646 | +Rule "Brev: ż." | |
4647 | + | |
4648 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"żółty"] | |
4649 | + ns [base~"\."]; | |
4650 | +Right: ns [base~"kartka"]; | |
4651 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4652 | + | |
4653 | + | |
4654 | +Rule "Brev: m sześć. (osobno) (2)" | |
4655 | + | |
4656 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"metr"] | |
4657 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"sześcienny"] | |
4658 | + ns [base~"\."]; | |
4659 | +Right: ns [pos~"interp"]; | |
4660 | +Eval: word(Brev:pun:NG, "metr sześcienny"); | |
4661 | + | |
4662 | + | |
4663 | +Rule "Brev: sześć. (1)" | |
4664 | + | |
4665 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"sześcienny"] | |
4666 | + ns [base~"\."]; | |
4667 | +Right: []; | |
4668 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4669 | + | |
4670 | + | |
4671 | +Rule "Brev: sześć. (2)" | |
4672 | + | |
4673 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"sześcienny"] | |
4674 | + ns [base~"\."]; | |
4675 | +Right: ns [pos~"interp"]; | |
4676 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4677 | + | |
4678 | + | |
4679 | +Rule "Brev: sześć. (3)" | |
4680 | + | |
4681 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"sześcienny"] | |
4682 | + ns [base~"\."]; | |
4683 | +Right: se; | |
4684 | +Eval: word(Brev-se:pun:ADJ, 1.base); | |
4685 | + | |
4686 | + | |
4687 | +Rule "Brev: ur.|zbud.|odbud.|rozbud.|przebud.|założ.|położ. (1)" | |
4688 | + | |
4689 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4690 | + && base~~"urodzony|zbudowany|odbudowany|rozbudowany|przebudowany|założony|położony"] ns [base~"\."]; | |
4691 | +Right: []; | |
4692 | +Eval: word(Brev:pun:PPAS, 1.base); | |
4693 | + | |
4694 | + | |
4695 | +Rule "Brev: ur.|zbud.|odbud.|rozbud.|przebud.|założ.|położ. (2)" | |
4696 | + | |
4697 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4698 | + && base~~"urodzony|zbudowany|odbudowany|rozbudowany|przebudowany|założony|położony"] ns [base~"\."]; | |
4699 | +Right: ns [pos~"interp"]; | |
4700 | +Eval: word(Brev:pun:PPAS, 1.base); | |
4701 | + | |
4702 | + | |
4703 | +Rule "Brev: ur.|zbud.|odbud.|rozbud.|przebud.|założ.|położ. (3)" | |
4704 | + | |
4705 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4706 | + && base~~"urodzony|zbudowany|odbudowany|rozbudowany|przebudowany|założony|położony"] ns [base~"\."]; | |
4707 | +Right: se; | |
4708 | +Eval: word(Brev-se:pun:PPAS, 1.base); | |
4709 | + | |
4710 | + | |
4711 | +Rule "Brev: dot." | |
4712 | + | |
4713 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"dotyczący"] | |
4714 | + ns [base~"\."]; | |
4715 | +Right: []; | |
4716 | +Eval: word(Brev:pun:PACT, 1.base); | |
4717 | + | |
4718 | + | |
4719 | +Rule "Brev: w.w." | |
4720 | + | |
4721 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"wyżej wymieniony"] | |
4722 | + ns [base~"\."]; | |
4723 | +Right: []; | |
4724 | +Eval: word(Brev:pun:AdjG, 1.base); | |
4725 | + | |
4726 | + | |
4727 | +Rule "Brev: ww (bez kropki)" | |
4728 | + | |
4729 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"wyżej wymieniony"]; | |
4730 | +Right: []; | |
4731 | +Eval: word(Brev:pun:AdjG, 1.base); | |
4732 | + | |
4733 | + | |
4734 | +Rule "Brev: w/w (npun)" | |
4735 | + | |
4736 | +Match: [pos~~"brev" && fullstoppedness~~"npun" | |
4737 | + && orth~"w/w" && base~~"wyżej wymieniony"]; | |
4738 | +Right: []; | |
4739 | +Eval: word(Brev:npun:AdjG, 1.base); | |
4740 | + | |
4741 | + | |
4742 | +Rule "Brev: b.|ew." | |
4743 | + | |
4744 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"bardzo|ewentualnie"] | |
4745 | + ns [base~"\."]; | |
4746 | +Right: []; | |
4747 | +Eval: word(Brev:pun:ADV, 1.base); | |
4748 | + | |
4749 | + | |
4750 | +Rule "Brev: jw (bez kropki)" | |
4751 | + | |
4752 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"jak.wyżej"]; | |
4753 | +Right: []; | |
4754 | +Eval: word(Brev:pun:ADV, 1.base); | |
4755 | +#nie wiem, jaką część mowy dać (na razie ADV) | |
4756 | + | |
4757 | + | |
4758 | +Rule "Brev: ok." | |
4759 | + | |
4760 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"około"] | |
4761 | + ns [base~"\."]; | |
4762 | +Right: ns? []; | |
4763 | +Eval: word(Brev:pun:QUB, 1.base); | |
4764 | +##Ale może być prep! | |
4765 | + | |
4766 | + | |
4767 | +Rule "Brev: np. (1)" | |
4768 | + | |
4769 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"na.przykład"] | |
4770 | + ns [base~"\."]; | |
4771 | +Right: []; | |
4772 | +Eval: word(Brev:pun:QUB, 1.base); | |
4773 | + | |
4774 | + | |
4775 | +Rule "Brev: np. (2)" | |
4776 | + | |
4777 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"na.przykład"] | |
4778 | + ns [base~"\."]; | |
4779 | +Right: ns [pos~"interp"]; | |
4780 | +Eval: word(Brev:pun:QUB, 1.base); | |
4781 | + | |
4782 | + | |
4783 | +Rule "Brev: np. (2*)" | |
4784 | + | |
4785 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"na.przykład"] | |
4786 | + ns [base~"\."]; | |
4787 | +Right: ns; | |
4788 | +Eval: word(Brev:pun:QUB, 1.base); | |
4789 | +##reguła do usunięcia | |
4790 | + | |
4791 | +Rule "Brev: np: (bez kropki)" | |
4792 | + | |
4793 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"na.przykład"]; | |
4794 | +Right: ns [base~":"]; | |
4795 | +Eval: word(Brev:pun:QUB, 1.base); | |
4796 | + | |
4797 | + | |
4798 | +Rule "Brev: np (bez kropki)" | |
4799 | + | |
4800 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"na.przykład"]; | |
4801 | +Right: []; | |
4802 | +Eval: word(Brev:pun:QUB, 1.base); | |
4803 | + | |
4804 | + | |
4805 | +Rule "Brev: nb." | |
4806 | + | |
4807 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"nota.bene"] | |
4808 | + ns [base~"\."]; | |
4809 | +Right: []; | |
4810 | +Eval: word(Brev:pun:QUB, 1.base); | |
4811 | +##!!! spr. czy to Qub | |
4812 | + | |
4813 | + | |
4814 | +Rule "Brev: k." | |
4815 | + | |
4816 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"koło"] | |
4817 | + ns [base~"\."]; | |
4818 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
4819 | + && case~~"gen"]; | |
4820 | +Eval: word(Brev:pun:PREP, 1.base); | |
4821 | + | |
4822 | + | |
4823 | +Rule "Brev: m." | |
4824 | + | |
4825 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"między"] | |
4826 | + ns [base~"\."]; | |
4827 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
4828 | + && case~~"inst"]; | |
4829 | +Eval: word(Brev:pun:PREP, 1.base); | |
4830 | + | |
4831 | + | |
4832 | +Rule "Brev: pow." | |
4833 | + | |
4834 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"powyżej"] | |
4835 | + ns [base~"\."]; | |
4836 | +Eval: word(Brev:pun:PREP, 1.base); | |
4837 | + | |
4838 | + | |
4839 | +Rule "Brev: n" | |
4840 | + | |
4841 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"nad"]; | |
4842 | +Eval: word(Brev:npun:PREP, 1.base); | |
4843 | + | |
4844 | + | |
4845 | +Rule "Brev: por.|zob.|p." | |
4846 | + | |
4847 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"porównaj|zobacz|patrz"] | |
4848 | + ns [base~"\."]; | |
4849 | +Right: []; | |
4850 | +Eval: word(Brev:pun:VERB, 1.base); | |
4851 | + | |
4852 | + | |
4853 | +Rule "Brev: zob.:" | |
4854 | + | |
4855 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"zobacz"] | |
4856 | + ns [base~"\."]; | |
4857 | +Right: ns [base~":"]; | |
4858 | +Eval: word(Brev:pun:VERB, 1.base); | |
4859 | + | |
4860 | + | |
4861 | +Rule "Brev: wyst.|zm.|proj." | |
4862 | + | |
4863 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
4864 | + && base~~"występują|zmarł|projektował"] | |
4865 | + ns [base~"\."]; | |
4866 | +Right: []; | |
4867 | +Eval: word(Brev:pun:VERB, 1.base); | |
4868 | + | |
4869 | + | |
4870 | +Rule "Brev: br. (1a)" | |
4871 | + | |
4872 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"bieżący.rok"] | |
4873 | + ns [base~"\."]; | |
4874 | +Right: []; | |
4875 | +Eval: word(Brev:pun:NG, 1.base); | |
4876 | + | |
4877 | + | |
4878 | +Rule "Brev: br. (1b)" | |
4879 | + | |
4880 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"bieżącego.roku"] | |
4881 | + ns [base~"\."]; | |
4882 | +Right: []; | |
4883 | +Eval: word(Brev:pun:NG, 1.base); | |
4884 | + | |
4885 | + | |
4886 | +Rule "Brev: br. (2a)" | |
4887 | + | |
4888 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"bieżący.rok"] | |
4889 | + ns [base~"\."]; | |
4890 | +Right: ns [pos~"interp"]; | |
4891 | +Eval: word(Brev:pun:NG, 1.base); | |
4892 | + | |
4893 | + | |
4894 | +Rule "Brev: br. (3a)" | |
4895 | + | |
4896 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"bieżący.rok"] | |
4897 | + ns [base~"\."]; | |
4898 | +Right: se; | |
4899 | +Eval: word(Brev-se:pun:NG, 1.base); | |
4900 | + | |
4901 | + | |
4902 | +Rule "Brev: br. (3b)" | |
4903 | + | |
4904 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"bieżącego.roku"] | |
4905 | + ns [base~"\."]; | |
4906 | +Right: se; | |
4907 | +Eval: word(Brev-se:pun:NG, 1.base); | |
4908 | + | |
4909 | + | |
4910 | +Rule "Brev: ub.r. (1a)" | |
4911 | + | |
4912 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ubiegły.rok"] | |
4913 | + ns [base~"\."]; | |
4914 | +Right: []; | |
4915 | +Eval: word(Brev:pun:NG, 1.base); | |
4916 | + | |
4917 | + | |
4918 | +Rule "Brev: ub.r. (2a)" | |
4919 | + | |
4920 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ubiegły.rok"] | |
4921 | + ns [base~"\."]; | |
4922 | +Right: ns [pos~"interp"]; | |
4923 | +Eval: word(Brev:pun:NG, 1.base); | |
4924 | + | |
4925 | + | |
4926 | +Rule "Brev: ub.r. (3a)" | |
4927 | + | |
4928 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ubiegły.rok"] | |
4929 | + ns [base~"\."]; | |
4930 | +Right: se; | |
4931 | +Eval: word(Brev-se:pun:NG, 1.base); | |
4932 | + | |
4933 | + | |
4934 | +Rule "Brev: ub.r. (1b)" | |
4935 | + | |
4936 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ubiegłego.roku"] | |
4937 | + ns [base~"\."]; | |
4938 | +Right: []; | |
4939 | +Eval: word(Brev:pun:NG, "ubiegły rok"); | |
4940 | + | |
4941 | + | |
4942 | +Rule "Brev: ub.r. (2b)" | |
4943 | + | |
4944 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ubiegłego.roku"] | |
4945 | + ns [base~"\."]; | |
4946 | +Right: se; | |
4947 | +Eval: word(Brev-se:pun:NG, "ubiegły rok"); | |
4948 | + | |
4949 | + | |
4950 | +Rule "Brev: ub." | |
4951 | + | |
4952 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"ubiegły"] | |
4953 | + ns [base~"\."]; | |
4954 | +Right: []; | |
4955 | +Eval: word(Brev:pun:ADJ, 1.base); | |
4956 | + | |
4957 | + | |
4958 | +Rule "Brev: bm. (1a)" | |
4959 | + | |
4960 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"bieżącego.miesiąca"] | |
4961 | + ns [base~"\."]; | |
4962 | +Right: []; | |
4963 | +Eval: word(Brev:pun:NG, "bieżący miesiąc"); | |
4964 | + | |
4965 | + | |
4966 | +Rule "Brev: bm. (1b)" | |
4967 | + | |
4968 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"bieżący.miesiąc"] | |
4969 | + ns [base~"\."]; | |
4970 | +Right: []; | |
4971 | +Eval: word(Brev:pun:NG, 1.base); | |
4972 | + | |
4973 | + | |
4974 | +Rule "Brev: bm. (2a)" | |
4975 | + | |
4976 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"bieżącego.miesiąca"] | |
4977 | + ns [base~"\."]; | |
4978 | +Right: ns [pos~"interp"]; | |
4979 | +Eval: word(Brev:pun:NG, "bieżący miesiąc"); | |
4980 | + | |
4981 | + | |
4982 | +Rule "Brev: bm. (2b)" | |
4983 | + | |
4984 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"bieżący.miesiąc"] | |
4985 | + ns [base~"\."]; | |
4986 | +Right: ns [pos~"interp"]; | |
4987 | +Eval: word(Brev:pun:NG, 1.base); | |
4988 | + | |
4989 | + | |
4990 | +Rule "Brev: bm. (3a)" | |
4991 | + | |
4992 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"bieżącego.miesiąca"] | |
4993 | + ns [base~"\."]; | |
4994 | +Right: se; | |
4995 | +Eval: word(Brev-se:pun:NG, "bieżący miesiąc"); | |
4996 | + | |
4997 | + | |
4998 | +Rule "Brev: bm. (3b)" | |
4999 | + | |
5000 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"bieżący.miesiąc"] | |
5001 | + ns [base~"\."]; | |
5002 | +Right: se; | |
5003 | +Eval: word(Brev-se:pun:NG, 1.base); | |
5004 | + | |
5005 | + | |
5006 | +Rule "Brev: c.o." | |
5007 | + | |
5008 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"centralne.ogrzewanie"] | |
5009 | + ns [base~"\."]; | |
5010 | +Right: []; | |
5011 | +Eval: word(Brev:pun:NG, 1.base); | |
5012 | + | |
5013 | + | |
5014 | +Rule "Brev: w.c. (1)" | |
5015 | + | |
5016 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"water.closet"] | |
5017 | + ns [base~"\."]; | |
5018 | +Right: []; | |
5019 | +Eval: word(Brev:pun:NG, 1.base); | |
5020 | + | |
5021 | + | |
5022 | +Rule "Brev: w.c. (2)" | |
5023 | + | |
5024 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"water.closet"] | |
5025 | + ns [base~"\."]; | |
5026 | +Right: ns [pos~"interp"]; | |
5027 | +Eval: word(Brev:pun:NG, 1.base); | |
5028 | + | |
5029 | + | |
5030 | +Rule "Brev: w.c. (2A)" | |
5031 | + | |
5032 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"wartości.chrześcijańskie"] | |
5033 | + ns [base~"\."]; | |
5034 | +Right: ns [pos~"interp"]; | |
5035 | +Eval: word(Brev:pun:NG, 1.base); | |
5036 | + | |
5037 | + | |
5038 | +Rule "Brev: S.A. (osobno)" | |
5039 | + | |
5040 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"spółka"] | |
5041 | + ns [base~"\."] ns | |
5042 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"akcyjny"] | |
5043 | + ns [base~"\."]; | |
5044 | +Right: ns [pos~"interp"]; | |
5045 | +Eval: word(Brev:pun:NG, "spółka akcyjna"); | |
5046 | +#?czy na etapie segmentacji to nie powinien być jeden brev? | |
5047 | + | |
5048 | +Rule "Brev: S.A. (3)" | |
5049 | + | |
5050 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"spółka.akcyjna"] | |
5051 | + ns [base~"\."]; | |
5052 | +Right: []; | |
5053 | +Eval: word(Brev:pun:NG, 1.base); | |
5054 | + | |
5055 | + | |
5056 | +Rule "Brev: S.A. (2)" | |
5057 | + | |
5058 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"spółka.akcyjna"] | |
5059 | + ns [base~"\."]; | |
5060 | +Right: se; | |
5061 | +Eval: word(Brev-se:pun:NG, 1.base); | |
5062 | + | |
5063 | + | |
5064 | +Rule "Brev: pt. (1)" | |
5065 | + | |
5066 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"pod.tytułem"] | |
5067 | + ns [base~"\."]; | |
5068 | +Right: []; | |
5069 | +Eval: word(Brev:pun:PrepNG, 1.base); | |
5070 | + | |
5071 | + | |
5072 | +Rule "Brev: pt. (2)" | |
5073 | + | |
5074 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"pod.tytułem"] | |
5075 | + ns [base~"\."]; | |
5076 | +Right: ns [base~":"]; | |
5077 | +Eval: word(Brev:pun:PrepNG, 1.base); | |
5078 | + | |
5079 | + | |
5080 | +Rule "Brev: pt. (3)" | |
5081 | + | |
5082 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"pod.tytułem"] | |
5083 | + ns [base~"\."]; | |
5084 | +Right: se; | |
5085 | +Eval: word(Brev-se:pun:PrepNG, 1.base); | |
5086 | + | |
5087 | + | |
5088 | +Rule "Brev: pt. bez kropki" | |
5089 | + | |
5090 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"pod.tytułem"]; | |
5091 | +Right: [base~"\""]; | |
5092 | +Eval: word(Brev:pun:PrepNG, 1.base); | |
5093 | + | |
5094 | + | |
5095 | +Rule "Brev: pn." | |
5096 | + | |
5097 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"pod.nazwą"] | |
5098 | + ns [base~"\."]; | |
5099 | +Right: []; | |
5100 | +Eval: word(Brev:pun:PrepNG, 1.base); | |
5101 | + | |
5102 | + | |
5103 | +Rule "Brev: nt." | |
5104 | + | |
5105 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"na.temat"] | |
5106 | + ns [base~"\."]; | |
5107 | +Right: []; | |
5108 | +Eval: word(Brev:pun:PrepNG, 1.base); | |
5109 | + | |
5110 | + | |
5111 | +Rule "Brev: pw." | |
5112 | + | |
5113 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"pod.wezwaniem"] | |
5114 | + ns [base~"\."]; | |
5115 | +Right: []; | |
5116 | +Eval: word(Brev:pun:PrepNG, 1.base); | |
5117 | + | |
5118 | + | |
5119 | +Rule "Brev: ds." | |
5120 | + | |
5121 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"do.spraw"] | |
5122 | + ns [base~"\."]; | |
5123 | +Right: []; | |
5124 | +Eval: word(Brev:pun:PrepNG, 1.base); | |
5125 | + | |
5126 | + | |
5127 | +Rule "Brev: d/s" | |
5128 | + | |
5129 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"do.spraw"]; | |
5130 | +Eval: word(Brev:npun:PrepNG, 1.base); | |
5131 | + | |
5132 | + | |
5133 | +Rule "Brev: w/m" | |
5134 | + | |
5135 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"w.miejscu"]; | |
5136 | +Eval: word(Brev:npun:PrepNG, 1.base); | |
5137 | + | |
5138 | + | |
5139 | +Rule "Brev: n.p.m. (1)" | |
5140 | + | |
5141 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"nad.poziomem.morza"] | |
5142 | + ns [base~"\."]; | |
5143 | +Right: []; | |
5144 | +Eval: word(Brev:pun:PrepNG, 1.base); | |
5145 | + | |
5146 | + | |
5147 | +Rule "Brev: n.p.m. (2)" | |
5148 | + | |
5149 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"nad.poziomem.morza"] | |
5150 | + ns [base~"\."]; | |
5151 | +Right: ns [pos~"interp"]; | |
5152 | +Eval: word(Brev:pun:PrepNG, 1.base); | |
5153 | + | |
5154 | + | |
5155 | +Rule "Brev: n.p.m. (3)" | |
5156 | + | |
5157 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"nad.poziomem.morza"] | |
5158 | + ns [base~"\."]; | |
5159 | +Right: se; | |
5160 | +Eval: word(Brev-se:pun:PrepNG, 1.base); | |
5161 | + | |
5162 | + | |
5163 | +Rule "Brev: p.n.e. (1)" | |
5164 | + | |
5165 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"przed.naszą.erą"] | |
5166 | + ns [base~"\."]; | |
5167 | +Right: []; | |
5168 | +Eval: word(Brev:pun:PrepNG, 1.base); | |
5169 | + | |
5170 | + | |
5171 | +Rule "Brev: p.n.e. (2)" | |
5172 | + | |
5173 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"przed.naszą.erą"] | |
5174 | + ns [base~"\."]; | |
5175 | +Right: ns [pos~"interp"]; | |
5176 | +Eval: word(Brev:pun:PrepNG, 1.base); | |
5177 | + | |
5178 | + | |
5179 | +Rule "Brev: p.n.e. (3)" | |
5180 | + | |
5181 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"przed.naszą.erą"] | |
5182 | + ns [base~"\."]; | |
5183 | +Right: se; | |
5184 | +Eval: word(Brev-se:pun:PrepNG, 1.base); | |
5185 | + | |
5186 | + | |
5187 | +Rule "Brev: pne (bez kropki)" | |
5188 | + | |
5189 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"przed.naszą.erą"]; | |
5190 | +Eval: word(Brev:pun:PrepNG, 1.base); | |
5191 | + | |
5192 | + | |
5193 | +Rule "Brev: n.e. (1)" | |
5194 | + | |
5195 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"naszej.ery"] | |
5196 | + ns [base~"\."]; | |
5197 | +Right: []; | |
5198 | +Eval: word(Brev:pun:NG, 1.base); | |
5199 | + | |
5200 | + | |
5201 | +Rule "Brev: n.e. (2)" | |
5202 | + | |
5203 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"naszej.ery"] | |
5204 | + ns [base~"\."]; | |
5205 | +Right: ns [pos~"interp"]; | |
5206 | +Eval: word(Brev:pun:NG, 1.base); | |
5207 | + | |
5208 | + | |
5209 | +Rule "Brev: n.e. (3)" | |
5210 | + | |
5211 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"naszej.ery"] | |
5212 | + ns [base~"\."]; | |
5213 | +Right: se; | |
5214 | +Eval: word(Brev-se:pun:NG, 1.base); | |
5215 | + | |
5216 | + | |
5217 | +Rule "Brev: itd. (1)" | |
5218 | + | |
5219 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"i.tak.dalej"] | |
5220 | + ns [base~"\."]; | |
5221 | +Right: []; | |
5222 | +Eval: word(Brev:pun:DisG, 1.base); | |
5223 | + | |
5224 | + | |
5225 | +Rule "Brev: itd. (2)" | |
5226 | + | |
5227 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"i.tak.dalej"] | |
5228 | + ns [base~"\."]; | |
5229 | +Right: ns [pos~"interp"]; | |
5230 | +Eval: word(Brev:pun:DisG, 1.base); | |
5231 | + | |
5232 | + | |
5233 | +Rule "Brev: itd. (3)" | |
5234 | + | |
5235 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"i.tak.dalej"] | |
5236 | + ns [base~"\."]; | |
5237 | +Right: se; | |
5238 | +Eval: word(Brev-se:pun:DisG, 1.base); | |
5239 | + | |
5240 | + | |
5241 | +Rule "Brev: itd. (bez kropki)" | |
5242 | + | |
5243 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"i.tak.dalej"]; | |
5244 | +Eval: word(Brev:pun:DisG, 1.base); | |
5245 | + | |
5246 | + | |
5247 | +Rule "Brev: itp. (1)" | |
5248 | + | |
5249 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"i.tym.podobne"] | |
5250 | + ns [base~"\."]; | |
5251 | +Right: []; | |
5252 | +Eval: word(Brev:pun:DisG, 1.base); | |
5253 | + | |
5254 | + | |
5255 | +Rule "Brev: itp. (2)" | |
5256 | + | |
5257 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"i.tym.podobne"] | |
5258 | + ns [base~"\."]; | |
5259 | +Right: ns [pos~"interp"]; | |
5260 | +Eval: word(Brev-se:pun:DisG, 1.base); | |
5261 | + | |
5262 | + | |
5263 | +Rule "Brev: itp. (3)" | |
5264 | + | |
5265 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"i.tym.podobne"] | |
5266 | + ns [base~"\."]; | |
5267 | +Right: se; | |
5268 | +Eval: word(Brev-se:pun:DisG, 1.base); | |
5269 | + | |
5270 | + | |
5271 | +Rule "Brev: itp bez kropki" | |
5272 | + | |
5273 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"i.tym.podobne"]; | |
5274 | +Eval: word(Brev:pun:DisG, 1.base); | |
5275 | +##!!tu powinno być wyraźnie, że nie może wystąpić kropka, ale jak zapisać | |
5276 | + | |
5277 | +Rule "Brev: etc. (1)" | |
5278 | + | |
5279 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"et.cetera"] | |
5280 | + ns [base~"\."]; | |
5281 | +Right: []; | |
5282 | +Eval: word(Brev:pun:DisG, 1.base); | |
5283 | + | |
5284 | + | |
5285 | +Rule "Brev: etc. (2)" | |
5286 | + | |
5287 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"et.cetera"] | |
5288 | + ns [base~"\."]; | |
5289 | +Right: ns [pos~"interp"]; | |
5290 | +Eval: word(Brev-se:pun:DisG, 1.base); | |
5291 | + | |
5292 | + | |
5293 | +Rule "Brev: etc. (3)" | |
5294 | + | |
5295 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"et.cetera"] | |
5296 | + ns [base~"\."]; | |
5297 | +Right: se; | |
5298 | +Eval: word(Brev-se:pun:DisG, 1.base); | |
5299 | + | |
5300 | + | |
5301 | +Rule "Brev: tzn. (1)" | |
5302 | + | |
5303 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"to.znaczy"] | |
5304 | + ns [base~"\."]; | |
5305 | +Right: []; | |
5306 | +Eval: word(Brev:pun:CONJ, 1.base); | |
5307 | + | |
5308 | + | |
5309 | +Rule "Brev: tzn. (2)" | |
5310 | + | |
5311 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"to.znaczy"] | |
5312 | + ns [base~"\."]; | |
5313 | +Right: ns [pos~"interp"]; | |
5314 | +Eval: word(Brev:pun:CONJ, 1.base); | |
5315 | + | |
5316 | + | |
5317 | +Rule "Brev: tj. (1)" | |
5318 | + | |
5319 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"to.jest"] | |
5320 | + ns [base~"\."]; | |
5321 | +Right: []; | |
5322 | +Eval: word(Brev:pun:CONJ, 1.base); | |
5323 | + | |
5324 | + | |
5325 | +Rule "Brev: tj. (2)" | |
5326 | + | |
5327 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"to.jest"] | |
5328 | + ns [base~"\."]; | |
5329 | +Right: ns [pos~"interp"]; | |
5330 | +Eval: word(Brev:pun:CONJ, 1.base); | |
5331 | + | |
5332 | + | |
5333 | +Rule "Brev: wzgl." | |
5334 | + | |
5335 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"względnie"] | |
5336 | + ns [base~"\."]; | |
5337 | +Right: []; | |
5338 | +Eval: word(Brev:pun:CONJ, 1.base); | |
5339 | +##spr. część mowy | |
5340 | + | |
5341 | +Rule "Brev: tzw." | |
5342 | + | |
5343 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"tak zwany"] | |
5344 | + ns [base~"\."]; | |
5345 | +Right: []; | |
5346 | +Eval: word(Brev:pun:ADJ, 1.base); | |
5347 | + | |
5348 | + | |
5349 | +Rule "Brev: tzw. (bez kropki)" | |
5350 | + | |
5351 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"tak zwany"]; | |
5352 | +Eval: word(Brev:pun:ADJ, 1.base); | |
5353 | + | |
5354 | + | |
5355 | +Rule "Brev: el.-magn." | |
5356 | + | |
5357 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"elektro"] | |
5358 | + ns [base~"\."] | |
5359 | + ns [base~"-"] ns | |
5360 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"magnetyczny"] | |
5361 | + ns [base~"\."]; | |
5362 | +Right: []; | |
5363 | +Eval: word(Brev:pun:ADJ, "elektro-magnetyczny"); | |
5364 | + | |
5365 | + | |
5366 | +Rule "Brev: zł" | |
5367 | + | |
5368 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"złoty"]; | |
5369 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5370 | + | |
5371 | + | |
5372 | +Rule "Brev: gr" | |
5373 | + | |
5374 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"grosz"]; | |
5375 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5376 | + | |
5377 | + | |
5378 | +Rule "Brev: mln" | |
5379 | + | |
5380 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"milion"]; | |
5381 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5382 | + | |
5383 | + | |
5384 | +Rule "Brev: mld" | |
5385 | + | |
5386 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"miliard"]; | |
5387 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5388 | + | |
5389 | + | |
5390 | +Rule "Brev: bln" | |
5391 | + | |
5392 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"bilion"]; | |
5393 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5394 | + | |
5395 | + | |
5396 | +Rule "Brev: cm (1)" | |
5397 | +Match: [pos~~"brev" && fullstoppedness~~"npun" | |
5398 | + && base~~"nanometr|mikrometr|milimetr|centymetr|metr|kilometr"]; | |
5399 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5400 | + | |
5401 | + | |
5402 | +Rule "Brev: cm (2)" | |
5403 | + | |
5404 | +Match: [pos~~"brev" && fullstoppedness~~"npun" | |
5405 | + && base~~"nanometr|milimetr|centymetr|metr|kilometr"]; | |
5406 | +Right: ns [base~"\."] se; | |
5407 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5408 | +##?? to "se" ma być? | |
5409 | + | |
5410 | +Rule "Brev: m2|km2" | |
5411 | + | |
5412 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~".*metr.kwadratowy"]; | |
5413 | +Eval: word(Brev:npun:NG, 1.base); | |
5414 | + | |
5415 | + | |
5416 | +Rule "Brev: m3|dm3|ccm" | |
5417 | + | |
5418 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~".*metr.sześcienny"]; | |
5419 | +Eval: word(Brev:npun:NG, 1.base); | |
5420 | + | |
5421 | + | |
5422 | +Rule "Brev: ml|l" | |
5423 | + | |
5424 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"mililitr|litr"]; | |
5425 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5426 | + | |
5427 | + | |
5428 | +Rule "Brev: q" | |
5429 | + | |
5430 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"kwintal"]; | |
5431 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5432 | + | |
5433 | + | |
5434 | +Rule "Brev: h|d" | |
5435 | + | |
5436 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"godzina|doba"]; | |
5437 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5438 | + | |
5439 | + | |
5440 | +Rule "Brev: min" | |
5441 | + | |
5442 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"minuta"]; | |
5443 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5444 | + | |
5445 | + | |
5446 | +Rule "Brev: st" | |
5447 | + | |
5448 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"stopa"]; | |
5449 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5450 | + | |
5451 | + | |
5452 | +Rule "Brev: H|h" | |
5453 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"wysokość|głębokość"]; | |
5454 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5455 | + | |
5456 | + | |
5457 | +Rule "Brev: nr" | |
5458 | + | |
5459 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"numer"]; | |
5460 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5461 | + | |
5462 | + | |
5463 | +Rule "Brev: nr." | |
5464 | + | |
5465 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"numer"] ns [base~"\."]; | |
5466 | +Right: []; | |
5467 | +Eval: word(Brev:pun:NOUN, 1.base); | |
5468 | + | |
5469 | + | |
5470 | +Rule "Brev: nr (bez kropki-błąd)" | |
5471 | + | |
5472 | +Left: [pos~"prep"]; | |
5473 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"numer"]; | |
5474 | +Eval: word(Brev:pun:NOUN, 2.base); | |
5475 | + | |
5476 | + | |
5477 | +Rule "Brev: mg|g|dg|kg|pg" | |
5478 | + | |
5479 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"miligram|gram|dekagram|kilogram|pikogram"]; | |
5480 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5481 | + | |
5482 | + | |
5483 | +Rule "Brev: t" | |
5484 | + | |
5485 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"tona"]; | |
5486 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5487 | + | |
5488 | + | |
5489 | +Rule "Brev: ha" | |
5490 | + | |
5491 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"hektar"]; | |
5492 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5493 | + | |
5494 | + | |
5495 | +Rule "Brev: pc" | |
5496 | + | |
5497 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"parsek"]; | |
5498 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5499 | + | |
5500 | + | |
5501 | +Rule "Brev: płk|ppłk|mjr|rtm|kmdr" | |
5502 | + | |
5503 | +Match: [pos~~"brev" && fullstoppedness~~"npun|pun" | |
5504 | + && base~~"pułkownik|podpułkownik|major|rotmistrz|komandor"]; | |
5505 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5506 | + | |
5507 | +##AW: zrobiłam osobną regułę, bo skrót rtm. powinien być z kropką | |
5508 | +Rule "Brev: rtm." | |
5509 | + | |
5510 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
5511 | + && base~~"rotmistrz"] | |
5512 | + ns [base~"\."]; | |
5513 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5514 | + | |
5515 | +Rule "Brev: bp/abp" | |
5516 | + | |
5517 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"biskup|arcybiskup"]; | |
5518 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5519 | + | |
5520 | + | |
5521 | +Rule "Brev: bp.|kard." | |
5522 | + | |
5523 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
5524 | + && base~~"biskup|arcybiskup|kardynał"] | |
5525 | + ns [base~"\."]; | |
5526 | +Right: []; | |
5527 | +Eval: word(Brev:pun:NOUN, 1.base); | |
5528 | + | |
5529 | + | |
5530 | +Rule "Brev: dr hab." | |
5531 | + | |
5532 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"doktor"] | |
5533 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"habilitowany"] | |
5534 | + ns [base~"\."]; | |
5535 | +Eval: word(Brev:pun:NG, "doktor habilitowany"); | |
5536 | + | |
5537 | + | |
5538 | +Rule "Brev: dr. hab." | |
5539 | + | |
5540 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"doktor"] | |
5541 | + ns [base~"\."] | |
5542 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"habilitowany"] | |
5543 | + ns [base~"\."]; | |
5544 | +Eval: word(Brev:pun:NG, "doktor habilitowany"); | |
5545 | + | |
5546 | + | |
5547 | +Rule "Brev: dr|mgr" | |
5548 | + | |
5549 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"doktor|magister"]; | |
5550 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5551 | + | |
5552 | + | |
5553 | +Rule "Brev: dr." | |
5554 | + | |
5555 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"doktor"] | |
5556 | + ns [base~"\."]; | |
5557 | +Eval: word(Brev:pun:NOUN, 1.base); | |
5558 | + | |
5559 | + | |
5560 | +Rule "Brev: dr (pun - bez kropki)" | |
5561 | + | |
5562 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"doktor"]; | |
5563 | +Right: [base~"[A-ZŁ].*" && case~"gen|dat|inst|loc"]; | |
5564 | +Eval: word(Brev:pun:NOUN, 1.base); | |
5565 | + | |
5566 | + | |
5567 | +Rule "Brev: z-ca" | |
5568 | + | |
5569 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"zastępca"]; | |
5570 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5571 | + | |
5572 | + | |
5573 | +Rule "Brev: wf" | |
5574 | + | |
5575 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"wychowanie.fizyczne"]; | |
5576 | +Eval: word(Brev:npun:NG, 1.base); | |
5577 | + | |
5578 | + | |
5579 | +Rule "Brev: wf" | |
5580 | + | |
5581 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && | |
5582 | + base~~"wychowanie.fizyczne"] ns [base~"\."]; | |
5583 | +Right: []; | |
5584 | +Eval: word(Brev:pun:NG, 1.base); | |
5585 | + | |
5586 | + | |
5587 | +Rule "Brev: S-ka" | |
5588 | + | |
5589 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"spółka"]; | |
5590 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5591 | + | |
5592 | + | |
5593 | +Rule "Brev: Mr" | |
5594 | + | |
5595 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"mister"]; | |
5596 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5597 | + | |
5598 | + | |
5599 | +Rule "Brev: Mb/s" | |
5600 | + | |
5601 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"megabajt"] | |
5602 | + ns [base~"/"] ns | |
5603 | + [pos~~"brev" && fullstoppedness~~"npun" && base~~"sekunda"]; | |
5604 | +Eval: word(Brev:npun:NG, "megabajt na sekundę"); | |
5605 | + | |
5606 | + | |
5607 | +Rule "Brev: M/s" | |
5608 | + | |
5609 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"motor.ship"]; | |
5610 | +Eval: word(Brev:npun:NG, 1.base); | |
5611 | + | |
5612 | + | |
5613 | +Rule "Brev: MB|kB" | |
5614 | + | |
5615 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"megabajt|kilobajt"]; | |
5616 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5617 | + | |
5618 | + | |
5619 | +Rule "Brev: V|kV|MW|kWh|GJ" | |
5620 | + | |
5621 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"wolt|kilowolt|megawat|kilowatogodzina|gigadżul"]; | |
5622 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5623 | +#uzupełnić o inne możliwe | |
5624 | + | |
5625 | + | |
5626 | +Rule "Brev: Gs|T|mT|0e" | |
5627 | + | |
5628 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"gaus|tesla|militesla|ersted"]; | |
5629 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5630 | + | |
5631 | + | |
5632 | +Rule "Brev: Al" | |
5633 | + | |
5634 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"aluminium"]; | |
5635 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5636 | + | |
5637 | + | |
5638 | +Rule "Brev: IgE" | |
5639 | + | |
5640 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"Immunoglobina E"]; | |
5641 | +Eval: word(Brev:npun:NG, 1.base); | |
5642 | + | |
5643 | + | |
5644 | +Rule "Brev: St|Sc" | |
5645 | + | |
5646 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"[Ss]tratus|[Ss]tratocumulus"]; | |
5647 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5648 | +##! jest dużą i małą literą - jak powinno być? | |
5649 | + | |
5650 | + | |
5651 | +Rule "Brev: MHz|GHz" | |
5652 | + | |
5653 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"megaherc|gigaherc"]; | |
5654 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5655 | + | |
5656 | + | |
5657 | +Rule "Brev: KM" | |
5658 | + | |
5659 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"koń.mechaniczny"]; | |
5660 | +Eval: word(Brev:npun:NG, 1.base); | |
5661 | + | |
5662 | + | |
5663 | +Rule "Brev: SA" | |
5664 | + | |
5665 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"spółka.akcyjna"]; | |
5666 | +Eval: word(Brev:npun:NG, 1.base); | |
5667 | + | |
5668 | + | |
5669 | +Rule "Brev: PS|PS." | |
5670 | + | |
5671 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"postscriptum"]; | |
5672 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5673 | + | |
5674 | + | |
5675 | +Rule "Brev: P.S." | |
5676 | + | |
5677 | +Match: [pos~~"brev" && fullstoppedness~~"pun" | |
5678 | + && orth~~"[Pp]\.[Ss]|PS" && base~~"post scriptum"] | |
5679 | + ns [base~"\."]; | |
5680 | +Eval: word(Brev:pun:NOUN, 1.base); | |
5681 | +#było base postscriptum, jest post scriptum, zmienić brev_pos? | |
5682 | + | |
5683 | + | |
5684 | +Rule "Brev: X" | |
5685 | + | |
5686 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"październik"]; | |
5687 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5688 | +#uzupełnić inne miesiące | |
5689 | + | |
5690 | + | |
5691 | +Rule "Brev: UK|BTW|EOT" | |
5692 | + | |
5693 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"UK|south|by the way|end of topic|in my humble opinion|Action Script"]; | |
5694 | +Eval: word(Brev:npun:XXX, 1.base); | |
5695 | + | |
5696 | + | |
5697 | +Rule "DisG: BTW" | |
5698 | + | |
5699 | +Match: [base~"by the way"]; | |
5700 | +Eval: group(DisG, 1,1); | |
5701 | + | |
5702 | + | |
5703 | +Rule "Brev: Ctrl" | |
5704 | + | |
5705 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"Control"]; | |
5706 | +Eval: word(Brev:npun:XXX, 1.base); | |
5707 | + | |
5708 | + | |
5709 | +Rule "Brev: Wny" | |
5710 | + | |
5711 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"wielmożny"]; | |
5712 | +Eval: word(Brev:npun:ADJ, 1.base); | |
5713 | + | |
5714 | + | |
5715 | +Rule "Brev: Wn" | |
5716 | + | |
5717 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"winien"]; | |
5718 | +Eval: word(Brev:npun:VERB, 1.base); | |
5719 | + | |
5720 | + | |
5721 | +Rule "Brev: wielka litera w cudzysłowie" | |
5722 | + | |
5723 | +Match: [orth~"\""] ns | |
5724 | + [pos~~"brev" && fullstoppedness~~"pun" && base~~"B|S"] | |
5725 | + ns [orth~"\""]; | |
5726 | +Right: []; | |
5727 | +Eval: word(Brev:pun:NOUN, 3.base); | |
5728 | + | |
5729 | + | |
5730 | +Rule "Brev: T[rybuna]" | |
5731 | + | |
5732 | +Match: [orth~"\""] ns | |
5733 | + [pos~~"brev" && fullstoppedness~~"npun" && base~~"trybuna"] | |
5734 | + ns [orth~"\""]; | |
5735 | +Eval: word(Brev:npun:NOUN, 3.base); | |
5736 | + | |
5737 | + | |
5738 | +Rule "Brev: Rz[eczpospolita]" | |
5739 | + | |
5740 | +Match: [orth~"\""] ns | |
5741 | + [pos~~"brev" && fullstoppedness~~"npun" && base~~"Rzeczpospolita"] | |
5742 | + ns [orth~"\""]; | |
5743 | +Eval: word(Brev:npun:NOUN, 3.base); | |
5744 | + | |
5745 | + | |
5746 | +Rule "Brev: Dz[iennik]" | |
5747 | + | |
5748 | +Match: [orth~"\""] ns | |
5749 | + [pos~~"brev" && fullstoppedness~~"npun" && base~~"dziennik"] | |
5750 | + ns [orth~"\""]; | |
5751 | +Eval: word(Brev:npun:NOUN, 3.base); | |
5752 | + | |
5753 | + | |
5754 | +Rule "Brev: S[olidarność] (1)" | |
5755 | + | |
5756 | +Match: [orth~"\""] ns | |
5757 | + [pos~~"brev" && fullstoppedness~~"npun" && base~~"[Ss]olidarność"] | |
5758 | + ns [orth~"\""]; | |
5759 | +Right: []; | |
5760 | +Eval: word(Brev:npun:NOUN, 3.base); | |
5761 | + | |
5762 | + | |
5763 | +Rule "Brev: S[olidarność] (2)" | |
5764 | + | |
5765 | +Match: [orth~"\""] ns | |
5766 | + [pos~~"brev" && fullstoppedness~~"npun" && base~~"[Ss]olidarność"] | |
5767 | + ns [orth~"\""]; | |
5768 | +Right: ns [pos~"interp"]; | |
5769 | +Eval: word(Brev:npun:NOUN, 3.base); | |
5770 | + | |
5771 | + | |
5772 | +Rule "Brev: RM" | |
5773 | + | |
5774 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"Radio.Maryja"]; | |
5775 | +Eval: word(Brev:npun:NG, 1.base); | |
5776 | + | |
5777 | + | |
5778 | +Rule "Brev: TL" | |
5779 | + | |
5780 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"Trybuna.Ludu"]; | |
5781 | +Eval: word(Brev:npun:NG, 1.base); | |
5782 | + | |
5783 | + | |
5784 | +Rule "Brev: ST" | |
5785 | + | |
5786 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"Stary.Testament"]; | |
5787 | +Eval: word(Brev:npun:NG, 1.base); | |
5788 | + | |
5789 | + | |
5790 | +Rule "Brev: KK|DCIoS" | |
5791 | + | |
5792 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"Kościół.Katolicki|Dominikańskie Centrum Informacji o Sektach"]; | |
5793 | +Eval: word(Brev:npun:NG, 1.base); | |
5794 | + | |
5795 | + | |
5796 | +Rule "Brev: K." | |
5797 | + | |
5798 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"kościół"] | |
5799 | + ns [base~"\."]; | |
5800 | +Right: []; | |
5801 | +Eval: word(Brev:pun:NOUN, 1.base); | |
5802 | + | |
5803 | + | |
5804 | +Rule "Brev: W. (2)" | |
5805 | + | |
5806 | +Match: [pos~~"brev" && fullstoppedness~~"pun" && base~~"wszechświat"] | |
5807 | + ns [base~"\."]; | |
5808 | +Right: ns [pos~"interp"]; | |
5809 | +Eval: word(Brev:pun:NOUN, 1.base); | |
5810 | + | |
5811 | + | |
5812 | +Rule "Brev: NTG" | |
5813 | + | |
5814 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"nie ta grupa"]; | |
5815 | +Eval: word(Brev:npun:NG, 1.base); | |
5816 | + | |
5817 | + | |
5818 | +Rule "Brev: TM" | |
5819 | + | |
5820 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"trade.mark"]; | |
5821 | +Eval: word(Brev:npun:NG, 1.base); | |
5822 | +#NG czy XXX? | |
5823 | + | |
5824 | + | |
5825 | +Rule "Brev: m[agnitudo] (2)" | |
5826 | + | |
5827 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"magnitudo"]; | |
5828 | +Right: ns [pos~"interp"]; | |
5829 | +Eval: word(Brev:npun:XXX, 1.base); | |
5830 | + | |
5831 | + | |
5832 | +Rule "Brev: °C" | |
5833 | + | |
5834 | +Match: [base~"°" && pos~"interp"] ns? | |
5835 | + [pos~~"brev" && base~~"Celsjusza|Celsjusz"]; | |
5836 | +Eval: word(Brev:npun:NG, "stopień Celsjusza"); | |
5837 | + | |
5838 | + | |
5839 | +Rule "Brev: st. C" | |
5840 | + | |
5841 | +Match: [pos~~"Brev" && fullstoppedness~~"pun" && base~~"stopień"] ns? | |
5842 | + [pos~~"brev" && base~~"Celsjusza|Celsjusz"]; | |
5843 | +Eval: word(Brev:npun:NG, "stopień Celsjusza"); | |
5844 | + | |
5845 | + | |
5846 | +Rule "Brev: C" | |
5847 | + | |
5848 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"Celsjusza"]; | |
5849 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5850 | + | |
5851 | + | |
5852 | +Rule "Brev: o (stopień)" | |
5853 | + | |
5854 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"stopień"]; | |
5855 | +Right: []; | |
5856 | +Eval: word(Brev:npun:NOUN, 1.base); | |
5857 | + | |
5858 | + | |
5859 | +Rule "Brev: Mbps" | |
5860 | + | |
5861 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"megabajt.na.sekundę"]; | |
5862 | +Eval: word(Brev:npun:NG, 1.base); | |
5863 | + | |
5864 | + | |
5865 | +Rule "Brev: Kbps" | |
5866 | + | |
5867 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"kilobajt.na.sekundę"]; | |
5868 | +Eval: word(Brev:npun:NG, 1.base); | |
5869 | + | |
5870 | + | |
5871 | +Rule "Brev: km/h" | |
5872 | + | |
5873 | +Match: [orth~"km"] ns [base~"/"] ns [orth~"h"]; | |
5874 | +Eval: word(Brev:npun:NG, "kilometr na godzinę"); | |
5875 | + | |
5876 | + | |
5877 | +Rule "Brev: m/sek" | |
5878 | + | |
5879 | +Match: [orth~"m"] ns [base~"/"] ns [orth~"sek"]; | |
5880 | +Eval: word(Brev:pun:NG, "metr na sekundę"); | |
5881 | +#! czy to ma być pun? | |
5882 | + | |
5883 | + | |
5884 | +Rule "Brev: kg/Mg" | |
5885 | + | |
5886 | +Match: [orth~"kg"] ns [base~"/"] ns [orth~"Mg"]; | |
5887 | +Eval: word(Brev:npun:NG, "kilogram na megagram"); | |
5888 | + | |
5889 | + | |
5890 | +Rule "Brev: kg/Mg" | |
5891 | + | |
5892 | +Match: [orth~"pg"] ns [base~"/"] ns [orth~"ml"]; | |
5893 | +Eval: word(Brev:npun:NG, "pikogram na mililitr"); | |
5894 | + | |
5895 | + | |
5896 | +Rule "Brev: q/ha" | |
5897 | + | |
5898 | +Match: [orth~"q"] ns [base~"/"] ns [orth~"ha"]; | |
5899 | +Eval: word(Brev:npun:NG, "kwintal na hektar"); | |
5900 | + | |
5901 | + | |
5902 | +Rule "Brev: we/wy" | |
5903 | + | |
5904 | +Match: [orth~"we"] ns [base~"/"] ns [orth~"wy"]; | |
5905 | +Eval: word(Brev:npun:NG, "wejście/wyjście"); | |
5906 | + | |
5907 | + | |
5908 | +Rule "Brev: sp. z o.o." | |
5909 | + | |
5910 | +Match: [orth~"[Ss]p"] ns [base~"\."] [base~"z"] [orth~"o.o"] ns [base~"\."]; | |
5911 | +Eval: word(Brev:pun:NG, "spółka z ograniczoną odpowiedzialnością"); | |
5912 | + | |
5913 | + | |
5914 | +Rule "Brev: wg (2)" | |
5915 | + | |
5916 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"według"]; | |
5917 | +Right: [base~"\""] ns | |
5918 | + [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" && case~~"gen"]; | |
5919 | +Eval: word(Brev:npun:PREP, 1.base); | |
5920 | + | |
5921 | + | |
5922 | +Rule "Brev: wg (1)" | |
5923 | + | |
5924 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"według"]; | |
5925 | +Right: [pos~~"subst|ger|adj|ppron12|ppron3|siebie|num|numcol|ppas|pact" | |
5926 | + && case~~"gen"]; | |
5927 | +Eval: word(Brev:npun:PREP, 1.base); | |
5928 | + | |
5929 | + | |
5930 | +Rule "Brev: wg + proj." | |
5931 | + | |
5932 | +Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"według"]; | |
5933 | +Right: [base~"projekt" && pos~"Brev"]; | |
5934 | +Eval: word(Brev:npun:PREP, 1.base); | |
5935 | +#reguła szczegółowa | |
5936 | + | |
5937 | + | |
5938 | +#Rule "Brev: xxx" | |
5939 | +# | |
5940 | +#Match: [pos~~"brev" && fullstoppedness~~"npun" && base~~"xxx"]; | |
5941 | +#Eval: word(Brev:npun:NOUN, 1.base); | |
5942 | + | |
5943 | +#Rule "skrót z kropką (1.1)" | |
5944 | +# | |
5945 | +#Match: [pos~~"brev" && fullstoppedness~~"pun"] ns [base~"\."]; | |
5946 | +#Right: []; | |
5947 | +#Eval: word(Brev:pun, 1.base); | |
5948 | + | |
5949 | +#Rule "skrót z kropką (1.1a)" | |
5950 | +# | |
5951 | +#Match: [pos~~"brev" && fullstoppedness~~"pun"] ns [base~"\."]; | |
5952 | +#Right: ns [pos~"interp"]; | |
5953 | +#Eval: word(Brev:pun, 1.base); | |
5954 | + | |
5955 | +#Rule "skrót z kropką na końcu zdania" | |
5956 | +# | |
5957 | +#Match: [pos~~"brev" && fullstoppedness~~"pun"] ns [base~"\."]; | |
5958 | +#Right: se; | |
5959 | +#Eval: word(Brev-se:pun, 1.base); | |
5960 | + | |
5961 | +#Rule "skrót bez kropki" | |
5962 | +# | |
5963 | +#Match: [pos~~"brev" && fullstoppedness~~"npun"]; | |
5964 | +#Eval: word(Brev:npun, 1.base); | |
5965 | + | |
5966 | +#Rule "skrót z kropką (1.2)" | |
5967 | +# | |
5968 | +#Match: [pos~~"brev" && fullstoppedness~~"pun"] ns [base~"\."]; | |
5969 | +#Right: []; | |
5970 | +#Eval: word(Brev:pun, 1.base); | |
5971 | + | |
5972 | + | |
5973 | +Rule "wielokropek" | |
5974 | + | |
5975 | +Match: [base~~"\."] ns [base~"\."] ns [base~~"\."]; | |
5976 | +Eval: word(Interp, 0.base); | |
5977 | + | |
5978 | + | |
5979 | +Rule "skrótowce w gen pl " | |
5980 | + | |
5981 | +Match: [pos~~"ign"] ns [base~"-"] ns [base~~"owców"]; | |
5982 | +Eval: word(Noun:pl:gen:m1, 1.base "-owiec"); | |
5983 | +#jeśli to dobra reguła (chodzi o "ign", to ją rozmnożyć | |
5984 | + | |
5985 | + | |
5986 | +Rule "Adj: opisowy stopień wyższy" | |
5987 | + | |
5988 | +Match: [orth~"[Bb]ardziej"] [pos~"adj"]; | |
5989 | +Eval: word(2, Adj:com, 2.base); | |
5990 | + | |
5991 | + | |
5992 | +Rule "Adv: opisowy stopień wyższy" | |
5993 | + | |
5994 | +Match: [orth~"[Bb]ardziej"] [pos~"adv"]; | |
5995 | +Eval: word(2, Adv:com, 2.base); | |
5996 | + | |
5997 | + | |
5998 | +Rule "Adj: opisowy stopień najwyższy" | |
5999 | + | |
6000 | +Match: [orth~"[Nn]ajbardziej"] [pos~"adj"]; | |
6001 | +Eval: word(2, Adj:sup, 2.base); | |
6002 | + | |
6003 | + | |
6004 | +Rule "Adv: opisowy stopień najwyższy" | |
6005 | + | |
6006 | +Match: [orth~"[Nn]ajbardziej"] [pos~"adv"]; | |
6007 | +Eval: word(2, Adv:sup, 2.base); | |
6008 | + | |
6009 | + | |
6010 | + | |
6011 | +Rule "liczba z kropką w określeniu godziny (1)" | |
6012 | + | |
6013 | +Left: [pos~~"prep"] [base~"godzina"]; | |
6014 | +Match: [orth~"[0-9][0-9]?" && pos~"adj"] | |
6015 | + ns [base~"\."]; | |
6016 | +Right: ns? [orth~"[0-9][0-9]*" && pos~"num"]; | |
6017 | +Eval: unify(case,1,2,3); | |
6018 | + word(3, Adj, 3.base); | |
6019 | + | |
6020 | + | |
6021 | +Rule "liczba z kropką w określeniu godziny (1a)" | |
6022 | + | |
6023 | +Left: [pos~~"prep"] [orth~"godz\."]; | |
6024 | +Match: [orth~"[0-9][0-9]?" && pos~"adj"] | |
6025 | + ns [base~"\."]; | |
6026 | +Right: ns? [orth~"[0-9][0-9]*" && pos~"num"]; | |
6027 | +Eval: unify(case,1,3); | |
6028 | + word(3, Adj, 3.base); | |
6029 | + | |
6030 | + | |
6031 | +Rule "liczba z kropką w określeniu godziny (2)" | |
6032 | + | |
6033 | +Left: [pos~~"prep"]; | |
6034 | +Match: [orth~"[0-9][0-9]?" && pos~"adj"] | |
6035 | + ns [base~"\."]; | |
6036 | +Right: ns? [orth~"[0-9][0-9]*" && pos~"num"]; | |
6037 | +Eval: unify(case,1,2); | |
6038 | + word(2, Adj, 2.base); | |
6039 | + | |
6040 | + | |
6041 | +Rule "liczba z kropką w określeniu godziny (3)" | |
6042 | + | |
6043 | +Left: [base~"godzina"]; | |
6044 | +Match: [orth~"[0-9][0-9]?" && pos~"adj"] | |
6045 | + ns [base~"\."]; | |
6046 | +Right: ns? [orth~"[0-9][0-9]*" && pos~"num"]; | |
6047 | +Eval: unify(case number gender,1,2); | |
6048 | + word(2, Adj, 2.base); | |
6049 | + | |
6050 | + | |
6051 | +Rule "liczba z kropką (1)" | |
6052 | + | |
6053 | +Left: []; | |
6054 | +Match: [pos~~"adj" && base~~"[0-9]+"] ns [base~"\."]; | |
6055 | +Right: []; | |
6056 | +Eval: word(2, Adj, 2.base); | |
6057 | + | |
6058 | + | |
6059 | +Rule "liczba z kropką (2)" | |
6060 | + | |
6061 | +Left: []; | |
6062 | +Match: [pos~~"adj" && base~~"[0-9]+"] ns [base~"\."]; | |
6063 | +Right: ns [pos~"interp"]; | |
6064 | +Eval: word(2, Adj, 2.base); | |
6065 | + | |
6066 | + | |
6067 | +Rule "liczba z kropką (3)" | |
6068 | + | |
6069 | +Left: [base!~"artykuł|paragraf|ustęp|punkt"]; | |
6070 | +Match: [pos~~"adj" && base~~"[0-9]+"] ns [base~"\."]; | |
6071 | +Right: se; | |
6072 | +Eval: word(2, Adj-se, 2.base); | |
6073 | + | |
6074 | + | |
6075 | +Rule "ułamki: 1/2" | |
6076 | + | |
6077 | +Match: [base~"1" && pos~"adj"] | |
6078 | + ns [base~"/"] ns | |
6079 | + [base~"[1-9][0-9]?" && pos~"adj"]; | |
6080 | +Eval: word(Num:1.number:1.case:1.gender:rec, 0.base); #LD zmiana | |
6081 | +#Eval: word(1, Num:rec, 0.base); | |
6082 | + | |
6083 | + | |
6084 | +Rule "ułamki: 10/11 itp." | |
6085 | + | |
6086 | +Match: [base~"[1-9][0-9]" && pos~"num"] | |
6087 | + ns [base~"/"] ns | |
6088 | + [base~"[1-9][0-9]+" && pos~"adj"]; | |
6089 | +Eval: word(Num:1.number:1.case:1.gender:rec, 0.base); #LD zmiana | |
6090 | +#Eval: word(1, Num:rec, 0.base); | |
6091 | + | |
6092 | + | |
6093 | +Rule "ułamki: 2/3 itp." | |
6094 | + | |
6095 | +Match: [base~"[2-9]" && pos~"num"] | |
6096 | + ns [base~"/"] ns | |
6097 | + [base~"[1-9][0-9]?" && pos~"adj"]; | |
6098 | +Eval: word(Num:1.number:1.case:1.gender:rec, 0.base); #LD zmiana | |
6099 | +#Eval: word(1, Num:rec, 0.base); | |
6100 | + | |
6101 | + | |
6102 | +Rule "adja-adja-adja-adj" #polsko-brytyjsko-holendersko-kanadyjski | |
6103 | + | |
6104 | +Match: [pos~"adja"] ns [base~"-"] ns [pos~"adja"] ns [base~"-"] ns [pos~"adja"] ns [base~"-"] ns [pos~"adj"]; | |
6105 | +Eval: word(13, Adj, 1.orth "-" 5.orth "-" 9.orth "-" 13.base); | |
6106 | + | |
6107 | + | |
6108 | +Rule "adja-adja-adj" #biurowo-handlowo-usługowy | |
6109 | + | |
6110 | +Match: [pos~"adja"] ns [base~"-"] ns [pos~"adja"] ns [base~"-"] ns? [pos~"adj"]; | |
6111 | +Eval: word(9, Adj, 1.orth "-" 5.orth "-" 9.base); | |
6112 | + | |
6113 | + | |
6114 | +Rule "adja-adj" #rolno-spożywczy | |
6115 | + | |
6116 | +Match: [pos~"adja"] ns [base~"-"] ns [pos~"adj"]; | |
6117 | +Eval: word(5, Adj, 1.orth "-" 5.base); | |
6118 | + | |
6119 | + | |
6120 | +Rule "adja-adj (inny dywiz)" | |
6121 | + | |
6122 | +Match: [pos~"adja"] ns [base~"–"] ns [pos~"adj"]; | |
6123 | +Eval: word(5, Adj, 1.orth "-" 5.base); | |
6124 | + | |
6125 | + | |
6126 | +Rule "adja - adj" #ze spacjami | |
6127 | + | |
6128 | +Match: [pos~"adja"] [base~"-"] [pos~"adj"]; | |
6129 | +Eval: word(3, Adj, 1.orth"-"3.base); | |
6130 | + | |
6131 | + | |
6132 | +Rule "inne-adj" #zero-procentowy | |
6133 | + | |
6134 | +Match: [] ns [base~"-"] ns [pos~"adj"]; | |
6135 | +Eval: word(5, Adj, 1.orth "-" 5.base); | |
6136 | + | |
6137 | + | |
6138 | +#Rule "coś-subst" | |
6139 | +# | |
6140 | +#Match: [] ns [base~"-"] ns [pos~"subst"]; | |
6141 | +#Eval: word(5, Noun, 1.base "-" 5.base); | |
6142 | +#!To zamieniłam na regułę ostrzejszą: | |
6143 | + | |
6144 | +Rule "subst-subst" | |
6145 | + | |
6146 | +Match: [pos~"subst"] ns [base~"-"] ns [pos~"subst"]; | |
6147 | +Eval: unify(case,1,5); | |
6148 | + word(5, Noun, 1.base "-" 5.base); | |
6149 | + | |
6150 | + | |
6151 | +Rule "subst w cudzysłowie" | |
6152 | + | |
6153 | +Match: [orth~"\""] ns [pos~"subst"] ns [orth~"\""]; | |
6154 | +Eval: word(3, Noun, 0.base); | |
6155 | + | |
6156 | + | |
6157 | +Rule "subst w innym cudzysłowie" | |
6158 | + | |
6159 | +Match: [orth~"„|“|”|\""] ns [pos~"subst"] ns [orth~"”|’’"]; | |
6160 | +Eval: word(3, Noun, 0.base); | |
6161 | + | |
6162 | + | |
6163 | +Rule "subst w cudzysłowie (przecinki)" | |
6164 | + | |
6165 | +Match: [base~","] ns [base~","] ns [pos~"subst"] ns [orth~"\""]; | |
6166 | +Eval: word(5, Noun, 0.base); | |
6167 | + | |
6168 | + | |
6169 | +Rule "subst w cudzysłowie (z tyłu apostrofy)" | |
6170 | + | |
6171 | +Match: [orth~"„"] ns [pos~"subst"] ns [base~"’"] ns [base~"’"]; | |
6172 | +Eval: word(3, Noun, 0.base); | |
6173 | +##!!a może zamienić te wszystkie dziwne cudzysłowy na normalne (w base) | |
6174 | + | |
6175 | + | |
6176 | +Rule "subst w apostrofach" | |
6177 | + | |
6178 | +Match: [orth~"'"] ns [pos~"subst"] ns [base~"'"]; | |
6179 | +Eval: word(3, Noun, 0.base); | |
6180 | + | |
6181 | + | |
6182 | +Rule "subst w cudzysłowie (nawiasy kątowe)" | |
6183 | + | |
6184 | +Match: [base~">"] ns [base~">"] | |
6185 | + ns [pos~"subst"] ns | |
6186 | + [base~"<"] ns [base~"<"]; | |
6187 | +Eval: word(5, Noun, 0.base); | |
6188 | + | |
6189 | + | |
6190 | +Rule "adj w cudzysłowie" | |
6191 | + | |
6192 | +Match: [orth~"\""] ns [pos~"adj"] ns [orth~"\""]; | |
6193 | +Eval: word(3, Adj, 0.base); | |
6194 | + | |
6195 | + | |
6196 | +Rule "Pred: tryb przypuszczający - czas przeszły (1)" | |
6197 | + | |
6198 | +Match: [pos~"pred"] [base~"by"] [base~"być" && pos~"praet"]; | |
6199 | +Eval: word(Pred:past:cond:imperf:aff, 1.base); #LD dodałam "aff" | |
6200 | + | |
6201 | + | |
6202 | +Rule "Pred: tryb przypuszczający - czas przeszły (2)" | |
6203 | + | |
6204 | +Match: [pos~"pred"] [base~"być" && pos~"praet"] ns [base~"by"]; | |
6205 | +Eval: word(Pred:past:cond:imperf:aff, 1.base); #LD dodałam "aff" | |
6206 | +#brak przykładu | |
6207 | + | |
6208 | + | |
6209 | +Rule "Pred: tryb przypuszczający - czas teraźniejszy" | |
6210 | + | |
6211 | +Match: [pos~"pred" && base!~"to"] [base~"by"]; | |
6212 | +Eval: word(Pred:pres:cond:imperf:aff, 1.base); #LD dodałam "aff" | |
6213 | + | |
6214 | + | |
6215 | +Rule "Pred: zanegowany czas przeszły (1)" | |
6216 | + | |
6217 | +Match: [base~~"nie" && pos~~"qub"] [base~"być" && pos~"praet"] [pos~"pred"]; | |
6218 | +Eval: word(Pred:past:ind:imperf:neg, 3.base); | |
6219 | + | |
6220 | + | |
6221 | +Rule "Pred: zanegowany czas przeszły (2)" | |
6222 | + | |
6223 | +Match: [pos~"pred"] [base~~"nie" && pos~~"qub"] [base~"być" && pos~"praet"]; | |
6224 | +Eval: word(Pred:past:ind:imperf:neg, 1.base); | |
6225 | + | |
6226 | + | |
6227 | +Rule "Pred: czas przeszły (1)" | |
6228 | + | |
6229 | +Match: [base~"być" && pos~"praet"] [pos~"pred"]; | |
6230 | +Eval: word(Pred:past:ind:imperf:aff, 2.base); #LD dodałam "aff" | |
6231 | + | |
6232 | + | |
6233 | +Rule "Pred: czas przeszły (2)" | |
6234 | + | |
6235 | +Match: [pos~"pred"] [base~"być" && pos~"praet"]; | |
6236 | +Eval: word(Pred:past:ind:imperf:aff, 1.base); #LD dodałam "aff" | |
6237 | + | |
6238 | + | |
6239 | +Rule "Pred: czas przyszły z negacją (1)" | |
6240 | + | |
6241 | +Match: [base~~"nie" && pos~~"qub"] [base~"być" && pos~"bedzie"] [pos~"pred"]; | |
6242 | +Eval: word(Pred:fut:ind:imperf:neg, 2.base); | |
6243 | + | |
6244 | + | |
6245 | +Rule "Pred: czas przyszły z negacją (2)" | |
6246 | + | |
6247 | +Match: [pos~"pred"] [base~~"nie" && pos~~"qub"] [base~"być" && pos~"bedzie"]; | |
6248 | +Eval: word(Pred:fut:ind:imperf:neg, 1.base); | |
6249 | + | |
6250 | + | |
6251 | +Rule "Pred: czas przyszły (1)" | |
6252 | + | |
6253 | +Match: [base~"być" && pos~"bedzie"] [pos~"pred"]; | |
6254 | +Eval: word(Pred:fut:ind:imperf:aff, 2.base); | |
6255 | + | |
6256 | + | |
6257 | +Rule "Pred: czas przyszły (2)" | |
6258 | + | |
6259 | +Match: [pos~"pred"] [base~"być" && pos~"bedzie"]; | |
6260 | +Eval: word(Pred:fut:ind:imperf:aff, 1.base); | |
6261 | + | |
6262 | + | |
6263 | +Rule "Pred: czas teraźniejszy z negacją (1)" | |
6264 | + | |
6265 | +Match: [base~~"nie" && pos~~"qub"] [base~"być" && pos~"fin"] [pos~"pred"]; | |
6266 | +Eval: word(Pred:pres:ind:imperf:neg, 3.base); | |
6267 | + | |
6268 | + | |
6269 | +Rule "Pred: czas teraźniejszy z negacją (2)" | |
6270 | + | |
6271 | +Match: [pos~"pred"] [base~~"nie" && pos~~"qub"] [base~"być" && pos~"fin"]; | |
6272 | +Eval: word(Pred:pres:ind:imperf:neg, 1.base); | |
6273 | + | |
6274 | + | |
6275 | +Rule "Pred: czas teraźniejszy (1)" | |
6276 | + | |
6277 | +Match: [base~"być" && pos~"fin"] [pos~"pred"]; | |
6278 | +Eval: word(Pred:pres:ind:imperf:aff, 2.base); #LD dodałam "aff" | |
6279 | + | |
6280 | + | |
6281 | +Rule "Pred: czas teraźniejszy (2)" | |
6282 | + | |
6283 | +Match: [pos~"pred"] [base~"być" && pos~"fin"]; | |
6284 | +Eval: word(Pred:pres:ind:imperf:aff, 1.base); #LD dodałam "aff" | |
6285 | + | |
6286 | + | |
6287 | +#LD Jedna nowa reguła zamiast dwóch starych | |
6288 | +Rule "praet + aglt" | |
6289 | + | |
6290 | +Match: [pos~"praet"] ns [pos~"aglt"]; | |
6291 | +Eval: word(Verbfin:1.number:3.person:past:ind:1.aspect:nrefl:aff:1.gender, 1.base); | |
6292 | + | |
6293 | + | |
6294 | +#Rule "Praet + Aglt (1. osoba)" | |
6295 | +# | |
6296 | +#Match: [pos~"praet"] ns [pos~"aglt" && person~"pri"]; | |
6297 | +#Eval: word(1, Verbfin:pri:past:ind, 1.base); | |
6298 | +# | |
6299 | +#Rule "Praet + Aglt (2. osoba)" | |
6300 | +# | |
6301 | +#Match: [pos~"praet"] ns [pos~"aglt" && person~"sec"]; | |
6302 | +#Eval: word(1, Verbfin:sec:past:ind, 1.base); | |
6303 | + | |
6304 | + | |
6305 | +#LD 2 reguły na tryb warunkowy zamieniłam na 4, a potem znów na 2, ale inne | |
6306 | +Rule "praet(imperf) + by + aglt" | |
6307 | + | |
6308 | +Match: [pos~"praet" && aspect~"imperf"] ns [base~"by"] ns [pos~"aglt"]; | |
6309 | +Eval: word(Verbfin:1.number:5.person:pres:cond:1.aspect:nrefl:aff:1.gender, 1.base); | |
6310 | + | |
6311 | + | |
6312 | +Rule "praet(perf) + by + aglt" | |
6313 | + | |
6314 | +Match: [pos~"praet" && aspect~"perf"] ns [base~"by"] ns [pos~"aglt"]; | |
6315 | +Eval: word(Verbfin:1.number:5.person:fut:cond:1.aspect:nrefl:aff:1.gender, 1.base); | |
6316 | + | |
6317 | + | |
6318 | +#Rule "Praet(imperf) + by + Aglt (1. osoba)" | |
6319 | +# | |
6320 | +#Match: [pos~"praet" && aspect~"imperf"] ns [base~"by"] | |
6321 | +# ns [pos~"aglt" && person~"pri"]; | |
6322 | +#Eval: word(1, Verbfin:pri:pres:cond, 1.base); | |
6323 | +# | |
6324 | +#Rule "Praet(perf) + by + Aglt (1. osoba)" | |
6325 | +# | |
6326 | +#Match: [pos~"praet" && aspect~"perf"] ns [base~"by"] | |
6327 | +# ns [pos~"aglt" && person~"pri"]; | |
6328 | +#Eval: word(1, Verbfin:pri:fut:cond, 1.base); | |
6329 | +# | |
6330 | +#Rule "Praet(imperf) + by + Aglt (2. osoba)" | |
6331 | +# | |
6332 | +#Match: [pos~"praet" && aspect~"imperf"] ns [base~"by"] | |
6333 | +# ns [pos~"aglt" && person~"sec"]; | |
6334 | +#Eval: word(1, Verbfin:sec:pres:cond, 1.base); | |
6335 | +# | |
6336 | +#Rule "Praet(perf) + by + Aglt (2. osoba)" | |
6337 | +# | |
6338 | +#Match: [pos~"praet" && aspect~"perf"] ns [base~"by"] | |
6339 | +# ns [pos~"aglt" && person~"sec"]; | |
6340 | +#Eval: word(1, Verbfin:sec:fut:cond, 1.base); | |
6341 | + | |
6342 | + | |
6343 | +#LD Tu regułę zamieniłam na 2. i zmieniłam linię Eval | |
6344 | +Rule "praet(imperf) + by" | |
6345 | + | |
6346 | +Match: [pos~"praet" && aspect~"imperf"] ns [base~"by"]; | |
6347 | +Eval: word(Verbfin:1.number:ter:pres:cond:1.aspect:nrefl:aff:1.gender, 1.base); | |
6348 | + | |
6349 | + | |
6350 | +Rule "praet(perf) + by" | |
6351 | + | |
6352 | +Match: [pos~"praet" && aspect~"perf"] ns [base~"by"]; | |
6353 | +Eval: word(Verbfin:1.number:ter:fut:cond:1.aspect:nrefl:aff:1.gender, 1.base); | |
6354 | + | |
6355 | + | |
6356 | +Rule "imps + by" | |
6357 | + | |
6358 | +Match: [pos~"imps"] [base~"by"]; | |
6359 | +Eval: word(Imps:cond:1.aspect:nrefl:aff, 1.base); #LD zmiana | |
6360 | +#Eval: word(1, Imps:cond, 1.base); | |
6361 | + | |
6362 | + | |
6363 | +Rule "by + imps" | |
6364 | + | |
6365 | +Match: [base~"by"] [pos~"imps"]; | |
6366 | +Eval: word(Imps:cond:2.aspect:nrefl:aff, 2.base); #LD zmiana | |
6367 | +#Eval: word(2, Imps:cond, 2.base); | |
6368 | + | |
6369 | + | |
6370 | +#LD Jedna nowa reguła zamiast dwóch starych | |
6371 | +Rule "winien + aglt - czas przeszły" | |
6372 | + | |
6373 | +Match: [pos~"winien"] ns [pos~"aglt"] [base~"być" && pos~"praet"]; | |
6374 | +Eval: word(Winien:1.number:3.person:1.gender:past:ind:1.aspect:nrefl:aff, 1.base); | |
6375 | + | |
6376 | + | |
6377 | +#Rule "Winien - czas przeszły (1. osoba)" | |
6378 | +# | |
6379 | +#Match: [pos~"winien"] ns [pos~"aglt" && person~"pri"] | |
6380 | +# [base~"być" && pos~"praet"]; | |
6381 | +#Eval: word(1, Winien:pri:past:ind, 1.base); | |
6382 | +# | |
6383 | +#Rule "Winien - czas przeszły (2. osoba)" | |
6384 | +# | |
6385 | +#Match: [pos~"winien"] ns [pos~"aglt" && person~"sec"] | |
6386 | +# [base~"być" && pos~"praet"]; | |
6387 | +#Eval: word(1, Winien:sec:past:ind, 1.base); | |
6388 | + | |
6389 | + | |
6390 | +Rule "Winien - czas przeszły (3. osoba)" | |
6391 | + | |
6392 | +Match: [pos~"winien"] [base~"być" && pos~"praet"]; | |
6393 | +Eval: word(1, Winien:ter:past:ind:nrefl:aff, 1.base); #LD dodałam "nrefl:aff" | |
6394 | + | |
6395 | + | |
6396 | +#LD Jedna nowa reguła zamiast dwóch starych | |
6397 | +Rule "winien + by + aglt - tryb przypuszczający" | |
6398 | + | |
6399 | +Match: [pos~"winien"] [base~"by"] ns [pos~"aglt"]; | |
6400 | +Eval: word(Winien:1.number:4.person:1.gender:pres:cond:1.aspect:nrefl:aff, 1.base); | |
6401 | + | |
6402 | + | |
6403 | +#Rule "Winien + by + Aglt (1. osoba)" | |
6404 | +# | |
6405 | +#Match: [pos~"winien"] [base~"by"] ns [pos~"aglt" && person~"pri"]; | |
6406 | +#Eval: word(1, Winien:pri:pres:cond, 1.base); | |
6407 | +# | |
6408 | +#Rule "Winien + by + Aglt (2. osoba)" | |
6409 | +# | |
6410 | +#Match: [pos~"winien"] [base~"by"] ns [pos~"aglt" && person~"sec"]; | |
6411 | +#Eval: word(1, Winien:sec:pres:cond, 1.base); | |
6412 | + | |
6413 | + | |
6414 | +Rule "Winien + by (3. osoba)" | |
6415 | + | |
6416 | +Match: [pos~"winien"] [base~"by"]; | |
6417 | +Eval: word(1, Winien:ter:pres:cond:nrefl:aff, 1.base); #LD dodałam "nrefl:aff" | |
6418 | + | |
6419 | + | |
6420 | +#LD Jedna nowa reguła zamiast dwóch starych | |
6421 | +Rule "winien + aglt - czas teraźniejszy" | |
6422 | + | |
6423 | +Match: [pos~"winien"] ns [pos~"aglt"]; | |
6424 | +Eval: word(Winien:1.number:3.person:1.gender:pres:ind:1.aspect:nrefl:aff, 1.base); | |
6425 | + | |
6426 | + | |
6427 | +#Rule "Winien + Aglt (1. osoba)" | |
6428 | +# | |
6429 | +#Match: [pos~"winien"] ns [pos~"aglt" && person~"pri"]; | |
6430 | +#Eval: word(1, Winien:pri:pres:ind, 1.base); | |
6431 | +# | |
6432 | +#Rule "Winien + Aglt (2. osoba)" | |
6433 | +# | |
6434 | +#Match: [pos~"winien"] ns [pos~"aglt" && person~"sec"]; | |
6435 | +#Eval: word(1, Winien:sec:pres:ind, 1.base); | |
6436 | + | |
6437 | + | |
6438 | +Rule "Winien (3. osoba)" | |
6439 | + | |
6440 | +Match: [pos~"winien"]; | |
6441 | +Eval: word(1, Winien:ter:pres:ind:nrefl:aff, 1.base); #LD dodałam "nrefl:aff" | |
6442 | + | |
6443 | + | |
6444 | +Rule "czas przyszły: bedzie + się + inf" | |
6445 | + | |
6446 | +Match: [pos~"bedzie"] [base~"się"] [pos~"inf"]; | |
6447 | +Eval: word(1, Verbfin:fut:ind:refl:aff, 3.base); | |
6448 | + | |
6449 | + | |
6450 | +Rule "czas przyszły: inf + się + bedzie" | |
6451 | + | |
6452 | +Match: [pos~"inf"] [base~"się"] [pos~"bedzie"]; | |
6453 | +Eval: word(3, Verbfin:fut:ind:refl:aff, 1.base); | |
6454 | + | |
6455 | + | |
6456 | +Rule "czas przyszły: bedzie + inf" | |
6457 | + | |
6458 | +Match: [pos~"bedzie"] [pos~"inf"]; | |
6459 | +Eval: word(1, Verbfin:fut:ind:nrefl:aff, 2.base); #LD dodałam "nrefl:aff" | |
6460 | + | |
6461 | + | |
6462 | +Rule "czas przyszły: inf + bedzie" | |
6463 | + | |
6464 | +Match: [pos~"inf"] [pos~"bedzie"]; | |
6465 | +Eval: word(2, Verbfin:fut:ind:nrefl:aff, 1.base); #LD dodałam "nrefl:aff" | |
6466 | + | |
6467 | + | |
6468 | +#LD Jedna nowa reguła zamiast pięciu starych. | |
6469 | +Rule "czas przyszły: bedzie się + praet" | |
6470 | + | |
6471 | +Match: [pos~"bedzie"] [base~"się"] | |
6472 | + [pos~"praet" && aspect~"imperf"]; | |
6473 | +Eval: word(Verbfin:1.number:1.person:fut:ind:1.aspect:refl:aff:3.gender, 3.base); | |
6474 | + | |
6475 | + | |
6476 | +#rozmnożone reguły (rodzaj z praet) | |
6477 | +#Rule "czas przyszły: bedzie się + praet (m1)" | |
6478 | +# | |
6479 | +#Match: [pos~"bedzie"] [base~"się"] | |
6480 | +# [pos~"praet" && aspect~"imperf" && gender~"m1"]; | |
6481 | +#Eval: word(1, Verbfin:fut:ind:refl:m1, 3.base); | |
6482 | +# | |
6483 | +#Rule "czas przyszły: bedzie się + praet (m2)" | |
6484 | +# | |
6485 | +#Match: [pos~"bedzie"] [base~"się"] | |
6486 | +# [pos~"praet" && aspect~"imperf" && gender~"m2"]; | |
6487 | +#Eval: word(1, Verbfin:fut:ind:refl:m2, 3.base); | |
6488 | +# | |
6489 | +#Rule "czas przyszły: bedzie się + praet (m3)" | |
6490 | +# | |
6491 | +#Match: [pos~"bedzie"] [base~"się"] | |
6492 | +# [pos~"praet" && aspect~"imperf" && gender~"m3"]; | |
6493 | +#Eval: word(1, Verbfin:fut:ind:refl:m3, 3.base); | |
6494 | +# | |
6495 | +#Rule "czas przyszły: bedzie się + praet (f)" | |
6496 | +# | |
6497 | +#Match: [pos~"bedzie"] [base~"się"] | |
6498 | +# [pos~"praet" && aspect~"imperf" && gender~"f"]; | |
6499 | +#Eval: word(1, Verbfin:fut:ind:refl:f, 3.base); | |
6500 | +# | |
6501 | +#Rule "czas przyszły: bedzie się + praet (n)" | |
6502 | +# | |
6503 | +#Match: [pos~"bedzie"] [base~"się"] | |
6504 | +# [pos~"praet" && aspect~"imperf" && gender~"n"]; | |
6505 | +#Eval: word(1, Verbfin:fut:ind:refl:n, 3.base); | |
6506 | + | |
6507 | + | |
6508 | +#LD Jedna nowa reguła zamiast pięciu starych. | |
6509 | +Rule "czas przyszły: bedzie + praet" | |
6510 | + | |
6511 | +Match: [pos~"bedzie"] [pos~"praet" && aspect~"imperf"]; | |
6512 | +Eval: word(Verbfin:1.number:1.person:fut:ind:1.aspect:nrefl:aff:2.gender, 2.base); | |
6513 | + | |
6514 | + | |
6515 | +#rozmnożone reguły (rodzaj z praet) | |
6516 | +#Rule "czas przyszły: bedzie + praet (m1)" | |
6517 | +# | |
6518 | +#Match: [pos~"bedzie"] [pos~"praet" && aspect~"imperf" && gender~"m1"]; | |
6519 | +#Eval: word(1, Verbfin:fut:ind:m1, 2.base); | |
6520 | +# | |
6521 | +#Rule "czas przyszły: bedzie + praet (m2)" | |
6522 | +# | |
6523 | +#Match: [pos~"bedzie"] [pos~"praet" && aspect~"imperf" && gender~"m2"]; | |
6524 | +#Eval: word(1, Verbfin:fut:ind:m2, 2.base); | |
6525 | +# | |
6526 | +#Rule "czas przyszły: bedzie + praet (m3)" | |
6527 | +# | |
6528 | +##Match: [pos~"bedzie"] [pos~"praet" && aspect~"imperf" && gender~"m3"]; | |
6529 | +#Eval: word(1, Verbfin:fut:ind:m3, 2.base); | |
6530 | +# | |
6531 | +#Rule "czas przyszły: bedzie + praet (f)" | |
6532 | +# | |
6533 | +#Match: [pos~"bedzie"] [pos~"praet" && aspect~"imperf" && gender~"f"]; | |
6534 | +#Eval: word(1, Verbfin:fut:ind:f, 2.base); | |
6535 | +# | |
6536 | +#Rule "czas przyszły: bedzie + praet (n)" | |
6537 | +# | |
6538 | +#Match: [pos~"bedzie"] [pos~"praet" && aspect~"imperf" && gender~"n"]; | |
6539 | +#Eval: word(1, Verbfin:fut:ind:n, 2.base); | |
6540 | + | |
6541 | + | |
6542 | +#LD Jedna nowa reguła zamiast pięciu starych. | |
6543 | +Rule "czas przyszły: praet + bedzie" | |
6544 | + | |
6545 | +Match: [pos~"praet" && aspect~"imperf"] [pos~"bedzie"]; | |
6546 | +Eval: word(Verbfin:2.number:2.person:fut:ind:2.aspect:nrefl:aff:1.gender, 1.base); | |
6547 | + | |
6548 | + | |
6549 | +#rozmnożone reguły (rodzaj z praet) | |
6550 | +#Rule "czas przyszły: praet (m1) + bedzie" | |
6551 | +# | |
6552 | +#Match: [pos~"praet" && aspect~"imperf" && gender~"m1"] [pos~"bedzie"]; | |
6553 | +#Eval: word(2, Verbfin:fut:ind:m1, 1.base); | |
6554 | +# | |
6555 | +#Rule "czas przyszły: praet (m2) + bedzie" | |
6556 | +# | |
6557 | +#Match: [pos~"praet" && aspect~"imperf" && gender~"m2"] [pos~"bedzie"]; | |
6558 | +#Eval: word(2, Verbfin:fut:ind:m2, 1.base); | |
6559 | +# | |
6560 | +#Rule "czas przyszły: praet (m3) + bedzie" | |
6561 | +# | |
6562 | +#Match: [pos~"praet" && aspect~"imperf" && gender~"m3"] [pos~"bedzie"]; | |
6563 | +#Eval: word(2, Verbfin:fut:ind:m3, 1.base); | |
6564 | +# | |
6565 | +#Rule "czas przyszły: praet (f) + bedzie" | |
6566 | +# | |
6567 | +#Match: [pos~"praet" && aspect~"imperf" && gender~"f"] [pos~"bedzie"]; | |
6568 | +#Eval: word(2, Verbfin:fut:ind:f, 1.base); | |
6569 | +# | |
6570 | +#Rule "czas przyszły: praet (n) + bedzie" | |
6571 | +# | |
6572 | +#Match: [pos~"praet" && aspect~"imperf" && gender~"n"] [pos~"bedzie"]; | |
6573 | +#Eval: word(2, Verbfin:fut:ind:n, 1.base); | |
6574 | + | |
6575 | + | |
6576 | +#info: Ta reguła musi być po innych z "bedzie" | |
6577 | +Rule "bedzie -> Verbfin" | |
6578 | + | |
6579 | +Match: [pos~~"bedzie"]; | |
6580 | +Eval: word(1, Verbfin:fut:ind:nrefl:aff, ); #LD dodałam "aff" | |
6581 | + | |
6582 | + | |
6583 | +#info: Ta reguła musi być po czasie przyszłym złożonym i innych dla praet | |
6584 | +Rule "praet -> Verbfin" | |
6585 | + | |
6586 | +Match: [pos~~"praet"]; | |
6587 | +Eval: word(Verbfin:1.number:ter:past:ind:1.aspect:nrefl:aff:1.gender, 1.base); #LD zmieniłam całą linię | |
6588 | +#Eval: word(1, Verbfin:ter:past:ind:nrefl:aff, ); | |
6589 | + | |
6590 | + | |
6591 | +Rule "fin perf -> Verbfin" | |
6592 | + | |
6593 | +Match: [pos~~"fin" && aspect~~"perf"]; | |
6594 | +Eval: word(1, Verbfin:fut:ind:nrefl:aff, ); #LD dodałam ind:nrefl:aff | |
6595 | + | |
6596 | + | |
6597 | +Rule "fin imperf -> Verbfin" | |
6598 | + | |
6599 | +Match: [pos~~"fin" && aspect~"imperf"]; | |
6600 | +Eval: word(1, Verbfin:pres:ind:nrefl:aff, ); #LD dodałam ind:nrefl:aff | |
6601 | + | |
6602 | + | |
6603 | +#LD Regułę "impt -> Verbfin" rozbiłam na dwie. | |
6604 | +Rule "impt imperf -> Verbfin" | |
6605 | + | |
6606 | +Match: [pos~~"impt" && aspect~"imperf"]; | |
6607 | +Eval: word(1, Verbfin:pres:imp:nrefl:aff, ); #LD dodałam nrefl:aff | |
6608 | + | |
6609 | + | |
6610 | +Rule "impt perf -> Verbfin" | |
6611 | + | |
6612 | +Match: [pos~~"impt" && aspect~"perf"]; | |
6613 | +Eval: word(1, Verbfin:fut:imp:nrefl:aff, ); #LD dodałam nrefl:aff | |
6614 | + | |
6615 | + | |
6616 | +Rule "tryb rozkazujący z niech: niech + czasownik" | |
6617 | + | |
6618 | +Match: [base~"niech|niechaj" && pos~"qub"] [pos~"Verbfin" && tense!~past]; | |
6619 | +Eval: alter(2, imp, 2.base); #LD zamiast word jest alter | |
6620 | +#Eval: word(2, imp, 2.base); | |
6621 | + | |
6622 | + | |
6623 | +Rule "tryb rozkazujący z niech: niech + się + czasownik" | |
6624 | + | |
6625 | +Match: [base~"niech|niechaj" && pos~"qub"] | |
6626 | + [orth~"się"] [pos~"Verbfin" && tense!~past]; | |
6627 | +Eval: alter(3, imp:refl, 3.base); #LD zamiast word jest alter | |
6628 | +#Eval: word(3, imp:refl, 3.base); | |
6629 | + | |
6630 | + | |
6631 | + | |
6632 | +#!!!byc może ta reguła niepotrzebna (sprawdzić) | |
6633 | +#Rule "tryb oznajm. dla reszty" | |
6634 | +# | |
6635 | +#Match: [pos~"Verbfin|Winien|Pred" && mood!~"cond|imp"]; | |
6636 | +#Eval: #word(1, ind, ); | |
6637 | +# set(1.pos:1.number:1.person:1.tense:ind:1.aspect:1.gender, , 1); | |
6638 | +# alter(1, ind, ); #LD zamiast word jest alter | |
6639 | + | |
6640 | + | |
6641 | +Rule "imps -> Imps" | |
6642 | + | |
6643 | +Match: [pos~~"imps"]; | |
6644 | +Eval: word(1, Imps:ind:nrefl:aff, ); #LD dopisałam "nrefl:aff" | |
6645 | + | |
6646 | + | |
6647 | +Rule "inf -> Inf" | |
6648 | + | |
6649 | +Match: [pos~~"inf"]; | |
6650 | +Eval: word(1, Inf:nrefl:aff, ); #LD dopisałam "nrefl:aff" | |
6651 | + | |
6652 | + | |
6653 | +#LD nowa reguła | |
6654 | +Rule "negacja dla predykatywów" | |
6655 | + | |
6656 | +Match: [base~"nie" && pos~"qub"] [pos~"pred"]; | |
6657 | +Eval: word(2, Pred:pres:ind:imperf:neg, 2.base); | |
6658 | +#info: "nie" nie wchodzi do base | |
6659 | + | |
6660 | + | |
6661 | +Rule "pred -> Pred" | |
6662 | + | |
6663 | +Match: [pos~~"pred"]; | |
6664 | +Eval: word(1, Pred:pres:ind:imperf:aff, ); #LD dopisane "aff" | |
6665 | +#Predykatyw "to" również otrzymuje te trzy wartości. | |
6666 | + | |
6667 | + | |
6668 | +#Rule "winien -> Winien" | |
6669 | +# | |
6670 | +#Match: [pos~~"winien"]; | |
6671 | +#Eval: word(1, Winien, ); | |
6672 | + | |
6673 | + | |
6674 | +Rule "pant -> Pant" | |
6675 | + | |
6676 | +Match: [pos~~"pant"]; | |
6677 | +Eval: word(1, Pant:nrefl:aff, ); #LD dopisałam nrefl: | |
6678 | + | |
6679 | + | |
6680 | +Rule "pcon -> Pcon" | |
6681 | + | |
6682 | +Match: [pos~~"pcon"]; | |
6683 | +Eval: word(1, Pcon:nrefl:aff, ); #LD dopisałam nrefl: | |
6684 | + | |
6685 | + | |
6686 | +Rule "pact -> Pact" | |
6687 | + | |
6688 | +Match: [pos~~"pact"]; | |
6689 | +Eval: word(1, Pact:nrefl, ); #LD dopisałam nrefl: | |
6690 | + | |
6691 | + | |
6692 | +Rule "ppas -> Ppas" | |
6693 | + | |
6694 | +Match: [pos~~"ppas"]; | |
6695 | +Eval: word(1, Ppas:nrefl, ); #LD dopisałam nrefl: | |
6696 | + | |
6697 | + | |
6698 | +Rule "zwrotność dla czasowników, imiesłowów itp. (3a)" | |
6699 | + | |
6700 | +Match: [orth~"[Ss]ię"] [base~"nie" && pos~"qub"] | |
6701 | + [pos~"Verbfin|Imps|Inf|Pant|Pcon|Pact|Ppas"]; | |
6702 | +Eval: word(3, refl:neg, 3.base " " 1.base); | |
6703 | + | |
6704 | + | |
6705 | +Rule "zwrotność: czasownik modalny + się + bezokolicznik" | |
6706 | + | |
6707 | +Left: [pos~"Verbfin|Pred" | |
6708 | + && base~"musieć|móc|mieć|należeć|wypadać|woleć|chcieć|trzeba|warto|można|wolno"]; | |
6709 | +Match: [orth~"się"] [pos~"Inf"]; | |
6710 | +Eval: word(3, refl, 3.base " " 2.base); | |
6711 | + | |
6712 | + | |
6713 | +Rule "zwrotność: inny czasownik + się + bezokolicznik" | |
6714 | + | |
6715 | +Match: [pos~"Verbfin"] [orth~"się"]; | |
6716 | +Right: [pos~"Inf"]; | |
6717 | +Eval: word(1, refl, 0.base); | |
6718 | + | |
6719 | + | |
6720 | +Rule "zwrotność dla czasowników, imiesłowów itp. (1)" | |
6721 | + | |
6722 | +Match: [pos~"Verbfin|Imps|Inf|Pant|Pcon|Pact|Ppas"] [orth~"się"]; | |
6723 | +Eval: word(1, refl, 0.base); | |
6724 | + | |
6725 | + | |
6726 | +Rule "zwrotność dla czasowników, imiesłowów itp. (2)" | |
6727 | + | |
6728 | +Match: [orth~"[Ss]ię"] [pos~"Verbfin|Imps|Inf|Pant|Pcon|Pact|Ppas"]; | |
6729 | +Eval: word(2, refl, 2.base " " 1.base); | |
6730 | + | |
6731 | + | |
6732 | +Rule "zwrotność dla gerundiów (3)" | |
6733 | + | |
6734 | +Match: [orth~"[Ss]ię"] [base~"nie" && pos~"qub"] [pos~"ger"]; | |
6735 | +Eval: word(3, Noun:refl:neg, 3.base " " 1.base); | |
6736 | + | |
6737 | + | |
6738 | +Rule "zwrotność dla gerundiów (1)" | |
6739 | + | |
6740 | +Match: [pos~"ger"] [orth~"się"]; | |
6741 | +Eval: word(1, Noun:refl, 0.base); | |
6742 | + | |
6743 | + | |
6744 | +Rule "zwrotność dla gerundiów (2)" | |
6745 | + | |
6746 | +Match: [orth~"[Ss]ię"] [pos~"ger"]; | |
6747 | +Eval: word(2, Noun:refl, 2.base " " 1.base); | |
6748 | + | |
6749 | + | |
6750 | +#ta reguła za chwilę będzie niepotrzebna | |
6751 | +#Rule "nrefl dla reszty" | |
6752 | +# | |
6753 | +#Match: [pos~"Verbfin|Ger" && reflexivity!~"refl"]; #LD usunęłam Pcon, Pant, Inf, Ppas, Pact, Imps | |
6754 | +#Eval: #word(1, nrefl, ); | |
6755 | +# alter(1, nrefl, ); #LD zamiast word jest alter | |
6756 | +#co ze zwrotnością dla Ger, która teraz jest Noun | |
6757 | + | |
6758 | + | |
6759 | +Rule "negacja dla czasowników, imiesłowów" | |
6760 | + | |
6761 | +Match: [base~"nie" && pos~"qub"] | |
6762 | + ([pos~"Verbfin|Pred|Winien|Imps|Inf|Pant|Pcon|Pact|Ppas|Ger"]); | |
6763 | +Eval: word(2, neg, 2.base); | |
6764 | +#info: "nie" nie wchodzi do base | |
6765 | + | |
6766 | + | |
6767 | +#ta reguła za chwilę będzie niepotrzebna | |
6768 | +#Rule "brak negacji dla reszty" | |
6769 | +# | |
6770 | +#Match: [pos~"Verbfin|Winien|Pred|Ger" && negation!~"neg"]; #LD usunęłam Pcon, Pant, Inf, Ppas, Pact, Imps | |
6771 | +#Eval: #word(1, aff, ); | |
6772 | +# alter(1, aff, ); #LD zamiast word jest alter | |
6773 | + | |
6774 | + | |
6775 | +Rule "Verbfin w cudzysłowie" | |
6776 | + | |
6777 | +Match: [orth~"\""] ns [pos~"Verbfin"] ns [orth~"\""]; | |
6778 | +Eval: word(3, Verbfin, 0.base); | |
6779 | + | |
6780 | + | |
6781 | +Rule "adjc -> Adjc" | |
6782 | + | |
6783 | +Match: [pos~~"adjc"]; | |
6784 | +Eval: word(1, Adjc, ); | |
6785 | + | |
6786 | + | |
6787 | +Rule "adj -> Adj" | |
6788 | + | |
6789 | +Match: [pos~~"adj"]; | |
6790 | +Eval: word(1, Adj, ); | |
6791 | + | |
6792 | + | |
6793 | +Rule "adv -> Adv" | |
6794 | + | |
6795 | +Match: [pos~~"adv"]; | |
6796 | +Eval: word(1, Adv, ); | |
6797 | + | |
6798 | + | |
6799 | +Rule "conj -> Conj" | |
6800 | + | |
6801 | +Match: [pos~~"conj"]; | |
6802 | +Eval: word(1, Conj, ); | |
6803 | + | |
6804 | + | |
6805 | +Rule "comp -> Comp" | |
6806 | + | |
6807 | +Match: [pos~~"comp"]; | |
6808 | +Eval: word(1, Comp, ); | |
6809 | + | |
6810 | + | |
6811 | +Rule "interj -> Interj" | |
6812 | + | |
6813 | +Match: [pos~~"interj"]; | |
6814 | +Eval: word(1, Interj, ); | |
6815 | + | |
6816 | + | |
6817 | +Rule "interp -> Interp" | |
6818 | + | |
6819 | +Match: [pos~~"interp"]; | |
6820 | +Eval: word(1, Interp, ); | |
6821 | + | |
6822 | + | |
6823 | +Rule "qub -> Qub" | |
6824 | + | |
6825 | +Match: [pos~~"qub"]; | |
6826 | +Eval: word(1, Qub, ); | |
6827 | + | |
6828 | + | |
6829 | +Rule "prep -> Prep" | |
6830 | + | |
6831 | +Match: [pos~~"prep"]; | |
6832 | +Eval: word(1, Prep, ); | |
6833 | + | |
6834 | + | |
6835 | +Rule "subst|depr|ger -> Noun" | |
6836 | + | |
6837 | +Match: [pos~~"subst|depr|ger"]; | |
6838 | +Eval: word(1, Noun, ); | |
6839 | + | |
6840 | + | |
6841 | +Rule "num -> Num" | |
6842 | + | |
6843 | +Match: [pos~~"num"]; | |
6844 | +Eval: word(1, Num, ); | |
6845 | + | |
6846 | + | |
6847 | +Rule "numcol -> Numcol" | |
6848 | + | |
6849 | +Match: [pos~~"numcol"]; | |
6850 | +Eval: word(1, Numcol, ); | |
6851 | + | |
6852 | + | |
6853 | +Rule "ppron12 -> Ppron12" | |
6854 | + | |
6855 | +Match: [pos~~"ppron12"]; | |
6856 | +Eval: word(1, Ppron12, ); | |
6857 | + | |
6858 | + | |
6859 | +Rule "ppron3 -> Ppron3" | |
6860 | + | |
6861 | +Match: [pos~~"ppron3"]; | |
6862 | +Eval: word(1, Ppron3, ); | |
6863 | + | |
6864 | + | |
6865 | +Rule "siebie -> Siebie" | |
6866 | + | |
6867 | +Match: [pos~~"siebie"]; | |
6868 | +Eval: word(1, Siebie, ); | |
6869 | + | |
6870 | + | |
6871 | +Rule "xxx -> Xxx" | |
6872 | + | |
6873 | +Match: [pos~~"xxx"]; | |
6874 | +Eval: word(1, Xxx, ); | |
6875 | + | |
6876 | + | |
6877 | +#*Brev | |
6878 | +#Rule "brev -> Brev" | |
6879 | +# | |
6880 | +#Match: [pos~~"brev"]; | |
6881 | +#Eval: word(1, Brev, ); | |
6882 | + | |
6883 | +################## 1. GRUPY SKŁADNIOWE | |
6884 | + | |
6885 | +################ 1.2 GRUPY NIEZAGNIEŻDŻONE | |
6886 | + | |
6887 | +Rule "tytuły" | |
6888 | + | |
6889 | +Match: [orth~"„|“|”|\"|'|»"] ns? | |
6890 | + [orth~"[A-ZĆŁŚŹŻ].*"][]* ns | |
6891 | + [orth~"”|’’|\"|'|“|«"]; | |
6892 | +Eval: group(NG,3,3); | |
6893 | + | |
6894 | + | |
6895 | +############### ADRESY | |
6896 | + | |
6897 | +Rule "NGadres: ul. + nazwa (Adj)" | |
6898 | + | |
6899 | +Match: [base~"ulica|plac|aleja"] | |
6900 | + [orth~"[A-ZŻŁÓŚĆŹ].*" && pos~"Adj"]; | |
6901 | + #[orth~"[0-9][0-9]*"]?; Czy numery nie są zagnieżdżone? | |
6902 | +Eval: group(NGadres,1,1); | |
6903 | + | |
6904 | + | |
6905 | +########### DATY | |
6906 | + | |
6907 | +Rule "NGdata: pełna data cyframi" | |
6908 | + | |
6909 | +Match: [orth~"[0-9][0-9]?"] ns [orth~"\."] ns | |
6910 | + [orth~"[0-9][0-9]?"] ns [orth~"\."] ns | |
6911 | + [orth~"[1-9][0-9]*"] [orth~"r."]?; | |
6912 | +Eval: group(NGdata,5,5); | |
6913 | + | |
6914 | + | |
6915 | +Rule "NGdata: pełna data" | |
6916 | + | |
6917 | +Match: [base~"dzień"]? | |
6918 | + [orth~"[0-9][0-9]?[-–]?[0-9]?[0-9]?"] (ns? [orth~"-"] ns? [orth~"[0-9][0-9]?"])? | |
6919 | + ([base~"styczeń|luty|marzec|kwiecień||kwi|maj|czerwiec|lipiec|sierpień|wrzesień|październik|listopad|grudzień"] | [orth~"bm\."]) | |
6920 | + ([orth~"[1-9][0-9]*"] ns? [orth~"zeszłego|tego|ubiegłego"]? [base~"rok"] | [pos~"Brev" && base~"bieżącego.roku"])?; | |
6921 | +Eval: group(NGdata,4,4); | |
6922 | + | |
6923 | +Rule "NGdata: miesiąc + rok" | |
6924 | + | |
6925 | +Match: [pos~"Adj"]? | |
6926 | + [base~"styczeń|luty|marzec|kwiecień|maj|czerwiec|lipiec|sierpień|wrzesień|październik|listopad|grudzień"] | |
6927 | + ([orth~"[1-9][0-9]*"] ns? [base~"rok"]? | [pos~"Brev" && base~"bieżącego.roku|ubiegłego.roku"] | ([pos~"Brev" && base~"ubiegły"] [orth~"roku"])); | |
6928 | +Eval: unify(number case gender,1,2); | |
6929 | + group(NGdata,2,2); | |
6930 | + | |
6931 | +Rule "NGdata: pełna data (miesiąc rzymskimi)" | |
6932 | + | |
6933 | +Match: [orth~"[0-9][0-9]?[-–]?[0-9]?[0-9]?"] (ns? [orth~"-"] ns? [orth~"[0-9][0-9]?"])? | |
6934 | + [base~"I|II|III|IV|V|VI|VII|VIII|IX|X|XI|XII"] | |
6935 | + [orth~"[1-9][0-9]*"]? [base~"rok"]?; | |
6936 | +Eval: group(NGdata,3,3); | |
6937 | + | |
6938 | +Rule "NGdata: liczba cyframi + rok" | |
6939 | + | |
6940 | +Match: [orth~"[1-9][0-9]*[-–]?[1-9]?[0-9]*"] (ns? [orth~"-"] ns? [orth~"[0-9][0-9]?"])? | |
6941 | + ([pos~"Brev" && base~"rok"] | [pos~"Noun" && base~"rok" && number~"sg"]); | |
6942 | +Eval: group(NGdata,3,3); | |
6943 | + | |
6944 | +Rule "NGdata: (Adj) + rok + liczba cyframi" | |
6945 | + | |
6946 | +Match: [pos~"Adj"]? | |
6947 | + [base~"rok"] | |
6948 | + ([orth~"[1-9][0-9]*[-–]?[1-9]?[0-9]*"] | ([orth~"[1-9][0-9]*"] ns? [orth~"-|/"] ns? [orth~"[1-9][0-9]*"])); | |
6949 | +Eval: group(NGdata,2,2); | |
6950 | + | |
6951 | +Rule "NGdata: liczba cyframi rzymskimi + 'wiek'" | |
6952 | + | |
6953 | +Match: [orth~"[IVCMLX][IVCMLX]*[-–]?[IVCMLX]*" && pos!~"Conj|Noun"] | |
6954 | + [base~"wiek"]; | |
6955 | +Eval: group(NGdata,2,2); | |
6956 | + | |
6957 | + | |
6958 | +################## GODZINY | |
6959 | + | |
6960 | +Rule "NGgodz: godzina + liczba cyframi + kropka + liczba cyframi (lub zakres liczbowy)" | |
6961 | + | |
6962 | +Match: [base~"godzina"] ns? | |
6963 | + ([orth~"[0-1][0-9]"] | [orth~"2[0-3]"] | [orth~"[1-9]"]) (ns [orth~":|\."] ns? ([orth~"[0-5][0-9]"] | [orth~"[0-5][0-9][-–][1-9][0-9]?"] ns [orth~"\.|:"] ns [orth~"[0-5][0-9]"]))?; | |
6964 | +Eval: group(NGgodz,1,1); | |
6965 | + | |
6966 | +Rule "NGgodz: liczba cyframi + dwukropek / kropka + liczba cyframi (lub zakres liczbowy)" | |
6967 | + | |
6968 | +Match: ([orth~"[0-1][0-9]"] | [orth~"2[0-3]"] | [orth~"[1-9]"]) ns [orth~":|\."] ns? ([orth~"[0-5][0-9]"] | [orth~"[0-5][0-9][-–][1-9][0-9]?"] ns [orth~"\.|:"] ns [orth~"[0-5][0-9]"]); | |
6969 | +Eval: group(NGgodz,1,1); | |
6970 | + | |
6971 | +################# POZOSTAŁE GRUPY | |
6972 | + | |
6973 | +################# GRUPY LICZEBNIKOWE | |
6974 | + | |
6975 | +Rule "NGl: czas trzyelementowy (np. godzina:minuta:sekunda)" | |
6976 | + | |
6977 | +Match: [orth~"[0-9][0-9]*"] ns [orth~":|\."] ns [orth~"[0-9][0-9]*"] ns [orth~":|,"] ns [orth~"[0-9][0-9]*"]; | |
6978 | +Eval: group(NGl,1,1); | |
6979 | + | |
6980 | +Rule "NGl: wyniki sportowe i przypisy oxfordzkie (x:y): liczba cyframi + dwukropek + liczba cyframi" | |
6981 | + | |
6982 | +Match: [orth~"[0-9][0-9]*"] ns [orth~":"] ns? [orth~"[0-9][0-9]*[a-z]?"]; | |
6983 | +Eval: group(NGl,1,1); | |
6984 | + | |
6985 | +Rule "NGl: Adj + Num (zgoda) + Noun (rząd)" #te pięć kobiet | |
6986 | + | |
6987 | +Match: [pos~"Adj" && case!~"gen" && base!~"który"] | |
6988 | + $qub_przy_num? | |
6989 | + [pos~"Num|Numcol"] | |
6990 | + [pos~"Noun" && case~"gen"]; | |
6991 | +Eval: unify(number case gender,1,2); | |
6992 | + unify(gender,1,3,4); | |
6993 | + group(NGl,3,4); | |
6994 | + | |
6995 | + | |
6996 | +Rule "NGl: (Adj) + Num + (Adj) + Noun + (Adj) (rząd)" | |
6997 | + | |
6998 | +Match: [pos~"Adj" && case~"gen"]? | |
6999 | + $qub_przy_num? | |
7000 | + [pos~"Num|Numcol" && case!~"gen"] | |
7001 | + [pos~"Adj" && case~"gen"]? | |
7002 | + [pos~"Noun" && case~"gen"] | |
7003 | + [pos~"Adj" && case~"gen"]?; | |
7004 | +Eval: unify(gender,1,3,4,5,6); | |
7005 | + group(NGl,3,5); | |
7006 | + | |
7007 | + | |
7008 | +Rule "NGl: (Qub|Adv) + (Adj) + Num + (n*Adj) + Noun + (Adj) (zgoda)" | |
7009 | + | |
7010 | +Match: ($qub_przy_adj | $qub_przy_num | $adv_przy_num)? | |
7011 | + [pos~"Adj"]? | |
7012 | + [pos~"Num|Numcol"] | |
7013 | + ([pos~"Adj|Pant|Ppas" && base!~"pozbawić"])? | |
7014 | + ((ns [orth~","])? ([base~"lecz|ale|choć|chociaż|bo|czyli"] | [base~"a"]? [base~"mimo to"])? [pos~"Adj|Pant|Ppas" && base!~"który|pozbawić"])* | |
7015 | + [pos~"Noun|Ppron12|Ppron3"] | |
7016 | + [pos~"Adj"]?; | |
7017 | +Eval: unify(number case gender,2,3,4,6,7); | |
7018 | + group(NGl,3,6); | |
7019 | + | |
7020 | + | |
7021 | +Rule "NGl: Num + Noun (procent)" | |
7022 | + | |
7023 | +Match: $qub_przy_adj? | |
7024 | + [pos~"Num"] | |
7025 | + [pos~"Noun" && orth~"procent"]; | |
7026 | +Eval: group(NGl,2,3); | |
7027 | + | |
7028 | + | |
7029 | +Rule "NGl: Adj + liczba cyframi + Noun (rząd)" #te 5 kobiet | |
7030 | + | |
7031 | +Left: ([pos!~"Noun"] | [pos~"Noun" && case~"gen"] | sb); #to może być za ostry warunek, ale żeby temu zaradzić, trzeba by rozmnożyć reguły (różne przypadki osobno) | |
7032 | +Match: [pos~"Adj" && case!~"gen"] | |
7033 | + [orth~"[1-9][0-9]*[-–]?[1-9]?[0-9]*"] | |
7034 | + [pos~"Noun" && case~"gen"]; | |
7035 | +Eval: unify(number gender,2,4); | |
7036 | + group(NGl,3,4); | |
7037 | + | |
7038 | +Rule "NGl: (Qub) + (Adj) + liczba cyframi + (Adj) + Noun + (Adj) (zgoda + rząd)" | |
7039 | + | |
7040 | +Match: ($qub_przy_num | [pos~"Brev" && base~"około" && brev_pos~"QUB"])? | |
7041 | + [pos~"Adj"]? | |
7042 | + [orth~"[1-9][0-9]*[-–]?[1-9]?[0-9]*"] | |
7043 | + [pos~"Adj"]? | |
7044 | + [pos~"Noun"] | |
7045 | + [pos~"Adj"]; | |
7046 | +Eval: unify(number case gender,2,4,5,6); | |
7047 | + group(NGl,3,5); | |
7048 | + | |
7049 | + | |
7050 | +Rule "NGl: (Qub) + (Adj) + liczba cyframi + (Adj) + Noun + (Adj) (zgoda + rząd)" | |
7051 | + | |
7052 | +Match: ($qub_przy_num | [pos~"Brev" && base~"około" && brev_pos~"QUB"])? | |
7053 | + [pos~"Adj"]? | |
7054 | + [orth~"[1-9][0-9]*[-–]?[1-9]?[0-9]*"] | |
7055 | + [pos~"Adj"]? | |
7056 | + [pos~"Noun"]; | |
7057 | +Eval: unify(number case gender,2,4,5); | |
7058 | + group(NGl,3,5); | |
7059 | + | |
7060 | + | |
7061 | +Rule "NGl: Adj + liczba cyframi + Noun (procent)" | |
7062 | + | |
7063 | +Match: [pos~"Adj"] | |
7064 | + [orth~"[1-9][0-9]*[-–]?[1-9]?[0-9]*"] | |
7065 | + [pos~"Noun" && orth~"procent"]; | |
7066 | +Eval: group(NGl,2,3); | |
7067 | + | |
7068 | +Rule "NGl: (Adv|Qub) + Num|liczba cyframi + Brev" | |
7069 | + | |
7070 | +Match: ($qub_przy_num | $adv_przy_num)? | |
7071 | + ([pos~"Num|Numcol"] | [orth~"[1-9][0-9]*[-–]?[1-9]?[0-9]*"]) | |
7072 | + [pos~"Brev|Brev-se" && brev_pos~~"NOUN|NG" && orth!~"§|im\."]; | |
7073 | +Eval: group(NGl,2,3); | |
7074 | + | |
7075 | +Rule "NGl: Noun + Num (rząd)" | |
7076 | + | |
7077 | +Match: [pos~"Noun" && case~"gen"] | |
7078 | + [pos~"Num|Numcol"]; | |
7079 | +Right: ([pos~"Noun|Adj" && case!~"gen"] | [pos!~"Noun|Adj"] | se | ns); | |
7080 | +Eval: group(NGl,2,1); | |
7081 | + | |
7082 | +Rule "NGl: Noun + Num (zgoda)" | |
7083 | + | |
7084 | +Match: [pos~"Noun"] | |
7085 | + [pos~"Num|Numcol"]; | |
7086 | +Right: ([pos~"Noun|Adj" && case!~"gen"] | [pos!~"Noun|Adj"] | se | ns); | |
7087 | +Eval: unify(number case gender,1,2); | |
7088 | + group(NGl,2,1); | |
7089 | + | |
7090 | + | |
7091 | +Rule "NGl: Adj + Noun + liczba cyframi (rząd)" #tych przebiegów 10 | |
7092 | + | |
7093 | +Match: [pos~"Adj" && case~"gen"] | |
7094 | + [pos~"Noun" && case~"gen"] | |
7095 | + [orth~"[1-9][0-9]*[-–]?[1-9]?[0-9]*"]; | |
7096 | +Right: ([pos~"Noun|Adj" && case!~"gen"] | [pos!~"Noun|Adj"] | se | ns); | |
7097 | +Eval: unify(number gender,1,2); | |
7098 | + group(NGl,3,2); | |
7099 | + | |
7100 | + | |
7101 | +Rule "NGl: zakresy liczbowe (cyframi), trójelementowe" | |
7102 | + | |
7103 | +Match: [orth~"[1-9][0-9]*"] ns? [orth~"-|–"] ns? [orth~"[1-9][0-9]*"]; | |
7104 | +Eval: group(NGl,1,1); | |
7105 | + | |
7106 | + | |
7107 | +############################### GRUPY RZECZOWNIKOWO-RZECZOWNIKOWE | |
7108 | + | |
7109 | + | |
7110 | +Rule "NGs: (Adj) + Noun(osoba) + (Noun[osoba]) + Noun + (Noun) (tytuł + imię + nazwisko)" | |
7111 | + | |
7112 | +Match: [pos~"Adj"]? | |
7113 | + ($osoba | $tytul) | |
7114 | + [pos~"Adj"]? | |
7115 | + ($osoba | $tytul)? | |
7116 | + ([pos~"Noun" && base~"[A-ZĆŁŚŹŻÓ].*" && orth!~"Skarbu|Rosji|Francji"] | [pos~"Noun" && base~"sprawozdawca"]) | |
7117 | + [pos~"Noun|Adj" && orth~"[A-ZĆŁŚŹŻÓ].*"]*; | |
7118 | +Eval: unify(number case,1,2,3,4,5,6); | |
7119 | + group(NGs,2,2); | |
7120 | +#łapie się ministra Skarbu Państwa, ale dużo grup niezagnieżdżonych się nie złapie, jeśli wyeliminuje się dopełniacze | |
7121 | +#dziwnostka: dlaczego na tę regułę i regułę niżej łapią się dwuczłonowe nazwiska z łącznikami? | |
7122 | + | |
7123 | +Rule "NGs: (Adj) + Noun + (Adj) + n*Noun" | |
7124 | + | |
7125 | +Match: $tytul? | |
7126 | + [pos~"Adj" && case!~"gen"]? | |
7127 | + [pos~"Noun" && case!~"gen"] | |
7128 | + [pos~"Adj" && case!~"gen"]? | |
7129 | + [pos~"Noun" && case!~"gen"]+; | |
7130 | +Eval: unify(number case,2,3,4,5); | |
7131 | + group(NGs,3,3); | |
7132 | +#nie łapią się dopełniacze, można na wszelki wypadek zrezygnować jeszcze z mianowników | |
7133 | + | |
7134 | + | |
7135 | +Rule "NGs: nazwiska w dopełniaczu" | |
7136 | + | |
7137 | +Match: [pos~"Adj" && case~"gen"]? | |
7138 | + [pos~"Noun" && base~"[A-ZĆŁŚŹŻÓ].*" && case~"gen"] | |
7139 | + [pos~"Noun" && base~"[A-ZĆŁŚŹŻÓ].*" && case~"gen"]; | |
7140 | +Eval: unify(number,1,2,3); | |
7141 | + group(NGs,2,2); | |
7142 | + | |
7143 | + | |
7144 | +Rule "NGs: Noun + Noun (chodzi o dopełniacze)" | |
7145 | + | |
7146 | +Match: $osoba | |
7147 | + $osoba; | |
7148 | +Eval: group(NGs,1,1); | |
7149 | + | |
7150 | + | |
7151 | + | |
7152 | +################################# GRUPY RZECZOWNIKOWO-PRZYMIOTNIKOWE | |
7153 | + | |
7154 | +Rule "NGa: przymiotnik porządkowy rzymskimi + (Adj) + Noun + (Adj)" | |
7155 | + | |
7156 | +Match: [orth~"[IVCMLX][IVCMLX]*[-–]?[IVCMLX]*" && pos!~"Conj|Noun"] | |
7157 | + [pos~"Adj"]? | |
7158 | + [pos~"Noun"] | |
7159 | + [pos~"Adj"]?; | |
7160 | +Eval: unify(number case gender,2,3,4); | |
7161 | + group(NGa,3,3); | |
7162 | + | |
7163 | +Rule "NGa: przymiotnik porządkowy rzymskimi + wiek" | |
7164 | + | |
7165 | +Match: [orth~"[IVCMLX][IVCMLX]*[-–]?[IVCMLX]*"] | |
7166 | + [orth~"w\."]; | |
7167 | +Eval: group(NGa,2,2); | |
7168 | +#próbowałam dodać ewentualne "p.n.e.", ale nie działa, bo na ms to skróty od 'piętro', 'nowy' i wykrzyknik 'e' | |
7169 | + | |
7170 | +Rule "NGa: Noun + (Noun) + (Noun) + przymiotnik porządkowy rzymskimi" | |
7171 | + | |
7172 | +Match: [pos~"Noun"] | |
7173 | + [pos~"Noun" && orth~"[A-ZŹĆŻÓŚ].*"]? | |
7174 | + [pos~"Noun" && orth~"[A-ZŹĆŻÓŚ].*"]? | |
7175 | + [orth~"[IVCMLX][IVCMLX]*[-–]?[IVCMLX]*" && pos!~"Conj|Noun"]; | |
7176 | +Eval: unify(number case gender,1,2,3); | |
7177 | + group(NGa,1,1); | |
7178 | + | |
7179 | + | |
7180 | +Rule "NGa: paragraf/artykuł + numer cyframi" | |
7181 | + | |
7182 | +Match: [base~"artykuł|§|$"] ns? [orth~"[0-9][0-9]*[-–]?[0-9]?[0-9]*"]; | |
7183 | +Eval: group(NGa,1,1); | |
7184 | +### 'artykuł' się nie łapie, bo 'art' to ign na ms | |
7185 | + | |
7186 | +Rule "NGa: msza św." | |
7187 | + | |
7188 | +Match: [base~"msza|komunia|pismo" && pos~"Noun"] [base~"święty" && pos~"Brev"]; | |
7189 | +Eval: group(NGa,1,1); | |
7190 | + | |
7191 | +Rule "NGa: jak + Adj (sup) + Noun" | |
7192 | + | |
7193 | +Match: [base~"jak" && pos~"Adv"] | |
7194 | + [pos~"Adj" && degree~"sup"] | |
7195 | + [pos~"Noun"]; | |
7196 | +Eval: unify(number case gender,2,3); | |
7197 | + group(NGa,3,3); | |
7198 | + | |
7199 | +Rule "NGx: zaimek + Adj gen" | |
7200 | + | |
7201 | +Match: [base~"coś|nic|co|cóż"] ([pos~"Adj" && case~"gen"] | [orth~"więcej"]); | |
7202 | +Eval: group(NGx,1,1); | |
7203 | + | |
7204 | +Rule "NGa: (Adj) + Ppron3 + Noun" | |
7205 | + | |
7206 | +Match: [pos~"Adj"]? | |
7207 | + [pos~"Ppron3" && case~"gen" && post-prepositionality~"npraep"] | |
7208 | + [pos~"Adj"]? | |
7209 | + [pos~"Noun"] | |
7210 | + [pos~"Adj"]?; | |
7211 | +Eval: group(NGa,4,4); | |
7212 | +# UWAGA! Na tę regułę i regułę niżej łapią się też (błędnie) dopełniacze przy gerundiach i rzeczownikach wymagających dopełniacza, np. "ich zamrożenie", "ich kupno" - dwuznaczne konstrukcje, błędy nie do wyeliminowania, jeśli zostaniemy przy tej regule i jeśli na ms nie odróżnimy ppron3 od równokształtnego adj | |
7213 | + | |
7214 | +Rule "NGa: Noun + Ppron3" | |
7215 | + | |
7216 | +Match: [pos~"Noun"] | |
7217 | + [pos~"Ppron3" && case~"gen"]; | |
7218 | +Eval: group(NGa,1,1); | |
7219 | + | |
7220 | + | |
7221 | +################### Adj na początku | |
7222 | + | |
7223 | +# nie łapią się, choć są w materiale: zasadniczo, często, trudno, wciąż, niegdyś, szeroko, kiedyś, późno, mocno, głęboko, nagle, wspaniale, jak (w pytaniach), niekiedy - UWAGA - PROBLEMATYCZNE; większość to tak naprawdę imiesłowy, a nie adj (błędy automatycznej anotacji) | |
7224 | +Rule "NGa: Adv + Adj + (n*((Adv) + Adj)) + Noun + (Adj)" | |
7225 | + | |
7226 | +Match: $adv_przy_adj | |
7227 | + [pos~"Adj|Pact" && base!~"pozbawić|który"] | |
7228 | + [pos~"Adv" && base!~"gdy|gdzie|kiedy|rano|jak"]? | |
7229 | + ((ns [orth~","])? ([base~"lecz|ale|choć|chociaż|bo|czyli"] | [base~"a"]? [base~"mimo to"])? [pos~"Adv" && base!~"gdy|gdzie|kiedy|rano|jak"]? [pos~"Adj|Pact|Ppas" && base!~"który|pozbawić"])* | |
7230 | + [pos~"Noun|Ppron12|Ppron3"] | |
7231 | + [pos~"Adj"]?; | |
7232 | +Eval: unify(number case gender,2,5,6); | |
7233 | + group(NGa,5,5); | |
7234 | + | |
7235 | +Rule "NGa: (Adv) + Ppas (Nom) + Noun + (Adj)" | |
7236 | + | |
7237 | +Left: ([pos~"Verbfin" && base!~"być|zostać"] | [pos!~"Verbfin"] | sb); | |
7238 | +Match: $qub_przy_adj? | |
7239 | + [pos~"Adv" && base!~"jak|gdzie|kiedy|gdy|skąd|dokąd|dlaczego|dlatego|tymczasem|odtąd"]? | |
7240 | + [pos~"Ppas" && case~"nom"] | |
7241 | + $qub_przy_adj? | |
7242 | + [pos~"Noun" && case~"nom"] | |
7243 | + [pos~"Adj" && case~"nom"]?; | |
7244 | +Eval: unify(number gender,4,6,7); | |
7245 | + group(NGa,6,6); | |
7246 | + | |
7247 | +Rule "NGa: (Adv) + Ppas (nNom) + Noun + (Adj)" | |
7248 | + | |
7249 | +Match: $qub_przy_adj? | |
7250 | + [pos~"Adv" && base!~"jak|gdzie|kiedy|gdy|skąd|dokąd|dlaczego|dlatego|tymczasem"]? | |
7251 | + [pos~"Ppas" && case!~"nom"] | |
7252 | + $qub_przy_adj? | |
7253 | + [pos~"Adj" && case!~"nom"]? | |
7254 | + [pos~"Noun" && case!~"nom"] | |
7255 | + [pos~"Adj" && case!~"nom"]?; | |
7256 | +Eval: unify(number gender,3,5,6,7); | |
7257 | + group(NGa,6,6); | |
7258 | + | |
7259 | + | |
7260 | +##"pozbawiony" wymaga zagnieżdżonego dopełniacza (chyba że dziwny przestawny szyk); oczywiście jest tego więcej - tu wprowadzone "awaryjnie"; | |
7261 | +##z krótkiego przeglądu NKJP wynika, że wypadki, kiedy będą się łąpać przypadkowo niechciane zagnieżdżające Ppas, są raczej wyjątkowe | |
7262 | +##IMHO więcej szkody z usunięcia Ppas niż z pozostawienia | |
7263 | +Rule "NGa: (Qub) + Adj + (n*((Adv) + Adj)) + Noun + (Adj)" | |
7264 | + | |
7265 | +Match: $qub_przy_adj? | |
7266 | + [pos~"Adj|Pact" && base!~"pozbawić|który"] | |
7267 | + $qub_przy_adj? | |
7268 | + [pos~"Adv" && base!~"gdy|gdzie|kiedy|rano|jak"]? | |
7269 | + ((ns [orth~","])? ([base~"lecz|ale|choć|chociaż|bo|czyli"] | [base~"a"]? [base~"mimo to"])? $qub_przy_adj? [pos~"Adv" && base!~"gdy|gdzie|kiedy|rano|jak"]? [pos~"Adj|Pact|Ppas" && base!~"który|pozbawić"])+ | |
7270 | + [pos~"Noun|Ppron12|Ppron3"] | |
7271 | + [pos~"Adj" && base!~"który"]?; | |
7272 | +Eval: unify(number case gender,2,6,7); | |
7273 | + group(NGa,6,6); | |
7274 | + | |
7275 | + | |
7276 | +Rule "NGa: (Qub) + Adj + (Qub) + (Adv) + Noun + (Adj)" | |
7277 | + | |
7278 | +Match: $qub_przy_adj? | |
7279 | + [pos~"Adj|Pact" && base!~"pozbawić|który"] | |
7280 | + $qub_przy_adj? | |
7281 | + [pos~"Adv" && base!~"gdy|gdzie|kiedy|rano|jak"]? | |
7282 | + [pos~"Noun|Ppron12|Ppron3"] | |
7283 | + [pos~"Adj" && base!~"który"]?; | |
7284 | +Eval: unify(number case gender,2,5,6); | |
7285 | + group(NGa,5,5); | |
7286 | + | |
7287 | + | |
7288 | +Rule "NGa: Adj + Noun" | |
7289 | + | |
7290 | +Match: [pos~"Adj|Pact" && base!~"pozbawić|który"] | |
7291 | + [pos~"Noun|Ppron12|Ppron3"]; | |
7292 | +Eval: unify(number case gender,1,2); | |
7293 | + group(NGa,2,2); | |
7294 | +################## ta reguła zrobiona interwencyjnie, bo nie łapało się "wszelkie siatki" w "rozpracowujących wszelkie siatki"; może trzeba tę skomplikowaną regułę rozbić na mniejsze | |
7295 | + | |
7296 | +################## Noun na początku | |
7297 | + | |
7298 | + | |
7299 | + | |
7300 | +Rule "NGa: Noun + (Adv) + n*Adj Gen" | |
7301 | + | |
7302 | +Match: [pos~"Noun|Ppron12|Ppron3" && base!~"co" && case~"gen"] [pos~"Adv"]? [pos~"Adj|Pact|Ppas" && case~"gen"]+; | |
7303 | +#Right: ([pos!~"Noun"] | [pos~"Noun" && case!~"gen"] | ns | se); | |
7304 | +Eval: unify(number case gender,1,3); | |
7305 | + group(NGa,1,1); | |
7306 | +#Ograniczenie prawego kontekstu jest za mocne: trzeba by rozmnożyć regułę: nie może być zgody między Adj a rzeczownikiem w prawym kontekście | |
7307 | + | |
7308 | +Rule "NGa: Noun + (Adv) + n*Adj nGen nNom (po przecinkach)" | |
7309 | + | |
7310 | +Match: [pos~"Noun|Ppron12|Ppron3" && base!~"co" && case!~"gen"] | |
7311 | + [pos~"Adv"]? | |
7312 | + [pos~"Adj|Pact|Ppas" && case!~"gen|nom" && base!~"który"] | |
7313 | + (ns [orth~","] [pos~"Adj|Pact|Ppas" && base!~"który|pozbawić"])+; | |
7314 | +Eval: unify(number case gender,1,3); | |
7315 | + group(NGa,1,1); | |
7316 | + | |
7317 | +Rule "NGa: Noun + (Adv) + n*Adj nGen nNom" | |
7318 | + | |
7319 | +Match: [pos~"Noun|Ppron12|Ppron3" && base!~"co" && case!~"gen"] [pos~"Adv"]? [pos~"Adj|Pact|Ppas" && case!~"gen|nom" && base!~"który"]+; | |
7320 | +Eval: unify(number case gender,1,3); | |
7321 | + group(NGa,1,1); | |
7322 | + | |
7323 | +Rule "NGa: Noun + (Adv) + n*Adj Nom" | |
7324 | + | |
7325 | +Left: ([pos~"Verbfin" && base!~"być|zostać"] | [pos!~"Verbfin"] | sb); | |
7326 | +Match: [pos~"Noun|Ppron12|Ppron3" && case~"nom"] | |
7327 | + [pos~"Adv"]? | |
7328 | + [pos~"Adj|Pact|Ppas" && case~"nom"]+; | |
7329 | +Right: ([pos~"Verbfin" && base!~"być|zostać"] | [pos!~"Verbfin"] | ns | se); | |
7330 | +Eval: unify(number gender,2,4); | |
7331 | + group(NGa,2,2); | |
7332 | + | |
7333 | +Rule "NGa w cudzysłowie" | |
7334 | + | |
7335 | +Match: [orth~"„|“|”|\"|'|»"] ns? | |
7336 | + [type="NGa" && synh=[orth~"[a-zćłśźżó].*"]] ns? | |
7337 | + [orth~"”|’’|\"|'|“|«"]; | |
7338 | +Eval: group(NGa,3,3); | |
7339 | + | |
7340 | +###################################### GRUPY PRZYMIOTNIKOWE | |
7341 | + | |
7342 | +Rule "AdjGl: Num + Adj (rząd)" | |
7343 | + | |
7344 | +Match: $qub_przy_num? | |
7345 | + [pos~"Num|Numcol"] | |
7346 | + [pos~"Adj" && case~"gen"]; | |
7347 | +Eval: group(AdjGl,2,3); | |
7348 | + | |
7349 | +Rule "AdjGl: Num + Adj (zgoda)" | |
7350 | + | |
7351 | +Match: $qub_przy_num? | |
7352 | + [pos~"Num|Numcol"] | |
7353 | + [pos~"Adj"]; | |
7354 | +Eval: unify(number case gender,2,3); | |
7355 | + group(AdjGl,2,3); | |
7356 | + | |
7357 | +Rule "AdjGl: liczba cyframi + Adj" | |
7358 | + | |
7359 | +Match: [orth~"[1-9][0-9]*[-–]?[1-9]?[0-9]*"] | |
7360 | + [pos~"Adj"]; | |
7361 | +Eval: group(AdjGl,1,2); | |
7362 | + | |
7363 | +Rule "Adj + Adj" | |
7364 | + | |
7365 | +Match: [pos~"Adj"] | |
7366 | + [pos~"Adj" && base!~"który"]; | |
7367 | +Eval: unify(number case gender,1,2); | |
7368 | + group(AdjG,1,1); | |
7369 | + | |
7370 | +Rule "Adv + Adj" | |
7371 | + | |
7372 | +Match: $adv_przy_adj | |
7373 | + [pos~"Adj|Ppas"]; | |
7374 | +Eval: group(AdjG,2,2); | |
7375 | + | |
7376 | +##################################### GRUPY ZE SKRÓTAMI (nie wychwytywane wyżej) | |
7377 | + | |
7378 | +Rule "NGb: Brev(NOUN) + Noun" | |
7379 | + | |
7380 | +Match: [pos~"Brev" && brev_pos~~"NOUN" && base!~"imienia|ulica|plac|aleja"] | |
7381 | + [pos~"Noun" && base~"[A-ZĆŹŻŚÓ].*"]+; | |
7382 | +Eval: group(NGb,1,1); | |
7383 | + | |
7384 | +Rule "NGb: Brev(ADJ) + Noun" | |
7385 | + | |
7386 | +Match: [pos~"Brev" && brev_pos~~"ADJ" && base!~"imienia|ulica|plac|aleja"] | |
7387 | + [pos~"Noun" && base~"[A-ZĆŹŻŚÓ].*"] | |
7388 | + [pos~"Noun" && base~"[A-ZĆŹŻŚÓ].*"]*; | |
7389 | +Eval: group(NGb,2,2); | |
7390 | + | |
7391 | +Rule "Noun + Brev (NOUN|ADJ)" | |
7392 | + | |
7393 | +Match: [pos~"Noun"] | |
7394 | + [pos~"Brev|Brev-se" && brev_pos~"NOUN|ADJ" && base!~"imienia|ulica|plac|aleja"]; | |
7395 | +Eval: group(NGb,1,1); | |
7396 | + | |
7397 | + | |
7398 | +Rule "NGb: Brev + liczba cyframi" | |
7399 | + | |
7400 | +Match: [pos~~"Brev" && brev_pos~"NOUN"] ns? | |
7401 | + [orth~"[1-9][0-9]*[-–]?[1-9]?[0-9]*"] (ns [orth~"-"] ns [orth~"[0-9]+"])?; | |
7402 | +Eval: group(NGb,1,1); | |
7403 | + | |
7404 | +############################################ POJEDYNCZE WYRAZY | |
7405 | + | |
7406 | +Rule "(Qub) + Noun" | |
7407 | + | |
7408 | +Match: [pos~"Qub" && base~"prawie|ponad|dopiero|niby|byle|niemal|nie|tylko|jeszcze|już|minimum|ani|i|to"]? | |
7409 | + [pos~"Noun|Ppron12|Ppron3|Siebie"]; | |
7410 | +Eval: group(NG,2,2); | |
7411 | + | |
7412 | +Rule "(Qub) + Num" | |
7413 | + | |
7414 | +Match: ($qub_przy_num | [pos~"Brev" && brev_pos~QUB && base~"około"])? | |
7415 | + [pos~"Num"]; | |
7416 | +Eval: group(NumG,2,2); | |
7417 | + | |
7418 | + | |
7419 | +Rule "(Qub) + Adj" | |
7420 | + | |
7421 | +Match: $qub_przy_adj? | |
7422 | + [pos~"Adj|Ppas|Pact"]; | |
7423 | +Eval: group(AdjG,2,2); | |
7424 | + | |
7425 | +Rule "Brev" | |
7426 | + | |
7427 | +Match: [pos~"Brev" && brev_pos~"NOUN"]; | |
7428 | +Eval: group(NG,1,1); | |
7429 | + | |
7430 | +Rule "grupa w cudzysłowie" | |
7431 | + | |
7432 | +Match: [orth~"„|“|”|\"|'|»"] ns? | |
7433 | + [type="NG" && synh=[orth~"[a-zćłśźżó].*"]] ns? | |
7434 | + [orth~"”|’’|\"|'|“|«"]; | |
7435 | +Eval: group(NG,3,3); | |
7436 | + | |
7437 | +############################### GRUPY ZAGNIEŻDŻONE | |
7438 | + | |
7439 | +######################################## ADRESY | |
7440 | + | |
7441 | +Rule "NGadres: ulica + NG(gen) +(numer)" | |
7442 | + | |
7443 | +Match: [type="NG" && synh=[base~"ulica|plac|aleja"]] | |
7444 | + [type="NG" && synh=[case~"gen" && base~"[A-ZŁÓŻŹĆ].*"]] | |
7445 | + ([orth~"[0-9][0-9]?[-–]?[0-9]?[0-9]?[A-ZŁŚŻ]?"] (ns? [orth~"-"] ns? [orth~"[0-9][0-9]?"])?)?; | |
7446 | +Eval: group(NGadres,1,1); | |
7447 | + | |
7448 | + | |
7449 | +Rule "NGadres: NGadres + numer" | |
7450 | + | |
7451 | +Match: [type="NGadres"] | |
7452 | + [orth~"[0-9][0-9]?[-–]?[0-9]?[0-9]?[A-ZŁŚŻ]?"] (ns? [orth~"-"] ns? [orth~"[0-9][0-9]?"])?; | |
7453 | +Eval: group(NGadres,1,1); | |
7454 | + | |
7455 | +###################################### GRUPY NG2 | |
7456 | + | |
7457 | +Rule "NG2: NG(gen) + NG" | |
7458 | + | |
7459 | +Match: [type="NG|NGa" && synh=[case~"gen" && base~"pan|pani|państwo|to|podziw|nauczyciel|typ|rodzaj|wielkość|sława|wysokość|strumień|klasa|próba|jakość|słowo|wspomnienie|Boryn.*|iskra"]] | |
7460 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[base!~"co|on|ja|ty|my|wy|siebie"]]; | |
7461 | +Eval: group(NG2,2,2); | |
7462 | + | |
7463 | + | |
7464 | +Rule "NG2: NG + NG(gen) + [NG(nom|gen|dat|inst)]" | |
7465 | + | |
7466 | +Match: [type=".*" && synh=[base~"odbywać|ozdabiać|wysycić|przywracać|zastąpić|dociążyć|wydawać|udzielić|udzielać|udostępniać|stawić|przekazać|zapewnić|utrudniać|oduczać|zafascynowanie|objąć|dociążyć|nadawanie"]] | |
7467 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"gen" && base!~"co|siebie"]]; | |
7468 | +Right: [type=".*"]; | |
7469 | +Eval: group(NG2,1,1); | |
7470 | + | |
7471 | + | |
7472 | +Rule "NG2: [NG] + NG(gen) + NG(dat) | NG + NG(dat) + [NG(gen)]" | |
7473 | + | |
7474 | +Match: [type=".*" && synh=[base~"przybliżenie|uchylić|przekazać|podać|wręczyć|nieść|przesłać|darować|darowanie"]] | |
7475 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"dat" && base!~"co|siebie"]]; | |
7476 | +Right: [type=".*"]; | |
7477 | +Eval: group(NG2,1,1); | |
7478 | + | |
7479 | + | |
7480 | +Rule "NG2: [NG] + NG(gen) + NG(inst) | NG + NG(inst) + [NG(gen)]" | |
7481 | + | |
7482 | +Match: [type=".*" && synh=[base~"pomalować"]] | |
7483 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"inst" && base!~"co|siebie"]]; | |
7484 | +Right: [type=".*"]; | |
7485 | +Eval: group(NG2,1,1); | |
7486 | + | |
7487 | + | |
7488 | + | |
7489 | +Rule "NG2: NG + NG(gen) nie przed NG(gen) i nie przed koordynacją" | |
7490 | + | |
7491 | +Left: ([synh=[base!~"mistrzostwo|rekord|ułatwienie|order|puchar"]] | sb | [pos~".*"]); | |
7492 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb" && synh=[base!~"co|on|ja|ty|my|wy|siebie|to"]] | |
7493 | + ([type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"gen" && base!~"co|on|ja|ty|my|wy|siebie|nic"]] | [type="NGadres" && synh=[pos~"Brev"]]); | |
7494 | +Right: (se | (ns [orth~","] ([pos!~"Conj"] | [type=".*" && synh=[case!~"gen"]])) | (ns [orth!~","]) | ([pos~"Conj"] [type=".*" && synh=[case!~"gen"]]) | [pos!~"Conj"] | [type=".*" && synh=[case!~"gen"]]); | |
7495 | +Eval: group(NG2,2,2); | |
7496 | + | |
7497 | + | |
7498 | +Rule "NG2: NG + NG(gen) nie przed NG(gen) i nie przed koordynacją (2)" | |
7499 | + | |
7500 | +Left: ([synh=[base!~"mistrzostwo|rekord|ułatwienie|order|puchar"]] | sb | [pos~".*"]); | |
7501 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb" && synh=[base!~"co|on|ja|ty|my|wy|siebie|to"]] | |
7502 | + ([type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"gen" && base!~"co|on|ja|ty|my|wy|siebie|nic"]] | [type="NGadres" && synh=[pos~"Brev"]]); | |
7503 | +Right: (se | (ns [orth~","] ([pos!~"Conj"] | [type=".*" && synh=[case!~"gen"]])) | (ns [orth!~","]) | ([pos~"Conj"] [type=".*" && synh=[case!~"gen"]]) | [pos!~"Conj"] | [type=".*" && synh=[case!~"gen"]]); | |
7504 | +Eval: group(NG2,2,2); | |
7505 | + | |
7506 | + | |
7507 | +Rule "NG2: NG + NG(dat)" | |
7508 | + | |
7509 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb" && synh=[base~"kwota|uświadomić|służba|czytanie|psycholog|zapobieżenie|przypomnienie|pomoc|wyobrażenie|przekazać|przeciwstawić się|radzić|zbiorowość|sprzeniewierzać się|zapobieganie|ofiara|konferencja|wierność|udzielić|czynić|zawód|umożliwić|chwała|raj|poddany"]] | |
7510 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"dat" && base!~"co|on|ja|ty|my|wy|siebie"]]; | |
7511 | +Right: (se | (ns [orth~","] ([pos!~"Conj"] | [type=".*" && synh=[case!~"dat"]])) | (ns [orth!~","]) | ([pos~"Conj"] [type=".*" && synh=[case!~"dat"]]) | [pos!~"Conj"] | [type=".*" && synh=[case!~"gen"]]); | |
7512 | +Eval: group(NG2,1,1); | |
7513 | + | |
7514 | + | |
7515 | +Rule "NG2: NG(Pact) + NG(acc)" | |
7516 | + | |
7517 | +Match: [type="AdjG|NGa" && synh=[base!~"który|jaki|co|siebie"]] | |
7518 | + [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"acc" && base!~"co|siebie"]]; | |
7519 | +Right: (se | (ns [orth~","] ([pos!~"Conj"] | [type=".*" && synh=[case!~"acc"]])) | (ns [orth!~","]) | ([pos~"Conj"] [type=".*" && synh=[case!~"acc"]]) | [pos!~"Conj"] | [type=".*" && synh=[case!~"gen"]]); | |
7520 | +Eval: group(NG2,1,1); | |
7521 | + | |
7522 | + | |
7523 | +Rule "NG2: NG + NG(inst)" | |
7524 | + | |
7525 | +Match: [type="NG|NGa" && synh=[base!~"co|on|ja|ty|my|wy|siebie|czas"]] | |
7526 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"inst" && base!~"co|ja|ty|my|wy|on|siebie|czas"]]; | |
7527 | +Right: (se | (ns [orth~","] ([pos!~"Conj"] | [type=".*" && synh=[case!~"inst"]])) | (ns [orth!~","]) | ([pos~"Conj"] [type=".*" && synh=[case!~"inst"]]) | [pos!~"Conj"] | [type=".*" && synh=[case!~"gen"]]); | |
7528 | +Eval: group(NG2,1,1); | |
7529 | + | |
7530 | + | |
7531 | +Rule "NG2: NG + NGl z cyframi" | |
7532 | + | |
7533 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb" && synh=[base!~"co|on|ja|ty|my|wy|siebie"]] | |
7534 | + [type="NGl"]; | |
7535 | +Eval: group(NG2,1,1); | |
7536 | + | |
7537 | +############################################# GRUPY SKOORDYNOWANE NG po NG2 | |
7538 | + | |
7539 | +Rule "NGk: NG(gen) + NG(gen)" | |
7540 | + | |
7541 | +Left: [type=".*"] [pos~"Conj"]?; | |
7542 | +Match: [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"gen"]] | |
7543 | + (([pos~"Conj"] | (ns? [orth~",|-|–|\+|/|:"] ns?) | (ns [orth~","] [pos~"Conj"])) | |
7544 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"gen"]])+; | |
7545 | +Eval: group(NGk,3,3); | |
7546 | + | |
7547 | +Rule "NGk: NG(dat) + NG(dat)" | |
7548 | + | |
7549 | +Left: [type=".*"] [pos~"Conj"]?; | |
7550 | +Match: [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"dat"]] | |
7551 | + (([pos~"Conj"] | (ns? [orth~",|-|–|\+|/|:"] ns?) | (ns [orth~","] [pos~"Conj"])) | |
7552 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"dat"]])+; | |
7553 | +Eval: group(NGk,3,3); | |
7554 | + | |
7555 | +Rule "NGk: NG(acc) + NG(acc)" | |
7556 | + | |
7557 | +Left: [type="AdjG|NGa"] [pos~"Conj"]?; | |
7558 | +Match: [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"acc"]] | |
7559 | + (([pos~"Conj"] | (ns? [orth~",|-|–|\+|/|:"] ns?) | (ns [orth~","] [pos~"Conj"])) | |
7560 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"acc"]])+; | |
7561 | +Eval: group(NGk,3,3); | |
7562 | + | |
7563 | +Rule "NGk: NG(inst) + NG(inst)" | |
7564 | + | |
7565 | +Left: [type=".*"] [pos~"Conj"]?; | |
7566 | +Match: [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"inst"]] | |
7567 | + (([pos~"Conj"] | (ns? [orth~",|-|–|\+|/|:"] ns?) | (ns [orth~","] [pos~"Conj"])) | |
7568 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb" && synh=[case~"inst"]])+; | |
7569 | +Eval: group(NGk,3,3); | |
7570 | + | |
7571 | +############################################# GRUPY NG2 Z GRUPAMI SKOORDYNOWANYMI | |
7572 | + | |
7573 | + | |
7574 | +Rule "NG2: NG + NGk(gen) + [NG(nom|gen|dat|inst)]" | |
7575 | + | |
7576 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb" && synh=[base~"odbywać|ozdabiać|wysycić|przywracać|zastąpić|dociążyć|wydawać|udzielić|udzielać|udostępniać|stawić|przekazać|zapewnić|utrudniać|oduczać|zafascynowanie|objąć|dociążyć|nadawanie"]] | |
7577 | + [type="NGk" && synh=[case~"gen" && base!~"co|siebie"]]; | |
7578 | +Right: [type=".*"]; | |
7579 | +Eval: group(NG2,1,1); | |
7580 | + | |
7581 | + | |
7582 | +Rule "NG2: [NG] + NG(gen) + NGk(dat) | NG + NG(dat) + [NG(gen)]" | |
7583 | + | |
7584 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb" && synh=[base~"przybliżenie|uchylić|przekazać|podać|wręczyć|nieść|przesłać|darować|darowanie"]] | |
7585 | + [type="NGk" && synh=[case~"dat" && base!~"co|siebie"]]; | |
7586 | +Right: [type=".*"]; | |
7587 | +Eval: group(NG2,1,1); | |
7588 | + | |
7589 | + | |
7590 | +Rule "NG2: [NG] + NG(gen) + NGk(inst) | NG + NGk(inst) + [NG(gen)]" | |
7591 | + | |
7592 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb" && synh=[base~"pomalować"]] | |
7593 | + [type="NGk" && synh=[case~"inst"]]; | |
7594 | +Right: [type=".*"]; | |
7595 | +Eval: group(NG2,1,1); | |
7596 | + | |
7597 | + | |
7598 | +Rule "NG2: NG + NGk(gen)" | |
7599 | + | |
7600 | +Left: ([synh=[base!~"mistrzostwo|rekord|ułatwienie|order|puchar"]] | sb | [pos~".*"]); | |
7601 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb" && synh=[base!~"co|on|ja|ty|my|wy|siebie"]] | |
7602 | + [type="NGk" && synh=[case~"gen"]]; | |
7603 | +Eval: group(NG2,2,2); | |
7604 | + | |
7605 | + | |
7606 | +Rule "NG2: NG + NGk(gen)(2)" | |
7607 | + | |
7608 | +Left: ([synh=[base!~"mistrzostwo|rekord|ułatwienie|order|puchar"]] | sb | [pos~".*"]); | |
7609 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb" && synh=[base!~"co|on|ja|ty|my|wy|siebie"]] | |
7610 | + [type="NGk" && synh=[case~"gen"]]; | |
7611 | +Eval: group(NG2,2,2); | |
7612 | + | |
7613 | + | |
7614 | +Rule "NG2: NG + NGk(dat)" | |
7615 | + | |
7616 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb" && synh=[base!~"obszar|rozdział|błogosławieństwo|ulegać|scena"]] | |
7617 | + [type="NGk" && synh=[case~"dat"]]; | |
7618 | +Eval: group(NG2,1,1); | |
7619 | + | |
7620 | + | |
7621 | +Rule "NG2: NG(Pact) + NGk(acc)" | |
7622 | + | |
7623 | +Match: [type="AdjG|NGa" && synh=[base~"koić|mieć|usuwać|przyjmować|zaburzać|organ|tłumaczyć|obejmować|bariera|dotyczyć"]] | |
7624 | + [type="NGk" && synh=[case~"acc"]]; | |
7625 | +Eval: group(NG2,1,1); | |
7626 | + | |
7627 | + | |
7628 | +Rule "NG2: NG + NGk(inst)" | |
7629 | + | |
7630 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb" && synh=[base~"handlować|kosz"]] | |
7631 | + [type="NGk" && synh=[case~"inst"]]; | |
7632 | +Eval: group(NG2,1,1); | |
7633 | + | |
7634 | + | |
7635 | +################################### NG2 W CUDZYSŁOWACH | |
7636 | + | |
7637 | +Rule "NG2 w cudzysłowie" | |
7638 | + | |
7639 | +Match: [orth~"„|“|”|\"|'|»"] ns? | |
7640 | + [type="NG2" && synh=[orth~"[a-zćłśźżó].*"]] ns? | |
7641 | + [orth~"”|’’|\"|'|“|«"]; | |
7642 | +Eval: group(NG2,3,3); | |
7643 | + | |
7644 | +######################################################### GRUPY NG3 | |
7645 | + | |
7646 | + | |
7647 | +Rule "NG3: NG2 + NG (gen)" | |
7648 | + | |
7649 | +Match: [type="NG2"] | |
7650 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[case~"gen" && base!~"co|on|ja|ty|my|wy|siebie"]]; | |
7651 | +Right: (se | (ns [orth~","] ([pos!~"Conj"] | [type=".*" && synh=[case!~"gen"]])) | (ns [orth!~","]) | ([pos~"Conj"] [type=".*" && synh=[case!~"gen"]]) | [pos!~"Conj"] | [type=".*" && synh=[case!~"gen"]]); | |
7652 | +Eval: group(NG3,1,1); | |
7653 | + | |
7654 | +Rule "NG3: NG2 + NG(dat)" | |
7655 | + | |
7656 | +Match: [type="NG2"] | |
7657 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[case~"dat" && base!~"co|on|ja|ty|my|wy|siebie"]]; | |
7658 | +Right: (se | (ns [orth~","] ([pos!~"Conj"] | [type=".*" && synh=[case!~"dat"]])) | (ns [orth!~","]) | ([pos~"Conj"] [type=".*" && synh=[case!~"dat"]]) | [pos!~"Conj"] | [type=".*" && synh=[case!~"gen"]]); | |
7659 | +Eval: group(NG3,1,1); | |
7660 | + | |
7661 | +Rule "NG3: NG2 + NG(inst)" | |
7662 | + | |
7663 | +Match: [type="NG2"] | |
7664 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[case~"inst" && base!~"co|on|ja|ty|my|wy|siebie"]]; | |
7665 | +Right: (se | (ns [orth~","] ([pos!~"Conj"] | [type=".*" && synh=[case!~"inst"]])) | (ns [orth!~","]) | ([pos~"Conj"] [type=".*" && synh=[case!~"inst"]]) | [pos!~"Conj"] | [type=".*" && synh=[case!~"gen"]]); | |
7666 | +Eval: group(NG3,1,1); | |
7667 | + | |
7668 | + | |
7669 | +Rule "NG3: NG + NG2(gen)" | |
7670 | + | |
7671 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[base!~"co|on|ja|ty|my|wy|siebie"]] | |
7672 | + [type="NG2" && synh=[case~"gen"]]; | |
7673 | +Eval: group(NG3,1,1); | |
7674 | + | |
7675 | + | |
7676 | +Rule "NG3: NG + NG2(acc)" | |
7677 | + | |
7678 | +Match: [type="NGa|AdjG" && synh=[base!~"który|jaki|co|siebie"]] | |
7679 | + [type="NG2" && synh=[case~"acc"]]; | |
7680 | +Eval: group(NG3,1,1); | |
7681 | + | |
7682 | + | |
7683 | +Rule "NG3: NG + NG2(inst)" | |
7684 | + | |
7685 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[base~"uczeń|zarządzać|azbest|sterować|nauczać|manipulować|uczulenie|osoba|środowisko|chodzić|twarz|objąć|badanie|wstrząs|żonglerka|zainteresowanie|tydzień|napięcie|odkaszlnąć|sygnał|istota|sztych"]] | |
7686 | + [type="NG2" && synh=[case~"inst"]]; | |
7687 | +Eval: group(NG3,1,1); | |
7688 | + | |
7689 | +Rule "NG3: NG + NG(gen) + NG(gen)" | |
7690 | + | |
7691 | +Match: [type="NG" && synh=[base~"mistrzostwo|order|rekord|puchar"]] | |
7692 | + [type="NG" && synh=[case~"gen"]] | |
7693 | + [type="NG|NGa" && synh=[case~"gen"]]; | |
7694 | +Eval: group(NG3,1,1); | |
7695 | + | |
7696 | +############################################# GRUPY SKOORDYNOWANE NG po NG3 | |
7697 | + | |
7698 | +Rule "NGk: NG(2)(gen) + NG(2)(gen)" | |
7699 | + | |
7700 | +Left: [type=".*"] [pos~"Conj"]?; | |
7701 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[case~"gen"]] | |
7702 | + (([pos~"Conj"] | (ns? [orth~",|-|–|\+|/|:"] ns?) | (ns [orth~","] [pos~"Conj"])) | |
7703 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[case~"gen"]])+; | |
7704 | +Eval: group(NGk,3,3); | |
7705 | + | |
7706 | +Rule "NGk: NG(2)(dat) + NG(2)(dat)" | |
7707 | + | |
7708 | +Left: [type=".*"] [pos~"Conj"]?; | |
7709 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[case~"dat"]] | |
7710 | + (([pos~"Conj"] | (ns? [orth~",|-|–|\+|/|:"] ns?) | (ns [orth~","] [pos~"Conj"])) | |
7711 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[case~"dat"]])+; | |
7712 | +Eval: group(NGk,3,3); | |
7713 | + | |
7714 | +Rule "NGk: NG(2)(acc) + NG(2)(acc)" | |
7715 | + | |
7716 | +Left: [type="AdjG|NGa"] [pos~"Conj"]?; | |
7717 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[case~"acc"]] | |
7718 | + (([pos~"Conj"] | (ns? [orth~",|-|–|\+|/|:"] ns?) | (ns [orth~","] [pos~"Conj"])) | |
7719 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[case~"acc"]])+; | |
7720 | +Eval: group(NGk,3,3); | |
7721 | + | |
7722 | +Rule "NGk: NG(2)(inst) + NG(2)(inst)" | |
7723 | + | |
7724 | +Left: [type=".*"] [pos~"Conj"]?; | |
7725 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[case~"inst"]] | |
7726 | + (([pos~"Conj"] | (ns? [orth~",|-|–|\+|/|:"] ns?) | (ns [orth~","] [pos~"Conj"])) | |
7727 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[case~"inst"]])+; | |
7728 | +Eval: group(NGk,3,3); | |
7729 | + | |
7730 | +######################################################## GRUPY NG3 Z GRUPAMI SKOORDYNOWANYMI | |
7731 | + | |
7732 | + | |
7733 | +Rule "NG3: NGk + NG (gen)" | |
7734 | + | |
7735 | +Match: [type="NGk"] | |
7736 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[case~"gen" && base!~"co|on|ja|ty|my|wy|siebie"]]; | |
7737 | +Eval: group(NG3,1,1); | |
7738 | + | |
7739 | +Rule "NG3: NGk + NG(dat)" | |
7740 | + | |
7741 | +Match: [type="NGk"] | |
7742 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[case~"dat" && base!~"co|on|ja|ty|my|wy|siebie"]]; | |
7743 | +Eval: group(NG3,1,1); | |
7744 | + | |
7745 | +Rule "NG3: NGk + NG(inst)" | |
7746 | + | |
7747 | +Match: [type="NGk"] | |
7748 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[case~"inst" && base!~"co|on|ja|ty|my|wy|siebie"]]; | |
7749 | +Eval: group(NG3,1,1); | |
7750 | + | |
7751 | + | |
7752 | +Rule "NG3: NG + NGk(gen)" | |
7753 | + | |
7754 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[base!~"co|on|ja|ty|my|wy|siebie"]] | |
7755 | + [type="NGk" && synh=[case~"gen"]]; | |
7756 | +Eval: group(NG3,1,1); | |
7757 | + | |
7758 | + | |
7759 | +Rule "NG3: NG + NGk(acc)" | |
7760 | + | |
7761 | +Match: [type="NGa|AdjG" && synh=[base!~"który|jaki|co|siebie"]] | |
7762 | + [type="NGk" && synh=[case~"acc"]]; | |
7763 | +Eval: group(NG3,1,1); | |
7764 | + | |
7765 | + | |
7766 | +Rule "NG3: NG + NGk(inst)" | |
7767 | + | |
7768 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[base!~"co|on|ja|ty|my|wy|siebie"]] | |
7769 | + [type="NGk" && synh=[case~"inst"]]; | |
7770 | +Eval: group(NG3,1,1); | |
7771 | + | |
7772 | +################################### NG3 W CUDZYSŁOWACH | |
7773 | + | |
7774 | +Rule "NG3 w cudzysłowie" | |
7775 | + | |
7776 | +Match: [orth~"„|“|”|\"|'|»"] ns? | |
7777 | + [type="NG3" && synh=[orth~"[a-zćłśźżó].*"]] ns? | |
7778 | + [orth~"”|’’|\"|'|“|«"]; | |
7779 | +Eval: group(NG3,3,3); | |
7780 | + | |
7781 | +########################################################## GRUPY NG4 | |
7782 | + | |
7783 | +Rule "NG4: NG + NG3(gen)" | |
7784 | + | |
7785 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb|NG2|NG3" && synh=[base!~"co|on|ja|ty|my|wy|siebie"]] | |
7786 | + [type="NG3" && synh=[case~"gen"]]; | |
7787 | +Eval: group(NG4,1,1); | |
7788 | + | |
7789 | +Rule "NG4: NG + NG3(dat)" | |
7790 | + | |
7791 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb|NG2|NG3" && synh=[base!~"co|on|ja|ty|my|wy|siebie"]] | |
7792 | + [type="NG3" && synh=[case~"dat"]]; | |
7793 | +Eval: group(NG4,1,1); | |
7794 | + | |
7795 | + | |
7796 | +Rule "NG4: AdjG + NG3(acc)" | |
7797 | + | |
7798 | +Match: [type="NGa|AdjG" && synh=[base!~"który|jaki|co|siebie"]] | |
7799 | + [type="NG3" && synh=[case~"acc"]]; | |
7800 | +Eval: group(NG4,1,1); | |
7801 | + | |
7802 | +Rule "NG4: NG + NG3(inst)" | |
7803 | + | |
7804 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb|NG2|NG3" && synh=[base!~"co|on|ja|ty|my|wy|siebie"]] | |
7805 | + [type="NG3" && synh=[case~"inst"]]; | |
7806 | +Eval: group(NG4,1,1); | |
7807 | + | |
7808 | + | |
7809 | +############################################# GRUPY SKOORDYNOWANE NG po NG4 | |
7810 | + | |
7811 | +Rule "NGk: NG(3)(gen) + NG(3)(gen)" | |
7812 | + | |
7813 | +Left: [type=".*"] [pos~"Conj"]?; | |
7814 | +Match: [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2|NG3" && synh=[case~"gen"]] | |
7815 | + (([pos~"Conj"] | (ns? [orth~",|-|–|\+|/|:"] ns?) | (ns [orth~","] [pos~"Conj"])) | |
7816 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2|NG3" && synh=[case~"gen"]])+; | |
7817 | +Eval: group(NGk,3,3); | |
7818 | + | |
7819 | +Rule "NGk: NG(3)(dat) + NG(3)(dat)" | |
7820 | + | |
7821 | +Left: [type=".*"] [pos~"Conj"]?; | |
7822 | +Match: [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2|NG3" && synh=[case~"dat"]] | |
7823 | + (([pos~"Conj"] | (ns? [orth~",|-|–|\+|/|:"] ns?) | (ns [orth~","] [pos~"Conj"])) | |
7824 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2" && synh=[case~"dat"]])+; | |
7825 | +Eval: group(NGk,3,3); | |
7826 | + | |
7827 | +Rule "NGk: NG(3)(acc) + NG(3)(acc)" | |
7828 | + | |
7829 | +Left: [type="AdjG|NGa"] [pos~"Conj"]?; | |
7830 | +Match: [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2|NG3" && synh=[case~"acc"]] | |
7831 | + (([pos~"Conj"] | (ns? [orth~",|-|–|\+|/|:"] ns?) | (ns [orth~","] [pos~"Conj"])) | |
7832 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NG2|NG3" && synh=[case~"acc"]])+; | |
7833 | +Eval: group(NGk,3,3); | |
7834 | + | |
7835 | +Rule "NGk: NG(3)(inst) + NG(3)(inst)" | |
7836 | + | |
7837 | +Left: [type=".*"] [pos~"Conj"]?; | |
7838 | +Match: [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NumG|NG2|NG3" && synh=[case~"inst"]] | |
7839 | + (([pos~"Conj"] | (ns? [orth~",|-|–|\+|/|:"] ns?) | (ns [orth~","] [pos~"Conj"])) | |
7840 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NumG|NG2|NG3" && synh=[case~"inst"]])+; | |
7841 | +Eval: group(NGk,3,3); | |
7842 | + | |
7843 | + | |
7844 | +########################################################## GRUPY NG4 Z GRUPAMI SKOORDYNOWANYMI | |
7845 | + | |
7846 | +Rule "NG4: NG + NGk(gen)" | |
7847 | + | |
7848 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb|NG2|NG3" && synh=[base!~"co|on|ja|ty|my|wy|siebie"]] | |
7849 | + [type="NGk" && synh=[case~"gen"]]; | |
7850 | +Eval: group(NG4,1,1); | |
7851 | + | |
7852 | +Rule "NG4: NG + NGk(dat)" | |
7853 | + | |
7854 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb|NG2|NG3" && synh=[base!~"co|on|ja|ty|my|wy|siebie"]] | |
7855 | + [type="NGk" && synh=[case~"dat"]]; | |
7856 | +Eval: group(NG4,1,1); | |
7857 | + | |
7858 | + | |
7859 | +Rule "NG4: NG + NGk(acc)" | |
7860 | + | |
7861 | +Match: [type="NGa|AdjG" && synh=[base!~"który|jaki|co|siebie"]] | |
7862 | + [type="NGk" && synh=[case~"acc"]]; | |
7863 | +Eval: group(NG4,1,1); | |
7864 | + | |
7865 | +Rule "NG4: NG + NGk(inst)" | |
7866 | + | |
7867 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb|NG2|NG3" && synh=[base!~"co|on|ja|ty|my|wy|siebie"]] | |
7868 | + [type="NGk" && synh=[case~"inst"]]; | |
7869 | +Eval: group(NG4,1,1); | |
7870 | + | |
7871 | +############################################ NG4 W CUDZYSŁOWIE | |
7872 | + | |
7873 | +Rule "NG4 w cudzysłowie" | |
7874 | + | |
7875 | +Match: [orth~"„|“|”|\"|'|»"] ns? | |
7876 | + [type="NG4" && synh=[orth~"[a-zćłśźżó].*"]] ns? | |
7877 | + [orth~"”|’’|\"|'|“|«"]; | |
7878 | +Eval: group(NG4,3,3); | |
7879 | + | |
7880 | +####################################################### GRUPY NG5 | |
7881 | + | |
7882 | +Rule "NG5: NG + NG4" | |
7883 | + | |
7884 | +Match: [type="NG|NGadres|NGgodz|NGl|NGs|NGa|NGb|NG2|NG3|NG4" && synh=[base!~"co|on|ja|ty|my|wy|siebie"]] | |
7885 | + [type="NG4" && synh=[case~"gen"]]; | |
7886 | +Eval: group(NG5,1,1); | |
7887 | + | |
7888 | +Rule "NG5 w cudzysłowie" | |
7889 | + | |
7890 | +Match: [orth~"„|“|”|\"|'|»"] ns? | |
7891 | + [type="NG5" && synh=[orth~"[a-zćłśźżó].*"]] ns? | |
7892 | + [orth~"”|’’|\"|'|“|«"]; | |
7893 | +Eval: group(NG5,3,3); | |
7894 | + | |
7895 | +#################################################################################### KOORDYNACJE | |
7896 | + | |
7897 | +Rule "NGk: imię + imię + nazwisko(pl)" | |
7898 | + | |
7899 | +Match: [type="NGk" && synh=[base~"[A-ZŁŚŹŻĆÓ].*"]] | |
7900 | + [type="NG" && synh=[base~"[A-ZŁŚŹŻĆÓ].*" && number~"pl"]]; | |
7901 | +Eval: unify(case,1,2); | |
7902 | + group(NGk,1,1); | |
7903 | + | |
7904 | +Rule "NGk: NG + NG" | |
7905 | + | |
7906 | +Match: [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NumG|NG2|NG3|NG4|NG5"] | |
7907 | + (([base!~"ale|lecz|więc" && pos~"Conj"] | (ns? [orth~",|\+|/|:"] ns?) | (ns [orth~","] [base!~"ale|lecz|więc" && pos~"Conj"])) | |
7908 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NumG|NG2|NG3|NG4|NG5"])* | |
7909 | + ([base!~"ale|lecz|więc" && pos~"Conj"] | (ns? [orth~",|\+|/|:"] ns?) | (ns [orth~","] [base!~"ale|lecz|więc" && pos~"Conj"])) | |
7910 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NumG|NG2|NG3|NG4|NG5" && synh=[base!~"kto|co"]]; | |
7911 | +Eval: unify(case,1,4); | |
7912 | + group(NGk,1,1); | |
7913 | + | |
7914 | +Rule "NGk: coś jakieś i czegoś" | |
7915 | + | |
7916 | +Match: [type="NGa"] | |
7917 | + [base~"i"] | |
7918 | + [type="NGa" && synh=[case~"gen"]]; | |
7919 | +Eval: group(NGk,1,1); | |
7920 | + | |
7921 | +########################### SKOORDYNOWANE DATY | |
7922 | + | |
7923 | +Rule "Liczba + spójnik + NGdata" | |
7924 | + | |
7925 | +Match: [orth~"[0-9][0-9]?[-–]?[0-9]?[0-9]?"] (ns? [orth~"-"] ns? [orth~"[0-9][0-9]?"])? | |
7926 | + [base~"i" && pos~"Conj"] | |
7927 | + [type="NGdata"]; | |
7928 | +Eval: group(NGkdata,1,1); | |
7929 | + | |
7930 | +Rule "NG + spójnik + NGdata" | |
7931 | + | |
7932 | +Match: [type="NG" && synh=[base~"styczeń|luty|marzec|kwiecień|maj|czerwiec|lipiec|sierpień|wrzesień|październik|listopad|grudzień"]] | |
7933 | + [base~"i" && pos~"Conj"] | |
7934 | + [type="NGdata"]; | |
7935 | +Eval: unify(case,1,3); | |
7936 | + group(NGkdata,1,1); | |
7937 | + | |
7938 | +########################## SKOORDYNOWANE LICZEBNIKI | |
7939 | + | |
7940 | +Rule "Liczba + spójnik + NGl" | |
7941 | + | |
7942 | +Match: [orth~"[0-9][0-9]?[-–]?[0-9]?[0-9]?"] (ns? [orth~"-"] ns? [orth~"[0-9][0-9]?"])? | |
7943 | + [base~"i|lub" && pos~"Conj"] | |
7944 | + [type="NGl"]; | |
7945 | +Eval: group(NGkl,1,4); | |
7946 | + | |
7947 | +Rule "NGk w cudzysłowie" | |
7948 | + | |
7949 | +Match: [orth~"„|“|”|\"|'|»"] ns? | |
7950 | + [type="NGk" && synh=[orth~"[a-zćłśźżó].*"]] ns? | |
7951 | + [orth~"”|’’|\"|'|“|«"]; | |
7952 | +Eval: group(NGk,3,3); | |
7953 | + | |
7954 | + | |
7955 | + | |
7956 | +######################################################## ZDANIA WZGLĘDNE | |
7957 | + | |
7958 | +######################## ZDANIA WZGLĘDNE | |
7959 | + | |
7960 | +Rule "NG + który + Verbfin" | |
7961 | + | |
7962 | +Match: [type=".*"] ns [orth~","] [pos~"Prep"]? | |
7963 | + [type="AdjG" && synh=[base~"który|jaki"]] | |
7964 | + (ns | [] | [synh=[]])* | |
7965 | + [pos~"Verbfin"] | |
7966 | + ([pos!~"Verbfin"] | [synh=[]])*; | |
7967 | +Right: ns [orth~",|\."]; | |
7968 | +Eval: #unify(number gender,1,4); | |
7969 | + group(NGkg,1,1); | |
7970 | + | |
7971 | +Rule "NG + kto|co + Verbfin" | |
7972 | + | |
7973 | +Match: [synh=[base~"ten|to"]] ns [orth~","] [pos~"Prep"]? | |
7974 | + [synh=[base~"kto|co"]] | |
7975 | + (ns | [] | [synh=[]])* | |
7976 | + [pos~"Verbfin"] | |
7977 | + ([pos!~"Verbfin"] | [synh=[]])*; | |
7978 | +Right: ns [orth~",|\."]; | |
7979 | +Eval: #unify(number gender,1,4); | |
7980 | + group(NGkg,1,1); | |
7981 | + | |
7982 | + | |
7983 | +############################################# GRUPY SKOORDYNOWANE ZE ZDANIAMI WZGLĘDNYMI | |
7984 | + | |
7985 | +Rule "NGk: NG(kg) + NG(kg)" | |
7986 | + | |
7987 | +Match: [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NumG|NG2|NG3|NG4|NG5|NGkg"] | |
7988 | + (([pos~"Conj"] | (ns? [orth~",|-|–|\+|/|:"] ns?) | (ns [orth~","] [pos~"Conj"])) | |
7989 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NumG|NG2|NG3|NG4|NG5|NGkg"])* | |
7990 | + ([pos~"Conj"] | (ns? [orth~",|-|–|\+|/|:"] ns?) | (ns [orth~","] [pos~"Conj"])) | |
7991 | + [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NumG|NG2|NG3|NG4|NG5|NGkg"]; | |
7992 | +Eval: unify(case,1,4); | |
7993 | + group(NGk,1,1); | |
7994 | + | |
7995 | + | |
7996 | +########################################################## | |
7997 | +############################################ reguly z NKJP | |
7998 | + | |
7999 | +###########GRUPY SKŁADNIOWE | |
8000 | + | |
8001 | + | |
8002 | +Rule "PrepNGb: Prep + dol. rz. + nazwa (Noun)" | |
8003 | + | |
8004 | +Match: [pos~"Prep"] [base~"dolina" && pos~"Brev"] | |
8005 | + [base~"rzeka" && pos~"Brev"] | |
8006 | + [base~"[A-ZŻŁÓŚ].*" && pos~"Noun" && gender~"f" && case~~"gen"]; | |
8007 | +Eval: group(PrepNG,1,2); | |
8008 | + | |
8009 | + | |
8010 | +Rule "PrepNGb: Prep + jez. + nazwa (Noun)" | |
8011 | + | |
8012 | +Match: [pos~"Prep"] | |
8013 | + [base~"jezioro" && pos~"Brev"] | |
8014 | + [pos~"Noun" && case~~"nom" && base~"[A-ZŻŁÓŚ].*"]; | |
8015 | +Eval: group(PrepNG,1,2); | |
8016 | + | |
8017 | + | |
8018 | +Rule "PrepNGb: Prep + rz. + nazwa (Adj+Noun)" | |
8019 | + | |
8020 | +Match: [pos~"Prep"] | |
8021 | + [base~"rzeka" && pos~"Brev"] | |
8022 | + [base~"[A-ZŻŁÓŚ].*" && pos~"Adj" && gender~"f"] | |
8023 | + [base~"[A-ZŻŁÓŚ].*" && pos~"Noun" && gender~"f"]; | |
8024 | +Eval: unify(case,1,3,4); | |
8025 | + group(PrepNG,1,2); | |
8026 | + | |
8027 | + | |
8028 | +Rule "PrepNGb: Prep + m. + nazwa (Noun)" | |
8029 | + | |
8030 | +Match: [pos~"Prep"] | |
8031 | + [base~"miasto" && pos~"Brev"] | |
8032 | + [base~"[A-ZŻŁÓŚ].*" && pos~"Noun" && gender~"m3"]; | |
8033 | +Eval: unify(case,1,3); | |
8034 | + group(PrepNG,1,2); | |
8035 | + | |
8036 | + | |
8037 | +Rule "PrepNG: Prep + skrót + nazwa" | |
8038 | + | |
8039 | +Match: [pos~"Prep"] $instytucja | |
8040 | + ([pos~"Noun" && case~~"nom" && base~"[A-ZŁŚŻ].*"] | | |
8041 | + [pos~"Noun" && case~~"nom" && base~"\"[A-ZŁŚŻ].*"]); | |
8042 | +Eval: group(PrepNG,1,2); | |
8043 | + | |
8044 | + | |
8045 | +Rule "PrepNG: Noun + temu" | |
8046 | + | |
8047 | +Match: ([pos~"Noun"] | [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NumG|NG2|NG3|NG4|NG5|NGkg"]) | |
8048 | + [base~~"temu" && pos~~"Prep"]; | |
8049 | +Eval: unify(case,1,2); | |
8050 | + group(PrepNG,2,1); | |
8051 | + | |
8052 | + | |
8053 | +Rule "PrepNG: Prep + którego + NG" | |
8054 | + | |
8055 | +Match: [pos~~"Prep"] | |
8056 | + [base~"który" && case~"gen"] | |
8057 | + ([pos~~"Noun"] | [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NumG|NG2|NG3|NG4|NG5|NGkg"]); | |
8058 | +Eval: unify(case,1,3); | |
8059 | + unify(number gender,2,3); | |
8060 | + group(PrepNG,1,3); | |
8061 | + | |
8062 | + | |
8063 | +Rule "PrepNG: Prep + NG + którego" | |
8064 | + | |
8065 | +Match: [pos~~"Prep"] | |
8066 | + ([pos~~"Noun"] | [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NumG|NG2|NG3|NG4|NG5|NGkg"]) | |
8067 | + [base~"który" && case~"gen"]; | |
8068 | +Eval: unify(case,1,2); | |
8069 | + unify(number gender,2,3); | |
8070 | + group(PrepNG,1,2); | |
8071 | + | |
8072 | + | |
8073 | +Rule "PrepNG: Prep + NG" | |
8074 | + | |
8075 | +Match: [pos~~"Prep"] | |
8076 | + ([pos~~"Noun"] | [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NumG|NG2|NG3|NG4|NG5|NGkg"]); | |
8077 | +Eval: unify(case,1,2); | |
8078 | + group(PrepNG,1,2); | |
8079 | + | |
8080 | + | |
8081 | +Rule "PrepNG: Prep + art. + liczba" | |
8082 | + | |
8083 | +Match: [pos~~"Prep"] [base~"artykuł"] [pos~"Adj" && orth~"[1-9][0-9]*"] | |
8084 | + (ns [base~"\."])? [pos~~"Noun" && case~"gen"]; | |
8085 | +Eval: group(PrepNG,1,2); | |
8086 | + | |
8087 | + | |
8088 | +Rule "PrepNG: Prep + Adj + Brev(ADJ) + NG" | |
8089 | + | |
8090 | +Match: [pos~~"Prep"] [pos~~"Adj"] | |
8091 | + [pos~"Brev" && brev_pos~~"ADJ|AdjG"] | |
8092 | + ([pos~~"Noun"] | [type="NG|NGadres|NGdata|NGgodz|NGl|NGs|NGa|NGb|NumG|NG2|NG3|NG4|NG5|NGkg"]); | |
8093 | +Eval: unify(case number gender,2,4); | |
8094 | + unify(case,1,4); | |
8095 | + group(PrepNG,1,4); | |
8096 | + | |
8097 | + | |
8098 | +Rule "grupa PrepNG w cudzysłowie" | |
8099 | + | |
8100 | +Match: [orth~"\""] ns [type="PrepNG"] ns [orth~"\""]; | |
8101 | +Eval: group(PrepNG,3,3); | |
8102 | + | |
8103 | + | |
... | ... |
src/main/resources/spejd_config/sample.cfg
0 → 100644
1 | +# Config file format for shallow parser | |
2 | + | |
3 | +[ATTR] | |
4 | + | |
5 | +# Attributes and their values | |
6 | + | |
7 | +number = sg pl | |
8 | +case = nom gen dat acc inst loc voc | |
9 | +gender = m1 m2 m3 f n | |
10 | +person = pri sec ter | |
11 | +degree = pos com sup | |
12 | +tense = pres past fut | |
13 | +mood = ind imp cond | |
14 | +reflexivity = refl nrefl | |
15 | +aspect = imperf perf | |
16 | +negation = aff neg | |
17 | +accommodability = congr rec | |
18 | +accentability = akc nakc | |
19 | +post-prepositionality = npraep praep | |
20 | +agglutination = agl nagl | |
21 | +vocalicity = nwok wok | |
22 | +fullstoppedness = pun npun | |
23 | +brev_pos = NOUN ADJ ADV QUB PREP CONJ VERB PPAS PACT XXX NG PrepNG AdjG DisG | |
24 | +cont = discr ndiscr | |
25 | + | |
26 | + | |
27 | +[POS] | |
28 | + | |
29 | +# Part of speech definitions. | |
30 | + | |
31 | +adja = | |
32 | +adjp = | |
33 | +adjc = | |
34 | +conj = | |
35 | +comp = | |
36 | +interp = | |
37 | +pred = | |
38 | +xxx = | |
39 | +adv = [degree] | |
40 | +imps = aspect | |
41 | +inf = aspect | |
42 | +pant = aspect | |
43 | +pcon = aspect | |
44 | +qub = [vocalicity] | |
45 | +prep = case [vocalicity] | |
46 | +siebie = case | |
47 | +subst = number case gender | |
48 | +depr = number case gender | |
49 | +ger = number case gender aspect negation | |
50 | +ppron12 = number case gender person [accentability] | |
51 | +ppron3 = number case gender person accentability post-prepositionality | |
52 | +num = number case gender accommodability | |
53 | +numcol = number case gender accommodability | |
54 | +adj = number case gender degree | |
55 | +pact = number case gender aspect negation | |
56 | +ppas = number case gender aspect negation | |
57 | +winien = number gender aspect | |
58 | +praet = number gender aspect [agglutination] | |
59 | +bedzie = number person aspect | |
60 | +fin = number person aspect | |
61 | +impt = number person aspect | |
62 | +aglt = number person aspect vocalicity | |
63 | +brev = fullstoppedness | |
64 | +burk = | |
65 | +interj = | |
66 | +ign = | |
67 | + | |
68 | +# Syntactic words | |
69 | + | |
70 | +Adjc = | |
71 | +Conj = | |
72 | +Conj1 = [cont] | |
73 | +Conj2 = [cont] | |
74 | +Conj3 = [cont] | |
75 | +Conj4 = [cont] | |
76 | +Comp = | |
77 | +Comp1 = [cont] | |
78 | +Comp2 = [cont] | |
79 | +Interj = | |
80 | +Interp = | |
81 | +Qub = [vocalicity] | |
82 | +Xxx = | |
83 | +Adv = [degree] | |
84 | +Imps = mood aspect reflexivity negation | |
85 | +Inf = aspect reflexivity negation | |
86 | +Pant = aspect reflexivity negation | |
87 | +Pcon = aspect reflexivity negation | |
88 | +Prep = case [vocalicity] | |
89 | +Siebie = case | |
90 | +Noun = number case gender [aspect] [reflexivity] [negation] | |
91 | +Ppron12 = number case gender person [accentability] | |
92 | +Ppron3 = number case gender person accentability post-prepositionality | |
93 | +Num = number case gender accommodability | |
94 | +Numcol = number case gender accommodability | |
95 | +Adj = number case gender degree | |
96 | +Adj-se = number case gender degree | |
97 | +Pact = number case gender aspect reflexivity negation | |
98 | +Ppas = number case gender aspect reflexivity negation | |
99 | +Verbfin = number person tense mood aspect reflexivity negation [gender] | |
100 | +Winien = number person gender tense mood aspect reflexivity negation | |
101 | +Pred = tense mood aspect negation | |
102 | +Brev = fullstoppedness brev_pos | |
103 | +Brev-se = fullstoppedness brev_pos | |
104 | + | |
105 | + | |
106 | +# Named Entities (of sorts): | |
107 | + | |
108 | +liczba = | |
109 | +#waluta = | |
110 | + | |
... | ... |