【问题标题】:finding novelty of document发现文件的新颖性
【发布时间】:2016-03-08 20:28:01
【问题描述】:

我有一组在不同时间创建的文档。我需要知道每个新传入的文档与已添加的文档集有多相似。新文档可以添加新术语,因此在此类文档中,我希望“新颖性”很高。我需要了解这种新颖性(或者距离)

例如,假设已经有 d0, d1, d2, d3 并且我有一个新文档 d4

我想了解 d4 与 d0、d1、d2 和 d3 的不同之处。

我想了几种方法,但有一些限制:

a) 计算 (d0, d4) , (d1, d4), (d2, d4) , (d3, d4) 之间的余弦相似度

  • 求平均余弦相似度。

或

找到新文档 d4 和每个先前看到的文档(即 d0、d1、d2、d4)之间的负余弦角的最小值

这个想法是最小的会让人感觉 d4 的新颖性。

b) 组合 d0, d1, d2, d3 并将其与 d4 进行比较 然后求余弦相似度

这些方法看起来可行吗?此外,是否有更合适的方法来获得新奇感,比如 K-means 聚类?

【问题讨论】:

  • 尝试将 d0, d1, d2, d3 组合起来作为 OneClassSVM 中的常规类使用。

标签: nlp k-means similarity cosine-similarity


【解决方案1】:

计算Multionomial Distribution 对集合中的单词的估计,并为新文档中的单词单独分布。计算 KL-divergence 以感受这些分布有多远。

【讨论】:

  • 这些文件比较短,KL散度适合这个吗?
  • 可以,只要你有足够的短文本。
【解决方案2】:

如果 d0、d1、d2 和 d3 不同怎么办?而 d4 与 d0 非常相似,与 d3 完全不同,因为 d0 和 d3 非常不同。

合并 d0-N 可能不是一个好主意,因为 N 越大,d(n+1) 成为 d(0-N) 子集的可能性就越大。

事实上,文档级别的新颖性检测被认为很少有用,因为几乎每个文档都会有新的东西。为了解决这个问题,您可以使用 hPAM 检索主题和余弦相似度以检测差异来衡量主题新颖性,而不是测量文档的新颖性。您也可以使用NOVELTY DETECTION VIA TOPIC MODELING IN RESEARCH ARTICLES by Sendhilkumar 中提出的新颖性分数,结果显示效果更好。

【讨论】:

  • 这是否适用于短文档,这是我正在使用的设置。此外,这些文档并没有完全不同。
  • 没关系。关于主题建模,由于 hPAM 仅在 Mallet 中实现,除非使用 Java,否则会有些尴尬,您可以尝试 LDA 来观察初始指标。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多