求同存异,共创双赢 - 基于对抗网络的利用不同分词标准语料的中文分词方法 | 论文访谈间 #06

简介:

在中文信息处理中,分词(word segmentation)是一项基本技术,因为中文的词汇是紧挨着的,不像英文有一个天然的空格符可以分隔开不同的单词。虽然把一串汉字划分成一个个词对于汉语使用者来说是很简单的事情,但对机器来说却很有挑战性,所以一直以来分词都是中文信息处理领域的重要的研究问题。 


如今 90% 乃至 95% 以上的中文分词准确率已不是什么难题,这得益于模型和算法上的不断进步。在传统 CRF 中,特征需要人工设定,因此大量繁杂的特征工程将不可避免。近几年深度学习的发展给很多研究问题带来了全新的解决方案。在中文分词上,基于神经网络的方法,往往使用“字向量 + 双向 LSTM + CRF”模型,利用神经网络来学习特征,将传统 CRF 中的人工特征工程量将到最低,如下图所示,其中: 


  • 字向量层(对应 Embedding Layer)能够把离散的汉字符号转化为连续的向量表示 

  • 双向 LSTM 网络(对应 Feature Layer)能够在考虑时序依赖关系的同时抽取有用的文本特征 

  • 最后的 CRF 模型(对应 Inference Layer)则建模了两个相邻输出的概率制约关系 强大的样本表示、特征抽取和概率建模能力,使它成为如今最主流的中文分词模型。

▲ 图 1:分词模型


除了模型和算法,中文分词准确率的提高更得益于丰富的公开训练语料集。然而,因为中文分词这个问题本身并不存在一个完全统一的标准,众多语料集之间都或多或少存在不一致的地方。由于语言学家定义了分词的多种不同标准,因此对于同一串汉字,不同的人可能会给出不同的切分结果。比如“姚明进入总决赛”这句话,在 CTB 和 PKU 两个语料集中就是不同的切分标准,前者认为“姚明”和“总决赛”是一个整体,后者却认为姓和名应该分开、“总”和“决赛”应该分开:


▲ 图 2:语料不一致


中文分语料丰富,每一份中文分词语料都是经过昂贵而耗时的人工标注得到的。又因为每份语料间的标准多少有些不一致,因而以往在训练一个分词模型的时候只会用一份语料,而置其他语料于不顾,这无疑是浪费,弃之可惜。所以现在一些研究者就在思考怎么同时利用多个语料集。如果能够想办法利用多个分词标准语料集的信息,就能让模型在更大规模的数据上训练,从而提升各个分词标准下分词的准确率。最近,来自复旦大学的陈新驰同学、施展同学、邱锡鹏老师和黄萱菁老师就提出了一个新框架,可以利用多标准的中文分词语料进行训练。实验在 8 个语料集上进行训练,并在 8 份语料上都提升了准确率。他们的论文 Adversarial Multi-Criteria Learning for Chinese Word Segmentation 发表在今年的 ACL2017 上。值得一提的是,这四位作者中的陈新驰同学、邱锡鹏老师、黄萱菁老师同时也是上述“字向量+双向 LSTM+CRF”中文分词模型最初原型的提出者。


接下来我们就来一步步走近这个框架。首先,在多份语料上训练可以看成一个多任务学习(Multi-task Learning)问题,在 8 份语料上的模型训练就是 8 个任务。这些任务之间显然存在着很大的共性,所以可以设想用单独一个“字向量 + 双向 LSTM + CRF”模型来训练,但是如前所述,这些任务之间存在不一致,所以又必须考虑用一部分模块来建模它们之间的差异部分。论文中具体采取的方案是再拿出 8 个特定于具体任务的私有 LSTM 模块,跟原来共享的 LSTM 网络模块一同构成图 1 中的特征抽取层,变成如图 3 所示的结构。在图 3 中,两个灰色的私有 LSTM 模块分别负责捕捉 TaskA 和 TaskB 的任务私有特征,中间黄色的共享 LSTM 模块负责捕捉任务共享特征,然后再把私有特征与共享特征拼接到一起,输入每个任务私有的 CRF 模块。整个框架总共有:


  • 1 个共享的字向量模块 

  • 1 个共享的 LSTM 模块 

  • 8 个私有的 LSTM 模块 

  • 8 个私有的 CRF 模块


▲ 图 3:多任务框架


在尝试用以上多任务框架进行训练后,作者发现有 7 个语料上的分词准确率确实得到了提升,但是 MSRA 语料的准确率下降。为什么呢?作者分析认为这可能是由于共享 LSTM 模块所捕捉的特征并不“纯净”,里面可能混入了某个任务的私有特征,这些特征对 MSRA 语料没有用,甚至可能反倒有害,才导致其准确率下降。


根据上述假设,我们似乎应该想办法把私有特征从共享的 LSTM 模块中“剥离”出去,保证该模块仅仅抽取对所有语料都有用的特征,而论文作者就非常巧妙地利用了对抗网络来达到这个目的。


论文在上述多任务框架的基础应用对抗网络,提出了如下图所示的对抗多任务框架,它与之前框架的区别在于多了一个判别器(Discriminator)网络模块,负责检查共享特征中是否不小心混入了特定于某个任务的特征。


▲ 图 4:对抗多任务框架


具体来说,每当一个样本经过字向量层、共享 LSTM 层之后,我们会得到一个特征向量序列,该序列的长度与输入样本的字符长度相等。为了检查这些特征向量是否“纯净”,我们对它们求平均,得到一个固定长度的特征向量,再输入判别器网络模块,要求判别器预测该特征向量来源于 8 个语料中的哪一个。这是我们给判别器设定的目标。


假如判别器能够准确预测每一个共享特征向量的来源语料,则说明这些共享特征中混入了太多私有信息,这是我们不希望发生的事情。所以我们反过来给共享 LSTM 模块设定一个目标,让它跟判别器对抗,想办法让判别器预测不准。假如共享 LSTM 模块成功让判别器分不清特征向量来自哪个语料,意味着我们已经把私有特征剥离出去了,从而保证了共享特征向量的纯净性。


引入了上述对抗训练目标之后,新的对抗多任务框架在 8 个语料上都获得了准确率的提升。


回过头来看,这样神奇的结果似乎又很符合直觉。作者借鉴了多任务学习的思想,融合多个语料的数据来提升共享字向量模块、共享 LSTM 模块的泛化性能,又让多个私有 LSTM 模块、私有 CRF 模块分别负责各个语料之间标准不一致之处,还巧妙地利用了对抗网络把私有信息从共享模块中剥离到各个私有模块中去,既能充分享受到数据量增大带来的好处,又避免了不同语料之间相互掣肘,做到了“求同存异,共创双赢”。笔者相信这篇论文提出的对抗多任务框架不仅对中文分词有好处,也能够用在很多其他问题上,具有相当的普适应用价值。


来源:paperweekly


原文链接

相关文章
|
6月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
492 0
|
6月前
|
机器学习/深度学习 资源调度 算法框架/工具
AI-ANNE: 将神经网络迁移到微控制器的深度探索——论文阅读
AI-ANNE框架探索将深度学习模型迁移至微控制器的可行路径,基于MicroPython在Raspberry Pi Pico上实现神经网络核心组件,支持本地化推理,推动TinyML在边缘设备中的应用。
369 10
|
6月前
|
机器学习/深度学习 边缘计算 算法
SEENN: 迈向时间脉冲早退神经网络——论文阅读
SEENN提出一种时间脉冲早退神经网络,通过自适应调整每个样本的推理时间步数,有效平衡脉冲神经网络的准确率与计算效率。该方法基于置信度判断或强化学习策略,在保证高精度的同时显著降低能耗与延迟,适用于边缘计算与实时处理场景。
369 13
|
5月前
|
机器学习/深度学习 数据采集 边缘计算
基于灰色神经网络的预测方法
基于灰色神经网络的预测方法
345 0
|
6月前
|
机器学习/深度学习 缓存 算法
2025年华为杯A题|通用神经网络处理器下的核内调度问题研究生数学建模|思路、代码、论文|持续更新中....
2025年华为杯A题|通用神经网络处理器下的核内调度问题研究生数学建模|思路、代码、论文|持续更新中....
581 1
|
6月前
|
算法 Python
【EI复现】考虑网络动态重构的分布式电源选址定容优化方法(Matlab代码实现)
【EI复现】考虑网络动态重构的分布式电源选址定容优化方法(Matlab代码实现)
224 0
|
7月前
|
机器学习/深度学习 数据采集 TensorFlow
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
391 0
|
8月前
|
存储 Linux 容器
【Container App】在容器中抓取网络包的方法
本文介绍在Azure Container App中安装tcpdump抓取网络包,并通过Storage Account上传抓包文件的方法。内容包括使用curl和nc测试外部接口连通性、长Ping端口、安装tcpdump、抓取网络包、以及通过crul命令上传文件至Azure Storage。适用于需要分析网络请求和排查网络问题的场景。
249 0
|
10月前
|
人工智能 算法 异构计算
阿里云基础网络技术5篇论文入选全球网络顶会NSDI
近日,阿里云基础网络技术5篇论文被NSDI 2025主会录用。研究涵盖大模型训练网络故障诊断、仿真、容器网络性能诊断、CDN流控算法智能选择及GPU解耦推理优化等领域。其中,《Evolution of Aegis》提出增强现有体系+训练过程感知的两阶段演进路线,显著降低故障诊断耗时;《SimAI》实现高精度大模型集群训练模拟;《Learning Production-Optimized Congestion Control Selection》通过AliCCS优化CDN拥塞控制;《Prism》设计全新GPU解耦推理方案;《ScalaCN》解决容器化RDMA场景性能问题。
536 7
阿里云基础网络技术5篇论文入选全球网络顶会NSDI