深度学习推动NLP发展
近几年来,利用统计机器学习方法、端到端的深度学习方法,NLP取得了长足的发展。尤其近三年来,深度学习给 NLP 带来了新的进步,包括 Word2Vec、ELMO、OpenAI GPT、Glove、Fasttext等主流模型也在这一段时间内涌现。最近Google公司AI团队新发布的BERT模型,在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩:在全部两个衡量指标上全面超越人类,并且还在11种不同NLP测试中创出最佳成绩。可预见的是,BERT将为NLP带来里程碑式的改变,也是NLP领域近期最重要的进展。微软亚洲研究院开发的基于神经机器翻译的中英机器翻译系统,在 WMT2017 新闻领域测试数据集上的翻译质量达到了与人类专业翻译质量相媲美的水平。迁移学习等技术的应用,也使得NLP不同任务的训练模型可以迁移、共享,从而提高那些本身缺乏充足训练数据的自然语言处理任务的效果。
NLP需要回归语言本质
毫无疑问,深度学习是NLP有力的工具,在一个个单独的NLP任务中,深度学习表现优异。但同时,深度学习也有局限性,试图把所有的NLP任务当做端到端的序列学习,学习的过程是个黑盒子,很难用语言学知识进行解释。以机器阅读理解为例,其理解的过程是把潜在的答案和用户问题当做一个序列,与原始文本中的序列,进行匹配,将匹配度高的潜在答案作为结果输出,这个过程无法生成一个与阅读文本意思相关的答案,也无法给出其“中心思想”,就像小学考试中经常做的那样。提到“中心思想”,NLP研究者会说,这是另外一个任务--自动摘要,与回答问题不是一个任务,需要用到不同的算法和模型,进行不同的数据标注和训练。但是,从语言学的角度来说,它们都是对同一文本的理解,应该建立在某种共同的基础之上。这种基础应该与我们对语言的认识是符合的,也就是运用了语言的特征,符合语言的结构。
语言知识是NLP的“定海神针”,语言知识可以为算法提供基础的特征,可以为算法提供基本的数据资源,可以验证算法的合理性。最重要的是,只有充分利用语言知识,才能获得NLP的可解释性。
01 需要重视基本的语言特征
深度学习大神Yoshua Bengio最近提到:“当我说小猫时,它不仅仅是一个抽象的概念,我脑海会有猫的图像,我能想起猫跳到腿上后的感觉。所有这些感受是不容易用语言形容的。但这些感受是我说话时随之而来的,所有这些对于理解句子来说是非常重要的。单纯的字符是无法体现这些感受,这些问题还没有得到解决,BERT 也没有解决这个问题,而且只针对文字的训练是不能解决这些问题的。”
显然,语言的特征是抽象的,它不仅仅是我们看到的一个个字或词的形式(字形或词形),而应该是一个词语所表达的全部内涵和外延。