加速n-gram处理

时间:2015-09-25 14:49:37

标签: python python-3.x

我有一个包含大量单词(100.000+)的uniqueWordList。 每一个单词的卦都在all allTriGrams中。

我想构建一个包含所有唯一三元组作为键的字典 以及那些三元组可以作为值匹配的所有单词。

示例:

epicDict = {‘ban’:[‘banana’,’banned’],’nan’:[‘banana’]}

到目前为止我的代码:

for value in allTriGrams:   
    for word in uniqueWordList:
        if value in word:
            epicDict.setdefault(value,[]).append(word)

我的问题: 这种方法需要很多时间。有没有办法加快这个过程?

2 个答案:

答案 0 :(得分:2)

如果uniqueWordList是一个集合,那么你可以改为:

if value in uniqueWordList:
    epicDict.setdefault(value,[]).append(word)

检查一下: Python Sets vs Lists

答案 1 :(得分:0)

简单解决方案中,我希望这会更快:

{{1}}