【问题标题】:Why is nlp("hello") == nlp("hello") False?为什么 nlp("hello") == nlp("hello") 是假的?
【发布时间】:2019-07-02 05:39:52
【问题描述】:

为什么 Spacy 不在 Doc 类中实现 __eq__ 来比较 2 个 doc 对象?

【问题讨论】:

  • 它可以递归地比较两个对象。这似乎是一个功能请求。

标签: nlp spacy


【解决方案1】:

检查 spaCy 架构以及令牌、文档、跨度等的存储方式(https://spacy.io/api,关注StringStore)。

type(nlp('hello'))

返回spacy.tokens.doc.Doc 对象,因此在您的示例中,这些对象将有所不同:)

如果您想比较字符串 (1) 使用字符串类型并且不创建 Doc 对象或 (2) 使用 nlp('hello').text 获取 Doc 的字符串表示。

【讨论】:

  • 这是误导,只说默认__eq__ 进行指针比较就足够了。为什么不执行值比较是另一个问题。
猜你喜欢
  • 1970-01-01
  • 2022-11-10
  • 1970-01-01
  • 2010-11-26
  • 2011-09-12
  • 1970-01-01
  • 2012-09-29
  • 2017-05-01
相关资源
最近更新 更多