feat(i18n): add entity detection section to Russian locale

Cyrillic candidate/multi-word patterns, person-verb patterns
(сказал, спросил, ответил, etc.), pronoun patterns, dialogue
markers, direct address, and Russian stopwords.

Follows the i18n entity framework from #911.
This commit is contained in:
mvalentsev
2026-04-15 18:16:25 +05:00
parent b87ada3c96
commit d6bd7de5f6
+83
View File
@@ -40,5 +40,88 @@
"stop_words": "это этот эта эти тот та те тех некоторые много каждый другой только такой очень будет может должен надо хорошо также даже потом сейчас уже ещё обратно сделано делать брать давать знать думать хотеть нужно если когда просто правда ладно вообще конечно например значит кстати наверное видимо похоже получается собственно кажется", "stop_words": "это этот эта эти тот та те тех некоторые много каждый другой только такой очень будет может должен надо хорошо также даже потом сейчас уже ещё обратно сделано делать брать давать знать думать хотеть нужно если когда просто правда ладно вообще конечно например значит кстати наверное видимо похоже получается собственно кажется",
"quote_pattern": "\"([^\"]{20,200})\"", "quote_pattern": "\"([^\"]{20,200})\"",
"action_pattern": "(?:построил|исправил|написал|добавил|запустил|протестировал|проверил|создал|удалил|обновил|настроил|развернул|перенёс|собрал)\\s+[\\wа-яёА-ЯЁ\\s]{3,30}" "action_pattern": "(?:построил|исправил|написал|добавил|запустил|протестировал|проверил|создал|удалил|обновил|настроил|развернул|перенёс|собрал)\\s+[\\wа-яёА-ЯЁ\\s]{3,30}"
},
"entity": {
"candidate_pattern": "[А-ЯЁ][а-яё]{1,19}",
"multi_word_pattern": "[А-ЯЁ][а-яё]+(?:\\s+[А-ЯЁ][а-яё]+)+",
"person_verb_patterns": [
"\\b{name}\\s+сказал[аи]?\\b",
"\\b{name}\\s+спросил[аи]?\\b",
"\\b{name}\\s+ответил[аи]?\\b",
"\\b{name}\\s+рассказал[аи]?\\b",
"\\b{name}\\s+засмеял(ся|ась|ись)\\b",
"\\b{name}\\s+улыбнул(ся|ась|ись)\\b",
"\\b{name}\\s+заплакал[аи]?\\b",
"\\b{name}\\s+почувствовал[аи]?\\b",
"\\b{name}\\s+думает\\b",
"\\b{name}\\s+хочет\\b",
"\\b{name}\\s+любит\\b",
"\\b{name}\\s+ненавидит\\b",
"\\b{name}\\s+знает\\b",
"\\b{name}\\s+решил[аи]?\\b",
"\\b{name}\\s+написал[аи]?\\b"
],
"pronoun_patterns": [
"\\bона\\b",
"\\bеё\\b",
"\\bей\\b",
"\\bон\\b",
"\\bего\\b",
"\\bему\\b",
"\\bони\\b",
"\\bих\\b",
"\\bим\\b"
],
"dialogue_patterns": [
"^>\\s*{name}[:\\s]",
"^{name}:\\s",
"^\\[{name}\\]",
"\"{name}\\s+сказал"
],
"direct_address_pattern": "\\bпривет\\s+{name}\\b|\\bспасибо\\s+{name}\\b|\\bздравствуй(те)?\\s+{name}\\b|\\bуважаемый\\s+{name}\\b|\\bуважаемая\\s+{name}\\b|\\bдорогой\\s+{name}\\b|\\bдорогая\\s+{name}\\b",
"project_verb_patterns": [
"\\bсобираю\\s+{name}\\b",
"\\bсобрал\\s+{name}\\b",
"\\bзапускаю\\s+{name}\\b",
"\\bзапустил\\s+{name}\\b",
"\\bразвернул\\s+{name}\\b",
"\\bустановил\\s+{name}\\b",
"\\bсистема\\s+{name}\\b",
"\\bпроект\\s+{name}\\b",
"\\bimport\\s+{name}\\b",
"\\bpip\\s+install\\s+{name}\\b"
],
"stopwords": [
"привет",
"здравствуйте",
"спасибо",
"пожалуйста",
"да",
"нет",
"может",
"наверное",
"здесь",
"там",
"тут",
"сейчас",
"сегодня",
"вчера",
"завтра",
"всегда",
"никогда",
"ещё",
"тоже",
"очень",
"мало",
"хорошо",
"плохо",
"так",
"потом",
"перед",
"после",
"между",
"около",
"вместе"
]
} }
} }