2017年12月底,清华大学张钹院士做了一场题为《AI科学突破的前夜,教授们应当看到什么?》的精彩特邀报告。他认为,处理知识是人类所擅长的,而处理数据是计算机所擅长的,如果能够将二者结合起来,一定能够构建出比人类更加智能的系统。因此他提出,AI未来的科学突破是建立一种同时基于知识和数据的AI系统。
我完全赞同张钹老师的学术观点。最近一年里,我们在这方面也做了一些尝试,将语言知识库HowNet中的义原标注信息融入面向NLP的深度学习模型中,取得了一些有意思的结果,在这里整理与大家分享一下。
什么是HowNet
HowNet是董振东先生、董强先生父子毕三十年之功标注的大型语言知识库,主要面向中文(也包括英文)的词汇与概念[1]。HowNet秉承还原论思想,认为词汇/词义可以用更小的语义单位来描述。这种语义单位被称为“义原”(Sememe),顾名思义就是原子语义,即最基本的、不宜再分割的最小语义单位。在不断标注的过程中,HowNet逐渐构建出了一套精细的义原体系(约2000个义原)。HowNet基于该义原体系累计标注了数十万词汇/词义的语义信息。
例如“顶点”一词在HowNet有两个代表义项,分别标注义原信息如下,其中每个“xx|yy”代表一个义原,“|”左边为英文右边为中文;义原之间还被标注了复杂的语义关系,如host、modifier、belong等,从而能够精确地表示词义的语义信息。
顶点#1
DEF={Boundary|界限:host={entity|实体},modifier={GreaterThanNormal|高于正常:degree={most|最}}}
顶点#2
DEF={location|位置:belong={angular|角},modifier={dot|点}}
在NLP领域知识库资源一直扮演着重要角色,在英语世界中最具知名度的是WordNet,采用同义词集(synset)的形式标注词汇/词义的语义知识。HowNet采取了不同于WordNet的标注思路,可以说是我国学者为NLP做出的最独具特色的杰出贡献。HowNet在2000年前后引起了国内NLP学术界极大的研究热情,在词汇相似度计算、文本分类、信息检索等方面探索了HowNet的重要应用价值[2,3],与当时国际上对WordNet的应用探索相映成趣。
深度学习时代HowNet有什么用
进入深度学习时代,人们发现通过大规模文本数据也能够很好地学习词汇的语义表示。例如以word2vec[4] 为代表的词表示学习方法,用低维(一般数百维)、稠密、实值向量来表示每个词汇/词义的语义信息,又称为分布式表示(distributed representation,或embedding),利用大规模文本中的词汇上下文信息自动学习向量表示。我们可以用这些向量方便地计算词汇/词义相似度,能够取得比传统基于语言知识库的方法还好的效果。也正因为如此,近年来无论是HowNet还是WordNet的学术关注度都有显著下降,如以下两图所示。
中国期刊网(CNKI)统计HowNet学术关注度变化趋势
Semantic Scholar统计WordNet相关论文变化趋势
那么是不是说,深度学习时代以WordNet、HowNet为代表的语言知识库就毫无用处了呢?实际并非如此。实际上自word2vec刚提出一年后,我们 [5] 以及ACL 2015最佳学生论文 [6] 等工作,都发现将WordNet知识融入到词表示学习过程中,能够有效提升词表示效果。
虽然目前大部分NLP深度学习模型尚没有为语言知识库留出位置,但正由于深度学习模型data-hungry、black-box等特性,正使其发展遭遇不可突破的瓶颈。回顾最开始提及的张钹院士的观点,我们坚信AI未来的科学突破是建立一种同时基于知识和数据的AI系统。看清楚了这个大形势,针对NLP深度学习模型的关键问题就在于,利用什么知识,怎样利用知识。
在自然语言理解方面,HowNet更贴近语言本质特点。自然语言中的词汇是典型的符号信息,这些符号背后蕴藏丰富的语义信息。可以说,词汇是最小的语言使用单位,却不是最小的语义单位。HowNet提出的义原标注体系,正是突破词汇屏障,深入了解词汇背后丰富语义信息的重要通道。
在融入学习模型方面,HowNet具有无可比拟的优势。在WordNet、同义词词林等知识库中,每个词的词义是通过同义词集(synset)和定义(gloss)来间接体现的,具体每个词义到底什么意义,缺少细粒度的精准刻画,缺少显式定量的信息,无法更好为计算机所用。而HowNet通过一套统一的义原标注体系,能够直接精准刻画词义的语义信息;而每个义原含义明确固定,可被直接作为语义标签融入机器学习模型。
也许是由于HowNet采用了收费授权的政策,并且主要面向中文世界,近年来HowNet知识库有些淡出人们的视野。然而,对HowNet逐渐深入理解,以及最近我们在HowNet与深度学习模型融合的成功尝试,让我开始坚信,HowNet语言知识体系与思想必将在深度学习时代大放异彩。
我们的尝试
最近我们分别探索了词汇表示学习、新词义原推荐、和词典扩展等任务上,验证了HowNet与深度学习模型融合的有效性
融合义原知识的词汇表示学习论文:Yilin Niu, Ruobing Xie, Zhiyuan Liu, Maosong Sun. Improved Word Representation Learning with Sememes. In ACL, 2017.
下载:http://nlp.csai.tsinghua.edu.cn/~lzy/publications/acl2017_sememe.pdf 源码:https://github.com/thunlp/SE-WRL
我们考虑将词义的义原知识融入词汇表示学习模型中。早在2016年,我们组孙茂松教授就开展了这方面研究,相关工作以《借重于人工知识库的词和义项的向量表示:以 HowNet 为例》为题发表在全国计算语言学会议(CCL 2016)和《中文信息学报》上 [7]。这次ACL 2017的工作是这方面的进一步尝试。在该工作中,我们将HowNet的义原标注信息具象化为如下图所示的word-sense-sememe结构。需要注意的是,为了简化模型,我们没有考虑词义的义原结构信息,即我们将每个词义的义原标注看做一个无序集合。
HowNet义原标注知识的word-sense-sememe结构示意图
基于word2vec中的Skip-Gram模型,我们提出了SAT(sememe attention over target model)模型。与Skip-Gram模型只考虑上下文信息相比,SAT模型同时考虑单词的义原信息,使用义原信息辅助模型更好地“理解”单词。具体做法是,根据上下文单词来对中心词做词义消歧,使用attention机制计算上下文对该单词各个词义(sense)的权重,然后使用sense embedding的加权平均值表示单词向量。在词语相似度计算和类比推理两个任务上的实验结果表明,将义原信息融入词汇表示学习能够有效提升词向量性能。
SAT(Sememe Attention over Target Model)模型示意图
- 基于词汇表示的新词义原推荐
在验证了分布式表示学习与义原知识库之间的互补关系后,我们进一步提出,是否可以利用词汇表示学习模型,对新词进行义原推荐,辅助知识库标注工作。为了实现义原推荐,我们分别探索了矩阵分解和协同过滤等方法。
矩阵分解方法首先利用大规模文本数据学习单词向量,然后用已有词语的义原标注构建“单词-义原”矩阵,通过矩阵分解建立与单词向量匹配的义原向量。当给定新词时,利用新词在大规模文本数据得到的单词向量推荐义原信息。协同过滤方法则利用单词向量自动寻找与给定新词最相似的单词,然后利用这些相似单词的义原进行推荐。义原推荐的实验结果表明,综合利用矩阵分解和协同过滤两种手段,可以有效进行新词的义原推荐,并在一定程度上能够发现HowNet知识库的标注不一致现象。该技术将有利于提高HowNet语言知识库的标注效率与质量。
- 基于词汇表示和义原知识的词典扩展
论文:Xiangkai Zeng, Cheng Yang, Cunchao Tu, Zhiyuan Liu, Maosong Sun. Chinese LIWC Lexicon Expansion via Hierarchical Classification of Word Embeddings with Sememe Attention. In AAAI, 2018.
下载:http://nlp.csai.tsinghua.edu.cn/~lzy/publications/aaai2018_cliwc.pdf 源码:thunlp/Auto_CLIWC
最近,我们又尝试了利用词语表示学习与HowNet知识库进行词典扩展。词典扩展任务旨在根据词典中的已有词语,自动扩展出更多的相关词语。该任务可以看做对词语的分类问题。我们选用在社会学中享有盛名的LIWC词典(Linguistic Inquiry and Word Count)中文版来开展研究。LIWC中文版中每个单词都被标注层次化心理学类别。我们利用大规模文本数据学习每个词语的分布式向量表示,然后用LIWC词典单词作为训练数据训练分类器,并用HowNet提供的义原标注信息构建sememe attention。实验表明,义原信息的引入能够显著提升单词的层次分类效果。
基于Sememe Attention的词典扩展模型
ps. 值得一提的是,这三份工作都是本科生(牛艺霖、袁星驰、曾祥楷)为主完成的,模型方案都很简单,但都是第一次投稿就被ACL、IJCAI和AAAI录用,也可以看出国际学术界对于这类技术路线的认可。
未来展望
以上介绍的三项工作只是初步验证了深度学习时代HowNet语言知识库在某些任务的重要作用。孙茂松教授在《借重于人工知识库的词和义项的向量表示: 以 HowNet 为例》[7]结尾对这一技术路线有段精辟的论述:
几乎从零开始”(almost from scratch)是神经网络语言模型所标榜、推崇的一种学习方式,也是其大“秀”自己强大学习能力“肌肉”的一种展示方式。但是必须清醒地认识到,这种方式并不能包打天下,对某些类型的任务不是“自足”的(如本文的义项向量学习任务),也存在其“阿喀琉斯之踵”(如本文的低频词向量学习任务),再强大的力量也无法自己举起自己,必须借助“外力”才能摆脱其局限性。而各类人工知识库就是我们必须依赖同时也是可以依赖的“外力”。一个充分融合了人工知识库(理想状态应该是统筹了多个相关人工知识库,包括语言知识库和世界知识库)的神经网络语言模型能以一种无监督学习的方式坐收基本面上“几乎从零开始”和特定任务上“站在巨人的肩膀上”之利,往往能够避免或者大大缓解新的人工投入,从而取得事半功倍之效。
以HowNet语言知识库为代表的人类知识与以深度学习为代表的数据驱动模型如何深度融合,尚有许多重要的开放问题亟待探索与解答。我认为以下几个方向深具探索价值:
- 目前的研究工作仍停留在词法层面,对HowNet知识的应用亦非常有限。如何在以RNN/LSTM为代表的语言模型中有效融合HowNet义原知识库,并在自动问答、机器翻译等应用任务中验证有效性,具有重要的研究价值。是否需要考虑义原标注的结构信息,也值得探索与思考。
- 经过几十年的精心标注,HowNet知识库已有相当规模,但面对日新月异的信息时代,对开放域词汇的覆盖度仍存在不足。需要不断探索更精准的新词义原自动推荐技术,让计算机辅助人类专家进行更及时高效的知识库标注工作。此外,HowNet义原知识库规模宏大、标注时间跨度长,难免出现标注不一致现象,这将极大影响相关模型的效果,需要探索相关算法,辅助人类专家做好知识库的一致性检测和质量控制。
- HowNet知识库的义原体系是专家在不断标注过程中反思总结的结晶。但义原体系并非一成不变,也不见得完美无瑕。它应当随时间变化而演化,并随语言理解的深入而扩展。我们需要探索一种数据驱动与专家驱动相结合的手段,不断优化与扩充义原体系,更好地满足自然语言处理需求。
总之,HowNet知识库是进入深度学习时代后被极度忽视的一片宝藏,它也许会成为解决NLP深度学习模型诸多瓶颈的一把钥匙。在深度学习时代用HowNet搞事情,广阔天地,大有可为!
原文发布时间为:2018-01-21
本文作者:刘知远