All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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_...:&amp;pron:pers:[21]" postag_regexp="yes" />
    </equivalence>
    <equivalence type="m">
      <token postag="(noun|adj|numr).*?:m:.*|noun:anim:s:v_...:&amp;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="І[&lt;/S&gt;,і/conj:coord,і/part]"
        outputform="І[&lt;/S&gt;,і/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:&amp;numr]"
        outputform="17-а[17-а/noninfl]">будинок номер <marker>17-а</marker>.</example>
    <example type="ambiguous" 
        inputform="17-а[17-й/adj:f:v_naz:&amp;numr]"
        outputform="17-а[17-а/noninfl]">№50/<marker>17-а</marker>.</example>
    <!--
    <example type="ambiguous" 
        inputform="17-а[17-й/adj:f:v_naz:&amp;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:&amp;numr]"
        outputform="17-а[17-а/noninfl]">На вул. Рубчака <marker>17-а</marker>.</example>
    <example type="ambiguous"
        inputform="45-а[45-й/adj:f:v_naz:&amp;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:&amp;numr]"
        outputform="45-а[45-а/noninfl]">Чорновола, <marker>45-а</marker>.</example>
    <example type="ambiguous"
        inputform="42-а[42-й/adj:f:v_naz:&amp;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:&amp;predic,менший/adj:n:v_kly:compc,менший/adj:n:v_naz:compc,менший/adj:n:v_zna:compc]"
        outputform="менше[менше/adv:compc:&amp;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:&amp;pron:dem,зараза/noun:inanim:p:v_rod]"
        outputform="зараз[зараз/adv:&amp;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:&amp;adjp:actv:perf,минулий/adj:m:v_zna:ranim:&amp;adjp:actv:perf,минулий/adj:n:v_rod:&amp;adjp:actv:perf]"
        outputform="минулого[минулий/adj:m:v_rod:&amp;adjp:actv:perf,минулий/adj:m:v_zna:ranim:&amp;adjp:actv:perf,минулий/adj:n:v_rod:&amp;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:&amp;pron:pos,свій/adj:m:v_zna:ranim:&amp;pron:pos,свій/adj:n:v_rod:&amp;pron:pos]"
        outputform="свого[свій/adj:m:v_rod:&amp;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:&amp;predic:rare,бути/verb:imperf:pres:p:2:&amp;predic:rare,бути/verb:imperf:pres:p:3:&amp;predic:rare,бути/verb:imperf:pres:s:1:&amp;predic:rare,бути/verb:imperf:pres:s:2:&amp;predic:rare,бути/verb:imperf:pres:s:3:&amp;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:&amp;predic:rare,бути/verb:imperf:pres:p:2:&amp;predic:rare,бути/verb:imperf:pres:p:3:&amp;predic:rare,бути/verb:imperf:pres:s:1:&amp;predic:rare,бути/verb:imperf:pres:s:2:&amp;predic:rare,бути/verb:imperf:pres:s:3:&amp;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:&amp;predic:rare,бути/verb:imperf:pres:p:2:&amp;predic:rare,бути/verb:imperf:pres:p:3:&amp;predic:rare,бути/verb:imperf:pres:s:1:&amp;predic:rare,бути/verb:imperf:pres:s:2:&amp;predic:rare,бути/verb:imperf:pres:s:3:&amp;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:&amp;predic:rare,бути/verb:imperf:pres:p:2:&amp;predic:rare,бути/verb:imperf:pres:p:3:&amp;predic:rare,бути/verb:imperf:pres:s:1:&amp;predic:rare,бути/verb:imperf:pres:s:2:&amp;predic:rare,бути/verb:imperf:pres:s:3:&amp;predic:rare,єсть/intj:bad]"
        outputform="єсть[бути/verb:imperf:pres:p:1:&amp;predic:rare,бути/verb:imperf:pres:p:2:&amp;predic:rare,бути/verb:imperf:pres:p:3:&amp;predic:rare,бути/verb:imperf:pres:s:1:&amp;predic:rare,бути/verb:imperf:pres:s:2:&amp;predic:rare,бути/verb:imperf:pres:s:3:&amp;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:&amp;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:&amp;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:&amp;pron:int:rel,коли/conj:subord,кіл/noun:inanim:p:v_naz,кіл/noun:inanim:p:v_zna]"
        outputform="коли[коли/adv:&amp;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:&amp;insert:bad"/>
    <example type="ambiguous"
        inputform="розуміється[розумітися/verb:rev:imperf:pres:s:3,розуміється/noninfl:&amp;insert:bad]"
        outputform="розуміється[розуміється/noninfl:&amp;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:&amp;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:&amp;pron:dem:arch,сей/adj:f:v_mis:&amp;pron:dem:arch,сіяти/verb:imperf:impr:s:2:xp1]"
        outputform="сій[сей/adj:f:v_dav:&amp;pron:dem:arch,сей/adj:f:v_mis:&amp;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:&amp;pron:gen,увесь/adj:p:v_zna:rinanim:&amp;pron:gen,усі/noun:anim:p:v_naz:&amp;pron:gen,ухо/noun:inanim:n:v_mis:arch]"
        outputform="усі[ухо/noun:inanim:n:v_mis:arch]"
        >в <marker>усі</marker> почалося запалення</example>
    <example type="ambiguous"
        inputform="усі[&lt;/S&gt;,увесь/adj:p:v_naz:&amp;pron:gen,увесь/adj:p:v_zna:rinanim:&amp;pron:gen,усі/noun:anim:p:v_naz:&amp;pron:gen,ухо/noun:inanim:n:v_mis:arch]"
        outputform="усі[&lt;/S&gt;,ухо/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:&amp;pron:gen,увесь/adj:p:v_zna:rinanim:&amp;pron:gen,усі/noun:anim:p:v_naz:&amp;pron:gen,ухо/noun:inanim:n:v_mis:arch]"
        outputform="усі[увесь/adj:p:v_naz:&amp;pron:gen,увесь/adj:p:v_zna:rinanim:&amp;pron:gen,усі/noun:anim:p:v_naz:&amp;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:&amp;pron:dem,це/noun:inanim:n:v_zna:&amp;pron:dem,це/part,цей/adj:n:v_naz:&amp;pron:dem,цей/adj:n:v_zna:&amp;pron:dem]"
        outputform="це[це/noun:inanim:n:v_naz:&amp;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:&amp;pron:dem,тим/conj:subord,той/adj:m:v_oru:&amp;pron:dem,той/adj:n:v_oru:&amp;pron:dem,той/adj:p:v_dav:&amp;pron:dem]"
        outputform="тим[те/noun:inanim:n:v_oru:&amp;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:&amp;pron:dem,тим/conj:subord,той/adj:m:v_oru:&amp;pron:dem,той/adj:n:v_oru:&amp;pron:dem,той/adj:p:v_dav:&amp;pron:dem]"
        outputform="тим[те/noun:inanim:n:v_oru:&amp;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:&amp;pron:dem,тим/conj:subord,той/adj:m:v_oru:&amp;pron:dem,той/adj:n:v_oru:&amp;pron:dem,той/adj:p:v_dav:&amp;pron:dem]"
        outputform="тим[той/adj:m:v_oru:&amp;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:&amp;pron:dem,той/adj:m:v_dav:&amp;pron:dem,той/adj:n:v_dav:&amp;pron:dem,том/noun:inanim:m:v_dav,том/noun:inanim:m:v_rod,тому/adv,тому/conj:subord]"
        outputform="тому[те/noun:inanim:n:v_dav:&amp;pron:dem,той/adj:m:v_dav:&amp;pron:dem,той/adj:n:v_dav:&amp;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:&amp;pron:dem,той/adj:m:v_dav:&amp;pron:dem,той/adj:n:v_dav:&amp;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:&amp;pron:dem,той/adj:m:v_dav:&amp;pron:dem,той/adj:n:v_dav:&amp;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_...:&amp;pron.*"/>
    <example type="ambiguous"
        inputform="тому[те/noun:inanim:n:v_dav:&amp;pron:dem,той/adj:m:v_dav:&amp;pron:dem,той/adj:n:v_dav:&amp;pron:dem,тому/adv,тому/conj:subord]"
        outputform="тому[той/adj:m:v_dav:&amp;pron:dem,той/adj:n:v_dav:&amp;pron:dem,тому/adv,тому/conj:subord]"
            >Роки півтора <marker>тому</marker>.</example>
    <example type="ambiguous"
        inputform="тому[те/noun:inanim:n:v_dav:&amp;pron:dem,той/adj:m:v_dav:&amp;pron:dem,той/adj:n:v_dav:&amp;pron:dem,тому/adv,тому/conj:subord]"
        outputform="тому[той/adj:m:v_dav:&amp;pron:dem,той/adj:n:v_dav:&amp;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:&amp;pron:dem,тим/conj:subord,той/adj:m:v_oru:&amp;pron:dem,той/adj:n:v_oru:&amp;pron:dem,той/adj:p:v_dav:&amp;pron:dem]"
        outputform="тим[той/adj:n:v_oru:&amp;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:&amp;pron:dem,тим/conj:subord,той/adj:m:v_oru:&amp;pron:dem,той/adj:n:v_oru:&amp;pron:dem,той/adj:p:v_dav:&amp;pron:dem]"
        outputform="тим[той/adj:p:v_dav:&amp;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:&amp;pron:dem,тим/conj:subord,той/adj:m:v_oru:&amp;pron:dem,той/adj:n:v_oru:&amp;pron:dem,той/adj:p:v_dav:&amp;pron:dem]"
        outputform="тим[те/noun:inanim:n:v_oru:&amp;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:&amp;predic"/>
    <example type="ambiguous"
        inputform="проти[проти/adv:&amp;predic,проти/prep]"
        outputform="проти[проти/adv:&amp;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:&amp;predic,проти/prep]"
        outputform="проти[проти/adv:&amp;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:&amp;predic,проти/prep]"
        outputform="проти[проти/adv:&amp;predic]">чи не <marker>проти</marker> я попрацювати.</example>
    <example type="ambiguous"
        inputform="проти[проти/adv:&amp;predic,проти/prep]"
        outputform="проти[проти/adv:&amp;predic]">чи <marker>проти</marker> Кримський кабмін?</example>
    <example type="ambiguous"
        inputform="проти[проти/adv:&amp;predic,проти/prep]"
        outputform="проти[проти/adv:&amp;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:&amp;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:&amp;pron:dem,те/noun:inanim:n:v_mis:&amp;pron:dem,той/adj:m:v_dav:&amp;pron:dem,той/adj:m:v_mis:&amp;pron:dem,той/adj:n:v_dav:&amp;pron:dem,той/adj:n:v_mis:&amp;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:&amp;pron:dem,той/adj:m:v_dav:&amp;pron:dem,той/adj:n:v_dav:&amp;pron:dem,том/noun:inanim:m:v_dav,том/noun:inanim:m:v_rod,тому/adv,тому/conj:subord]"
        outputform="тому[те/noun:inanim:n:v_dav:&amp;pron:dem,той/adj:m:v_dav:&amp;pron:dem,той/adj:n:v_dav:&amp;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:&amp;pron:dem,той/adj:m:v_dav:&amp;pron:dem,той/adj:n:v_dav:&amp;pron:dem,том/noun:inanim:m:v_dav,том/noun:inanim:m:v_rod,тому/adv,тому/conj:subord]"
        outputform="тому[те/noun:inanim:n:v_dav:&amp;pron:dem,той/adj:m:v_dav:&amp;pron:dem,той/adj:n:v_dav:&amp;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:&amp;adjp:pasv:imperf,вчений/adj:m:v_naz:&amp;adjp:pasv:imperf,вчений/adj:m:v_zna:rinanim:&amp;adjp:pasv:imperf,вчений/noun:anim:m:v_kly,вчений/noun:anim:m:v_naz]"
        outputform="вчений[вчений/adj:m:v_kly:&amp;adjp:pasv:imperf,вчений/adj:m:v_naz:&amp;adjp:pasv:imperf,вчений/adj:m:v_zna:rinanim:&amp;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:&amp;pron:neg:&amp;predic"/>
    <example type="ambiguous"
      inputform="нічого[нічого/noun:inanim:n:v_rod:&amp;pron:emph:&amp;predic,ніщо/noun:inanim:n:v_rod:&amp;pron:neg:&amp;predic]"
      outputform="нічого[ніщо/noun:inanim:n:v_rod:&amp;pron:neg:&amp;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:&amp;pron:ind,кілька/numr:p:v_zna:&amp;pron:ind]"
      outputform="кілька[кілька/numr:p:v_naz:&amp;pron:ind,кілька/numr:p:v_zna:&amp;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="сорока[&lt;/S&gt;,сорок/numr:p:v_dav,сорок/numr:p:v_oru,сорок/numr:p:v_rod,сорок/numr:p:v_zna,сорока/noun:anim:f:v_naz]"
        outputform="сорока[&lt;/S&gt;,сорок/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="лютого[&lt;/S&gt;,лютий/adj:m:v_rod:compb,лютий/adj:m:v_zna:ranim:compb,лютий/adj:n:v_rod:compb,лютий/noun:inanim:m:v_rod]"
        outputform="лютого[&lt;/S&gt;,лютий/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.*|&lt;.*"/>
    <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.*|&lt;.*" 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:&amp;pron:dem"/>
    <example type="ambiguous"
        inputform="ц.[ц.]"
        outputform="ц.[ц./adj:m:v_rod:&amp;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="Люба[&lt;/S&gt;,Люба/noun:anim:f:v_naz:prop:fname,любий/adj:f:v_kly:compb,любий/adj:f:v_naz:compb]" 
        outputform="Люба[&lt;/S&gt;,Люба/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="По[&lt;/S&gt;,по/prep]"
        outputform="По[&lt;/S&gt;,По/noun:anim:m:nv:prop:lname]">Знали Аллана <marker>По</marker></example>
    <example type="ambiguous"
        inputform="По[&lt;/S&gt;,по/prep]" 
        outputform="По[&lt;/S&gt;,По/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="По[&lt;/S&gt;,по/prep]"
        outputform="По[&lt;/S&gt;,По/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:&amp;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:&amp;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:&amp;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:&amp;pron:dem]"
      outputform="Досі[досі/adv:&amp;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:&amp;pron:pers:1]"
      outputform="Мені[я/noun:anim:s:v_dav:&amp;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">[«„“"*•/\[\]:(—–-]|.*&gt;</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">[«„“"*•/\[\]:(—–-]|.*&gt;</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">і &lt;b&gt;Чомусь</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.*|&lt;.*"/>
    <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:&amp;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.*|&lt;.*"/>
    <example type="ambiguous"
        inputform="за[за/adv:&amp;predic,за/part,за/prep]"
        outputform="за[за/adv:&amp;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.*|&lt;.*"/>
    <example type="ambiguous"
        inputform="за[за/adv:&amp;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:&amp;pron:int:rel,як/conj:subord,як/noun:anim:m:v_naz,як/part]"
        outputform="як[як/adv:&amp;pron:int:rel,як/conj:subord,як/part]"
            >і <marker>як</marker> верховний арбітр.</example>
    <example type="ambiguous"
        inputform="Як[як/adv:&amp;pron:int:rel,як/conj:subord,як/noun:anim:m:v_naz,як/part]"
        outputform="Як[як/adv:&amp;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:&amp;pron:int:rel:def]"
        outputform="яку[який/adj:f:v_zna:&amp;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:&amp;pron:int:rel:def]"
        outputform="Яка[який/adj:f:v_naz:&amp;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.*?:&amp;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.*?&amp;pron.*"/>
        </token>
      </marker>
      <!-- we can now do scope="next" 
      <token><exception postag_regexp="yes" postag="noun.*?v_rod.*?&amp;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="води[&lt;/S&gt;,вода/noun:inanim:f:v_rod,вода/noun:inanim:p:v_naz,вода/noun:inanim:p:v_zna,водити/verb:imperf:impr:s:2]"
        outputform="води[&lt;/S&gt;,вода/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="води[&lt;/S&gt;,вода/noun:inanim:f:v_rod,вода/noun:inanim:p:v_naz,вода/noun:inanim:p:v_zna,водити/verb:imperf:impr:s:2]"
        outputform="води[&lt;/S&gt;,вода/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="чаю[&lt;/S&gt;,чай/noun:inanim:m:v_dav,чай/noun:inanim:m:v_rod,чаїти/verb:imperf:pres:s:1]"
        outputform="чаю[&lt;/S&gt;,чай/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="хворій[&lt;/S&gt;,хвора/noun:anim:f:v_dav,хворий/adj:f:v_dav:compb,хворіти/verb:imperf:impr:s:2]"
        outputform="хворій[&lt;/S&gt;,хвора/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:&amp;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:&amp;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="коп[&lt;/S&gt;,коп/noun:anim:m:v_naz:slang]"
        outputform="коп[&lt;/S&gt;]"
            >ціною в 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:&amp;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:&amp;numr,п'ятий/adj:f:v_naz:&amp;numr]"
        outputform="п'ята[п'ятий/adj:f:v_kly:&amp;numr,п'ятий/adj:f:v_naz:&amp;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:&amp;predic,найкращий/adj:n:v_kly:comps,найкращий/adj:n:v_naz:comps,найкращий/adj:n:v_zna:comps]"
        outputform="найкраще[найкраще/adv:comps:&amp;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:&amp;predic,раніше/prep,раніший/adj:n:v_kly:compc,раніший/adj:n:v_naz:compc,раніший/adj:n:v_zna:compc]"
        outputform="раніше[раніше/adv:compc:&amp;predic,раніше/prep]">І <marker>раніше</marker> поїхати.</example>
    <example type="ambiguous"
        inputform="раніше[раніше/adv:compc:&amp;predic,раніше/prep,раніший/adj:n:v_kly:compc,раніший/adj:n:v_naz:compc,раніший/adj:n:v_zna:compc]"
        outputform="раніше[раніше/adv:compc:&amp;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:&amp;insert,власний/adj:n:v_kly,власний/adj:n:v_naz,власний/adj:n:v_zna]"
      outputform="власне[власне/part:&amp;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:&amp;insert,власний/adj:n:v_naz,власний/adj:n:v_zna]"
      outputform="власне[власне/part:&amp;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:&amp;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:&amp;pron:dem" />
    <example type="ambiguous"
      inputform="так[так/adv:&amp;pron:dem,так/conj:coord,так/conj:subord,так/part]"
      outputform="так[так/adv:&amp;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:&amp;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:&amp;pron:dem:arch,сей/adj:m:v_mis:&amp;pron:dem:arch,сей/adj:n:v_mis:&amp;pron:dem:arch,сім/numr:p:v_naz,сім/numr:p:v_zna]"
      outputform="сім[се/noun:inanim:n:v_mis:&amp;pron:dem:arch,сей/adj:m:v_mis:&amp;pron:dem:arch,сей/adj:n:v_mis:&amp;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:&amp;pron:dem:arch,сей/adj:m:v_mis:&amp;pron:dem:arch,сей/adj:n:v_mis:&amp;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:&amp;numr,п'ятий/adj:f:v_naz:&amp;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:&amp;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:&amp;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:&amp;insert:&amp;predic,зрозуміти/verb:perf:past:n]"
      outputform="зрозуміло[зрозуміло/adv:compb:&amp;insert:&amp;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:&amp;insert:&amp;predic,зрозуміти/verb:perf:past:n]"
      outputform="зрозуміло[зрозуміло/adv:compb:&amp;insert:&amp;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