出品 | AI科技大本营(ID:rgznai100)
中文分词和词性标注是中文自然语言处理的两个基本任务。尽管以BERT为代表的预训练模型大行其道,但事实上,中文中基于全词覆盖 (whole word masking)的预训练模型比直接使用单字编码的效果更好,所以引入词信息可能会达到更好的效果。
同时,尤其在工业场景对分词有非常直接的诉求,比如,虽然字模型对于各种字的编码器能够达到非常好的效果,但是依然无法达到效率和性能的平衡,而且在很多场景下,需要进行人工干预及后处理。当前也没有比较好的一体化解决方案,而且中文分词普遍存在歧义和未登录词的难题。
基于此,创新工场近日公布的两篇论文各自提出了“键-值记忆神经网络的中文分词模型”和“基于双通道注意力机制的分词及词性标注模型”,将外部知识(信息)创造性融入分词及词性标注模型,有效剔除了分词“噪音”误导,大幅度提升了分词及词性标注效果。
这两篇论文均聚焦中文分词领域,将该领域近年来广泛使用的各数据集上的分数全部刷至新高。值得一提的是,这两篇论文已被ACL 2020收录。
两篇文章的作者有:华盛顿大学博士研究生、创新工场实习生田元贺,创新工场大湾区人工智能研究院执行院长宋彦,创新工场科研合伙人张潼,创新工场CTO兼人工智能工程院执行院长王咏刚等人。
在媒体沟通会上,宋彦详细解读了两篇论文的内容。
利用记忆神经网络,中文分词性能刷新五大数据集
第一篇论文《Improving Chinese Word Segmentation with Wordhood Memory Networks》中,他们提出一个基于键-值记忆神经网络的中文分词模型(WMSeg),该模型使用wordhood记忆神经网络(wordhood memory networks),来更好利用wordhood信息。
论文链接:
https://www.aclweb.org/anthology/2020.acl-main.734.pdf
中文分词目的是在中文的字序列中插入分隔符,将其切分为词。例如,“我喜欢音乐”将被切分为“我/喜欢/音乐”(“/”表示分隔符)。
中文语言因其特殊性,在分词时面临着两个主要难点。一是歧义问题。由于中文存在大量歧义,一般的分词工具在切分句子时可能会出错。例如,“部分居民生活水平”,其正确的切分应为“部分/居民/生活/水平”,但存在“分居”、“民生”等歧义词。“他从小学电脑技术”,正确的分词是:他/从小/学/电脑技术,但也存在“小学”这种歧义词。
二是未登录词问题。未登录词指的是不在词表,或者是模型在训练的过程中没有遇见过的词。例如经济、医疗、科技等科学领域的专业术语或者社交媒体上的新词,或者是人名。这类问题在跨领域分词任务中尤其明显。
基于键-值记忆神经网络的中文分词模型利用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》提供了一种基于双通道注意力机制的分词及词性标注模型。
论文链接:
https://arxiv.org/pdf/1912.07849.pdf
中文分词和词性标注是两个不同的任务。词性标注是在已经切分好的文本中,给每一个词标注其所属的词类,例如动词、名词、代词、形容词。词性标注对后续的句子理解有重要的作用。
在词性标注中,歧义仍然是个老大难的问题。例如,对于“他要向全班同学报告书上的内容”中,“报告书”的正确的切分和标注应为“报告_VV/书_N”。但由于“报告书”本身也是一个常见词,一般的工具可能会将其标注为“报告书_NN”。
句法标注本身需要大量的时间和人力成本。在以往的标注工作中,使用外部自动工具获取句法知识是主流方法。在这种情况下,如果模型不能识别并正确处理带有杂音的句法知识,很可能会被不准确的句法知识误导,做出错误的预测。
例如,在句子“他马上功夫很好”中,“马”和“上”应该分开(正确的标注应为“马_NN/上_NN”)。但按照一般的句法知识,却可能得到不准确的切分及句法关系,如“马上”。
针对这一问题,该论文提出了一个基于双通道注意力机制的分词及词性标注模型。该模型将中文分词和词性标注视作联合任务,可一体化完成。模型分别对自动获取的上下文特征和句法知识加权,预测每个字的分词和词性标签,不同的上下文特征和句法知识在各自所属的注意力通道内进行比较、加权,从而识别特定语境下不同上下文特征和句法知识的贡献。
这样一来,那些不准确的,对模型预测贡献小的上下文特征和句法知识就能被识别出来,并被分配小的权重,从而避免模型被这些有噪音的信息误导。
基于“双通道注意力机制”的分词及词性标注
即便自动获取的句法知识不准确,该模型仍能有效识别并利用这种知识。例如,将前文有歧义、句法知识不准确的句子(“他马上功夫很好”),输入该双通道注意力模型后,便得到正确的分词和词性标注结果。
分词及词性标注实例
为了测试该模型的性能,他们在一般领域和跨领域分别进行了实验。
一般领域实验结果显示,该模型在5个数据集(CTB5,CTB6,CTB7,CTB9,Universal Dependencies)的表现(F值)优于斯坦福大学的 CoreNLP 工具和伯克利大学的句法分析器。
即使是在与CTB词性标注规范不同的UD数据集中,该模型依然能吸收不同标注带来的知识,并使用这种知识,得到更好的效果。
CTB5(CTB5是使用最多的中文分词和词性标注的数据集)结果
而在跨领域的实验中,和斯坦福大学的 CoreNLP 工具相比,该模型也有近10个百分点的提升。
跨领域分词实验(对话测试集)的结果
主动引入和分辨知识,实现中文分词技术突破
中文分词在中国科研领域已经有几十年的历史。最初的中文分词是基于词典构建,词典的好坏会直接影响到最后分析的效果。如果某个新词在词典里没有,那么模型死活都分不出来。
这种方式的局限性还在于,词典和分词两件事情中间始终有一条鸿沟,尽管词典可以编撰得非常全面,但在处理分词的时候,因为每一句话都有上下文语境,往往会产生多种不同的切分方法,从而无法有效地在当前语境下对分词结构进行恰当的指导。
从2003年开始,分词方法出现了新的突破。研究人员提出了打标签的方式,通过给每一个字打词首、词尾、词中的标签,不再需要构建词典,大幅度提升了未登录词的召回效果。
到了2014年左右,深度学习和神经网络开始被广泛应用到中文分词中,打标签的模型从之前的浅层学习变成了深度学习,但算法本质没有发生变化,所以提升作用并不太大。
近两年,学界开始研究怎么在打标签的过程中加入外部知识和信息。创新工场的这两篇文章沿着这个路径,用记忆神经网络的方式记录对分词结果有影响的n元组,并引入对词性标注有影响的句法知识,将分词结果和自动获得的知识衔接起来,既发挥了神经网络的优势,也把知识的优势用上,实现了分词技术上小而有效的改进和突破。
那么,这与通过知识图谱的方法引入“知识”有什么不同?
宋彦告诉AI科技大本营,“知识”可以分为自动获取和人工构建两类,他们研究的是用自动知识和非监督的方法把知识加入到一个模型框架,但只要找到一个非常合适的表征方式,用知识图谱所构建的知识也可以用类似的方法加入到模型中,未来,他们会尝试把知识图谱或者类似的知识库加入到各类NLP的任务中。
宋彦总结了两篇论文的技术创新。一是在现有技术的基础上,建立了一个一体化的模型框架。通过非监督方法构建词表,融入把知识(信息),使用更高层次的句法知识,来帮助词性标注,起到'他山之石,可以攻玉’的效果。
二是主动吸收和分辨不同的外部知识(信息)。通过键-值记忆神经网络和双通道注意力机制,进行动态权重的分配,能够有效分辨知识,区分哪些是有效的,哪些是无效的。虽然这些知识是自动获取的、不准确的,但‘三个臭皮匠,顶个诸葛亮’,经过有效利用,总能凑出一些有用的信息。如何实现模型的主动吸收和分辨,就变得更加重要。
从研究到应用场景衔接俩看,中文分词和词性标注是最底层的应用,文本分类、情感分析,文本摘要、机器翻译等,分词都不可或缺。
宋彦表示,在应用场景下,新模型在广告匹配、内容推荐等其他NLP的应用端会提供比较好的基础结果,尤其在命名实体识别这样的特定任务,其结果可能会有效地提供一些命名实体识别的边界信息。
最后,他强调了他们的研究在跨领域场景的落地意义。“在很多情况下,我们要需要进行跨领域的实验,跨领域的实验往往面对目标领域没有数据,或数据没有标注等情况,我们的模型能够有效提升目标领域未登录词的召回率。”
目前,这两篇论文的工具都已经开源,以下链接中可以找到对应的所有代码和模型。
分词工具:https://github.com/SVAIGBA/WMSeg
分词及词性标注工具:https://github.com/SVAIGBA/TwASP
领取专属 10元无门槛券
私享最新 技术干货