![JAR search and dependency download from the Maven repository](/logo.png)
org.languagetool.resource.ru.disambiguation.xml Maven / Gradle / Ivy
<?xml version="1.0" encoding="utf-8"?> <!-- Russian Disambiguation Rules for LanguageTool (www.languagetool.org) Copyright (C) 2009-2023 Yakov Reztsov --> <rules lang="ru" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../../../languagetool-core/src/main/resources/org/languagetool/resource/disambiguation.xsd"> <!-- fast fix! --> <rule name="NN_Inanim_Neut" id="NN_Inanim_Neut"> <pattern> <marker> <and> <token postag="NN:Inanim:Neut" ></token> <token postag="NN:Inanim:Neut:Sin:V" ></token> </and> </marker> </pattern> <disambig action="add" > <wd pos="NN:Inanim:Neut:Sin:Nom" /> </disambig> </rule> <rule name="NN_Inanim_Masc" id="NN_Inanim_Masc"> <pattern> <marker> <and> <token postag="NN:Inanim:Masc" ></token> <token postag="NN:Inanim:Masc:Sin:V" ></token> </and> </marker> </pattern> <disambig action="add" > <wd pos="NN:Inanim:Masc:Sin:Nom" /> </disambig> </rule> <rule name="NN_Inanim_Fem" id="NN_Inanim_Fem"> <pattern> <marker> <and> <token postag="NN:Inanim:Fem" ></token> <token postag="NN:Inanim:Fem:Sin:V" ></token> </and> </marker> </pattern> <disambig action="add" > <wd pos="NN:Inanim:Fem:Sin:Nom" /> </disambig> </rule> <rule name="i_Co" id="i_Co"> <pattern> <token>и</token> <marker> <token case_sensitive="yes">Ко</token> </marker> </pattern> <disambig action="remove" postag="PREP"></disambig> </rule> <rule name="V_levom" id="V_levom"> <pattern> <token>в</token> <marker> <token postag="NN:.*|ADJ:.*" postag_regexp="yes" inflected="yes" >левый</token> </marker> <token postag="NN:.*|PNN:.*" postag_regexp="yes" ></token> </pattern> <disambig action="remove" postag="NN:.*" ></disambig> </rule> <!-- prepositions R: без, вместо, вокруг (prep & adv), для, до, из (изо), из-за, из-под, кроме, напротив (prep & adv), около, от, после (prep & adv), посреди (prep & adv), против, с*, со*, среди, у D: к, ко, по* V: в*, за*, на*, по*, под*, сквозь, через; о* T: за*, между (prep & adv), над, перед, под*, с* P: в*, на*, о*, при; по* --> <!-- disambiguation for nouns' --> <rule name="NOUN_V" id="NOUN_V"> <pattern> <!-- Здесь нет больниц, нам нужно поехать в ближайший город. "Город" только NN:.*:.*:.*:V --> <token regexp="yes" skip="1">в|на|сквозь|через<exception scope="next" postag="Num.*" postag_regexp="yes"></exception><exception scope="next" postag="NN:.*" postag_regexp="yes"></exception></token> <marker> <and> <token postag="NN:.*:.*:.*:Nom" postag_regexp="yes"></token> <token postag="NN:.*:.*:.*:V" postag_regexp="yes"><exception postag="NN:.*:.*:.*:P" postag_regexp="yes"></exception></token> </and> </marker> </pattern> <disambig action="remove" postag="NN:.*:.*:.*:Nom"></disambig> </rule> <rule name="NOUN_V2" id="NOUN_V2"> <pattern> <token skip="1">под<exception scope="next" postag="NN:.*" postag_regexp="yes"></exception></token> <marker> <and> <token postag="NN:.*:.*:.*:Nom" postag_regexp="yes"></token> <token postag="NN:.*:.*:.*:V" postag_regexp="yes"><exception postag="NN:.*:.*:.*:T" postag_regexp="yes"></exception></token> </and> </marker> </pattern> <disambig action="remove" postag="NN:.*:.*:.*:Nom"></disambig> </rule> <rule name="NOUN_V3" id="NOUN_V3"> <pattern> <!-- Что за головная боль! "Что за" - междометие --> <!-- Add exception for : "Что за + NN:.*:.*:.*:Nom" --> <!-- Однако дворец был возрождён за два года. за + два + NN:.*:.*:.*:R" --> <token negate="yes">что</token> <token skip="1">за<exception scope="next" postag="NN:.*" postag_regexp="yes"></exception></token> <marker> <and> <token postag="NN:.*:.*:.*:Nom" postag_regexp="yes"></token> <token postag="NN:.*:.*:.*:V" postag_regexp="yes"><exception postag="NN:.*:.*:.*:T" postag_regexp="yes"></exception></token> </and> </marker> </pattern> <disambig action="remove" postag="NN:.*:.*:.*:Nom"></disambig> </rule> <rule name="NOUN_V4" id="NOUN_V4"> <pattern> <!-- после отпуска --> <token postag="PREP"></token> <!-- после --> <marker> <and> <token postag="NN:.*:.*:.*:Nom" postag_regexp="yes"></token> <token postag="NN:.*:.*:.*:V" postag_regexp="yes"></token> </and> </marker> </pattern> <disambig action="remove" postag="NN:.*:.*:.*:Nom"></disambig> </rule> <rule name="NOUN_V6" id="NOUN_V6"> <pattern> <!-- на этот вопрос --> <token>на</token> <token regexp="yes">этот|тот|эту|ту|эти|те|это|то</token> <marker> <and> <token postag="NN:.*:.*:.*:Nom" postag_regexp="yes"></token> <token postag="NN:.*:.*:.*:V" postag_regexp="yes"></token> </and> </marker> </pattern> <disambig action="remove" postag="NN:.*:.*:.*:Nom"></disambig> </rule> <!-- где телефон? где телефоны? где Оля? --> <!-- <rule name="NOUN_V5" id="NOUN_V5"> <pattern> <token skip="1">где </token> <marker> <and> <token postag="NN:.*:.*:.*:Nom" postag_regexp="yes"></token> <token postag="NN:.*:.*:.*:V" postag_regexp="yes"></token> </and> </marker> </pattern> <disambig action="remove" postag="NN:.*:.*:.*:V"></disambig> <example type="ambiguous" inputform="телефон[телефон/NN:Inanim:Masc:Sin:Nom,телефон/NN:Inanim:Masc:Sin:V]" outputform="телефон[телефон/NN:Inanim:Masc:Sin:Nom]">Где <marker>телефон</marker>?</example> <example type="ambiguous" inputform="телефон[телефон/NN:Inanim:Masc:Sin:Nom,телефон/NN:Inanim:Masc:Sin:V]" outputform="телефон[телефон/NN:Inanim:Masc:Sin:Nom]">Где наш <marker>телефон</marker>?</example> </rule> --> <rule name="NOUN_V7" id="NOUN_V7"> <pattern> <!-- все время "время" только NN:.*:.*:.*:V --> <token regexp="yes" skip="1">всё|все|это|то</token> <marker> <and> <token postag="NN:.*:.*:.*:Nom" postag_regexp="yes">время</token> <token postag="NN:.*:.*:.*:V" postag_regexp="yes">время<exception postag="NN:.*:.*:.*:P" postag_regexp="yes"></exception></token> </and> </marker> </pattern> <disambig action="remove" postag="NN:.*:.*:.*:Nom"></disambig> </rule> <rule name="VB_VB_NOUN" id="VB_VB_NOUN"> <pattern> <!-- постараюсь найти предмет --> <token postag="VB:Fut:.*" postag_regexp="yes"><exception postag="VB:INF:.*" postag_regexp="yes"></exception></token> <token>найти</token> <marker> <and> <token postag="NN:.*:.*:.*:Nom" postag_regexp="yes"></token> <token postag="NN:.*:.*:.*:V" postag_regexp="yes"></token> </and> </marker> </pattern> <disambig action="remove" postag="NN:.*:.*:.*:Nom"></disambig> </rule> <rule name="NOUN_R" id="NOUN_R"> <pattern> <!-- без - родительный --> <token skip="1" regexp="yes">без|безо|вместо|для|до|из|изо|из-за|из-под|кроме|около|от|против|среди|у<exception scope="next" postag="NN:.*" postag_regexp="yes"></exception></token> <marker> <and> <token postag="NN:.*:.*:.*:V" postag_regexp="yes"></token> <token postag="NN:.*:.*:.*:R" postag_regexp="yes"></token> </and> </marker> </pattern> <disambig action="remove" postag="NN:.*:.*:.*:V"></disambig> </rule> <rule name="NOUN_D" id="NOUN_D"> <pattern> <token regexp="yes" skip="1">к|ко<exception scope="next" postag="NN:.*" postag_regexp="yes"></exception></token> <!-- по - дательный, винительный, предложный --> <!-- к - дательный --> <marker> <and> <token postag="NN:.*:.*:.*:P" postag_regexp="yes"></token> <token postag="NN:.*:.*:.*:D" postag_regexp="yes"></token> </and> </marker> </pattern> <disambig action="remove" postag="NN:.*:.*:.*:P"></disambig> </rule> <rule name="NOUN_P" id="NOUN_P"> <pattern> <!-- о - винительный, предложный --> <token regexp="yes" skip="1">о|при<exception scope="next" postag="NN:.*" postag_regexp="yes"></exception></token> <marker> <and> <token postag="NN:.*:.*:.*:D" postag_regexp="yes"></token> <token postag="NN:.*:.*:.*:P" postag_regexp="yes"><exception postag="NN:.*:.*:.*:V" postag_regexp="yes"></exception></token> </and> </marker> </pattern> <disambig action="remove" postag="NN:.*:.*:.*:(Nom|D|R|T)"></disambig> </rule> <rule name="NOUN_Letter" id="NOUN_Letter"> <pattern> <marker> <token postag="NN:.*:.*" postag_regexp="yes" regexp="yes">[А-ЯЁ]</token> </marker> <token>.</token> </pattern> <disambig action="remove" postag="NN:.*:.*"></disambig> </rule> <rule name="NOUN_ABR_OS" id="NOUN_ABR_OS"> <pattern> <marker> <and> <token postag="NN:.*:.*:.*:.*" postag_regexp="yes"></token> <token case_sensitive="yes" >ОС</token> </and> </marker> </pattern> <disambig action="remove" postag="NN:.*:.*:.*:.*"></disambig> </rule> <rule name="NOUN_ABR_VRU" id="NOUN_ABR_VRU"> <pattern> <marker> <and> <token postag="ABR:.*" postag_regexp="yes"></token> <token case_sensitive="yes" >ВРУ</token> </and> </marker> </pattern> <disambig action="remove" postag="VB:Real:TRANS:IMPFV:Sin:P1"></disambig> </rule> <rule name="INTERJECTION_OR_PREP_O" id="INTERJECTION_O"> <pattern> <!-- о --> <marker> <token>о</token> </marker> <token negate="yes" regexp="yes">[.!,?]</token> </pattern> <disambig action="remove" postag="INTERJECTION"></disambig> </rule> <rule name="NOUN_NOT_NOM" id="NOUN_NOT_NOM"> <antipattern> <!-- exception for: Что он был за человек? --> <token skip="-1">что</token> <token>за</token> <token postag="NN:.*:.*:.*:Nom" postag_regexp="yes"></token> </antipattern> <pattern> <!-- Что за головная боль! "Что за" - междометие --> <!-- Add exception for : "Что за + NN:.*:.*:Nom" --> <!-- Add exception for : "в невесты" --> <token negate="yes">что</token> <token regexp="yes">за|без|вместо|для|до|из|из-за|изо|из-под|к|ко|кроме|на|над|о|около|от|перед|по|под|при|против|с|сквозь|со|среди|у|через</token> <marker> <and> <token postag="NN:.*:.*:.*:Nom" postag_regexp="yes"></token> <token negate_pos="yes" postag="NN:.*:.*:.*:Nom" postag_regexp="yes"><exception postag="SENT_END"></exception></token> </and> </marker> </pattern> <disambig action="remove" postag="NN:.*:.*:.*:Nom"></disambig> </rule> <rule name="NOUN_NOT_NOM1" id="NOUN_NOT_NOM1"> <antipattern> <token>что</token> <token>это</token> <token>за</token> <token postag="ADJ:.*" postag_regexp="yes"></token> <token postag="NN:.*:.*:.*:Nom" postag_regexp="yes"></token> </antipattern> <pattern> <!-- Что за головная боль! "Что за" - междометие --> <!-- Add exception for : "Что за + NN:.*:.*:Nom" --> <!-- Add exception for : "в невесты" --> <!-- Add exception for : "за лучший фильм" remove "за", must sync with rule "ADJ_V" !--> <token negate="yes">что</token> <token regexp="yes">без|вместо|для|до|из|из-за|изо|из-под|к|ко|кроме|на|над|о|около|от|перед|по|под|при|против|с|сквозь|со|среди|у|через</token> <token postag="ADJ:.*" postag_regexp="yes"><exception postag="PNN:.*" postag_regexp="yes"></exception></token> <marker> <and> <token postag="NN:.*:.*:.*:Nom" postag_regexp="yes"></token> <token postag="NN:.*:.*:.*:.*" postag_regexp="yes"><exception postag="NN:.*:.*:.*:Nom" postag_regexp="yes"></exception></token> </and> </marker> </pattern> <disambig action="remove" postag="NN:.*:.*:.*:Nom"></disambig> </rule> <!-- disambiguation for 2P and 2R --> <!-- второй родительный --> <!-- <rule name="NOUN_2R" id="NOUN_2R"> <pattern> <token postag="NN:Inanim:Masc:Sin:2R"></token> </pattern> <disambig action="add" ><wd pos="NN:Inanim:Masc:Sin:R"></wd></disambig> </rule> --> <!-- второй предложный --> <!-- <rule name="NOUN_2P_Masc" id="NOUN_2P_Masc"> <pattern> <token postag="NN:Inanim:Masc:Sin:2P"></token> </pattern> <disambig action="add" ><wd pos="NN:Inanim:Masc:Sin:P"></wd></disambig> </rule> --> <!-- второй предложный --> <!-- <rule name="NOUN_2P_Fem" id="NOUN_2P_Fem"> <pattern> <token postag="NN:Inanim:Fem:Sin:2P"></token> </pattern> <disambig action="add" ><wd pos="NN:Inanim:Fem:Sin:P"></wd></disambig> </rule> --> <!-- **************************** --> <!-- disambiguation for adj.' --> <rule name="ADJ_T" id="ADJ_T"> <pattern> <!-- с - родительный, винительный, творительный --> <!-- под (подо) - винительный, творительный --> <!-- TODO проливной is ADJ:.*:.*:V --> <!-- Я не хочу попасть под проливной дождь. --> <!-- Удаляем только неверный postag, остальные не трогаем. --> <token regexp="yes">под|подо|над|перед</token> <marker> <and> <token postag="ADJ:.*:.*:R" postag_regexp="yes"></token> <token postag="ADJ:.*:.*:T" postag_regexp="yes"></token> </and> </marker> </pattern> <disambig action="remove" postag="ADJ:.*:.*:R"></disambig> </rule> <rule name="PT_T" id="PT_T"> <pattern> <!-- с - родительный, винительный, творительный --> <!-- под (подо) - винительный, творительный --> <!-- Удаляем только неверный postag, остальные не трогаем. --> <token regexp="yes">под|подо|над|перед</token> <marker> <and> <token postag="PT:.*:.*:R" postag_regexp="yes"></token> <token postag="PT:.*:.*:T" postag_regexp="yes"></token> </and> </marker> </pattern> <disambig action="remove" postag="PT:.*:.*:R"></disambig> </rule> <rule name="ADJ_V" id="ADJ_V"> <pattern> <!-- TODO improve за --> <!-- Что за странный парень! Should leave ADJ:.*:Nom --> <!-- Берёшь ли ты, Мэри, этого мужчину в законные мужья и клянёшься любить. в законные is ADJ:PL:V --> <!-- <token regexp="yes">в|за|на|под|сквозь|через</token> --> <token regexp="yes">в|на|под|сквозь|через</token> <marker> <and> <token postag="ADJ:.*:.*:Nom" postag_regexp="yes"></token> <token postag="ADJ:.*:.*:V" postag_regexp="yes"><exception postag="ADJ:.*:.*:P" postag_regexp="yes"></exception></token> </and> </marker> </pattern> <disambig action="remove" postag="ADJ:.*:.*:Nom"></disambig> </rule> <rule name="PT_V" id="PT_V"> <pattern> <!-- TODO improve за --> <token regexp="yes">в|на|под|сквозь|через</token> <marker> <and> <token postag="PT:.*:.*:Nom" postag_regexp="yes"></token> <token postag="PT:.*:.*:V" postag_regexp="yes"><exception postag="PT:.*:.*:P" postag_regexp="yes"></exception></token> </and> </marker> </pattern> <disambig action="remove" postag="PT:.*:.*:Nom"></disambig> </rule> <rule name="ADJ_V2" id="ADJ_V2"> <pattern> <!-- TODO милые should stay .*:Nom --> <!-- Что они за милые щеночки! --> <!-- <token regexp="yes">за|под</token> --> <token>под</token> <marker> <and> <token postag="ADJ:.*:.*:Nom" postag_regexp="yes"></token> <token postag="ADJ:.*:.*:V" postag_regexp="yes"><exception postag="ADJ:.*:.*:T" postag_regexp="yes"></exception></token> </and> </marker> </pattern> <disambig action="remove" postag="ADJ:.*:.*:Nom"></disambig> </rule> <rule name="PT_V2" id="PT_V2"> <pattern> <token>под</token> <marker> <and> <token postag="PT:.*:.*:Nom" postag_regexp="yes"></token> <token postag="PT:.*:.*:V" postag_regexp="yes"><exception postag="PT:.*:.*:T" postag_regexp="yes"></exception></token> </and> </marker> </pattern> <disambig action="remove" postag="PT:.*:.*:Nom"></disambig> </rule> <!-- где наша Оля? --> <!-- Где наш телефон? --> <!-- <rule name="ADJ_V5" id="ADJ_V5"> <pattern> <token>где</token> <marker> <and> <token postag="ADJ:.*:.*:Nom" postag_regexp="yes"></token> <token postag="ADJ:.*:.*:V" postag_regexp="yes"></token> </and> </marker> </pattern> <disambig action="remove" postag="ADJ:.*:.*:V"></disambig> <example type="ambiguous" inputform="наш[наш/ADJ:MPR:Masc:Nom,наш/ADJ:MPR:Masc:V]" outputform="наш[наш/ADJ:MPR:Masc:Nom]">Где <marker>наш</marker> телефон?</example> </rule> <rule name="PT_V5" id="PT_V5"> <pattern> <token>где</token> <marker> <and> <token postag="PT:.*:.*:Nom" postag_regexp="yes"></token> <token postag="PT:.*:.*:V" postag_regexp="yes"></token> </and> </marker> </pattern> <disambig action="remove" postag="PT:.*:.*:V"></disambig> </rule> --> <rule name="ADJ_R" id="ADJ_R"> <pattern> <token regexp="yes">без|безо|вместо|для|до|из|изо|из-за|из-под|кроме|около|от|против|среди|у</token> <marker> <and> <token postag="ADJ:.*:.*:D" postag_regexp="yes"></token> <token postag="ADJ:.*:.*:R" postag_regexp="yes"></token> </and> </marker> </pattern> <disambig action="remove" postag="ADJ:.*:.*:D"></disambig> </rule> <rule name="PT_R" id="PT_R"> <pattern> <token regexp="yes">без|безо|вместо|для|до|из|изо|из-за|из-под|кроме|около|от|против|среди|у</token> <marker> <and> <token postag="PT:.*:.*:D" postag_regexp="yes"></token> <token postag="PT:.*:.*:R" postag_regexp="yes"></token> </and> </marker> </pattern> <disambig action="remove" postag="PT:.*:.*:D"></disambig> </rule> <rule name="ADJ_D" id="ADJ_D"> <pattern> <token regexp="yes">к|ко</token> <marker> <and> <token postag="ADJ:.*:.*:P" postag_regexp="yes"></token> <token postag="ADJ:.*:.*:D" postag_regexp="yes"><exception postag="ADJ:.*:.*:V" postag_regexp="yes"></exception></token> </and> </marker> </pattern> <disambig action="remove" postag="ADJ:.*:.*:P"></disambig> </rule> <rule name="PT_D" id="PT_D"> <pattern> <token regexp="yes">к|ко</token> <marker> <and> <token postag="PT:.*:.*:P" postag_regexp="yes"></token> <token postag="PT:.*:.*:D" postag_regexp="yes"><exception postag="PT:.*:.*:V" postag_regexp="yes"></exception></token> </and> </marker> </pattern> <disambig action="remove" postag="PT:.*:.*:P"></disambig> </rule> <rule name="ADJ_P" id="ADJ_P"> <pattern> <token regexp="yes">о|при</token> <marker> <and> <token postag="ADJ:.*:.*:D" postag_regexp="yes"></token> <token postag="ADJ:.*:.*:P" postag_regexp="yes"><exception postag="ADJ:.*:.*:V" postag_regexp="yes"></exception></token> </and> </marker> </pattern> <disambig action="remove" postag="ADJ:.*:.*:D"></disambig> </rule> <rule name="PT_P" id="PT_P"> <pattern> <token regexp="yes">о|при</token> <marker> <and> <token postag="PT:.*:.*:D" postag_regexp="yes"></token> <token postag="PT:.*:.*:P" postag_regexp="yes"><exception postag="PT:.*:.*:V" postag_regexp="yes"></exception></token> </and> </marker> </pattern> <disambig action="remove" postag="PT:.*:.*:D"></disambig> </rule> <rule name="ADJ_P2_NOUN" id="ADJ_P2_NOUN"> <pattern> <token>на</token> <marker> <and> <token postag="ADJ:.*:.*:V" postag_regexp="yes"></token> <token postag="ADJ:.*:.*:P" postag_regexp="yes"></token> </and> </marker> <token postag="NN:.*:.*:.*:P" postag_regexp="yes"></token> </pattern> <disambig action="remove" postag="ADJ:.*:.*:V" ></disambig> </rule> <rule name="PT_P2_NOUN" id="PT_P2_NOUN"> <pattern> <token>на</token> <marker> <and> <token postag="PT:.*:.*:V" postag_regexp="yes"></token> <token postag="PT:.*:.*:P" postag_regexp="yes"></token> </and> </marker> <token postag="NN:.*:.*:.*:P" postag_regexp="yes"></token> </pattern> <disambig action="remove" postag="PT:.*:.*:V" ></disambig> </rule> <!-- To do --> <rule name="ADV_OB1" id="ADV_OB1"> <pattern> <token>в</token> <marker> <token regexp="yes">дальнейшем|диковинку|заключение|меру|насмешку|обнимку|обтяжку|обхват|общем|отместку|рассрочку|розницу|складчину|старину|тиши</token> </marker> </pattern> <disambig><match no="2" postag="ADV"></match></disambig> </rule> <rule name="ADV_OB2" id="ADV_OB2"> <pattern> <token>без</token> <marker> <token regexp="yes">ведома|оглядки|просвета|разбору|толку|спросу|удержки|умолку|устали</token> </marker> </pattern> <disambig><match no="2" postag="ADV"></match></disambig> </rule> <rule name="ADV_OB3" id="ADV_OB3"> <pattern> <token>с</token> <marker> <token regexp="yes">ведома|виду|маху|разбегу|толку|размаху</token> </marker> </pattern> <disambig><match no="2" postag="ADV"></match></disambig> </rule> <rule name="ADV_OB4" id="ADV_OB4"> <pattern> <token>до</token> <marker> <token regexp="yes">востребования|зарезу|крайности|неузнаваемости|отвала|отказа|свидания|упаду</token> </marker> </pattern> <disambig><match no="2" postag="ADV"></match></disambig> </rule> <rule name="ADV_OB5" id="ADV_OB5"> <pattern> <token>на</token> <marker> <token regexp="yes">бегу|боковую|вес|весу|вид|виду|время|выбор|глаз|грех|диво|днях|дому|дыбы|зависть|излёте|измор|износ|исходе|корточках|корточки|лад|лету|манер|миг|мировую|отлично</token> </marker> </pattern> <disambig><match no="2" postag="ADV"></match></disambig> </rule> <rule name="ADV_OB6" id="ADV_OB6"> <pattern> <token>на</token> <marker> <token regexp="yes">ощупь|плаву|поруки|прицел|редкость|рысях|скаку|славу|совесть|страже|ура|ходу|цыпочках|четвереньках|излёте|измор|износ|исходе|корточках|корточки|лад|лету|манер|миг|мировую|отлично</token> </marker> </pattern> <disambig><match no="2" postag="ADV"></match></disambig> </rule> <rule name="ADV_PARTICLE" id="ADV_PARTICLE"> <pattern> <marker> <token regexp="yes">еще|ещё</token> </marker> <token>не</token> </pattern> <disambig action="remove" postag="PARTICLE"></disambig> </rule> <!-- disambiguation for prounouns' --> <rule name="Nee_nejo" id="Nee_nejo"> <pattern> <marker> <token>нее</token> </marker> </pattern> <disambig action="add"><wd lemma="она" pos="PNN:Fem:R:P3">нее</wd></disambig> </rule> <rule name="Nee_nejo_V" id="Nee_nejo_V"> <pattern> <marker> <token>нее</token> </marker> </pattern> <disambig action="add"><wd lemma="она" pos="PNN:Fem:V:P3">нее</wd></disambig> </rule> <rule name="PNN_on" id="PNN_on"> <pattern> <marker> <token>он</token> </marker> </pattern> <disambig action="remove"><wd lemma="он" pos="PNN:Sin:Nom:P3">он</wd></disambig> </rule> <rule name="PNN_ona" id="PNN_ona"> <pattern> <marker> <token>она</token> </marker> </pattern> <disambig action="remove"><wd lemma="она" pos="PNN:Sin:Nom:P3">она</wd></disambig> </rule> <rule name="PNN_ono" id="PNN_ono"> <pattern> <marker> <token>оно</token> </marker> </pattern> <disambig action="remove"><wd lemma="оно" pos="PNN:Sin:Nom:P3">оно</wd></disambig> </rule> <rule name="ABR_with_dot" id="ABR_with_dot"> <pattern case_sensitive="yes"> <marker> <token regexp="yes">англ|бульв|вв|г|га|гл|гос|грн|д|дм|долл|доп|др|е|ед|зам|Зам|им|инд|исп|к|кав|кап|кв|кг|кл|км|кол|комн|коп|куб|л|лиц|лл|м|макс|мг|мин|мл|н|нач|нем|неуд|ном|о|обл|обр|общ|ок|ост|отл|п|пер|Пер|перераб|пл|пос|пр|пром|просп|Просп|проф|Проф|р|Рис|рус|с|сб|св|сов|соц|соч|спец|ср|стр|т|тел|Тел|тех|тов|тт|туп|тыс|уд|ул|уч|физ|х|хор|ч|чел|шт|э|экз</token> </marker> <token>.</token> </pattern> <disambig action="add" ><wd pos="ABR"></wd></disambig> </rule> <rule name="ABR_without_dot" id="ABR_without_dot"> <pattern case_sensitive="yes"> <marker> <token regexp="yes">т|тел|Тел</token> </marker> <token>:</token> </pattern> <disambig action="add" ><wd pos="ABR"></wd></disambig> </rule> <!-- double --> <rule id="NumD_D_tag" name="NumD_D tag"> <pattern> <token regexp="yes">\d*[234]<exception regexp="yes">\d*12|\d*13|\d*14</exception></token> </pattern> <disambig postag="NumD_D"/> <example type="ambiguous" inputform="73[73]" outputform="73[73/NumD_D]"><marker>73</marker> процента</example> </rule> <!-- singular --> <rule id="NumD_S_tag" name="NumD_S tag"> <pattern> <token regexp="yes">\d*[1]<exception regexp="yes">\d*[1][1]</exception></token> </pattern> <disambig postag="NumD_S"/> <example type="ambiguous" inputform="71[71]" outputform="71[71/NumD_S]"><marker>71</marker> процент</example> </rule> <!-- plural --> <rule id="NumD_P_tag" name="NumD_P tag"> <pattern> <token regexp="yes">\d*[567890]|\d*[1][1234]</token> </pattern> <disambig postag="NumD_P"/> <example type="ambiguous" inputform="75[75]" outputform="75[75/NumD_P]"> <marker>75</marker> процентов</example> <example type="ambiguous" inputform="11[11]" outputform="11[11/NumD_P]"> <marker>11</marker> процентов</example> <example type="ambiguous" inputform="12[12]" outputform="12[12/NumD_P]"> <marker>12</marker> процентов</example> </rule> <rulegroup id="VERB-KA" name="VERB-KA"> <rule> <pattern> <token regexp="yes">([А-ЯЁа-яё]+)-ка</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:([А-ЯЁа-яё]+)-ка postag_regexp:VB:IMP:TRANS:PFV:Sin:P2"/><!-- The filter is case-sensitive --> <disambig action="add"><wd pos="VB:IMP:TRANS:PFV:Sin:P2"/></disambig> <example type="ambiguous" inputform="дай-ка[дай-ка]" outputform="дай-ка[дай-ка/VB:IMP:TRANS:PFV:Sin:P2]">Ваня, <marker>дай-ка</marker> мне этот молоток.</example> </rule> <rule> <pattern> <token regexp="yes" postag="VB:IMP:TRANS:PFV:Sin:P2" >([А-ЯЁа-яё]+)-ка</token> </pattern> <disambig action="ignore_spelling"></disambig> </rule> <rule> <pattern> <token regexp="yes">([А-ЯЁа-яё]+)-ка</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:([А-ЯЁа-яё]+)-ка postag_regexp:VB:IMP:TRANS:IMPFV:Sin:P2"/><!-- The filter is case-sensitive --> <disambig action="add"><wd pos="VB:IMP:TRANS:IMPFV:Sin:P2"/></disambig> <example type="ambiguous" inputform="пой-ка[пой-ка]" outputform="пой-ка[пой-ка/VB:IMP:TRANS:IMPFV:Sin:P2]">Ваня, <marker>пой-ка</marker> эту песню!</example> </rule> <rule> <pattern> <token regexp="yes" postag="VB:IMP:TRANS:IMPFV:Sin:P2">([А-ЯЁа-яё]+)-ка</token> </pattern> <disambig action="ignore_spelling"></disambig> </rule> <!-- ******* VB:IMP:INTR:IMPFV:Sin:P2--> <rule> <pattern> <token regexp="yes">([А-ЯЁа-яё]+)-ка</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:([А-ЯЁа-яё]+)-ка postag_regexp:VB:IMP:INTR:IMPFV:Sin:P2"/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"></disambig> </rule> <rule> <pattern> <token regexp="yes">([А-ЯЁа-яё]+)-ка</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:([А-ЯЁа-яё]+)-ка postag_regexp:VB:IMP:INTR:IMPFV:Sin:P2"/><!-- The filter is case-sensitive --> <disambig action="add"><wd pos="VB:IMP:INTR:IMPFV:Sin:P2"/></disambig> <example type="ambiguous" inputform="прыгай-ка[прыгай-ка]" outputform="прыгай-ка[прыгай-ка/VB:IMP:INTR:IMPFV:Sin:P2]">Ваня, <marker>прыгай-ка</marker> сюда быстрее!</example> </rule> <!-- ******* VB:IMP:INTR:PFV:Sin:P2--> <rule> <pattern> <token regexp="yes">([А-ЯЁа-яё]+)-ка</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:([А-ЯЁа-яё]+)-ка postag_regexp:VB:IMP:INTR:PFV:Sin:P2"/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"></disambig> </rule> <rule> <pattern> <token regexp="yes">([А-ЯЁа-яё]+)-ка</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:([А-ЯЁа-яё]+)-ка postag_regexp:VB:IMP:INTR:PFV:Sin:P2"/><!-- The filter is case-sensitive --> <disambig action="add"><wd pos="VB:IMP:INTR:PFV:Sin:P2"/></disambig> </rule> </rulegroup> <rulegroup id="Word-TO" name="Word-TO"> <rule> <pattern> <token regexp="yes">([А-ЯЁа-яё]+)-то</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:([А-ЯЁа-яё]+)-то postag_regexp:(NN|ADJ|VB|PT_Short):.*|ADV"/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"></disambig> </rule> </rulegroup> <rulegroup id="Word-zade" name="Word-zade"> <rule> <pattern> <token regexp="yes">([А-ЯЁа-яё]+)-заде</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:([А-ЯЁа-яё]+)-заде postag_regexp:NN:.*"/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"></disambig> </rule> <rule> <pattern> <token regexp="yes">([А-ЯЁа-яё]+)-паша</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:([А-ЯЁа-яё]+)-паша postag_regexp:NN:.*"/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"></disambig> </rule> <rule> <pattern> <token regexp="yes">([А-ЯЁа-яё]+)-беи</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:([А-ЯЁа-яё]+)-беи postag_regexp:NN:.*"/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"></disambig> </rule> <rule> <pattern> <token regexp="yes">([А-ЯЁа-яё]+)-оглы</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:([А-ЯЁа-яё]+)-оглы postag_regexp:NN:.*"/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"></disambig> </rule> </rulegroup> <rulegroup id="pol-Word" name="pol-Word"> <rule> <pattern> <token regexp="yes">[Пп]ол-([АаЕеЁёИиОоУуЭэЮюЯялЛ][а-яё]+)</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:[Пп]ол-([АаЕеЁёИиОоУуЭэЮюЯялЛ][а-яё]+) postag_regexp:NN:.*:R"/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"></disambig> </rule> </rulegroup> <!-- обер-, унтер-, лейб-, штаб-, вице-, экс-, --> <rulegroup id="pol1-Word" name="pol1-Word"> <rule> <pattern> <token regexp="yes">[Оо]бер-([а-яё]+)</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:[Оо]бер-([а-яё]+) postag_regexp:NN:.*"/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"></disambig> </rule> </rulegroup> <rulegroup id="pol5-Word" name="pol5-Word"> <rule> <pattern> <token regexp="yes">[Уу]нтер-([а-яё]+)</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:[Уу]нтер-([а-яё]+) postag_regexp:NN:.*"/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"></disambig> </rule> </rulegroup> <rulegroup id="pol6-Word" name="pol6-Word"> <rule> <pattern> <token regexp="yes">[Лл]ейб-([а-яё]+)</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:[Лл]ейб-([а-яё]+) postag_regexp:NN:.*"/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"></disambig> </rule> </rulegroup> <rulegroup id="pol2-Word" name="pol2-Word"> <rule> <pattern> <token regexp="yes">[Шш]таб-([а-яё]+)</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:[Шш]таб-([а-яё]+) postag_regexp:NN:.*"/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"></disambig> </rule> </rulegroup> <rulegroup id="pol3-Word" name="pol3-Word"> <rule> <pattern> <token regexp="yes">[Вв]ице-([а-яё]+)</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:[Вв]ице-([а-яё]+) postag_regexp:NN:.*"/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"></disambig> </rule> </rulegroup> <rulegroup id="pol4-Word" name="pol4-Word"> <rule> <pattern> <token regexp="yes">[Ээ]кс-([а-яё]+)</token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:[Ээ]кс-([а-яё]+) postag_regexp:NN:.*"/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"></disambig> </rule> </rulegroup> <rule name="VERB_NOUN1" id="VERB_NOUN"> <pattern> <!-- По какому случаю Вы так нарядились? "случаю" только NN:Inanim:Masc:Sin:D, а не VB:Real:TRANS:IMPFV:Sin:P1 --> <token regexp="yes" >какой|какому|такой|такому|сякой|сякому</token> <marker> <and> <token postag="NN:.*:.*:.*:.*" postag_regexp="yes"></token> <token postag="VB:.*:.*:.*:.*" postag_regexp="yes"></token> </and> </marker> </pattern> <disambig action="remove" postag="VB:.*:.*:.*:.*"></disambig> </rule> <rule name="ADJ_Fam" id="ADJ_Fam"> <pattern> <!-- Мария Готова или Мария готова пойти. --> <!-- TO DO: make inverse rule --> <token postag="NN:Name:.*:.*:.*" postag_regexp="yes"></token> <marker> <and> <token postag="NN:Fam:.*:.*:.*" postag_regexp="yes" regexp="yes" case_sensitive="yes">[А-ЯЁ][а-яё]*</token> <token postag="VB:.*:.*:.*:.*|ADJ:.*:.*" postag_regexp="yes" regexp="yes" case_sensitive="yes">[А-ЯЁ][а-яё]*</token> </and> </marker> </pattern> <disambig action="remove" postag="VB:.*:.*:.*:.*|ADJ:.*:.*"></disambig> </rule> <rule name="NN_or_NN_Fam" id="NN_or_NN_Fam"> <pattern> <!-- TODO need improve, need add to exception geo names, etc. --> <token><exception postag="SENT_START" /></token> <marker> <and> <token postag="NN:Fam:.*:.*:.*" postag_regexp="yes" regexp="yes" case_sensitive="yes">[А-ЯЁ][а-яё]*</token> <token postag="NN:(Anim|Inanim):.*:.*:.*" postag_regexp="yes" > <exception regexp="yes" inflected="yes">америка|танга|заказчик|остров|основа|штат|иловайск|клиент|весы|родина|ростов</exception> </token> </and> </marker> </pattern> <disambig action="remove" postag="NN:(Anim|Inanim):.*:.*:.*"></disambig> </rule> <rule name="NN_or_NN_Fam2" id="NN_or_NN_Fam2"> <pattern> <!-- TODO need improve, need add to exception geo names, etc. --> <token> <exception postag="SENT_START" /> <exception>.</exception> <exception postag="NN:(Name|Patr):.*:.*:.*" postag_regexp="yes" /> </token> <marker> <and> <token postag="NN:Fam:.*:.*:.*" postag_regexp="yes" regexp="yes" case_sensitive="yes">[а-яё][а-яё]*</token> <token postag="NN:(Anim|Inanim):.*:.*:.*" postag_regexp="yes" > <exception regexp="yes" inflected="yes">америка|танга|заказчик|остров|основа|штат|иловайск|клиент|весы|родина|ростов</exception> </token> </and> </marker> <token><exception postag="NN:(Name|Patr):.*:.*:.*" postag_regexp="yes" /></token> </pattern> <disambig action="remove" postag="NN:Fam:.*:.*:.*"></disambig> </rule> <rulegroup id="po-ADJ" name="po-ADJ"> <!-- по-мышиному --> <rule> <pattern> <token regexp="yes">[Пп]о-([а-яё]+)<exception regexp="yes">по-крайней|по-крайнему|по-полной|по-меньшей|по-большей</exception></token> </pattern> <filter class="org.languagetool.rules.ru.NoDisambiguationRussianPartialPosTagFilter" args="no:1 regexp:[Пп]о-([а-яё]+) postag_regexp:ADJ:Posit:(.*:D|PL:V) "/><!-- The filter is case-sensitive --> <disambig action="ignore_spelling"></disambig> </rule> </rulegroup> </rules>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy