上一期,我们为你介绍了语音识别是人机交互的入口,这一期我们介绍什么是自然语言处理,以及自然语言处理的难点。
《圣经》里有一个故事讲巴比伦人想建造一座塔直通天堂。建塔的人都说着同一种语言,心意相通、齐心协力。上帝看到人类竟然敢做这种事情,就让他们的语言变得不一样。因为人们听不懂对方在讲什么,于是大家整天吵吵闹闹,无法继续建塔。后来人们把这座塔叫作“巴别塔”,而“巴别”的意思就是“分歧”。
虽然巴别塔没有建成,但让全世界拥有相通的语言一直是萦绕在人们心中的梦想。但人工智能技术实现了用机器翻译不同的语言,从最初只能翻译单词到现在可以整句或通篇翻译,近几年用语音都可以直接进行翻译。有了它你可以行走到世界上任何一个国家,即使看不懂文字,听不懂语言,也能够借助机器翻译与他人进行交流和沟通,不必再为相互不能理解而困扰。
然而,机器翻译的核心,就是自然语言处理(Natural Language Processing),简称:NLP。
什么是自然语言处理?
简单地说,自然语言处理就是用人工智能来处理、理解以及运用人类语言。它体现了真正意义上的“人工智能”,百度机器学习专家余凯说过“听与看,说白了就是阿猫和阿狗都会的,而只有语言才是人类独有的”,也就是说只有当计算机具备了处理自然语言的能力时,才算实现了真正的智能。
自然语言处理技术在生活中应用广泛,例如机器翻译、手写体和印刷体字符识别、语音识别后实现文字转换、信息检索、抽取与过滤、文本分类与聚类、舆情分析和观点挖掘等。它们分别应用了自然语言处理当中的语法分析、语义分析、篇章理解等技术,是人工智能界最前沿的研究领域。时至今日AI在这些技术领域的发展已经把识别准确率从70%提高到了90%以上,但只有当准确率提高到99%及以上时,才能被认定为自然语言处理的技术达到人类水平,这仍然是巨大的困难和挑战。
自然语言处理存在哪些主要困难?
自然语言处理的困难关键在于消除歧义问题,如词法分析、句法分析、语义分析等过程中存在的歧义问题,简称为消歧。而正确的消歧需要大量的知识,包括语言学知识(如词法、句法、语义、上下文等)和世界知识(与语言无关)。由于歧义的存在给自然语言处理带来两个主要困难。
首先,当语言中充满了大量的歧义,分词难度很大,同一种语言形式可能具有多种含义。特别是在处理中文单词的过程中,由于中文词与词之间缺少天然的分隔符,因此文字处理比英文等西方语言多一步确定词边界的工序,即“中文自动分词”任务。通俗地说就是要由计算机在词与词之间自动加上分隔符,从而将中文文本切分为独立的单词。例如 “昨天有沙尘暴”这句话带有分隔符的切分文本是“昨天|有|沙尘暴”。自动分词处于中文自然语言处理的底层,意味着它是理解语言的第一道工序,但正确的单词切分又需要取决于对文本语义的正确理解。这形成了一个“鸡生蛋、蛋生鸡”的问题,成为自然语言处理的第一条拦路虎。
除了在单个词级别分词和理解存在难度外,在短语和句子级别也容易存在歧义。例如 “出口冰箱”可以理解为动宾关系(从国内出口了一批冰箱),也可以理解为偏正关系(从国内出口的冰箱);又如在句子级别,“做化疗的是她的妈妈”可以理解为她妈妈生病了需要做化疗,也可以理解为她妈妈是医生,帮别人做化疗。
其次,消除歧义所需要的知识在获取、表达以及运用上存在困难。由于语言处理的复杂性,合适的语言处理方法和模型难以设计。
在试图理解一句话的时候,即使不存在歧义问题,我们也往往需要考虑上下文的影响。所谓的“上下文”指的是当前所说这句话所处的语言环境,包括说话人所处的环境,或者是这句话的前几句话或者后几句话等。以“小A打了小B,因此我惩罚了他”为例。在其中的第二句话中的“他”是指代“小A”还是“小B”呢?要正确理解这句话,我们就要理解上句话“小A打了小B”意味着“小A”做得不对,因此第二句中的“他”应当指代的是“小A”。由于上下文对于当前句子的暗示形式是多种多样的,因此如何考虑上下文影响问题是自然语言处理中的主要困难之一。
此外,正确理解人类语言还要有足够的背景知识,特别是对于成语和歇后语的理解。比如在英语中“The spirit is willing but the flesh is weak.”是一句成语,意思是“心有余而力不足”。但是曾经某个机器翻译系统将这句英文翻译到俄语,然后再翻译回英语的时候,却变成了“The Voltka is strong but the meat is rotten.”,意思是“伏特加酒是浓的,但肉却腐烂了”。导致翻译偏差的根本问题,在于机器翻译系统对于英语成语并无了解,仅仅是从字面上进行翻译,结果失之毫厘,谬之千里。
小结:
自然语言处理就是用人工智能来处理、理解以及运用人类语言。它在生活中具有广泛的应用,今天在一些领域(比如机器翻译)其处理准确率已经超过90%,但要达到人类水平,仍然存在较大难度。
消除歧义是目前自然语言处理的最大困难,它的根源是人类语言的复杂性和语言描述的外部世界的复杂性。人类语言承担着人类表达情感、交流思想、传播知识等重要功能,因此需要具备强大的灵活性和表达能力,而理解语言所需要的知识又是无止境的。那么目前人们是如何尝试进行自然语言处理的呢?
预告:
下一篇,我们将结合2017年自然语言处理的最新发展趋势来介绍对抗神经网络——Gans。