【问题标题】:Clause Extraction using Stanford parser使用斯坦福解析器的子句提取
【发布时间】:2014-09-27 00:54:11
【问题描述】:

我有一个复杂的句子,我需要把它分成主句和从句。 例如对于句子
ABC 引用了一个事实,即许多国家/地区都禁止使用化学添加剂,并认为它们在该州也可能被禁止。
所需的拆分

1)ABC cites the fact   
2)chemical additives are banned in many countries   
3)ABC feels they may be banned in this state too.    

我想我可以使用斯坦福解析器树或依赖项,但我不确定如何从这里开始。

(根 (S (NP (NNP ABC)) (副总裁(VBZ 引用) (NP(DT)(NN事实)) (SBAR(在那) (S (NP(NN化学)(NNS添加剂)) (副总裁 (副总裁(VBP) (VP(禁止VBN) (PP (在) (NP (JJ 多) (NNS 国家))))) (抄送和) (VP(VBZ感觉) (SBAR (S (NP(PRP 他们)) (副总裁(MD 可能) (副总裁(VB 是) (VP(禁止VBN) (PP (在) (NP (DT this) (NN 状态))) (ADVP(也有RB)))))))))))) (. .)))

和折叠的依赖解析

nsubj(cites-2, ABC-1) 根(ROOT-0,引用-2) det(fact-4, the-3) dobj(cites-2, fact-4) 标记(banned-9, that-5) nn(添加剂 7,化学物质 6) nsubjpass(禁止 9,添加剂 7) nsubj(感觉 14,添加剂 7) auxpass(banned-9, are-8) ccomp(cites-2, 禁止-9) amod(12 个国家,11 个国家) prep_in(banned-9, countries-12) ccomp(cites-2, feel-14) conj_and(banned-9, feel-14) nsubjpass(banned-18, they-15) 辅助(禁止 18 年,5 月 16 日) auxpass(禁止 18,be-17) ccomp(感觉 14,禁止 18) det(state-21, this-20) prep_in(banned-18, state-21) advmod(banned-18, too-22)

【问题讨论】:

  • 你是如何实现树结果的? StanfordDependencyParser?

标签: nlp stanford-nlp


【解决方案1】:

如果您主要使用基于组成的解析树,而不是依赖关系,这可能会更好。依赖项会有所帮助,但只有在主要工作完成之后!我将在回答结束时解释这一点。

这是因为 constituency-parse 基于短语结构语法,如果您想从句子中提取从句,这种语法是最相关的。它也可以使用依赖关系来完成,但在这种情况下,您实际上将重建短语结构——从根开始并查看依赖节点(例如,ABCfacts 是名义上的主语和直接宾语动词cites,等等...)。

然而,可视化解析树是有帮助的。在您的示例中,子句由 SBAR 标记表示,该标记是由(可能为空的)从属连词引入的 子句。您需要做的就是:

  1. 识别解析树中的非根分句节点
  2. 从主树中删除(但单独保留)以这些从句节点为根的子树。
  3. 在主树中(在步骤 2 中移除子树之后),移除所有 悬垂 介词、从属连词和副词。

在第 3 步中,我所说的“挂起”是指在第 2 步中删除了依赖关系的任何介词等。例如,从“ABC 引用事实”中,您需要删除介词/从属-连词“that”,因为它的依赖节点“banned”在第 2 步中被删除。因此您将拥有三个独立的子句:

  • 许多国家/地区都禁止使用化学添加剂(在第 2 步中去除 SBAR)
  • 它们也可能在此状态下被禁止(在第 2 步中删除 SBAR)
  • ABC 引用事实(步骤 3)

这里唯一的问题是连接ABC--感觉。为此,请注意“banned”和“feels”都是动词“cites”的补语,因此具有相同的主语,即“ABC”!你完成了。完成此操作后,您将获得第四个子句“ABC 感觉”,这是您可能希望也可能不希望包含在最终结果中的内容。

有关所有分句标记的列表(事实上,所有 Penn Treebank 标记),请参阅此列表:http://www.surdeanu.info/mihai/teaching/ista555-fall13/readings/PennTreebankConstituents.html

对于在线解析树可视化,您可能需要使用online Berkeley parser demo。它有助于形成更好的直觉。这是为您的例句生成的图像:

注意事项

  1. 即使是最好的解析器也不一定能正确解析句子,因此请记住这一点。
  2. 此外,许多复杂的句子都涉及right node raising,大多数解析器几乎从不正确解析。
  3. 如果从句是被动语态,您可能需要稍微修改算法。

除了这三个陷阱之外,上面的算法应该工作得相当准确。

【讨论】:

  • 感谢您提供非常详细的解释和 PenTreebank 链接。当我提取 SBAR 时,我如何获得“感觉”,因为以 SBAR 为根的子树不包含感觉。
  • @ChthonicProject,你说的非根分句节点是什么意思?,它指的是 SBAR 标记的子树?
  • @xzegga SBAR 下的 S。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-07
  • 2015-11-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多