【发布时间】:2016-05-16 02:19:25
【问题描述】:
我有一个受控词汇表的列表,例如 term1、term2、termN.. 一个文档可能有一个或多个受控词汇表,但每个词汇表对于每个文档可能只出现一次。
假设总受控词汇是 Term1、Term2、Term3、Term4、Term5、Term6。
- 文档 1(4 个术语):术语 1、术语 2、术语 5、术语 6
- 文档 2(2 个术语):term2、term5
选项1: Jaccard 方法查看两个数据集并找到两个值都等于 1 的事件。因此,我可以将文档的受控项(项 1-6)的存在转换为二进制向量 1,0。然后,根据 Jaccard (http://docs.scipy.org/doc/scipy-0.17.0/reference/generated/scipy.spatial.distance.jaccard.html) 计算相似度
- Doc1:{1,1,0,0,1,1}
- 文档 2:{0,1,0,0,1,0}
选项 2 - 使用基于 tf-idf 的余弦相似度,如 http://brandonrose.org/clustering
在这些选项(或者可能是其他相似性度量)中,哪种度量适合基于受控词汇表计算文档之间的相似性?我是数据挖掘的新手,任何建议都将不胜感激。
【问题讨论】:
标签: python similarity cosine-similarity