我创建了一个 go包来删除停用词,我正在尝试优化它。
根据我的研究,许多语言的停用词列表平均包含大约 300 个单词。
在包的当前版本中,我使用了一个简单的映射来存储停用词列表。然后,我打破原始内容中的单词并通过添加不在地图(停用词)中的单词重新创建过滤内容。
我尝试使用布隆过滤器,但它并没有提高性能。我认为这是由于两个因素:
布隆过滤器在搜索大型集合时速度很快,但构建成本很高(即使构建一次)。因此,当 m 约为 300 时,整体增益很小。
在当前版本中,我使用了映射,如果我没记错的话,go 会构建一个哈希映射来更快地搜索密钥。
有没有更快的方法?
繁花不似锦
相关分类