我正在用Python Enchant检查一些文件的拼写,并希望它忽略专有名词。它在纠正拼写错误的专有名词和错误地“纠正”它不知道的专有名词之间的权衡似乎太大了(尽管对此的任何建议也值得赞赏!)在
这是我的代码,但目前它仍在更正NNP列表中的单词。在
chkr = SpellChecker("en_GB")
f = open('ca001_mci_17071971.txt', 'r', encoding = 'utf-8')
text = f.read()
tagged = pos_tag(word_tokenize(text))
NNP = [(word) for word, tag in tagged if tag == 'NNP']
chkr.set_text(text)
for err in chkr:
if err is word in NNP:
err.ignore_always()
else:
sug = err.suggest()[0]
err.replace(sug)
corrected = chkr.get_text()
print (NNP)
print (corrected)
输出:
^{pr2}$可以看出“Boojum”已经被更正为“婴儿潮一代”,尽管它在NNP的名单上。在
有人能给我指出正确的方向吗?我对Python相当陌生。提前谢谢。在
我想出来了。必须告诉它错误的单词是刺,以便它可以将它们与NNP列表中的单词进行比较。新代码:
同时也修正了,如果附魔没有任何建议,它会留下错误。在
相关问题 更多 >
编程相关推荐