AICon全球人工智能与机器学习技术大会周四开幕,点击查看完整日程>> 了解详情
写点什么

中文 NLP 新进展:创新工场提出记忆神经网络与双通道注意力机制,提升分词标注效果

  • 2020 年 7 月 09 日
  • 本文字数:4575 字

    阅读完需:约 15 分钟

中文NLP新进展:创新工场提出记忆神经网络与双通道注意力机制,提升分词标注效果

近日,来自创新工场大湾区人工智能研究院的两篇论文入选自然语言处理领域(NLP)顶级学术会议 ACL 2020。这两篇论文均聚焦中文分词领域,是深度学习引入知识后的有益尝试,将该领域近年来广泛使用的各数据集上的分数全部刷至新高,在工业中也有着可观的应用前景。


分词及词性标注是中文自然语言处理的基本任务,尤其在工业场景对分词有非常直接的诉求,但当前没有比较好的一体化解决方案,而且中文分词普遍存在歧义和未登录词的难题。


基于此,两篇论文各自提出了“键-值记忆神经网络的中文分词模型”和“基于双通道注意力机制的分词及词性标注模型”,将外部知识(信息)创造性融入分词及词性标注模型,有效剔除了分词“噪音”误导,大幅度提升了分词及词性标注效果。



“Improving Chinese Word Segmentation with Wordhood Memory Networks”



“Joint Chinese Word Segmentation and Part-of-speech Tagging via Two-way Attentions of Auto-analyzed Knowledge”


两篇文章的作者有:华盛顿大学博士研究生、创新工场实习生田元贺,创新工场大湾区人工智能研究院执行院长宋彦,创新工场科研合伙人张潼,创新工场 CTO 兼人工智能工程院执行院长王咏刚等人。


利用记忆神经网络,将中文分词性能刷到历史新高

中文分词目的是在中文的字序列中插入分隔符,将其切分为词。例如,“我喜欢音乐”将被切分为“我/喜欢/音乐”(“/”表示分隔符)。


中文语言因其特殊性,在分词时面临着两个主要难点。一是歧义问题,由于中文存在大量歧义,一般的分词工具在切分句子时可能会出错。例如,“部分居民生活水平”,其正确的切分应为“部分/居民/生活/水平”,但存在“分居”、“民生”等歧义词。“他从小学电脑技术”,正确的分词是:他/从小/学/电脑技术,但也存在“小学”这种歧义词。


二是未登录词问题。未登录词指的是不在词表,或者是模型在训练的过程中没有遇见过的词。例如经济、医疗、科技等科学领域的专业术语或者社交媒体上的新词,或者是人名。这类问题在跨领域分词任务中尤其明显。


对此,《Improving Chinese Word Segmentation with Wordhood Memory Networks》这篇论文提出了基于键-值记忆神经网络的中文分词模型。


该模型利用 n 元组(即一个由连续 n 个字组成的序列,比如“居民”是一个 2 元组,“生活水平”是一个 4 元组)提供的每个字的构词能力,通过加(降)权重实现特定语境下的歧义消解。并通过非监督方法构建词表,实现对特定领域的未标注文本的利用,进而提升对未登录词的识别。


例如,在“部分居民生活水平”这句话中,到底有多少可能成为词的组块?单字可成词,如“民”;每两个字的组合可能成词,如“居民”;甚至四个字的组合也可能成词,例如“居民生活”。


“民” → 单字词

“居” → 词尾

生”→ 词首

“居生活” → 词中

根据构词能力,找到所有的成词组合



把这些可能成词的组合全部找到以后,加入到该分词模型中。通过神经网络,学习哪些词对于最后完整表达句意的帮助更大,进而分配不同的权重。像“部分”、“居民”、“生活”、“水平”这些词都会被突出出来,但“分居”、“民生”这些词就会被降权处理,从而预测出正确的结果。



键-值记忆神经网络分词模型


在“他从小学电脑技术” 这句话中,对于有歧义的部分“从小学”(有“从/小学”和“从小/学”两种分法),该模型能够对“从小”和“学”分配更高的权重,而对错误的 n 元组——“小学”分配较低的权重。



为了检验该模型的分词效果,论文进行了严格的标准实验和跨领域实验。


实验结果显示,该模型在 5 个数据集(MSR、PKU、AS、CityU、CTB6)上的表现,均达了最好的成绩(F 值越高,性能越好)。(注:所选择的五个数据集是中文分词领域目前全世界唯一通用的标准数据集)



创新工场大湾区人工智能研究院执行院长宋彦表示,与前人的模型进行比较发现,该模型在所有数据集上的表现均超过了之前的工作。



和前人工作的比较


在跨领域实验中,论文使用网络博客数据集(CTB7)测试。实验结果显示,在整体 F 值以及未登陆词的召回率上都有比较大提升。



“双通道注意力机制”,有效剔除“噪音”误导

第二篇论文《Joint Chinese Word Segmentation and Part-of-speech Tagging via Two-way Attentions of Auto-analyzed Knowledge》提供了一种基于双通道注意力机制的分词及词性标注模型。


中文分词和词性标注是两个不同的任务。词性标注是在已经切分好的文本中,给每一个词标注其所属的词类,例如动词、名词、代词、形容词。词性标注对后续的句子理解有重要的作用。


在词性标注中,歧义仍然是个老大难的问题。例如,对于“他要向全班同学报告书上的内容”中,“报告书”的正确的切分和标注应为“报告_VV/书_N”。但由于“报告书”本身也是一个常见词,一般的工具可能会将其标注为“报告书_NN”。



利用句法知识进行正确的词性标注


句法标注本身需要大量的时间和人力成本。在以往的标注工作中,使用外部自动工具获取句法知识是主流方法。在这种情况下,如果模型不能识别并正确处理带有杂音的句法知识,很可能会被不准确的句法知识误导,做出错误的预测。


例如,在句子“他马上功夫很好”中,“马”和“上”应该分开(正确的标注应为“马_NN/上_NN”)。但按照一般的句法知识,却可能得到不准确的切分及句法关系,如“马上”。



斯坦福大学的自动句法分析工具结果,分成了“马上”


针对这一问题,该论文提出了一个基于双通道注意力机制的分词及词性标注模型。该模型将中文分词和词性标注视作联合任务,可一体化完成。模型分别对自动获取的上下文特征和句法知识加权,预测每个字的分词和词性标签,不同的上下文特征和句法知识在各自所属的注意力通道内进行比较、加权,从而识别特定语境下不同上下文特征和句法知识的贡献。


这样一来,那些不准确的,对模型预测贡献小的上下文特征和句法知识就能被识别出来,并被分配小的权重,从而避免模型被这些有噪音的信息误导。



基于“双通道注意力机制”的分词及词性标注


即便在自动获取的句法知识不准确的时候,该模型仍能有效识别并利用这种知识。例如,将前文有歧义、句法知识不准确的句子(“他马上功夫很好”),输入该双通道注意力模型后,便得到了正确的分词和词性标注结果。



分词及词性标注实例


为了测试该模型的性能,论文在一般领域和跨领域分别进行了实验。


一般领域实验结果显示,该模型在 5 个数据集(CTB5,CTB6,CTB7,CTB9,Universal Dependencies)的表现(F 值)均超过前人的工作,也大幅度超过了斯坦福大学的 CoreNLP 工具,和伯克利大学的句法分析器。


即使是在与 CTB 词性标注规范不同的 UD 数据集中,该模型依然能吸收不同标注带来的知识,并使用这种知识,得到更好的效果。



该模型在所有数据集上均超过了之前的工作



CTB5(CTB5 是使用最多的中文分词和词性标注的数据集)结果


而在跨领域的实验中,和斯坦福大学的 CoreNLP 工具相比,该模型也有近 10 个百分点的提升。



跨领域分词实验(对话测试集)的结果


主动引入和分辨知识,实现中文分词技术突破

中文分词在中国科研领域已经有几十年的历史。最初的中文分词是基于词典构建,词典的好坏会直接影响到最后分析的效果。如果某个新词在词典里没有,那么模型是死活都分不出来的。


这种方式的局限性还在于,词典和分词两件事情中间始终有一条鸿沟,尽管词典可以编撰得非常全面,但在处理分词的时候,因为每一句话都有上下文语境,往往会产生多种不同的切分方法,从而无法有效地在当前语境下对分词结构进行恰当的指导。


从 2003 年开始,分词方法出现了新的突破。研究人员提出了打标签的方式,通过给每一个字打词首、词尾、词中的标签,不再需要构建词典,大幅度提升了未登录词的召回效果。


到了 2014 年左右,深度学习和神经网络开始被广泛应用到中文分词中,打标签的模型从之前的浅层学习变成了深度学习,但算法本质没有发生变化,所以提升作用并不太大。


近两年,学界开始研究怎么在打标签的过程中加入外部知识和信息。创新工场的这两篇文章就是沿着这个路径,用记忆神经网络的方式记录对分词结果有影响的 n 元组,并引入对词性标注有影响的句法知识,将分词结果和自动获得的知识衔接起来,既发挥了神经网络的优势,也把知识的优势用上,实现了分词技术上小而有效的改进和突破。


宋彦表示,“从技术创新的角度,我们的贡献主要有两点。一是在现有技术的基础上,建立了一个一体化的模型框架,使用非监督方法构建词表,并把知识(信息)融入进来,使用更高层次的句法知识,来帮助词性标注,起到’他山之石,可以攻玉’的效果。”


“二是主动吸收和分辨不同的外部知识(信息)。通过键-值记忆神经网络和双通道注意力机制,进行动态权重的分配,能够有效分辨知识,区分哪些是有效的,哪些是无效的。虽然这些知识是自动获取的、不准确的,但‘三个臭皮匠,顶个诸葛亮’,经过有效利用,总能凑出一些有用的信息。如何实现模型的主动吸收和分辨,就变得更加重要。”


据了解,今年的 ACL 大会,在分词领域一共收录了 18 篇论文,创新工场人工智能工程院同时有 2 篇入选,也表现出 ACL 官方对这一贡献的认可。


跨领域分词能力,提升工业应用效率

中文分词和词性标注是最底层的应用,对于接下来的应用和任务处理非常重要。例如对于文本分类、情感分析,文本摘要、机器翻译等,分词都是不可或缺的基本“元件”。


宋彦表示,做此项研究的目的是主要为了拓展其工业场景的应用,正确的分词能够平衡公司应用开发的效率和性能,同时方便人工干预及(预)后处理。


“在工业场景使用的时候,跨领域的模型能力是一个非常直接的诉求。”宋彦表示,在某个领域的训练模型,大概率也需要应用到其他领域。


“如何在新领域缺少数据,或者新领域只有少量未标注数据的情况下,实现模型的冷启动,依然是项巨大的挑战。如果能利用外部知识,提高模型性能,就能有效地召回很多在训练集中没有出现过的新词。”


例如搜索引擎的广告系统,最初也是通过组词匹配的方式,在某个特定领域训练其分词模型,但在进入一个新的领域时,例如从新闻领域进入医疗领域或体育领域,效果往往会大打折扣,甚至频频出错。


而使用跨领域特性后,广告系统在进入新领域时,便无需额外的数据,就可以对它进行比较准确的分词和标注,从而有效匹配广告和客户,大大提升系统运行的效率和稳定性。


目前,这两篇论文的工具都已经开源,在下面两个链接中,可以找到对应的所有代码和模型:


分词工具:


https://github.com/SVAIGBA/WMSeg


分词及词性标注工具:


https://github.com/SVAIGBA/TwASP


2020 年 7 月 09 日 14:431470
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 216.7 次阅读, 收获喜欢 1226 次。

关注

评论

发布
暂无评论
发现更多内容

RPC的通信Netty的底层是Nio,在一家公司干多长时间跳槽才合适

Java 程序员 后端

spring教程,java大学实用教程第四版作业题,中高级Java开发面试题

Java 程序员 后端

spring教程,spring框架菜鸟教程,Java重点知识点

Java 程序员 后端

netty实战pdf,拉钩教育java就业集训班,Java开发热门前沿知识

Java 程序员 后端

rocketmq原理解析,尚硅谷深圳校区,万分膜拜!

Java 程序员 后端

springboot实战项目源码,java算法视频百度云盘,阿里P8亲自讲解

Java 程序员 后端

SpringBoot,黑马java视频教程,绝对干货

Java 程序员 后端

springcloud教程入门,极客时间kafka,4年小Java的心路历程

Java 程序员 后端

oppoJava面试题,开课吧高级架构师10期咋样,正式加入字节跳动

Java 程序员 后端

Redis缓存:尚硅谷springboot百度云,Java中高级面试题总结

Java 程序员 后端

springcloud百度网盘,牛客网面试题,Java面试高频知识点

Java 程序员 后端

Spring是怎样巧用三级缓存解决循环依赖的,nginx实战百度网盘,面试必问!

Java 程序员 后端

springboot教学视频,mysql破解版百度云,微盟Java笔试题

Java 程序员 后端

springcloud架构源码,慕课网极客学院,总结到位

Java 程序员 后端

spring教程,java程序设计基础教程,OMG

Java 程序员 后端

mysql的面试题及答案,尚硅谷与达内哪家好,Java虚拟机学习集锦是我攒来的

Java 程序员 后端

netty框架教程,mysql数据库教程视频指导版,HTTPS面试常问全解析

Java 程序员 后端

Redis灵魂14问,Java编程从入门到实践

Java 程序员 后端

RocketMQ生产部署架构设计,Java面试超详细知识点

Java 程序员 后端

springboot思维导图,尚学堂java300集,从头到尾,都是精华

Java 程序员 后端

tomcat服务器面试题,java项目开发实训教程,Java编程教程视频下载

Java 程序员 后端

netty架构图,linux教程视频,缓存+一致性哈希+分布式面试题

Java 程序员 后端

netty源码剖析与实战百度云,牛客网搜题软件,字节跳动高级Java开发面试

Java 程序员 后端

springmvc原理图解,尚硅谷ajax源码,Redis宕机数据丢失解决方案

Java 程序员 后端

Nginx如何支持HTTPS,“重金求来”Alibaba技术官并发编程笔记

Java 程序员 后端

springcloud入门,动力节点与尚学堂,月薪30K

Java 程序员 后端

Spring容器如何解决循环依赖的原理,Java编程教学视频

Java 程序员 后端

spring全方位深入探索,2021Java开发社招面试解答之性能优化

Java 程序员 后端

spring教程下载,linux入门基础教程,2021Java者未来的出路在哪里

Java 程序员 后端

spring源码视频教程,java尚学堂,Java项目视频

Java 程序员 后端

RocketMQ避坑指南,java入门教程全套,实战篇

Java 程序员 后端

数据cool谈(第2期)寻找下一代企业级数据库

数据cool谈(第2期)寻找下一代企业级数据库

中文NLP新进展:创新工场提出记忆神经网络与双通道注意力机制,提升分词标注效果-InfoQ