问题标签 [cosine-similarity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
487 浏览

cosine-similarity - 余弦相似度——一对多

我想知道是否有任何好的方法可以使用余弦相似度来比较单个文档和一组文档。显然,您可以计算单个文档和集合中每个文档之间的余弦相似度,但是如果这样做,您会取平均值吗?您是否会按与原始文档进行比较的每个其他文档的大小来衡量?我还想知道是否有任何方法可以将您要比较的文档集中的所有字数组合起来,以便最终只计算一次余弦相似度;在原始文档和“汇总”文档之间。我问的原因是我有大约 200,000 个文档要与单独的一组大约 50,000 个文档进行比较。将 200,000 个文档中的每个文档与 50 个文档中的每个文档进行比较,000 计算量很大,我不知道如果我最终还是要取某种平均值,是否真的有必要。我的汇总文档想法是一个很大的禁忌吗?

0 投票
7 回答
118945 浏览

python - 计算给定2个句子字符串的余弦相似度

来自Python:tf-idf-cosine:要找到文档相似度,可以使用 tf-idf cosine 计算文档相似度。在不导入外部库的情况下,是否有任何方法可以计算 2 个字符串之间的余弦相似度?

0 投票
1 回答
852 浏览

java - Mahout 中 RandomAccessSparseVectors 的余弦距离

我是 Mahout 的新手,最近一直在将我以前的许多机器学习代码转换为这个框架。在很多地方,我使用向量之间的余弦相似度来进行聚类、分类等。然而,研究 Mahout 的距离方法,却给了我很大的惊喜。在下面的代码片段中,维度和浮点值取自我的一个程序的实际输出(在这里并不重要):

输出是1.0。不应该0.0吗?

将此与 的输出相结合cosineDistanceMeasure.distance(u, u),我意识到我正在寻找的是1 - cosineDistanceMeasure.distance(u, v). 但这种逆转对我来说毫无意义。知道为什么以这种方式实施吗?还是我错过了一些非常明显的东西?

0 投票
1 回答
714 浏览

java - 余弦相似度返回错误的距离

我有两个表示为 HashMap 的向量,我想测量它们之间的相似性。我在以下代码中使用余弦相似度度量:

奇怪的是,两个本应不同的向量接近 .9999 结果,这是错误的!

请注意,两张地图的密钥完全相同。

数据文件在这里:文件

文件格式:

FeatureId vector1_value vector2_value

0 投票
1 回答
814 浏览

vector - 比较上下文向量

我使用向量来表示单词周围的上下文,我需要相互比较上下文。以下是我的问题的简化版本:

假设我有一个 vector a=[1,1,15,2,0]。然后我有一个向量b=[0,0,15,0,0]c=[1,1,11,0,1]。通过余弦相似度比较两个向量时b最接近a. 但是,由于向量代表上下文c在我的情况下更有意义,因为b它只是一个上下文,恰好有一个与原始单词相同的单词并且具有相同的分数。

我怎么能c以最相似的方式返回?另一个相似性度量?或者也许我的推理在某个地方有缺陷?

正如我所说,这是对我的问题的简化。我已经在对向量进行规范化,并且为了对上下文词进行评分,我正在使用对数似然。

谢谢!

0 投票
1 回答
706 浏览

similarity - 如何计算多类型数据的余弦相似度?

我在数据库中有记录(行),我想识别类似的记录。我有一个使用余弦相似度的约束。如果变量(属性、列)的类型不同并且以这种形式出现:

如何进行矢量化以应用余弦相似度?对于字符串,我可以使用简单的 tf-idf。但是对于数字和布尔值呢?这怎么能结合起来呢?我的想法是向量的长度为 1+1+1+20。但是,仅将记录的数字转换为我的向量中的系数并将它们与字符串的 tf-idf 连接以计算余弦相似度在语义上是否“有效”?或者我可以将数字视为单词并将 tf-idf 也应用于数字。还有其他技术吗?

0 投票
1 回答
75 浏览

java - lucene中的getTermFrequencyVector

我开始了解 lucene 函数 getTermFreqVector() 在计算两个文档之间的余弦 theta 相似性距离时是如何工作的。谁能阐明 getTermFreqVector(doc number, field-name) 中“字段名称”的含义

0 投票
1 回答
694 浏览

nlp - 计算两个副词或两个形容词的相似度

我想写一个程序来计算两个副词或两个形容词的相似度,但是 WordNet 没有副词和形容词的本体结构。

在第一次尝试时,我使用了 Adapt-lesk 算法。该算法的结果对于副词或形容词来说非常令人失望。计算这些相似度的最佳方法是什么?请帮我解决这个问题。

谢谢大家。

0 投票
1 回答
10936 浏览

java - 如何在 Lucene 中实现 tf-idf 和余弦相似度?

如何在 Lucene 中实现 tf-idf 和余弦相似度?我正在使用 Lucene 4.2。我创建的程序不使用 tf-idf 和余弦相似度,它只使用 TopScoreDocCollector。

如何使用 tf-idf 和余弦相似度显示计算结果?

0 投票
1 回答
4064 浏览

php - PHP中的余弦相似度

我想计算 PHP 中 1 (ID1) 和 3 (ID1) 之间的余弦相似度。公式将是这样的:

我的数据集如下所示:

是否有任何算法可以为此计算 PHP 中的余弦相似度?