Python中替换字符串串中不正确单词的有效方法

2024-03-28 19:58:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我处理的是手写的文本数据,所以有很多字母错误。我目前正在使用pyspellchecker来清理数据,并使用correct()方法在单词不存在时找到最有可能的单词。我的方法是创建一个字典,所有写得不好的单词都作为关键字,最有可能的单词作为值:

dic={}
for i in df.text:
    misspelled = spell.unknown(i.split())
    for word in misspelled:
        dic[word]=spell.correction(word)

尽管这是可行的,但它的速度非常缓慢。因此,我想知道是否有更快的选择来实现这一点。你有什么想法吗?在

编辑:共有10571行数据框文本而字符串通常有5-15个单词长。每个循环大约需要3-5秒,这意味着运行整个循环总共需要大约40000秒。在


Tags: 数据方法in文本for错误字母单词
1条回答
网友
1楼 · 发布于 2024-03-28 19:58:34

如果您只想创建一个从您遇到的拼写错误的单词到他们的建议的映射,您可以通过删除重复的单词来减小数据集的大小。这将最小化对spell.unknownspell.correction的调用次数,并防止对字典内容进行不必要的更新。在

uniquewords = set().union(*(sentence.split() for sentence in df.text))
corrections = {word: spell.correction(word) for word in spell.unknown(uniquewords)}

相关问题 更多 >