spacy的每个词token的所有属性
import spacy
line= "中国有四大发明"
nlp = spacy. load( 'zh_core_web_sm' )
doc = nlp( line)
属性 含义 token.text 原文本(例如:中国) token.tag_ 中国的词性,NR(专有名词) token.__len__() 文本长度,例如中国返回值是2,有是1,四大发明是4 token.idx 出现在原文本下标,0 token.dep_ 依赖关系,例如dep(系统无法识别的依赖关系) token.head.text 依赖谁,例如这里中国 依赖有 字 token.head.tag_ 依赖词的词性,例如这里的话是有 字VE(动词) token.set_extension() 设置新属性,例如想设置中国是个国家可以用token.set_extension(”国家“,default=True),然后通过token._.hello访问或修改,还可以设置为简单的方法 token.similarity(doc[2]) 计算相似度,例如中国token和4大发明doc[2]的相似度为0.0068 token.nbor(2) 返回后面第i个邻居 token.children 返回依赖token的其他token token.left 返回依赖token的左边的其他token token.right 返回依赖token的右边的其他token token.n_left 返回依赖token的左边的其他token数量 token.n_right 返回依赖token的右边的其他token数量 x=token.subtree 返回以token为节点的依赖语法子树的所有token,可以遍历x token.doc 输出整个原句子段落 token.sent 输出整个与token相关的原句子 token.text_with_ws 输出带尾随空格的文本,中文没有空格一般用不到 token.orth 输出id token.left_edge 最左边的依赖词 token.right_edge 最右边的依赖词 token.i 第几个token in doc token.prefix_ token的第一个词 token.suffix_ token的最后一个个词 token.is_alpha 返回是否是字母的bool token.is_ascii 返回是否是ascii码 token.is_digit 返回是否是数字 token.is_lower 返回是否是小写 token.is_upper 返回是否是大写 token.is_punct 返回是否是标点符号 token.is_left_punct 返回是否为(,[,{等 token.is_right_punct 是否是右括号 token.is_sent_start 是否是句子开始 token.is_sent_end 是否是句子结束 is_bracket 是否是括号 is_quote 是否是引用 is_currency 是否是货币符号 like_url 是否是url like_num 是否是数字 lang_ 什么语言 sentiment 是积极还是消极情感
from spacy. tokens import Doc, Span, Token
fruits = [ "apple" , "pear" , "banana" , "orange" , "strawberry" ]
is_fruit_getter = lambda token: token. text in fruits
has_fruit_getter = lambda obj: any ( [ t. text in fruits for t in obj] )
Token. set_extension( "is_fruit" , getter= is_fruit_getter)
Doc. set_extension( "has_fruit" , getter= has_fruit_getter)
Span. set_extension( "has_fruit" , getter= has_fruit_getter)