IBM超级电脑Watson答题过程全揭秘

果壳网 发表于:11年02月15日 11:00 [转载] DOIT.com.cn

  • 分享:
[导读]看到watson在Jeopardy!预赛中的惊人表现,你是否曾经想过,从watson看懂问题到给出答案,这个过程到底是怎么样的呢?
看到watson在Jeopardy!预赛中的惊人表现,你是否曾经想过,从watson看懂问题到给出答案,这个过程到底是怎么样的呢?难道 watson真的和人类一样,拥有了思考问题的能力?还是说watson仅仅是比Google优秀一点的搜索引擎而已呢?

现在果壳网就以他回答的第一个问题为例,给大家解说一下watson工作的全过程。

主持人:Ken你站在1号位置,请选择问题。

Ken:在电视节目上选这个我有点紧张......"美女挖起我*",200美元。

*注:Chicks Dig Me,意为关于女考古学家的问题。

题目出现在大屏幕上,同时主持人开始大声念出这个问题--

Kathleen Kenyon's excavation of this city mentioned in Joshua shows that the walls had been repaired 17 times.

然后waston就开始行动了!
看问题--识别问题的文字

Watson通过摄像头拍下屏幕上的文字,然后进行光学识别,得到以文字而不是图像形式存储的题目文本:

Kathleen Kenyon对这个在Joshua中提到的城市的发掘表明,该城的城墙曾被修复17次。
理解问题--提取文字中的专有名词等基本信息

最先需要提取的基本信息包括人名、地名、时间等。Waston将它们提取出来后, 和数据库进行对比,然后对结果打上知识分类标签。

在此题中,Watson看完问题后要做的第一件事情就是提取题目当中所有首字母大写的词,并在自己的数据库里进行搜索,搜索任务会被watson拆分成单独的任务并下派给每一个处理器线程。

题中一共出现了三个首字母大写的名词,其中Kathleen Kenyon这两个词连在一起。所以watson一共会下发4个搜索任务:分别在数据库中搜索Kathleen,Kenyon,Kathleen Kenyon以及Joshua。

搜索结果如下:
Kathleen 人名 \
Kenyon 人名/大学名/城市名 \
Kathleen Kenyon 人名 考古学家 女性
Joshua 书(章节)名/人名 《圣经•约书亚记》
分析问题--提取文字结构上的信息,如词性和由动作连接的相关关系等

由于搜索的专有名词常常不只一个标签,所以接下来,watson需要再通过题中给出的其它词语的性质和关系,帮助筛选这些专有名词,得到它们更精确的含义。

Watson在这一步要对每一个词以及它附近的词进行搜索,工作量非常大。但通过运用连词、副词和语句结构等等信息可以减少很多冗余的搜索。

比如mentioned,shows,had,been,repaired这5个词都有成为谓语动词的可能。进行数据对比后发现,had和been 只是repaired的时态,所以备选动词减少到了3个。又根据that前后的词,判断出这是一个从句,则repaired退出竞争。最后,根据 mentioned in Joshua这个短语判断出mentioned也不是整个句子的谓语动词。于是得出题目的语法结构:主谓宾结构,并且"shows"就是谓语。

同时不可忽视的一点是,Jeopardy的问题都是陈述句,是对答案进行的一种描述。因此通过关键词this city,答案应该是一座城市。

再者题目分类为"美女挖起我",而题干中只有Kathleen Kenyon是女性考古学家,于是判断真正有意义的名词应该就是Kathleen Kenyon(以下简称KK)。

Mentioned in Joshua 说明答案应该在Joshua中提到过,结合它的分类标签可以判断Joshua应该是一本书而不是一个人。

此外,通过这一步,watson还会获得题目中的一般信息和答案之间的关系。比如:

KK's excavation of this city. KK在答案城市做过考古发掘工作

the walls had been repaired 17 times 答案城市的城墙被修复过17次

KK ......shows......17times 城墙被修复过17次这一信息,是从KK的发掘中发现的

在这一步中,每一个问题会被分解为若干子问题来解决。如果不能直接得到某个子问题的答案,则该问题又会被分解为若干子问题进行解决;有时候甚至需要引入新的问题来得到某个问题的答案。直到获得所有答案为止。

这是一种"扇出"的结构,可以理解为"分而治之"的策略。此外,每一次问题分割可能都有几种不同的方法,那么watson会同时尝试所有不同的分法。实际上一个包含二十个词的普通问题可能会最终被分解为上万个子问题。
解答问题--搜索自身存储的结构数据和非结构数据

由于题中得到了"KK在答案城市做过考古发掘工作"这一信息,所以watson将会搜索自身数据库中KK的资料(由于已经组织成一定的结构,所以称为结构数据),看看能不能找到相关信息。如下表所示Kathleen Kenyon的资料:
性别 女
职业 考古学家
主要成就 在1952-1958年发掘过耶利哥(Jericho)城。在1961-1967年发掘过耶路撒冷(Jerusalem)城。

此外,Watson存储了海量的百科全书、论文文献等等以文章方式存储的资料,它们之中也会有相关的信息。但由于这些资料没有经过整理和组织(称为非结构数据),所以watson必须通过非常费力的文本搜索来取得信息。这个过程中又会用到前面用过的提取专有名词、词性、文本结构等方式。

由"答案城市在《圣经•约书亚记(Joshua)》中提到过"这一线索可知,搜索《约书亚记》全文并判断哪些名词是城市的名字是必须的。此外,KK 曾经发表过的考古学论文也应该在搜索范围之列。

《约书亚记》中提到至少3个城市,耶路撒冷、耶利哥、拉吉。当然某篇KK发表的论文中也许提到了,耶利哥的城墙曾被修复17次。
分析双关信息的可能性

由于人类语言的模糊性和二义性,通常watson需要分析题目的题外之意来进一步增加理解的正确性。这通常也是依赖于和数据库中预存的、可能带有二义性的表达语库进行对比来实现的。这一步最难,也是watson最没有信心的一步。

幸运的是,在这个题目中并无双关信息。
判断各个答案的正确可能性

Watson运用上百种算法对可能的答案进行评估,包括答案的类别、性质是否正确,答案涉及的时间、地点是否正确,词性、语法结构是否符合要求等等。

《约书亚记》中提到的所有城市就是备选答案库。它至少提到了耶利哥、耶路撒冷、拉吉这三个城市,相关资料如下:
城市 相关信息
耶利哥 KK曾经发掘过耶利哥。KK在某个文献中提到了耶利哥的城墙曾被修复17次。
耶路撒冷 KK曾经发掘过耶路撒冷。
拉吉 未找到KK发掘过拉吉的记录。

Watson产生的判断结果:

耶利哥(Jericho):97%

耶路撒冷(Jerusalem):42%

拉吉(Lachish):7%

正确度最高的答案,若正确度高于51% 就发出信号驱动执行器,按下按键。

不知大家是否注意到了,watson所在的位置,答题按钮的上方有一个专门用于按键的装置。即使是超级计算机,也需要在物理世界按下按键才能答题!这应该是Jeopardy!制作人提出的要求。

耶利哥的正确度高达97%,高于51%。所以在主持人结束问题描述的一瞬间,watson就发出了一个信号给按键装置,按下蜂鸣器的开关,抢到了答题权。
回答问题--语音合成,发出问题格式的语音

由于Jeopardy!的游戏规则是题干以答案形式给出,而答案反要以问题形式给出。所以watson需要用"What is XXX"或者"Who is XXX"之类的格式来回答问题。

Watson判断了一下,耶利哥在此处是个地名而不是人名,所以答案应该是"What is Jericho ?"。然后,watson只需要一个语音合成引擎将这个答案的文本转换成语音并播放出来就可以了。


[责任编辑:査彬]
Doserv原创 Vicky Z
纵观IT发展的历程,我们发现IT技术从最早的分布式结构走向了大集中的架构,而今,云计算的出现又将IT重新引向了分布式的老路。
官方微信
weixin
精彩专题更多
联想发布“腾云计划”正式进入云市场,同时推出ThinkServer Gen5,在众说纷“云”的云时代里联想推出云战略正当其时,服务器产品线的更新便是联想云时代里前行的新生力量。
2014年11月6号,HPC China 2014大会在广州长隆酒店正式召开。本次会议由中国计算机学会主板,中国计算机学会高性能计算专业委员会、中山大学和广东工业大学承办。
思科UCS:突破性能极限 重新定义平台
 

公司简介 | 媒体优势 | 广告服务 | 客户寄语 | DOIT历程 | 诚聘英才 | 联系我们 | 会员注册 | 订阅中心

Copyright © 2013 DOIT Media, All rights Reserved.