1.2 搜狗汪仔——具备问答能力的机器人
电视节目《一站到底》是国内排名第一的知识问答类节目,其主要内容是选手之间的知识问答淘汰赛。搜狗汪仔因为具有较强的问答能力,所以每期节目中人类选手最后的胜者会与汪仔pk问答。汪仔在节目中能够通过语音识别和图像识别两路通道接收问答题目,然后利用深度问答系统找到答案,再通过语音合成技术播报答案。同时利用人机对话技术,汪仔和主持人、选手能够有些简单的交流,活跃现场气氛。根据当前状态的感知,汪仔还有一些简单的肢体动作和表情。今年,大家每周都能在节目中看到汪仔的表现。从目前已播出的十几期来看,汪仔以压倒性的优势战胜人类,在节目开播5周年庆这期节目中,汪仔也轻松地战胜了都是往年冠军的选手。可以说,汪仔已经具备在这个竞赛中战胜人类的能力。
提到知识问答的人机大战,多数人首先想到的是IBM Watson,它在参加了美国著名的知识问答节目《危险边缘》,并战胜了当时的人类冠军。很多人都好奇汪仔与Watson 的区别,这里我们通过分析图2所示的汪仔与Watson的区别来介绍汪仔背后的原理。
1. 汪仔与 Watson 的差异
(1) 语言不同
语言不同这一点显而易见。《危险边缘》是美国的节目,使用的语言是英语;《一站到底》是中国节目,使用的语言是中文。中华文化上下五千年,且语言的发展比文化的发展更悠久,在漫长的历史长河中,语言不断演进变化,成为非常复杂的一种系统。而所有从事自然语言处理的研究者都清楚,中文自然语言处理与英文有较明显的差别,无论是从语言的特点、词法、句法上都有显著的差异。在相同的任务上,例如词法、句法的分析,中文集合上取得的性能通常都比英语集合上低10%左右。即使使用深度学习这种端到端的处理方法,这种中英语言处理性能上的差异仍然存在,足以说明中文自然语言处理的难度。而汪仔是使用中文的知识问答竞赛中首个战胜人类的机器人,仅从语言的差异上可以说难度就比Watson参加《危险边缘》要大。
(2) 问题的输入方式不同
Watson当时不具备语音识别、图像识别的能力,所以参加《危险边缘》时,节目组给Watson一个特殊的输入,直接对Watson输入文本。而汪仔使用的是与人完全一致的输入方式,即靠“听”主持人念题和“看”题板,通过语言识别和图像(这里主要是OCR)技术,将其感知的语音和图像转换成文字后再处理。这一点首先体现了两者所处的年代不同,随着技术的发展,特别是深度学习技术的爆发,语音识别和图像识别取得了重大的突破,才使得机器人在这方面取得了与人相当的能力。当然在一些嘈杂环境下,机器的识别能力与人还有差别。此外,由于语音识别和图像识别有一定的错误率,识别的错误会直接传递给问答系统,这将进一步加大问答的难度。
(3) 赛制不同
这里的赛制重点强调是否有“抢答”这个问题。《危险边缘》中,赛制明确规定,只有主持人读题结束后,选手才能抢答,抢到者优先作答;但如果题目未结束就抢答,选手会受到相应的惩罚。也就是说,当读题结束后,选手去争夺回答问题的优先权。在《一站到底》节目中,只要开始念题,在任意时间点选手都可以抢答;而高手之间的较量,通常都在题目未完成之前推理出完整的题目并作答,比拼的是推理的时机和抢答的比率。所以,Watson是用完整的问题作答。汪仔在《一站到底》的赛制下,具备根据部分题目推理全部题目并作答的能力。一方面题目的推理较难;另一方面推理的错误率会和问答形成级联错误,进一步加大问答的难度。汪仔的抢答能力也是投入精力较大的一块,从无到有,最终抢答比率甚至超过了人类冠军。
(4)问题的范畴不同
《危险边缘》中共有历史、科学、政治等六类问题,每个问题也有明确的所属类别。《一站到底》不限定任何的问题范围,且每题也没有明确的所属类别。可以说,《危险边缘》是一种封闭域测试,而《一站到底》是一种开放域测试。同时,从技术实现来说,问题所属的类别在Watson和汪仔中都属于重要信息;不同的是Watson是给定类别,而汪仔是自己计算得出类别。
(5) 计算方式的不同
Watson 当时用了90台IBM Power 750的服务器集群,并把它们搬到了节目现场,在独立的局域网环境中使用。汪仔的语音识别、图像识别和语音合成功能,以及部分基于知识图谱的问答均在节目现场完成,而基于搜索的问答是联网后利用搜狗搜索的线上服务完成检索后再计算。这其中的原因更多是基于成本的考虑,汪仔将参加一年的节目,独立的集群只为节目录制服务,从成本上来说很浪费;另一方面,公网链路的延迟、稳定性,以及于商业系统共用的检索服务,对资源的抢占都相对独立的局域网集群服务带来了很多工程问题,同时给抢答时间也带来不少负面影响。因此,Watson的不联网与汪仔的联网,更多是成本的考虑。
(6) 闲聊
汪仔在节目中还展示了闲聊能力,这是Watson当时所不具备的。当然,闲聊机器人近年来有了长足的发展,这也和所处年代有关。除了通用的闲聊外,为了参加节目,汪仔也对节目的背景知识,例如主持人、选手、节目等做了针对性的学习,这点和人类一样。
这里先介绍搜狗汪仔的问答系统,图3为事实类问答系统流程图。主体来说,搜狗的问答系统从技术实现上分为两大类,一类是基于知识图谱的KB-QA;另一类是基于搜索的Web-QA。这两种方法在汪仔中均有使用,用于回答不同的题目。KB-QA是将挖掘得到的知识,利用知识图谱(通常是三元组)表示、存储,问答时利用sematic-parsing的技术,将问题解析成结构化查询语句,查询知识库并回答问题。这种方法是与人学习知识并运用知识回答问题相类似的,也是理想的机器问答方式。但是受目前技术水平的限制,知识图谱在完备性、时效性和推理、sematic parsing的实用性等问题还面临较大挑战,所以目前KB-QA能够回答的问题还非常有限。Web-QA是一种基于搜索的问答,利用全网无结构化信息,搜索与问题有关的所有信息(网页、问答对和垂直知识库等),并从相关信息中抽取精确答案。其中为了找到准确的相关信息及准确抽取相应答案,运用到了非常多的自然语言处理、检索、语义匹配、信息抽取、机器学习等技术。同时由于深度学习近来在文本上也取得了一些进展,所以在汪仔中,深度学习的应用也非常广泛,这点也与Watson有较大差别。Web-QA如果与人相比,有点像人的“死记硬背”,只不过机器的存储和计算都比人要快很多。
2. 机器与人在问答和抢答的能力分析
可以看到,汪仔背后的技术方案都可以在人的思考方式找到相同地方,那么机器和人对战,胜算如何?我们分下面两个方面分析。
(1) 问答能力,即给定完整问题下,回答的精度与召回
在这个问题上,人的优势在于理解能力强,有常识,掌握较完整的知识体系;劣势在于单个人的知识面有限,且在竞赛过程中人的情绪易受波动。相比之下,机器的优势在于,存储无穷,发挥稳定;劣势是语言的理解、推理差。以Web-QA为例,它在搜索的基础之上,又新增问题的理解和答案提取等工作。这件事对人来说很简单,但对机器来说难度不小。例如“电视剧上海滩之中冯晋骁的人物原型是哪位上海滩流氓大亨?”如果将问题作为查询词,搜索结果能够返回较多的相关网页,但如何从搜索结果摘要或网页内容中,直接提取出答案“杜月笙”这件事,对人简单,他们有正常的阅读理解能力就行,但对机器则比较难。实际上机器很容易误回答为“黄金荣”,因为它也是上海大亨之一。
单个人掌握的知识面是有限的,如果问题属于人的知识盲区,那么他即使完全理解这道题,也完全不会回答,所以人欠缺的还是机器的存储和检索能力。例如对于问题“按照传统,历届美国总统就职时会用手抵哪本书进行宣誓?”可能绝大部分的人都知道答案;对于问题“唐代画界有‘韩马戴牛’的说法,分别是指善于画马的韩干和哪位善于画牛的名家?”,能掌握“韩马戴牛”这个知识点的人可能就很少了。但这两个问题对于机器来说,可能难度相当。
另一方面,人的情绪波动也很有趣。在搜狗汪仔的研发工作中,曾经有几次线下与人类高手测试,其中有一位叫徐圣明的选手,是《一站到底》的历史战神,答题水平很高。他与机器挑战的过程中,如果他的比分暂时领先,他的状态比较放松,往往也是坐着答题;但如果他的比分暂时落后了,他就比较紧张了,会下意识地由坐着改为站着,精神高度集中,答题的能力也相应增强。这都是人的下意识反应,不同状态下有着不同的答题能力,而机器显然是没有这样的情绪波动影响的。
(2) 抢答能力
前面介绍《一站到底》的赛制中可以看出答题的速度是制胜的关键点分两方面,首先在获取相同信息下答题的速度要快;其次答题的时机要尽量提前,即答题所需获取的题干信息越少越好。关于第一个问题,我们做了不少工程工作,包括网络速度、语音识别和图像识别做流式增量识别、检索速度优化等,基本做到接收一段新的语音音频(通常100 ms左右一个语音包)后,可在200 ms内完成一次问答,这个耗时人很难察觉出来。然而考虑到人的正常语速,主持人大约1分钟说120字,那么说一个字耗时500 ms,如果能够提前对手1个字推理出问题并作答则具有绝对优势。所以,在汪仔的研发过程中,利用尽可能少的信息去回答问题是一个重要挑战。
人和机器在推理上的能力也有很大差异。如人机测试中,问题“鹿鼎记中哪种毒药让瘦头陀变得身材臃肿非常矮小?”,当时人类选手非常快的正确回答“豹胎易筋丸”,而机器却要慢一些。为什么?后来在与选手交流过程中得知,选手具备一个背景知识,即鹿鼎记中只有一种毒药,所以当题目念到“鹿鼎记中哪种毒药”这里,人就可以推理出答案,正确作答。这种背景知识的获取和推理,对机器来说还是非常困难的。还有一个有趣的现象也反映人类思维的模式,即考诗词的上下句。经过多次测试,我们发现,如果给定诗词上句,考下句,通常人回答较快,基本是直觉反应,非常快;而反过来,如果给定下句考上句,人就需要相对长的时间来反应,而机器能够稳定作答,则胜出。
通过多种算法和工程的优化,在《一站到底》的设置下,汪仔答题的精度约为90%,召回率约为90%;而历史人类冠军,答题精度相当约为90%,而召回率约为70%。有趣的是,根据Watson的公开资料,Watson当时的精度和召回率约为90%和70%,它也战胜了当时的人类冠军。由此看出,几年过去了,人类在不同的语言环境下答题能力相当,变化不大;而机器,由于技术的不断发展,其能力又取得了长足的进步,未来同样值得期待。
需要特别指出的是,在比赛中设置的题目,其答案基本是实体、数字等简短文本,然而从真实用户提交给搜索引擎的日志看,还有大量用户需求是较为复杂的问题,其答案通常需要较长的一段文本来表述。为了回答更加真实、更加广泛的问题,我们研发了更加通用的问答系统——搜狗立知系统。
中国人工智能学会通讯——搜狗搜索:从搜索到问答 1.2 搜狗汪仔——具备问答能力的机器人...