
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-2012 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"> <!-- 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></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><match no="2" postag="NN:.*:.*:V" postag_regexp="yes"></match></disambig> </rule> <rule name="NOUN_V2" id="NOUN_V2"> <pattern> <token skip="1">под</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><match no="2" postag="NN:.*:.*:V" postag_regexp="yes"></match></disambig> </rule> <rule name="NOUN_V3" id="NOUN_V3"> <pattern> <!-- Что за головная боль! --> <!-- Add exception for : "Что за + NN:.*:.*:Nom" --> <!-- Однако дворец был возрождён за два года. за + два + NN:.*:.*:R" --> <token negate="yes">что</token> <token skip="1">за</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> <!-- <disambig><match no="2" postag="NN:.*:.*:V" postag_regexp="yes"></match></disambig> --> </rule> <rule name="NOUN_R" id="NOUN_R"> <pattern> <!-- без - родительный --> <token skip="1" regexp="yes">без|безо|вместо|для|до|из|изо|из-за|из-под|кроме|около|от|против|среди|у</token> <marker> <and> <token postag="NN:.*:.*:V" postag_regexp="yes"></token> <token postag="NN:.*:.*:R" postag_regexp="yes"></token> </and> </marker> </pattern> <disambig><match no="2" postag="NN:.*:.*:R" postag_regexp="yes"></match></disambig> </rule> <rule name="NOUN_D" id="NOUN_D"> <pattern> <token regexp="yes" skip="1">к|ко</token> <!-- по - дательный, винительный, предложный --> <!-- к - дательный --> <marker> <and> <token postag="NN:.*:.*:P" postag_regexp="yes"></token> <token postag="NN:.*:.*:D" postag_regexp="yes"></token> </and> </marker> </pattern> <disambig><match no="2" postag="NN:.*:.*:D" postag_regexp="yes"></match></disambig> </rule> <rule name="NOUN_P" id="NOUN_P"> <pattern> <!-- о - винительный, предложный --> <token regexp="yes" skip="1">о|при</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> <!-- disambiguation for adj.' --> <rule name="ADJ_T" id="ADJ_T"> <pattern> <!-- с - родительный, винительный, творительный --> <!-- под (подо) - винительный, творительный --> <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><match no="2" postag="ADJ:.*:T" postag_regexp="yes"></match></disambig> </rule> <rule name="ADJ_T1" id="ADJ_T1"> <pattern> <!-- под - винительный, творительный --> <!-- TODO проливной is ADJ:.*:V --> <!-- Я не хочу попасть под проливной дождь. --> <!-- Удаляем только неверный postag, остальные не трогаем. --> <token>под</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="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><match no="2" postag="ADJ:.*:V" postag_regexp="yes"></match></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><match no="2" postag="ADJ:.*:V" postag_regexp="yes"></match></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><match no="2" postag="ADJ:.*:R" postag_regexp="yes"></match></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><match no="2" postag="ADJ:.*:D" postag_regexp="yes"></match></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><match no="2" postag="ADJ:.*:P" postag_regexp="yes"></match></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> <!-- 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> <!-- fast fix for words with PosTag=NNN (Names) only, but it is not names --> <rule name="Name_fix1" id="Name_fix1"> <pattern> <marker> <token regexp="yes">аввы|авеню|автономов|автономы|айс|анхом|ариан|арианами|ариев|арсин|арт|архимедов|ат|аурелия|бен|валин|валина|гея|геям|геи|геями|данов|деи|ден|диско|зарин|зоманом|иваси|иже|калиф|калифа|каратэ|кларисс|коста|косты|лобби|медиа|мисс|миссис|нереид|оглы|роксаланами|роксоланы|роялти|сарин|сити|спагетти|суперЭВМ|троян|троянами|фастам|фасты|франц|фрау|эдипов|януарий</token> </marker> </pattern> <disambig postag="NN" /> </rule> <rule name="three" id="three"> <pattern> <marker> <token>трём</token> </marker> </pattern> <disambig action="add"><wd lemma="три" pos="Num">трём</wd></disambig> </rule> <!--end fast fix --> <rule name="besprovodnoj" id="besprovodnoj"> <pattern> <marker> <token>беспроводной</token> </marker> </pattern> <disambig action="add"><wd lemma="беспроводный" pos="ADJ:Masc:Nom">беспроводной</wd></disambig> </rule> </rules>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy