如何在spaCy的句子中获取令牌的索引?



有没有一种优雅的方法可以在句子中获取单词/标记的索引? 我知道令牌的属性 https://spacy.io/api/token#attributesi属性返回整个父文档中的索引。但父文档可以包含多个句子。

例:

"这是一个例子。这是另一个例子。

我需要的是作为索引0返回的"This""is"都作为索引1返回等......

一个spaCyDoc对象还允许您迭代doc.sents,这些是单个句子的Span对象。若要在父文档中获取 span 的开始和结束索引,您可以查看startend属性。因此,如果您遍历句子并从token.i中减去句子开始索引,则会在句子中得到标记的相对索引:

for sent in doc.sents:
for token in sent:
print(token.text, token.i - sent.start)

默认句子分割使用依赖项分析,这通常更准确。但是,您也可以插入基于规则或完全自定义的解决方案(有关详细信息,请参阅此处(。

最新更新