您可以使用 nltk 和 pyspellchecker 来完成此任务。使用 nltk 的词性 (POS) 标记可用于找出它是什么类型的词。
您可以在此处阅读有关标签的更多信息 - https://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html
Pyspellchecker 的未知函数可用于查明给定单词是否拼写正确。
import nltk
!pip install pyspellchecker
from spellchecker import SpellChecker
spell = SpellChecker()
def check(list_words):
tagged = nltk.pos_tag(list_words)
for i in range(0,len(tagged)):
if(tagged[i][1] not in ['NN','NNS']):
print("False:",tagged[i][0])
else:
if(spell.unknown([tagged[i][0]])):
print("False:",tagged[i][0])
else:
print("True:",tagged[i][0])
list_words =['house','houses','Microsoft','keiujr']
check(list_words)
上述代码的输出将是。
真:房子
真:房子
错误:微软
错误:keiujr