文本简化工具(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