#python #spell-checking #data-processing
#питон #проверка орфографии #обработка данных
Вопрос:
Я новичок и выполняю некоторую предварительную обработку данных для текстовых данных. Там есть некоторые ошибки. Например, на шаге автозаполнения будут внесены исправления ошибок для некоторых конкретных имен собственных.
from autocorrect import spell def autospell(text): spells = [spell(w) for w in (nltk.word_tokenize(text))] return " ".join(spells) def main(): text = "skyrim" spell_text = autospell(text) print (spell_text)
Результат: сирия
Более того, я также хочу избежать удаления цифр только для слова «E3».
def remove_numbers(text): output = ''.join(c for c in text if not c.isdigit()) return output def main(): text = "in 2000, I am watching the E3" print (remove_numbers(text))
Результат: в , я наблюдаю за E
Итак, я хотел бы спросить, есть ли какое-либо правило, которое я должен установить, чтобы защитить такие слова (имена собственные) от обработки.
Комментарии:
1. Что вы можете сделать, так это сохранить слова, которые не требуют автоматической коррекции, в хэш-наборе. Как только вы наткнетесь на слово, присутствующее в наборе ignore_hash, вы можете просто пропустить часть autospell/remove_numbers для него.