文章作者:刘知远 清华大学 副教授
自然语言理解本质是结构预测
要搞清楚自然语言理解难在哪儿,先看自然语言理解任务的本质是什么。作为人工智能关注的三大信息类型(语音、视觉、语言)之一,自然语言文本是典型的无结构数据,由语言符号(如汉字)序列构成。要实现对自然语言的表意的理解,需要建立对该无结构文本背后的语义结构的预测。因此,自然语言理解的众多任务,包括并不限于中文分词、词性标注、命名实体识别、共指消解、句法分析、语义角色标注等,都是在对文本序列背后特定语义结构进行预测。例如,中文分词就是在原本没有空格分隔的句子中增加空格或其他标识,将句子中每个词的边界标记出来,相当于添加了某些结构化语义信息到这个文本序列上。
面向不同NLP任务,人们制定不同的待预测的语义结构空间:文本分类是最简单的情形,即预定义的类别体系,最常见的如情感分类是postive、neutral、negative三类;中文分词是词边界的标记;词性标注是句子中每个词的词性标签(如名词、动词、形容词、副词、连词、介词等);命名实体识别是标记哪些词(或多词)是实体名及其实体类型(如人名、地名、机构名等);共指消解是标记哪些词在做指代以及指代的是前面出现的哪个概念或实体;句法分析则是将句子背后的句法树结构或依存结构预测出来。
自然语言理解的关键是语义表示
不过,以上NLP任务都只是在不断“逼近”对文本的理解,是对文本语义的局部表示。要实现对文本的完整理解,需要建立更完备的语义结构表示空间,这种更完备的语义表示经常成为上述NLP任务进行结构预测的依据。
在统计学习时代,一般采用符号表示(Symbol-based Representation)方案,即每个词都看做互相独立的符号。例如,词袋模型(Bag-of-Words,BOW)是最常用的文本表示方案,忽略文本中词的出现顺序信息,广泛用于文本分类、信息检索等任务。N-Gram也是基于符号表示的语言模型,与BOW模型相比,将句子中词的出现顺序考虑了进来,曾在机器翻译、文本生成、信息检索等任务中广泛使用。
到深度学习时代,一般采用分布式表示(Distributed Representation或Embeddings)方案,每个语言单元(包括但不限于字、词、短语、句子、文档)都用一个低维稠密向量来表示它们的语义信息。分布式表示是深度学习和神经网络的关键技术。分布式表示方案是受到了人脑神经机制的启发,基本思想是[2]:
Each entity is represented by a pattern of activity distributed over many computing elements , and each computing element is involved in representing many different entities.
很大程度上ÿ