troll-spelling-corrector: improve word detection accuracy by using a predefined dictionary

This commit is contained in:
dymik739 2024-04-06 18:14:53 +03:00
parent 4ac6261fd5
commit 0005bb3bdb
1 changed files with 31 additions and 2 deletions

View File

@ -1,3 +1,32 @@
import re
all_possible_match_strings = [
"силка", "силки",
"силки", "силок",
"силці", "силкам",
"силку", "силки",
"силкою", "силками",
"силко", "силки",
"лінк", "лінка", "лінки",
"лінку", "лінки", "лінок",
"лінці", "лінці", "лінкам",
"лінк", "лінку", "лінки",
"лінком", "лінкою", "лінками",
"лінку", "лінці", "лінках",
"лінке", "лінко", "лінки"
]
unique_match_strings = set(all_possible_match_strings)
regex_matchers = [re.compile(fr"\b{i}\b") for i in unique_match_strings]
def process(message, path): def process(message, path):
if "силк" in message.text.lower() or "лінк" in message.text.lower(): lowercase_message = message.text.lower()
for m in regex_matchers:
result = m.match(lowercase_message)
if result:
return "*посилання 🌚", None return "*посилання 🌚", None
else:
return "", None