spaCy - Token.set_extension 类方法



此类方法在 2.0 版本中引入。它在 Token 上定义了一个自定义属性。完成后,该属性将通过 Token._ 访问。

参数

下表解释了它的参数 -

名称 类型 描述
name Unicode 此参数表示扩展要设置的属性的名称。例如,'his_attr' 将作为 doc._.his_attr 访问。
default - 当未定义 getter 或方法时,它是属性的可选默认值。
method 可调用对象 用于在对象上设置自定义方法。例如,token._.compare(other_token)。
getter 可调用对象 此属性表示 getter 函数,它将获取对象并返回属性值。当用户访问 ._ 属性时,主要调用它。
setter 可调用对象 此属性表示 Setter 函数,它将获取 Doc 和一个值,并修改对象。当用户写入 Token._ 属性时,主要调用它。
Force 布尔值 它将强制覆盖现有属性。

示例 1

Token.set_extension 类方法的示例如下 -

import spacy
nlp_model = spacy.load("en_core_web_sm")
from spacy.tokens import Token
fruit_getter = lambda token: token.text in ("apple", "pear", "banana")
Token.set_extension("is_fruit", getter=fruit_getter, force=True)
doc = nlp_model("I have an pear")
doc[3]._.is_fruit

输出

True

示例 2

Token.set_extension 类方法的另一个示例如下 -

import spacy
nlp_model = spacy.load("en_core_web_sm")
from spacy.tokens import Token
fruit_getter = lambda token: token.text in ("apple", "pear", "banana")
Token.set_extension("is_fruit", getter=fruit_getter, force=True)
doc = nlp_model("I have a car")
doc[3]._.is_fruit

输出

输出如下所示 -

False
spacy_container_token_class.htm
广告