文本简化工具(Java)

使用Java可以简化文本的最佳工具是什么?

这是文本简化的示例:

John, who was the CEO of a company, played golf.

John played golf. John was the CEO of a company.

回答:

我认为您的问题是将复杂或复合句子转换为简单句子的任务。根据文献的句子类型,从一个独立的子句中构建一个简单的句子。复合和复杂的句子至少由两个子句构成。另外,从句必须包含主语和动词。

因此,您的任务是将句子分解为构成句子的子句。

Stanford

CoreNLP的依赖项解析是将复合和复杂句子拆分为简单句子的理想工具。您可以在线试用该演示。

从您的示例语句中,我们将获得 表示法的解析结果,如下所示:

nsubj(CEO-6, John-1)

nsubj(played-11, John-1)

cop(CEO-6, was-4)

det(CEO-6, the-5)

rcmod(John-1, CEO-6)

det(company-9, a-8)

prep_of(CEO-6, company-9)

root(ROOT-0, played-11)

dobj(played-11, golf-12)

有一条可从关系式(在SD),该类别是受试者,例如来鉴定 ,

。见斯坦福依赖手动

基本条款可从中提取 作为动词部分和 的主体部分。根据上面的SD,有两个基本子句,即

  • 约翰首席执行官
  • 约翰演奏

获得基本从句后,您可以添加另一部分以使从句成为完整且有意义的句子。为此,请查阅《斯坦福大学相依手册》。


回答第三条评论:

一旦获得了一对主语的动词,即

,获得了具有链接到该依存关系的所有依存关系,除了属于该类别的任何依存关系,然后从这些依存关系中提取唯一单词。

根据示例, 如果您从开始遍历 ,您会得到,

但是您应该忽略它,因为其类别是主题。

下一步是遍历 零件。你会得到

cop(CEO-6, was-4)

det(CEO-6, the-5)

rcmod(John-1, CEO-6)

prep_of(CEO-6, company-9)

从上面的结果中,您可以遍历新的依赖项(即,找到另一个 在头部或依赖项中具有的依赖项)。

现在您的依赖项是

cop(CEO-6, was-4)

det(CEO-6, the-5)

rcmod(John-1, CEO-6)

prep_of(CEO-6, company-9)

在此步骤中,您已遍历与链接的所有依赖项

。接下来,从所有首字母和从属字母中提取单词,然后根据这些单词后面的数字以升序排列。此数字表示原始句子中的单词顺序。

John was the CEO a company

我们的新句子缺少一部分,即 。这部分隐藏在中

。如果您阅读Stanford DependencyManual,则有两种 ,即已折叠和未折叠。请阅读它们,以了解为什么 隐藏了该部分以及如何获取该隐藏部分的单词顺序。

用同样的方法,你会得到第二句话

John played golf

以上是 文本简化工具(Java) 的全部内容, 来源链接: utcz.com/qa/429479.html

回到顶部