Skip to content

Commit

Permalink
[uk] new rule; some rule updates
Browse files Browse the repository at this point in the history
  • Loading branch information
arysin committed Dec 18, 2023
1 parent 625a9f3 commit 27e0890
Show file tree
Hide file tree
Showing 3 changed files with 173 additions and 39 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# A part-of-speech dictionary that's used additionally to the binary dictionary (*.dict).
# This does not add words to the spell checker, see hunspell/spelling.txt for that.
# File Encoding: UTF-8
# Format: three tab-separated fields: fullform baseform postags
# A part-of-speech dictionary that's used additionally to the binary dictionary (*.dict).
# This does not add words to the spell checker, see hunspell/spelling.txt for that.
# File Encoding: UTF-8
# Format: three tab-separated fields: fullform baseform postags
KFOR KFOR noun:inanim:m:nv:prop:foreign
WBC WBC noun:inanim:m:nv:prop:foreign
WBA WBA noun:inanim:m:nv:prop:foreign
Expand All @@ -20,9 +20,22 @@ WBA WBA noun:inanim:m:nv:prop:foreign
Роттердам+ Роттердам+ noninfl
Інтерсіті+ Інтерсіті+ noninfl:prop
КоммерсантЪ КоммерсантЪ noninfl:prop
люде людина noun:anim:p:v_zna:rare:arch
люди людина noun:anim:p:v_zna:rare
діти дитина noun:anim:p:v_zna:rare
дівчата дівчина noun:anim:p:v_zna:rare
багато-багато багато-багато numr:p:v_naz:&pron:ind
багато-багато багато-багато numr:p:v_zna:&pron:ind
кейс кейс noun:inanim:m:v_naz:xp2
кейсу кейс noun:inanim:m:v_rod:xp2
кейсові кейс noun:inanim:m:v_dav:xp2
кейсу кейс noun:inanim:m:v_dav:xp2
кейс кейс noun:inanim:m:v_zna:xp2
кейсом кейс noun:inanim:m:v_oru:xp2
кейсі кейс noun:inanim:m:v_mis:xp2
кейсові кейс noun:inanim:m:v_mis:xp2
кейсу кейс noun:inanim:m:v_mis:xp2
кейсе кейс noun:inanim:m:v_kly:xp2
кейси кейс noun:inanim:p:v_naz:xp2
кейсів кейс noun:inanim:p:v_rod:xp2
кейсам кейс noun:inanim:p:v_dav:xp2
кейси кейс noun:inanim:p:v_zna:xp2
кейсами кейс noun:inanim:p:v_oru:xp2
кейсах кейс noun:inanim:p:v_mis:xp2
кейси кейс noun:inanim:p:v_kly:xp2
Original file line number Diff line number Diff line change
Expand Up @@ -237,15 +237,30 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
<rulegroup id="KORYSTUVATYSIA_POPYTOM" name="Користуватися попитом">
<rule>
<pattern>
<token inflected="yes" regexp="yes">користуватися|користу(вавши|ючи)сь</token>
<token inflected="yes">користуватися</token>
<token regexp="yes" min="0">би?</token>
<token postag_regexp="yes" postag="adj.*" min="0"/>
<token postag_regexp="yes" postag="adj:m:v_oru.*" min="0"/>
<token>попитом</token>
</pattern>
<message>Правильно: <suggestion>мати попит</suggestion>.</message>
<message>Правильно: <suggestion><match
no="1" postag_regexp="yes" postag="verb:rev(.*)" postag_replace="verb$1">мати</match> \2 <match
no="3" postag_regexp="yes" postag="(adj:m:)v_oru(.*)" postag_replace="$1v_zna:rinanim$2"/> попит</suggestion>.</message>
<example correction="мати попит"><marker>користуватися попитом</marker></example>
<example correction="мати попит"><marker>користуючись попитом</marker></example>
<example><marker>мав попит</marker></example>
</rule>

<rule>
<pattern>
<token inflected="yes" regexp="yes">користу(вавши|ючи)сь</token>
<token postag_regexp="yes" postag="adj:m:v_oru.*" min="0"/>
<token>попитом</token>
</pattern>
<message>Правильно: <suggestion><match
no="1" postag_regexp="yes" postag="advp:rev(.*)" postag_replace="advp:imperf">мавши</match> <match
no="2" postag_regexp="yes" postag="(adj:m:)v_oru(.*)" postag_replace="$1v_zna:rinanim$2"/> попит</suggestion>.</message>
<suggestion><match
no="1" postag_regexp="yes" postag="advp:rev(.*)" postag_replace="advp:imperf">маючи</match> <match
no="2" postag_regexp="yes" postag="(adj:m:)v_oru(.*)" postag_replace="$1v_zna:rinanim$2"/> попит</suggestion>
<example correction="мавши великий попит|маючи великий попит"><marker>користуючись великим попитом</marker></example>
</rule>

<rule>
Expand All @@ -255,9 +270,118 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
<token min="0">не</token>
<token inflected="yes">користуватися</token>
</pattern>
<message>Правильно: <suggestion>попит мати</suggestion>.</message>
<example correction="попит мати">Великим <marker>попитом користувалися</marker> велосипеди.</example>
<example correction="попит мати">Великим <marker>попитом ніколи не користувалися</marker> велосипеди.</example>
<message>Правильно: <suggestion>попит \2 \3 <match
no="4" postag_regexp="yes" postag="verb:rev(.*)" postag_replace="verb$1">мати</match></suggestion>.</message>
<example correction="попит мали">Великим <marker>попитом користувалися</marker> велосипеди.</example>
<example correction="попит ніколи не мали">Великим <marker>попитом ніколи не користувалися</marker> велосипеди.</example>
</rule>
</rulegroup>

<rulegroup id="korystuvatysia_doviroyu" name="Користуватися довірою">
<rule>
<pattern>
<token inflected="yes">користуватися</token>
<token regexp="yes" min="0">би?</token>
<unify>
<feature id="gender"/>
<feature id="case"/>
<token postag_regexp="yes" postag="adj:[fn]:v_oru.*" min="0"/>
<token regexp="yes">довірою|довір'ям</token>
</unify>
</pattern>
<message>Правильно: <suggestion><match
no="1" postag_regexp="yes" postag="verb(:rev)(.*)" postag_replace="verb$2">мати</match> \2 <match
no="3" postag_regexp="yes" postag="(adj:.):v_oru(.*)" postag_replace="$1:v_zna$2"/> <match
no="4" postag_regexp="yes" postag="(noun:inanim:.):v_oru" postag_replace="$1:v_zna"/></suggestion></message>
<example correction="мав довіру">він <marker>користувався довірою</marker> свого колективу</example>
<example correction="мав її довіру">він <marker>користувався її довірою</marker></example>
<example correction="мав б найбільшу довіру">він <marker>користувався б найбільшою довірою</marker></example>
<example correction="мав довір'я">він <marker>користувався довір'ям</marker> свого колективу</example>
</rule>

<rule>
<pattern>
<token inflected="yes" regexp="yes">користу(вавши|ючи)сь</token>
<unify>
<feature id="gender"/>
<feature id="case"/>
<token postag_regexp="yes" postag="adj:[fn]:v_oru.*" min="0"/>
<token regexp="yes">довірою|довір'ям</token>
</unify>
</pattern>
<message>Правильно: <suggestion><match
no="1" postag_regexp="yes" postag="advp:rev(.*)" postag_replace="advp:imperf">мавши</match> <match
no="2" postag_regexp="yes" postag="(adj:.:)v_oru(.*)" postag_replace="$1v_zna$2"/> <match
no="3" postag_regexp="yes" postag="(noun:inanim:.):v_oru" postag_replace="$1:v_zna"/></suggestion>.</message>
<suggestion><match
no="1" postag_regexp="yes" postag="advp:rev(.*)" postag_replace="advp:imperf">маючи</match> <match
no="2" postag_regexp="yes" postag="(adj:.:)v_oru(.*)" postag_replace="$1v_zna$2"/> <match
no="3" postag_regexp="yes" postag="(noun:inanim:.):v_oru" postag_replace="$1:v_zna"/></suggestion>
<example correction="мавши значну довіру|маючи значну довіру"><marker>користуючись значною довірою</marker></example>
<example correction="мавши велике довір'я|маючи велике довір'я"><marker>користуючись великим довір'ям</marker></example>
</rule>

<rule>
<pattern>
<token regexp="yes">довірою|довір'ям</token>
<token postag_regexp="yes" postag="adv(?!p).*" min="0"/>
<token min="0">не</token>
<token inflected="yes">користуватися</token>
</pattern>
<message>Правильно: <suggestion><match
no="1" postag_regexp="yes" postag="(noun:inanim:.):v_oru" postag_replace="$1:v_zna"/> \2 \3 <match
no="4" postag_regexp="yes" postag="verb:rev(.*)" postag_replace="verb$1">мати</match></suggestion>.</message>
<example correction="довір'я мали">Великим <marker>довір'ям користувалися</marker> велосипеди.</example>
<example correction="довіру ніколи не мали">Великою <marker>довірою ніколи не користувалися</marker> велосипеди.</example>
</rule>
</rulegroup>

<rulegroup id="KORYSTUVATYSIA_POPULYARNISTYU" name="Користуватися популярністю">
<rule>
<pattern>
<token inflected="yes">користуватися</token>
<token regexp="yes" min="0">би?</token>
<token postag_regexp="yes" postag="adj:f:v_oru.*" min="0"/>
<token>популярністю</token>
</pattern>
<message>Правильно: <suggestion><match
no="1" postag_regexp="yes" postag="verb:rev(.*)" postag_replace="verb$1">мати</match> \2 <match
no="3" postag_regexp="yes" postag="(adj:f:)v_oru(.*)" postag_replace="$1v_zna$2"/> популярність</suggestion>.</message>
<suggestion><match
no="1" postag_regexp="yes" postag="verb:rev(.*)" postag_replace="verb$1">бути</match> \2 [\3] популярним</suggestion>
<example correction="мати шалену популярність|бути [шаленою] популярним"><marker>користуватися шаленою популярністю</marker></example>
</rule>

<rule>
<pattern>
<token inflected="yes" regexp="yes">користу(вавши|ючи)сь</token>
<token postag_regexp="yes" postag="adj:f:v_oru.*" min="0"/>
<token>популярністю</token>
</pattern>
<message>Правильно: <suggestion><match
no="1" postag_regexp="yes" postag="advp:rev(.*)" postag_replace="advp:imperf">мавши</match> <match
no="2" postag_regexp="yes" postag="(adj:f:)v_oru(.*)" postag_replace="$1v_zna$2"/> популярність</suggestion>.</message>
<suggestion><match
no="1" postag_regexp="yes" postag="advp:rev(.*)" postag_replace="advp:imperf">маючи</match> <match
no="2" postag_regexp="yes" postag="(adj:f:)v_oru(.*)" postag_replace="$1v_zna$2"/> популярність</suggestion>
<suggestion><match
no="1" postag_regexp="yes" postag="advp:rev(.*)" postag_replace="advp:imperf">бувши</match> [\2] популярним</suggestion>
<example correction="мавши велику популярність|маючи велику популярність|бувши [великою] популярним"><marker>користуючись великою популярністю</marker></example>
</rule>

<rule>
<pattern>
<token>популярністю</token>
<token postag_regexp="yes" postag="adv(?!p).*" min="0"/>
<token min="0">не</token>
<token inflected="yes">користуватися</token>
</pattern>
<message>Правильно: <suggestion>популярність \2 \3 <match
no="4" postag_regexp="yes" postag="verb:rev(.*)" postag_replace="verb$1">мати</match></suggestion>.</message>
<suggestion>популярним \2 \3 <match
no="4" postag_regexp="yes" postag="verb:rev(.*)" postag_replace="verb$1">бути</match></suggestion>
<example correction="популярність мали|популярним були">Великим <marker>популярністю користувалися</marker> велосипеди.</example>
<example correction="популярність ніколи не мали|популярним ніколи не були">Великим <marker>популярністю ніколи не користувалися</marker> велосипеди.</example>
</rule>
</rulegroup>

Expand Down Expand Up @@ -773,27 +897,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
</rule>
</rulegroup>

<rule id="korystuvatysia_doviroyu" name="Користуватися довірою">
<pattern>
<token inflected="yes">користуватися</token>
<token regexp="yes" min="0">би?</token>
<unify>
<feature id="gender"/>
<feature id="case"/>
<token postag_regexp="yes" postag="adj:.:v_oru.*" min="0"/>
<token regexp="yes">довірою|довір'ям</token>
</unify>
</pattern>
<message>Правильно: <suggestion><match
no="1" postag_regexp="yes" postag="verb(:rev)(.*)" postag_replace="verb$2">мати</match> \2 <match
no="3" postag_regexp="yes" postag="(adj:.):v_oru(.*)" postag_replace="$1:v_zna$2"/> <match
no="4" postag_regexp="yes" postag="(noun:inanim:.):v_oru" postag_replace="$1:v_zna"/></suggestion></message>
<example correction="мав довіру">він <marker>користувався довірою</marker> свого колективу</example>
<example correction="мав її довіру">він <marker>користувався її довірою</marker></example>
<example correction="мав б найбільшу довіру">він <marker>користувався б найбільшою довірою</marker></example>
<example correction="мав довір'я">він <marker>користувався довір'ям</marker> свого колективу</example>
</rule>

<rule id="mizh_tym_vs_tym_chasom" name="Між тим і тим часом">
<antipattern>
<token>між</token>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2637,14 +2637,16 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
<pattern>
<marker>
<token regexp="yes" inflected="yes">підняти|підійняти|підіймати|підійма(ючи|вши)|піднімавши</token>
<token min="0" regexp="yes">би?</token>
<token postag_regexp="yes" postag="(adj|numr):.:v_zna.*" min="0" max="2"/>
<token inflected="yes" postag_regexp="yes" postag="noun:inanim:.:v_zna.*">питання</token>
</marker>
</pattern>
<message>Краще: <suggestion>порушувати \2 \3</suggestion></message>
<suggestion>підносити \2 \3</suggestion>
<message>Краще: <suggestion>порушувати \2 \3 \4</suggestion></message>
<suggestion>підносити \2 \3 \4</suggestion>
<example correction="порушувати це питання|підносити це питання">він <marker>підняв це питання</marker> одразу.</example>
</rule>

<rule>
<pattern>
<marker>
Expand All @@ -2657,6 +2659,22 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
<suggestion>піднесення \2 \3</suggestion>
<example correction="порушення цього питання|піднесення цього питання">і <marker>підняття цього питання</marker>...</example>
</rule>

<rule>
<pattern>
<marker>
<unify>
<feature id="gender"/>
<feature id="case"/>
<token inflected="yes">піднятий</token>
<token inflected="yes">питання</token>
</unify>
</marker>
</pattern>
<message>Краще: <suggestion><match no="1" postag_regexp="yes" postag="adj:.*">порушений</match> \2</suggestion></message>
<suggestion><match no="1" postag_regexp="yes" postag="adj:.*" postag_replace="$0.*">піднесений</match> \2</suggestion>
<example correction="порушене питання|піднесене питання">і <marker>підняте питання</marker>...</example>
</rule>
</rulegroup>

<rule id="slang_words" name="Жаргонні слова">
Expand Down

0 comments on commit 27e0890

Please sign in to comment.