中国自然语言处理白皮书Word文档格式.docx
《中国自然语言处理白皮书Word文档格式.docx》由会员分享,可在线阅读,更多相关《中国自然语言处理白皮书Word文档格式.docx(15页珍藏版)》请在冰点文库上搜索。
有的充满期待,希望未来自然语言处理技术能产生越来越多有价值的应用系统;
也有的表示担心,担心技术的发展会对人们自身的工作机会造成冲击。
那么,自然语言处理当前的技术和应用状况究竟如何,已经取得了什么进展、未来的发展会如何?
人们的什么期待可能变成现实,什么担心其实还没有必要呢?
本白皮书力图对这两个问题作出部分回应。
本白皮书首先对目前研究人员在自然语言处理技术及应用方面主要做了什么、做得怎么样进行一些介绍。
但是,本白皮书并不准备也不可能做成一个自然语言处理领域的全面技术综述,而只是分别选择自然语言处理领域的一个典型技术和一个典型应用进行介绍和分析。
之后,就如何认识当前以及未来的自然语言处理技术和系统给出我们的观点。
白皮书力求不用太多的专业术语,而是以较为浅显的语言进行阐述。
全书的内容安排如下:
在第二章是汉语切分技术的发展介绍和现状分析,第三章是人机对话系统的发展介绍和现状分析,第四章是总结,给出我们的观点。
第2章汉语切分
自然语言处理领域有许多重要的基础技术,这些技术对自然语言处理应用系统的性能具有重大的影响,汉语切分就是其中之一。
不同于英语,汉语是以字串的形式出现,词与词之间没有空格,自动识别字串中的词即为汉语切分。
至少在当前,汉语切分是汉语信息处理的基础,大多数其他汉语信息处理技术和应用都会在汉语切分的基础上进行。
本章在第一节基于汉语切分的评测结果概要介绍当前汉语切分技术的总体性能,在第二节通过实例具体介绍其中的主要难点问题,最后是小结。
2.1汉语切分的性能
汉语切分是汉语语言信息处理技术中开展得最早的研究主题之一。
不仅仅是在国内、在国际上也有很多学者加入到这个主题的研究中。
国际上最有影响的计算语言学联合会ACL(AssociationofComputationalLinguistics)下设的特殊兴趣小组SIGHAN(SpecialInterestGroupofHAN)从2003年开始组织汉语切分技术的国际评测,一直持续到现在。
从该系列评测的结果我们可以大致了解当前汉语切分技术的现状。
表2-1到2-3列出了SIGHAN汉语切分技术评测的部分结果数据[1]-[4]。
由于没有一个评测数据在各届评测中都一直被使用,而不同评测数据之间的结果难以直接比较。
因此,这些表是按不同评测数据分别列出的。
表中列出的都是历年参加评测的所有系统中取得的最好成绩。
性能指标一般包括准确率P(Precision)、召回率R(Recall)、F测度(F-measure)、词典内词的召回率Rin以及未登录词的召回率Roov。
这些指标从不同侧面反映技术的性能,所有指标都是值越高越好。
表2-12003和2005年北京大学评测数据上的最好成绩
P
R
F
Rin
Roov
2003
0.956
0.963
0.959
0.975
0.799
2005
0.969
0.968
0.976
0.838
表2-22005和2006年微软亚洲研究院评测数据上的最好成绩
0.965
0.98
0.972
0.99
0.59
2006
0.978
0.979
0.985
0.839
表2-32003、2005和2006年香港城市大学评测数据上的最好成绩
0.967
0.962
0.806
2006
0.977
0.984
0.840
表2-42010年SIGHAN评测中系统A在各领域的成绩
领域
文学
0.953
0.958
0.955
0.981
0.655
计算机
0.929
0.948
0.986
0.735
医药
0.92
0.951
0.935
0.67
财经
0.95
0.964
0.957
0.983
0.763
2010年SIGHAN汉语切分技术评测的评测数据来自四个领域:
文学、计算机、医药和财经。
表2-4列出了该年某个参赛系统A的成绩[5]。
系统A在文学领域的数据上取得了所有参赛队伍中的最佳成绩,但是该系统在其他三个领域的成绩均非最佳,在计算机领域取得最好成绩的是另一个系统,性能为P=0.95,R=0.95,F=0.95。
也就是说没有一个队在所有不同领域都取得最好成绩。
2012年的SIGHAN汉语切分技术评测的评测数据来自微博[6]。
性能最好的系统取得了P=0.946、R=0.9496和F=0.9478的成绩。
但是,整句完全切分正确的比例只有44.88%。
2014年的SIGHAN汉语切分技术评测的评测数据采用的是多领域混合数据[7]。
性能最好的系统取得了P=0.9681、R=0.9779和F=0.9730的成绩。
上述性能的取得多采用基于字的序列标注模型,如条件随机场CRF(ConditionalRandomField)。
2014年之后,出现了一些基于深层神经网络DNN(DeepNeuralNetwork)技术的汉语切分模型[8][9][10]。
不过,从目前的情况来看,基于DNN的技术与之前的技术相比,尚未取得很显著的性能提高。
例如,在NLPCC2015数据集上的评测结果如表2-5所示[10]。
可以看到,基于DNN模型的汉语切分技术的性能与之前的CRF模型相比有所提高,但与DNN在图像、语音信息处理上取得的重大进展相比,还是比较小的。
表2-5CRF模型与DNN模型在NLPCC2015数据集上的性能比较
模型
FDNLP(CRF)
94.1
93.9
94.0
GRNN(一种DNN模型)
94.7
94.8
2.2汉语切分的问题
上面一节给出了一些汉语切分技术的宏观结果数据,本节介绍一些在进行汉语切分时具体会遇到的问题。
目前已知的汉语切分难点问题主要存在于两个方面:
切分歧义和未登录词。
切分歧义主要分为两类:
交集歧义和组合歧义。
在简单情况下,交集歧义是指连续出现的三个字中,中间的字既可以和前面的字组成词,也可以和后面的字组成词,如(s1)和(s2)中的三个字“地面积”。
城区地面积水已消除。
(s1)
我国多数湿地面积无明显变化。
(s2)
在(s1)中,“地面积”三个字中间的“面”字与前面的“地”组成一个词“地面”;
而在(s2)中,“面”字与后面的“积”组成一个词“面积”。
中间的字和前后哪个字组合成词,需要依据上下文来确定。
组合歧义是指连续出现的两个字可能是两个词,也可能是一个词,如(s3)和(s4)中的“把手”。
驯兽师把手伸进鳄鱼嘴里。
(s3)
为您找到最新的门把手报价。
(s4)
在(s3)中,“把手”两个字是两个词;
而在(s4)中,“把手”两个字组成一个词。
同样,这两个字究竟是一个词还是两个词,需要依据上下文才能确定。
目前,对于上述两类歧义问题,研究人员已经提出了诸多解决办法。
大部分有效的解决方法都是基于统计技术的,虽然有的技术已经获得很好的性能,但是,迄今为止,还并不存在一种能保证在任何情况下都取得正确结果的技术。
未登录词指的是未在词典中出现过的词。
比如,随着新事物的不断出现,产生了“博客”、“微博”、“沪港通”等等原来并不存在的新词;
也由于人们在语言上的不断创造,出现了“给力”、“喜大普奔”、“人艰不拆”等网络流行语。
为处理这类问题出现了诸多的新词发现技术。
更大量的未登录词来源于各种专有名词(通常称为命名实体),如人名(包括中国人名、外国人名、网名等等)、地名、组织机构名、商品名、书名、电影名等等。
这些未登录词在不断产生,且在使用中也可能伴随切分歧义,导致切分任务变得更为复杂。
例如:
“他沉浸在世博园满眼的绿色中”中,出现了“世博园”这个新的专用名词,而且该词的第一个字“世”与前一个字“在”可以组成一个词“在世”,最后一个字“园”与后一个字“满”也可以组成一个词“园满”。
为处理这类问题出现了诸多的命名实体识别技术。
相比切分歧义,未登录词是当前切分技术中面临的更主要、更困难的挑战。
2.3小结
从上述介绍至少可以得到如下几点结论:
1.汉语切分的性能在稳步提高。
随着研究人员不断地研究各种语言现象,探索新的机器学习技术和新的特征,对汉语切分中的一些基本的难点问题,如交集歧义、组合歧义等,得到了比较清楚的认识,有一些较好的解决办法。
2.新语言现象的出现导致切分性能的下降。
微博等社交媒体上产生的大量新词语、新命名实体以及新语言组织方式,对已有技术产生了较大的冲击。
随着社交媒体的日益广泛使用,新语言现象出现的范围也越来越广,不断给汉语切分任务带来新的挑战。
3.跨领域、跨风格文本带来的汉语切分困难。
同一切分系统如何能在较小训练代价下对跨领域、跨风格文本上均取得较稳定的性能还是一个尚需要进一步探索解决的问题。
4.最后几个百分点的困难。
机器自动切分的结果的确在不断逼近人类的切分结果。
但是,可以看到,越到后面,性能提高的代价越大,迄今为止,似乎还没有看到能跨越最后几个百分点的技术方向。
第3章人机对话
人类自然语言的主要功能之一是交际,双人或多人的对话是最常见的语言使用场合,因此,人机对话是自然语言处理技术最为典型的应用之一。
图灵早年提出的测试机器是否具有智能的图灵测试正是以人与机器进行对话为判定依据的。
近年来,随着智能设备深入人们的日常生活和工作中,各大公司纷纷推出具有一定人机对话能力的个人助理,使得人机对话应用一度成为热点话题。
本章在第一节介绍人机对话系统的概况,在第二节介绍作为其核心技术之一的对话管理技术,最后是小结。
3.1人机对话系统
目前的人机对话系统大致可以分为两大类:
一类是面向特定任务的;
另一类是开放性的,系统没有特定的任务要求。
面向特定任务的人机对话系统通过与用户进行对话来获取特定信息,从而完成特定任务。
例如,在早期MIT计算机科学实验室研制的用于机票预定的对话系统ATIS(AirTrafficInformationSystem)中,机器需要在与用户的对话过程中获取用户的机票预定信息,如出发地、出发日期、航班号等;
在最近北京邮电大学智能科学与技术中心研制的会议室预定系统MRBS(MeetingRoomBookingSystem)中,机器通过与用户对话获取用户要预定的会议室的时间、大小、人数、价格等信息。
目前,仅从对话系统获取任务相关信息的角度来看,针对特定任务的对话系统可以到达较好的性能。
图3-1是ATIS系统的一个工作记录片断。
图3-2是MRBS系统的一个工作记录片断。
可以看到,系统都能在对话中逐步获取相关的任务信息。
User:
I'
dliketoflyfromPhiladelphiatoSanFrancisco.
ATIS:
Whatdatawillyoubetravellingon?
NextTuesday.
ThesearetheflightsfromPhiladelphiatoSanFranciscoonTuesdayJanuary16.
DoanystopinDallas?
msorryIgotstuckjustbeforethewordstopin.
ISthereaflightwhichstopsinDallas?
Thisisthewith-stopflightfromPhiladelphiatoSanFranciscostoppinginDallasonTuesdayJanuary16.
图3-1ATIS人机对话系统的对话片段
User:
我想在北京找一个300人的会议室
MRBS:
有300人在北京开的会议,对吗?
恩,对的
还有其他需求吗?
下周三开会
日期初步定在下周三,要开多长时间呢?
还是下周五吧,开两天。
是下周五开,开两天,您预算多少呢?
图3-2MRBS人机对话系统的对话片段
而开放性的人机对话系统没有在对话过程中获取特定任务信息的要求,更多的是对用户输入进行响应,自由交互,具有某种聊天的性质,因此也常称为聊天系统。
早期的ELIZA系统、最近的Siri、小黄鸡等都属于此类系统。
这类系统可以对用户的各种话语进行响应,包括回答关于天气状况的问题(此时类似于问答系统)、进行没有目标限定的闲聊等等。
Siri、小黄鸡系统都曾经成为热点话题,有很多用户测试的记录。
从已有的记录来看,完全开放的聊天系统需要面对的任务是非常具有挑战性的,目前的系统还难以达到人们的预期。
人机对话系统的基本结构如图3-3所示。
其中包括三个主要的部分。
语言理解、对话管理和语言生成。
语言理解部分理解用户的语言输入,语言生成部分产生系统的语言输出,这两部分在自然语言处理的许多其他应用中都是不可缺少的,也同样直接影响对话系统的性能。
但是对于人机对话系统而言,最为独特的是对话管理部分。
是否有对话管理可用于区分对话系统和问答系统。
下一节介绍对话管理技术。
图3-3人机对话系统的基本结构
3.2对话管理技术
对话管理从语言理解部分获取输入信息,维护对话过程中的系统内部状态,并基于状态生成对话策略,为产生对话言语提供依据。
好的对话管理需要自然地控制对话流程,带来良好的用户体验。
在简单的对话系统中,如不限定领域的聊天系统ELIZA,系统不维护任何内部状态,也没有显式的对话管理模块,系统只是检测当前的外部输入,并依据一些转换规则对输入进行转换产生输出。
例如,可以设计形如Iamà
Youare的规则,当检测到用户输入为IamJohn时,用规则进行替换,生成输出YouareJohn。
这种系统一般不能用于完成特定的信息获取任务。
研究人员迄今已经探索不少对话管理技术,包括基于有限状态自动机的方法、基于语义框架的方法、基于代理的方法和基于统计的方法等。
基于有限状态自动机的方法适用于结构化较好的任务。
其对话进程是预先设定好的,用户只能按预定的顺序回答系统的提问,以提供任务信息。
这种对话管理技术不能处理语言理解的不确定性,灵活性较差,用户体验不好。
基于语义框架的方法允许用户以较为灵活的方式进行对话。
系统能根据当前语义框架的状态来提出下一个问题,也可以处理一些语言理解部分的不确定性输入,但是系统的控制算法通常较复杂。
基于代理的方法将对话建模成两个代理通过协作来完成任务。
代理具有推理能力,可以进行错误检测和纠正,可以实现混合主导型对话。
但是这种系统需要大量专家知识来构建逻辑推理系统,构建成本高。
基于统计的方法,主要指的是基于马尔可夫决策过程MDP(MarkovDecisionProcess)的方法。
MDP需要状态完全可观测,而在状态不完全可观测时,可以采用部分可观测马尔可夫决策过程POMDP(PartiallyobservableMarkovdecisionprocess)。
POMDP模型将人机对话建模成一个在不确定状态序列下取得最大长期回报的决策问题。
因此,它具有建模语音识别和语义理解中存在的不确定性的能力,也可以建模系统产生的对话语言给对话带来的长期影响。
POMDP模型从数据中学习模型参数,进行策略求解,其求解算法的复杂性较高。
目前,简单的应用系统多采用基于有限状态自动机的方法,而基于POMDP的方法得到更多的研究关注。
虽然有上述多种对话管理技术,但是由于对话系统的复杂性,对话管理不仅要通过对话获取任务信息,还要有效地引导整个对话过程,为用户带来好的用户体验。
同时,考虑到对话还处于语音识别和语言理解技术目前仍不完美的条件下,因此,对话管理需要处理的难点问题还比较多,以下仅列出其中几个。
轮次交替问题:
对话的一个典型特点是存在对话双方或多方的交替发言,交替形式也多种多样。
比如,双发对话时可能一方轮流说一句,也可能出现某方连续说几句的情况。
因此,在口语对话时,很重要的一个问题就是要决定机器在何时开始说话。
简单的基于物理信号,如设置静默等待时间等方式,在很多预订信息服务中是不可行的。
因为,在这些服务中,用户经常需要进行现场考虑。
如果设置的等待时间过短,用户可能还正在考虑,并没有完成表述;
而等待时间过长,用户会觉得对话不流畅,用户体验不好。
而基于内容的轮次交替还依赖语音识别和语言理解的性能。
主题转换问题:
即使在面向特定任务的对话中,一次完整的对话也很可能需要涉及多个不同的主题。
例如,在预订会议室的对话中,双方至少需要涉及到会议召开的时间、地点、人数、预算等若干不同主题的内容。
对话管理需要能随着对话的进行完成各个主题中相应信息的获取任务。
在对话时,无论不同主题间是否存在依赖关系,对话都需要在不同的主题间跨越。
因此,在对话时,决定何时从一个主题转换到另一个的主题,是用户管理需要完成的一个重要任务。
进而,友好的人机交互在允许机器主导主题转换的同时,也应该允许用户自主进行主题转换,而此时,对话管理需要依据其状态决定是否跟随进行主题的转换。
任务变化问题:
目前的任务型对话管理大多是针对特定(类型)任务的,构建对话管理模型时需要对任务需求进行明确的定义,以使任务中可能涉及的主题在规定的范围中变化。
但是,现实世界的任务有无穷多种(类型),如何使一个对话管理模型能快速适应新的任务(类型),是一个需要进一步探索的问题,这个问题与汉语切分中语料领域和风格发生变化时如何保持系统性能稳定类似。
3.3小结
从上面的介绍可以看到,面向特定任务的人机对话系统在任务明确定义时可以较好地完成获取信息的任务。
但是,对话过程的管理还有很多需要提高的,尤其在语音识别和语义理解还存在不确定性的条件下。
因此,目前情况下,希望得到在大范围内具有人-人对话体验的人-机对话系统还是不太现实的。
第4章总结
前面两章分别介绍了汉语切分技术和人机对话系统的现状,并进行了一些分析,本书不打算也不可能逐一对各种技术和应用都进行单独的分析。
总体而言,自然语言处理的研究和应用在各个方面都处于持续发展中,这种发展的趋势在近几年尤为有力。
因为自然语言处理领域在近几年出现了一个非常好的发展时期。
具体表现在如下几个方面。
由于来自互联网产业和传统产业信息化的各种应用需求的推动,更多的研究人员和更多的经费支持进入了该领域,有力地促进了自然语言处理技术和应用的发展。
语言数据的不断增长、可用的语言资源的持续增加、语言资源加工能力的稳步提高,为研究人员提供了发展更多语言处理技术、开发更多应用、进行更丰富评测的平台。
机器学习技术,尤其是近年来深度学习技术的飞速发展,刺激了对新的自然语言处理技术的探索。
同时,来自其他相近学科背景、来自工业界的人员的不断加入,也为自然语言处理技术的发展带来了一些新思路。
计算和存储设备的飞速发展,提供了越来越强大的计算和存储能力,使得研究人员有可能构建更为复杂精巧的计算模型,处理更为大规模的真实语言数据。
在这些有利条件的支持下,我们相信自然语言处理技术在未来会继续取得更多地成果,相信自然语言处理技术是值得大家期待的技术、能产生不断满足大家期待的新应用。
但是,另一方面,我们也希望大家在看到自然语言处理技术的进展时有一个清醒的认识。
以下以语义分析为例阐述这点。
语义分析是当前自然语言处理研究的一个核心。
研究人员在词汇、句子和篇章等多个层次都开展了语义研究。
以词汇语义计算为例,词义消歧是其中的一个重要的主题。
例如,“打”至少有十几个不同的义项。
表4-1列出了几个示例。
词义消歧的任务就是为给定上下文的“打”选择合适的义项。
例如,在句子“打他的人打车走了”这句话中为两个“打”选择正确的义项。
义项解释
例句
1
殴打
打人、打架
2
攻打
打敌人、打仗
3
编织
打毛衣
4
搅拌
打蛋
5
标记
打标签
表4-1“打”的几个义项示例
在已有的英语词义消歧国际评测中,如果义项是粗粒度的(例如,上述“打”的第1个和第2个义项合并为一个,不加区分),那么平均性能可以达到90%以上。
大家如果据此数据认为词义消歧技术已经比较成熟了,那么就可能会误解为何还有那么多的研究人员持续开展词义消歧任务的研究,就可能会误解为何有些任务中还不把词义消歧技术加入进去提高系统性能。
而实际上,如果义项不是粗粒度的,而是细颗粒度的(比如上述“打”的第1个和第2个义项是需要区分的),那么在已有的英语词义消歧国际评测中取得的平均性能不超过70%!
基于这个数据,大家应该就不会认为词义消歧技术已经成熟了,而是还有很长的路要走。
进一步,如果我们按人的标准来评价计算机程序的消歧性能,要求计算机程序在消歧的同时能解释各个义项间的微妙差别,能解释这种义项选择背后发生了什么。
那么,其性能会更差。
因此,大家在关注自然语言处理技术进展的时候一定需要对技术任务有更多的理解,否则,很有可能产生不同程度的误解。
基于此,我们希望进一步指出的是:
自然语言处理技术虽然在不断发展中,但是,在未来很长一段时间中,它还只能作为一种技术工具在有限深度上对语言进行处理,还不可能完全达到人类理解自然语言的水平。
因此,当前我们对于自然语言处理技术和应用的合适态度可能是:
既不要期待它能很快就像人一样地去完成各种自然语言处理和理解的任务,也不用害怕它会完全取代人的工作。
第5章参考文献
[1]RichardSproat,ThomasEmerson.TheFirstInternationa