Я пытался реализовать функцию, которая исправляла бы орфографию в нескольких документах. Я попробовал два метода, а именно TextBlob
и autocorrect
.
Использование TextBlob
def spell_correct(word_list):
try:
corrected = []
for word in word_list:
w = Word(word)
corrected.append(w.correct())
return corrected
except UnicodeDecodeError:
return None
Использование автозамены
def spell_correct(word_list):
try:
corrected = []
for word in word_list:
corrected.append(spell(word))
return corrected
except UnicodeDecodeError:
return None
Оба они хорошо работают с одним списком слов, предоставленным в качестве входных данных. Однако, когда я работаю с несколькими документами в пандах DataFrame
из 13 тыс. строк, это занимает так много времени, что я обычно KeyboardInterrupt
. Я нетерпелив или есть более быстрый способ правильно писать?
Обновление Вот как я применяю эти функции к нескольким документам в pandas DataFrame
,
df['corrected_words'] = df.words.apply(lambda x: spell_correct(x))
df['corrected_words'] = df.words.apply(lambda x: spell_correct(x))
- person labeebee   schedule 20.03.2018