spaCy - Doc.set_extension 类方法

此类方法是在 2.0 版中引入的。它在 Doc 上定义自定义属性。完成后,该属性将通过 Doc._ 变为可用。

参数

下表解释了其参数 −

NAME TYPE DESCRIPTION
name Unicode 此参数表示扩展要设置的属性的名称。例如,"his_attr"将作为 doc._.his_attr 提供。
default - 当未定义 getter 或方法时,它是属性的可选默认值。
method callable 用于在对象上设置自定义方法。例如,doc._.compare(other_doc)。
getter callable 此属性表示将获取对象并返回属性值的 getter 函数。它主要在用户访问 ._ 属性时调用。
setter callable 此属性表示将获取 Doc &a 值并修改对象的 Setter 函数。它主要在用户写入 Doc._ 属性时调用。
Force bool 它将强制覆盖现有属性。

示例

Doc.set_extension 类方法的示例如下 −

import spacy
nlp_model = spacy.load("en_core_web_sm")
from spacy.tokens import Doc
city = lambda doc: any(city in doc.text for city in ("New York", "India", "USA"))
Doc.set_extension("has_city", getter=city, force = True)
doc = nlp_model("I like India")
doc._.has_city

输出

True

spacy_containers.html