Nlp Spacy,名词短语:如何使用Spacy定位文档中每个名词组块的名词短语广度开始和结束标记

Nlp Spacy,名词短语:如何使用Spacy定位文档中每个名词组块的名词短语广度开始和结束标记,nlp,token,spacy,chunks,phrase,Nlp,Token,Spacy,Chunks,Phrase,我使用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):

我使用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 超过6 七 白色8 汽车9

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

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

有了名词组块的开头和结尾,我就能在文档中识别名词组块的范围


谢谢

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

chunk.start为您提供区块范围的开始标记号 chunk.end为您提供区块范围的结束标记编号