Python 如何在每个指定的字符/字符串处拆分句子?

Python 如何在每个指定的字符/字符串处拆分句子?,python,split,nltk,token,spacy,Python,Split,Nltk,Token,Spacy,我已经拼凑了一些基本的名词短语,但是,只有基本的名词短语对我来说是不够的。 我想做更多的事情,也就是在每个名词短语的末尾拆分句子 例如: sentence = 'protection of system resources against bad behavior' 组块名词短语是(通过在spaCy中使用doc.noun_组块): 我期望的结果是: protection, of system resources, against bad behavior 这意味着,我需要在每个分块短语的末尾

我已经拼凑了一些基本的名词短语,但是,只有基本的名词短语对我来说是不够的。 我想做更多的事情,也就是在每个名词短语的末尾拆分句子

例如:

sentence = 'protection of system resources against bad behavior'
组块名词短语是(通过在spaCy中使用doc.noun_组块):

我期望的结果是:

protection, of system resources, against bad behavior
这意味着,我需要在每个分块短语的末尾拆分句子,例如,在“保护”的末尾,在“系统资源”的末尾

--split()可以这样工作吗

--或者我可以继续使用spaCy中基于规则的匹配来查找.head或立即左/右单词并匹配它们

有人有过这种经历吗

谢谢

--split()可以这样工作吗

没有

--或者我可以继续使用spaCy中基于规则的匹配来查找.head或立即左/右单词并匹配它们

根据它的文档,
noun_chunks
返回一个的迭代器。跨度具有开始/结束索引,因此您可以使用该信息拆分源字符串,例如

output=[]
上一次结束=0
对于doc.noun_块中的span:
append(句子[prev\u end:span.end\u char+1])
prev_end=span.end_char+1

或者类似的东西(你可能需要调整代码,因为我从来没有实际使用过spaCy,我只是从我对文档的理解出发)

或者可能通过修改名词块的跨度?我想到了正则表达式。但也许这太过分了。对我来说效果很好,非常感谢!
protection, of system resources, against bad behavior