我正在处理情感分析问题。尝试使用autocorrect
,但由于语料库的规模,我无法获得足够的计算资源。因此,我想出了另一种解决方案,即创建一个字典{key = 'incorrect', value = 'correct'}
,然后手动更正所有单词。
问题是如何获得这个拼写错误单词的字典。这个链接是否与我的问题解决方案相同?(我应该寻找拼写错误的单词,还是应该寻找OOV单词?)
如果不是,请建议更好的方法。
用于autocorrect
的代码:
!pip install autocorrectfrom autocorrect import spell train['text'] = [' '.join([spell(i) for i in x.split()]) for x in train['text']]
回答:
你能正确拼写一个单词多少次?只有一次。
那么,你能错误拼写一个单词多少次?我应该说无限次。
这回答了你的问题:
我应该寻找拼写错误的单词,还是应该寻找OOV单词?
- 当然,尤其是在你的拼写错误不是新词汇或常见的重复拼写错误的情况下。
那么,如果单词拼写错误,你如何获取这些特征呢?一种方法是使用“Levenshtein距离”(或最小编辑距离),它将拼写错误的单词与你的单词字典进行比较,检查它与任何一个单词的距离是否很小。这可能是autocorrect包背后的原理。你可以在这个链接中找到更多相关信息。
简而言之,你可能需要丢弃OOV单词,或者对它们投入一些计算资源,因为计算机无法在不进行计算的情况下“猜测”。