【问题标题】:Spacy similarity function空间相似度函数
【发布时间】:2018-09-27 09:13:52
【问题描述】:

我正在尝试使用 Spacy 库进行句子相似性,我想了解它是如何工作的!?

他们的文档不清楚:

默认情况下,spaCy 使用平均向量算法,使用 预训练的向量(如果可用)(例如 en_core_web_lg 模型)。如果 不是,使用 doc.tensor 属性,该属性由 标记器、解析器和实体识别器。这就是 en_core_web_sm 的方式 模型提供了相似之处。通常基于 .tensor 的相似性 将更具结构性,而词向量相似性将是 更具话题性。您还可以自定义 .similarity() 方法,以 提供您自己的相似度函数,可以使用 监督技术。

我发现这个问题:How does the .similiarity method works? 说它使用词嵌入,但在我的实现中我没有“en_core_web_lg 模型”,但我有 en_core_web_sm,所以通过这种方式,“标记器”如何计算相似度、解析器和实体识别器”?

【问题讨论】:

    标签: python similarity spacy


    【解决方案1】:

    通过仔细查看文档,我认为您可以找到您要搜索的内容。

    首先,一个 doc 对象包含很多标记。文档的向量是标记向量的平均值。

    现在,令牌的向量是什么?如果您使用mdlg 模型,这意味着token.vec 为您提供了标记向量,这实际上是一个手套向量。如果您使用的是sm 模型,那么文档说明该向量包含结构信息。这意味着具有相同 PoS 标签和相似 DEP 行为的令牌将比其他令牌具有更高的相似度分数,即使它们的语义完全不同。

    如果您不打算使用此方法获得语义,一般性评论是不要对sm 模型使用相似性方法,因为您很可能会得到不准确的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-25
      • 2016-01-25
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      • 2017-12-08
      相关资源
      最近更新 更多