Nlp 如何在spaCy中获取句子中标记的索引?

Nlp 如何在spaCy中获取句子中标记的索引?,nlp,spacy,dependency-parsing,Nlp,Spacy,Dependency Parsing,有没有一种优雅的方法来获取句子中单词/标记的索引? 我知道令牌的属性 i属性返回整个父文档中的索引。但是父文档可以包含多个句子 例如: “这是一个例子。这是另一个例子。” 我需要的是这两个“This”作为索引返回0,这两个“都是”作为索引返回1等等。一个spaCyDoc对象还允许您迭代单个句子的Doc.sent。要在父文档中获取跨度的开始和结束索引,可以查看start和end属性。因此,如果您迭代句子并从标记.i中减去句子开始索引,您将得到该标记在句子中的相对索引: for sent in do

有没有一种优雅的方法来获取句子中单词/标记的索引? 我知道令牌的属性
i
属性返回整个父文档中的索引。但是父文档可以包含多个句子

例如:

“这是一个例子。这是另一个例子。”


我需要的是这两个
“This”
作为索引返回
0
,这两个
“都是”
作为索引返回
1
等等。

一个spaCy
Doc
对象还允许您迭代单个句子的
Doc.sent
。要在父文档中获取跨度的开始和结束索引,可以查看
start
end
属性。因此,如果您迭代句子并从
标记.i
中减去句子开始索引,您将得到该标记在句子中的相对索引:

for sent in doc.sents:
    for token in sent:
        print(token.text, token.i - sent.start)
默认的句子分段使用依赖项解析,这通常更准确。但是,您也可以插入基于规则或完全自定义的解决方案(有关详细信息)