计算距离最密集部分的余弦相似度2d分布的距离

时间:2015-09-16 09:01:40

标签: r matrix nlp cosine-similarity

如果我的术语听起来有点模糊,请提前原谅我,但我想用简单的英语解释我的问题。

假设我有10组文档,并且对于每组我都根据集合的术语频率矩阵计算了余弦相似度矩阵。

在R中我们可以像这样模拟我的余弦相似性矩阵列表

cosine_simil_mat <- list()
for (i in 1:10) {
  cosine_simil_mat[[i]] <-
    matrix(rnorm(n=100, mean=0.89, sd=.2),ncol=10)
}

现在,对于每个矩阵,我可以用这个

可视化分隔平面上每个文档的距离
mds <- cmdscale(1-cosine_simil_mat[[1]], eig=TRUE, k=2)
x <- mds$points[,1]
y <- mds$points[,2]

(注意1-部分,因为更有意义地可视化不相似性(或距离)而不是相似性。

我可以使用

绘制我的mds
mds_df <-
  data.frame(x,y, type=c("alpha", c(rep("betas",dim(cosine_simil_mat[[i]])[1]-1)) ) )

require(ggplot2)
ggplot(mds_df, aes(x,y)) +
  geom_point(aes(colour = type)) + geom_density2d() + theme_bw()

哪些情节

enter image description here

现在,我想要做的是理解我的感兴趣的文档(alpha),它始终是余弦相似度矩阵的第一行/列,在不同的集合中表现。具体来说,我想测量我的文档alpha与每个图的最密集部分的距离,以便了解文档alpha是否是集合的核心,用相对术语来衡量频率,或在外围,如果它的位置在不同的集合中发生变化。

是否有任何统计数据从图中最密集的部分捕获这个距离?它有意义吗?

0 个答案:

没有答案
相关问题