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