From d6bd7de5f6f1ad5a93a2dbb7aeb76df90f206c9b Mon Sep 17 00:00:00 2001 From: mvalentsev Date: Wed, 15 Apr 2026 18:16:25 +0500 Subject: [PATCH] feat(i18n): add entity detection section to Russian locale MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- mempalace/i18n/ru.json | 83 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/mempalace/i18n/ru.json b/mempalace/i18n/ru.json index e0df469..f9232c7 100644 --- a/mempalace/i18n/ru.json +++ b/mempalace/i18n/ru.json @@ -40,5 +40,88 @@ "stop_words": "это этот эта эти тот та те тех некоторые много каждый другой только такой очень будет может должен надо хорошо также даже потом сейчас уже ещё обратно сделано делать брать давать знать думать хотеть нужно если когда просто правда ладно вообще конечно например значит кстати наверное видимо похоже получается собственно кажется", "quote_pattern": "\"([^\"]{20,200})\"", "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": [ + "привет", + "здравствуйте", + "спасибо", + "пожалуйста", + "да", + "нет", + "может", + "наверное", + "здесь", + "там", + "тут", + "сейчас", + "сегодня", + "вчера", + "завтра", + "всегда", + "никогда", + "ещё", + "тоже", + "очень", + "мало", + "хорошо", + "плохо", + "так", + "потом", + "перед", + "после", + "между", + "около", + "вместе" + ] } }