spaCy - Token.set_extension 类方法
此类方法是在 2.0 版中引入的。它定义了 Token 上的自定义属性。完成后,该属性将通过 Token._ 变为可用。
参数
下表解释了其参数 −
NAME | TYPE | DESCRIPTION |
---|---|---|
name | Unicode | 此参数表示扩展要设置的属性的名称。例如,"his_attr"将以 doc._.his_attr 的形式提供。 |
default | - | 当未定义 getter 或方法时,它是属性的可选默认值。 |
method | callable | 它用于在对象上设置自定义方法。例如,token._.compare(other_token)。 |
getter | callable | 此属性表示将获取对象并返回属性值的 getter 函数。它主要在用户访问 ._ 属性时调用。 |
setter | callable | 此属性表示将获取 Doc 和一个值并修改对象的 Setter 函数。它主要在用户写入Token._属性时调用。 |
Force | bool | 它将强制覆盖现有的属性。 |
示例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.html