自然语言是人类独有的智慧结晶。自然语言处理(Natural Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向,旨在研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。用自然语言与计算机进行通信,有着十分重要的实际应用意义,也有着革命性的理论意义。由于理解自然语言,需要关于外在世界的广泛知识以及运用操作这些知识的能力,所以自然语言处理,也被视为解决人工智能完备(AI-complete)的核心问题之一。对自然语言处理的研究也是充满魅力和挑战的。
自然语言处理的困难关键在于消除歧义问题,如词法分析、句法分析、语义分析等过程中存在的歧义问题,简称为消歧。而正确的消歧需要大量的知识,包括语言学知识(如词法、句法、语义、上下文等)和世界知识(与语言无关)。由于歧义的存在给自然语言处理带来两个主要困难。
首先,当语言中充满了大量的歧义,分词难度很大,同一种语言形式可能具有多种含义。特别是在处理中文单词的过程中,由于中文词与词之间缺少天然的分隔符,因此文字处理比英文等西方语言多一步确定词边界的工序,即“中文自动分词”任务。通俗地说就是要由计算机在词与词之间自动加上分隔符,从而将中文文本切分为独立的单词。例如 “昨天有沙尘暴”这句话带有分隔符的切分文本是“昨天|有|沙尘暴”。自动分词处于中文自然语言处理的底层,意味着它是理解语言的第一道工序,但正确的单词切分又需要取决于对文本语义的正确理解。这形成了一个“鸡生蛋、蛋生鸡”的问题,成为自然语言处理的第一条拦路虎。
除了在单个词级别分词和理解存在难度外,在短语和句子级别也容易存在歧义。例如 “出口冰箱”可以理解为动宾关系(从国内出口了一批冰箱),也可以理解为偏正关系(从国内出口的冰箱);又如在句子级别,“做化疗的是她的妈妈”可以理解为她妈妈生病了需要做化疗,也可以理解为她妈妈是医生,帮别人做化疗。
其次,消除歧义所需要的知识在获取、表达以及运用上存在困难。由于语言处理的复杂性,合适的语言处理方法和模型难以设计。在试图理解一句话的时候,即使不存在歧义问题,我们也往往需要考虑上下文的影响。所谓的“上下文”指的是当前所说这句话所处的语言环境,包括说话人所处的环境,或者是这句话的前几句话或者后几句话等。以“小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.”,意思是“伏特加酒是浓的,但肉却腐烂了”。导致翻译偏差的根本问题,在于机器翻译系统对于英语成语并无了解,仅仅是从字面上进行翻译,结果失之毫厘,谬之千里。
中培作为国内资深IT教育机构,自然语言处理(NLP)学科自开设以来就广受好评。如果你也想学习自然语言处理(NLP),跟着老师学习是最快的捷径。可以报名我们的12月20日-24日在上海举办的公开课,名师大咖带领你走进自然语言处理(NLP)精彩世界,避免走弯路!
想了解更多IT资讯,请访问中培伟业官网:中培伟业