【发布时间】:2019-07-02 05:39:52
【问题描述】:
为什么 Spacy 不在 Doc 类中实现 __eq__ 来比较 2 个 doc 对象?
【问题讨论】:
-
它可以递归地比较两个对象。这似乎是一个功能请求。
为什么 Spacy 不在 Doc 类中实现 __eq__ 来比较 2 个 doc 对象?
【问题讨论】:
检查 spaCy 架构以及令牌、文档、跨度等的存储方式(https://spacy.io/api,关注StringStore)。
type(nlp('hello'))
返回spacy.tokens.doc.Doc 对象,因此在您的示例中,这些对象将有所不同:)
如果您想比较字符串 (1) 使用字符串类型并且不创建 Doc 对象或 (2) 使用 nlp('hello').text 获取 Doc 的字符串表示。
【讨论】:
__eq__ 进行指针比较就足够了。为什么不执行值比较是另一个问题。