问题标签 [sentence-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 投票
3 回答
481 浏览

php - 如何在大字符串中找到相似的文本?

我有一个大字符串 str 和一个针 ndl。现在,我需要从字符串 str 中找到类似的 ndl 文本。例如,

消息来源:“这是一个演示文本,我爱你”。

针:“我爱你”

输出:“我爱你”


消息来源:“我有一个独特的想法。你需要一个吗?”。

针:“一个unik idia”

输出:“一个独特的想法”

我发现我可以使用余弦或曼哈顿相似度度量等相似度度量来做到这一点。但是,我认为这种算法的实现会很困难。您能否建议我使用任何简单或最快的方法来做到这一点,也许使用 php 的任何库函数?TIA

0 投票
1 回答
56 浏览

python - 对不同字符串参数之间的文档相似性进行建模的最佳方法是什么?

我有一个问题是预测用户面临的问题的解决方案。

问题设置是这样的:

我们有一个问题和解决方案的数据库。对于每个问题,我们都有三个参数来表示它。

  1. JobName(字符串 - 作业名称)
  2. JobId(整数 - 作业的 ID)
  3. RootCause(字符串 - 导致该问题的原因)。

每个问题都有一个由遇到该问题的用户添加的相应解决方案。该解决方案参数是

  1. 解决方案(字符串 - 用户为该问题输入的解决方案)

所以我们想利用那个数据库来预测新问题的解决方案(一个问题是一组作业名、作业ID、根本原因——都是字符串)

我们最初提出了这个解决方案。 我们只想识别与我们的查询问题相似的问题(作业名称、作业标识、根本原因),并为最接近的问题提供解决方案。 但在这种情况下,我们无法像在房价预测问题中那样测量训练误差。

一般来说,我们如何解决这个问题,我们需要使用什么样的机器学习模型?

0 投票
1 回答
434 浏览

text - 注意是否会提高 seq2seq 自动编码器的性能?

我正在尝试实现 RNN 自动编码,我想知道注意力是否会改善我的结果。

我的最终目标是建立一个文档相似性搜索引擎,我正在寻找对文档进行编码的方法。

由于我对训练解码器而不是编码器感兴趣,因此注意力是否会为该过程增加价值?

0 投票
1 回答
1380 浏览

scikit-learn - 欧几里得距离是否测量语义相似度?

我想测量句子之间的相似度。我可以使用sklearn和欧几里得距离来衡量句子之间的语义相似度吗?我也读到了余弦相似度。有人可以解释这些措施的区别以及最好的使用方法是什么?

0 投票
1 回答
251 浏览

python - 如何导入带有句子的文档来训练 doc2vec 模型?

我想得到句子之间的余弦相似度。我已经用 gensim 测试了 doc2vec,并且只用代码中给出的几句话对其进行了训练。但是我想使用每行一个句子的文本文档来训练我的模型。如何使用带有句子的文档?

0 投票
1 回答
1147 浏览

tensorflow - 两个文档列表之间的相似性

我需要在 Python 中找到两个短文本列表之间的相似性。文本可以是 1-4 个字长。每个列表的长度可以是 10K。我没有找到如何在 spaCy 中有效地做到这一点。也许其他软件包可以做到这一点?我假设这些词由一个向量 (300d) 表示,但任何其他选项也可以。这个任务可以循环完成,但肯定有更有效的方法。这个任务适合 TensorFlow、pyTorch 和类似的包,但我不熟悉这些包的细节。

0 投票
3 回答
699 浏览

python - 获取多个字符串的相似度百分比

Python 中是否有任何函数可以接受多行字符串并返回它们具有多少相似度的百分比?类似SequenceMatcher但对于多个字符串。

例如我们有以下句子

我希望能够根据句子彼此的相似程度获得百分比

假设我们有这三个句子

那么我们应该得到 100% 的相似度

但是如果我们有

那么我们应该得到一个相似度约为 67% 的数字。

0 投票
0 回答
126 浏览

nlp - SpaCy 的相似度函数是如何工作的?

SpaCy 的相似度函数是如何工作的。在查找两个句子之间的相似度得分时,是否考虑了词性标注、依赖解析等?如果没有,那么我如何使用 SpaCy 提供的功能来更好地对句子进行语义分类?

0 投票
1 回答
204 浏览

machine-learning - 计算一组句子的相似度分数

我的团队进行了大量的聊天机器人培训,我正在尝试提出一些工具来提高我们的工作质量。在聊天机器人训练中,训练具有不同表达方式的意图非常重要,这些表达方式以非常不同的方式表达相同的意图。理想情况下,集合中话语的语法几乎没有相似之处。

这是一个查询医疗保险范围的意图示例

坏话集

  • 我女儿有保险吗?
  • 我儿子有医疗保险吗?
  • 我儿子有保险吗?

恰如其分的套话

  • 我如何查看我们是否为整个家庭提供保险?

  • 寻求有关医疗保险资格的详细信息

  • 是否有文件详细说明我们的医疗保险政策保护的对象?

我希望能够获取与意图相关的所有话语并分析它们的相似性。我希望我的一组不好的话语具有较高的相似性分数,而我的一组体面的话语具有低的相似性分数。

我试过玩一些 doc2vec 教程,但我觉得我错过了一些东西。我一直看到这样的东西:

  • 训练一组数据,然后测量一个新句子与您的一组数据的相似度
  • 测量两个句子之间的相似度

我需要有一系列句子并了解它们彼此之间的相似程度。

关于实现这一目标的任何建议?

回答一些问题:

  1. 是什么让糟糕的话语变得糟糕?话语本身并不糟糕,只是它们之间缺乏多样性。如果大部分训练都像“坏”集,那么将无法正确识别更多种类的真实用户话语。
  2. 您是否正在尝试发现新的意图?不,这是为了预发布训练,试图提高它的有效性。
  3. 为什么不好的话语具有高相似度分数而良好话语具有低相似度分数?这是一个假设。我知道真实的用户话语有多么不同,而且我发现我的培训师在训练时陷入了困境,以同样的方式提出问题,并且没有看到良好的准确性结果。改善话语的多样性往往会导致更好的准确性。
  4. 我将如何处理这些信息?我将使用它来评估意图的训练质量,以确定是否可能需要更多的训练。将来,我们可能会构建实时工具,因为正在添加话语以让培训师知道它们是否过于重复。
0 投票
1 回答
944 浏览

algorithm - 检查提交的作业之间的相似性百分比的最佳算法是什么?

我计划为最后一年构建一个类似于相似性检查器的项目。在项目中,我计划检查提交的作业之间的相似性百分比,即离线。

例如:

  1. 当第一个学生提交作业时,它不会与任何其他作业一起检查。

  2. 当第二个学生提交作业时,它会与第一个作业一起检查。

  3. 当第三个学生提交作业时,会检查第一个和第二个提交的作业。

  4. 同样,如果有 35 名学生,则将第 36 个提交的作业与其余 35 个提交的作业进行检查。

现在,问题来了,如何比较两个作业。在这种情况下,比较是文档中文本之间的相似性。我想要类似这样的结果:

文档之间的相似性检查

我只想显示相似句子的百分比以及它们是什么?

我做了什么:

我研究了不同的算法,如 td-idf、余弦相似度算法,但我无法正确插入算法的结果。

所以,我想知道在这种情况下哪种算法最好,我想知道这是如何完成的。是否有任何对我有帮助的网站、博客的参考资料?