gpt4 book ai didi

python - 使用 Enchant 进行拼写检查时忽略某些单词

转载 作者:太空宇宙 更新时间:2023-11-03 14:31:47 26 4
gpt4 key购买 nike

我正在使用 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 还很陌生。提前致谢。

最佳答案

我明白了这一点。必须告诉它错误的单词是刺痛,以便它可以将它们与 NNP 列表中的单词进行比较。新代码:

chkr = SpellChecker("en_GB")

for file in os.listdir(path):
f = open(file, '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 str(err.word) in NNP:
err.ignore_always()
else:
sug = chkr.suggest()
if len(sug) is not 0:
err.replace(sug[0])

corrected = chkr.get_text()

还进行了更正,以便如果附魔没有任何建议,它将保留错误。

关于python - 使用 Enchant 进行拼写检查时忽略某些单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47229122/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com