最近旧事重提,又翻出来Watson的事情。
2011年2月14、15、16日,IBM研发重型智能机器人Watson(DeepQA)在著名问答节目Jeopardy!中战胜了两位高手获得的冠军。Watson名字的由来是IBM的创始人Thomas J. Watson。如同1997年IBM的深蓝(DeepBlue)战胜卡斯帕罗夫那样,这次DeepQA再次展示了计算机的力量:能在3秒钟完成语音识别、语义分析、分布式检索、结果排名和优选的却是一项重大成就。Watson也成了IBM的又一项广告,尤其是Power处理器。
[注:卡斯帕罗夫事后认为深蓝背后有人工作弊,要求重赛,但是IBM在赛后就将深蓝退役,因此无法证实]
重型机器人Watson由10台IBM的P750小型机构成,当中包括了2880个核,15TB内存,运行Linux操作系统,Watson主要由Java写成,当中也使用了C/C++和Prolog,所有这些软件通过IBM开源的Apache UIMA加以编排组织。著名的开源软件Hadoop也被Watson使用,用以分析非结构化数据以便生成索引。Watson的信息来源包括两个方面:首先是以往的所有Jeopardy!试题,然后是大约2亿文本信息,此外还有约6百万的规则。所有这些数据被保存在内存中备查。据IBM在后来介绍,10台P750针对QA应用可以达到每秒80 Trillionflop的计算能力(1997年的深蓝只有11.38 Gigaflop),系统的瓶颈已经不是计算和内存容量,而是内存带宽,带宽可以达到500GB/秒,因此查询任务优化是Watson成功的关键因素!
算法是Watson的灵魂所在,Watson的设计者给出了算法工作原理的介绍如下,共7个步骤。概括的说,Watson的算法是先作出假定,然后寻找依据,最后会根据既定规则加以排名,获得最终结果。
问题: “The antagonist of Stevenson’s Treasure Island.”
Step One: Parses sentence to get some logical structure describing the answer
X is the answer.
antagonist(X).
antagonist_of(X, Stevenson’s Treasure Island).
modifies_possesive(Stevenson, Treasure Island).
modifies(Treasure, Island)
Step Two: Generates Semantic Assumptions
island(Treasure Island)
location(Treasure Island)
resort(Treasure Island)
book(Treasure Island)
movie(Treasure Island)
person(Stevenson)
organization(Stevenson)
company(Stevenson)
author(Stevenson)
director(Stevenson)
person(antagonist)
person(X)
Step Three: Builds different semantic queries based on phrases, keywords and semantic assumptions.
Step Four: Generates 100s of answers based on passage, documents and facts returned from 3. Hopefully Long-John Silver is one of them.
Step Five: For each answer formulates new searches to find evidence in support or refutation of answer — score the evidence.
Positive Examples:
Long-John Silver the main character in Treasure Island…..
The antagonist in Treasure Island is Long-John Silver
Treasure Island, by Stevenson was a great book.
One of the great antagonists of all time was Long-John Silver
Richard Lewis Stevenson’s book, Treasure Island features many great
characters, the greatest of which was Long-John Silver.
Step Six: Generate, get evidence and score new assumptions
Positive Examples: (negative examples would support other characters, people, books, etc associated with any Stevenson, Treasure or Island)
Stevenson = Richard Lewis Stevenson
“by Stevenson” –> Stevenson’s
main character –> antagonist
Step Seven: Combine all the evidence and their scores
Based on analysis of evidence for all possible answer compute a final confidence and link back to the evidence.
Watson’s correctness will depend on evidence collection, analysis and scoring algorithms and the machine learning used to weight and combine the scores.
单纯从架构上看,Watson应该就是一个语义搜索引擎,Walfram的老大Stephen做了一个形象的比较,很有意思。Stephen的观点是Watson并不是一个先进的语义处理系统,原因是Watson实际上并不真正理解语义,而是到现有的内容中匹配相关性。而Wolfram则首先理解输入的问题,然后从知识的层面解决这个问题,因此Wolfram给出的答案可能是从未发表过,或者出现过的知识。
然后Stehen利用现有的搜索引擎搜索了Jeopardy的问题,结论是现代搜索引擎实际上完成了很好的工作,而Watson只是一个老式搜索引擎的优化而已。实际上,Stephen认为Watson根本不是人工智能,而是计算能力的充分展现。这一点从两个系统的输入上也可以观察到:Watson使用的是非结构化数据,而Wolfram使用了结构化数据,这和传统的BI是一个路线。但是Stephen也并没有否定Watson的先进性,即Watson在NLP方面的技术优化能力和规则设计。我理解这很有效地解决了知识的积累问题。
说了这么久,Watson实际上是一个语义搜索引擎,其计算策略和Google类似,是大规模平行计算+统计学分析,从某种意义上看,这种模式采用的一种归纳法的逻辑,即从现有的知识中寻找答案,可以肯定的说,大部分Watson的计算能力都被浪费了,因为他们指向了错误的结果。而Wolfram是一种演绎法的逻辑,他试图去理解问题,做出一些推理,也是基于现有知识,但是计算是有目的性的,这是一种有效的计算。Wolfram的难点在于知识的积累,IBM的NLP技术可以实现知识的积累。因此我想未来在Wolfram的知识积累途径被彻底打通之前,大规模计算依然是解决搜索、QA的主要手段,一旦NLP取得实质性突破,则新型搜索引擎将会以较少的服务器获得更为准确的搜索结果 – 这将是一个多么巨大的创新啊!
最后,有人估算了Watson的硬件价格,2880核的P750系统价格大约是31.5M美元,软件的价格不好估算。这个数据来自Quora,是一个国外的QA社区网站,后来唐总告诉我,这个就是国内QA社区网站知乎的原型。果然是网站大爆炸!!
相关信息:
1 IBM’s Watson supercomputer destroys all humans in Jeopardy practice round (video!)
2 How IBM’s Watson Churns Analytics
3 I’ll Take Hadoop for $400, Alex
5 IBM Watson Research Team Answers Your Questions
6 Jeopardy, IBM, and Wolfram|Alpha
7 Power 750: Big Bang for Fewer Bucks Compared to Predecessors