||
自1995年以来,互联网开始进入快速发展的轨道,其中包含的信息量爆炸式地增长。尤其是在2008年的时候,网页数量已经达到了一万亿张,而在2006年的时候,这个数字是2000亿张[1]。因而,管理如此大量的数据是一件很困难的工作,使用搜索引擎帮助人们更好的寻找信息,发现信息,一直是信息检索领域中的研究热点。
经过长期的发展,学者们在信息检索领域里积累了大量的研究成果,而工业界中对于如何把信息检索等相关技术应用到信息服务中来的探索也取得了很多成功经验。类似于Google和百度之类的搜索引擎会根据用户的查询返回一个链接列表,每个链接都带有一小段摘要信息。用户逐个地浏览搜索引擎返回的这个链接列表中的每个文档,以寻找自己期望的信息,这会消耗用户很多时间来判断哪些文档是包含自己想要的信息的,哪些不是。很多时候,用户需要的是答案而不是文档,这也是像百度知道等问答类网站每天由搜索引擎带入如此高pv的原因。简单说,很多时候,用户会对搜索引擎返回的大量信息感到很迷茫。
问答系统研究的出现是为了应对上述信息过载问题的。问答系统分为两类:开放领域的问答系统和特定领域的问答系统。如果一个问答系统可以处理的问题是多种多样、涉及到生活方方面面的,依赖于宇宙中的各种本体和信息,那这种问答系统叫做开放领域问答系统。在另一面,特定领域的问答系统紧紧处理特定领域中的问题,例如与音乐相关的问题或者与天气预报相关的问题等等。问答系统一直是自然语言处理领域中非常热门的一个研究方向。人们可以向问答系统提交用自然语言表达的问题,系统会返回紧凑相关又准确的答案,而不是像搜索引擎那样仅仅返回一个网页集合。问答系统的目标是为问题找到精确的答案,而不是像信息检索系统当前做的那样返回全文文档或者最匹配的文章[2]。
更进一步,智能聊天机器人不仅可以回答用户的某一个问题,还可以很人性化地与用户交流,了解用户的需求,就像用户的一个好朋友。当前,聊天机器人在商业领域很常见,包括航空系统订票领域,移动个人助理Siri,阿里巴巴的聊天机器人,韩国的风靡全球的聊天机器人Simsimi等。
随着信息技术的发展,计算资源和存储资源在21世纪都得到了极大的进步,但人机交互方式并没有发生多大变化,尤其是用户获取信息的方法还不够有效。通过研究聊天机器人相关技术,尤其是聊天机器人技术中的对话理解问题,对于促进人机交互方式的发展有重要意义。
在1960年左右,外国的科学家就提出了希望计算机能用自然语言来处理人们的问题,这应该是问答系统的雏形。在1980年左右,自然语言处理领域中的问答系统(Question Answering)广受关注,图灵测试表示如果计算机能够像人类一样进行用自然语言交流,那么就可以被认为具有人工智能[3]。从此,科学家和学者们开始了探索语言理解相关的技术,并纷纷投身到研究自然语言问答系统和聊天机器人系统中来。最开始的时候,受限于计算能力和知识库,所有的实验规模都很小很受限制,以至于问答系统一直被限制在某一特殊领域的专家系统。从1995年开始,随着信息检索技术的发展,Google等搜索引擎公司的商业化运作和计算能力的飞速发展,人们更关注于信息检索的发展,而问答系统的研究没有进展。从2005年开始,随着移动互联网的发展,智能手机终端可用于呈现搜索结果的面积受限,况且用户的手机数据流量受限,于是问答系统再次被推到幕前来。现在有越来越多的公司和高校参与到了问答技术的研究中来,包括苹果、Google、阿里巴巴、三星、剑桥大学等等。在一年举行一次的文本信息检索会议上(TREC,Text Retrieval Conference[4]),自动问答系统主题是受关注最多的主题之一。
国外在问答系统技术上的研究起步比较早,目前在工业界或者学术界已经产出了一些比较成熟的问答系统和聊天机器人系统,例如,苹果公司的Siri,谷歌的Google Now,MIT大学的Start系统,还有AskJeeves、AnswerBus、MULDER、LAMP等。Start是由MIT大学计算机科学系人工智能实验室的研究员Boris Katz和他的同事们一起开发的,是世界上第一个基于web的问答系统,从1993年开始上线运行至今。与常见的信息检索系统(例如搜索引擎)不同,Start的目标是为用户提供恰到好处的信息,而不是仅仅提供一个搜索列表。Siri是一款内建在苹果iOS系统中的的人工智能助理软件。此软件使用自然语言处理技术,使用者可以使用自然的对话与手机进行互动,完成搜寻资料、查询天气、设定手机日历、设定闹铃等许多服务。Google Now(Google 即时)是一款由Google开发的智能型个人助理软件,扩充了Google搜索手机应用程序的功能,可在Android和 iOS上使用。Google Now使用自然语言用户界面(Natural language user interface)通过一系列的Web服务来进行回答问题、提供建议、运行动作之行为。在回应用户时,Google Now会基于用户过往的的搜索习惯来预测其所可能需要的信息。AnswerBus[5]是一个面向互联网的、多语种的自动问答系统,它不仅可以回答英语问题,还能回答法语、西班牙语、德语等很多语种的问题。但是AnswerBus并不会给出问题的具体答案,而是返回可能包含答案的句子和文档。MULDER是华盛顿大学开发的第一个完全以网络作为其知识库的自动问答系统,它将网页信息保存到本地,并且对这些文档进行详细的语法分析,然后从中抽取答案。由新加坡国立大学开发的LAMP[6]和MULDER[7]系统类似,不同之处在于LAMP不会在本地保存网页数据,而是从搜索引擎返回的网页片断中提取信息。
与国外研究情况相比,中国国内在问答系统和聊天机器人系统方面的研究无论是在规模还是研究水平上与国外的相比,还是有不少的差距,主要原因有两方面:一方面中文信息处理比英文难,有其特殊性,国外一些相对成熟的技术和研究成果不能直接利用;另一方面缺乏相应的自然语言处理的相关基础资源,如语料库、知识库以及相应的评价机制(如一年一度的TREC会议,就有针对英文问答系统的科学的评测标准和各种评测语料、评测方法)等;此外,中国是一个发展中国家,国内在这方面投入的人力物力以及重视的程度都不能和国外相比。国内在问答系统领域走得比较靠前的研究机构主要有清华大学、北京大学、中科院计算所、哈工大、北京语言大学等,另外研究汉语问答系统的还有香港大学、香港中文大学、National Defense Management College等单位。哈尔滨工业大学开发的HIT相关自然语言处理工具[8],可以对句子进行句法分析,语法分析和分词等操作,无疑为汉语的问答系统研究奠定了基础。科大讯飞信息科技股份有限公司所开发的语音识别相关的工具已经促成了国内很多的聊天机器人,包括讯飞语点、搜狗语音助手等。台湾的国防大学管理学院研制的中文问答系统CQAS[9],侧重于命名实体及其关系的处理,尝试将中文文档以特征因子来表示,并且把它转换为命名实体之间的关系串列方式,然后,通过这个关系串列方式来搜寻与返回答案。CQAS的实验结果表明,关系串列方式资料的系统分析越多,回答问题的正确率越高。
聊天机器人系统的对话理解模型获得了广泛关注,也在实际的信息服务系统和智能手机的助手应用领域中得到了广泛应用。在不太关注互联网中非结构化知识快速增长的以往,自然语言处理研究领域中的对话理解研究关注更多的是如何对用户输入的问题进行句法分析、语法分析、提取关键词和关键词扩展,之后便是信息检索和排序模型,从而希望能给出准确的答案。但是,随着聊天机器人系统在人们生活中的急速升温,特别是在互联网环境下非结构化知识大规模增长的情况下,目前面临着一系列亟待解决的问题,主要包括:
1)之前的聊天机器人系统中的对话理解模型仅仅涉及语法分析、句法分析等逻辑步骤,人为的把对话理解与人机交互的最终目的分隔开来。其实对话理解的最终目的只有一个:产生正确的答案。对于像“吃饭了吗?”这样的问题,句法分析根本没什么用,分析不出来什么结果,而简单的规则匹配则能产生非常好的结果。
2)旧的聊天机器人系统没有使用充分类似于百度知道之类的答案来源。问答类网站中的内容都是用户产生的,质量很高,而且这些知识都是与人类活动密切相关的,否则用户不会花时间和精力来问这些问题。尤其类似于知乎和Quora这些网站,在某些用户回答了问题之后,其它用户可以对他发表的答案进行投票,最终根据票数选出质量最好的答案。这些人工产生的答案无疑比机器通过相似度自动计算得到的答案要好很多。但目前很少聊天机器人系统能够充分应用这些类似于百度知道的知识源。
3)旧的对话理解模型没能充分把生活中新近出现的知识快速吸收。随着21世纪初开始的互联网爆发以来,互联网中已经积累了大量的用户产生的知识,主要存在于这些网站:i. 问答类网站,如百度知道和知乎;ii. 维基百科;iii. 书籍电影等开放评价网站,例如豆瓣;iv. 美食评价网站,例如大众点评和Foursquare等;v. 商品评价信息,例如淘宝网。虽然这些知识都是以非结构化或半结构化的样式存在着,但所积累的知识量足以覆盖人们生活的方方面面。目前的聊天机器人都没能够很好的消化上述所列出的知识。
4)旧的答案排序模型没能综合多种因素对候选答案进行有效排序。目前,问答系统研究领域中的候选答案排序模型基本都是只考虑文档相关度这一特征。然而,查询串和候选答案文档之间的特征是非常丰富的,包括: i. 每个搜索结果的特征(例如搜索结果对应的问题的类型);ii. 每个搜索结果来源的权威性;iii. 用户的显性反馈;iv. keywords是否出现在URL中;v. query中的关键词是否在搜索doc的title或者answer中;vi. 答案被赞的数量;vii. 候选答案所属类型是否与用户问题中所期望的答案所属类型一致,例如用户问的动物名,那候选答案是否是动物名等。本研究将会把机器排序学习应用到聊天机器人系统中来,以综合这些特征对候选答案进行排序。
1. 对聊天机器人系统的架构进行了定义,并研究了知识表示方法对对话理解模型的影响。
首先提出了观点:机器不是尝试去理解人类语言,而是去努力找出最符合人类语言习惯的答案;接着对已有的对话理解模型的进行了研究,并让本论文提出的开发对话理解模型的指导原则与前人的开发对话理解模型的指导原则进行了对比。基于此,我们研究了知识表示方法对理解模型的影响,并进行了相关的实验。
2. 对问答系统中答案排序算法展开了研究,把信息检索中的Listwise learning to rank方法应用到了聊天答案排序中来。
聊天机器人中的大量知识是由搜索引擎通过索引的方式来管理着的,拿到候选答案集合之后,我们需要选出最佳的答案或者答案集合返回给用户,这使得排序成为一个很重要的任务。虽然通用搜索引擎中的排序学习方法具有借鉴意义,但搜索引擎中的排序特征并不能完全照搬过来用于作为聊天机器人系统中的排序特征。我们总结了聊天机器人系统中各种可用于排序的特征,并修改排序模型来训练一个机器学习系统作为我们的排序模型。实验结果表明,我们采用的Listwise排序学习方法取得了很好的效果。
3. 构建了一个能够大规模地运用知识进行问题理解的聊天机器人系统
构建了一个能够大规模地运用知识进行问题理解的聊天机器人系统,包含三层系统,分别是应用层系统,中间服务层系统和聊天服务器系统。而聊天服务器系统肩负着理解用户输入问题的角色,它有包括8个部件,分别为策略中心部件,AIML部件,正则匹配器部件,FAQ部件,NLP部件,Simsimi部件和Listwise排序学习部件。策略中心善于处理与生活息息相关的问题,AIML部件则善于处理聊天语句,正则匹配器善于处理一些概念性的提问,FAQ部件则是索引了300多万知识敏感的(问题,答案)对,NLP部件索引的是300多万结构化的数据和其它一些网页数据。Listwise排序学习部件使得从搜索引擎检出候选答案后,可以再精选出最佳答案。所有这些部件都具有理解用户输入并寻找答案的功能,互补工作,以取得全局最优性能。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-22 00:13
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社