论文赏析[EMNLP18]用序列标注来进行成分句法分析(一)

简介: 本文定义了一种新的树的序列化方法,将树结构预测问题转化为了序列预测问题。该序列用相邻两个结点的公共祖先(CA)数量和最近公共祖先(LCA)的label来表示一棵树,并且证明了这个树到序列的映射是单射但不是满射的,但是提出了一系列方法来解决这个问题。

介绍


本文定义了一种新的树的序列化方法,将树结构预测问题转化为了序列预测问题。该序列用相邻两个结点的公共祖先(CA)数量最近公共祖先(LCA)的label来表示一棵树,并且证明了这个树到序列的映射是单射但不是满射的,但是提出了一系列方法来解决这个问题。

相比于之前的序列方法,比如Parsing as Language Modeling,本文的序列化有所不同,主要体现在之前的方法都是seq2seq的,也就是输入句子,直接输出树的括号表达式序列。但是这种方法输出不是定长的,所以结果可能会比较差。本文的方法将输出长度固定在了句子长度减1上(只针对不存在一元产生式的句法树,这种情况之后讨论),所以可以将每个预测分配到每个单词上,然后用序列标注的方法来解决。

树的序列化


记号和基础知识

记输入句子为 image.png ,其中 image.pngimage.png 为拥有 image.png 个叶子结点的不含有一元产生式的句法树集合。句法分析的任务就是将输入句子 w 映射到句法树 image.png

为了将句法分析转化为序列标注任务,需要定义一个树的序列化方法: image.png ,也就是将一棵有 N 个叶子结点的句法树转化为长度为 image.png 的序列。并且该映射函数还得满足一定的条件,首先它一定得是一个函数也就是对于所有的句法树,都得找到一个对应的序列),然后这个函数还得有单射性也就是句法树和序列要一一对应,不能存在两个句法树对应同一个序列,否则的话预测出来一个序列可能解码出两棵句法树,那就尴尬了),当然要是还满足满射性就最好了(也就是对于每一个序列,最好都能找到一棵句法树与之对应,不然预测出一个序列无法找到对应的句法树也很尴尬),当然找不到也没事,后文有解决方法。

然后需要定义一个函数,将句子映射为序列: image.png 。这个映射就通过序列标注的LSTM来实现了, image.png 就是LSTM的参数。

最后通过函数 image.png 将输入句子转化为对应的句法树。那么 image.png 没什么好说的,就是一个序列标注模型,下面重点就是介绍如何设计函数 image.png

编码

之前说到了将一棵有 N 个叶子结点的句法树转化为长度为 image.png 的序列,这个序列是这样生成的:对于单词 image.png ,分配给它一个二元label image.png ,其中 image.png 为单词 image.pngimage.png 的CA数量, image.png 为它俩的LCA的label。

image.png

如上图所示,这个序列的 image.png 有两种表示方法。一种就表示成CA的绝对数量,如图中第一行所示。还有一种表示成后一个数与前一个数的差值,这样能减少元组的数量,但是会出现负数。当然在这个例子中貌似并不能看出数量减少了。。。

image.png叉树编码:如果句法树所有产生式全部是 k 叉的,那么还可以将编码进一步简化,具体做法就是将所有的负数 image.png 统一为一个负数就行。为什么这里就不需要对负数进行区分了呢?这还得从句法树的解码说起,我们看一看是怎么从序列解码成句法树的。

当遇到一个负数 image.png 的时候,说明 image.png 到根结点路径的长度比 image.png 到根结点路径长度少 image.png 个结点。大致结构如下图所示(图画的丑,不要介意):

image.png

可以看出, image.png 这棵子树接在了从 image.png 到根结点路径上的第 image.png 个结点上。但是 image.png 具体在哪还无法确定,只能确定它的子树根结点位置。另外需要解释的是,为什么这里是常数2?因为 image.pngimage.pngimage.png 的LCA的距离一定是2,如果不是的话,中间就一定会有其他结点,那么就一定存在结点位于 image.pngimage.png 之间,这显然不可能。最后可以注意到,这种情况下,

如果 image.png 是正数的话,说明 image.png 到根结点路径的长度比 image.png 到根结点路径长度多 image.png 个结点。大致结构如下图所示:

image.png

这种情况下, image.png 这棵子树接在了从 image.pngimage.png 路径上的第 image.png 个结点处。同样也无法确定它的准确位置,但是它所在的子树确定了从这分叉出去的。

回到正题,之前说到了对于 image.png 叉树,所有负数都可以统一起来,为什么呢?继续看上面 image.png 负数那张图,对于 image.png 所在子树,需要在从 image.png 到根结点这条路径上寻找一个分叉点,也就是它俩的LCA。如果这是一个 image.png 叉树,那么这个分叉点就一定是第一个孩子数不满 image.png 个的结点。因为如果再往下的话,孩子数都满了,再加子树孩子数一定大于 image.png 。再往上的话,就会导致这第一个结点孩子数小于 image.png ,因为从左到右遍历的,子树之间不会交叉,以后都不会有子树插入到这个结点处了。

下图就是简化序列化后的二叉树例子,第三行将所有的负数都用一个负号替代了:

image.png

我尝试过了按照这个序列构建出一棵树的过程,画了个草图给大家看看,可能有点乱(参照的是上面那个非二叉树的图):

image.png

还有一个小trick就是对于有些直接连到根结点的叶子,用 image.png 作为它们的label。

相关文章
|
8月前
|
机器学习/深度学习 人工智能 负载均衡
《人工智能驾驭复杂网络拓扑:网络规模扩张下的管理之道》
在数字化时代,网络规模持续扩大,拓扑结构日益复杂,传统管理方式难以应对。人工智能凭借强大数据处理与决策能力,成为解决这一难题的关键技术。它通过智能拓扑发现、动态路由优化、故障预测诊断及资源智能分配等策略,有效提升网络性能与可靠性。例如,谷歌B4网络和阿里巴巴电商网络成功应用AI技术,实现了高效资源利用与快速故障修复。未来,结合区块链与量子计算等新兴技术,人工智能将推动网络拓扑管理迈向更智能、安全与高效的阶段,助力构建可靠的数字世界。
229 5
|
9月前
|
内存技术
关于 Qwen-Omni 模型的音频输出格式转换
Qwen-Omni 官方文档声称音频输出为 WAV 格式,但实际上为 PCM 格式。通过将每个 chunk 的 base64 编码音频数据解码并拼接,可生成 24kHz、16位、单声道的 PCM 文件。使用 FFMPEG 可将其转换为其他格式,如 MP3。示例代码展示了如何解码并转换音频文件。
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
DeepSeek 开源 R1 系列推理模型,性能对标 OpenAI o1,基于纯强化学习完成自我进化,无需监督微调
DeepSeek R1-Zero 是一款基于纯强化学习的开源推理模型,无需监督微调数据,支持多任务泛化与自我进化,适用于数学推理、代码生成等场景。
1028 21
DeepSeek 开源 R1 系列推理模型,性能对标 OpenAI o1,基于纯强化学习完成自我进化,无需监督微调
|
编解码 JSON 自然语言处理
通义千问重磅开源Qwen2.5,性能超越Llama
击败Meta,阿里Qwen2.5再登全球开源大模型王座
5693 19
|
8月前
|
存储 消息中间件 Kafka
官宣 | Fluss 0.6 发布公告
Fluss社区宣布0.6.0版本正式发布,历经3个多月开发,45位贡献者完成200+代码提交。新版本亮点包括:列压缩技术降低6倍存储空间、MergeEngine支持灵活主键合并策略、Prefix Lookup实现Delta Join功能。这些特性增强了Fluss的功能和性能,标志着其在构建下一代分析型流存储系统上的重要进展。
364 1
官宣 | Fluss 0.6 发布公告
|
运维 图形学 Python
从零开始的PICO教程(2)--实时预览应用场景
这篇文章是关于如何使用PICO Unity Live Preview Plugin在PICO设备上进行实时预览应用场景的教程,包括准备工作、操作步骤和故障排查方法。
|
API 开发者 内存技术
鸿蒙next版开发:相机开发-会话管理(ArkTS)
在HarmonyOS 5.0中,ArkTS提供了完整的API来管理相机会话,包括创建相机输入流、预览输出流、拍照输出流,配置和管理会话。本文详细介绍了相机会话管理的基础步骤和代码示例,涵盖会话创建、闪光灯和焦距配置及错误处理等内容,帮助开发者更好地利用ArkTS开发相机应用。
346 4
|
编解码 JSON 自然语言处理
Qwen2-VL 全链路模型体验、下载、推理、微调实战!
经过了一年的不懈努力,今天通义千问团队对 Qwen-VL 模型进行重大更新——推出 Qwen2-VL。那么Qwen2-VL 有什么新功能呢?一起来看一下吧
Qwen2-VL 全链路模型体验、下载、推理、微调实战!
|
关系型数据库 MySQL Java
MySQL 连接池配置及 FullGC 分析
本文主要讲述MySQL连接池配置不合适时,由于MySQL以虚引用的方式作为线程清理的后备手段,导致JVM年老代随时间缓慢增长,直至FullGC的问题。为了优化数据库连接池配置,使得JVM进行尽量少的FullGC导致服务故障,本文提供了多种解决方案 单独的MySQL清理,负责关闭被遗弃的MySQL连接,即没有被显式关闭的连接。发现容器服务的老年代在不断的增长,直到。
|
人工智能 JSON 文字识别
开源VLM新标杆 InternVL 2.0 怎么用?部署、微调尽在魔搭社区!
7月4日下午,世界人工智能大会科学前沿论坛,上海人工智能实验室OpenGVLab发布了InternVL 2.0 版本,中文名书生·万象。