
org.languagetool.resource.uk.disambiguation.xml Maven / Gradle / Ivy
<?xml version="1.0" encoding="utf-8"?> <!-- Ukrainian Disambiguation Rules for LanguageTool (www.languagetool.org) Copyright (C) 2013 Andriy Rysin --> <rules lang="uk" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/resource/disambiguation.xsd"> <unification feature="gender"> <equivalence type="f"> <token postag="(noun|adj|numr).*?:f:.*|noun:anim:s:v_...:&pron:pers:[21]" postag_regexp="yes" /> </equivalence> <equivalence type="m"> <token postag="(noun|adj|numr).*?:m:.*|noun:anim:s:v_...:&pron:pers:[21]" postag_regexp="yes" /> </equivalence> <equivalence type="n"> <token postag="(noun|adj|numr).*?:n:.*" postag_regexp="yes" /> </equivalence> <equivalence type="pl"> <token postag="(noun|adj|numr).*?:p:.*" postag_regexp="yes" /> </equivalence> </unification> <unification feature="case"> <equivalence type="v_naz"> <token postag="(noun|adj|numr).*?:v_naz.*" postag_regexp="yes"/> </equivalence> <equivalence type="v_rod"> <token postag="(noun|adj|numr).*?:v_rod.*" postag_regexp="yes"/> </equivalence> <equivalence type="v_dav"> <token postag="(noun|adj|numr).*?:v_dav.*" postag_regexp="yes"/> </equivalence> <equivalence type="v_zna_ranim"> <token postag="noun:(un)?anim:.:v_zna.*|adj:.:v_zna(?!:rinanim).*|numr:.:v_zna.*" postag_regexp="yes"/> </equivalence> <equivalence type="v_zna_rinanim"> <token postag="noun:[iu]nanim:.:v_zna.*|adj:.:v_zna(?!:ranim).*|numr:.:v_zna.*" postag_regexp="yes"/> </equivalence> <equivalence type="v_oru"> <token postag="(noun|adj|numr).*?:v_oru.*" postag_regexp="yes"/> </equivalence> <equivalence type="v_mis"> <token postag="(noun|adj|numr).*?:v_mis.*" postag_regexp="yes"/> </equivalence> <equivalence type="v_kly"> <token postag="(noun|adj|numr).*?:v_kly.*" postag_regexp="yes"/> </equivalence> </unification> <!-- category: symbols --> <rule name="Кирилічна цифра I" id="сyrillic_digit_I"> <pattern> <token postag_regexp="yes" postag="noun:anim:.*?fname.*"/> <marker> <token case_sensitive="yes">І</token> </marker> </pattern> <disambig postag="number:latin:bad" /> <example type="ambiguous" inputform="І[</S>,і/conj:coord,і/part]" outputform="І[</S>,і/number:latin:bad]">Петром <marker>І</marker> </example> <example type="untouched">НАЦІЯ І НАРОД</example> <example type="untouched">І все</example> </rule> <rule name="Кирилічна цифра I" id="сyrillic_digit_I_2"> <pattern> <marker> <token case_sensitive="yes">І</token> </marker> <token>ст.</token> </pattern> <disambig postag="number:latin:bad" /> <example type="ambiguous" inputform="І[і/conj:coord,і/part]" outputform="І[і/number:latin:bad]">у <marker>І</marker> ст.</example> <example type="untouched">НАЦІЯ І НАРОД</example> <example type="untouched">І все</example> </rule> <rule name="Кирилічна цифра I" id="сyrillic_digit_I_3"> <pattern> <token postag_regexp="yes" postag="prep.*"/> <marker> <token case_sensitive="yes">І <exception scope="next" regexp="yes">\.|[А-ЯІЇЄҐ'-]+</exception> </token> </marker> </pattern> <disambig postag="number:latin:bad" /> <example type="ambiguous" inputform="І[і/conj:coord,і/part]" outputform="І[і/number:latin:bad]">у <marker>І</marker> кварталі</example> <example type="untouched">НАЦІЯ І НАРОД</example> <example type="untouched">І все</example> <example type="untouched">коли ми з І.</example> <example type="untouched">ЗА І ПРОТИ</example> </rule> <rule name="Літери у списках - noninfl 2" id="letters_in_lists_noninfl_2"> <pattern> <marker> <token regexp="yes">[а-кА-К] <exception scope="previous" regexp="yes">.*[а-яіїєґА-ЯІЇЄҐ0-9].*</exception> </token> </marker> <token spacebefore="no">)</token> </pattern> <disambig postag="noninfl" /> <example type="ambiguous" inputform="в[в/prep]" outputform="в[в/noninfl]"><marker>в</marker>) третій пункт</example> <example type="ambiguous" inputform="а[а/conj:coord,а/intj,а/part]" outputform="а[а/noninfl]"> <marker>а</marker>)</example> <example type="untouched">(я воно і є)</example> <example type="untouched">(символ: і)</example> <example type="untouched">(23 г)</example> </rule> <rule name="Номер_пункту" id="POINT_NUMBER"> <pattern> <token regexp="yes" inflected="yes">номер|будинок|[№§/]</token> <marker> <token regexp="yes">[0-9]+-[а-жєґ]</token> </marker> </pattern> <disambig action="replace"><wd pos="noninfl"/></disambig> <example type="ambiguous" inputform="17-а[17-й/adj:f:v_naz:&numr]" outputform="17-а[17-а/noninfl]">будинок номер <marker>17-а</marker>.</example> <example type="ambiguous" inputform="17-а[17-й/adj:f:v_naz:&numr]" outputform="17-а[17-а/noninfl]">№50/<marker>17-а</marker>.</example> <!-- <example type="ambiguous" inputform="17-а[17-й/adj:f:v_naz:&numr]" outputform="17-а[17-а/noninfl]">З № <marker>17-а</marker>.</example> --> <example type="untouched">17-а сторінка.</example> </rule> <rule name="Номер_будинку 0" id="house_numbers_noninfl_0"> <pattern> <token regexp="yes" inflected="yes">вулиця|вул\.</token> <token case_sensitive="yes" regexp="yes" max="2">[А-ЯІЇЄҐ].*</token> <token min="0">,</token> <marker> <token regexp="yes">[0-9]+-[а-жєґ]</token> </marker> </pattern> <disambig action="replace"><wd pos="noninfl"/></disambig> <example type="ambiguous" inputform="17-а[17-й/adj:f:v_naz:&numr]" outputform="17-а[17-а/noninfl]">На вул. Рубчака <marker>17-а</marker>.</example> <example type="ambiguous" inputform="45-а[45-й/adj:f:v_naz:&numr]" outputform="45-а[45-а/noninfl]">вул. Чорновола, <marker>45-а</marker> згорів</example> <example type="untouched">Головна 45-а бригада</example> <example type="untouched">17-а сторінка.</example> </rule> <rule name="Номер будинку - 1" id="house_numbers_noninfl_1"> <pattern> <token case_sensitive="yes" regexp="yes">[А-ЯІЇЄҐ][а-яіїєґ']{4,15}([-–][А-ЯІЇЄҐ][а-яіїєґ']{4,15})?</token> <token>,</token> <marker> <token regexp="yes">[0-9]{1,3}[-–][а-жєґ]</token> </marker> <token regexp="yes">[,.;:)»]</token> </pattern> <disambig action="replace"><wd pos="noninfl"/></disambig> <example type="ambiguous" inputform="45-а[45-й/adj:f:v_naz:&numr]" outputform="45-а[45-а/noninfl]">Чорновола, <marker>45-а</marker>.</example> <example type="ambiguous" inputform="42-а[42-й/adj:f:v_naz:&numr]" outputform="42-а[42-а/noninfl]">– Хрещатик, <marker>42-а</marker>)</example> <example type="untouched">Головна 45-а бригада</example> </rule> <!-- category: subst, alt, arch --> <rule name="Паралельні погані форми -ій" id="parallel_bad_forms_iy"> <pattern> <marker> <!-- правильно: (з)воротний, народний, природний, бездвірний, зворотний, заможний, заробітний, пружний забу́тній/забутни́й але дорожній, дочірній, незабутній --> <token postag_regexp="yes" postag="adj(?!.*:bad).*" regexp="yes">.*(воротн|двірн|дорожн|додатн|забутн|заможн|західн|заробітн|народн|погодн|поздовжн|приватн|порожн|природн|пружн|самотн|старожитн|сухопутн|східн|великодн)(і[йм]?)</token> </marker> </pattern> <disambig action="remove" postag="adj.*?:bad.*" /> <example type="ambiguous" inputform="природній[природний/adj:f:v_dav:compb,природній/adj:f:v_dav:bad,природній/adj:m:v_kly:bad,природній/adj:m:v_naz:bad,природній/adj:m:v_zna:rinanim:bad]" outputform="природній[природний/adj:f:v_dav:compb]">І <marker>природній</marker> силі.</example> <example type="ambiguous" inputform="дорожній[дорожний/adj:f:v_dav:bad,дорожний/adj:f:v_mis:bad,дорожній/adj:f:v_dav,дорожній/adj:f:v_mis,дорожній/adj:m:v_kly,дорожній/adj:m:v_naz,дорожній/adj:m:v_zna:rinanim]" outputform="дорожній[дорожній/adj:f:v_dav,дорожній/adj:f:v_mis,дорожній/adj:m:v_kly,дорожній/adj:m:v_naz,дорожній/adj:m:v_zna:rinanim]">на <marker>дорожній</marker> розмітці.</example> <example type="untouched">природня</example> <example type="untouched">І природнім</example> <example type="untouched">дорожному</example> </rule> <rule name="Паралельні альтернативні форми з малої" id="parallel_alt_forms_small_prop"> <pattern> <marker> <and> <token case_sensitive="yes" inflected="yes" regexp="yes" postag_regexp="yes" postag="noun.*prop.*alt">[а-яіїєґ].*</token> <token case_sensitive="yes" inflected="yes" regexp="yes" postag_regexp="yes" postag="noun.*prop.*">[А-ЯІЇЄҐ].*</token> </and> </marker> </pattern> <disambig action="remove" postag="noun:.*?prop.*?:alt" /> <example type="ambiguous" inputform="Росію[Росія/noun:inanim:f:v_zna:prop:geo,росія/noun:inanim:f:v_zna:prop:geo:alt]" outputform="Росію[Росія/noun:inanim:f:v_zna:prop:geo]">на <marker>Росію</marker>.</example> <example type="ambiguous" inputform="Москву-ріку[Москва-ріка/noun:inanim:f:v_zna:prop:geo,москва-ріка/noun:inanim:f:v_zna:prop:geo:alt]" outputform="Москву-ріку[Москва-ріка/noun:inanim:f:v_zna:prop:geo]">на <marker>Москву-ріку</marker>.</example> <example type="ambiguous" inputform="УКРАЇНУ[Україна/noun:inanim:f:v_zna:prop:geo,україна/noun:inanim:f:v_zna:prop:geo:alt,україна/noun:inanim:f:v_zna:prop:geo:alt]" outputform="УКРАЇНУ[Україна/noun:inanim:f:v_zna:prop:geo]">на <marker>УКРАЇНУ</marker>.</example> <example type="untouched">на росію</example> </rule> <rule name="Архаїчні форми" id="archaich_words"> <pattern> <marker> <token postag_regexp="yes" postag="verb.*arch.*" inflected="yes" regexp="yes">.*постити</token> </marker> </pattern> <disambig action="remove" postag="verb.*arch.*" /> <example type="ambiguous" inputform="запостив[запостити/verb:perf:past:m:arch:xp2,запостити/verb:perf:past:m:slang:xp1]" outputform="запостив[запостити/verb:perf:past:m:slang:xp1]">він <marker>запостив</marker> у ФБ.</example> <example type="untouched">капостити</example> </rule> <rule name="Злісний - rare" id="zlisnyi_noun_rare"> <pattern> <marker> <and> <token postag_regexp="yes" postag="adj.*" inflected="yes">злісний</token> <token postag_regexp="yes" postag="noun:anim.*" inflected="yes">злісний</token> </and> </marker> </pattern> <disambig action="filter" postag="adj.*" /> <example type="ambiguous" inputform="злісного[злісний/adj:m:v_rod:compb,злісний/adj:m:v_zna:ranim:compb,злісний/adj:n:v_rod:compb,злісний/noun:anim:m:v_rod:arch,злісний/noun:anim:m:v_zna:arch]" outputform="злісного[злісний/adj:m:v_rod:compb,злісний/adj:m:v_zna:ranim:compb,злісний/adj:n:v_rod:compb]">І <marker>злісного</marker> мотиву.</example> <example type="untouched">злісна</example> </rule> <rule name="Квартальний - rare" id="kvartalnyi_noun_rare"> <pattern> <marker> <and> <token postag_regexp="yes" postag="adj.*" inflected="yes">квартальний</token> <token postag_regexp="yes" postag="noun:anim.*" inflected="yes">квартальний</token> </and> </marker> </pattern> <disambig action="filter" postag="adj.*" /> <example type="ambiguous" inputform="квартального[квартальний/adj:m:v_rod,квартальний/adj:m:v_zna:ranim,квартальний/adj:n:v_rod,квартальний/noun:anim:m:v_rod:arch,квартальний/noun:anim:m:v_zna:arch]" outputform="квартального[квартальний/adj:m:v_rod,квартальний/adj:m:v_zna:ranim,квартальний/adj:n:v_rod]">І <marker>квартального</marker> звіту.</example> <example type="untouched">ква</example> </rule> <rule name="Лісний - rare" id="lisnyi_rare"> <pattern> <marker> <and> <token postag_regexp="yes" postag="adj.*" inflected="yes">лісний</token> <token postag_regexp="yes" postag="noun:anim.*" inflected="yes">лісний</token> </and> </marker> </pattern> <disambig action="filter" postag="adj.*" /> <example type="ambiguous" inputform="лісного[лісний/adj:m:v_rod,лісний/adj:m:v_zna:ranim,лісний/adj:n:v_rod,лісний/noun:anim:m:v_rod:arch,лісний/noun:anim:m:v_zna:arch]" outputform="лісного[лісний/adj:m:v_rod,лісний/adj:m:v_zna:ranim,лісний/adj:n:v_rod]">І <marker>лісного</marker> масиву.</example> <example type="untouched">ква</example> </rule> <!-- category: v_zna for anim --> <rule name="Знахідний для осіб лише після в/у" id="anim_v_zna_rare"> <antipattern> <token regexp="yes">[ву]|на|між|меж[іи]</token> <token regexp="yes" min="0">його|її|їх</token> <token postag_regexp="yes" postag="adj:p:v_zna:rinanim(?!.*pron).*" min="0" max="2"> <exception postag_regexp="yes" postag="noun:anim:p:v_zna.*:rare.*" /> </token> <token postag_regexp="yes" postag="noun:anim:p:v_zna.*:rare.*" /> </antipattern> <pattern> <marker> <token postag_regexp="yes" postag="noun:anim:p:v_zna.*:rare.*" /> </marker> </pattern> <disambig action="remove" postag="noun:anim:p:v_zna.*:rare.*" /> <example type="ambiguous" inputform="президенти[президент/noun:anim:p:v_kly,президент/noun:anim:p:v_naz,президент/noun:anim:p:v_zna:rare]" outputform="президенти[президент/noun:anim:p:v_kly,президент/noun:anim:p:v_naz]">Отакі <marker>президенти</marker>.</example> <example type="untouched">Записався в його шанувальники.</example> <example type="untouched">Пішов в президенти.</example> <example type="untouched">кандидат в народні депутати.</example> </rule> <!-- <rule name="Точок і точка" id="tochok"> <pattern> <marker> <and> <token inflected="yes">точок</token> <token inflected="yes">точка</token> </and> </marker> </pattern> <disambig action="remove" postag="noun:inanim:m:.*" /> <example type="ambiguous" inputform="точок[точка/noun:inanim:p:v_rod,точок/noun:inanim:m:v_naz,точок/noun:inanim:m:v_zna]" outputform="точок[точка/noun:inanim:p:v_rod]">20 <marker>точок</marker>.</example> </rule> --> <rule name="Ніж - conj" id="nizh_conj"> <pattern> <token regexp="yes">менше?|більше?</token> <token min="0">,</token> <marker> <token>ніж</token> </marker> </pattern> <disambig action="filter" postag="conj:subord" /> <example type="ambiguous" inputform="ніж[ніж/conj:subord,ніж/noun:inanim:m:v_naz,ніж/noun:inanim:m:v_zna]" outputform="ніж[ніж/conj:subord]">менше <marker>ніж</marker> 1.</example> <example type="untouched">сталевий ніж</example> </rule> <rule name="більше - adv" id="bilshe_adv"> <pattern> <marker> <token regexp="yes">менше|більше</token> </marker> <token min="0">,</token> <token>ніж</token> </pattern> <disambig action="filter" postag="adv.*" /> <example type="ambiguous" inputform="менше[менше/adv:compc:&predic,менший/adj:n:v_kly:compc,менший/adj:n:v_naz:compc,менший/adj:n:v_zna:compc]" outputform="менше[менше/adv:compc:&predic]"><marker>менше</marker> ніж 0.</example> <example type="untouched">більше поняття</example> </rule> <rule name="рана - c.р." id="rana_n"> <pattern> <token regexp="yes">від|до|і?з</token> <!-- <token postag_regexp="yes" postag="adj:n:v_rod.*"> <exception negate_pos="yes" postag_regexp="yes" postag="adj:[mn]:v_rod.*"> </token> --> <token regexp="yes" min="0">раннього|самого|самісінького|білого</token> <marker> <token>рана</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:n:v_rod.*" /> <example type="ambiguous" inputform="рана[рана/noun:inanim:f:v_naz,рано/noun:inanim:n:v_rod]" outputform="рана[рано/noun:inanim:n:v_rod]">з самого <marker>рана</marker>.</example> <example type="untouched">відкрита рана</example> </rule> <rule name="рана - ж.р." id="rana_f"> <pattern> <marker> <token>рана</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:f.*" /> <example type="ambiguous" inputform="рана[рана/noun:inanim:f:v_naz,рано/noun:inanim:n:v_rod]" outputform="рана[рана/noun:inanim:f:v_naz]">з ранку <marker>рана</marker>.</example> <example type="untouched">відкрита рано</example> </rule> <rule name="Дуже і дужий" id="duzhe_adv"> <antipattern> <token>дуже</token> <token postag_regexp="yes" postag="noun:.*?:n:v_(naz|zna|kly).*"> <exception>його</exception> </token> </antipattern> <pattern> <marker> <token postag_regexp="yes" postag="adj:n:.*">дуже</token> </marker> </pattern> <disambig action="remove" postag="adj:n.*" /> <example type="ambiguous" inputform="дуже[дуже/adv:compb,дужий/adj:n:v_kly:compb,дужий/adj:n:v_naz:compb,дужий/adj:n:v_zna:compb]" outputform="дуже[дуже/adv:compb]">в <marker>дуже</marker> добре.</example> <example type="untouched">дуже тіло</example> </rule> <rule name="Добре - прикм." id="dobre_adj"> <pattern> <token>дуже</token> <marker> <token postag_regexp="yes" postag="noun:inanim:n:.*">сучасне</token> </marker> </pattern> <disambig action="remove" postag="noun:inanim:n.*" /> <example type="ambiguous" inputform="сучасне[сучасне/noun:inanim:n:v_naz,сучасне/noun:inanim:n:v_zna,сучасний/adj:n:v_kly:compb,сучасний/adj:n:v_naz:compb,сучасний/adj:n:v_zna:compb]" outputform="сучасне[сучасний/adj:n:v_kly:compb,сучасний/adj:n:v_naz:compb,сучасний/adj:n:v_zna:compb]">дуже <marker>сучасне</marker>.</example> <example type="untouched">сучасне і старе</example> </rule> <rule name="Нове - прикм." id="nove_adj"> <pattern> <marker> <token inflected="yes" postag="noun:inanim:n:v_rod">нове</token> </marker> <token inflected="yes" regexp="yes" postag_regexp="yes" postag="noun:inanim:m:v_(rod|dav).*">термінал|пакет|компонент|пік|вектор|диск|аватар|логотип|енергоблок|документ|елеватор|об'єкт|пласт|рецепт</token> </pattern> <disambig action="remove" postag="noun:inanim:n.*" /> <example type="ambiguous" inputform="нового[нове/noun:inanim:n:v_rod,новий/adj:m:v_rod:compb,новий/adj:m:v_zna:ranim:compb,новий/adj:n:v_rod:compb]" outputform="нового[новий/adj:m:v_rod:compb,новий/adj:m:v_zna:ranim:compb,новий/adj:n:v_rod:compb]"><marker>нового</marker> енергоблоку.</example> <example type="untouched">нового студент навчатися не хоче</example> </rule> <rule name="Рік: не ріка" id="rik_odn"> <antipattern> <token postag_regexp="yes" postag="adj:p:v_rod.*"/> <token regexp="yes">рік|вік|зараз</token> </antipattern> <antipattern> <token>багато</token> <token regexp="yes">рік|зараз</token> </antipattern> <antipattern> <token regexp="yes">до|від</token> <token>рік</token> </antipattern> <pattern> <marker> <token regexp="yes">рік|вік|зараз</token> </marker> </pattern> <disambig action="remove" postag="noun:inanim:p:v_rod.*" /> <example type="ambiguous" inputform="рік[рік/noun:inanim:m:v_naz,рік/noun:inanim:m:v_zna,ріка/noun:inanim:p:v_rod]" outputform="рік[рік/noun:inanim:m:v_naz,рік/noun:inanim:m:v_zna]">другий <marker>рік</marker>.</example> <example type="ambiguous" inputform="зараз[зараз/adv:&pron:dem,зараза/noun:inanim:p:v_rod]" outputform="зараз[зараз/adv:&pron:dem]">вже <marker>зараз</marker>.</example> <example type="untouched">різних рік</example> <example type="untouched">багато рік</example> <example type="untouched">багато зараз</example> <example type="untouched">з-під важких вік</example> </rule> <rule name="Благочинний - прикм." id="blahochynnyi_adj"> <pattern> <unify> <feature id="gender"/> <feature id="case"/> <marker> <token inflected="yes">благочинний</token> </marker> <token postag_regexp="yes" postag="noun:inanim.*"/> </unify> </pattern> <disambig action="filter" postag="adj:.*" /> <example type="ambiguous" inputform="благочинну[благочинна/noun:anim:f:v_zna:arch,благочинний/adj:f:v_zna:bad]" outputform="благочинну[благочинний/adj:f:v_zna:bad]"><marker>благочинну</marker> акцію.</example> <example type="untouched">глянув на благочинну</example> </rule> <rule name="Віку: не віко" id="viku_vik"> <pattern> <marker> <and> <token>віку</token> <token inflected="yes">віко</token> </and> </marker> </pattern> <disambig action="remove"><wd lemma="віко"/></disambig> <example type="ambiguous" inputform="віку[вік/noun:inanim:m:v_dav,вік/noun:inanim:m:v_mis,вік/noun:inanim:m:v_rod,віко/noun:inanim:n:v_dav,віко/noun:inanim:n:v_mis]" outputform="віку[вік/noun:inanim:m:v_dav,вік/noun:inanim:m:v_mis,вік/noun:inanim:m:v_rod]">середнього <marker>віку</marker>.</example> <example type="untouched">важке віко</example> </rule> <rule name="Загалом: adv" id="zagalom_adv"> <antipattern> <token postag_regexp="yes" postag="adj:m:v_oru.*"/> <token>загалом</token> </antipattern> <pattern> <marker> <token>загалом</token> </marker> </pattern> <disambig action="remove" postag="noun:inanim:m:v_oru.*" /> <example type="ambiguous" inputform="загалом[загал/noun:inanim:m:v_oru,загалом/adv]" outputform="загалом[загалом/adv]">і <marker>загалом</marker> мав успіх.</example> <example type="untouched">широким загалом</example> </rule> <rule name="Минулого - прикм" id="mynulogo_adj"> <pattern> <marker> <token>минулого</token> </marker> <token regexp="yes">року|тижня|століття|разу|літа|понеділка|четверга</token> </pattern> <disambig action="filter" postag="adj:.:.*"/> <example type="ambiguous" inputform="минулого[минуле/noun:inanim:n:v_rod,минулий/adj:m:v_rod:&adjp:actv:perf,минулий/adj:m:v_zna:ranim:&adjp:actv:perf,минулий/adj:n:v_rod:&adjp:actv:perf]" outputform="минулого[минулий/adj:m:v_rod:&adjp:actv:perf,минулий/adj:m:v_zna:ranim:&adjp:actv:perf,минулий/adj:n:v_rod:&adjp:actv:perf]" >і <marker>минулого</marker> року</example> <example type="untouched">минулого і майбутнього</example> </rule> <rule name="Свого - прикметник ч.р. 1" id="svogo_adj_m_1"> <pattern> <marker> <token regexp="yes">свого|такого|різного|одного|певного</token> </marker> <token regexp="yes">роду|разу|типу</token> </pattern> <disambig action="filter" postag="adj:m:v_rod.*"/> <example type="ambiguous" inputform="свого[свій/adj:m:v_rod:&pron:pos,свій/adj:m:v_zna:ranim:&pron:pos,свій/adj:n:v_rod:&pron:pos]" outputform="свого[свій/adj:m:v_rod:&pron:pos]">А <marker>свого</marker> роду маніфест.</example> </rule> <!-- category: v_kly --> <rule name="Кличний неістот для абревіатур" id="inanim_v_kly_abbr"> <pattern> <marker> <token case_sensitive="yes" postag_regexp="yes" postag="noun:inanim:.:v_kly" regexp="yes">[А-ЯІЇЄҐ]{3,20} <exception regexp="yes">УКРАЇНО|КИЄВЄ|ПЕРЧЕ</exception> </token> </marker> </pattern> <disambig action="remove" postag="noun:inanim:.:v_kly" /> <example type="ambiguous" inputform="УМЕ[ум/noun:inanim:m:v_kly]" outputform="УМЕ[УМЕ]">в <marker>УМЕ</marker>.</example> <example type="untouched">УКРАЇНО</example> </rule> <rule id="non_v_kly_1" name="Не кличний після прийменників тощо"> <pattern> <token postag_regexp="yes" postag="(prep|num).*"> <exception>о</exception> </token> <marker> <token postag_regexp="yes" postag=".*v_kly.*"/> </marker> </pattern> <disambig action="remove" postag=".*v_kly.*"/> <example type="ambiguous" inputform="президенти[президент/noun:anim:p:v_kly,президент/noun:anim:p:v_naz,президент/noun:anim:p:v_zna:rare]" outputform="президенти[президент/noun:anim:p:v_naz,президент/noun:anim:p:v_zna:rare]" >в <marker>президенти</marker>.</example> <example type="untouched">Друже!</example> <example type="untouched">О люди!</example> <example type="untouched">та панове!</example> <!-- <example type="untouched">хіп-хопери та інша високоповажна публіко!</example> <example type="untouched">прощавай, всіляка зброє?.</example> --> </rule> <rule id="non_v_kly_2" name="Не кличний після некличного"> <pattern> <token postag_regexp="yes" postag="(adj|noun).*"> <exception postag_regexp="yes" postag=".*v_kly.*"/> <exception regexp="yes">та|любий|люба|любі</exception> </token> <marker> <token postag_regexp="yes" postag=".*v_kly(?!.*name).*"> <exception scope="next" regexp="yes">[!?]</exception> <exception regexp="yes">мамо|любонько|містере|Україно</exception> </token> </marker> </pattern> <disambig action="remove" postag=".*v_kly.*"/> <example type="ambiguous" inputform="відома[відом/noun:inanim:m:v_rod,відомий/adj:f:v_kly:compb,відомий/adj:f:v_naz:compb]" outputform="відома[відом/noun:inanim:m:v_rod,відомий/adj:f:v_naz:compb]" >самого <marker>відома</marker>.</example> <example type="untouched">Друже!</example> <example type="untouched">О люди!</example> <example type="untouched">панове!</example> <example type="untouched">О Травню! Радості годино!</example> <example type="untouched">та панове!</example> <example type="untouched">та панове журналісти!</example> <example type="untouched">пане Іване</example> <example type="untouched">і Іване</example> <example type="untouched">Вельмишановний Миколо Яновичу!</example> <example type="untouched">що хотів сказати мені Миколо?</example> <example type="untouched">дай нам Мамо</example> <!-- теоретично мала би бути кома <example type="untouched">Вірте мені ваше достойносте!</example> --> </rule> <rulegroup id="fname_vkly" name="кличний для імен"> <rule> <antipattern> <token postag_regexp="yes" postag="verb.*?:impr:.:2.*"/> <token>,</token> <token postag_regexp="yes" postag="noun:anim:.:v_kly.*?:fname.*"/> </antipattern> <antipattern> <token postag_regexp="yes" postag="noun:anim:.:v_kly.*?:fname.*"/> <token>,</token> <token postag_regexp="yes" postag="verb.*?:impr:.:2.*"/> </antipattern> <antipattern> <token postag_regexp="yes" postag="adj:.:v_kly.*" regexp="yes" inflected="yes">.*шановний|.*поважний|дорог(еньк)?ий|любий</token> <token min="0" max="5"> <exception postag_regexp="yes" postag="noun:anim:.:v_kly.*?:fname.*"/> <exception postag_regexp="yes" postag="verb.*|(adj|noun)(?!.*v_kly).*"/> </token> <token postag_regexp="yes" postag="noun:anim:.:v_kly.*?:fname.*"/> </antipattern> <antipattern> <token>,</token> <token postag_regexp="yes" postag="adj:.:v_kly.*" regexp="yes"/> <token postag_regexp="yes" postag="noun:anim:.:v_kly.*?:fname.*"/> <token>,</token> </antipattern> <pattern> <marker> <and> <token postag_regexp="yes" postag="noun:anim:.:v_kly.*?:fname.*"> <!-- <exception scope="previous" postag_regexp="yes" postag="verb.*?:impr:.:2.*"/> --> <exception scope="next" regexp="yes">!{1,3}</exception> </token> <token postag_regexp="yes" postag="noun:anim:.:v_(?!kly).*?:fname.*"/> </and> </marker> </pattern> <disambig action="remove" postag="noun:anim:.:v_kly.*?:fname.*"/> <example type="ambiguous" inputform="Олегу[Олег/noun:anim:m:v_dav:prop:fname,Олег/noun:anim:m:v_kly:prop:fname]" outputform="Олегу[Олег/noun:anim:m:v_dav:prop:fname]" ><marker>Олегу</marker> Ляшко це не сподобалося</example> <example type="untouched">Дивись, Олегу, ...</example> <example type="untouched">Марусю, зрозумій</example> <example type="untouched">Слухай, Маріє Поліщук!</example> <example type="untouched">Олегу!</example> <example type="untouched">Олеже</example> <example type="untouched">Ти для нас, зухвалий Лесю,</example> <example type="untouched">Шановний Арсенію Петровичу!</example> <example type="untouched">Шановний пане Андрію Садовий</example> <example type="untouched">Моя люба Олю,</example> <example type="untouched">Вельмишановний Миколо Яновичу!</example> <example type="untouched">що ти хотів сказати мені Миколо?</example> <!-- TODO: <example type="untouched">Шановні Арсенію Кравчук, Ігорю Марков!</example> <example type="untouched">Сергію Нігоян, спасибі за все</example> --> </rule> </rulegroup> <rulegroup id="lname_vkly" name="кличний для прізвищ"> <rule> <pattern> <marker> <and> <token postag_regexp="yes" postag="noun:anim:.:v_kly.*?:lname.*"> <exception scope="next" regexp="yes">!{1,3}</exception> </token> <token postag_regexp="yes" postag="noun:anim:.:v_(?!kly).*?:lname.*"/> </and> </marker> </pattern> <disambig action="remove" postag="noun:anim:.:v_kly.*?:lname.*"/> <example type="ambiguous" inputform="Петровський[Петровський/noun:anim:m:v_kly:prop:lname,Петровський/noun:anim:m:v_naz:prop:lname,петровський/adj:m:v_kly,петровський/adj:m:v_naz,петровський/adj:m:v_zna:rinanim]" outputform="Петровський[Петровський/noun:anim:m:v_naz:prop:lname,петровський/adj:m:v_kly,петровський/adj:m:v_naz,петровський/adj:m:v_zna:rinanim]" ><marker>Петровський</marker> пішов</example> <example type="ambiguous" inputform="Максименку[Максименко/noun:anim:m:v_dav:prop:lname,Максименко/noun:anim:m:v_kly:prop:lname]" outputform="Максименку[Максименко/noun:anim:m:v_dav:prop:lname]" ><marker>Максименку</marker> пощастило</example> <example type="untouched">Петровський!</example> <example type="untouched">Максименку!</example> <example type="untouched">Романишине</example> </rule> </rulegroup> <rule name="Чоловік - множина" id="cholovik_plural_1"> <antipattern> <token>чоловік</token> <token min="0" max="2"/> <token>жінок</token> </antipattern> <pattern> <token postag_regexp="yes" postag="number|numr:p:.*|noun.*num.*"> <exception regexp="yes">один|перший|1</exception> </token> <marker> <token>чоловік</token> </marker> </pattern> <disambig action="filter" postag="noun:anim:p:v_...:subst"/> <example type="ambiguous" inputform="чоловік[чоловік/noun:anim:m:v_naz,чоловік/noun:anim:p:v_rod:subst,чоловік/noun:anim:p:v_zna:subst]" outputform="чоловік[чоловік/noun:anim:p:v_rod:subst,чоловік/noun:anim:p:v_zna:subst]" >200 тис. <marker>чоловік</marker>.</example> <example type="untouched">10 чоловік і жінок</example> <example type="untouched">79-річний чоловік багато жартував</example> <example type="untouched">1 чоловік.</example> </rule> <rule name="Чоловік - множина" id="cholovik_plural_2"> <pattern> <marker> <token>чоловік</token> </marker> <token regexp="yes">з|зо|із</token> <token postag_regexp="yes" postag="number|numr:p:v_naz.*|noun.*v_naz.*num.*"/> </pattern> <disambig action="filter" postag="noun:anim:p:v_...:subst"/> <example type="ambiguous" inputform="чоловік[чоловік/noun:anim:m:v_naz,чоловік/noun:anim:p:v_rod:subst,чоловік/noun:anim:p:v_zna:subst]" outputform="чоловік[чоловік/noun:anim:p:v_rod:subst,чоловік/noun:anim:p:v_zna:subst]" ><marker>чоловік</marker> з 10.</example> <example type="untouched">чоловік 30-35 років</example> <example type="untouched">мамин чоловік із двома його дітьми</example> </rule> <rule name="Чоловік - однина" id="cholovik_singular"> <pattern> <marker> <token postag_regexp="yes" postag="noun:anim:m:.*">чоловік</token> </marker> </pattern> <disambig action="remove" postag="noun:anim:p:v_...:subst"/> <example type="ambiguous" inputform="чоловік[чоловік/noun:anim:m:v_naz,чоловік/noun:anim:p:v_rod:subst,чоловік/noun:anim:p:v_zna:subst]" outputform="чоловік[чоловік/noun:anim:m:v_naz]" >її <marker>чоловік</marker> не спав.</example> </rule> <rule name="По п'яні - іменник" id="po_pyani_noun"> <pattern> <token>по</token> <marker> <token>п'яні</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:f:v_mis:bad"/> <example type="ambiguous" inputform="п'яні[п'яний/adj:p:v_naz:compb,п'яний/adj:p:v_zna:rinanim:compb,п'яний/noun:anim:p:v_naz,п'янь/noun:inanim:f:v_dav:bad,п'янь/noun:inanim:f:v_mis:bad,п'янь/noun:inanim:f:v_rod:bad]" outputform="п'яні[п'янь/noun:inanim:f:v_mis:bad]" >втонув по <marker>п'яні</marker>.</example> <example type="untouched">всі вони п'яні</example> </rule> <rule name="П'яні - прикник" id="pyani_adj"> <pattern> <marker> <token>п'яні</token> </marker> </pattern> <disambig action="filter" postag="adj.*"/> <example type="ambiguous" inputform="п'яні[п'яний/adj:p:v_naz:compb,п'яний/adj:p:v_zna:rinanim:compb,п'яний/noun:anim:p:v_naz,п'янь/noun:inanim:f:v_dav:bad,п'янь/noun:inanim:f:v_rod:bad]" outputform="п'яні[п'яний/adj:p:v_naz:compb,п'яний/adj:p:v_zna:rinanim:compb]" >всі <marker>п'яні</marker>.</example> </rule> <!-- category: verb --> <rule name="Єсть - вигук" id="yest_intj_1"> <pattern> <marker> <token case_sensitive="yes">Єсть</token> </marker> <token>!</token> </pattern> <disambig action="filter" postag="intj:bad"/> <example type="ambiguous" inputform="Єсть[бути/verb:imperf:pres:p:1:&predic:rare,бути/verb:imperf:pres:p:2:&predic:rare,бути/verb:imperf:pres:p:3:&predic:rare,бути/verb:imperf:pres:s:1:&predic:rare,бути/verb:imperf:pres:s:2:&predic:rare,бути/verb:imperf:pres:s:3:&predic:rare,єсть/intj:bad]" outputform="Єсть[єсть/intj:bad]" ><marker>Єсть</marker>!</example> </rule> <rule name="Єсть - вигук" id="yest_intj_2"> <pattern> <marker> <token case_sensitive="yes">Єсть</token> </marker> <token min="0">,</token> <token postag_regexp="yes" postag="noun:anim:m:v_kly.*"/> <token postag_regexp="yes" postag="noun:anim:m:v_(naz|kly).*"/> <token>!</token> </pattern> <disambig action="filter" postag="intj:bad"/> <example type="ambiguous" inputform="Єсть[бути/verb:imperf:pres:p:1:&predic:rare,бути/verb:imperf:pres:p:2:&predic:rare,бути/verb:imperf:pres:p:3:&predic:rare,бути/verb:imperf:pres:s:1:&predic:rare,бути/verb:imperf:pres:s:2:&predic:rare,бути/verb:imperf:pres:s:3:&predic:rare,єсть/intj:bad]" outputform="Єсть[єсть/intj:bad]" ><marker>Єсть</marker>, товаришу майоре!</example> </rule> <rule name="Єсть - вигук" id="yest_intj_3"> <pattern> <marker> <token case_sensitive="yes">Єсть</token> </marker> <token min="0">,</token> <token postag_regexp="yes" postag="verb.*inf.*"/> <token min="0" max="5"/> <token>!</token> </pattern> <disambig action="filter" postag="intj:bad"/> <example type="ambiguous" inputform="Єсть[бути/verb:imperf:pres:p:1:&predic:rare,бути/verb:imperf:pres:p:2:&predic:rare,бути/verb:imperf:pres:p:3:&predic:rare,бути/verb:imperf:pres:s:1:&predic:rare,бути/verb:imperf:pres:s:2:&predic:rare,бути/verb:imperf:pres:s:3:&predic:rare,єсть/intj:bad]" outputform="Єсть[єсть/intj:bad]" ><marker>Єсть</marker> пробігтися до берега!</example> </rule> <rule name="Єсть - дієслово" id="yest_verb"> <pattern> <marker> <token postag_regexp="yes" postag="verb:imperf:pres.*">єсть</token> </marker> </pattern> <disambig action="remove" postag="intj:bad"/> <example type="ambiguous" inputform="єсть[бути/verb:imperf:pres:p:1:&predic:rare,бути/verb:imperf:pres:p:2:&predic:rare,бути/verb:imperf:pres:p:3:&predic:rare,бути/verb:imperf:pres:s:1:&predic:rare,бути/verb:imperf:pres:s:2:&predic:rare,бути/verb:imperf:pres:s:3:&predic:rare,єсть/intj:bad]" outputform="єсть[бути/verb:imperf:pres:p:1:&predic:rare,бути/verb:imperf:pres:p:2:&predic:rare,бути/verb:imperf:pres:p:3:&predic:rare,бути/verb:imperf:pres:s:1:&predic:rare,бути/verb:imperf:pres:s:2:&predic:rare,бути/verb:imperf:pres:s:3:&predic:rare]" >чи <marker>єсть</marker> у нас культура</example> </rule> <rule name="Стяг - іменн" id="styag_noun"> <pattern> <token postag_regexp="yes" postag="adj:m:v_(naz|zna:rianim).*|prep.*"/> <marker> <token>стяг</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:.*"/> <example type="ambiguous" inputform="стяг[стяг/noun:inanim:m:v_naz,стяг/noun:inanim:m:v_zna,стягти/verb:perf:past:m]" outputform="стяг[стяг/noun:inanim:m:v_naz,стяг/noun:inanim:m:v_zna]" >червоний <marker>стяг</marker> майорів</example> <example type="untouched">і стяг черевики</example> </rule> <rule name="Коли" id="koly_not_verb"> <pattern> <marker> <token>коли <exception scope="next">!</exception> </token> </marker> </pattern> <disambig action="remove" postag="verb:imperf:impr:s:2"/> <example type="ambiguous" inputform="коли[кола/noun:inanim:f:v_rod,коли/adv:&pron:int:rel,коли/conj:subord,колоти/verb:imperf:impr:s:2,кіл/noun:inanim:p:v_naz,кіл/noun:inanim:p:v_zna]" outputform="коли[кола/noun:inanim:f:v_rod,коли/adv:&pron:int:rel,коли/conj:subord,кіл/noun:inanim:p:v_naz,кіл/noun:inanim:p:v_zna]" >і <marker>коли</marker> те буде</example> <example type="untouched">Рви, ріж, коли!</example> </rule> <rule name="коли - не іменник" id="koly_not_noun"> <pattern> <marker> <token>коли <exception scope="previous" inflected="yes" regexp="yes">випити|випивши|випитий|дерев'яний|.*?забивати|.*?забити</exception> </token> </marker> </pattern> <disambig action="remove" postag="noun:.*"/> <example type="ambiguous" inputform="коли[кола/noun:inanim:f:v_rod,коли/adv:&pron:int:rel,коли/conj:subord,кіл/noun:inanim:p:v_naz,кіл/noun:inanim:p:v_zna]" outputform="коли[коли/adv:&pron:int:rel,коли/conj:subord]">запитали <marker>коли</marker> він їде.</example> <example type="untouched">дерев'яні коли.</example> <example type="untouched">позабивати коли.</example> <example type="untouched">від випитої коли.</example> </rule> <rule name="Вживу" id="vzhyvy_adv_1"> <pattern> <token regexp="yes">["«“„]</token> <marker> <token>вживу</token> </marker> <token regexp="yes">["»“”]</token> </pattern> <disambig action="filter" postag="adv:bad"/> <example type="ambiguous" inputform="вживу[вживу/adv:bad,вжити/verb:perf:futr:s:1]" outputform="вживу[вживу/adv:bad]" >побачили «<marker>вживу</marker>»</example> <example type="untouched">я вживу заходів</example> </rule> <rule name="Вживу" id="vzhyvy_verb"> <pattern> <marker> <token postag="verb:perf:futr:s:1">вживу</token> </marker> <token postag_regexp="yes" postag="(adj|numr):.:v_rod.*" min="0"/> <token inflected="yes" postag_regexp="yes" postag="noun:inanim:.:v_(zna|rod).*" regexp="yes">захід|термін|слово|зусилля|порівняння|означення|приказку|вислів|аоритет</token> </pattern> <disambig action="filter" postag="verb:perf:futr:s:1"/> <example type="ambiguous" inputform="вживу[вживу/adv:bad,вжити/verb:perf:futr:s:1]" outputform="вживу[вжити/verb:perf:futr:s:1]" >я <marker>вживу</marker> таких заходів</example> <example type="untouched">я вживу його не бачив</example> </rule> <rule name="Вживу" id="vzhyvy_adv_2"> <pattern> <marker> <token postag="adv:bad">вживу</token> </marker> </pattern> <disambig action="filter" postag="adv:bad"/> <example type="ambiguous" inputform="вживу[вживу/adv:bad,вжити/verb:perf:futr:s:1]" outputform="вживу[вживу/adv:bad]" >побачили <marker>вживу</marker>.</example> </rule> <rule name="Розуміється - insert" id="rozumiyetsa-insert"> <pattern> <token regexp="yes">[,—–-]</token> <marker> <token>розуміється</token> </marker> <token regexp="yes">[,.!?…:;—–-]</token> </pattern> <disambig action="filter" postag="noninfl:&insert:bad"/> <example type="ambiguous" inputform="розуміється[розумітися/verb:rev:imperf:pres:s:3,розуміється/noninfl:&insert:bad]" outputform="розуміється[розуміється/noninfl:&insert:bad]">він, <marker>розуміється</marker>, все сказав.</example> <example type="untouched">Він розуміється на цьому.</example> </rule> <rule name="Розуміється - verb" id="rozumiyetsa-verb"> <pattern> <token negate="yes" regexp="yes">[,—–-]</token> <marker> <token>розуміється</token> </marker> <token negate="yes" regexp="yes">[,.!?…:;—–-]</token> </pattern> <disambig action="filter" postag="verb:rev:imperf:pres:s:3"/> <example type="ambiguous" inputform="розуміється[розумітися/verb:rev:imperf:pres:s:3,розуміється/noninfl:&insert:bad]" outputform="розуміється[розумітися/verb:rev:imperf:pres:s:3]">він <marker>розуміється</marker> на цьому.</example> <example type="untouched">він, розуміється програв</example> </rule> <rule name="жив - дієслово" id="zhyv-verb"> <pattern> <marker> <token>жив <exception scope="previous" regexp="yes">поки|доки</exception> </token> </marker> </pattern> <disambig action="filter" postag="verb:.*"/> <example type="ambiguous" inputform="жив[живий/adj:m:v_naz:short,жити/verb:imperf:past:m]" outputform="жив[жити/verb:imperf:past:m]">він <marker>жив</marker> не бідно.</example> <example type="untouched">не віддам доки жив.</example> </rule> <rule id="uyavy_sobi" name="уяви собі"> <pattern> <marker> <token>уяви</token> </marker> <token>собі</token> </pattern> <disambig action="filter" postag="verb:perf:impr:s:2"/> <example type="ambiguous" inputform="уяви[уява/noun:inanim:f:v_rod,уява/noun:inanim:p:v_naz,уява/noun:inanim:p:v_zna,уявити/verb:perf:impr:s:2]" outputform="уяви[уявити/verb:perf:impr:s:2]" >і <marker>уяви</marker> собі</example> <example type="untouched">такої уяви</example> </rule> <rule name="вищу - adj" id="vyschu_adj"> <pattern> <token>вищу <exception scope="previous">я</exception> </token> </pattern> <disambig action="filter" postag="adj.*"/> <example type="ambiguous" inputform="вищу[вищати/verb:imperf:pres:s:1:xp1,вищий/adj:f:v_zna:compc]" outputform="вищу[вищий/adj:f:v_zna:compc]">здобув <marker>вищу</marker> освіту. </example> <example type="untouched">я вищу, як дурний</example> </rule> <rule name="Прийменник та дієслово 'при'" id="PREP_OR_VERB_PRY"> <pattern> <marker> <token>при</token> </marker> <token postag_regexp="yes" postag="adv(?!p).*" min="0"/> <token postag_regexp="yes" postag="(noun|adj).*?:v_mis.*"></token> </pattern> <disambig action="filter" postag="prep.*"/> <example type="ambiguous" inputform="при[перти/verb:imperf:impr:s:2,при/prep]" outputform="при[при/prep]" >очі їй засвітились <marker>при</marker> згадці про свого штурманця</example> <example type="untouched">Давай! При в ту сторону!</example> </rule> <rule name="Розділи" id="rozdily1"> <pattern> <token postag_regexp="yes" postag="num.*"/> <marker> <token>розділи <exception scope="next">на</exception> </token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:p.*" /> <example type="ambiguous" inputform="розділи[розділ/noun:inanim:p:v_naz,розділ/noun:inanim:p:v_zna,розділити/verb:perf:impr:s:2]" outputform="розділи[розділ/noun:inanim:p:v_naz,розділ/noun:inanim:p:v_zna]">2-3 <marker>розділи</marker>. </example> <example type="untouched">а хліб розділи</example> <example type="untouched">розділи на три частини</example> </rule> <rule name="Розділи" id="rozdily2"> <pattern> <marker> <token>розділи</token> </marker> <token postag_regexp="yes" postag="num.*"> <exception scope="next">на</exception> </token> </pattern> <disambig action="filter" postag="noun:inanim:p.*" /> <example type="ambiguous" inputform="розділи[розділ/noun:inanim:p:v_naz,розділ/noun:inanim:p:v_zna,розділити/verb:perf:impr:s:2]" outputform="розділи[розділ/noun:inanim:p:v_naz,розділ/noun:inanim:p:v_zna]"><marker>розділи</marker> 2, 3, 4. </example> <example type="untouched">а хліб розділи</example> <example type="untouched">розділи 4 на 2</example> </rule> <rule name="плати - іменник" id="platy_noun"> <pattern> <token inflected="yes" regexp="yes">заробітний|орендний|рентний|абонементний|мінімальний|.*місячний|.*річний</token> <marker> <token>плати</token> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <!-- only for non-agreed tokens --> <example type="ambiguous" inputform="плати[плата/noun:inanim:f:v_rod,плата/noun:inanim:p:v_naz,плата/noun:inanim:p:v_zna,платити/verb:imperf:impr:s:2]" outputform="плати[плата/noun:inanim:f:v_rod,плата/noun:inanim:p:v_naz,плата/noun:inanim:p:v_zna]" >заробітній <marker>плати</marker>.</example> <example type="untouched">Ану плати!</example> </rule> <rule name="не наказова 3" id="not_an_imperative_zhury"> <pattern> <marker> <token regexp="yes">жури|зарази <exception scope="previous">не</exception> </token> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <!-- only for non-agreed tokens --> <example type="ambiguous" inputform="жури[жура/noun:inanim:f:v_rod,журити/verb:imperf:impr:s:2]" outputform="жури[жура/noun:inanim:f:v_rod]" >провенційне <marker>жури</marker>.</example> <example type="untouched">не жури себе</example> </rule> <rule name="не наказова 3" id="not_an_imperative_0"> <pattern> <token postag_regexp="yes" postag="adj.*"/> <marker> <token regexp="yes">мрій|удар</token> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <!-- only for non-agreed tokens --> <example type="ambiguous" inputform="мрій[мріти/verb:imperf:impr:s:2,мрія/noun:inanim:p:v_rod,мріяти/verb:imperf:impr:s:2]" outputform="мрій[мрія/noun:inanim:p:v_rod]" >своїм <marker>мрій</marker>.</example> <example type="untouched">І не мрій!</example> </rule> <rule name="Не наказова форма дієслова 1" id="not_an_imperative_1"> <pattern> <token postag_regexp="yes" postag=".*(prep|num).*"/> <marker> <and> <token postag_regexp="yes" postag="verb.*?impr.*"> <exception>розділи</exception> </token> <token postag_regexp="yes" postag="(noun|adj).*"/> </and> </marker> </pattern> <disambig action="remove" postag="verb.*?impr.*"/> <example type="ambiguous" inputform="посади[посад/noun:inanim:p:v_naz,посад/noun:inanim:p:v_zna,посада/noun:inanim:f:v_rod,посада/noun:inanim:p:v_naz,посада/noun:inanim:p:v_zna,посадити/verb:perf:impr:s:2]" outputform="посади[посад/noun:inanim:p:v_naz,посад/noun:inanim:p:v_zna,посада/noun:inanim:f:v_rod,посада/noun:inanim:p:v_naz,посада/noun:inanim:p:v_zna]" >три <marker>посади</marker>.</example> <example type="ambiguous" inputform="сій[сей/adj:f:v_dav:&pron:dem:arch,сей/adj:f:v_mis:&pron:dem:arch,сіяти/verb:imperf:impr:s:2:xp1]" outputform="сій[сей/adj:f:v_dav:&pron:dem:arch,сей/adj:f:v_mis:&pron:dem:arch]" >по <marker>сій</marker> традиції.</example> <example type="untouched">Піди посади картоплю!</example> <example type="untouched">хоч голий ходи</example> <example type="untouched">Ори, сій, жни</example> </rule> <!-- done in Java as we need to unify on first part of "and" <rule name="Не наказова форма дієслова 2" id="not_an_imperative_2"> <pattern> <token postag_regexp="yes" postag="adj.*"/> <marker> <and> <token postag_regexp="yes" postag="verb.*?impr.*"/> <token postag_regexp="yes" postag="(noun|adj).*"/> </and> </marker> </pattern> <disambig action="remove" postag="verb.*?impr.*"/> <example type="ambiguous" inputform="посади[посад/noun:inanim:p:v_naz,посад/noun:inanim:p:v_zna,посада/noun:inanim:f:v_rod,посада/noun:inanim:p:v_naz,посада/noun:inanim:p:v_zna,посадити/verb:perf:impr:s:2]" outputform="посади[посад/noun:inanim:p:v_naz,посад/noun:inanim:p:v_zna,посада/noun:inanim:f:v_rod,посада/noun:inanim:p:v_naz,посада/noun:inanim:p:v_zna]" >минулі <marker>посади</marker>.</example> <example type="untouched">Піди посади картоплю!</example> <example type="untouched">хоч голий ходи</example> <example type="untouched">Ори, сій, жни</example> </rule> --> <!-- category: pron --> <!-- <rule name="Усі м.в." id="usi_bad"> <antipattern> <token>усі</token> <token postag_regexp="yes" postag=".*:p:v_zna.*"/> </antipattern> <pattern> <token regexp="yes">в|на|по</token> <marker> <token>усі</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:n:v_mis:arch"/> <example type="ambiguous" inputform="усі[увесь/adj:p:v_naz:&pron:gen,увесь/adj:p:v_zna:rinanim:&pron:gen,усі/noun:anim:p:v_naz:&pron:gen,ухо/noun:inanim:n:v_mis:arch]" outputform="усі[ухо/noun:inanim:n:v_mis:arch]" >в <marker>усі</marker> почалося запалення</example> <example type="ambiguous" inputform="усі[</S>,увесь/adj:p:v_naz:&pron:gen,увесь/adj:p:v_zna:rinanim:&pron:gen,усі/noun:anim:p:v_naz:&pron:gen,ухо/noun:inanim:n:v_mis:arch]" outputform="усі[</S>,ухо/noun:inanim:n:v_mis:arch]" >тихо як в <marker>усі</marker></example> <example type="untouched">в усі сторони</example> </rule> --> <rule name="Усі прийм." id="usi_non_bad"> <pattern> <marker> <token postag_regexp="yes" postag="adj.*">усі <exception postag="SENT_END"/> <exception scope="next" postag="SENT_END"/> </token> </marker> </pattern> <disambig action="remove" postag="noun:inanim:n:v_mis:arch"/> <example type="ambiguous" inputform="усі[увесь/adj:p:v_naz:&pron:gen,увесь/adj:p:v_zna:rinanim:&pron:gen,усі/noun:anim:p:v_naz:&pron:gen,ухо/noun:inanim:n:v_mis:arch]" outputform="усі[увесь/adj:p:v_naz:&pron:gen,увесь/adj:p:v_zna:rinanim:&pron:gen,усі/noun:anim:p:v_naz:&pron:gen]" >в <marker>усі</marker> сторони</example> <!-- <example type="untouched">в усі почалося запалення</example> --> <example type="untouched">тихо як в усі</example> <example type="untouched">тихо як в усі.</example> </rule> <rule name="Це - noun 1" id="ce_noun_1"> <pattern> <token regexp="yes">[—–-]</token> <marker> <token case_sensitive="yes">це</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:n:v_naz.*"/> <example type="ambiguous" inputform="це[це/noun:inanim:n:v_naz:&pron:dem,це/noun:inanim:n:v_zna:&pron:dem,це/part,цей/adj:n:v_naz:&pron:dem,цей/adj:n:v_zna:&pron:dem]" outputform="це[це/noun:inanim:n:v_naz:&pron:dem]">Фестиваль — <marker>це</marker> свято.</example> <example type="untouched">а це сталося не вчора</example> <example type="untouched">— Це врятовано Юліаном</example> </rule> <rule name="Тим - сполучник 1" id="tym_pron_1"> <pattern> <marker> <token>тим</token> </marker> <token postag_regexp="yes" postag="adv:compc.*"/> </pattern> <disambig action="filter" postag="noun:inanim:n:v_oru.*"/> <example type="ambiguous" inputform="тим[те/noun:inanim:n:v_oru:&pron:dem,тим/conj:subord,той/adj:m:v_oru:&pron:dem,той/adj:n:v_oru:&pron:dem,той/adj:p:v_dav:&pron:dem]" outputform="тим[те/noun:inanim:n:v_oru:&pron:dem]">І <marker>тим</marker> більше.</example> <example type="untouched">тим вечором</example> </rule> <rule name="Тим - іменник с.р. 1" id="tym_noun_n_1"> <pattern> <token>разом</token> <token regexp="yes">з|із</token> <marker> <token>тим</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:n:v_oru.*"/> <example type="ambiguous" inputform="тим[те/noun:inanim:n:v_oru:&pron:dem,тим/conj:subord,той/adj:m:v_oru:&pron:dem,той/adj:n:v_oru:&pron:dem,той/adj:p:v_dav:&pron:dem]" outputform="тим[те/noun:inanim:n:v_oru:&pron:dem]">Разом з <marker>тим</marker> університетам цього не дозволяють.</example> <example type="untouched">тим вечором</example> </rule> <rule name="Тим - прикметник ч.р. 1" id="tym_adj_m_1"> <pattern> <marker> <token regexp="yes">тим|таким|певним|відповідним</token> </marker> <!-- <token postag_regexp="yes" postag="noun:inanim:m:v_oru.*"> <exception postag_regexp="yes" postag="(noun:inanim|adj):(n:v_oru|p:v_dav).*"/> </token> --> <token regexp="yes">часом|чином</token> </pattern> <disambig action="filter" postag="adj:m:v_oru.*"/> <example type="ambiguous" inputform="тим[те/noun:inanim:n:v_oru:&pron:dem,тим/conj:subord,той/adj:m:v_oru:&pron:dem,той/adj:n:v_oru:&pron:dem,той/adj:p:v_dav:&pron:dem]" outputform="тим[той/adj:m:v_oru:&pron:dem]">А <marker>тим</marker> часом.</example> <example type="untouched">тим більше</example> <example type="untouched">тим сонцем</example> <example type="untouched">завдяки тим зусиллям</example> <example type="untouched">тим окремим подвижникам</example> </rule> <rule name="Тому: не іменник «том»" id="tomu_not_noun_tom"> <pattern> <marker> <token>тому <exception scope="previous" postag_regexp="yes" postag="adj:m:v_rod.*"/> <exception case_sensitive="yes" scope="previous" regexp="yes">[XVIХІ]+</exception> </token> </marker> </pattern> <disambig action="remove" postag="noun:inanim:m:v_(rod|dav|mis)"/> <example type="ambiguous" inputform="тому[те/noun:inanim:n:v_dav:&pron:dem,той/adj:m:v_dav:&pron:dem,той/adj:n:v_dav:&pron:dem,том/noun:inanim:m:v_dav,том/noun:inanim:m:v_rod,тому/adv,тому/conj:subord]" outputform="тому[те/noun:inanim:n:v_dav:&pron:dem,той/adj:m:v_dav:&pron:dem,той/adj:n:v_dav:&pron:dem,тому/adv,тому/conj:subord]" >Даю волю всьому <marker>тому</marker> злу</example> <example type="ambiguous" inputform="Тому[Том/noun:anim:m:v_dav:prop:fname,Тома/noun:anim:m:v_zna:prop:fname,те/noun:inanim:n:v_dav:&pron:dem,той/adj:m:v_dav:&pron:dem,той/adj:n:v_dav:&pron:dem,том/noun:inanim:m:v_dav,том/noun:inanim:m:v_rod,тому/adv,тому/conj:subord]" outputform="Тому[Том/noun:anim:m:v_dav:prop:fname,Тома/noun:anim:m:v_zna:prop:fname,те/noun:inanim:n:v_dav:&pron:dem,той/adj:m:v_dav:&pron:dem,той/adj:n:v_dav:&pron:dem,тому/adv,тому/conj:subord]" ><marker>Тому</marker> це не відбулося</example> <!-- років 5 тому, --> <example type="untouched">частину четвертого тому,</example> <example type="untouched">від останнього тому.</example> <example type="untouched">З нагоди появи IX тому «Історії України-Руси»</example> <!-- зустрічається не часто, правильно: 4-го тому <example type="untouched">приміток до 4 тому</example> --> </rule> <rule name="Тому: не іменник «те»" id="tomu_not_noun_te"> <pattern> <token postag_regexp="yes" postag="num.*"/> <marker> <token>тому</token> </marker> </pattern> <disambig action="remove" postag="noun:inanim:n:v_...:&pron.*"/> <example type="ambiguous" inputform="тому[те/noun:inanim:n:v_dav:&pron:dem,той/adj:m:v_dav:&pron:dem,той/adj:n:v_dav:&pron:dem,тому/adv,тому/conj:subord]" outputform="тому[той/adj:m:v_dav:&pron:dem,той/adj:n:v_dav:&pron:dem,тому/adv,тому/conj:subord]" >Роки півтора <marker>тому</marker>.</example> <example type="ambiguous" inputform="тому[те/noun:inanim:n:v_dav:&pron:dem,той/adj:m:v_dav:&pron:dem,той/adj:n:v_dav:&pron:dem,тому/adv,тому/conj:subord]" outputform="тому[той/adj:m:v_dav:&pron:dem,той/adj:n:v_dav:&pron:dem,тому/adv,тому/conj:subord]" >Тижні 3 <marker>тому</marker>.</example> <example type="untouched">і при тому, не залежав від них</example> </rule> <!-- <rule name="Тим - прикметник с.р. 1" id="tym_adj_n_1"> <pattern> <marker> <token>тим</token> </marker> <token postag_regexp="yes" postag="noun:inanim:n:v_oru.*"> - <exception negate_pos="yes" postag_regexp="yes" postag="noun:inanim:m:v_oru.*"/> - <exception postag_regexp="yes" postag="noun:inanim:(m:v_oru|p:v_dav|.:v_...:nv).*"/> </token> </pattern> <disambig action="filter" postag="adj:n:v_oru.*"/> <example type="ambiguous" inputform="тим[те/noun:inanim:n:v_oru:&pron:dem,тим/conj:subord,той/adj:m:v_oru:&pron:dem,той/adj:n:v_oru:&pron:dem,той/adj:p:v_dav:&pron:dem]" outputform="тим[той/adj:n:v_oru:&pron:dem]">А <marker>тим</marker> сонцем.</example> <example type="untouched">тим більше</example> <example type="untouched">тим часом</example> <example type="untouched">завдяки тим зусиллям</example> </rule> <rule name="Тим - прикметник мн. 1" id="tym_adj_p_1"> <pattern> <marker> <token>тим</token> </marker> <token postag_regexp="yes" postag="noun:inanim:p:v_dav.*"> <exception postag_regexp="yes" postag="(noun:inanim:|adj:)(m:v_oru|n:v_oru|.:v_...:nv).*"/> </token> </pattern> <disambig action="filter" postag="adj:p:v_dav.*"/> <example type="ambiguous" inputform="тим[те/noun:inanim:n:v_oru:&pron:dem,тим/conj:subord,той/adj:m:v_oru:&pron:dem,той/adj:n:v_oru:&pron:dem,той/adj:p:v_dav:&pron:dem]" outputform="тим[той/adj:p:v_dav:&pron:dem]">всім <marker>тим</marker> кредитам.</example> <example type="untouched">тим більше</example> <example type="untouched">тим часом</example> <example type="untouched">тим сонцем</example> <example type="untouched">тим паніні</example> <example type="untouched">тим чорним</example> </rule> <rule name="Тим - іменник с.р. 3" id="tym_noun_n_3"> <pattern> <token regexp="yes">з|із|перед|над|між|за|поміж|під|межи|понад</token> <marker> <token>тим</token> </marker> <token regexp="yes">[,.]</token> </pattern> <disambig action="filter" postag="noun:inanim:n:v_oru.*"/> <example type="ambiguous" inputform="тим[те/noun:inanim:n:v_oru:&pron:dem,тим/conj:subord,той/adj:m:v_oru:&pron:dem,той/adj:n:v_oru:&pron:dem,той/adj:p:v_dav:&pron:dem]" outputform="тим[те/noun:inanim:n:v_oru:&pron:dem]">рахувався з <marker>тим</marker>, що його не візьмуть.</example> <example type="untouched">тим більше</example> <example type="untouched">тим часом</example> </rule> --> <rule name="Чином - неіст." id="chynom_neist"> <pattern> <token regexp="yes">таким|яким(о?(сь))?|головним|певним|жодним|належним|схожим|відповідним|дивним</token> <marker> <token>чином</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_oru.*"/> <example type="ambiguous" inputform="чином[чин/noun:anim:m:v_oru,чин/noun:inanim:m:v_oru]" outputform="чином[чин/noun:inanim:m:v_oru]">таким <marker>чином</marker> його не взяли.</example> <example type="untouched">став великим чином</example> </rule> <rule name="Часом - іменник" id="chasom_noun"> <pattern> <token regexp="yes">з|із|перед|над|між|за|поміж|під|межи|понад</token> <marker> <token>часом</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_oru.*"/> <example type="ambiguous" inputform="часом[час/noun:inanim:m:v_oru,часом/adv]" outputform="часом[час/noun:inanim:m:v_oru]">а з <marker>часом</marker> не візьмуть.</example> <example type="untouched">люди часом заходили</example> </rule> <rule name="Часом - іменник" id="chasom_noun2"> <pattern> <token postag_regexp="yes" postag="adj:m:v_oru.*"/> <marker> <token>часом</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_oru.*"/> <example type="ambiguous" inputform="часом[час/noun:inanim:m:v_oru,часом/adv]" outputform="часом[час/noun:inanim:m:v_oru]">а тим <marker>часом</marker> візьмуть.</example> <example type="untouched">люди часом заходили</example> </rule> <rule name="Проти - прислівник" id="proty_adv_1"> <pattern> <marker> <token>проти</token> </marker> <token regexp="yes">[,.!?…:;—–-] <exception scope="next" postag_regexp="yes" postag=".*?insert.*"/> </token> </pattern> <disambig action="filter" postag="adv:&predic"/> <example type="ambiguous" inputform="проти[проти/adv:&predic,проти/prep]" outputform="проти[проти/adv:&predic]">ви будете не <marker>проти</marker>, що його не візьмуть.</example> <example type="untouched">проти сонця</example> <example type="untouched">проти, наприклад, шахтарів</example> </rule> <rule name="Проти - прислівник 2" id="proty_adv_2"> <pattern> <marker> <token>проти</token> </marker> <token postag_regexp="yes" postag="verb.*?:inf.*"> <exception postag_regexp="yes" postag="(noun|adj).*?v_rod.*"/> </token> </pattern> <disambig action="filter" postag="adv.*"/> <example type="ambiguous" inputform="проти[проти/adv:&predic,проти/prep]" outputform="проти[проти/adv:&predic]">чи він не <marker>проти</marker> попрацювати?</example> <example type="untouched">але проти сонця</example> </rule> <rule name="Проти - прислівник 2" id="proty_adv_3"> <pattern> <token inflected="yes" regexp="yes">не|чи|висловлюватися|виступати|бути|.*?голосувати</token> <marker> <token>проти</token> </marker> <token postag_regexp="yes" postag="(noun|adj).*?v_naz.*"> <exception postag_regexp="yes" postag="(noun|adj).*?v_rod.*"/> </token> </pattern> <disambig action="filter" postag="adv.*"/> <example type="ambiguous" inputform="проти[проти/adv:&predic,проти/prep]" outputform="проти[проти/adv:&predic]">чи не <marker>проти</marker> я попрацювати.</example> <example type="ambiguous" inputform="проти[проти/adv:&predic,проти/prep]" outputform="проти[проти/adv:&predic]">чи <marker>проти</marker> Кримський кабмін?</example> <example type="ambiguous" inputform="проти[проти/adv:&predic,проти/prep]" outputform="проти[проти/adv:&predic]">були <marker>проти</marker> ті, хто працював</example> <example type="untouched">але проти сонця</example> <example type="untouched">і проти солдат.</example> <example type="untouched">і проти воли виборців</example> </rule> <rule name="Проти - прийменник" id="proty_prep"> <pattern> <marker> <token postag="prep">проти <exception scope="previous" regexp="yes">не|але|чи</exception> </token> </marker> <token postag_regexp="yes" postag="(noun|adj).*"> <exception postag_regexp="yes" postag="verb:.*?inf.*"/> <exception>та</exception> </token> </pattern> <disambig action="filter" postag="prep"/> <example type="ambiguous" inputform="проти[проти/adv:&predic,проти/prep]" outputform="проти[проти/prep]">стояти <marker>проти</marker> сонця.</example> <example type="untouched">не будете проти,</example> <example type="untouched">не будете проти піти</example> <example type="untouched">чи не проти я</example> <example type="untouched">але проти Кримський кабмін</example> <example type="untouched">проголосували проти та одна утрималася</example> </rule> <rule name="Кінець/Шляхом - noun" id="kinec_noun_1"> <antipattern> <token regexp="yes">шляхом|кінець</token> <token postag_regexp="yes" postag=".*v_rod.*" /> </antipattern> <pattern> <marker> <token regexp="yes">шляхом|кінець</token> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="шляхом[шлях/noun:inanim:m:v_oru,шляхом/prep]" outputform="шляхом[шлях/noun:inanim:m:v_oru]">йти <marker>шляхом</marker>.</example> <example type="ambiguous" inputform="кінець[кінець/noun:inanim:m:v_naz,кінець/noun:inanim:m:v_zna,кінець/prep:arch]" outputform="кінець[кінець/noun:inanim:m:v_naz,кінець/noun:inanim:m:v_zna]">прийшов <marker>кінець</marker>.</example> <example type="ambiguous" inputform="кінець[кінець/noun:inanim:m:v_naz,кінець/noun:inanim:m:v_zna,кінець/prep:arch]" outputform="кінець[кінець/noun:inanim:m:v_naz,кінець/noun:inanim:m:v_zna]">прийшлов в сам <marker>кінець</marker>.</example> <example type="untouched">кінець стола.</example> <example type="untouched">кінець фільму</example> <example type="untouched">сів кінець столу</example> <example type="untouched">переконати шляхом примусу.</example> </rule> <rule name="Кінець - noun" id="kinec_noun_2"> <pattern> <token postag_regexp="yes" postag="prep.*"/> <marker> <token regexp="yes">кінець|меж</token> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="кінець[кінець/noun:inanim:m:v_naz,кінець/noun:inanim:m:v_zna,кінець/prep:arch]" outputform="кінець[кінець/noun:inanim:m:v_naz,кінець/noun:inanim:m:v_zna]">прийшов під <marker>кінець</marker> фільму.</example> <example type="ambiguous" inputform="меж[меж/prep:arch,межа/noun:inanim:p:v_rod]" outputform="меж[межа/noun:inanim:p:v_rod]">без <marker>меж</marker>.</example> <example type="untouched">меж очі</example> </rule> <!-- moved to the POSTag dict + rule <rule name="Раза з дробовими числівниками" id="RAZA_WITH_FRACTIONS"> <pattern> <token regexp="yes">[0-9]+,[0-9]+|півтора</token> <marker> <token>раза</token> </marker> </pattern> <disambig action="add"><wd lemma="раз" pos="noun:inanim:m:v_rod"/></disambig> <example type="ambiguous" inputform="раза[раза]" outputform="раза[раз/noun:inanim:m:v_rod]">Аж в півтора <marker>раза</marker>.</example> <example type="ambiguous" inputform="раза[раза]" outputform="раза[раз/noun:inanim:m:v_rod]">Аж в 1,2 <marker>раза</marker>.</example> <example type="untouched">От така за раза.</example> </rule> --> <!-- <rule name="Тому - сполучник" id="tomu_conj"> <pattern> <marker> <token>тому</token> </marker> <token min="0">,</token> <token>що</token> </pattern> <disambig action="filter" postag="conj.*"/> <example type="ambiguous" inputform="тому[те/noun:inanim:n:v_dav:&pron:dem,те/noun:inanim:n:v_mis:&pron:dem,той/adj:m:v_dav:&pron:dem,той/adj:m:v_mis:&pron:dem,той/adj:n:v_dav:&pron:dem,той/adj:n:v_mis:&pron:dem,том/noun:inanim:m:v_dav,том/noun:inanim:m:v_mis,том/noun:inanim:m:v_rod,тому/adv,тому/conj:subord]" outputform="тому[тому/conj:subord]">Це сталося <marker>тому</marker>, що.</example> <example type="untouched">І тому і цьому.</example> <example type="untouched">Дякуючи тому, що ...</example> </rule> <rule name="Тому - не сполучник 1" id="tomu_non_conj_1"> <pattern> <marker> <token>тому</token> </marker> <token><exception>,</exception></token> </pattern> <disambig action="remove" postag="conj:subord"/> <example type="ambiguous" inputform="тому[те/noun:inanim:n:v_dav:&pron:dem,той/adj:m:v_dav:&pron:dem,той/adj:n:v_dav:&pron:dem,том/noun:inanim:m:v_dav,том/noun:inanim:m:v_rod,тому/adv,тому/conj:subord]" outputform="тому[те/noun:inanim:n:v_dav:&pron:dem,той/adj:m:v_dav:&pron:dem,той/adj:n:v_dav:&pron:dem,том/noun:inanim:m:v_dav,том/noun:inanim:m:v_rod,тому/adv]" >Дали <marker>тому</marker> хлопцю</example> <example type="untouched">І тому, що.</example> </rule> <rule name="Тому - не сполучник 2" id="tomu_non_conj_2"> <pattern> <marker> <token>тому</token> </marker> <token>,</token> <token><exception>що</exception></token> </pattern> <disambig action="remove" postag="conj:subord"/> <example type="ambiguous" inputform="тому[те/noun:inanim:n:v_dav:&pron:dem,той/adj:m:v_dav:&pron:dem,той/adj:n:v_dav:&pron:dem,том/noun:inanim:m:v_dav,том/noun:inanim:m:v_rod,тому/adv,тому/conj:subord]" outputform="тому[те/noun:inanim:n:v_dav:&pron:dem,той/adj:m:v_dav:&pron:dem,той/adj:n:v_dav:&pron:dem,том/noun:inanim:m:v_dav,том/noun:inanim:m:v_rod,тому/adv]" >Відбулося саме <marker>тому</marker>, і </example> <example type="untouched">І тому, що.</example> </rule> --> <!-- category: noun --> <rule name="Короткого метру" id="KOROTKOGO_METRU"> <pattern> <token regexp="yes">короткого|повного</token> <marker> <token>метру</token> </marker> </pattern> <disambig><wd lemma="метр" pos="noun:inanim:m:v_rod"/></disambig> <example type="ambiguous" inputform="метру[метр/noun:anim:m:v_dav,метр/noun:inanim:m:v_dav]" outputform="метру[метр/noun:inanim:m:v_rod]">Фестиваль короткого <marker>метру</marker>.</example> <example type="untouched">На тому метру.</example> </rule> <rule name="Шлем/шолом 1" id="shlem_sholom_1"> <pattern> <token case_sensitive="yes" regexp="yes">Велик.*|Мал.*|Гранд|[«"“„]</token> <marker> <token inflected="yes" postag_regexp="yes" postag="noun.*:bad.*">шлем</token> </marker> </pattern> <disambig action="remove" postag="noun.*?:bad.*"/> <example type="ambiguous" inputform="шлему[шлем/noun:inanim:m:v_dav:bad:xp2,шлем/noun:inanim:m:v_dav:xp1,шлем/noun:inanim:m:v_rod:xp1]" outputform="шлему[шлем/noun:inanim:m:v_dav:xp1,шлем/noun:inanim:m:v_rod:xp1]">Серія Великого <marker>шлему</marker>.</example> <example type="untouched">Такого великого шолома.</example> </rule> <rule name="Шлем/шолом 2" id="shlem_sholom_2"> <pattern> <!-- <token negate="yes" case_sensitive="yes" regexp="yes">Велик.*|Мал.*|Гранд|[«"„]</token> --> <marker> <token inflected="yes" postag_regexp="yes" postag="noun.*?:bad.*">шлем</token> </marker> </pattern> <disambig action="remove" postag="noun.*?:xp1.*"/> <example type="ambiguous" inputform="шлему[шлем/noun:inanim:m:v_dav:bad:xp2,шлем/noun:inanim:m:v_dav:xp1,шлем/noun:inanim:m:v_rod:xp1]" outputform="шлему[шлем/noun:inanim:m:v_dav:bad:xp2]">Такому великому <marker>шлему</marker>.</example> <example type="untouched">Серія Великого шолому.</example> </rule> <rule name="Великого шолому" id="velykogo_sholomu"> <pattern> <token case_sensitive="yes">Великого</token> <marker> <token>шолому</token> </marker> </pattern> <disambig><wd lemma="шолом" pos="noun:inanim:m:v_rod"/></disambig> <example type="ambiguous" inputform="шолому[шолом/noun:inanim:m:v_dav]" outputform="шолому[шолом/noun:inanim:m:v_rod]">Серія Великого <marker>шолому</marker>.</example> <example type="untouched">Такого великого шолома.</example> </rule> <!-- <rule name="Ловити вітра" id="LOVYTY_VITRA"> <pattern> <token inflected="yes" regexp="yes">ловити|шукати|виглядати</token> <marker> <token>вітра</token> </marker> </pattern> <disambig><wd lemma="вітер" pos="noun:inanim:m:v_rod"/></disambig> <example type="ambiguous" inputform="вітра[вітра]" outputform="вітра[вітер/noun:inanim:m:v_rod]">шукай <marker>вітра</marker> в полі.</example> <example type="untouched">Швидкого вітра.</example> </rule> --> <rule name="Дача - надання" id="dacha-giving"> <pattern> <marker> <token inflected="yes" postag_regexp="yes" postag="noun.*?:bad.*">дача</token> </marker> <token postag_regexp="yes" postag="adj.*" min="0"/> <token regexp="yes" inflected="yes" postag_regexp="yes" postag="(noun|adj).*?:v_rod.*|adv.*">показання|показ|свідчення|пояснення|хабар|оцінка|згода|хибний|неправдивий|свідомо|завідомо</token> </pattern> <disambig action="filter" postag="noun.*?:bad.*"/> <example type="ambiguous" inputform="дачі[дача/noun:inanim:f:v_dav:bad:xp2,дача/noun:inanim:f:v_dav:xp1,дача/noun:inanim:f:v_rod:bad:xp2,дача/noun:inanim:f:v_rod:xp1,дача/noun:inanim:p:v_naz:xp1,дача/noun:inanim:p:v_zna:xp1]" outputform="дачі[дача/noun:inanim:f:v_dav:bad:xp2,дача/noun:inanim:f:v_rod:bad:xp2]">Від <marker>дачі</marker> показань.</example> <example type="ambiguous" inputform="дачу[дача/noun:inanim:f:v_zna:bad:xp2,дача/noun:inanim:f:v_zna:xp1]" outputform="дачу[дача/noun:inanim:f:v_zna:bad:xp2]">На <marker>дачу</marker> неправдивих свідчень.</example> <example type="ambiguous" inputform="дачу[дача/noun:inanim:f:v_zna:bad:xp2,дача/noun:inanim:f:v_zna:xp1]" outputform="дачу[дача/noun:inanim:f:v_zna:bad:xp2]">На <marker>дачу</marker> свідомо неправдивих свідчень.</example> <example type="untouched">В мене на дачі.</example> </rule> <rule name="Дача - будинок" id="dacha-house_1"> <pattern> <token regexp="yes" inflected="yes">на|з|неподалік|купувати|будувати|здавати</token> <!-- <token postag_regexp="yes" postag="adj:[fp]:.*" min="0"> <exception inflected="yes" regexp="yes">добровільний|примусовий|масовий</exception> </token> --> <marker> <token inflected="yes" postag_regexp="yes" postag="noun(?!.*?:bad).*">дача <exception scope="next" regexp="yes" inflected="yes" postag_regexp="yes" postag="(noun|adj).*?:v_rod.*|adv.*">показання|показ|свідчення|пояснення|хабар|оцінка|згода|хибний|неправдивий|свідомо|завідомо</exception> </token> </marker> </pattern> <disambig action="remove" postag="noun.*?:bad.*"/> <example type="ambiguous" inputform="дачі[дача/noun:inanim:f:v_dav:bad:xp2,дача/noun:inanim:f:v_dav:xp1,дача/noun:inanim:f:v_mis:bad:xp2,дача/noun:inanim:f:v_mis:xp1,дача/noun:inanim:f:v_rod:bad:xp2,дача/noun:inanim:f:v_rod:xp1,дача/noun:inanim:p:v_naz:xp1,дача/noun:inanim:p:v_zna:xp1]" outputform="дачі[дача/noun:inanim:f:v_dav:xp1,дача/noun:inanim:f:v_mis:xp1,дача/noun:inanim:f:v_rod:xp1,дача/noun:inanim:p:v_naz:xp1,дача/noun:inanim:p:v_zna:xp1]">в мене на <marker>дачі</marker>.</example> <example type="ambiguous" inputform="дачу[дача/noun:inanim:f:v_zna:bad:xp2,дача/noun:inanim:f:v_zna:xp1]" outputform="дачу[дача/noun:inanim:f:v_zna:xp1]">На <marker>дачу</marker>,</example> <example type="untouched">Від дачі показань.</example> <example type="untouched">на дачі показань.</example> <example type="untouched">на добровільній дачі показань.</example> </rule> <rule name="Дача - будинок" id="dacha-house_2"> <pattern> <unify> <feature id="gender"/> <feature id="case"/> <token postag_regexp="yes" postag="adj:[fp]:.*"> <exception inflected="yes" regexp="yes">добровільний|примусовий|масовий</exception> </token> <marker> <token inflected="yes" postag_regexp="yes" postag="noun(?!.*?:bad).*">дача <exception scope="next" regexp="yes" inflected="yes" postag_regexp="yes" postag="(noun|adj).*?:v_rod.*|adv.*">показання|показ|свідчення|пояснення|хабар|оцінка|згода|хибний|неправдивий|свідомо|завідомо</exception> </token> </marker> </unify> </pattern> <disambig action="remove" postag="noun.*?:bad.*"/> <example type="ambiguous" inputform="дачі[дача/noun:inanim:f:v_dav:bad:xp2,дача/noun:inanim:f:v_dav:xp1,дача/noun:inanim:f:v_rod:bad:xp2,дача/noun:inanim:f:v_rod:xp1,дача/noun:inanim:p:v_naz:xp1,дача/noun:inanim:p:v_zna:xp1]" outputform="дачі[дача/noun:inanim:f:v_dav:xp1,дача/noun:inanim:f:v_rod:xp1,дача/noun:inanim:p:v_naz:xp1,дача/noun:inanim:p:v_zna:xp1]">З моєї <marker>дачі</marker>.</example> <example type="untouched">Від дачі показань.</example> <example type="untouched">на дачі показань.</example> <example type="untouched">на добровільний дачі свідчень.</example> </rule> <rule name="Заморозки - мн." id="zamorozky_noun_plural_1"> <pattern> <token postag_regexp="yes" postag="adj:p:v_(naz|zna).*"/> <marker> <token>заморозки</token> </marker> </pattern> <disambig action="remove" postag="noun.*?:bad.*"/> <example type="ambiguous" inputform="заморозки[заморозка/noun:inanim:f:v_rod:bad,заморозок/noun:inanim:p:v_naz,заморозок/noun:inanim:p:v_zna]" outputform="заморозки[заморозок/noun:inanim:p:v_naz,заморозок/noun:inanim:p:v_zna]">перші <marker>заморозки</marker>.</example> <example type="untouched">прикладення повної заморозки</example> </rule> <rule name="Заморозки - мн." id="zamorozky_noun_plural_2"> <pattern> <token postag_regexp="yes" postag="verb.*?(:p:3|:past:p).*"/> <marker> <token>заморозки</token> </marker> </pattern> <disambig action="remove" postag="noun.*?:bad.*"/> <example type="ambiguous" inputform="заморозки[заморозка/noun:inanim:f:v_rod:bad,заморозок/noun:inanim:p:v_naz,заморозок/noun:inanim:p:v_zna]" outputform="заморозки[заморозок/noun:inanim:p:v_naz,заморозок/noun:inanim:p:v_zna]">прийдуть <marker>заморозки</marker>.</example> <example type="untouched">прикладення заморозки</example> </rule> <rule name="Заморозки - ж.р." id="zamorozky_noun_f_1"> <pattern> <token postag_regexp="yes" postag="adj:f:v_rod.*"/> <marker> <token>заморозки</token> </marker> </pattern> <disambig action="filter" postag="noun.*?:bad.*"/> <example type="ambiguous" inputform="заморозки[заморозка/noun:inanim:f:v_rod:bad,заморозок/noun:inanim:p:v_naz,заморозок/noun:inanim:p:v_zna]" outputform="заморозки[заморозка/noun:inanim:f:v_rod:bad]">до повної <marker>заморозки</marker>.</example> <example type="untouched">перші заморозки</example> </rule> <rule name="Стрілка - ж.р." id="strilka_f_1"> <pattern> <token inflected="yes" regexp="yes">годинниковий|хвилинний|секундний|переведення|переводити|перевести</token> <marker> <token inflected="yes" postag_regexp="yes" postag="noun:inanim:[fp]:.*">стрілка</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:[fp].*"/> <example type="ambiguous" inputform="стрілок[стрілка/noun:inanim:p:v_rod,стрілок/noun:anim:m:v_naz:bad]" outputform="стрілок[стрілка/noun:inanim:p:v_rod]">переведення <marker>стрілок</marker>.</example> <example type="untouched">видатний стрілок</example> </rule> <rule name="Стрілка - ж.р." id="strilka_f_2"> <pattern> <unify> <feature id="gender"/> <feature id="case"/> <token postag_regexp="yes" postag="adj:(f:v_naz|f:v_rod|f:v_zna|p:v_rod).*"> <!-- <exception postag_regexp="yes" postag="adj:(m:v_(rod|dav|naz|zna:ranim)|p:v_(?!rod).*).*" /> --> </token> <marker> <token inflected="yes" postag_regexp="yes" postag="noun:inanim:(f:v_naz|f:v_rod|f:v_zna|p:v_rod).*">стрілка</token> </marker> </unify> </pattern> <disambig action="remove" postag="noun.*?:bad.*"/> <example type="ambiguous" inputform="стрілка[стрілка/noun:inanim:f:v_naz,стрілок/noun:anim:m:v_rod:bad,стрілок/noun:anim:m:v_zna:bad]" outputform="стрілка[стрілка/noun:inanim:f:v_naz]">маленька <marker>стрілка</marker>.</example> <example type="ambiguous" inputform="стрілку[стрілка/noun:inanim:f:v_zna,стрілок/noun:anim:m:v_dav:bad,стрілок/noun:anim:m:v_mis:bad]" outputform="стрілку[стрілка/noun:inanim:f:v_zna]">маленьку <marker>стрілку</marker>.</example> <example type="ambiguous" inputform="стрілок[стрілка/noun:inanim:p:v_rod,стрілок/noun:anim:m:v_naz:bad]" outputform="стрілок[стрілка/noun:inanim:p:v_rod]">маленьких <marker>стрілок</marker>.</example> <example type="untouched">Ворошилівські стрілки</example> <example type="untouched">видатному стрілку</example> <example type="untouched">видатного стрілка</example> <example type="untouched">видатний стрілок</example> </rule> <rule name="Стрілка - ч.р." id="strilok_m_1"> <pattern> <unify> <feature id="gender"/> <feature id="case"/> <token postag_regexp="yes" postag="adj:m:v_(rod|dav|naz).*"> <!-- <exception postag_regexp="yes" postag="adj:(f:v_(naz|zna)|p:v_(rod|v_zna:rinanim)).*" /> --> </token> <marker> <token inflected="yes" postag_regexp="yes" postag="noun:anim:m:v_(rod|dav|naz).*">стрілок</token> </marker> </unify> </pattern> <disambig action="filter" postag="noun.*?:bad.*"/> <example type="ambiguous" inputform="стрілок[стрілка/noun:inanim:p:v_rod,стрілок/noun:anim:m:v_naz:bad]" outputform="стрілок[стрілок/noun:anim:m:v_naz:bad]">спритний <marker>стрілок</marker>.</example> <example type="ambiguous" inputform="стрілку[стрілка/noun:inanim:f:v_zna,стрілок/noun:anim:m:v_dav:bad,стрілок/noun:anim:m:v_mis:bad]" outputform="стрілку[стрілок/noun:anim:m:v_dav:bad,стрілок/noun:anim:m:v_mis:bad]">спритному <marker>стрілку</marker>.</example> <example type="ambiguous" inputform="стрілка[стрілка/noun:inanim:f:v_naz,стрілок/noun:anim:m:v_rod:bad,стрілок/noun:anim:m:v_zna:bad]" outputform="стрілка[стрілок/noun:anim:m:v_rod:bad,стрілок/noun:anim:m:v_zna:bad]">спритного <marker>стрілка</marker>.</example> <example type="untouched">«стрілка»</example> <example type="untouched">Ворошилівські стрілки</example> <example type="untouched">до стрілки</example> <example type="untouched">і стрілку</example> </rule> <rule name="Бал + числівник" id="bal_with_numr"> <pattern> <token postag_regexp="yes" postag="num.*"/> <marker> <token inflected="yes" postag_regexp="yes" postag="noun:inanim:.*:xp1">бал</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:.*:xp1"/> <example type="ambiguous" inputform="балів[бал/noun:inanim:p:v_rod:xp1,бал/noun:inanim:p:v_rod:xp2]" outputform="балів[бал/noun:inanim:p:v_rod:xp1]">10-12 <marker>балів</marker>.</example> <example type="ambiguous" inputform="балів[бал/noun:inanim:p:v_rod:xp1,бал/noun:inanim:p:v_rod:xp2]" outputform="балів[бал/noun:inanim:p:v_rod:xp1]">шість <marker>балів</marker>.</example> <example type="untouched">розкішних балів</example> </rule> <rule name="Грати - іменник" id="hraty-noun"> <pattern> <token regexp="yes" inflected="yes">за|крізь|через|повз|об|фортечний|загороджувальний|.*?ламати|.*?пиляти|.*?пилювати|зривати|зірвати|встановл.*</token> <token postag_regexp="yes" postag="adj.*" min="0"/> <marker> <token>грати</token> </marker> </pattern> <disambig action="filter" postag="noun.*?:bad.*"/> <example type="ambiguous" inputform="грати[грати/noun:inanim:p:v_naz:ns:bad,грати/noun:inanim:p:v_zna:ns:bad,грати/verb:imperf:inf]" outputform="грати[грати/noun:inanim:p:v_naz:ns:bad,грати/noun:inanim:p:v_zna:ns:bad]">кинули за <marker>грати</marker>.</example> <example type="untouched">почав грати.</example> </rule> <rule name="Грати - іменник 2" id="hraty-noun2"> <pattern> <token regexp="yes">міцні|сталеві|важкі|ті</token> <marker> <token>грати</token> </marker> </pattern> <disambig action="filter" postag="noun.*?:bad.*"/> <example type="ambiguous" inputform="грати[грати/noun:inanim:p:v_naz:ns:bad,грати/noun:inanim:p:v_zna:ns:bad,грати/verb:imperf:inf]" outputform="грати[грати/noun:inanim:p:v_naz:ns:bad,грати/noun:inanim:p:v_zna:ns:bad]">міцні <marker>грати</marker> за вікном.</example> <example type="untouched">почав грати.</example> </rule> <rule name="Грати - дієслово" id="hraty-verb"> <pattern> <marker> <token>грати <exception scope="previous" postag_regexp="yes" postag="adj:p:(v_naz|v_zna:inanim).*|prep.*"></exception> </token> </marker> </pattern> <disambig action="remove" postag="noun.*?:bad.*"/> <example type="ambiguous" inputform="грати[грати/noun:inanim:p:v_naz:ns:bad,грати/noun:inanim:p:v_zna:ns:bad,грати/verb:imperf:inf]" outputform="грати[грати/verb:imperf:inf]">почав <marker>грати</marker> на скрипці.</example> <example type="untouched">гарні грати.</example> <example type="untouched">стукати у грати.</example> </rule> <rule name="діти - дієслово" id="dity-verb"> <pattern> <token>правди</token> <marker> <token>діти</token> </marker> </pattern> <disambig action="filter" postag="verb.*"/> <example type="ambiguous" inputform="діти[дитина/noun:anim:p:v_naz,діти/verb:perf:inf]" outputform="діти[діти/verb:perf:inf]">ніде правди <marker>діти</marker>.</example> <example type="untouched">мої діти.</example> </rule> <rule name="діти - іменник" id="dity-noun"> <pattern> <marker> <token postag_regexp="yes" postag="noun:anim:p.*">діти</token> </marker> </pattern> <disambig action="filter" postag="noun:anim:p.*"/> <example type="ambiguous" inputform="діти[дитина/noun:anim:p:v_naz,діти/verb:perf:inf]" outputform="діти[дитина/noun:anim:p:v_naz]">чиїсь <marker>діти</marker>.</example> <example type="untouched">ніде правди діти.</example> </rule> <rule name="пристрою - іменник" id="prystroyu-noun"> <pattern> <token postag_regexp="yes" postag="adj:m:v_rod.*|prep.*"/> <marker> <token>пристрою</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:.*"/> <example type="ambiguous" inputform="пристрою[пристроїти/verb:perf:futr:s:1,пристрій/noun:inanim:m:v_dav,пристрій/noun:inanim:m:v_rod]" outputform="пристрою[пристрій/noun:inanim:m:v_dav,пристрій/noun:inanim:m:v_rod]">Із <marker>пристрою</marker>.</example> <example type="untouched">я його десь пристрою.</example> </rule> <rule name="держав - іменник" id="derzhav-noun"> <pattern> <token postag_regexp="yes" postag="adj:p:v_rod.*|.*?num.*|prep"/> <marker> <token>держав</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:p:v_rod.*"/> <example type="ambiguous" inputform="держав[держава/noun:inanim:p:v_rod,держати/verb:imperf:past:m]" outputform="держав[держава/noun:inanim:p:v_rod]">Двох незалежних <marker>держав</marker>.</example> <example type="untouched">держав її в своїх руках.</example> </rule> <rule name="вчений - прикметник" id="vchenyi-adj"> <pattern> <marker> <token inflected="yes">вчений</token> </marker> <token inflected="yes" regexp="yes">секретар|ступінь|звання|рада|людина|чоловік</token> </pattern> <disambig action="filter" postag="adj.*"/> <example type="ambiguous" inputform="вчений[вчений/adj:m:v_kly:&adjp:pasv:imperf,вчений/adj:m:v_naz:&adjp:pasv:imperf,вчений/adj:m:v_zna:rinanim:&adjp:pasv:imperf,вчений/noun:anim:m:v_kly,вчений/noun:anim:m:v_naz]" outputform="вчений[вчений/adj:m:v_kly:&adjp:pasv:imperf,вчений/adj:m:v_naz:&adjp:pasv:imperf,вчений/adj:m:v_zna:rinanim:&adjp:pasv:imperf]">отримав <marker>вчений</marker> ступінь.</example> <example type="untouched">держав її в своїх руках.</example> </rule> <rule name="українська - прикметник" id="ukrainska-adj"> <pattern> <unify> <feature id="gender"/> <feature id="case"/> <marker> <token inflected="yes" postag_regexp="yes" postag="adj:f:.*" regexp="yes">український|російський|англіський|німецький|польський|французький|білоруський|іспанський|японський|арабський|шведський</token> </marker> <token postag_regexp="yes" postag="noun:.*?:f:.*"/> </unify> </pattern> <disambig action="filter" postag="adj:f:.*"/> <example type="ambiguous" inputform="української[українська/noun:inanim:f:v_rod,український/adj:f:v_rod:compb]" outputform="української[український/adj:f:v_rod:compb]">до <marker>української</marker> нації.</example> <example type="untouched">різними мовами, зокрема українською.</example> <example type="untouched">англійською, українською дівчина говорила вільно.</example> </rule> <rule name="ласка - inanim" id="laska_inanim"> <pattern> <token>будь</token> <marker> <token>ласка</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim.*"/> <example type="ambiguous" inputform="ласка[ласка/noun:anim:f:v_naz,ласка/noun:inanim:f:v_naz]" outputform="ласка[ласка/noun:inanim:f:v_naz]">І будь <marker>ласка</marker>, завітайте. </example> <example type="untouched">хитра ласка</example> </rule> <rule name="ласка - inanim" id="laska_inanim2"> <pattern> <token regexp="yes">коли|як|якщо</token> <token regexp="yes">ваша|твоя</token> <marker> <token>ласка</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim.*"/> <example type="ambiguous" inputform="ласка[ласка/noun:anim:f:v_naz,ласка/noun:inanim:f:v_naz]" outputform="ласка[ласка/noun:inanim:f:v_naz]">коли ваша <marker>ласка</marker>, завітайте. </example> <example type="untouched">хитра ласка</example> </rule> <rule name="ласка - inanim" id="laska_inanim3"> <pattern> <token regexp="yes">материнська|материна|жіноча|божа|господня</token> <marker> <token>ласка</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim.*"/> <example type="ambiguous" inputform="ласка[ласка/noun:anim:f:v_naz,ласка/noun:inanim:f:v_naz]" outputform="ласка[ласка/noun:inanim:f:v_naz]">коли материнська <marker>ласка</marker>. </example> <example type="untouched">хитра ласка</example> </rule> <rule name="мати - не з.в." id="maty_non_v_zna"> <pattern> <token>мати <exception scope="previous" postag_regexp="yes" postag="adj:f:v_zna.*"/> </token> </pattern> <disambig action="remove" postag="noun:anim:f:v_zna:rare"/> <example type="ambiguous" inputform="мати[мат/noun:inanim:p:v_naz,мат/noun:inanim:p:v_zna,мати/noun:anim:f:v_kly,мати/noun:anim:f:v_naz,мати/noun:anim:f:v_zna:rare,мати/verb:imperf:inf]" outputform="мати[мат/noun:inanim:p:v_naz,мат/noun:inanim:p:v_zna,мати/noun:anim:f:v_kly,мати/noun:anim:f:v_naz,мати/verb:imperf:inf]">прийшла <marker>мати</marker>. </example> <example type="untouched">побачив свою мати</example> </rule> <rule name="мати - verb" id="maty_verb"> <pattern> <token regexp="yes" inflected="yes">могти|змогти|можна|можливо|неможливо|мусити|потрібно|необхідно|варто|повинний|дозволити</token> <marker> <token>мати</token> </marker> <token postag_regexp="yes" postag=".*v_zna.*"/> </pattern> <disambig action="filter" postag="verb:imperf:inf"/> <example type="ambiguous" inputform="мати[мат/noun:inanim:p:v_naz,мат/noun:inanim:p:v_zna,мати/noun:anim:f:v_kly,мати/noun:anim:f:v_naz,мати/verb:imperf:inf]" outputform="мати[мати/verb:imperf:inf]">зможе <marker>мати</marker> психічні проблеми. </example> <example type="untouched">мати щось почула</example> </rule> <rule name="справа - noun" id="sprava_noun"> <pattern> <token regexp="yes">одна|інша|ця|його|її|їхня|наша|ваша|твоя|вся|велика|складна|добра|особиста</token> <marker> <token>справа</token> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="справа[справа/adv,справа/noun:inanim:f:v_naz]" outputform="справа[справа/noun:inanim:f:v_naz]">одна <marker>справа</marker>. </example> <example type="untouched">перша - справа.</example> </rule> <rule name="дати - verb" id="daty_verb"> <pattern> <marker> <token>дати <exception scope="previous" postag_regexp="yes" postag="prep.*|adj:f:v_rod.*"/> </token> </marker> <token postag_regexp="yes" postag=".*v_(dav|zna).*"> <exception postag_regexp="yes" postag=".*v_rod.*"/> </token> </pattern> <disambig action="filter" postag="verb.*"/> <example type="ambiguous" inputform="дати[дата/noun:inanim:f:v_rod,дата/noun:inanim:p:v_naz,дата/noun:inanim:p:v_zna,дати/verb:perf:inf]" outputform="дати[дати/verb:perf:inf]"><marker>дати</marker> спокій. </example> <example type="untouched">дати повстання.</example> <example type="untouched">від дати.</example> <example type="untouched">пам'ятної дати.</example> </rule> <rule name="нічого - іменн." id="nichogo_noun"> <pattern> <marker> <token>нічого</token> </marker> <token>не</token> </pattern> <disambig action="filter" postag="noun:inanim:n:v_rod:&pron:neg:&predic"/> <example type="ambiguous" inputform="нічого[нічого/noun:inanim:n:v_rod:&pron:emph:&predic,ніщо/noun:inanim:n:v_rod:&pron:neg:&predic]" outputform="нічого[ніщо/noun:inanim:n:v_rod:&pron:neg:&predic]">він <marker>нічого</marker> не мав. </example> <example type="untouched">йому нічого сказати</example> </rule> <rule name="кілька - числ." id="kilka_numr"> <pattern> <marker> <token>кілька</token> </marker> <token postag_regexp="yes" postag="(noun.*?|adj):p:v_rod.*"/> </pattern> <disambig action="filter" postag="numr.*"/> <example type="ambiguous" inputform="кілька[кілька/noun:anim:f:v_naz,кілька/numr:p:v_naz:&pron:ind,кілька/numr:p:v_zna:&pron:ind]" outputform="кілька[кілька/numr:p:v_naz:&pron:ind,кілька/numr:p:v_zna:&pron:ind]">І <marker>кілька</marker> годин тому. </example> <example type="untouched">велика і мала кілька.</example> </rule> <rule name="Іменник та числівник сорока" id="DIS_NOUN_AND_NUMR_40"> <pattern> <token regexp="yes">до|мінус|плюс|приблизно</token> <marker> <token regexp="yes">сорока|п'яти</token> </marker> </pattern> <disambig action="filter" postag="numr.*"/> <example type="ambiguous" inputform="сорока[</S>,сорок/numr:p:v_dav,сорок/numr:p:v_oru,сорок/numr:p:v_rod,сорок/numr:p:v_zna,сорока/noun:anim:f:v_naz]" outputform="сорока[</S>,сорок/numr:p:v_dav,сорок/numr:p:v_oru,сорок/numr:p:v_rod,сорок/numr:p:v_zna]" >до мінус <marker>сорока</marker></example> <example type="untouched">полетіла сорока</example> <!-- TODO: <example type="untouched">приклав до п'яти</example> --> </rule> <rule name="Округи (іменник - не прийменник)" id="OKRUGY"> <pattern> <token>округи</token> </pattern> <disambig action="remove" postag="prep"/> <example type="ambiguous" inputform="округи[округ/noun:inanim:p:v_naz,округ/noun:inanim:p:v_zna,округа/noun:inanim:f:v_rod,округа/noun:inanim:p:v_naz,округа/noun:inanim:p:v_zna,округи/prep]" outputform="округи[округ/noun:inanim:p:v_naz,округ/noun:inanim:p:v_zna,округа/noun:inanim:f:v_rod,округа/noun:inanim:p:v_naz,округа/noun:inanim:p:v_zna]" >Одномандатні <marker>округи</marker>.</example> </rule> <rule name="Лютого" id="LYUTYI"> <pattern> <token regexp="yes">[1-9]|[12][0-9]|[12]?[0-9][—–-][12]?[0-9]</token> <marker> <token>лютого</token> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="лютого[</S>,лютий/adj:m:v_rod:compb,лютий/adj:m:v_zna:ranim:compb,лютий/adj:n:v_rod:compb,лютий/noun:inanim:m:v_rod]" outputform="лютого[</S>,лютий/noun:inanim:m:v_rod]">23 <marker>лютого</marker></example> <example type="untouched">такого лютого морозу</example> </rule> <rule name="Лютого2" id="LYUTYI2"> <pattern> <marker> <token inflected="yes">лютий</token> </marker> <token regexp="yes">[0-9]+</token> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="лютому[лютий/adj:m:v_dav:compb,лютий/adj:m:v_mis:compb,лютий/adj:n:v_dav:compb,лютий/adj:n:v_mis:compb,лютий/noun:inanim:m:v_dav,лютий/noun:inanim:m:v_mis]" outputform="лютому[лютий/noun:inanim:m:v_dav,лютий/noun:inanim:m:v_mis]">в <marker>лютому</marker> 2014</example> <example type="untouched">лютого морозу</example> </rule> <rule name="Чайна" id="chayna"> <pattern> <marker> <token inflected="yes">чайна</token> </marker> <token inflected="yes" regexp="yes">ложка|сервіз|церемонія|кущ|троянда|заварка|запарка</token> </pattern> <disambig action="filter" postag="adj.*"/> <example type="ambiguous" inputform="чайній[чайна/noun:inanim:f:v_dav,чайна/noun:inanim:f:v_mis,чайний/adj:f:v_dav,чайний/adj:f:v_mis]" outputform="чайній[чайний/adj:f:v_dav,чайний/adj:f:v_mis]">на <marker>чайній</marker> церемонії</example> <example type="untouched">меню чайних і ресторанів</example> </rule> <rule name="Прийменник і частка 'на'" id="DIS_PREP_NA1"> <pattern> <token>на <exception scope="next" regexp="yes">тобі|маєш</exception> </token> <token negate="yes" regexp="yes">[\p{Punct}–—«“„…]|[!?.]{3}</token> </pattern> <disambig action="filter" postag="prep.*|<.*"/> <example type="ambiguous" inputform="На[на/intj,на/part,на/prep]" outputform="На[на/prep]"><marker>На</marker> столі лежала книжка.</example> <example type="ambiguous" inputform="На[на/intj,на/part,на/prep]" outputform="На[на/prep]"><marker>На</marker> трьох.</example> <example type="ambiguous" inputform="На[на/intj,на/part,на/prep]" outputform="На[на/prep]"><marker>На</marker> сьогодні.</example> <example type="untouched">На тобі портфель.</example> <example type="untouched">Ось тобі й на…</example> <!-- <example type="untouched">На портфель, Василю.</example> --> </rule> <!-- TODO: needed when we can ignore insert phrases <rule name="Прийменник і частка 'на' з комою" id="DIS_PREP_NA2"> <pattern> <token>на <exception scope="previous" regexp="yes">[,—]|ось|от|тобі</exception> </token> <token>,</token> <token> <exception regexp="yes">маєш|на|тобі|це|[—–-]</exception> <exception postag_regexp="yes" postag="verb.*?:impr.*"/> <exception postag_regexp="yes" postag="noun.*?:v_kly.*"/> </token> </pattern> <disambig><match no="1" postag="prep.*|<.*" postag_regexp="yes"/></disambig> <example type="ambiguous" inputform="На[на/intj,на/part,на/prep:rv_zna:rv_mis]" outputform="На[на/prep:rv_zna:rv_mis]"><marker>На</marker>, мабуть, вже наступний поїзд.</example> <example type="untouched">На, маєш, тобі портфель.</example> <example type="untouched">На, на, гризи!</example> <example type="untouched">На, гризи!</example> <example type="untouched">На, це тобі!</example> <example type="untouched">на, небоже, що нікому не гоже</example> <example type="untouched">на, бери, бери все</example> <example type="untouched">треба електрозварників — на, малярів — будь ласка</example> <example type="untouched">Ось на, краще поїж</example> <example type="untouched">Ось на, і бувай здорова</example> <example type="untouched">І от тобі на, така метаморфоза</example> <example type="untouched">Ну, на, дурне, понюхай</example> </rule> --> <!-- <rule name="Згідно" id="DIS_PREP_ZGIDNO_Z1"> <pattern> <marker> <token>згідно</token> </marker> <token>з</token> </pattern> <disambig action="remove" postag="adv:compb"></disambig> <example type="ambiguous" inputform="Згідно[згідно/adv:compb]" outputform="Згідно[Згідно]"><marker>Згідно</marker> з правилом.</example> <example type="untouched">Вони жили згідно.</example> </rule> <rule name="Згідно" id="DIS_PREP_ZGIDNO_Z2"> <pattern> <token>згідно</token> <marker> <token>з</token> </marker> </pattern> <disambig action="remove" postag="prep"></disambig> <example type="ambiguous" inputform="з[з/prep]" outputform="з[з]">Згідно <marker>з</marker> правилом.</example> <example type="untouched">Вони жили згідно.</example> </rule> --> <!-- category: abbr --> <rule name="кв. - прикметник" id="kv-adj"> <pattern> <marker> <token>кв.</token> </marker> <token regexp="yes">[ксм]м</token> </pattern> <disambig action="filter" postag="adj:[mp]:.*"/> <example type="ambiguous" inputform="кв.[кв./adj:f:v_dav:nv:abbr,кв./adj:f:v_naz:nv:abbr,кв./adj:f:v_oru:nv:abbr,кв./adj:f:v_rod:nv:abbr,кв./adj:f:v_zna:nv:abbr,кв./adj:m:v_dav:nv:abbr,кв./adj:m:v_naz:nv:abbr,кв./adj:m:v_oru:nv:abbr,кв./adj:m:v_rod:nv:abbr,кв./adj:m:v_zna:rinanim:nv:abbr,кв./adj:n:v_dav:nv:abbr,кв./adj:n:v_naz:nv:abbr,кв./adj:n:v_oru:nv:abbr,кв./adj:n:v_rod:nv:abbr,кв./adj:n:v_zna:nv:abbr,кв./adj:p:v_dav:nv:abbr,кв./adj:p:v_naz:nv:abbr,кв./adj:p:v_oru:nv:abbr,кв./adj:p:v_rod:nv:abbr,кв./adj:p:v_zna:rinanim:nv:abbr,кв./noun:inanim:f:v_dav:nv:abbr,кв./noun:inanim:f:v_naz:nv:abbr,кв./noun:inanim:f:v_oru:nv:abbr,кв./noun:inanim:f:v_rod:nv:abbr,кв./noun:inanim:f:v_zna:nv:abbr]" outputform="кв.[кв./adj:m:v_dav:nv:abbr,кв./adj:m:v_naz:nv:abbr,кв./adj:m:v_oru:nv:abbr,кв./adj:m:v_rod:nv:abbr,кв./adj:m:v_zna:rinanim:nv:abbr,кв./adj:p:v_dav:nv:abbr,кв./adj:p:v_naz:nv:abbr,кв./adj:p:v_oru:nv:abbr,кв./adj:p:v_rod:nv:abbr,кв./adj:p:v_zna:rinanim:nv:abbr]" >155 <marker>кв.</marker> км.</example> <example type="untouched">14, кв. 88.</example> </rule> <rule name="ц.р. 1" id="c-r_1"> <pattern> <marker> <token>ц.</token> </marker> <token>р.</token> </pattern> <disambig postag="adj:m:v_rod:&pron:dem"/> <example type="ambiguous" inputform="ц.[ц.]" outputform="ц.[ц./adj:m:v_rod:&pron:dem]" >5 травня <marker>ц.</marker> р.</example> <example type="untouched">ц. т. їхні вірування й культ</example> </rule> <rule name="ц.р. 2" id="c-r_2"> <pattern> <token>ц.</token> <marker> <token>р.</token> </marker> </pattern> <disambig postag="noun:inanim:m:v_rod"/> <example type="ambiguous" inputform="р.[р./noun:inanim:f:v_dav:nv:abbr:xp2,р./noun:inanim:f:v_naz:nv:abbr:xp2,р./noun:inanim:f:v_oru:nv:abbr:xp2,р./noun:inanim:f:v_rod:nv:abbr:xp2,р./noun:inanim:f:v_zna:nv:abbr:xp2,р./noun:inanim:m:v_dav:nv:abbr:xp1,р./noun:inanim:m:v_naz:nv:abbr:xp1,р./noun:inanim:m:v_oru:nv:abbr:xp1,р./noun:inanim:m:v_rod:nv:abbr:xp1,р./noun:inanim:m:v_zna:nv:abbr:xp1]" outputform="р.[р./noun:inanim:m:v_rod]" >5 травня ц. <marker>р.</marker> вони пішли в наступ</example> <example type="untouched">1227 р.</example> </rule> <rule name="га - гектар 1" id="HA_HEKTAR_1"> <pattern> <token postag_regexp="yes" postag=".*?num.*"/> <marker> <token case_sensitive="yes">га</token> </marker> </pattern> <disambig action="filter" postag="noun.*?:abbr"/> <example type="ambiguous" inputform="га[га/intj,га/noun:inanim:m:v_dav:nv:abbr,га/noun:inanim:m:v_naz:nv:abbr,га/noun:inanim:m:v_oru:nv:abbr,га/noun:inanim:m:v_rod:nv:abbr,га/noun:inanim:m:v_zna:nv:abbr,га/noun:inanim:p:v_dav:nv:abbr,га/noun:inanim:p:v_naz:nv:abbr,га/noun:inanim:p:v_oru:nv:abbr,га/noun:inanim:p:v_rod:nv:abbr,га/noun:inanim:p:v_zna:nv:abbr]" outputform="га[га/noun:inanim:m:v_dav:nv:abbr,га/noun:inanim:m:v_naz:nv:abbr,га/noun:inanim:m:v_oru:nv:abbr,га/noun:inanim:m:v_rod:nv:abbr,га/noun:inanim:m:v_zna:nv:abbr,га/noun:inanim:p:v_dav:nv:abbr,га/noun:inanim:p:v_naz:nv:abbr,га/noun:inanim:p:v_oru:nv:abbr,га/noun:inanim:p:v_rod:nv:abbr,га/noun:inanim:p:v_zna:nv:abbr]">300 <marker>га</marker>.</example> <example type="ambiguous" inputform="га[га/intj,га/noun:inanim:m:v_dav:nv:abbr,га/noun:inanim:m:v_naz:nv:abbr,га/noun:inanim:m:v_oru:nv:abbr,га/noun:inanim:m:v_rod:nv:abbr,га/noun:inanim:m:v_zna:nv:abbr,га/noun:inanim:p:v_dav:nv:abbr,га/noun:inanim:p:v_naz:nv:abbr,га/noun:inanim:p:v_oru:nv:abbr,га/noun:inanim:p:v_rod:nv:abbr,га/noun:inanim:p:v_zna:nv:abbr]" outputform="га[га/noun:inanim:m:v_dav:nv:abbr,га/noun:inanim:m:v_naz:nv:abbr,га/noun:inanim:m:v_oru:nv:abbr,га/noun:inanim:m:v_rod:nv:abbr,га/noun:inanim:m:v_zna:nv:abbr,га/noun:inanim:p:v_dav:nv:abbr,га/noun:inanim:p:v_naz:nv:abbr,га/noun:inanim:p:v_oru:nv:abbr,га/noun:inanim:p:v_rod:nv:abbr,га/noun:inanim:p:v_zna:nv:abbr]">2 млн <marker>га</marker>.</example> <example type="untouched">каже йому: га?</example> </rule> <rule name="га - гектар 2" id="HA_HEKTAR_2"> <pattern> <token>/</token> <marker> <token case_sensitive="yes">га</token> </marker> </pattern> <disambig action="filter" postag="noun.*?:abbr"/> <example type="ambiguous" inputform="га[га/intj,га/noun:inanim:m:v_dav:nv:abbr,га/noun:inanim:m:v_naz:nv:abbr,га/noun:inanim:m:v_oru:nv:abbr,га/noun:inanim:m:v_rod:nv:abbr,га/noun:inanim:m:v_zna:nv:abbr,га/noun:inanim:p:v_dav:nv:abbr,га/noun:inanim:p:v_naz:nv:abbr,га/noun:inanim:p:v_oru:nv:abbr,га/noun:inanim:p:v_rod:nv:abbr,га/noun:inanim:p:v_zna:nv:abbr]" outputform="га[га/noun:inanim:m:v_dav:nv:abbr,га/noun:inanim:m:v_naz:nv:abbr,га/noun:inanim:m:v_oru:nv:abbr,га/noun:inanim:m:v_rod:nv:abbr,га/noun:inanim:m:v_zna:nv:abbr,га/noun:inanim:p:v_dav:nv:abbr,га/noun:inanim:p:v_naz:nv:abbr,га/noun:inanim:p:v_oru:nv:abbr,га/noun:inanim:p:v_rod:nv:abbr,га/noun:inanim:p:v_zna:nv:abbr]">10 ц/<marker>га</marker>.</example> <example type="untouched">каже йому: га?</example> </rule> <rule name="га - вигук" id="HA_INTJ"> <pattern> <marker> <token>га</token> </marker> <token>?</token> </pattern> <disambig action="filter" postag="intj" /> <example type="ambiguous" inputform="га[га/intj,га/noun:inanim:m:v_dav:nv:abbr,га/noun:inanim:m:v_mis:nv:abbr,га/noun:inanim:m:v_naz:nv:abbr,га/noun:inanim:m:v_oru:nv:abbr,га/noun:inanim:m:v_rod:nv:abbr,га/noun:inanim:m:v_zna:nv:abbr,га/noun:inanim:p:v_dav:nv:abbr,га/noun:inanim:p:v_mis:nv:abbr,га/noun:inanim:p:v_naz:nv:abbr,га/noun:inanim:p:v_oru:nv:abbr,га/noun:inanim:p:v_rod:nv:abbr,га/noun:inanim:p:v_zna:nv:abbr]" outputform="га[га/intj]">каже йому: <marker>га</marker>?</example> <example type="untouched">га</example> </rule> <rule name="Дієслово «тис»" id="NOUN_VERB_TYS_1"> <pattern> <marker> <token>тис</token> </marker> <token postag_regexp="yes" postag="noun.*?v_dav.*|adj:f:v_zna.*" min="0"/> <token regexp="yes">рук[уи]</token> </pattern> <disambig action="filter" postag="verb.*"/> <example type="ambiguous" inputform="тис[тис/noun:inanim:m:v_naz,тис/noun:inanim:m:v_zna,тиснути/verb:imperf:past:m]" outputform="тис[тиснути/verb:imperf:past:m]" >Він довго <marker>тис</marker> мені руку </example> <example type="ambiguous" inputform="тис[тис/noun:inanim:m:v_naz,тис/noun:inanim:m:v_zna,тиснути/verb:imperf:past:m]" outputform="тис[тиснути/verb:imperf:past:m]" >Він все ще <marker>тис</marker> полковницьку руку </example> <example type="untouched">50 тис грн.</example> <example type="untouched">тис ягідний</example> </rule> <rule name="Дієслово «тис»" id="NOUN_VERB_TYS_2"> <pattern> <token regexp="yes">довго|сильно|дуже|силою|щосили|різко|радо|навмисн[ое]</token> <marker> <token>тис</token> </marker> </pattern> <disambig action="filter" postag="verb.*"/> <example type="ambiguous" inputform="тис[тис/noun:inanim:m:v_naz,тис/noun:inanim:m:v_zna,тиснути/verb:imperf:past:m]" outputform="тис[тиснути/verb:imperf:past:m]" >Він довго <marker>тис</marker> Василю Васильовичу руки </example> <example type="untouched">50 тис грн.</example> <example type="untouched">тис ягідний</example> </rule> <rule name="Іменник «тис»" id="NOUN_VERB_TYS_3"> <pattern> <marker> <token>тис</token> </marker> <token>ягідний</token> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="тис[тис/noun:inanim:m:v_naz,тис/noun:inanim:m:v_zna,тиснути/verb:imperf:past:m]" outputform="тис[тис/noun:inanim:m:v_naz,тис/noun:inanim:m:v_zna]" >Зовні <marker>тис</marker> ягідний важко відрізнити від ялиці </example> <example type="untouched">50 тис грн кожному</example> <example type="untouched">він тис йому руку</example> </rule> <!-- <rule name="Іменник «тис» (неправильне - тисяча)" id="NOUN_VERB_TYS_6"> <pattern> <token postag="number"/> <marker> <token>тис</token> </marker> </pattern> <disambig><match no="1" postag="noun.*" postag_regexp="yes"/></disambig> <example type="ambiguous" inputform="тис[тис/noun:inanim:m:v_naz:xp1,тис/noun:inanim:m:v_naz:xp2,тис/noun:inanim:m:v_zna:xp1,тис/noun:inanim:m:v_zna:xp2,тиснути/verb:imperf:past:m]" outputform="тис[тис/noun:inanim:m:v_naz:xp1,тис/noun:inanim:m:v_naz:xp2,тис/noun:inanim:m:v_zna:xp1,тис/noun:inanim:m:v_zna:xp2]" >60 <marker>тис</marker> грн </example> <example type="untouched">довго тис руку директору</example> <example type="untouched">тис, бук, ялиця</example> </rule> --> <rule name="Іменник «тис.» - тисячоліття" id="NOUN_VERB_TYS_DOT_ERA_1"> <pattern> <marker> <token>тис.</token> </marker> <token min="0">до</token> <token>н.</token> </pattern> <disambig action="filter" postag="noun:inanim:.*"/> <example type="ambiguous" inputform="тис.[тис./noun:inanim:n:v_dav:nv:abbr,тис./noun:inanim:n:v_naz:nv:abbr,тис./noun:inanim:n:v_oru:nv:abbr,тис./noun:inanim:n:v_rod:nv:abbr,тис./noun:inanim:n:v_zna:nv:abbr,тис./noun:inanim:p:v_dav:nv:abbr,тис./noun:inanim:p:v_naz:nv:abbr,тис./noun:inanim:p:v_oru:nv:abbr,тис./noun:inanim:p:v_rod:nv:abbr,тис./noun:inanim:p:v_zna:nv:abbr,тис./numr:f:v_dav:nv:abbr,тис./numr:f:v_naz:nv:abbr,тис./numr:f:v_oru:nv:abbr,тис./numr:f:v_rod:nv:abbr,тис./numr:f:v_zna:nv:abbr,тис./numr:p:v_dav:nv:abbr,тис./numr:p:v_naz:nv:abbr,тис./numr:p:v_oru:nv:abbr,тис./numr:p:v_rod:nv:abbr,тис./numr:p:v_zna:nv:abbr]" outputform="тис.[тис./noun:inanim:n:v_dav:nv:abbr,тис./noun:inanim:n:v_naz:nv:abbr,тис./noun:inanim:n:v_oru:nv:abbr,тис./noun:inanim:n:v_rod:nv:abbr,тис./noun:inanim:n:v_zna:nv:abbr,тис./noun:inanim:p:v_dav:nv:abbr,тис./noun:inanim:p:v_naz:nv:abbr,тис./noun:inanim:p:v_oru:nv:abbr,тис./noun:inanim:p:v_rod:nv:abbr,тис./noun:inanim:p:v_zna:nv:abbr]" >аж до 2 <marker>тис.</marker> до н.е. </example> <example type="untouched">50 тис. грн кожному</example> </rule> <rule name="Іменник «тис.» - тисячоліття" id="NOUN_VERB_TYS_DOT_ERA_2"> <pattern> <token case_sensitive="yes" regexp="yes">[IVXІХ]+</token> <marker> <token>тис.</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:.*"/> <example type="ambiguous" inputform="тис.[тис./noun:inanim:n:v_dav:nv:abbr,тис./noun:inanim:n:v_naz:nv:abbr,тис./noun:inanim:n:v_oru:nv:abbr,тис./noun:inanim:n:v_rod:nv:abbr,тис./noun:inanim:n:v_zna:nv:abbr,тис./noun:inanim:p:v_dav:nv:abbr,тис./noun:inanim:p:v_naz:nv:abbr,тис./noun:inanim:p:v_oru:nv:abbr,тис./noun:inanim:p:v_rod:nv:abbr,тис./noun:inanim:p:v_zna:nv:abbr,тис./numr:f:v_dav:nv:abbr,тис./numr:f:v_naz:nv:abbr,тис./numr:f:v_oru:nv:abbr,тис./numr:f:v_rod:nv:abbr,тис./numr:f:v_zna:nv:abbr,тис./numr:p:v_dav:nv:abbr,тис./numr:p:v_naz:nv:abbr,тис./numr:p:v_oru:nv:abbr,тис./numr:p:v_rod:nv:abbr,тис./numr:p:v_zna:nv:abbr]" outputform="тис.[тис./noun:inanim:n:v_dav:nv:abbr,тис./noun:inanim:n:v_naz:nv:abbr,тис./noun:inanim:n:v_oru:nv:abbr,тис./noun:inanim:n:v_rod:nv:abbr,тис./noun:inanim:n:v_zna:nv:abbr,тис./noun:inanim:p:v_dav:nv:abbr,тис./noun:inanim:p:v_naz:nv:abbr,тис./noun:inanim:p:v_oru:nv:abbr,тис./noun:inanim:p:v_rod:nv:abbr,тис./noun:inanim:p:v_zna:nv:abbr]" >аж до II <marker>тис.</marker>, </example> <example type="untouched">50 тис. грн кожному</example> </rule> <rule name="Іменник «тис.» - тисячоліття" id="NOUN_VERB_TYS_DOT_NUMR"> <pattern> <marker> <token>тис.</token> </marker> </pattern> <disambig action="filter" postag="numr.*"/> <example type="ambiguous" inputform="тис.[тис./noun:inanim:n:v_dav:nv:abbr,тис./noun:inanim:n:v_naz:nv:abbr,тис./noun:inanim:n:v_oru:nv:abbr,тис./noun:inanim:n:v_rod:nv:abbr,тис./noun:inanim:n:v_zna:nv:abbr,тис./noun:inanim:p:v_dav:nv:abbr,тис./noun:inanim:p:v_naz:nv:abbr,тис./noun:inanim:p:v_oru:nv:abbr,тис./noun:inanim:p:v_rod:nv:abbr,тис./noun:inanim:p:v_zna:nv:abbr,тис./numr:f:v_dav:nv:abbr,тис./numr:f:v_naz:nv:abbr,тис./numr:f:v_oru:nv:abbr,тис./numr:f:v_rod:nv:abbr,тис./numr:f:v_zna:nv:abbr,тис./numr:p:v_dav:nv:abbr,тис./numr:p:v_naz:nv:abbr,тис./numr:p:v_oru:nv:abbr,тис./numr:p:v_rod:nv:abbr,тис./numr:p:v_zna:nv:abbr]" outputform="тис.[тис./numr:f:v_dav:nv:abbr,тис./numr:f:v_naz:nv:abbr,тис./numr:f:v_oru:nv:abbr,тис./numr:f:v_rod:nv:abbr,тис./numr:f:v_zna:nv:abbr,тис./numr:p:v_dav:nv:abbr,тис./numr:p:v_naz:nv:abbr,тис./numr:p:v_oru:nv:abbr,тис./numr:p:v_rod:nv:abbr,тис./numr:p:v_zna:nv:abbr]" >аж до 2 <marker>тис.</marker>, </example> </rule> <!-- <rule name="Однолітерні скорочення лише з малої" id="SINGLE_CHAR_ABBR_NO_CAPS"> <pattern> <token case_sensitive="yes" postag_regexp="yes" postag="noun.*?:abbr.*" regexp="yes">[А-ЯІЇЄҐ]\. <exception postag_regexp="yes" postag="noun.*?[fp]name.*"/> </token> </pattern> <disambig action="remove" postag=".*"/> <example type="ambiguous" inputform="С.[с./noun:inanim:n:v_dav:nv:abbr,с./noun:inanim:n:v_naz:nv:abbr,с./noun:inanim:n:v_oru:nv:abbr,с./noun:inanim:n:v_rod:nv:abbr,с./noun:inanim:n:v_zna:nv:abbr]" outputform="С.[С.]"><marker>С.</marker> Мокітмі.</example> <example type="ambiguous" inputform="С.[С./noun:anim:m:v_naz:abbr:prop:fname]" outputform="С.[С.]"><marker>С.</marker> Макаров.</example> </rule> --> <rule name="ч. - чайна" id="ch_chaina"> <pattern> <marker> <token>ч.</token> </marker> <token regexp="yes">л\.?|ложк.*</token> </pattern> <disambig action="filter" postag="adj.*"></disambig> <example type="ambiguous" inputform="ч.[ч./adj:f:v_dav:nv:abbr,ч./adj:f:v_mis:nv:abbr,ч./adj:f:v_naz:nv:abbr,ч./adj:f:v_oru:nv:abbr,ч./adj:f:v_rod:nv:abbr,ч./adj:f:v_zna:nv:abbr,ч./adj:p:v_dav:nv:abbr,ч./adj:p:v_mis:nv:abbr,ч./adj:p:v_naz:nv:abbr,ч./adj:p:v_oru:nv:abbr,ч./adj:p:v_rod:nv:abbr,ч./adj:p:v_zna:rinanim:nv:abbr,ч./noun:inanim:f:v_dav:nv:abbr,ч./noun:inanim:f:v_mis:nv:abbr,ч./noun:inanim:f:v_naz:nv:abbr,ч./noun:inanim:f:v_oru:nv:abbr,ч./noun:inanim:f:v_rod:nv:abbr,ч./noun:inanim:f:v_zna:nv:abbr,ч./noun:inanim:n:v_dav:nv:abbr,ч./noun:inanim:n:v_mis:nv:abbr,ч./noun:inanim:n:v_naz:nv:abbr,ч./noun:inanim:n:v_oru:nv:abbr,ч./noun:inanim:n:v_rod:nv:abbr,ч./noun:inanim:n:v_zna:nv:abbr,ч./noun:inanim:p:v_dav:nv:abbr,ч./noun:inanim:p:v_mis:nv:abbr,ч./noun:inanim:p:v_naz:nv:abbr,ч./noun:inanim:p:v_oru:nv:abbr,ч./noun:inanim:p:v_rod:nv:abbr,ч./noun:inanim:p:v_zna:nv:abbr]" outputform="ч.[ч./adj:f:v_dav:nv:abbr,ч./adj:f:v_mis:nv:abbr,ч./adj:f:v_naz:nv:abbr,ч./adj:f:v_oru:nv:abbr,ч./adj:f:v_rod:nv:abbr,ч./adj:f:v_zna:nv:abbr,ч./adj:p:v_dav:nv:abbr,ч./adj:p:v_mis:nv:abbr,ч./adj:p:v_naz:nv:abbr,ч./adj:p:v_oru:nv:abbr,ч./adj:p:v_rod:nv:abbr,ч./adj:p:v_zna:rinanim:nv:abbr]" >по 3 <marker>ч.</marker> л.</example> <example type="untouched">т. 2 ч. 1</example> </rule> <rule name="ч. - частина" id="ch_chastyna"> <pattern> <marker> <token>ч.</token> </marker> <token postag="number"/> </pattern> <disambig action="filter" postag="noun:inanim:f.*"></disambig> <example type="ambiguous" inputform="ч.[ч./adj:f:v_dav:nv:abbr,ч./adj:f:v_naz:nv:abbr,ч./adj:f:v_oru:nv:abbr,ч./adj:f:v_rod:nv:abbr,ч./adj:f:v_zna:nv:abbr,ч./adj:p:v_dav:nv:abbr,ч./adj:p:v_naz:nv:abbr,ч./adj:p:v_oru:nv:abbr,ч./adj:p:v_rod:nv:abbr,ч./adj:p:v_zna:rinanim:nv:abbr,ч./noun:inanim:f:v_dav:nv:abbr,ч./noun:inanim:f:v_naz:nv:abbr,ч./noun:inanim:f:v_oru:nv:abbr,ч./noun:inanim:f:v_rod:nv:abbr,ч./noun:inanim:f:v_zna:nv:abbr,ч./noun:inanim:n:v_dav:nv:abbr,ч./noun:inanim:n:v_naz:nv:abbr,ч./noun:inanim:n:v_oru:nv:abbr,ч./noun:inanim:n:v_rod:nv:abbr,ч./noun:inanim:n:v_zna:nv:abbr,ч./noun:inanim:p:v_dav:nv:abbr,ч./noun:inanim:p:v_naz:nv:abbr,ч./noun:inanim:p:v_oru:nv:abbr,ч./noun:inanim:p:v_rod:nv:abbr,ч./noun:inanim:p:v_zna:nv:abbr]" outputform="ч.[ч./noun:inanim:f:v_dav:nv:abbr,ч./noun:inanim:f:v_naz:nv:abbr,ч./noun:inanim:f:v_oru:nv:abbr,ч./noun:inanim:f:v_rod:nv:abbr,ч./noun:inanim:f:v_zna:nv:abbr]" >ст. 3 <marker>ч.</marker> 7 проголошує</example> <example type="untouched">2 ч. л.</example> </rule> <rule name="ч. - числі" id="ch_chysli"> <pattern> <token regexp="yes">[ву]</token> <token>т.</token> <marker> <token>ч.</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:n:.*"/> <example type="ambiguous" inputform="ч.[ч./adj:f:v_dav:nv:abbr,ч./adj:f:v_mis:nv:abbr,ч./adj:f:v_naz:nv:abbr,ч./adj:f:v_oru:nv:abbr,ч./adj:f:v_rod:nv:abbr,ч./adj:f:v_zna:nv:abbr,ч./adj:p:v_dav:nv:abbr,ч./adj:p:v_mis:nv:abbr,ч./adj:p:v_naz:nv:abbr,ч./adj:p:v_oru:nv:abbr,ч./adj:p:v_rod:nv:abbr,ч./adj:p:v_zna:rinanim:nv:abbr,ч./noun:inanim:f:v_dav:nv:abbr,ч./noun:inanim:f:v_mis:nv:abbr,ч./noun:inanim:f:v_naz:nv:abbr,ч./noun:inanim:f:v_oru:nv:abbr,ч./noun:inanim:f:v_rod:nv:abbr,ч./noun:inanim:f:v_zna:nv:abbr,ч./noun:inanim:n:v_dav:nv:abbr,ч./noun:inanim:n:v_mis:nv:abbr,ч./noun:inanim:n:v_naz:nv:abbr,ч./noun:inanim:n:v_oru:nv:abbr,ч./noun:inanim:n:v_rod:nv:abbr,ч./noun:inanim:n:v_zna:nv:abbr,ч./noun:inanim:p:v_dav:nv:abbr,ч./noun:inanim:p:v_mis:nv:abbr,ч./noun:inanim:p:v_naz:nv:abbr,ч./noun:inanim:p:v_oru:nv:abbr,ч./noun:inanim:p:v_rod:nv:abbr,ч./noun:inanim:p:v_zna:nv:abbr]" outputform="ч.[ч./noun:inanim:n:v_dav:nv:abbr,ч./noun:inanim:n:v_mis:nv:abbr,ч./noun:inanim:n:v_naz:nv:abbr,ч./noun:inanim:n:v_oru:nv:abbr,ч./noun:inanim:n:v_rod:nv:abbr,ч./noun:inanim:n:v_zna:nv:abbr]" >і в т. <marker>ч.</marker> проголошує</example> <example type="untouched">2 ч. л.</example> </rule> <rule name="Часті інфікси" id="freq_infix"> <pattern> <token regexp="yes">[-–][а-яіїєґ]{1,5}[-–]</token> </pattern> <disambig action="immunize" /> <example type="ambiguous" inputform="-ськ-[-ськ-]" outputform="-ськ-[-ськ-{!}]">суфікс <marker>-ськ-</marker>. </example> </rule> <!-- category: Великі літери в середині слова + власні назви --> <!-- точніші правила: прізвища та імена --> <rule name="Люба з великої літери в середині речення - ім'я" id="fem_name_inside_sent"> <pattern case_sensitive="yes"> <and> <token inflected="yes" postag_regexp="yes" postag="noun:anim:f:.*fname.*" regexp="yes">Люба|Злата <exception scope="previous" postag="SENT_START"/> <exception scope="previous" regexp="yes">[«„“\[\](—–-]</exception> </token> <token postag_regexp="yes" postag="adj.*"/> </and> </pattern> <disambig action="filter" postag="noun:anim:f:.*fname.*"/> <example type="ambiguous" inputform="Люба[</S>,Люба/noun:anim:f:v_naz:prop:fname,любий/adj:f:v_kly:compb,любий/adj:f:v_naz:compb]" outputform="Люба[</S>,Люба/noun:anim:f:v_naz:prop:fname]">Агов <marker>Люба</marker></example> <example type="untouched">«Люба формула.</example> </rule> <rule name="Люба з прізвищем/по батькові - ім'я" id="fem_name_with_lastname"> <pattern case_sensitive="yes"> <marker> <token inflected="yes" postag_regexp="yes" postag="noun:anim:f.*fname.*" regexp="yes">Люба|Злата</token> </marker> <token postag_regexp="yes" postag="noun:anim:f.*?:[lp]name.*"/> </pattern> <disambig action="filter" postag="noun:anim:f.*fname.*"/> <example type="ambiguous" inputform="Люба[Люба/noun:anim:f:v_naz:prop:fname,любий/adj:f:v_kly:compb,любий/adj:f:v_naz:compb]" outputform="Люба[Люба/noun:anim:f:v_naz:prop:fname]"><marker>Люба</marker> Михайлівна</example> <example type="ambiguous" inputform="Злата[Злата/noun:anim:f:v_naz:prop:fname,златий/adj:f:v_kly:arch,златий/adj:f:v_naz:arch,злато/noun:inanim:n:v_rod:arch]" outputform="Злата[Злата/noun:anim:f:v_naz:prop:fname]"><marker>Злата</marker> Прокопенко</example> <example type="untouched">Така Люба.</example> <example type="untouched">Люба преференція.</example> </rule> <rule name="Едгар По" id="DIS_EDGAR_PO"> <pattern case_sensitive="yes"> <token postag_regexp="yes" postag="noun.*?fname.*"/> <marker> <token>По</token> </marker> </pattern> <disambig><wd pos="noun:anim:m:nv:prop:lname" lemma="По"/></disambig> <example type="ambiguous" inputform="По[</S>,по/prep]" outputform="По[</S>,По/noun:anim:m:nv:prop:lname]">Знали Аллана <marker>По</marker></example> <example type="ambiguous" inputform="По[</S>,по/prep]" outputform="По[</S>,По/noun:anim:m:nv:prop:lname]">Знали Едгара <marker>По</marker></example> <example type="untouched">ганяли Едгара по полю.</example> </rule> <rule name="Едгар Аллан По" id="DIS_EDGAR_PO_2"> <pattern case_sensitive="yes"> <token regexp="yes">[А-ЯІЇЄҐ]\.|ім'я|родина</token> <marker> <token>По</token> </marker> </pattern> <disambig><wd pos="noun:anim:m:nv:prop:lname" lemma="По"/></disambig> <example type="ambiguous" inputform="По[</S>,по/prep]" outputform="По[</S>,По/noun:anim:m:nv:prop:lname]">Знали Едгара А. <marker>По</marker></example> <example type="untouched">ганяли Едгара по полю.</example> </rule> <rule name="Ле - помилка" id="LE_MISTAKE"> <pattern case_sensitive="yes"> <marker> <token>ле <exception scope="next" regexp="yes">[А-ЯІЇЄҐ].+</exception> </token> </marker> </pattern> <disambig action="remove" postag="noninfl:foreign" /> <example type="ambiguous" inputform="ле[ле/noninfl:foreign]" outputform="ле[ле]">А <marker>ле</marker> вони туди не хотіли</example> <example type="ambiguous" inputform="ле[ле/noninfl:foreign]" outputform="ле[ле]">І <marker>ле</marker> можна цього робити</example> <example type="untouched">прийшов Ле Пен</example> </rule> <rule name="Поліна" id="POLINA"> <pattern case_sensitive="yes"> <marker> <token regexp="yes">Полін[аиіу]</token> </marker> </pattern> <disambig action="filter" postag="noun:anim.*?:fname.*"/> <example type="ambiguous" inputform="Поліну[Поліна/noun:anim:f:v_zna:prop:fname,поліно/noun:inanim:n:v_dav]" outputform="Поліну[Поліна/noun:anim:f:v_zna:prop:fname]">Знали <marker>Поліну</marker>.</example> <example type="untouched">Поліном</example> </rule> <rule name="Прізвище після імені" id="last_name_after_first_name"> <pattern> <unify> <feature id="gender"/> <feature id="case"/> <token postag_regexp="yes" postag="noun:anim:.*?fname.*"> <exception case_sensitive="yes">Ігор</exception> </token> <marker> <token postag_regexp="yes" postag="noun:anim:.*?lname.*"/> </marker> </unify> </pattern> <disambig action="filter" postag="noun:.*?prop.*"></disambig> <!-- allow other :prop for now, e.g. Андрій Макарів (місто) не любив... --> <example type="ambiguous" inputform="Кіска[Кіска/noun:anim:m:v_naz:prop:lname,кіска/noun:inanim:f:v_naz]" outputform="Кіска[Кіска/noun:anim:m:v_naz:prop:lname]" >його привітав Андрей <marker>Кіска</marker>.</example> <example type="untouched">довга Кіска</example> <example type="untouched">Ігор Нескоренних</example> </rule> <rule name="Ім'я перед прізвищем" id="first_name_before_last_name"> <pattern> <unify> <feature id="gender"/> <feature id="case"/> <marker> <token postag_regexp="yes" postag="noun:anim:.*?fname.*"/> </marker> <token postag_regexp="yes" postag="noun:anim:.*?lname.*"/> </unify> </pattern> <disambig action="filter" postag="noun:.*?prop.*"></disambig> <!-- shall we ignore beginning of the sentence where capital for common noun is often? --> <!-- <example type="ambiguous" inputform="Алла[Алла/noun:anim:f:v_naz:prop:fname]" outputform="Алла[Алла/noun:anim:f:v_naz:prop:fname]" ><marker>Алла</marker> Шевченко.</example> --> <example type="ambiguous" inputform="Ірина[Ірин/adj:f:v_kly,Ірин/adj:f:v_naz,Ірина/noun:anim:f:v_naz:prop:fname]" outputform="Ірина[Ірина/noun:anim:f:v_naz:prop:fname]" ><marker>Ірина</marker> Коваль.</example> <example type="untouched">Ірина машина</example> </rule> <rule name="Ім'я перед прізвищем 2" id="first_name_before_last_name_2"> <pattern case_sensitive="yes"> <marker> <token postag_regexp="yes" postag="noun:anim:.*?fname.*" regexp="yes">Ігор|Мона <exception scope="previous" postag_regexp="yes" postag="adj:p:v_rod.*"/> </token> </marker> <token regexp="yes" case_sensitive="yes">[А-ЯІЇЄҐ][а-яіїєґ'-]{3,15}</token> </pattern> <disambig action="filter" postag="noun:.*?prop.*"></disambig> <!-- shall we ignore beginning of the sentence where capital for common noun is often? --> <example type="ambiguous" inputform="Ігор[Ігор/noun:anim:m:v_naz:prop:fname,гра/noun:inanim:p:v_rod]" outputform="Ігор[Ігор/noun:anim:m:v_naz:prop:fname]" ><marker>Ігор</marker> Позацейсвіт.</example> <example type="ambiguous" inputform="Мона[Мона/noun:anim:f:v_naz:prop:fname,мона/noninfl:&predic:bad]" outputform="Мона[Мона/noun:anim:f:v_naz:prop:fname]" ><marker>Мона</marker> Ліза.</example> <example type="untouched">після літніх Ігор назбиралося</example> <example type="untouched">зимових Ігор Україна</example> </rule> <rule name="Отто - ім'я" id="otto_name"> <pattern> <marker> <token case_sensitive="yes">Отто</token> </marker> <token case_sensitive="yes" regexp="yes">[А-ЯІЇЄҐ].*|фон</token> </pattern> <disambig action="filter" postag="noun:anim:.*:fname.*" /> <example type="ambiguous" inputform="Отто[Отто/noun:anim:m:v_dav:nv:prop:fname,Отто/noun:anim:m:v_naz:nv:prop:fname,Отто/noun:anim:m:v_oru:nv:prop:fname,Отто/noun:anim:m:v_rod:nv:prop:fname,Отто/noun:anim:m:v_zna:nv:prop:fname,отто/part:arch]" outputform="Отто[Отто/noun:anim:m:v_dav:nv:prop:fname,Отто/noun:anim:m:v_naz:nv:prop:fname,Отто/noun:anim:m:v_oru:nv:prop:fname,Отто/noun:anim:m:v_rod:nv:prop:fname,Отто/noun:anim:m:v_zna:nv:prop:fname]"><marker>Отто</marker> фон Мюллер. </example> <example type="untouched">Оттож вже насміявсь</example> </rule> <rule name="Святого Юра" id="sviatogo_yura"> <pattern> <token>святого</token> <marker> <token case_sensitive="yes">Юра</token> </marker> </pattern> <disambig postag="noun:anim:m:v_rod:prop:fname"/> <example type="ambiguous" inputform="Юра[Юра/noun:anim:f:v_naz:prop:lname,Юра/noun:anim:m:v_naz:prop:fname,Юра/noun:anim:m:v_naz:prop:lname,Юра/noun:inanim:f:v_naz:prop:geo,юра/noun:inanim:f:v_naz]" outputform="Юра[Юра/noun:anim:m:v_rod:prop:fname]">святого <marker>Юра</marker>.</example> <example type="untouched">Юра прийшов додому.</example> </rule> <rule name="Кім Чен Ір" id="kim_chen_ir"> <pattern case_sensitive="yes"> <token regexp="yes">Ч[еоа]н</token> <marker> <token regexp="yes">Ір(а|у|і)?</token> </marker> </pattern> <disambig action="filter" postag="noun:anim:m:.*lname.*"/> <example type="ambiguous" inputform="Іра[Ір/noun:anim:m:v_rod:prop:lname,Ір/noun:anim:m:v_zna:prop:lname,Іра/noun:anim:f:v_naz:prop:fname]" outputform="Іра[Ір/noun:anim:m:v_rod:prop:lname,Ір/noun:anim:m:v_zna:prop:lname]">до Кім Чен <marker>Іра</marker>.</example> <example type="untouched">Приїхала Іра.</example> </rule> <rule name="Іра" id="ira"> <pattern> <marker> <token case_sensitive="yes" regexp="yes">Ір(а|у|і)?</token> </marker> </pattern> <disambig action="filter" postag="noun:anim:f:.*fname.*"/> <example type="ambiguous" inputform="Іра[Ір/noun:anim:m:v_rod:prop:lname,Ір/noun:anim:m:v_zna:prop:lname,Іра/noun:anim:f:v_naz:prop:fname]" outputform="Іра[Іра/noun:anim:f:v_naz:prop:fname]">Приїхала <marker>Іра</marker>.</example> </rule> <rule name="Кім Чен Нам" id="kim_chen_nam"> <pattern case_sensitive="yes"> <token regexp="yes">Ч[еоа]н</token> <marker> <token>Нам</token> </marker> </pattern> <disambig action="remove" postag="noun:.*pron.*"/> <example type="ambiguous" inputform="Нам[ми/noun:anim:p:v_dav:&pron:pers:1]" outputform="Нам[Нам]">сам Кім Чен <marker>Нам</marker>.</example> <example type="untouched">Нам усім</example> </rule> <rule name="Кім Ір Сен" id="kim_ir_sen"> <pattern case_sensitive="yes"> <token>Ір</token> <marker> <token case_sensitive="yes" regexp="yes">Сен(а|у|і)</token> </marker> </pattern> <disambig action="filter" postag="noun:anim:m:.*lname.*"/> <example type="ambiguous" inputform="Сена[Сен/noun:anim:m:v_rod:prop:lname,Сен/noun:anim:m:v_zna:prop:lname,Сена/noun:inanim:f:v_naz:prop:geo]" outputform="Сена[Сен/noun:anim:m:v_rod:prop:lname,Сен/noun:anim:m:v_zna:prop:lname]">до Кім Ір <marker>Сена</marker>.</example> <example type="untouched">річка Сена.</example> </rule> <rule name="Петра з українськими прізвищами" id="PETRA_FNAME_MASC"> <pattern case_sensitive="yes"> <marker> <token regexp="yes">(Петр|Павл)[аіу]</token> </marker> <token inflected="yes" regexp="yes" postag_regexp="yes" postag="noun.*?:lname.*">.*енко|.*[ую]к</token> </pattern> <disambig action="remove" postag="noun:anim:f.*?:fname.*"/> <example type="ambiguous" inputform="Петра[Петра/noun:anim:f:v_naz:prop:fname,Петро/noun:anim:m:v_rod:prop:fname,Петро/noun:anim:m:v_zna:prop:fname]" outputform="Петра[Петро/noun:anim:m:v_rod:prop:fname,Петро/noun:anim:m:v_zna:prop:fname]">Приїхали до <marker>Петра</marker> Порошенка.</example> <example type="untouched">Обдурила Петра Марка — не вийшла за нього.</example> </rule> <rule name="Петра з іменами з числом" id="PETRA_FNAME_MASC_WITH_NUM"> <pattern case_sensitive="yes"> <marker> <token regexp="yes">(Петр|Павл)[аіу]</token> </marker> <token regexp="yes">[IІ]+\.?</token> </pattern> <disambig action="remove" postag="noun:anim:f.*?:fname.*"/> <example type="ambiguous" inputform="Петра[Петра/noun:anim:f:v_naz:prop:fname,Петро/noun:anim:m:v_rod:prop:fname,Петро/noun:anim:m:v_zna:prop:fname]" outputform="Петра[Петро/noun:anim:m:v_rod:prop:fname,Петро/noun:anim:m:v_zna:prop:fname]">Приїхали до <marker>Петра</marker> I.</example> <example type="untouched">Обдурила Петра Марка — не вийшла за нього.</example> </rule> <rule name="«пані» з іменами та прізвищами" id="PANI_NAME_FEM"> <pattern> <token inflected="yes" regexp="yes">пані|міс|місіс|фрау|сеньора|сеньйоріта|мадам|маде?муазель|добродійка</token> <marker> <token postag_regexp="yes" postag="noun:anim:f.*?[fl]name.*"/> </marker> </pattern> <disambig action="filter" postag="noun:anim:f.*?:[fl]name.*"/> <example type="ambiguous" inputform="Порошенко[Порошенко/noun:anim:f:v_dav:nv:prop:lname,Порошенко/noun:anim:f:v_naz:nv:prop:lname,Порошенко/noun:anim:f:v_oru:nv:prop:lname,Порошенко/noun:anim:f:v_rod:nv:prop:lname,Порошенко/noun:anim:f:v_zna:nv:prop:lname,Порошенко/noun:anim:m:v_naz:prop:lname]" outputform="Порошенко[Порошенко/noun:anim:f:v_dav:nv:prop:lname,Порошенко/noun:anim:f:v_naz:nv:prop:lname,Порошенко/noun:anim:f:v_oru:nv:prop:lname,Порошенко/noun:anim:f:v_rod:nv:prop:lname,Порошенко/noun:anim:f:v_zna:nv:prop:lname]">Пані <marker>Порошенко</marker>.</example> <example type="untouched">Петро Порошенко.</example> </rule> <rule name="«пан» з іменами та прізвищами" id="PAN_NAME_MASC"> <pattern> <token inflected="yes" regexp="yes">пан|містер|гер|сеньйор|монсеньйор|добродій <exception>пані</exception> </token> <marker> <token postag_regexp="yes" postag="noun:anim:m.*?:[fl]name.*"/> </marker> </pattern> <disambig action="filter" postag="noun:anim:m.*:[fl]name.*"/> <example type="ambiguous" inputform="Порошенко[Порошенко/noun:anim:f:v_dav:nv:prop:lname,Порошенко/noun:anim:f:v_naz:nv:prop:lname,Порошенко/noun:anim:f:v_oru:nv:prop:lname,Порошенко/noun:anim:f:v_rod:nv:prop:lname,Порошенко/noun:anim:f:v_zna:nv:prop:lname,Порошенко/noun:anim:m:v_naz:prop:lname]" outputform="Порошенко[Порошенко/noun:anim:m:v_naz:prop:lname]">Пан <marker>Порошенко</marker>.</example> <example type="untouched">Разом з Порошенко.</example> </rule> <!-- точніші правила: топоніми --> <rule name="Трускавці - місто" id="Truskavci_misto"> <pattern> <token negate_pos="yes" postag="SENT_START"/> <marker> <token case_sensitive="yes">Трускавці</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:.*:prop.*"/> <example type="ambiguous" inputform="Трускавці[Трускавець/noun:inanim:m:v_mis:prop:geo,трускавка/noun:inanim:f:v_dav,трускавка/noun:inanim:f:v_mis]" outputform="Трускавці[Трускавець/noun:inanim:m:v_mis:prop:geo]">В <marker>Трускавці</marker>.</example> <example type="untouched">Трускавці треба тепло.</example> </rule> <rule name="Ізюм" id="CAPITAL_LETTER_IZUM"> <pattern> <token> <exception postag="SENT_START"/> </token> <marker> <and> <token inflected="yes" case_sensitive="yes">Ізюм</token> <token inflected="yes">ізюм</token> </and> </marker> </pattern> <disambig action="filter" postag="noun.*:prop:geo"/> <example type="ambiguous" inputform="Ізюму[Ізюм/noun:inanim:m:v_dav:prop:geo,Ізюм/noun:inanim:m:v_rod:prop:geo:ua_2019,ізюм/noun:inanim:m:v_dav:bad,ізюм/noun:inanim:m:v_rod:bad]" outputform="Ізюму[Ізюм/noun:inanim:m:v_dav:prop:geo]">Приїхав з <marker>Ізюму</marker>.</example> <example type="untouched">вироби з ізюму.</example> </rule> <rule name="Київ" id="KYYIV"> <pattern> <marker> <token case_sensitive="yes">Київ</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_(naz|zna):prop:geo"/> <example type="ambiguous" inputform="Київ[Київ/noun:inanim:m:v_naz:prop:geo,Київ/noun:inanim:m:v_zna:prop:geo,кий/noun:inanim:p:v_rod]" outputform="Київ[Київ/noun:inanim:m:v_naz:prop:geo,Київ/noun:inanim:m:v_zna:prop:geo]" >в <marker>Київ</marker>.</example> <example type="untouched">принесли Києві</example> </rule> <rule name="Йорк" id="York"> <pattern> <marker> <token inflected="yes" case_sensitive="yes">Йорк</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_...:prop:geo"/> <example type="ambiguous" inputform="Йорк[Йорк/noun:inanim:m:v_naz:prop:geo,Йорк/noun:inanim:m:v_zna:prop:geo,йорк/noun:anim:m:v_naz]" outputform="Йорк[Йорк/noun:inanim:m:v_naz:prop:geo,Йорк/noun:inanim:m:v_zna:prop:geo]" >в <marker>Йорк</marker>.</example> <example type="untouched">прибіг йорк</example> </rule> <rule name="В Україні" id="V_UKRAYINI"> <pattern> <token regexp="yes">[ву]|на</token> <marker> <token case_sensitive="yes">Україні</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:.:v_mis:prop:geo"/> <example type="ambiguous" inputform="Україні[Україна/noun:inanim:f:v_dav:prop:geo,Україна/noun:inanim:f:v_mis:prop:geo]" outputform="Україні[Україна/noun:inanim:f:v_mis:prop:geo]" >в <marker>Україні</marker>.</example> <example type="untouched">принесли Україні.</example> </rule> <rule name="в Досі - іменник" id="dosi_noun"> <pattern> <token regexp="yes">[ву]</token> <marker> <token case_sensitive="yes" regexp="yes">Досі|Києві</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:.:v_mis:prop:geo"/> <example type="ambiguous" inputform="Досі[Доха/noun:inanim:f:v_dav:prop:geo,Доха/noun:inanim:f:v_mis:prop:geo,досі/adv:&pron:dem]" outputform="Досі[Доха/noun:inanim:f:v_mis:prop:geo]">збірна в <marker>Досі</marker> медаль не виборола. </example> <example type="ambiguous" inputform="Києві[Кий/noun:anim:m:v_dav:prop:fname,Кий/noun:anim:m:v_mis:prop:fname,Київ/noun:inanim:m:v_mis:prop:geo,кий/noun:inanim:m:v_dav,кий/noun:inanim:m:v_mis]" outputform="Києві[Київ/noun:inanim:m:v_mis:prop:geo]" >в <marker>Києві</marker>.</example> <example type="untouched">Досі незнайома</example> </rule> <rule name="Кантон Во" id="canton_vo"> <pattern> <token inflected="yes">кантон</token> <marker> <token inflected="yes" case_sensitive="yes">Во</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_...:nv:prop:geo"/> <example type="ambiguous" inputform="Во[Во/noun:anim:m:v_dav:nv:prop:lname,Во/noun:anim:m:v_mis:nv:prop:lname,Во/noun:anim:m:v_naz:nv:prop:lname,Во/noun:anim:m:v_oru:nv:prop:lname,Во/noun:anim:m:v_rod:nv:prop:lname,Во/noun:anim:m:v_zna:nv:prop:lname,Во/noun:inanim:m:v_dav:nv:prop:geo,Во/noun:inanim:m:v_mis:nv:prop:geo,Во/noun:inanim:m:v_naz:nv:prop:geo,Во/noun:inanim:m:v_oru:nv:prop:geo,Во/noun:inanim:m:v_rod:nv:prop:geo,Во/noun:inanim:m:v_zna:nv:prop:geo,во/intj,во/prep:arch]" outputform="Во[Во/noun:inanim:m:v_dav:nv:prop:geo,Во/noun:inanim:m:v_mis:nv:prop:geo,Во/noun:inanim:m:v_naz:nv:prop:geo,Во/noun:inanim:m:v_oru:nv:prop:geo,Во/noun:inanim:m:v_rod:nv:prop:geo,Во/noun:inanim:m:v_zna:nv:prop:geo]" >в кантоні <marker>Во</marker>.</example> <example type="untouched">Во ім'я</example> </rule> <rule name="Прізвище Во" id="lname_vo"> <pattern> <token case_sensitive="yes" regexp="yes">де|[А-ЯІЇЄҐ][а-яіїєґ'-]+</token> <marker> <token inflected="yes" case_sensitive="yes">Во</token> </marker> </pattern> <disambig action="filter" postag="noun:anim:m:v_...:nv:prop:lname"/> <example type="ambiguous" inputform="Во[Во/noun:anim:m:v_dav:nv:prop:lname,Во/noun:anim:m:v_mis:nv:prop:lname,Во/noun:anim:m:v_naz:nv:prop:lname,Во/noun:anim:m:v_oru:nv:prop:lname,Во/noun:anim:m:v_rod:nv:prop:lname,Во/noun:anim:m:v_zna:nv:prop:lname,Во/noun:inanim:m:v_dav:nv:prop:geo,Во/noun:inanim:m:v_kly:nv:prop:geo,Во/noun:inanim:m:v_mis:nv:prop:geo,Во/noun:inanim:m:v_naz:nv:prop:geo,Во/noun:inanim:m:v_oru:nv:prop:geo,Во/noun:inanim:m:v_rod:nv:prop:geo,Во/noun:inanim:m:v_zna:nv:prop:geo,во/intj,во/prep:arch]" outputform="Во[Во/noun:anim:m:v_dav:nv:prop:lname,Во/noun:anim:m:v_mis:nv:prop:lname,Во/noun:anim:m:v_naz:nv:prop:lname,Во/noun:anim:m:v_oru:nv:prop:lname,Во/noun:anim:m:v_rod:nv:prop:lname,Во/noun:anim:m:v_zna:nv:prop:lname]" >Клотільда де <marker>Во</marker>.</example> <example type="untouched">Во ім'я</example> </rule> <rule name="Досі - прийменник" id="Dosi_adv"> <pattern> <marker> <token case_sensitive="yes">Досі <exception scope="previous" regexp="yes">[ву]</exception> </token> </marker> </pattern> <disambig action="filter" postag="adv.*"/> <example type="ambiguous" inputform="Досі[Доха/noun:inanim:f:v_dav:prop:geo,досі/adv:&pron:dem]" outputform="Досі[досі/adv:&pron:dem]">І <marker>Досі</marker> Непереможений. </example> <example type="untouched">в Досі не виграли</example> </rule> <rule name="Мені - займенник" id="meni_pron"> <pattern> <token postag="SENT_START"/> <marker> <token case_sensitive="yes">Мені</token> </marker> </pattern> <disambig action="filter" postag=".*pron.*"/> <example type="ambiguous" inputform="Мені[Мена/noun:inanim:f:v_dav:prop:geo,я/noun:anim:s:v_dav:&pron:pers:1]" outputform="Мені[я/noun:anim:s:v_dav:&pron:pers:1]"><marker>Мені</marker> однаково. </example> <example type="untouched">в Мені виборів не було</example> </rule> <rule name="Рада - іменник 0" id="rada_noun_0"> <pattern> <token regexp="yes" postag_regexp="yes" postag="adj:.*" inflected="yes">верховний|обласний|міський|сільський|районний|центральний|громадський|народний|[ву]чений|студентський</token> <marker> <token inflected="yes">рада</token> </marker> </pattern> <disambig action="filter"><match no="1">рада</match></disambig> <example type="ambiguous" inputform="Раду[Рада/noun:anim:f:v_zna:prop:fname,рад/noun:inanim:m:v_dav,рад/noun:inanim:m:v_mis,рада/noun:inanim:f:v_zna,радий/adj:f:v_zna:compb]" outputform="Раду[рада/noun:inanim:f:v_zna]" >у Верховну <marker>Раду</marker>.</example> <example type="untouched">не міг дати собі ради.</example> <example type="untouched">сама рада.</example> </rule> <rule name="Рада - іменник 1" id="rada_noun_1"> <pattern> <marker> <token inflected="yes">рада</token> </marker> <token regexp="yes">безпеки|національної|міністрів|керівників|директорів|суддів|євро.*</token> </pattern> <disambig action="filter"><match no="1">рада</match></disambig> <example type="ambiguous" inputform="Раду[Рада/noun:anim:f:v_zna:prop:fname,рад/noun:inanim:m:v_dav,рад/noun:inanim:m:v_mis,рада/noun:inanim:f:v_zna,радий/adj:f:v_zna:compb]" outputform="Раду[рада/noun:inanim:f:v_zna]" >у <marker>Раду</marker> Міністрів.</example> <example type="untouched">не міг дати собі ради.</example> <example type="untouched">рада і весела</example> </rule> <rule name="Рада - іменник 1.2" id="rada_noun_12"> <pattern> <marker> <token inflected="yes">рада</token> </marker> <token regexp="yes" case_sensitive="yes">ЄС|[XVIХІ]+([-–][а-яіїєґ]+)?</token> </pattern> <disambig action="filter"><match no="1">рада</match></disambig> <example type="ambiguous" inputform="Раду[Рада/noun:anim:f:v_zna:prop:fname,рад/noun:inanim:m:v_dav,рад/noun:inanim:m:v_mis,рада/noun:inanim:f:v_zna,радий/adj:f:v_zna:compb]" outputform="Раду[рада/noun:inanim:f:v_zna]" >у <marker>Раду</marker> І скликання.</example> <example type="untouched">не міг дати собі ради.</example> <example type="untouched">рада і весела</example> </rule> <rule name="Рада - іменник 2" id="rada_noun_2"> <pattern> <unify> <feature id="gender"/> <feature id="case"/> <token postag_regexp="yes" postag="adj:f:.(?!.*pron).*"/> <marker> <token inflected="yes">рада</token> </marker> </unify> </pattern> <disambig action="filter"><match no="1">рада</match></disambig> <example type="ambiguous" inputform="раду[рад/noun:inanim:m:v_dav,рад/noun:inanim:m:v_mis,рада/noun:inanim:f:v_zna,радий/adj:f:v_zna:compb]" outputform="раду[рада/noun:inanim:f:v_zna]" >таємну <marker>раду</marker>.</example> <example type="untouched">вона й рада старатися</example> </rule> <rule name="Рада - іменник 3" id="rada_noun_3"> <pattern> <token regexp="yes">[ву]</token> <marker> <token>раду</token> </marker> </pattern> <disambig action="filter"><match no="1">рада</match></disambig> <example type="ambiguous" inputform="Раду[Рада/noun:anim:f:v_zna:prop:fname,рад/noun:inanim:m:v_dav,рад/noun:inanim:m:v_mis,рада/noun:inanim:f:v_zna,радий/adj:f:v_zna:compb]" outputform="Раду[рада/noun:inanim:f:v_zna]" >в <marker>Раду</marker>.</example> <example type="untouched">не міг дати собі ради.</example> <example type="untouched">сама рада.</example> </rule> <rule name="Сена" id="sena"> <pattern> <marker> <token case_sensitive="yes" regexp="yes">Сен(а|у|і)</token> </marker> </pattern> <disambig action="remove" postag="noun:anim:m:.*lname.*"/> <example type="ambiguous" inputform="Сена[Сен/noun:anim:m:v_rod:prop:lname,Сен/noun:anim:m:v_zna:prop:lname,Сена/noun:inanim:f:v_naz:prop:geo]" outputform="Сена[Сена/noun:inanim:f:v_naz:prop:geo]">річка <marker>Сена</marker>.</example> </rule> <!-- Загальне правило не працює, бо часто загальні іменники можуть вживатися з великої: «але для Ігор у Турині зробили виняток» <rule name="Іменник з великої літери в середині речення - власна назва" id="CAPITAL_INSIDE_SENTENCE_IS_PROP_NOUN"> <pattern case_sensitive="yes"> <token inflected="yes" regexp="yes" postag_regexp="yes" postag="noun.*">[А-ЯІЇЄҐ][а-яіїєґ'-]+ <exception scope="previous" postag="SENT_START"/> <exception scope="previous" regexp="yes">[«„“\[\](—–-]</exception> <exception postag_regexp="yes" postag="adj.*"></exception> </token> </pattern> <disambig><match no="1" postag="noun.*:prop.*|part:pers" postag_regexp="yes"/></disambig> <example type="ambiguous" inputform="Острогу[Острог/noun:inanim:m:v_dav:prop,Острог/noun:inanim:m:v_mis:prop,острог/noun:inanim:m:v_dav,острог/noun:inanim:m:v_mis,остріг/noun:inanim:m:v_dav,остріг/noun:inanim:m:v_mis,остріг/noun:inanim:m:v_rod]" outputform="Острогу[Острог/noun:inanim:m:v_dav:prop,Острог/noun:inanim:m:v_mis:prop]">Прах хороброго лицаря з <marker>Острогу</marker>.</example> <example type="untouched">За Вільну демократичну партію.</example> <example type="untouched">Люба формула.</example> </rule> <!- Вилучає багато файльшивих, але також ховає справжні, бо часто загальні пишуть з великої в середині, як власні -> <rule name="Іменник з великої літери в середині речення без власної назви" id="DIS_CAPITAL_INSIDE_SENTENCE_WITHOUT_PROP_NOUN"> <pattern case_sensitive="yes"> <token regexp="yes" postag_regexp="yes" postag="noun.*">[А-ЯІЇЄҐ][а-яіїєґ'-]+ <exception scope="previous" postag="SENT_START"/> <exception scope="previous" regexp="yes">[«„“\[\](—–-] </exception> <exception postag_regexp="yes" postag="adj.*|.*:prop.*"/> <exception inflected="yes">бог</exception> <exception>Авт</exception> </token> </pattern> <disambig action="immunize"/> <example type="ambiguous" inputform="Лахті[лахта/noun:inanim:f:v_dav,лахта/noun:inanim:f:v_mis]" outputform="Лахті[лахта/noun:inanim:f:v_dav,лахта/noun:inanim:f:v_mis{!}]">Приїхав у <marker>Лахті</marker>.</example> <example type="untouched">За Вільну демократичну партію.</example> <example type="untouched">Люба формула.</example> </rule> <rule name="Власні і загальні назви" id="prop_gen_noun"> <antipattern> <token postag="SENT_START"/> <token regexp="yes" min="0">[«„“"*•/\[\]:(—–-]|.*></token> <token postag_regexp="yes" postag="noun.*prop.*"/> </antipattern> <antipattern> <token regexp="yes" postag_regexp="yes" postag="adj.*">[А-ЯІЇЄҐ].+</token> <token postag_regexp="yes" postag="noun.*prop.*"/> </antipattern> <pattern> <marker> <and> <token postag_regexp="yes" postag="noun(?!.*v_kly).*prop:geo.*"> <exception postag_regexp="yes" postag="adj.*" regexp="yes" case_sensitive="yes">[А-ЯІЇЄҐ].+</exception> </token> <token postag_regexp="yes" postag="noun(?!.*prop).*"/> </and> </marker> </pattern> <disambig action="filter" postag="noun:.*prop.*"/> <example type="ambiguous" inputform="Трускавці[Трускавець/noun:inanim:m:v_mis:prop:geo,трускавка/noun:inanim:f:v_dav,трускавка/noun:inanim:f:v_mis]" outputform="Трускавці[Трускавець/noun:inanim:m:v_mis:prop:geo]">В <marker>Трускавці</marker>.</example> <example type="ambiguous" inputform="Грушівкою[Грушівка/noun:inanim:f:v_oru:prop:geo,грушівка/noun:inanim:f:v_oru]" outputform="Грушівкою[Грушівка/noun:inanim:f:v_oru:prop:geo]">За <marker>Грушівкою</marker>.</example> <example type="untouched">Трускавці треба тепло.</example> <example type="untouched">у могутні Максимові обійми.</example> <example type="untouched">Єлісейські Поля.</example> <example type="untouched">Леонідів Кравчука та Кучму</example> <example type="untouched">— Борщ зварила добре</example> <example type="untouched">поїхали в Поле.</example> <example type="untouched">у Блок Солідарності</example> </rule> --> <!-- <rule name="Слова з великої літери в середині речення - це іменники або прикметники" id="DIS_PROPER_NOUN_INSIDE_SENTENCE"> <pattern case_sensitive="yes"> <and> <token regexp="yes" postag_regexp="yes" postag="(noun|adj).*">[А-ЯІЇЄҐ][а-яіїєґ'-]+ <exception scope="previous" postag="SENT_START"/> <exception scope="previous" regexp="yes">[«„“"*•/\[\]:(—–-]|.*></exception> <exception scope="previous" regexp="yes">.*\.</exception> <exception regexp="yes">Як|Серед</exception> </token> <token postag_regexp="yes" postag="(verb|prep|adv).*"/> </and> </pattern> <disambig action="filter" postag="(noun|adj).*"/> <example type="ambiguous" inputform="Іди[Іда/noun:anim:f:v_rod:prop:fname,іти/verb:imperf:impr:s:2]" outputform="Іди[Іда/noun:anim:f:v_rod:prop:fname]">До <marker>Іди</marker> прийшли гості.</example> <example type="untouched">Тоді почалася Друга світова війна.</example> <example type="untouched">Знати про Курську дугу.</example> <example type="untouched">«Люба формула.</example> <example type="untouched">То є Більш всього.</example> <example type="untouched">(Пізніше Вальтер став першим.</example> <example type="untouched">— Раніше Україна неодноразово заявляла.</example> <example type="untouched">Читайте також: Менше законів.</example> <example type="untouched">Слово подяки Як побачать читачі</example> <example type="untouched">* Нехай роблять все</example> < ст. is hard we can't reliably split sentences so need exceptions when we fail to split > <example type="untouched">східної Галичини XV-XVIII ст. Серед них – привілеї</example> <example type="untouched">Взяти бодай XIII—XIX ст. Раніше п’єса була домінантою...</example> < Can't test: the test code cleans up all xml markups <example type="untouched">і <b>Чомусь</example> > </rule> --> <!-- тимчасовий манівець для невідомих власних імен після прийменника, що збігаються з дієсловом --> <!-- <rule name="Слова після прийменника з великої літери в середині речення - це іменники" id="DIS_PREP_PROPER_NOUN_INSIDE_SENTENCE"> <pattern case_sensitive="yes"> <token postag_regexp="yes" postag="prep.*"/> <marker> <token regexp="yes" postag_regexp="yes" postag="verb.*">[А-ЯІЇЄҐ][а-яіїєґ'-]+ <exception negate_pos="yes" postag_regexp="yes" postag="verb.*|.*_END"/> </token> </marker> </pattern> <disambig postag="noun:unknown"/> <example type="ambiguous" inputform="Чули[чути/verb:imperf:past:p]" outputform="Чули[чути/noun:unknown]">Приїхали до <marker>Чули</marker>.</example> <example type="untouched">Вони все чули.</example> <example type="untouched">Чули її добре.</example> <example type="untouched">навколо Мерзли лапки</example> </rule> --> <!-- <rule name="Велика літера всередині речення" id="CAPITAL_LETTER_INSIDE_SENTENCE"> поки лише для слова, що створює проблему <pattern case_sensitive="yes"> <marker> <token>Авт <exception scope="previous" postag="SENT_START"/> </token> </marker> </pattern> <disambig action="add"><wd lemma="авт" pos="noun:inanim:m:v_naz:abbr">Авт</wd></disambig> <example type="ambiguous" inputform="Авт[авто/noun:inanim:p:v_rod:alt]" outputform="Авт[авт/noun:inanim:m:v_naz:abbr,авто/noun:inanim:p:v_rod:alt]">перерозподіл (власності. — <marker>Авт</marker>. ).</example> <example type="untouched">під час аварій власних авт чи мотоциклів.</example> <example type="untouched">Авт не було зовсім.</example> <example type="untouched">Приїхало 500 авт.</example> </rule> --> <rule name="Кот д'Івуар" id="DIS_KOT_D_IVUAR1"> <pattern case_sensitive="yes"> <marker> <token>Кот</token> </marker> <token regexp="yes">д'Івуар.*</token> </pattern> <disambig action="add"><wd lemma="Кот" pos="noninfl:foreign">Кот</wd></disambig> <example type="ambiguous" inputform="Кот[Кот/noun:anim:f:v_dav:nv:prop:lname,Кот/noun:anim:f:v_naz:nv:prop:lname,Кот/noun:anim:f:v_oru:nv:prop:lname,Кот/noun:anim:f:v_rod:nv:prop:lname,Кот/noun:anim:f:v_zna:nv:prop:lname,Кот/noun:anim:m:v_naz:prop:lname]" outputform="Кот[Кот/noninfl:foreign,Кот/noun:anim:f:v_dav:nv:prop:lname,Кот/noun:anim:f:v_naz:nv:prop:lname,Кот/noun:anim:f:v_oru:nv:prop:lname,Кот/noun:anim:f:v_rod:nv:prop:lname,Кот/noun:anim:f:v_zna:nv:prop:lname,Кот/noun:anim:m:v_naz:prop:lname]" >До <marker>Кот</marker> д'Івуара</example> <example type="untouched">Приїхав Василь Кот.</example> </rule> <rule name="Кот д'Івуар" id="DIS_KOT_D_IVUAR2"> <pattern case_sensitive="yes"> <marker> <token>Кот</token> </marker> <token regexp="yes">д'Івуар.*</token> </pattern> <disambig postag="noninfl:foreign:prop:geo:bad"/> <!-- should be: Кот-д'Івуар --> <example type="ambiguous" inputform="Кот[Кот/noninfl:foreign,Кот/noun:anim:f:v_dav:nv:prop:lname,Кот/noun:anim:f:v_naz:nv:prop:lname,Кот/noun:anim:f:v_oru:nv:prop:lname,Кот/noun:anim:f:v_rod:nv:prop:lname,Кот/noun:anim:f:v_zna:nv:prop:lname,Кот/noun:anim:m:v_naz:prop:lname]" outputform="Кот[Кот/noninfl:foreign:prop:geo:bad]" >До <marker>Кот</marker> д’Івуара</example> <example type="untouched">Приїхав Василь Кот.</example> </rule> <!-- category end: Великі літери в середині слова + власні назви --> <!-- <rule name="Прикметники без порівняльного ступеня" id="NON_COMPARATIVE"> <pattern> <marker> <token inflected="yes">великий</token> </marker> <token inflected="yes">князь</token> </pattern> <disambig><match no="1" postag="adj(.*):compb(.*)" postag_regexp="yes" postag_replace="adj$1$2"/></disambig> <example type="ambiguous" inputform="великий[великий/adj:m:v_kly:compb,великий/adj:m:v_naz:compb,великий/adj:m:v_zna:rinanim:compb]" outputform="великий[великий/adj:m:v_kly,великий/adj:m:v_naz,великий/adj:m:v_zna:rinanim]"><marker>великий</marker> князь</example> <example type="untouched">великий вибух</example> </rule> --> <rule name="Прийменник до і іменник до" id="DIS_PREP_OR_NOUN_DO"> <pattern> <marker> <token postag="prep">до</token> </marker> <token> <exception inflected="yes" regexp="yes">ре|мажор|мінор|дієз|бемоль</exception> </token> </pattern> <disambig action="filter" postag="prep.*|.*adv.*|<.*"/> <example type="ambiguous" inputform="до[до/noun:inanim:n:v_dav:nv,до/noun:inanim:n:v_naz:nv,до/noun:inanim:n:v_oru:nv,до/noun:inanim:n:v_rod:nv,до/noun:inanim:n:v_zna:nv,до/noun:inanim:p:v_dav:nv,до/noun:inanim:p:v_naz:nv,до/noun:inanim:p:v_oru:nv,до/noun:inanim:p:v_rod:nv,до/noun:inanim:p:v_zna:nv,до/prep]" outputform="до[до/prep]"><marker>до</marker> паркану</example> <example type="untouched">до мажор</example> <example type="untouched">до ре мі</example> <!-- captilized До is disambiguated into noun above <example type="untouched">класи <marker>До</marker> міжнародного</example> --> </rule> <rule name="Займенник та і сполучник/частка та" id="PRON_OR_CONJ_TA"> <pattern> <marker> <token>та</token> </marker> <token> <exception postag_regexp="yes" postag="(noun.*?|adj):f:v_naz.*"/> <exception regexp="yes">[йі]</exception> </token> </pattern> <disambig action="filter" postag="conj.*|part.*"/> <example type="ambiguous" inputform="та[та/conj:coord,та/part,той/adj:f:v_naz:&pron:dem]" outputform="та[та/conj:coord,та/part]">садки <marker>та</marker> ясла</example> <example type="untouched">та жінка</example> <example type="untouched">та й інша</example> <example type="untouched">та сама фігура</example> <example type="untouched">та зелена спідниця</example> </rule> <rulegroup name="Прийменник та вигук о" id="DIS_PREP_AND_INTJ_O"> <rule> <pattern> <marker> <token>о</token> </marker> <token postag_regexp="yes" postag=".*(v_zna|v_mis).*"/> </pattern> <disambig action="filter" postag="prep.*"/> <example type="ambiguous" inputform="о[о/intj,о/prep]" outputform="о[о/prep]" >шарпнув <marker>о</marker> двері</example> <example type="untouched">о, люди!</example> <example type="untouched">о мамо!</example> </rule> <rule> <pattern> <marker> <token>о</token> </marker> <token regexp="yes">[,!]|ти|ви|ні</token> </pattern> <disambig postag="intj"/> <example type="ambiguous" inputform="о[о/intj,о/prep]" outputform="о[о/intj]" ><marker>о</marker>, море!</example> <example type="ambiguous" inputform="о[о/intj,о/prep]" outputform="о[о/intj]" ><marker>о</marker> ти!</example> <example type="untouched">грюкнув о двері</example> </rule> <rule> <pattern> <marker> <token>о</token> </marker> <token postag_regexp="yes" postag="adj.*" min="0"/> <token postag_regexp="yes" postag=".*v_kly.*"/> </pattern> <disambig postag="intj"/> <example type="ambiguous" inputform="о[о/intj,о/prep]" outputform="о[о/intj]" ><marker>о</marker> люди!</example> <example type="ambiguous" inputform="о[о/intj,о/prep]" outputform="о[о/intj]" ><marker>о</marker> бідні люди!</example> <example type="untouched">грюкнув о двері</example> </rule> <rule> <pattern> <marker> <and> <token postag="intj">о</token> <token postag_regexp="yes" postag="prep.*">о</token> </and> </marker> <!-- <token postag_regexp="yes" postag=".*(v_naz|v_rod|v_dav|v_oru).*"/> --> </pattern> <disambig action="filter" postag="prep.*"/> <example type="ambiguous" inputform="о[о/intj,о/prep]" outputform="о[о/prep]" >стусонув <marker>о</marker> двері</example> <example type="ambiguous" inputform="о[о/intj,о/prep]" outputform="о[о/prep]" ><marker>о</marker> тримати</example> <!-- treat prep/intj + verb as prep + verb so we can trigger error --> </rule> </rulegroup> <!-- <rule name="Прийменник/прислівник перед дієсловом — прислівник" id="DIS_PREP_ADV_BEFORE_VERB"> <pattern> <and> <token postag_regexp="yes" postag="adv.*"/> <token postag_regexp="yes" postag="prep.*"/> </and> <token postag_regexp="yes" postag="verb.*"/> </pattern> <disambig><match no="1" postag="adv.*" postag_regexp="yes" /></disambig> <example type="ambiguous" inputform="попереду[попереду/adv,попереду/prep]" outputform="попереду[попереду/adv]"><marker>попереду</marker> поїхав</example> <example type="untouched">попереду поїзда</example> </rule> <rule name="Прийменник/прислівник перед іменником — прийменник" id="DIS_PREP_ADV_BEFORE_NOUN"> <pattern> <and> <token postag_regexp="yes" postag="adv.*"/> <token postag_regexp="yes" postag="prep.*"/> </and> <token postag_regexp="yes" postag="noun.*"/> </pattern> <disambig><match no="1" postag="prep.*" postag_regexp="yes" /></disambig> <example type="ambiguous" inputform="попереду[попереду/adv,попереду/prep]" outputform="попереду[попереду/prep]"><marker>попереду</marker> поїзда</example> <example type="untouched">попереду поїхав</example> </rule> --> <rule name="Прийменник та прислівник 'після'" id="PREP_OR_ADV_PISLIA"> <pattern> <marker> <token>після</token> </marker> <token postag_regexp="yes" postag="adj:.:v_rod.*" min="0"/> <token postag_regexp="yes" postag="(noun|numr).*?:v_rod.*"/> </pattern> <disambig action="filter" postag="prep.*"/> <example type="ambiguous" inputform="після[після/adv,після/prep]" outputform="після[після/prep]" ><marker>після</marker> століть поневолення</example> <example type="untouched">Ото завше так — як сперва дуже весело, то після будеш плакать</example> </rule> <!-- TODO: need to handle rare поруч[поруччя/noun:inanim:p:v_rod] --> <rule name="Прийменник та прислівник 'поруч'" id="PREP_OR_ADV_PORUCH_1"> <pattern> <marker> <token>поруч</token> </marker> <token regexp="yes">з|із|зі</token> <token postag_regexp="yes" postag="adj:.:v_oru*" min="0"/> <token postag_regexp="yes" postag="(noun|numr).*:v_oru.*"/> </pattern> <disambig action="filter" postag="prep.*"/> <example type="ambiguous" inputform="поруч[поруч/adv,поруч/prep]" outputform="поруч[поруч/prep]" >пливти <marker>поруч</marker> із судном</example> <example type="untouched">пливти поруч</example> </rule> <rule name="Прийменник та прислівник 'поруч'" id="PREP_OR_ADV_PORUCH_2"> <pattern> <marker> <token>поруч</token> </marker> <token postag_regexp="yes" postag="adj:.:v_rod.*" min="0"/> <token postag_regexp="yes" postag="(noun|numr).*:v_rod.*"/> </pattern> <disambig action="filter" postag="prep.*"/> <example type="ambiguous" inputform="поруч[поруч/adv,поруч/prep]" outputform="поруч[поруч/prep]" >поставив відро <marker>поруч</marker> стільця</example> <example type="untouched">пливти поруч</example> </rule> <rule name="Прийменник та прислівник 'відповідно'" id="PREP_OR_ADV_VIDPOVIDNO_1"> <pattern> <marker> <token>відповідно</token> </marker> <token regexp="yes">[,;:–—.!?»“…-]</token> </pattern> <disambig action="filter" postag="adv.*"/> <example type="ambiguous" inputform="Відповідно[відповідно/adv:compb,відповідно/prep]" outputform="Відповідно[відповідно/adv:compb]" ><marker>Відповідно</marker>, цей газ був спільним</example> <example type="untouched">відповідно до тих обставин</example> </rule> <rule name="Прийменник та прислівник 'відповідно'" id="PREP_OR_ADV_VIDPOVIDNO_2"> <pattern> <marker> <token>відповідно</token> </marker> <token>до</token> <token postag_regexp="yes" postag="adj:.:v_rod.*" min="0"/> <token postag_regexp="yes" postag="(noun|numr).*:v_rod.*"/> </pattern> <disambig action="filter" postag="prep.*"/> <example type="ambiguous" inputform="відповідно[відповідно/adv:compb,відповідно/prep]" outputform="відповідно[відповідно/prep]" ><marker>відповідно</marker> до тих обставин</example> <example type="untouched">Він налягав, щоб вона й одяглася відповідно.</example> </rule> <rule name="Прийменник та прислівник 'відповідно'" id="PREP_OR_ADV_VIDPOVIDNO_3"> <pattern> <marker> <token>відповідно</token> </marker> <token postag_regexp="yes" postag="adj:.:v_dav.*" min="0"/> <token postag_regexp="yes" postag="(noun|numr).*:v_dav.*"/> </pattern> <disambig action="filter" postag="prep.*"/> <example type="ambiguous" inputform="відповідно[відповідно/adv:compb,відповідно/prep]" outputform="відповідно[відповідно/prep]" >Переписав <marker>відповідно</marker> словам</example> <example type="untouched">Він налягав, щоб вона й одяглася відповідно.</example> </rule> <rule name="Прийменник та частка 'за'" id="PREP_OR_PART_ZA"> <antipattern> <token>що</token> <token>за</token> <token postag_regexp="yes" postag="noun.*v_zna.*"/> </antipattern> <pattern> <marker> <token>за</token> </marker> </pattern> <disambig action="filter" postag="prep.*|adv.*|<.*"/> <example type="ambiguous" inputform="за[за/adv:&predic,за/part,за/prep]" outputform="за[за/adv:&predic,за/prep]" >Потрапляти <marker>за</marker> грати. </example> <example type="untouched">що за гриби.</example> </rule> <rule name="Прийменник та прислівник 'за'" id="PREP_OR_ADV_ZA"> <pattern> <marker> <token>за</token> </marker> <!-- <and> --> <token negate="yes" regexp="yes">["»,.ій]|та</token> <!-- <token skip="-1"><exception>проти</exception></token> </and> --> </pattern> <disambig action="filter" postag="prep.*|<.*"/> <example type="ambiguous" inputform="за[за/adv:&predic,за/prep]" outputform="за[за/prep]" >Потрапляти <marker>за</marker> грати. </example> <example type="untouched">Всі проголосували за.</example> <example type="untouched">Тетяна розуміла, чому Малий не виступає ні за, ні проти.</example> <example type="untouched">Зважити, обдумати всі за і всі проти.</example> </rule> <rule name="Прийменник та іменник 'серед'" id="PREP_OR_NOUN_SERED_2"> <pattern> <marker> <token>серед</token> </marker> <token postag_regexp="yes" postag="(noun|numr|adj).*?:v_rod.*"/> </pattern> <disambig action="filter" postag="prep.*"/> <example type="ambiguous" inputform="серед[серед/prep,середа/noun:inanim:p:v_rod]" outputform="серед[серед/prep]" ><marker>серед</marker> степу</example> <example type="untouched">Валько боявся тих серед.</example> </rule> <rule name="Прислівник та іменник 'разом'" id="PREP_OR_NOUN_RAZOM1"> <pattern> <token regexp="yes">іншим|кожним|другим</token> <marker> <token>разом</token> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="разом[раз/noun:inanim:m:v_oru,разом/adv]" outputform="разом[раз/noun:inanim:m:v_oru]" >а іншим <marker>разом</marker> він пішов</example> <example type="untouched">разом з іншими.</example> </rule> <rule name="Прислівник та іменник 'разом'" id="PREP_OR_NOUN_RAZOM2"> <pattern> <marker> <token>разом</token> </marker> <token regexp="yes">з|із|зі</token> </pattern> <disambig action="filter" postag="adv.*"/> <example type="ambiguous" inputform="разом[раз/noun:inanim:m:v_oru,разом/adv]" outputform="разом[разом/adv]" ><marker>разом</marker> з іншими</example> <example type="untouched">разом служили</example> </rule> <!-- <rule name="Прислівник та іменник 'долі'" id="PREP_OR_NOUN_DOLI"> <pattern> <marker> <token>долі <exception scope="previous" inflected="yes" regexp="yes">стелити(ся)?|прослати(ся)?|лежати|сісти|сидіти|[ій]ти|зсунутися|(по)?плисти|положити|опинитися|спуститися|валятися</exception> </token> </marker> <token regexp="yes">і?з</token> </pattern> <disambig action="filter" postag="adv.*"/> <example type="ambiguous" inputform="разом[раз/noun:inanim:m:v_oru,разом/adv]" outputform="разом[разом/adv]" ><marker>разом</marker> з іншими</example> <example type="untouched">разом служили</example> </rule> --> <rule name="Сполучник та частка 'а'" id="CONJ_OR_PART_A"> <pattern> <token min="0">,</token> <marker> <token>а</token> </marker> <token>?</token> </pattern> <disambig action="filter" postag="part"/> <example type="ambiguous" inputform="а[а/conj:coord,а/intj,а/part]" outputform="а[а/part]" >Йдемо гуляти, <marker>а</marker>?</example> <example type="untouched">Його пальці заніміли, а вся земля була просякнута піною.</example> </rule> <rule name="Сполучник та частка 'а'" id="CONJ_OR_PART_A_2"> <pattern> <token>,</token> <marker> <token>а</token> </marker> </pattern> <disambig action="filter" postag="conj.*"/> <example type="ambiguous" inputform="а[а/conj:coord,а/intj,а/part]" outputform="а[а/conj:coord]" >Його пальці заніміли, <marker>а</marker> вся земля була просякнута піною.</example> <example type="untouched">А, і ви тут!</example> </rule> <rule name="Сполучник та вигук 'але'" id="CONJ_OR_INTJ_ALE"> <pattern> <marker> <token>але</token> </marker> <token>!</token> </pattern> <disambig action="filter" postag="intj"/> <example type="ambiguous" inputform="але[але/conj:coord,але/intj,але/part]" outputform="але[але/intj]" >Ото <marker>але</marker>!</example> <example type="untouched">Степанко ходив у ліщину по горішки, але хтось уже обібрав кущі.</example> </rule> <rule name="Дієслово та частка 'дер'" id="VERB_OR_PART_DER_1"> <pattern> <token regexp="yes">ван|фон</token> <marker> <token>дер</token> </marker> </pattern> <disambig action="filter" postag="part:pers"/> <example type="ambiguous" inputform="дер[дер/part:pers,дерти/verb:imperf:past:m]" outputform="дер[дер/part:pers]" >для ван <marker>дер</marker> Вала</example> <example type="untouched">В Ван приїхав султан.</example> </rule> <rule name="Дієслово та частка 'дер'" id="VERB_OR_PART_DER_2"> <pattern> <marker> <token>дер</token> </marker> </pattern> <disambig action="filter" postag="verb:imperf:past:m"/> <example type="ambiguous" inputform="дер[дер/part:pers,дерти/verb:imperf:past:m]" outputform="дер[дерти/verb:imperf:past:m]" >і <marker>дер</marker> Галі в горлі</example> <example type="untouched">В Ван приїхав султан.</example> </rule> <rule name="Іменник та частка 'ван'" id="NOUN_OR_PART_VAN"> <pattern> <marker> <token>ван</token> </marker> <token postag_regexp="yes" postag="noun.*?:lname.*"/> </pattern> <disambig action="filter" postag="part.*"/> <example type="ambiguous" inputform="Ван[Ван/noun:inanim:m:v_naz:prop:geo:xp1,Ван/noun:inanim:m:v_naz:prop:geo:xp2,Ван/noun:inanim:m:v_zna:prop:geo:xp1,Ван/noun:inanim:m:v_zna:prop:geo:xp2,ван/part:pers]" outputform="Ван[ван/part:pers]" >для <marker>Ван</marker> Гаала</example> <example type="untouched">В Ван приїхав султан.</example> </rule> <rule name="Частка 'арте'" id="part_arte"> <pattern> <token>дель</token> <marker> <token>арте</token> </marker> </pattern> <disambig><wd lemma="арте" pos="noninfl:foreign"/></disambig> <example type="ambiguous" inputform="арте[арт/noun:inanim:m:v_kly]" outputform="арте[арте/noninfl:foreign]" >дель <marker>арте</marker>.</example> <example type="untouched">до арте.</example> </rule> <rule name="Сполучник та частка 'да'" id="conj_or_part_da"> <pattern> <marker> <token>да</token> </marker> <token regexp="yes" case_sensitive="yes">Вінчі|[ГҐ]амм?а|Сілва|Караваджо|Палестр[іи]на</token> </pattern> <disambig postag="part:pers"/> <example type="ambiguous" inputform="да[да/part:bad]" outputform="да[да/part:pers]" >Васко <marker>да</marker> Гамма</example> <example type="untouched">відповів йому «да».</example> </rule> <!-- TODO: this rule may be a bit too greedy, but most of the time it's right --> <rule name="Іменник та прикметник «робочий»" id="NOUN_OR_ADJ_ROBOCHYI"> <pattern> <unify> <feature id="gender"/> <feature id="case"/> <marker> <token inflected="yes">робочий</token> </marker> <token postag_regexp="yes" postag="noun:inanim.*"/> <!-- stricter <token regexp="yes" inflected="yes" postag_regexp="yes" postag="noun:inanim.*">день|сила|група|місце|час|зустріч|рука</token> --> </unify> </pattern> <disambig action="filter" postag="adj.*"/> <example type="ambiguous" inputform="робочий[робочий/adj:m:v_naz,робочий/adj:m:v_zna:rinanim,робочий/noun:anim:m:v_naz]" outputform="робочий[робочий/adj:m:v_naz,робочий/adj:m:v_zna:rinanim]" >Прийшов у <marker>робочий</marker> кабінет.</example> <example type="untouched">Робочий не хотів працювати.</example> </rule> <!-- TODO: this rule may be a bit too greedy, but most of the time it's right --> <rule name="Рік і рок 1" id="RIK_VS_ROK_1"> <pattern> <token regexp="yes">[12][0-9]{3}</token> <marker> <token>року</token> </marker> </pattern> <disambig action="filter"><match no="1">рік</match></disambig> <example type="ambiguous" inputform="року[рок/noun:inanim:m:v_dav,рок/noun:inanim:m:v_rod,рік/noun:inanim:m:v_dav,рік/noun:inanim:m:v_rod]" outputform="року[рік/noun:inanim:m:v_dav,рік/noun:inanim:m:v_rod]" >з 2003 <marker>року</marker>.</example> <example type="untouched">від класичної та етнічної до авангардного року.</example> <example type="untouched">позаминулого року.</example> </rule> <rule name="Рік і рок 2" id="RIK_VS_ROK_2"> <pattern> <token regexp="yes">(поза)?минулого|цього|наступного</token> <marker> <token>року</token> </marker> </pattern> <disambig action="filter"><match no="1" postag="noun:inanim:m:v_rod">рік</match></disambig> <example type="ambiguous" inputform="року[рок/noun:inanim:m:v_dav,рок/noun:inanim:m:v_rod,рік/noun:inanim:m:v_dav,рік/noun:inanim:m:v_rod]" outputform="року[рік/noun:inanim:m:v_rod]" >з грудня минулого <marker>року</marker>.</example> <example type="untouched">від класичної та етнічної до авангардного року.</example> <example type="untouched">з 2003 року.</example> </rule> <rule name="Як" id="JAK"> <pattern> <marker> <token regexp="yes">як[ау]? <exception scope="previous" inflected="yes" regexp="yes">дикий|свійський|домашній</exception> <exception scope="next" inflected="yes" regexp="yes">дикий|свійський|домашній</exception> </token> </marker> </pattern> <disambig action="remove" postag="noun:anim:m:v_..."/> <example type="ambiguous" inputform="як[як/adv:&pron:int:rel,як/conj:subord,як/noun:anim:m:v_naz,як/part]" outputform="як[як/adv:&pron:int:rel,як/conj:subord,як/part]" >і <marker>як</marker> верховний арбітр.</example> <example type="ambiguous" inputform="Як[як/adv:&pron:int:rel,як/conj:subord,як/noun:anim:m:v_naz,як/part]" outputform="Як[як/adv:&pron:int:rel,як/conj:subord,як/part]" ><marker>Як</marker> модернізм і тепер постмодернізм</example> <example type="ambiguous" inputform="яку[як/noun:anim:m:v_dav,як/noun:anim:m:v_mis,який/adj:f:v_zna:&pron:int:rel:def]" outputform="яку[який/adj:f:v_zna:&pron:int:rel:def]" >в <marker>яку</marker> він влетів.</example> <example type="ambiguous" inputform="Яка[як/noun:anim:m:v_rod,як/noun:anim:m:v_zna,який/adj:f:v_naz:&pron:int:rel:def]" outputform="Яка[який/adj:f:v_naz:&pron:int:rel:def]" >— <marker>Яка</marker> рабиня?</example> <example type="untouched">Дикий як — гірська тварина.</example> </rule> <rule name="Відома - іменник" id="vidoma-noun1"> <pattern> <token regexp="yes">без|до|з|із|для|з-під</token> <token postag_regexp="yes" postag="adj:.:v_rod.*?:&pron.*"/> <marker> <token regexp="yes">відом[ау]</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_(rod|v_dav).*"/> <example type="ambiguous" inputform="відома[відом/noun:inanim:m:v_rod,відомий/adj:f:v_naz:compb]" outputform="відома[відом/noun:inanim:m:v_rod]" >без мого <marker>відома</marker>.</example> <example type="untouched">відома співачка.</example> <example type="untouched">без малого відома співачка.</example> </rule> <rule name="Відома - іменник" id="vidoma-noun2"> <pattern> <token regexp="yes">без|до|з|із|для|з-під</token> <marker> <token regexp="yes">відом[ау]</token> </marker> <!-- <token postag_regexp="yes" postag="noun.*?:v_rod.*"/> --> </pattern> <disambig action="filter" postag="noun:inanim:m:v_(rod|dav).*"/> <example type="ambiguous" inputform="відома[відом/noun:inanim:m:v_rod,відомий/adj:f:v_naz:compb]" outputform="відома[відом/noun:inanim:m:v_rod]" >без <marker>відома</marker> банку.</example> <example type="ambiguous" inputform="відома[відом/noun:inanim:m:v_rod,відомий/adj:f:v_naz:compb]" outputform="відома[відом/noun:inanim:m:v_rod]" >поставити до <marker>відома</marker> про цей факт.</example> <example type="untouched">така відома співачка.</example> </rule> <rule name="Відома - іменник" id="vidoma-noun3"> <pattern> <token>без</token> <token postag_regexp="yes" postag="noun.*?:v_rod.*"/> <token regexp="yes">і|та|й</token> <marker> <token>відома</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_rod.*"/> <example type="ambiguous" inputform="відома[відом/noun:inanim:m:v_rod,відомий/adj:f:v_kly:compb,відомий/adj:f:v_naz:compb]" outputform="відома[відом/noun:inanim:m:v_rod]" >без команди та <marker>відома</marker> менеджера.</example> <example type="untouched">така відома співачка.</example> </rule> <rule name="Відома - прикметник" id="vidoma_adj"> <pattern> <marker> <token postag_regexp="yes" postag="adj.*" regexp="yes">відом[ауі]</token> </marker> </pattern> <disambig action="filter" postag="adj.*"/> <example type="ambiguous" inputform="відома[відом/noun:inanim:m:v_rod,відомий/adj:f:v_naz:compb]" outputform="відома[відомий/adj:f:v_naz:compb]" > без малого <marker>відома</marker> співачка.</example> <example type="untouched">без мого відома.</example> </rule> <rule name="Дієслово «дій»" id="VERB_DIY"> <pattern> <marker> <token case_sensitive="yes">Дій</token> </marker> <token regexp="yes" min="0">["“»]</token> <token regexp="yes">[!—-]</token> </pattern> <disambig action="filter" postag="verb.*"/> <example type="ambiguous" inputform="Дій[дія/noun:inanim:p:v_rod,діяти/verb:imperf:impr:s:2]" outputform="Дій[діяти/verb:imperf:impr:s:2]" >Йому кажуть: «<marker>Дій</marker>!». </example> <example type="untouched">З усіх дій, ці треба зробити.</example> </rule> <rule name="Іменник «дій»" id="NOUN_DIY"> <pattern> <marker> <token>дій <exception scope="next">!</exception> </token> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="дій[дія/noun:inanim:p:v_rod,діяти/verb:imperf:impr:s:2]" outputform="дій[дія/noun:inanim:p:v_rod]" >Сума <marker>дій</marker> дорівнює нулю.</example> <example type="untouched">Йди і дій!</example> </rule> <rule name="Іменник «води»" id="NOUN_VODY"> <pattern> <marker> <token>води <exception scope="next" postag_regexp="yes" postag="noun.*?v_rod.*?&pron.*"/> </token> </marker> <!-- we can now do scope="next" <token><exception postag_regexp="yes" postag="noun.*?v_rod.*?&pron.*"/></token> --> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="води[вода/noun:inanim:f:v_rod,вода/noun:inanim:p:v_naz,вода/noun:inanim:p:v_zna,водити/verb:imperf:impr:s:2]" outputform="води[вода/noun:inanim:f:v_rod,вода/noun:inanim:p:v_naz,вода/noun:inanim:p:v_zna]" >Не стало <marker>води</marker> у річці. </example> <example type="ambiguous" inputform="води[</S>,вода/noun:inanim:f:v_rod,вода/noun:inanim:p:v_naz,вода/noun:inanim:p:v_zna,водити/verb:imperf:impr:s:2]" outputform="води[</S>,вода/noun:inanim:f:v_rod,вода/noun:inanim:p:v_naz,вода/noun:inanim:p:v_zna]" >Не стало <marker>води</marker> </example> <example type="untouched">не води мене колами.</example> </rule> <!-- we can now do scope="next" <rule name="Іменник «води» 2" id="NOUN_VODY_2"> <pattern> <marker> <token postag="SENT_END">води</token> </marker> </pattern> <disambig><match no="1" postag="noun.*" postag_regexp="yes"/></disambig> <example type="ambiguous" inputform="води[</S>,вода/noun:inanim:f:v_rod,вода/noun:inanim:p:v_naz,вода/noun:inanim:p:v_zna,водити/verb:imperf:impr:s:2]" outputform="води[</S>,вода/noun:inanim:f:v_rod,вода/noun:inanim:p:v_naz,вода/noun:inanim:p:v_zna]" >Не стало <marker>води</marker> </example> <example type="untouched">не води мене колами.</example> </rule> --> <rule name="Іменник «чаю»" id="NOUN_VERB_CHAYU"> <pattern> <marker> <token regexp="yes">ча[юї] <exception scope="previous">не</exception> </token> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="чаю[</S>,чай/noun:inanim:m:v_dav,чай/noun:inanim:m:v_rod,чаїти/verb:imperf:pres:s:1]" outputform="чаю[</S>,чай/noun:inanim:m:v_dav,чай/noun:inanim:m:v_rod]" >Випити <marker>чаю</marker> </example> <example type="untouched">душі не чаю в доньці</example> </rule> <rule name="Прикметник «хворій»" id="ADJ_VERB_HVORIY"> <pattern> <marker> <token>хворій <exception scope="previous">не</exception> </token> </marker> </pattern> <disambig action="filter" postag="(noun|adj).*"/> <example type="ambiguous" inputform="хворій[</S>,хвора/noun:anim:f:v_dav,хворий/adj:f:v_dav:compb,хворіти/verb:imperf:impr:s:2]" outputform="хворій[</S>,хвора/noun:anim:f:v_dav,хворий/adj:f:v_dav:compb]" >Не допомогло <marker>хворій</marker> </example> <example type="untouched">Не хворій!</example> </rule> <rule name="Іменник чи присвійний прикметник 1" id="NOUN_OR_POSSESSIVE_ADJ_1"> <pattern> <token postag_regexp="yes" postag="num.*"/> <marker> <and> <token postag_regexp="yes" postag="noun:.*?:p:v_rod.*"/> <token postag_regexp="yes" postag="adj:m:v_naz.*" regexp="yes">.*[ії]в</token> </and> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="лікарів[лікар/noun:anim:p:v_rod,лікар/noun:anim:p:v_zna,лікарів/adj:m:v_naz,лікарів/adj:m:v_zna:rinanim]" outputform="лікарів[лікар/noun:anim:p:v_rod,лікар/noun:anim:p:v_zna]" >1023 <marker>лікарів</marker>. </example> <example type="untouched">Лікарів підхід був простий.</example> </rule> <rule name="Мирного атому" id="myrnoho_atomu"> <pattern> <token regexp="yes">мирного|військового|воєнного|немирного</token> <marker> <token>атому</token> </marker> </pattern> <disambig postag="noun:inanim:m:v_rod"/> <example type="ambiguous" inputform="атому[атом/noun:inanim:m:v_dav]" outputform="атому[атом/noun:inanim:m:v_rod]" >Мирного <marker>атому</marker>.</example> <example type="untouched">по атому</example> </rule> <rule name="Геологічна світа" id="svita_svitu"> <pattern> <token postag="SENT_START" skip="-1"><exception scope="next" inflected="yes" regexp="yes">геолог.*|порода|родовище</exception></token> <marker> <and> <token skip="-1" inflected="yes" postag_regexp="yes">світа <exception scope="previous" regexp="yes">.*[цс]ьк(а|ої|ій|ою)</exception> <exception scope="next" inflected="yes" regexp="yes">геолог.*|порода|родовище</exception> </token> <token inflected="yes">світ</token> </and> <token postag="SENT_END"><exception scope="current" inflected="yes" regexp="yes">геолог.*|порода|родовище</exception></token> </marker> </pattern> <disambig action="remove" postag="noun:inanim:f:.*"/> <example type="ambiguous" inputform="світу[світ/noun:inanim:m:v_dav,світ/noun:inanim:m:v_rod,світа/noun:inanim:f:v_zna]" outputform="світу[світ/noun:inanim:m:v_dav,світ/noun:inanim:m:v_rod]" >зі всього <marker>світу</marker>.</example> <example type="untouched">Картамиська світа</example> <example type="untouched">геологічна щільна світа</example> <example type="untouched">Світа Ратаві — іракський нафтовий горизонт — на нафтових родовищах «Ратаві» в Іраку.</example> <example type="untouched">10 світі.</example> <!-- <example type="untouched">світа в геології</example> --> </rule> <rule name="Став: дієслово" id="stav_verb"> <pattern> <marker> <token>став <exception scope="previous" regexp="yes" case_sensitive="yes">[А-ЯІЇЄҐ].*ий</exception> <exception scope="previous" regexp="yes">на|у|в|над|через</exception> <exception scope="previous" postag_regexp="yes" postag="verb.*"/> <exception scope="next" postag_regexp="yes" postag="verb(?!.*?inf).*"/> </token> </marker> </pattern> <disambig action="remove" postag="noun:inanim:m:v_(naz|zna)"/> <example type="ambiguous" inputform="став[став/noun:inanim:m:v_naz,став/noun:inanim:m:v_zna,ставити/verb:imperf:impr:s:2,стати/verb:perf:past:m]" outputform="став[ставити/verb:imperf:impr:s:2,стати/verb:perf:past:m]" >він <marker>став</marker> найбагатшим.</example> <example type="ambiguous" inputform="став[став/noun:inanim:m:v_naz,став/noun:inanim:m:v_zna,ставити/verb:imperf:impr:s:2,стати/verb:perf:past:m]" outputform="став[ставити/verb:imperf:impr:s:2,стати/verb:perf:past:m]" >він <marker>став</marker> плювати в озеро.</example> <example type="untouched">Тернопільський став</example> <example type="untouched">немилосердно смердить став</example> <example type="untouched">Окрім цього став замулювався</example> <example type="untouched">чоловік подався на став</example> </rule> <rule name="Рівня: не від «рівня»" id="rivnya_not_lemma_rivnya"> <pattern> <marker> <and> <token>рівня <exception scope="previous">не</exception> <exception scope="previous" postag_regexp="yes" postag=".*?:v_dav.*"/> <exception scope="next" postag_regexp="yes" postag=".*?:v_dav.*"/> </token> <token inflected="yes">рівень</token> </and> </marker> </pattern> <disambig action="remove"><wd lemma="рівня"/></disambig> <example type="ambiguous" inputform="рівня[рівень/noun:inanim:m:v_rod,рівень/noun:inanim:m:v_zna:var,рівня/noun:anim:f:v_naz]" outputform="рівня[рівень/noun:inanim:m:v_rod,рівень/noun:inanim:m:v_zna:var]" >досягти такого <marker>рівня</marker>.</example> <example type="untouched">і він не рівня брату</example> <example type="untouched">тут він рівня всім боярам</example> <example type="untouched">Не теперішнім рівня!</example> <example type="untouched">він їм не рівня.</example> <!-- TODO: touched = до європейського рівня їм ще далеко <example type="untouched">Україна — рівня їм.</example> <example type="untouched">— рівня хіба що захцянкам арабських шейхів.</example> --> </rule> <rule name="Рівню: не від «рівня»" id="rivnyu_not_lemma_rivnya"> <pattern> <marker> <and> <token>рівню <exception scope="previous">за</exception> </token> <token inflected="yes">рівень</token> </and> </marker> </pattern> <disambig action="remove"><wd lemma="рівня"/></disambig> <example type="ambiguous" inputform="рівню[рівень/noun:inanim:m:v_dav,рівень/noun:inanim:m:v_mis,рівня/noun:anim:f:v_zna]" outputform="рівню[рівень/noun:inanim:m:v_dav,рівень/noun:inanim:m:v_mis]" >відповідає <marker>рівню</marker>.</example> <example type="untouched">вважатимуть за рівню.</example> </rule> <rule name="Рівні: не від «рівня»" id="rivni_not_lemma_rivnya"> <pattern> <marker> <and> <token>рівні</token> <token inflected="yes">рівень</token> </and> </marker> </pattern> <disambig action="remove"><wd lemma="рівня"/></disambig> <example type="ambiguous" inputform="рівні[рівень/noun:inanim:m:v_mis,рівень/noun:inanim:p:v_naz,рівень/noun:inanim:p:v_zna,рівний/adj:p:v_naz:compb,рівний/adj:p:v_zna:rinanim:compb,рівня/noun:anim:f:v_dav,рівня/noun:anim:f:v_mis,рівня/noun:anim:f:v_rod]" outputform="рівні[рівень/noun:inanim:m:v_mis,рівень/noun:inanim:p:v_naz,рівень/noun:inanim:p:v_zna,рівний/adj:p:v_naz:compb,рівний/adj:p:v_zna:rinanim:compb]" >на такому <marker>рівні</marker>.</example> <example type="untouched">вважатимуть за рівню.</example> </rule> <rule name="Рівні: рівень" id="rivni_noun"> <pattern> <token>на</token> <marker> <token>рівні</token> </marker> <token postag_regexp="yes" postag="(noun:inanim|adj):.:v_rod(?!.*pron).*"> <exception postag_regexp="yes" postag="(noun:inanim|adj):p:v_zna.*" /> </token> </pattern> <disambig action="filter" postag="noun.*"></disambig> <example type="ambiguous" inputform="рівні[рівень/noun:inanim:m:v_mis,рівень/noun:inanim:p:v_naz,рівень/noun:inanim:p:v_zna,рівний/adj:p:v_naz:compb,рівний/adj:p:v_zna:rinanim:compb]" outputform="рівні[рівень/noun:inanim:m:v_mis,рівень/noun:inanim:p:v_naz,рівень/noun:inanim:p:v_zna]" >на <marker>рівні</marker> минулого року.</example> <example type="untouched">на рівні частини.</example> </rule> <rule name="Прав: іменник" id="prav_noun"> <pattern> <marker> <token>прав</token> </marker> </pattern> <disambig action="remove" postag="verb.*"/> <example type="ambiguous" inputform="прав[право/noun:inanim:p:v_rod,прати/verb:imperf:past:m]" outputform="прав[право/noun:inanim:p:v_rod]" >щодо <marker>прав</marker> обвинувачених.</example> <!-- <example type="untouched">він прав свої речі раз на тиждень</example> --> </rule> <rule name="Дані: іменник" id="dani_noun_1"> <pattern> <token postag_regexp="yes" postag="adj:p:v_oru.*" /> <marker> <token>даними</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:p:v_oru.*"/> <example type="ambiguous" inputform="даними[даний/adj:p:v_oru:&adjp:pasv:perf,дані/noun:inanim:p:v_oru:ns]" outputform="даними[дані/noun:inanim:p:v_oru:ns]" >за іншими <marker>даними</marker>.</example> <example type="untouched">даними обіцянками</example> </rule> <rule name="Дані: іменник" id="dani_noun_2"> <pattern> <marker> <token>даними</token> </marker> <token postag_regexp="yes" postag="(noun|adj).*v_rod.*"> <exception postag_regexp="yes" postag="(noun|adj).*v_dav.*" /> </token> </pattern> <disambig action="filter" postag="noun:inanim:p:v_oru.*"/> <example type="ambiguous" inputform="даними[даний/adj:p:v_oru:&adjp:pasv:perf,дані/noun:inanim:p:v_oru:ns]" outputform="даними[дані/noun:inanim:p:v_oru:ns]" >за <marker>даними</marker> хроністів.</example> <example type="untouched">даними ректору</example> </rule> <rule name="Раз: noun" id="raz_noun"> <pattern> <token postag_regexp="yes" postag=".*num.*" /> <marker> <token>раз</token> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="раз[раз/adv,раз/conj:subord,раз/noun:inanim:m:v_naz,раз/noun:inanim:m:v_zna,раз/noun:inanim:p:v_rod]" outputform="раз[раз/noun:inanim:m:v_naz,раз/noun:inanim:m:v_zna,раз/noun:inanim:p:v_rod]" >третій <marker>раз</marker>.</example> <example type="untouched">раз і пропав</example> </rule> <rule name="Раз: не спол." id="raz_not_conj"> <pattern> <marker> <token>раз <exception scope="previous">,</exception> <exception scope="previous" postag="SENT_START"/> </token> </marker> </pattern> <disambig action="remove" postag="conj.*"/> <example type="ambiguous" inputform="раз[раз/adv,раз/conj:subord,раз/noun:inanim:m:v_naz,раз/noun:inanim:m:v_zna,раз/noun:inanim:p:v_rod]" outputform="раз[раз/adv,раз/noun:inanim:m:v_naz,раз/noun:inanim:m:v_zna,раз/noun:inanim:p:v_rod]" >який <marker>раз</marker>.</example> <example type="untouched">щось прочули, раз дозори оце порозсилали</example> <example type="untouched">Раз просила, то чому не взяти?</example> </rule> <rule name="Накладний платіж" id="nakladnyi_platizh"> <pattern> <marker> <token inflected="yes">накладний</token> </marker> <token inflected="yes" regexp="yes">плата|платіж</token> </pattern> <disambig action="filter" postag="adj.*?:xp2.*"></disambig> <example type="ambiguous" inputform="накладним[накладна/noun:inanim:p:v_dav,накладний/adj:m:v_oru:compb:bad:xp2,накладний/adj:m:v_oru:xp1,накладний/adj:n:v_oru:compb:bad:xp2,накладний/adj:n:v_oru:xp1,накладний/adj:p:v_dav:compb:bad:xp2,накладний/adj:p:v_dav:xp1]" outputform="накладним[накладний/adj:m:v_oru:compb:bad:xp2,накладний/adj:n:v_oru:compb:bad:xp2,накладний/adj:p:v_dav:compb:bad:xp2]" >йде <marker>накладним</marker> платежем</example> <example type="untouched">накладні нігті</example> </rule> <rule name="число + коп - копійок (не поліціянт)" id="num_kop"> <pattern> <token regexp="yes">[0-9, –-]+</token> <marker> <token>коп</token> </marker> </pattern> <disambig action="remove" postag="noun:anim:m:v_naz:slang"></disambig> <example type="ambiguous" inputform="коп[</S>,коп/noun:anim:m:v_naz:slang]" outputform="коп[</S>]" >ціною в 12,5 <marker>коп</marker></example> <example type="untouched">солідний коп</example> </rule> <rule name="Відокремлені форманти з дефісом" id="words_cut_with_hyphen"> <pattern> <token regexp="yes">[а-яіїєґ']+- <exception scope="next" regexp="yes">[іi]|й|та|або|чи|[,»“"/]</exception> </token> </pattern> <disambig action="remove" postag="noninfl"></disambig> <example type="ambiguous" inputform="макро-[макро-/noninfl]" outputform="макро-[макро-]" >такого <marker>макро-</marker> рівня</example> <example type="ambiguous" inputform="радіо-[радіо-/noninfl]" outputform="радіо-[радіо-]" ><marker>радіо-</marker> засоби</example> <example type="untouched">аудіо- та відеопродукцією</example> <example type="untouched">на макро- і мікрорівнях</example> </rule> <rule name="Поколінні - іменник" id="pokolinni_noun"> <pattern> <token postag_regexp="yes" postag="adj:n:v_(dav|mis).*"/> <marker> <token>поколінні</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:n.*"></disambig> <example type="ambiguous" inputform="поколінні[поколінний/adj:p:v_naz,поколінний/adj:p:v_zna:rinanim,покоління/noun:inanim:n:v_mis]" outputform="поколінні[покоління/noun:inanim:n:v_mis]" >у моєму <marker>поколінні</marker>.</example> <example type="untouched">такі поколінні розписи</example> </rule> <rule name="Найму - іменник" id="naimu_noun"> <pattern> <token postag_regexp="yes" postag="prep.*"/> <marker> <token>найму</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m.*"></disambig> <example type="ambiguous" inputform="найму[найм/noun:inanim:m:v_dav:bad,найм/noun:inanim:m:v_rod:bad,найняти/verb:perf:futr:s:1]" outputform="найму[найм/noun:inanim:m:v_dav:bad,найм/noun:inanim:m:v_rod:bad]" >контора з <marker>найму</marker>.</example> <example type="untouched">в контору найму працівників</example> </rule> <rule name="Найму - іменник" id="naimu_noun2"> <pattern> <token inflected="yes" regexp="yes">бюро|контора|умова|договір|угода|вид|право|форма|справа|питання|житловий|вільний</token> <marker> <token>найму</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m.*"></disambig> <example type="ambiguous" inputform="найму[найм/noun:inanim:m:v_dav:bad,найм/noun:inanim:m:v_mis:bad,найм/noun:inanim:m:v_rod:bad,найняти/verb:perf:futr:s:1]" outputform="найму[найм/noun:inanim:m:v_dav:bad,найм/noun:inanim:m:v_mis:bad,найм/noun:inanim:m:v_rod:bad]" >контора <marker>найму</marker>.</example> <example type="untouched">я найму працівників</example> </rule> <rule name="Найму - іменник" id="naimu_noun3"> <pattern> <marker> <token>найму</token> </marker> <token regexp="yes">житла|майна|помешкання|працівників|персоналу</token> </pattern> <disambig action="filter" postag="noun:inanim:m.*"></disambig> <example type="ambiguous" inputform="найму[найм/noun:inanim:m:v_dav:bad,найм/noun:inanim:m:v_mis:bad,найм/noun:inanim:m:v_rod:bad,найняти/verb:perf:futr:s:1]" outputform="найму[найм/noun:inanim:m:v_dav:bad,найм/noun:inanim:m:v_mis:bad,найм/noun:inanim:m:v_rod:bad]" >і <marker>найму</marker> житла.</example> <example type="untouched">з найму працівників</example> </rule> <rule name="Найму - іменник" id="naimu_ver"> <pattern> <token regexp="yes">я|собі</token> <marker> <token>найму</token> </marker> </pattern> <disambig action="filter" postag="verb.*"></disambig> <example type="ambiguous" inputform="найму[найм/noun:inanim:m:v_dav:bad,найм/noun:inanim:m:v_mis:bad,найм/noun:inanim:m:v_rod:bad,найняти/verb:perf:futr:s:1]" outputform="найму[найняти/verb:perf:futr:s:1]" >я <marker>найму</marker> його.</example> <example type="untouched">контора найму</example> </rule> <rule name="Нон грата - невідм." id="grata_noninfl_1"> <pattern> <marker> <token>нон</token> </marker> <token regexp="yes">[гґ]рата|стоп</token> </pattern> <disambig action="filter" postag="noninfl"></disambig> <example type="ambiguous" inputform="нон[нон/noninfl,нона/noun:inanim:p:v_rod]" outputform="нон[нон/noninfl]" >персона <marker>нон</marker> грата.</example> <example type="untouched">зіграв декілька нон</example> </rule> <rule name="Нон ґрата - невідм." id="grata_noninfl_2"> <pattern> <token>нон</token> <marker> <token>ґрата</token> </marker> </pattern> <disambig action="replace" postag="noninfl"></disambig> <example type="ambiguous" inputform="ґрата[ґрата/noun:inanim:f:v_naz]" outputform="ґрата[ґрата/noninfl]" >персона нон <marker>ґрата</marker>.</example> <example type="untouched">велика ґрата</example> </rule> <!-- TODO: забути/забувши взять --> <rule name="Розмовні форми інфінітиву" id="verb_inf_short_1"> <antipattern> <token regexp="yes" inflected="yes" postag_regexp="yes" postag="verb.*|.*predic.*|adj:.:v_naz.*">треба|можна|повинно|мусити|мати|з?могти|с?хотіти|довестися|бажати|стати|наважитися|довестися|повинний|ладний|бути|варто|годі</token> <token min="0"/> <token postag_regexp="yes" postag="verb.*?:inf.*:short.*"/> </antipattern> <antipattern> <token postag_regexp="yes" postag="verb.*?:inf.*:short.*"/> <token min="0"/> <token regexp="yes" inflected="yes" postag_regexp="yes" postag="verb.*|.*predic.*|adj:.:v_naz.*">треба|можна|повинно|мусити|мати|з?могти|с?хотіти|довестися|бажати|стати|наважитися|довестися|повинний|ладний|бути|варто|годі</token> </antipattern> <pattern> <token></token> <marker> <and> <token postag_regexp="yes" postag="verb.*?:inf:short.*"/> <token negate_pos="yes" postag_regexp="yes" postag="verb.*:inf:short.*|.*_END"/> </and> </marker> </pattern> <disambig action="remove" postag="verb.*?:inf:short.*"/> <example type="ambiguous" inputform="довірять[довірити/verb:perf:futr:p:3,довіряти/verb:imperf:inf:short]" outputform="довірять[довірити/verb:perf:futr:p:3]">вони <marker>довірять</marker>.</example> <example type="untouched">Він поїхав гулять.</example> <example type="untouched">треба б довірять.</example> <example type="untouched">довірять не треба</example> <example type="untouched">має знаходиться</example> <example type="untouched">повинні знаходиться</example> <example type="untouched">писать</example> </rule> <rule name="Права - іменник" id="prava_noun"> <antipattern> <token>права</token> <token postag_regexp="yes" postag="(noun|adj).*?:f:v_(naz|kly).*"/> </antipattern> <antipattern> <token regexp="yes">опозиційна|радикальна|крайня</token> <token>права</token> </antipattern> <antipattern> <token>права</token> <token regexp="yes">опозиційна|радикальна|крайня</token> </antipattern> <antipattern> <token>права</token> <token min="0" max="3"> <exception regexp="yes">була|ліва</exception> </token> <token regexp="yes">була|ліва</token> </antipattern> <antipattern> <token regexp="yes">була|ліва</token> <token min="0" max="3"> <exception>права</exception> </token> <token>права</token> </antipattern> <pattern> <marker> <token>права</token> </marker> </pattern> <disambig action="remove" postag="adj:f:v_(naz|kly).*"/> <example type="ambiguous" inputform="права[правий/adj:f:v_kly:compb,правий/adj:f:v_naz:compb,право/noun:inanim:n:v_rod,право/noun:inanim:p:v_naz,право/noun:inanim:p:v_zna]" outputform="права[право/noun:inanim:n:v_rod,право/noun:inanim:p:v_naz,право/noun:inanim:p:v_zna]">не має <marker>права</marker>.</example> <example type="untouched">права рука</example> <example type="untouched">права та ліва частини</example> <example type="untouched">вона була стовідсотково права</example> <example type="untouched">права була моя бабуся</example> <example type="untouched">запалала права задня</example> </rule> <rule name="Місяць дати" id="date_month"> <pattern> <token regexp="yes">[1-3]?[0-9]</token> <marker> <token regexp="yes">Січ|Лют|Бер|Кві|Тра|Чер|Лип|Сер|Вер|Жов|Лис|Гру</token> </marker> <token regexp="yes">[0-9]{4}</token> </pattern> <disambig postag="noninfl:abbr"/> <example type="ambiguous" inputform="Тра[тра/noninfl:&predic:arch]" outputform="Тра[тра/noninfl:abbr]">15 <marker>Тра</marker> 2019.</example> <example type="untouched">Тра 2 ведра взять.</example> </rule> <rule name="Час через крапку" id="time_with_dot"> <pattern> <token postag="time" regexp="yes">.*\.* <exception scope="previous" postag_regexp="yes" postag="prep.*"/> </token> </pattern> <disambig action="remove" postag="time"/> <example type="ambiguous" inputform="1.14[1.14/time]" outputform="1.14[1.14]">Рис. <marker>1.14</marker>.</example> <example type="untouched">о 1.15</example> </rule> <rule name="Мету - іменник" id="metu_noun"> <pattern> <token>мету <exception scope="previous">я</exception> </token> </pattern> <disambig action="remove" postag="verb.*"/> <example type="ambiguous" inputform="мету[мести/verb:imperf:pres:s:1,мета/noun:inanim:f:v_zna]" outputform="мету[мета/noun:inanim:f:v_zna]">за <marker>мету</marker>.</example> <example type="untouched">Я мету.</example> </rule> <rule name="одяг - іменник" id="odyag_noun"> <pattern> <token>одяг <exception scope="previous">він</exception> <exception scope="previous" postag_regexp="yes" postag="noun:anim:m:v_naz.*"/> </token> </pattern> <disambig action="remove" postag="verb.*"/> <example type="ambiguous" inputform="одяг[одяг/noun:inanim:m:v_naz,одяг/noun:inanim:m:v_zna,одягти/verb:perf:past:m]" outputform="одяг[одяг/noun:inanim:m:v_naz,одяг/noun:inanim:m:v_zna]">і <marker>одяг</marker>.</example> <example type="untouched">Він одяг пальто.</example> </rule> <rule name="Назву - іменник" id="nazvu_noun"> <pattern> <token postag_regexp="yes" postag="verb.*|adj:f:v_zna:rianim.*|prep.*"/> <marker> <token>назву</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:f:v_zna.*"/> <example type="ambiguous" inputform="назву[назва/noun:inanim:f:v_zna,назвати/verb:perf:futr:s:1]" outputform="назву[назва/noun:inanim:f:v_zna]">мав <marker>назву</marker>.</example> <example type="untouched">я назву два з них</example> </rule> <rule name="Родом - не ім'я" id="rodom_not_a_name"> <pattern> <token postag="SENT_START"/> <marker> <token case_sensitive="yes">Родом</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_oru.*" /> <example type="ambiguous" inputform="Родом[Род/noun:anim:m:v_oru:prop:fname,рід/noun:inanim:m:v_oru]" outputform="Родом[рід/noun:inanim:m:v_oru]"><marker>Родом</marker> я з Києва.</example> <example type="untouched">але Родом керувала помста</example> </rule> <rule name="Ринок - ринка" id="rynok_rynka_1"> <pattern> <token postag_regexp="yes" postag="adj:m:.*"> <exception postag_regexp="yes" postag="adj:f:.*"/> </token> <marker> <and> <token inflected="yes">ринок</token> <token inflected="yes">ринка</token> </and> </marker> </pattern> <disambig action="remove"><wd lemma="ринка"/></disambig> <example type="ambiguous" inputform="ринку[ринка/noun:inanim:f:v_zna,ринок/noun:inanim:m:v_dav,ринок/noun:inanim:m:v_mis,ринок/noun:inanim:m:v_rod]" outputform="ринку[ринок/noun:inanim:m:v_dav,ринок/noun:inanim:m:v_mis,ринок/noun:inanim:m:v_rod]">європейського <marker>ринку</marker>.</example> <example type="untouched">діряву ринку</example> <example type="untouched">ржаві ринки</example> </rule> <rule name="Ринок - ринка" id="rynok_rynka_2"> <pattern> <token inflected="yes" regexp="yes">.*товарний|європейський|.*валютний|модель|зовнішній|внутрішній|фондовий|регіональний</token> <marker> <and> <token inflected="yes">ринок</token> <token inflected="yes">ринка</token> </and> </marker> </pattern> <disambig action="remove"><wd lemma="ринка"/></disambig> <example type="ambiguous" inputform="ринками[ринка/noun:inanim:p:v_oru,ринок/noun:inanim:p:v_oru]" outputform="ринками[ринок/noun:inanim:p:v_oru]">європейськими <marker>ринками</marker>.</example> <example type="untouched">діряву ринку</example> <example type="untouched">ржаві ринки</example> </rule> <rule name="Ринок - ринка" id="rynok_rynka_3"> <pattern> <marker> <and> <token inflected="yes">ринок</token> <token inflected="yes">ринка</token> </and> </marker> <token regexp="yes">землі|житла</token> </pattern> <disambig action="remove"><wd lemma="ринка"/></disambig> <example type="ambiguous" inputform="ринку[ринка/noun:inanim:f:v_zna,ринок/noun:inanim:m:v_dav,ринок/noun:inanim:m:v_mis,ринок/noun:inanim:m:v_rod]" outputform="ринку[ринок/noun:inanim:m:v_dav,ринок/noun:inanim:m:v_mis,ринок/noun:inanim:m:v_rod]">на <marker>ринку</marker> житла.</example> <example type="untouched">ринку з олією</example> </rule> <rule name="П'ята - числівник" id="pjata_numr"> <pattern> <marker> <token>п'ята <exception scope="previous" regexp="yes">ахіл.*</exception> <exception scope="previous" inflected="yes">залізний</exception> <exception scope="next" postag_regexp="yes" postag="noun:anim:.:v_rod.*"/> </token> </marker> </pattern> <disambig action="remove"><wd lemma="п'ята"/></disambig> <example type="ambiguous" inputform="п'ята[п'ята/noun:inanim:f:v_naz,п'ятий/adj:f:v_kly:&numr,п'ятий/adj:f:v_naz:&numr]" outputform="п'ята[п'ятий/adj:f:v_kly:&numr,п'ятий/adj:f:v_naz:&numr]">десь <marker>п'ята</marker> ранку.</example> <example type="untouched">ахіллесова п'ята</example> <example type="untouched">п'ята бразильця</example> </rule> <rule name="Посад - мн" id="posad_plural"> <pattern> <marker> <token>посад <exception scope="previous">на</exception> <exception scope="previous" postag_regexp="yes" postag="adj:m:v_(naz|v_zna:inanim).*"/> </token> </marker> </pattern> <disambig action="remove"><wd lemma="посад"/></disambig> <example type="ambiguous" inputform="посад[посад/noun:inanim:m:v_naz,посад/noun:inanim:m:v_zna,посада/noun:inanim:p:v_rod]" outputform="посад[посада/noun:inanim:p:v_rod]">10 <marker>посад</marker>.</example> <example type="untouched">на посад</example> <example type="untouched">торгівельний посад</example> </rule> <rule name="Глиб - одн" id="glyb_sing"> <pattern> <token regexp="yes">[ву]|на</token> <marker> <token>глиб</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_zna.*"/> <example type="ambiguous" inputform="глиб[глиб/noun:inanim:m:v_naz,глиб/noun:inanim:m:v_zna,глиба/noun:inanim:p:v_rod:bad]" outputform="глиб[глиб/noun:inanim:m:v_zna]">в <marker>глиб</marker> віків.</example> <example type="untouched">кам'яних глиб</example> </rule> <rule name="Глиб - одн" id="glyb_sing2"> <pattern> <token postag_regexp="yes" postag="adj:m:v_zna:rinanim.*"> <exception postag_regexp="yes" postag="adj:p:v_rod.*"/> </token> <marker> <token>глиб</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_zna.*"/> <example type="ambiguous" inputform="глиб[глиб/noun:inanim:m:v_naz,глиб/noun:inanim:m:v_zna,глиба/noun:inanim:p:v_rod:bad]" outputform="глиб[глиб/noun:inanim:m:v_zna]">самий <marker>глиб</marker> віків.</example> <example type="untouched">його глиб</example> </rule> <rule name="Глиб - мн" id="glyb_plural"> <pattern> <token postag_regexp="yes" postag="adj:p:v_rod.*"> <exception postag_regexp="yes" postag="adj:m:v_zna:rinanim.*"/> </token> <marker> <token>глиб</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:p:v_rod.*"/> <example type="ambiguous" inputform="глиб[глиб/noun:inanim:m:v_naz,глиб/noun:inanim:m:v_zna,глиба/noun:inanim:p:v_rod:bad]" outputform="глиб[глиба/noun:inanim:p:v_rod:bad]">кам'яних <marker>глиб</marker>.</example> <example type="untouched">і глиб очей</example> </rule> <!-- <rule name="Плата" id="platа_sing"> <pattern> <token inflected="yes" regexp="yes">заробітний|орендний|рентний|розмір</token> <marker> <token inflected="yes">плата</token> </marker> </pattern> <disambig action="remove"><wd lemma="плат"/></disambig> <example type="ambiguous" inputform="плат[плат/noun:inanim:m:v_naz:arch,плат/noun:inanim:m:v_zna:arch,плата/noun:inanim:p:v_rod]" outputform="плат[плата/noun:inanim:p:v_rod]">заробітних <marker>плат</marker>.</example> <example type="untouched">широкий плат</example> </rule> <rule name="Плат - мн" id="plat_plural"> <pattern> <token postag_regexp="yes" postag="adj:p:v_rod.*"> <exception postag_regexp="yes" postag="adj:m:v_naz.*"/> </token> <marker> <token>плат</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:p:v_rod.*"/> <example type="ambiguous" inputform="плат[плат/noun:inanim:m:v_naz:arch,плат/noun:inanim:m:v_zna:arch,плата/noun:inanim:p:v_rod]" outputform="плат[плата/noun:inanim:p:v_rod]">різних <marker>плат</marker>.</example> <example type="untouched">широкий плат</example> </rule> --> <rule name="Накладна" id="nakladna_noun"> <pattern> <unify> <feature id="gender"/> <feature id="case"/> <token inflected="yes" regexp="yes">податковий|товарний|акцизний|товарно-транспортний|супровідний|(не)?заповнений</token> <marker> <and> <token postag_regexp="yes" postag="adj.*" inflected="yes">накладний</token> <token postag_regexp="yes" postag="noun:inanim.*" inflected="yes">накладна</token> </and> </marker> </unify> </pattern> <disambig action="filter" postag="noun:inanim.*" /> <example type="ambiguous" inputform="накладні[накладна/noun:inanim:p:v_naz,накладна/noun:inanim:p:v_zna,накладний/adj:p:v_kly:compb:bad:xp2,накладний/adj:p:v_kly:xp1,накладний/adj:p:v_naz:compb:bad:xp2,накладний/adj:p:v_naz:xp1,накладний/adj:p:v_zna:rinanim:compb:bad:xp2,накладний/adj:p:v_zna:rinanim:xp1]" outputform="накладні[накладна/noun:inanim:p:v_naz,накладна/noun:inanim:p:v_zna]">податкові <marker>накладні</marker>.</example> <example type="untouched">накладні нігті</example> </rule> <rule name="Накладна" id="nakladna_noun2"> <pattern> <marker> <and> <token postag_regexp="yes" postag="adj.*" inflected="yes">накладний</token> <token postag_regexp="yes" postag="noun:inanim.*" inflected="yes">накладна</token> </and> </marker> <token postag_regexp="yes" postag="prep.*"/> </pattern> <disambig action="filter" postag="noun:inanim.*" /> <example type="ambiguous" inputform="накладні[накладна/noun:inanim:p:v_naz,накладна/noun:inanim:p:v_zna,накладний/adj:p:v_kly:compb:bad:xp2,накладний/adj:p:v_kly:xp1,накладний/adj:p:v_naz:compb:bad:xp2,накладний/adj:p:v_naz:xp1,накладний/adj:p:v_zna:rinanim:compb:bad:xp2,накладний/adj:p:v_zna:rinanim:xp1]" outputform="накладні[накладна/noun:inanim:p:v_naz,накладна/noun:inanim:p:v_zna]"><marker>накладні</marker> на корм.</example> <example type="untouched">накладні нігті</example> </rule> <rule name="Накладний" id="nakladna_adj"> <pattern> <unify> <feature id="gender"/> <feature id="case"/> <marker> <and> <token postag_regexp="yes" postag="adj.*" inflected="yes">накладний</token> <token postag_regexp="yes" postag="noun:inanim.*" inflected="yes">накладна</token> </and> <token inflected="yes" regexp="yes">витрата|видаток|ніготь|вія|вуса|кишеня|\.</token> </marker> </unify> </pattern> <disambig action="filter" postag="adj.*" /> <example type="ambiguous" inputform="накладні[накладна/noun:inanim:p:v_naz,накладна/noun:inanim:p:v_zna,накладний/adj:p:v_kly:compb:bad:xp2,накладний/adj:p:v_kly:xp1,накладний/adj:p:v_naz:compb:bad:xp2,накладний/adj:p:v_naz:xp1,накладний/adj:p:v_zna:rinanim:compb:bad:xp2,накладний/adj:p:v_zna:rinanim:xp1]" outputform="накладні[накладний/adj:p:v_kly:compb:bad:xp2,накладний/adj:p:v_kly:xp1,накладний/adj:p:v_naz:compb:bad:xp2,накладний/adj:p:v_naz:xp1,накладний/adj:p:v_zna:rinanim:compb:bad:xp2,накладний/adj:p:v_zna:rinanim:xp1]"><marker>накладні</marker> нігті.</example> <example type="untouched">податкова накладна</example> </rule> <rule name="присл і прикм с.р." id="adv_adj_n_krasche"> <antipattern> <token postag_regexp="yes" postag="prep.*"/> <token postag_regexp="yes" postag="adj.*" regexp="yes">.*краще</token> </antipattern> <pattern> <marker> <and> <token postag_regexp="yes" postag="adv.*" regexp="yes">.*краще</token> <token postag_regexp="yes" postag="adj:n.*" inflected="yes" regexp="yes">.*кращий</token> </and> </marker> <token postag_regexp="yes" postag="verb.*"/> </pattern> <disambig action="filter" postag="adv.*" /> <example type="ambiguous" inputform="найкраще[найкраще/adv:comps:&predic,найкращий/adj:n:v_kly:comps,найкращий/adj:n:v_naz:comps,найкращий/adj:n:v_zna:comps]" outputform="найкраще[найкраще/adv:comps:&predic]">І <marker>найкраще</marker> буде поїхати зараз.</example> <example type="untouched">найкраще село</example> <example type="untouched">краще національне життя</example> <example type="untouched">за краще брати</example> </rule> <rule name="присл і прикм с.р." id="adv_adj_n_ranishe"> <antipattern> <token regexp="yes">раніше|вище|дальше</token> <token postag_regexp="yes" postag="adj:n:v_(naz|zna:rinanim).*" min="0"> <exception postag_regexp="yes" postag=".*pron.*"/> </token> <token postag_regexp="yes" postag="noun:inanim:n:v_(naz|zna).*"> <exception postag_regexp="yes" postag=".*pron.*"/> </token> </antipattern> <pattern> <marker> <and> <token postag_regexp="yes" postag="adv.*" regexp="yes">раніше|вище|дальше</token> <token postag_regexp="yes" postag="adj:n.*" inflected="yes" regexp="yes">раніший|вищий|дальший</token> </and> </marker> </pattern> <disambig action="remove" postag="adj:n:.*" /> <example type="ambiguous" inputform="раніше[раніше/adv:compc:&predic,раніше/prep,раніший/adj:n:v_kly:compc,раніший/adj:n:v_naz:compc,раніший/adj:n:v_zna:compc]" outputform="раніше[раніше/adv:compc:&predic,раніше/prep]">І <marker>раніше</marker> поїхати.</example> <example type="ambiguous" inputform="раніше[раніше/adv:compc:&predic,раніше/prep,раніший/adj:n:v_kly:compc,раніший/adj:n:v_naz:compc,раніший/adj:n:v_zna:compc]" outputform="раніше[раніше/adv:compc:&predic,раніше/prep]">І <marker>раніше</marker> бозна-що було.</example> <example type="ambiguous" inputform="дальше[дальше/adv:compc:arch,дальший/adj:n:v_kly:compc,дальший/adj:n:v_naz:compc,дальший/adj:n:v_zna:compc]" outputform="дальше[дальше/adv:compc:arch]">як жити <marker>дальше</marker>.</example> <example type="untouched">а раніше заняття</example> <example type="untouched">вище досягнення</example> <example type="untouched">вище російське начальство</example> <example type="untouched">дальше навчання</example> </rule> <rule name="Візит" id="vizyt"> <pattern> <unify> <feature id="gender"/> <feature id="case"/> <token postag_regexp="yes" postag="adj:(m:v_rod|m:v_dav|m:v_mis|p:v_naz|p:v_zna:rinanim).*"> <exception>її</exception> <!-- <exception postag_regexp="yes" postag="adj:f:v_(zna|dav|mis|rod).*" /> --> </token> <marker> <token postag_regexp="yes" postag="noun:inanim:[mp].*" regexp="yes">візит[уиі]</token> </marker> </unify> </pattern> <disambig action="filter" postag="noun:inanim:[mp].*" /> <example type="ambiguous" inputform="візиту[візит/noun:inanim:m:v_dav,візит/noun:inanim:m:v_mis,візит/noun:inanim:m:v_rod,візита/noun:inanim:f:v_zna:arch]" outputform="візиту[візит/noun:inanim:m:v_dav,візит/noun:inanim:m:v_mis,візит/noun:inanim:m:v_rod]">мого <marker>візиту</marker>.</example> <example type="ambiguous" inputform="візити[візит/noun:inanim:p:v_naz,візит/noun:inanim:p:v_zna,візита/noun:inanim:f:v_rod:arch]" outputform="візити[візит/noun:inanim:p:v_naz,візит/noun:inanim:p:v_zna]">попередні <marker>візити</marker>.</example> <example type="untouched">останню візиту</example> <example type="untouched">останньої візити</example> <example type="untouched">на останній візиті</example> <example type="untouched">її візиту відклали</example> </rule> <rule name="Візит" id="vizyt2"> <pattern> <token regexp="yes" inflected="yes">час|мета|день|рамках|результат|підсумок|наслідок|без|після|для|від|до|напередодні</token> <token min="0">її</token> <marker> <token postag_regexp="yes" postag="noun:inanim:m.*">візиту</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m.*" /> <example type="ambiguous" inputform="візиту[візит/noun:inanim:m:v_dav,візит/noun:inanim:m:v_rod,візита/noun:inanim:f:v_zna:arch]" outputform="візиту[візит/noun:inanim:m:v_dav,візит/noun:inanim:m:v_rod]">під час <marker>візиту</marker>.</example> <example type="ambiguous" inputform="візиту[візит/noun:inanim:m:v_dav,візит/noun:inanim:m:v_rod,візита/noun:inanim:f:v_zna:arch]" outputform="візиту[візит/noun:inanim:m:v_dav,візит/noun:inanim:m:v_rod]">після <marker>візиту</marker>.</example> <example type="ambiguous" inputform="візиту[візит/noun:inanim:m:v_dav,візит/noun:inanim:m:v_rod,візита/noun:inanim:f:v_zna:arch]" outputform="візиту[візит/noun:inanim:m:v_dav,візит/noun:inanim:m:v_rod]">після її <marker>візиту</marker>.</example> <example type="untouched">останню візиту</example> </rule> <rule name="Притік" id="prytik"> <pattern> <token postag_regexp="yes" postag="adj:m:v_(rod|dav|mis|kly).*|prep.*"> <exception postag_regexp="yes" postag="adj:f:v_zna.*"/> </token> <marker> <token>притоку</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m.*" /> <example type="ambiguous" inputform="притоку[притока/noun:inanim:f:v_zna,притік/noun:inanim:m:v_dav:bad,притік/noun:inanim:m:v_mis:bad,притік/noun:inanim:m:v_rod:bad]" outputform="притоку[притік/noun:inanim:m:v_dav:bad,притік/noun:inanim:m:v_mis:bad,притік/noun:inanim:m:v_rod:bad]">постійного <marker>притоку</marker>.</example> <example type="ambiguous" inputform="притоку[притока/noun:inanim:f:v_zna,притік/noun:inanim:m:v_dav:bad,притік/noun:inanim:m:v_rod:bad]" outputform="притоку[притік/noun:inanim:m:v_dav:bad,притік/noun:inanim:m:v_rod:bad]">замість <marker>притоку</marker>.</example> <example type="untouched">постійну притоку</example> </rule> <rule name="Притока" id="prytoka"> <pattern> <token postag_regexp="yes" postag="adj:f:v_zna.*"> <exception postag_regexp="yes" postag="adj:m:v_(rod|dav|mis|kly).*" /> </token> <marker> <token>притоку</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:f.*" /> <example type="ambiguous" inputform="притоку[притока/noun:inanim:f:v_zna,притік/noun:inanim:m:v_dav:bad,притік/noun:inanim:m:v_mis:bad,притік/noun:inanim:m:v_rod:bad]" outputform="притоку[притока/noun:inanim:f:v_zna]">постійну <marker>притоку</marker>. </example> <example type="untouched">постійному притоку</example> </rule> <rule name="Качок" id="kachok"> <pattern> <unify> <feature id="gender"/> <feature id="case"/> <token postag_regexp="yes" postag="adj:m.*"> <exception postag_regexp="yes" postag="adj:[fp].*"/> </token> <marker> <token inflected="yes">качок</token> </marker> </unify> </pattern> <disambig action="filter" postag="noun:anim:m.*" /> <example type="ambiguous" inputform="качок[качка/noun:anim:p:v_rod,качка/noun:anim:p:v_zna,качок/noun:anim:m:v_naz:slang]" outputform="качок[качок/noun:anim:m:v_naz:slang]">здоровенний <marker>качок</marker>. </example> <example type="untouched">качка і холод</example> </rule> <rule name="Власне - вставне слово" id="vlasne_insert"> <pattern> <token regexp="yes">[\p{Punct}–—«“„…]</token> <token min="0" regexp="yes">і|та|а|от</token> <token min="0">й</token> <marker> <token>власне</token> </marker> <token>,</token> </pattern> <disambig action="filter" postag=".*insert" /> <example type="ambiguous" inputform="власне[власне/part:&insert,власний/adj:n:v_kly,власний/adj:n:v_naz,власний/adj:n:v_zna]" outputform="власне[власне/part:&insert]">, і <marker>власне</marker>, на них. </example> <example type="untouched">, власне життя</example> </rule> <rule name="Власне - вставне слово" id="vlasne_insert2"> <pattern> <token postag="SENT_START"/> <token min="0" regexp="yes">і|та|а|от|як</token> <marker> <token>власне</token> </marker> <token>,</token> </pattern> <disambig action="filter" postag=".*insert" /> <example type="ambiguous" inputform="власне[власне/part:&insert,власний/adj:n:v_naz,власний/adj:n:v_zna]" outputform="власне[власне/part:&insert]">Як <marker>власне</marker>, й трапляється. </example> <example type="untouched">власне життя</example> </rule> <rule name="тд - т.д." id="td_bad"> <pattern> <token regexp="yes">[ій]</token> <marker> <token>тд</token> </marker> </pattern> <disambig postag="noninfl:bad" /> <example type="ambiguous" inputform="тд[тд]" outputform="тд[тд/noninfl:bad]">і <marker>тд</marker>. </example> <example type="untouched">4 тд</example> </rule> <rule name="Оглядів - іменник" id="ogliadiv_noun"> <pattern> <token postag_regexp="yes" postag="num.*|adj:p:v_rod.*"/> <marker> <token>оглядів</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:p.*" /> <example type="ambiguous" inputform="оглядів[огляд/noun:inanim:p:v_rod,оглядіти/verb:perf:past:m:arch]" outputform="оглядів[огляд/noun:inanim:p:v_rod]">військових <marker>оглядів</marker>. </example> <example type="untouched">суворо оглядів</example> </rule> <rule name="так - conj" id="tak_conj"> <pattern> <token>,</token> <marker> <token>так</token> </marker> <token regexp="yes">[ій]</token> </pattern> <disambig action="filter" postag="conj:coord" /> <example type="ambiguous" inputform="так[так/adv:&pron:dem,так/conj:coord,так/conj:subord,так/part]" outputform="так[так/conj:coord]">, <marker>так</marker> і для нього. </example> <example type="untouched">Так тобі й треба</example> </rule> <rule name="так - adv" id="tak_adv"> <pattern> <marker> <token>так</token> </marker> <token>,</token> <token regexp="yes">щоби?</token> </pattern> <disambig action="filter" postag="adv:&pron:dem" /> <example type="ambiguous" inputform="так[так/adv:&pron:dem,так/conj:coord,так/conj:subord,так/part]" outputform="так[так/adv:&pron:dem]"><marker>так</marker>, щоб йому було </example> <example type="untouched">Так тобі й треба</example> </rule> <rule name="сходу - іменник" id="skhodu_noun1"> <pattern> <token postag_regexp="yes" postag="prep.*"/> <marker> <token>сходу</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:.*" /> <example type="ambiguous" inputform="сходу[сход/noun:inanim:m:v_dav,сход/noun:inanim:m:v_rod,сходу/adv:bad,схід/noun:inanim:m:v_dav,схід/noun:inanim:m:v_rod]" outputform="сходу[сход/noun:inanim:m:v_dav,сход/noun:inanim:m:v_rod,схід/noun:inanim:m:v_dav,схід/noun:inanim:m:v_rod]">Приїхав зі <marker>сходу</marker>. </example> <example type="untouched">сходу стрибнув</example> </rule> <rule name="сходу - іменник" id="skhodu_noun2"> <pattern> <token regexp="yes">заходу|півдн[яю]|півночі</token> <token postag_regexp="yes" postag="conj.*"/> <marker> <token>сходу</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_.*"></disambig> <!-- TODO: filter by lemma too --> <example type="ambiguous" inputform="сходу[сход/noun:inanim:m:v_dav,сход/noun:inanim:m:v_rod,сходу/adv:bad,схід/noun:inanim:m:v_dav,схід/noun:inanim:m:v_rod]" outputform="сходу[сход/noun:inanim:m:v_dav,сход/noun:inanim:m:v_rod,схід/noun:inanim:m:v_dav,схід/noun:inanim:m:v_rod]">З півночі і <marker>сходу</marker>. </example> <example type="untouched">сходу стрибнув</example> </rule> <rule name="сходу - іменник" id="skhodu_noun3"> <pattern> <token postag_regexp="yes" postag="adj:m:v_(rod|dav).*"/> <marker> <token>сходу</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_.*"/> <example type="ambiguous" inputform="сходу[сход/noun:inanim:m:v_dav,сход/noun:inanim:m:v_rod,сходу/adv:bad,схід/noun:inanim:m:v_dav,схід/noun:inanim:m:v_rod]" outputform="сходу[сход/noun:inanim:m:v_dav,сход/noun:inanim:m:v_rod,схід/noun:inanim:m:v_dav,схід/noun:inanim:m:v_rod]">З південного <marker>сходу</marker>. </example> <example type="untouched">сходу стрибнув</example> </rule> <rule name="просто - прийм." id="prosto_prep"> <pattern> <marker> <token>просто</token> </marker> <token>неба</token> </pattern> <disambig action="filter" postag="prep"/> <example type="ambiguous" inputform="просто[просто/adv:compb:&predic,просто/prep]" outputform="просто[просто/prep]">і <marker>просто</marker> неба. </example> <example type="untouched">просто туди</example> </rule> <rule name="сім - прикм." id="sim_adj"> <pattern> <token regexp="yes">на|в|у|при|о</token> <marker> <token>сім</token> </marker> <token postag_regexp="yes" postag=".*?:[mn]:v_mis.*"> <exception postag_regexp="yes" postag="(noun.*?|adj):p:v_rod.*|.*(nv|abbr).*"/> <!-- <exception negate_pos="yes" postag_regexp="yes" postag="(noun.*?|adj):[mn]:v_mis.*|SENT_END|PARA_END"/> --> </token> </pattern> <disambig action="filter" postag="(adj|noun).*arch.*"/> <example type="ambiguous" inputform="сім[се/noun:inanim:n:v_mis:&pron:dem:arch,сей/adj:m:v_mis:&pron:dem:arch,сей/adj:n:v_mis:&pron:dem:arch,сім/numr:p:v_naz,сім/numr:p:v_zna]" outputform="сім[се/noun:inanim:n:v_mis:&pron:dem:arch,сей/adj:m:v_mis:&pron:dem:arch,сей/adj:n:v_mis:&pron:dem:arch]">на <marker>сім</marker> світі </example> <example type="untouched">на сім відсотків</example> <example type="untouched">на сім кіно</example> <example type="untouched">на сім млрд дол</example> </rule> <rule name="сім - числ." id="sim_numr"> <pattern> <marker> <token postag_regexp="yes" postag="numr.*">сім</token> </marker> </pattern> <disambig action="filter" postag="numr.*"/> <example type="ambiguous" inputform="сім[се/noun:inanim:n:v_mis:&pron:dem:arch,сей/adj:m:v_mis:&pron:dem:arch,сей/adj:n:v_mis:&pron:dem:arch,сім/numr:p:v_naz,сім/numr:p:v_zna]" outputform="сім[сім/numr:p:v_naz,сім/numr:p:v_zna]">на <marker>сім</marker> відсотків. </example> </rule> <rule name="п'яти - іменн." id="pyaty_noun"> <pattern> <token regexp="yes" postag_regexp="yes" postag="adj.*">ахіл.*</token> <marker> <token regexp="yes">п'ят[иау]</token> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="п'ята[п'ята/noun:inanim:f:v_naz,п'ятий/adj:f:v_kly:&numr,п'ятий/adj:f:v_naz:&numr]" outputform="п'ята[п'ята/noun:inanim:f:v_naz]">ахіллесова <marker>п'ята</marker>. </example> <example type="untouched">на п'яту вечора</example> </rule> <rule name="стало - дієслово" id="stalo_verb1"> <pattern> <marker> <token>стало</token> </marker> <token min="0">б</token> <token postag_regexp="yes" postag=".*v_oru.*|adv:comp[cs].*"/> </pattern> <disambig action="filter" postag="verb.*"/> <example type="ambiguous" inputform="стало[стало/adv,стати/verb:perf:past:n]" outputform="стало[стати/verb:perf:past:n]">воно <marker>стало</marker> моїм талісманом. </example> <example type="ambiguous" inputform="стало[стало/adv,стати/verb:perf:past:n]" outputform="стало[стати/verb:perf:past:n]">їй <marker>стало</marker> легше. </example> <example type="untouched">і буду тут стало проживати</example> <example type="untouched">і буду стало тут проживати</example> </rule> <rule name="стало - дієслово" id="stalo_verb2"> <pattern> <marker> <token>стало</token> </marker> <token min="0">б</token> <token regexp="yes">.+[нт]{2}я</token> </pattern> <disambig action="filter" postag="verb.*"/> <example type="ambiguous" inputform="стало[стало/adv,стати/verb:perf:past:n]" outputform="стало[стати/verb:perf:past:n]">тоді <marker>стало</marker> прийняття закону. </example> <example type="untouched">і буду стало тут проживати</example> </rule> <rule name="стала - дієслово" id="stalа_verb1"> <pattern> <token postag_regexp="yes" postag="noun.*v_naz.*"/> <marker> <token>стала</token> </marker> <token min="0">б</token> <token min="0" postag_regexp="yes" postag="adv.*"/> <token postag_regexp="yes" postag=".*v_oru.*"/> </pattern> <disambig action="filter" postag="verb.*"/> <example type="ambiguous" inputform="стала[стала/noun:inanim:f:v_naz,сталий/adj:f:v_naz:compb,стати/verb:perf:past:f]" outputform="стала[стати/verb:perf:past:f]">Українізація <marker>стала</marker> б дуже українським </example> <example type="untouched">змінна коефіцієнту стала.</example> </rule> <rule name="уряд - іменник" id="uryad_noun1"> <pattern> <token postag_regexp="yes" postag="adj:m:v_(naz|zna:rinanim)(?!.*pron).*"/> <marker> <token>уряд</token> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="уряд[уряд/adv,уряд/noun:inanim:m:v_naz,уряд/noun:inanim:m:v_zna]" outputform="уряд[уряд/noun:inanim:m:v_naz,уряд/noun:inanim:m:v_zna]">Радянський <marker>уряд</marker> був </example> <example type="untouched">поставити їх уряд.</example> </rule> <rule name="уряд - іменник" id="uryad_noun2"> <pattern> <marker> <token>уряд</token> </marker> <token case_sensitive="yes" regexp="yes">[А-ЯІЇЄҐ].*|країни</token> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="уряд[уряд/adv,уряд/noun:inanim:m:v_naz,уряд/noun:inanim:m:v_zna]" outputform="уряд[уряд/noun:inanim:m:v_naz,уряд/noun:inanim:m:v_zna]">І <marker>уряд</marker> ЗУНР. </example> <example type="untouched">і уряд поїхав.</example> </rule> <rule name="жаль - іменник" id="zhal_noun1"> <pattern> <token>на</token> <marker> <token>жаль</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_zna.*"/> <example type="ambiguous" inputform="жаль[жаль/adv:&predic,жаль/noun:inanim:m:v_naz,жаль/noun:inanim:m:v_zna]" outputform="жаль[жаль/noun:inanim:m:v_zna]">На <marker>жаль</marker> він </example> <example type="untouched">мені його жаль.</example> </rule> <rule name="само - прислівник" id="samo_adv1"> <pattern> <token regexp="yes">так|там</token> <marker> <token>само</token> </marker> </pattern> <disambig action="filter" postag="adv.*"/> <example type="ambiguous" inputform="само[сам/adj:n:v_naz:&pron:def,само/adv]" outputform="само[само/adv]">Так <marker>само</marker> він пішов </example> <example type="untouched">само прийшло</example> </rule> <rule name="зрозуміло - прислівник" id="zrozumilo_adv1"> <pattern> <token regexp="yes" inflected="yes">бути|стати|зовсім|цілком|більш-менш|чітко|наразі</token> <marker> <token>зрозуміло</token> </marker> </pattern> <disambig action="filter" postag="adv.*"/> <example type="ambiguous" inputform="зрозуміло[зрозуміло/adv:compb:&insert:&predic,зрозуміти/verb:perf:past:n]" outputform="зрозуміло[зрозуміло/adv:compb:&insert:&predic]">стало <marker>зрозуміло</marker> тоді </example> <example type="untouched">воно все зрозуміло саме</example> </rule> <rule name="зрозуміло - прислівник" id="zrozumilo_adv2"> <pattern> <token>,</token> <token min="0">то</token> <marker> <token>зрозуміло</token> </marker> <token regexp="yes">[,.—-]</token> </pattern> <disambig action="filter" postag="adv.*"/> <example type="ambiguous" inputform="зрозуміло[зрозуміло/adv:compb:&insert:&predic,зрозуміти/verb:perf:past:n]" outputform="зрозуміло[зрозуміло/adv:compb:&insert:&predic]">, то <marker>зрозуміло</marker>, </example> <example type="untouched">все зрозуміло і прийняло</example> </rule> <rule name="міністрів - іменник" id="minstriv_noun1"> <pattern> <token regexp="yes" inflected="yes">кабінет|(на)?рада|рішення|зустріч|рівень|комітет|народний|заступник|для|[0-9]+</token> <marker> <token>міністрів</token> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="міністрів[міністр/noun:anim:p:v_rod,міністр/noun:anim:p:v_zna,міністрів/adj:m:v_kly,міністрів/adj:m:v_naz,міністрів/adj:m:v_zna:rinanim]" outputform="міністрів[міністр/noun:anim:p:v_rod,міністр/noun:anim:p:v_zna]">Рада <marker>міністрів</marker>, </example> <example type="untouched">міністрів портфель</example> </rule> <rule name="суддів - іменник" id="суддів_noun1"> <pattern> <token regexp="yes" inflected="yes">рада|комісія|колегія|з'їзд|статус|збори|посада|рішення|признач[аи]ти|федеральний|двоє|троє|для|із?|[0-9]+</token> <marker> <token>суддів</token> </marker> </pattern> <disambig action="filter" postag="noun.*"/> <example type="ambiguous" inputform="суддів[суддя/noun:anim:p:v_rod,суддя/noun:anim:p:v_zna,суддів/adj:m:v_kly,суддів/adj:m:v_naz,суддів/adj:m:v_zna:rinanim]" outputform="суддів[суддя/noun:anim:p:v_rod,суддя/noun:anim:p:v_zna]">Рада <marker>суддів</marker>, </example> <example type="untouched">суддів гаманець</example> </rule> <rule name="складу - іменник" id="skladu_noun1"> <pattern> <token regexp="yes">до|для|від</token> <marker> <token>складу</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_rod.*"/> <example type="ambiguous" inputform="складу[склад/noun:inanim:m:v_dav,склад/noun:inanim:m:v_rod,скласти/verb:perf:futr:s:1]" outputform="складу[склад/noun:inanim:m:v_rod]">ввели до <marker>складу</marker> людей, </example> <example type="untouched">складу йому обід</example> </rule> <rule name="складу - іменник" id="skladu_noun2"> <pattern> <token postag_regexp="yes" postag="adj:m:v_(rod|dav).*" /> <marker> <token>складу</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim:m:v_.*"/> <example type="ambiguous" inputform="складу[склад/noun:inanim:m:v_dav,склад/noun:inanim:m:v_rod,скласти/verb:perf:futr:s:1]" outputform="складу[склад/noun:inanim:m:v_dav,склад/noun:inanim:m:v_rod]">до ізотопного <marker>складу</marker>, </example> <example type="untouched">складу йому обід</example> </rule> <rule name="ціле - прикм" id="cile_adj"> <antipattern> <!-- <unify> <feature id="gender"/> <feature id="case"/> --> <token regexp="yes" inflected="yes" postag_regexp="yes" postag=".*:n.*">один|єдиний</token> <token inflected="yes" postag_regexp="yes" postag="noun:inanim:n.*">ціле</token> <!-- </unify> --> </antipattern> <pattern> <marker> <token inflected="yes">ціле</token> </marker> </pattern> <disambig action="remove" postag="noun:inanim:n.*"/> <example type="ambiguous" inputform="цілого[ціле/noun:inanim:n:v_rod,цілий/adj:m:v_rod:compb,цілий/adj:m:v_zna:ranim:compb,цілий/adj:n:v_rod:compb]" outputform="цілого[цілий/adj:m:v_rod:compb,цілий/adj:m:v_zna:ranim:compb,цілий/adj:n:v_rod:compb]">до <marker>цілого</marker> складу. </example> <example type="untouched">як одного цілого.</example> <example type="untouched">єдиного цілого</example> </rule> <rule name="минуле - прикм" id="mynule_adj"> <antipattern> <token inflected="yes">минуле</token> <token regexp="yes">[йі]|та</token> <token inflected="yes">сучасне</token> </antipattern> <pattern> <marker> <token inflected="yes">сучасне</token> </marker> </pattern> <disambig action="remove" postag="noun:inanim:n.*"/> <example type="ambiguous" inputform="сучасного[сучасне/noun:inanim:n:v_rod,сучасний/adj:m:v_rod:compb,сучасний/adj:m:v_zna:ranim:compb,сучасний/adj:n:v_rod:compb]" outputform="сучасного[сучасний/adj:m:v_rod:compb,сучасний/adj:m:v_zna:ranim:compb,сучасний/adj:n:v_rod:compb]">до <marker>сучасного</marker> складу. </example> <example type="untouched">минулого і сучасного</example> </rule> <rule name="молоді - прикметник" id="molodi_adj1"> <pattern> <marker> <token>молоді <exception scope="previous" postag_regexp="yes" postag="adj:f:v_rod.*|prep.*"/> </token> </marker> <token postag_regexp="yes" postag="noun:anim:p:v_naz(?!.*(pron|prop)).*" /> </pattern> <disambig action="filter" postag="adj:p:v_naz.*"/> <example type="ambiguous" inputform="молоді[молодий/adj:p:v_kly:compb,молодий/adj:p:v_naz:compb,молодий/adj:p:v_zna:rinanim:compb,молодий/noun:anim:p:v_kly,молодий/noun:anim:p:v_naz,молодь/noun:inanim:f:v_dav,молодь/noun:inanim:f:v_mis,молодь/noun:inanim:f:v_rod]" outputform="молоді[молодий/adj:p:v_naz:compb]">засудили <marker>молоді</marker> чоловіки, </example> <example type="untouched">до такої молоді чоловіки</example> <example type="untouched">На II Безпековому форумі для молоді експерти</example> </rule> <rule name="молоді - іменник ж.р." id="molodi_noun_f_1"> <antipattern> <token>молоді</token> <token postag_regexp="yes" postag="noun:(anim:p:v_naz|inanim:p:v_(naz|zna)).*" /> </antipattern> <pattern> <unify> <feature id="gender"/> <feature id="case"/> <token postag_regexp="yes" postag="adj:f:v_(dav|mis|rod)(?!.*pron).*" /> <marker> <token>молоді</token> </marker> </unify> </pattern> <disambig action="filter" postag="noun:inanim:f:v_(dav|mis|rod).*"/> <example type="ambiguous" inputform="молоді[молодий/adj:p:v_naz:compb,молодий/adj:p:v_zna:rinanim:compb,молодий/noun:anim:p:v_naz,молодь/noun:inanim:f:v_dav,молодь/noun:inanim:f:v_mis,молодь/noun:inanim:f:v_rod]" outputform="молоді[молодь/noun:inanim:f:v_dav,молодь/noun:inanim:f:v_mis,молодь/noun:inanim:f:v_rod]">української <marker>молоді</marker>, </example> <example type="untouched">української молоді чоловіки</example> <example type="untouched">української молоді роки</example> <example type="untouched">його молоді</example> </rule> <rule name="село/місто" id="selo_misto_geo"> <pattern> <token case_sensitive="yes" regexp="yes">[сС]ело|[мС]істо|[см]\.</token> <marker> <token case_sensitive="yes" regexp="yes" postag_regexp="yes" postag="noun:inanim.*prop:geo.*">[А-ЯІЇЄҐ]'?[а-яіїєґ'-]+</token> </marker> </pattern> <disambig action="filter" postag="noun:inanim.*:prop:geo.*"/> <example type="ambiguous" inputform="Сосни[Сосна/noun:anim:f:v_rod:prop:lname,Сосна/noun:anim:m:v_rod:prop:lname,Сосни/noun:inanim:p:v_naz:ns:prop:geo,Сосни/noun:inanim:p:v_zna:ns:prop:geo,сосна/noun:inanim:f:v_rod,сосна/noun:inanim:p:v_naz,сосна/noun:inanim:p:v_zna]" outputform="Сосни[Сосни/noun:inanim:p:v_naz:ns:prop:geo,Сосни/noun:inanim:p:v_zna:ns:prop:geo]">село <marker>Сосни</marker>. </example> <example type="ambiguous" inputform="Сосни[Сосна/noun:anim:f:v_rod:prop:lname,Сосна/noun:anim:m:v_rod:prop:lname,Сосни/noun:inanim:p:v_naz:ns:prop:geo,Сосни/noun:inanim:p:v_zna:ns:prop:geo,сосна/noun:inanim:f:v_rod,сосна/noun:inanim:p:v_naz,сосна/noun:inanim:p:v_zna]" outputform="Сосни[Сосни/noun:inanim:p:v_naz:ns:prop:geo,Сосни/noun:inanim:p:v_zna:ns:prop:geo]">у м. <marker>Сосни</marker>. </example> <example type="untouched">Буки і Сосни</example> </rule> <rule name="во - intj" id="vo_intj"> <pattern> <marker> <token>во</token> </marker> <token regexp="yes">!.*</token> </pattern> <disambig action="filter" postag="intj"/> <example type="ambiguous" inputform="во[во/intj,во/prep:arch]" outputform="во[во/intj]">отаке <marker>во</marker>! </example> <example type="untouched">во ім'я</example> </rule> <rule name="во - prep" id="vo_prep"> <pattern> <marker> <token>во <exception scope="next" inflected="yes">який</exception> </token> </marker> </pattern> <disambig action="filter" postag="prep:arch"/> <example type="ambiguous" inputform="во[во/intj,во/prep:arch]" outputform="во[во/prep:arch]"><marker>во</marker> ім'я </example> <example type="untouched">во яка файна</example> </rule> <!-- TODO: other просто, but it does not buy much - still have adv and part --> <!-- <rule name="Качок" id="kachok"> <pattern> <unify> <feature id="gender"/> <feature id="case"/> <token postag_regexp="yes" postag="adj:m.*"> <exception postag_regexp="yes" postag="adj:[fp].*"/> </token> <marker> <token inflected="yes">качок</token> </marker> </unify> </pattern> <disambig action="filter" postag="noun:anim:m.*" /> <example type="ambiguous" inputform="качок[качка/noun:anim:p:v_rod:xp1,качка/noun:anim:p:v_zna:xp1,качок/noun:anim:m:v_naz:slang]" outputform="качок[качок/noun:anim:m:v_naz:slang]">здоровенний <marker>качок</marker>. </example> <example type="untouched">качка і холод</example> </rule> --> <!-- <rule name="займ: прикметник+іменник" id="pronoun_adj_noun"> <pattern> <marker> <and> <token postag_regexp="yes" postag="noun.*pron.*"/> <token postag_regexp="yes" postag="adj.*pron.*"/> </and> </marker> </pattern> <disambig action="remove" postag="noun.*pron.*"></disambig> <example type="ambiguous" inputform="1" outputform="2">і <marker>усі</marker> майдани.</example> <example type="untouched">весь</example> </rule> --> <!-- <rule name="Розмовні форми інфінітиву (лишити)" id="VERB_INF_COLL_LEAVE"> <pattern> <token></token> <marker> <and> <token postag_regexp="yes" postag="verb.*:inf.*:short.*"/> <token negate_pos="yes" postag_regexp="yes" postag="verb.*:inf.*:short.*"/> </and> </marker> </pattern> <disambig postag="verb.*:inf.*:short.*"/> <example type="ambiguous" inputform="довірять[довіряти/verb:imperf:inf:short,довірити verb:perf:futr:p:3]" outputform="довірять[довіряти/verb:imperf:inf:short]">воно повинно <marker>довірять</marker>.</example> <example type="untouched">Він поїхав гулять.</example> <example type="untouched">Дурити не гарно.</example> </rule> <rule name="Розмовні форми інфінітиву (прибрати)" id="VERB_INF_COLL_REMOVE"> <pattern> <and> <token postag_regexp="yes" postag="verb.*:inf.*:short.*"/> <token negate_pos="yes" postag_regexp="yes" postag="verb.*:inf.*:short.*"/> </and> </pattern> <disambig action="remove" postag="verb.*:inf.*:short.*"/> <example type="ambiguous" inputform="бурить[бурити/verb:imperf:inf:short,бурити/verb:imperf:pres:s:3]" outputform="бурить[бурити/verb:imperf:pres:s:3]">Він <marker>бурить</marker>.</example> <example type="untouched">Він поїхав гулять.</example> <example type="untouched">Дурити не гарно.</example> </rule> --> </rules>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy