Я хочу автоматически исправить слова, которые есть в моем list
.
Скажем, у меня есть список
kw = ['tiger','lion','elephant','black cat','dog']
Я хочу проверить, появились ли эти слова в моем предложении,Если они написаны неправильно, я хочу исправить их.Я не собираюсь трогать другие слова, кроме указанного в списке.
Теперь у меня есть список str
s = ["I saw a tyger","There are 2 lyons","I mispelled Kat","bulldogs"]
Ожидаемый результат:
['tiger','lion',None,'dog']
Мои усилия:
import difflib
op = [difflib.get_close_matches(i,kw,cutoff=0.5) for i in s]
print(op)
Мой вывод:
[[], [], [], ['dog']]
Проблема с кодом вышеЯ хочу сравнить все предложение, и мой список kw
может содержать более 1 слова (до 4-5 слов).
Если я уменьшу значение cutoff
, оно начнет возвращать слова, которыеэто не должно.
Таким образом, даже если я планирую создавать биграммы, триграммы из данного предложения это займет много времени.
Так есть ли способ реализовать это?
Я исследовал еще несколько библиотек, таких как autocorrect
, hunspell
и т. Д., Но безуспешно.