LSI 相似性模型的最佳文档大小



我正在使用Gensim的优秀库来计算LSI对语料库的相似性查询。但是,我有一种明显的感觉,结果可能会更好,我正在尝试弄清楚是否可以调整语料库本身以改善结果。

我对如何拆分文档有一定程度的控制。我的原始数据有很多非常短的文档(一个文档中的平均长度是 12 个单词,但存在 1-2 个单词长的文档......),并且有一些逻辑方法可以将多个文档连接成一个。问题是我不知道这样做是否值得(如果是,在多大程度上)。我找不到任何解决这个问题的材料,但只能找到语料库的大小和词汇量。我认为这是因为,归根结底,文档的大小受词汇表大小的限制。但我相信仍然有一些一般准则可以帮助做出这个决定。

什么被认为是太短的文档?什么太长了?(我假设后者是|V|的函数,但前者很容易成为一个常量值。

有人有这方面的经验吗?谁能指出我解决这个问题的任何论文/博客文章/研究的方向?非常感谢!

编辑补充:关于文档分组策略 - 每个文档都是双方之间发送的短信。潜在的分组基于此,我还可以考虑发送消息的时间。 这意味着,我可以对在特定小时内或某一天在 A 和 B 之间发送的所有消息进行分组,或者简单地将两者之间的所有消息分组。我还可以决定组合在一起的最小或最大消息数,但这正是我的问题所在 - 我怎么知道理想的长度是多少?

在我看来,查看每个文档的字数似乎不是正确的方法。LSI/LSA 就是通过检测常见的共存来捕获文档的基本语义

您可能想阅读:

  1. LSI:概率分析
  2. 潜在语义分析(特别是第3.2节)

2的有效摘录:

LSI的一个重要特征是它不做任何假设。 关于数据背后的特定生成模型。 是否 语料库中项的分布是"高斯",泊松,或 其他一些与这种技术的有效性无关,在 至少就其数学基础而言。 因此,它是 不正确地说使用 LSI 需要假设属性 值呈正态分布。

我更关心的是,如果这些短文档共享类似的共存术语,这将允许LSI形成一个适当的主题,将所有对人类共享相同主题的文档进行分组。这很难自动完成(也许使用 WordNet/本体),方法是用更频繁和更通用的术语替换稀有术语。但这是一个非常漫长的过程,需要进一步研究。

关于启发式的更具体答案:
我最好的选择是将对话视为您的文档。因此,分组将取决于交换消息的时间接近度。任何长达几分钟(四分之一?我会组合在一起。不过,可能会有误报(很大程度上取决于数据集的实际内容)。与 NLP 中的任何超参数一样 - 您的里程会有所不同......所以值得做一些实验。

在应用LDA时,短文档确实是一个挑战,因为对于短文档(稀疏数据),单词共现统计的估计值要差得多。缓解此问题的一种方法是,正如您提到的,通过某种启发式措施以某种方式将多个短文本聚合到一个较长的文档中。

这种情况的一个特殊测试案例是主题建模Twitter数据,因为它被定义限制为140个字符。在Twitter主题建模的实证研究(Hong等人,2010)中,作者认为

在聚合用户消息上训练标准主题模型会导致 更快的培训过程和更好的质量。

但是,他们还提到,不同的聚合方法会导致不同的结果:

通过使用不同的聚合策略学到的主题 数据彼此之间有很大不同。

我的建议:

  1. 如果您使用自己的启发式方法将短消息聚合到较长的文档,请确保尝试不同的聚合技术(可能是所有"明智的"聚合技术)

  2. 考虑使用更适合短消息的"启发式"LDA变体,例如,使用分布式短文本的无监督主题建模 单词的表示

最新更新