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):
|
def process(message, path):
|
||||||
if "силк" in message.text.lower() or "лінк" in message.text.lower():
|
lowercase_message = message.text.lower()
|
||||||
return "*посилання 🌚", None
|
|
||||||
|
for m in regex_matchers:
|
||||||
|
result = m.match(lowercase_message)
|
||||||
|
if result:
|
||||||
|
return "*посилання 🌚", None
|
||||||
|
else:
|
||||||
|
return "", None
|
||||||
|
|
Loading…
Reference in New Issue