【发布时间】:2020-07-08 04:43:41
【问题描述】:
我正在尝试通过依赖树(根据 SpaCy)拆分文本单元。我已经尝试过 spacy 提供的许多文档,但我不知道如何完成这项任务。要可视化,请参见下文:
import spacy
from spacy import displacy
doc = nlp('I was, I dont remember. Do you want to go home?')
dependency_flow = displacy.render(doc, style='dep', jupyter = True, options = {'disxatance': 120})
上面的代码生成了这个依赖树图(由于大小分为2个截图):
直观地说,这表明原句中有2个独立的从句。原来的句子是'I was, I dont remember. Do you want to go home?',它被有效地分成两个子句,'I was, I dont remember.'和'Do you want to go home?'。
输出
如何使用 SpaCy 或任何其他工具将原始话语拆分为这两个子句,以便输出为:
['I was, I dont remember.', 'Do you want to go home?']?
我目前的方法相当冗长且昂贵。它涉及在原始文本中找到两个最大的子树,其相对索引跨越原始文本索引的范围,但我相信还有另一种更好的方法。
【问题讨论】:
-
一个子句可以跨越多个句子吗?
-
这个问题我不清楚。该示例非常令人困惑,因为它不包含任何子条款。你想得到“我不知道你是谁”吗?分成[“我不知道”,“你是谁”]?这就是术语subclause 通常所指的内容。还是你的意思是句子?
标签: python graph tree nlp spacy