我正在使用 Python Enchant 对一些文件进行拼写检查,并希望它忽略专有名词。它纠正拼写错误的专有名词和错误地“纠正”它不知道的名词之间的权衡似乎太大(尽管对此的任何建议也很受欢迎!)
这是我的代码,但目前它仍在更正 NNP 列表中的单词。
chkr = SpellChecker("en_GB")
f = open('test_file.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)
例如,在输出中,'Boojum' 更改为 Boomer,即使它在 NNP 列表中。
有人能指出我正确的方向吗?我对 Python 还很陌生。提前致谢。