问题标签 [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.
text - 有人可以以非常简单的图形方式举一个余弦相似度的例子吗?
您能在此处(以列表或其他形式)显示向量,然后进行数学运算,让我们看看它是如何工作的吗?
algorithm - 基于关键字交集的匹配算法
假设我们有买家和卖家试图在市场上找到对方。买家可以用关键字标记他们的需求;卖家可以对他们销售的东西做同样的事情。我有兴趣找到根据卖家的两个关键字集根据卖家与特定买家的相关性对卖家进行排名的算法。
这是一个例子:
然后我们有两个潜在的卖家,我们需要根据它们的相关性对它们进行排序:
如果我们只使用关键字的交集,我们不会得到太多的区分:两者都在 2 个关键字上相交。如果我们将交集计数除以集合并集的大小,卖家 2 实际上做得更差,因为关键字数量更多。这似乎为任何不纠正关键字集大小的方法引入了自动惩罚(我们绝对不想惩罚添加关键字)。
为了让问题更加结构化,假设我们对关键字属性的强度有一些真实的衡量标准(每个卖家的总和必须为 1),例如:
现在我们可以总结命中的价值:所以现在卖家 1 的得分仅为 0.1,而卖家 2 的得分为 0.9。到目前为止,一切都很好,但现在我们可能会得到第三个卖家,其关键字集非常有限,非描述性的:
这会将他们推到顶峰,因为他们唯一的关键字受到任何点击,这并不好。
无论如何,我的猜测(和希望)是这是一个相当普遍的问题,并且存在具有已知优势和局限性的不同算法解决方案。这可能是 CS101 中涵盖的内容,所以我认为这个问题的一个好的答案可能只是指向相关参考资料的链接。
information-retrieval - 余弦相似度和 tf-idf
我对以下关于TF-IDF和Cosine Similarity的评论感到困惑。
我正在阅读这两者,然后在余弦相似度下的 wiki 上阅读我发现这句话“在信息检索的情况下,两个文档的余弦相似度范围为 0 到 1,因为术语频率(tf-idf 权重)不能负。两个词频向量之间的角度不能大于 90。
现在我想知道....它们不是两种不同的东西吗?
tf-idf 是否已经在余弦相似度内?如果是,那到底是什么——我只能看到内点积和欧几里得长度。
我认为 tf-idf 是在对文本运行余弦相似度之前可以做的事情。我错过了什么?
ruby - 是否可以在 Solr/Lucene 中模拟余弦相似度?
我对使用 Solr 对余弦相似度算法进行建模的可能方法感兴趣。我有分配了向量的项目,例如:
以及其他需要排名的搜索向量。
目前,我正在通过遍历所有项目并根据输入向量为它们分配等级来在 ruby 中对此进行建模。这是我正在使用的余弦相似度的实现:
然后,要获得排名列表,我会执行以下操作:
我对 Solr 的了解不够多,不知道如何建模,或者即使它可以建模,但我想我会把它扔在那里。
python - 在 python 中使用余弦相似度返回与查询文档相比最相似的文档
我有一组文件和一个查询文档。我的目的是通过与每个文档的查询文档进行比较来返回最相似的文档。要首先使用余弦相似度,我必须将文档字符串映射到向量。而且我已经创建了一个计算每个文档的 tf-idf 函数。
为了获得字符串的索引,我有一个这样的函数;
对于余弦相似性,我的功能是;
TF-IDF 是 ;
我的问题是如何通过使用索引和词汇列表以及该函数内部的 tf-idf 创建 makevector。欢迎任何答案。
r - 在 R 中进行基于向量的聚类的函数和数据格式
我需要对数据行向量的相关性进行聚类,也就是说,我打算使用数据行之间变量向量之间的相关性,而不是使用单个变量作为聚类预测变量。
R中是否有一个函数可以进行基于向量的聚类。如果不是,我需要手动完成,那么输入 cmeans 或 kmeans 等函数的正确数据格式是什么?假设我有 m 个变量和 n 个数据行,m 个变量构成每个数据行的一个向量。所以我有一个用于相关或余弦的 X n 矩阵。这个矩阵可以直接插入聚类功能还是需要一定的处理?
非常感谢。
lucene - 较大的 tf 是否总是会提高 Lucene 中的文档分数?
我知道默认词频 (tf) 只是简单地计算为被搜索的特定词出现在字段中的次数的 sqrt。因此,包含您正在搜索的术语多次出现的文档将具有更高的 tf 并因此具有更高的权重。
我不确定的是,这是否有助于提高文档分数,因为权重更高,或者降低文档分数,因为它使文档向量远离查询向量,正如《Hibernate Search in Action》一书所说(第 363 页) . 我承认我真的很难看到文档向量模型如何与 lucene 评分方程相匹配
java - 如何使用 Lucene 和 Java 计算 tf-idf 的余弦相似度
我有一个查询和一组文件。我需要根据与 tf-idf 的余弦相似度对这些文档进行排名。有人可以告诉我可以从 Lucene 获得什么支持来计算它吗?我可以直接从 Lucene 计算哪些参数(我可以通过 lucene 中的某种方法直接获得 tf、idf 吗?)以及如何计算与 Lucene 的余弦相似度(如果我传递查询的两个向量和文件?)
提前感谢
performance - 快速计算 (nxdxt) 矩阵中点之间的成对余弦方向距离
我知道 Matlab 中的 pdist(X,distance) 采用 (nxd) 点矩阵并计算它们之间的成对距离。我也知道,如果矩阵包含向量而不是点,它还有一个额外的选项来计算余弦距离。
我想做的是采用(nxdxt)矩阵,它保存样本随时间 t 的变化位置,并有效/快速地计算所有对/所有帧之间的余弦方向距离,其中 av(t) 被定义为方向由 p(t+1) - p(t) 计算,p(t) 指的是行 M(p,:,t)。
显然,如果可以得到帮助,我不想使用循环。有什么建议么?
非常感谢任何帮助。
dataset - TF-IDF 和向量模型的数据集帮助
我想比较 TF-IDF、Vector 模型和 TF-IDF 算法的一些优化。为此,我需要一个数据集(至少 100 个英文文本文档)。我找不到一个。有什么建议么 ?