问:使用 NLTK 的 Python 拼写检查器

问题描述 投票:0回答:1

所以我有这行使用 NLTK 库的代码

def autospell(text):
        spells = [spell(w) for w in (nltk.word_tokenize(text))]
        return " ".join(spells) 
train_data['Phrase'][:200].apply(autospell) 

我收到此错误,告诉我名称拼写未定义,我不知道这是什么意思,因为我认为它来自 NLTK 库,或者我在某处遗漏了某些内容?

NameError                                 Traceback (most recent call last)
<ipython-input-119-582bf5662c88> in <module>()
      5         spells = [spell(w) for w in (nltk.word_tokenize(text))]
      6         return " ".join(spells)
----> 7 train_data['Phrase'][:200].apply(autospell)

2 frames
pandas/_libs/lib.pyx in pandas._libs.lib.map_infer()

<ipython-input-119-582bf5662c88> in <listcomp>(.0)
      3         correct the spelling of the word.
      4         """
----> 5         spells = [spell(w) for w in (nltk.word_tokenize(text))]
      6         return " ".join(spells)
      7 train_data['Phrase'][:200].apply(autospell)

NameError: name 'spell' is not defined
python nltk spell-checking
1个回答
4
投票

查看 Python 拼写检查器,您可能应该使用

autocorrect
库。 示例代码:

from autocorrect import Speller

spell = Speller(lang='en')

def autospell(text):
        spells = [spell(w) for w in (nltk.word_tokenize(text))]
        return " ".join(spells) 
train_data['Phrase'][:200].apply(autospell) 
© www.soinside.com 2019 - 2024. All rights reserved.