当前位置: 首页 > 面试题库 >

文本简化工具(Java)

东方国安
2023-03-14
问题内容

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

这是文本简化的示例:

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

问题答案:

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

Stanford
CoreNLP的依赖项解析是将复合和复杂句子拆分为简单句子的理想工具。您可以在线试用该演示。
从您的示例语句中,我们将获得 斯坦福类型依赖性(SD) 表示法的解析结果,如下所示:

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),该类别是受试者,例如来鉴定 nsubjnsubjpass
。见斯坦福依赖手动
基本条款可从中提取 作为动词部分和 依赖 的主体部分。根据上面的SD,有两个基本子句,即

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

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

回答第三条评论:

一旦获得了一对主语的动词,即 nsubj(CEO-6, John-1)
,获得了具有链接到该依存关系的所有依存关系,除了属于该类别的任何依存关系,然后从这些依存关系中提取唯一单词。

根据示例, nsubj(CEO-6, John-1) 如果您从开始遍历 John-1 ,您会得到,
nsubj(played-11, John-1) 但是您应该忽略它,因为其类别是主题。

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

cop(CEO-6, was-4)
det(CEO-6, the-5)
rcmod(John-1, CEO-6)
prep_of(CEO-6, company-9)

从上面的结果中,您可以遍历新的依赖项(即,找到另一个 was-4, the-5, company-9 在头部或依赖项中具有的依赖项)。
现在您的依赖项是

cop(CEO-6, was-4)
det(CEO-6, the-5)
rcmod(John-1, CEO-6)
prep_of(CEO-6, company-9)
det(company-9, a-8)

在此步骤中,您已遍历与链接的所有依赖项 nsubj(CEO-6, John-1)
。接下来,从所有首字母和从属字母中提取单词,然后根据这些单词后面的数字以升序排列。此数字表示原始句子中的单词顺序。

John was the CEO a company

我们的新句子缺少一部分,即 of 。这部分隐藏在中 prep_of(CEO-6, company-9)
。如果您阅读Stanford DependencyManual,则有两种 SD,即已折叠和未折叠。请阅读它们,以了解为什么 of 隐藏了该部分以及如何获取该隐藏部分的单词顺序。

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

John played golf



 类似资料:
  • 问题内容: 是否有任何库(最好在python中,但至少是开放源代码)可以汇总和/或简化自然语言文本? 问题答案: 我不确定当前是否有任何库可以执行此操作,因为文本摘要或至少 可理解的 文本摘要不是通过简单的即插即用库就可以轻松实现的。 这是我设法找到的与文本摘要相关的项目/资源的一些链接,可帮助您入门: 狐猴项目 Python自然语言工具包 O’Reilly的Python自然语言处理书 Googl

  • 本文向大家介绍10个简化PHP开发的工具,包括了10个简化PHP开发的工具的使用技巧和注意事项,需要的朋友参考一下 本文介绍了可以帮助简化 PHP 开发的10个项目,包括框架,类库,工具,代码。 1.CakePHP Development Framework CakePHP 是一个 PHP 的快速开发框架。它提供了可扩展的架构,使用了常见的 MVC 和 ORM 模式。它遵循约定优于配置理念。 2.

  • 前面多次提到过vim这个东西,它是linux中必不可少的一个工具。没有它很多工作都无法完成。早期的Unix都是使用的vi作为系统默认的编辑器的。你也许会有疑问,vi与vim有什么区别?可以这样简单理解,vim是vi的升级版。很多linux系统管理员都习惯用vi,那是因为他们接触linux的时候用的就是vi,vim后来才比较流行。所以,无所谓用vi和vim,只要你能达到你想要的目的即可。 在笔者看来

  • Kubeadm 在2018年12月3日发布的 Kubernetes 1.13 版本中已经宣布 GA,可以支持生产。本文是对 kubeadmin 的先关介绍,详细信息请参考 Overview of kubeadm。 基本介绍 kubeadm 是一个工具包,可帮助您以简单,合理安全和可扩展的方式引导最佳实践Kubernetes群集。它还支持为您管理Bootstrap Tokens并升级/降级群集。 k

  • 本文向大家介绍C# 开发日志本地化工具,包括了C# 开发日志本地化工具的使用技巧和注意事项,需要的朋友参考一下     程序员讨厌写文档, 讨厌写注释, 而我还讨厌写日志, 输出一个  "Id=5, 姓名=王大锤, 性别=男, 生日=2020年1月1日"  总归会用到字符串的填充     Json序列化工具多好啊, 可是输出的是     业务部门的人就是看不懂, 毕竟不是人人都有良好的英语基础,

  • bee 工具是一个为了协助快速开发 beego 项目而创建的项目,通过 bee 您可以很容易的进行 beego 项目的创建、热编译、开发、测试、和部署。 bee 工具的安装 您可以通过如下的方式安装 bee 工具: go get github.com/beego/bee 安装完之后,bee 可执行文件默认存放在 $GOPATH/bin 里面,所以您需要把 $GOPATH/bin 添加到您的环境变