troll-spelling-corrector: improve word detection accuracy by using a predefined dictionary
This commit is contained in:
parent
4ac6261fd5
commit
0005bb3bdb
|
@ -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):
|
||||
if "силк" in message.text.lower() or "лінк" in message.text.lower():
|
||||
return "*посилання 🌚", None
|
||||
lowercase_message = message.text.lower()
|
||||
|
||||
for m in regex_matchers:
|
||||
result = m.match(lowercase_message)
|
||||
if result:
|
||||
return "*посилання 🌚", None
|
||||
else:
|
||||
return "", None
|
||||
|
|
Loading…
Reference in New Issue