标记长度为 1 的单词,如果我进行主题建模会发生什么?

数据挖掘 信息检索 集成电路
2022-01-22 17:21:22

假设我的数据集包含一些非常小的文档(每个大约 20 个单词)。他们每个人都可能有至少两种语言的单词(例如马来语和英语的组合)。每个里面也有一些数字。

只是出于好奇,虽然通常是可定制的,但为什么一些标记器选择忽略默认情况下只是数字的标记,或者任何不符合特定长度的标记?例如,scikit-learn 中的CountVectorizer会忽略不超过 1 个字母数字的单词。gensim中的标记器实用程序会忽略带数字的单词。

我最后使用了 CountVectorizer 并使它接受包含数字的单词和长度为 1 的单词。这是因为我需要完全匹配,因为这些长度为 1 的单词的细微差别可能指向不同的文档。

我目前正在尝试主题建模(gensim 的 LSI)来执行主题分析,但这样做的主要目的是能够减少维度,以便我可以将其提供给 spotify 的annoy以进行快速近似搜索(从 58k 特征到 500话题)。此外,我希望它能够减少计算分类器模型所花费的时间和内存。

所以问题是,如果我对长度为 1 的单词进行标记,执行主题建模是否有意义?即使我只通过比较余弦相似度(没有花哨的人工神经网络)进行蛮力搜索,它是否会影响精度或准确性(即它是否能够识别查询中长度为 1 的单词的细微变化并检索正确的文档) ?

1个回答

这些库通常排除 1 长度的标记和没有字母数字字符的标记,因为它们通常是噪音并且没有任何描述能力。也就是说,这些标记通常无助于区分相关文档和不相关文档。

但是,如果在您的域中您觉得 1-length 令牌可能会有所帮助,那么您也可以随意使用它们。例如,如果包含的所有文档都1属于同一个主题,则保留此标记可能是个好主意。1在这种情况下具有描述能力:它可以帮助区分一个特定主题和其他主题。

现在,您的下一个问题是关于 LSI。对于 LSI,如果文档项矩阵中的列对应于 1 字符标记或 5 字符标记,则没有区别。因此,您可以在分析中使用 LSI。