Spacy,名词短语:如何使用spacy定位文档中每个名词_chunk的名词短语范围的开始和结束标记

问题描述 投票:0回答:1

我正在使用spacy来获取文本的名词短语。我要做的是相对于单词的标记索引在文本中定位那些名词短语。

例如

import spacy

# Load English 
nlp = spacy.load("en_core_web_sm")
doc = nlp("The blue car is nicer than the white car"
noun_chunks = list(doc.noun_chunks)

for i,noun_chunk in enumerate(noun_chunks):
    for j,token in enumerate(noun_chunk):
        print(i,noun_chunk,j,token.text)

值j是名词块范围内token.text的索引,但我想获取token.i名词和名词的第一个和最后一个单词的编号

在示例中,两个名词块是:“红色的车”和“白色汽车”

所需的输出将是:

令牌:1蓝色2汽车3是4好5大于67白色8汽车9

名词块1:“蓝色汽车”;开始1,结束3

名词块2:“白色汽车”;开始7,结束9

使用名词块的开始和结尾,我将能够识别文档中名词块的跨度

谢谢

nlp token spacy chunks phrase
1个回答
0
投票

我不知道块的开始和结束方法

chunk.start为您提供了块跨度的起始令牌号chunk.end为您提供了块跨度的结束令牌号

© www.soinside.com 2019 - 2024. All rights reserved.