如何将两个或多个使用连词(如,和/或..etc)连接的句子分成两个单独的句子?

时间:2014-12-01 15:45:10

标签: java regex stanford-nlp

我是stanford的新手。我试图将两个或多个独立的句子分开,这些句子使用stanford树解析器连接到像(和,或..etc)这样的连词到单独的单句中。

例句 - 狮子和老虎正在追逐一只鹿,狐狸正在追逐一只兔子。我希望将其拆分为下面显示的两个独立句子。

1)狮子和老虎正在追逐一只鹿。

2)狐狸正在追逐一只兔子。

句子只需要打破连接独立句子的连词。 两个主题(狮子和老虎)或两个对象与"和"相关联。如果有人知道请帮助我。

分析树结构

(ROOT
  (S
    (NP (NNP Lion)
      (CC and)
      (NNP tiger))
    (VP (VBP are)
      (VP (VBG chasing)
        (SBAR
          (S
            (NP (DT a) (NNS deer)
              (CC and)
              (NN fox))
            (VP (VBZ is)
              (VP (VBG chasing)
                (NP (DT a) (NN rabbit))))))))))

感谢。

1 个答案:

答案 0 :(得分:1)

这个解析看起来不正确 - 这是来自斯坦福分析师吗?当我在parser demo page上输入相同的句子时,我得到以下内容:

(ROOT
  (S
    (S
      (NP (NNP Lion)
        (CC and)
        (NNP tiger))
      (VP (VBP are)
        (VP (VBG chasing)
          (NP (DT a) (NNS deer)))))
    (CC and)
    (S
      (NP (NN fox))
      (VP (VBZ is)
        (VP (VBG chasing)
          (NP (DT a) (NN rabbit)))))
    (. .)))

通过这个解析,提取两个独立的子句将相当容易。您可以使用Tregex(也是CoreNLP的一部分)使用插入连接(S节点)搜索兄弟条款(CC成分)。