[小红猪]Jeopardy!,IBM和Wolfram|Alpha不可不说的故事
原文写于IBM超级计算机沃森在智力竞赛节目“Jeopardy!”大显神威前,将著名的Wolfram|Alpha项目和沃森的进行了比较,讲述二者间不得不说的故事!
译者:小可
译者自我介绍:大家好,我是小可,2010年毕业于武汉大学,现在在北京市某公司做软件测试。这是我第一次翻译科学松鼠会的文章,我表示情绪激动,压力很大,呵呵。
校对:Glaußren
小红花等级:3朵
大概在Wolfram|Alpha开始运营的一个月前,我正在和IBM的一个团队通电话,谈论我们对Wolfram|Alpha的可计算知识的前景。几个星期之后,这个团队宣布他们将要利用他们在自然语言处理上的成果,制造一个用来参加Jeopardy!的系统(又叫《危险边缘》,美国一档智力竞赛节目)。
我认为这是个用来展示他们成果和IBM综合实力的好办法。现在,一年半过去了,为即将到来的Jeopardy!电视节目,IBM已经达到了令人惊叹的水平。不管发生什么(IBM的系统当然应该能赢),有一件事情是很清楚的:IBM正在从事的工作将会显著改变人们对人机交互的期望。。
当Wolfram|Alpha开始运营后,人们一开始只是把它当成一个“新的搜索引擎”——因为人们从大量数据中寻找信息的时候,基本上关键词搜索是他们仅有的模式。但是IBM的这个项目给出了令人震惊的另一种模式的例子:问答模式。当人们开始熟悉这种模式后,他们将会更清楚的意识到我们所构建的Wolfram|Alpha能够做什么。
那么,Wolfram|Alpha和IBM的Jeopardy项目到底是什么关系呢?
IBM的基本方法有段漫长的历史,并衍生出了和很多搜索引擎大有渊源的信息检索领域。其核心思想是从文本开始,构建一个统计学上能够符合这些文本所展现的问题答案的系统。(第一步是搜索文匹配一个问题的本匹——使用词典式和其他的语言转换方式。接下来更困难的工作是列出可能的答案,使用多种不同的方法给它们打分,最后对比得分来选择一个最佳答案)
这种方法的早期版本可追溯到将近五十年前,人工智能研究的最初阶段。这种方法不断取得新的进展,尤其是像过去的二十年里一年一度的TREC(文本检索会议)问答竞赛里记载的那样。IBM的Jeopardy!系统仍然恪守这一传统,尽管系统工程更复杂,并且因为参加Jeopardy!这一特别(复杂的)任务而具备了一些特殊的特性。
Wolfram|Alpha则是完全不同的一种东西——一种全新的、基于完全不同的范式的东西。关键点在于,Wolfram|Alpha并不是处理文本或者任何文本衍生的东西。相反,它直接处理原生的、精确的、可计算化的知识。而且它的内部构造并不是文本在统计学上的展现,而是知识的真实展现。
输入到Wolfram|Alpha中的可以是用自然语言提出的问题,而Wolfram|Alpha所做的是把自然语言转换成一个精确的的可计算的内部形式,然后它处理这种形式,使用可计算的知识来输出这个问题的一个回答。
要使其有效需要很多技术和新的想法。说实话我刚开始开发Wolfram|Alpha的时候我也不确定这是否会实现。但是经过几年的努力和一些突破,我很高兴地发现它的结果很成功。现在Wolfram|Alpha在网上和别处每天能够成功地回答上百万个关于大量不同主题的问题了。
从某种意义上说, Wolfram|Alpha能够充分理解问它的每个问题。它并不是靠着提供给它的对文本的统计学匹配,它实际上是在基于它拥有的知识算出答案。而且大部分它给出的答案都是全新的,这些答案从来没有被算出过或者被写下过。
IBM的这种方法中,主要的工作是调整之前包括Joepardy!中用过的统计学匹配流程,再加上一些用来应对特殊情况的特别规则
而Wolfram|Alpha的主要工作就是往系统里添加可计算的知识。维护数据,与实时信息挂钩,注入特定领域的专业知识,完成计算机算法——以及构造能够抓取用于查询的自然语言的广义语法。
开发Wolfram|Alpha的时候,我们一直在扩建不同领域的知识,一开始集中在人们会问的较简短的、现实中重要的问题。我们几乎是在做和参加Jeopardy!所需要的完全相反的事情,也和IBM为了实现这目标而走的路线几乎完全相反。毫无疑问假以时日Wolfram|Alpha将会胜任Jeopardy那样的任务——但这并不是我们现在工作的目标。
(有趣的是,Wolfram|Alpha现在知道Jeopardy!节目中四分之三问题的答案——我觉得这也不算差,毕竟回答Jeopardy!节目的问题和我们实际上设计Wolfram|Alpha的初衷相差甚远。)
不过在最近几周,我开始对参加Jeopardy!节目实际上涉及的东西产生了好奇。暂时彻底无视掉Wolfram|Alpha,试图在Jeopardy!节目中获胜,最显而易见的方式是什么?
使用常见的旧式的搜索引擎吗?试试输入Jeopardy!中的问题,看看什么文本被匹配出来了。好吧,只是为了好玩儿,我们试过这个。我们从20万个左右Jeopardy!的问题中随机选取样本,然后输入到搜索引擎中(去掉引号),然后我们看着搜索引擎的结果页,看看①在页面上正确答案出现在标题或者摘要里的频率,②看看搜索引擎把正确答案返回到结果页的第一个的频率。(更多的细节在这本MathematicaNoteBook中[在这里下载播放器]。显然地我们排除了专门关于Jeopardy!的网站。)
如果没别的什么,这个给了我们关于现代搜索引擎现状的一个非常有意思的信息。特别地,它告诉我们,更成熟的搜索系统正在和它们原本的表现变得惊人的相似——所以用户体验的其他方面(比如Wolfram|Alpha做的整合)就可能逐渐变得更加重要。
但对Jeopardy!来说,我们的发现是仅仅用一个老式搜索引擎就能得到令人惊奇的好结果。当然这里的这种方法并没有真正回答Jeopardy!的问题,它只是提供了答案应该出现的页面,并不是给出了特定确切的答案。人们应该尝试各种简单的策略来走得更远一点。比如说从第一个返回结果的标题中得到答案——此时最好的搜索引擎实际上只有大约20%的正确率。
不过最终显然的是,在Jeopardy需要更多的努力——这就是IBM所做的。
那么,Jeopardy项目更深远的影响是什么呢?这就是类似于人工智能能够通过某种意义上“只会计算”的系统实现的一个例子(或者类似的,也能被看做我所做的工作领域出现的计算机等价性原理的一个证据,)。
不过更具体的说来,这和IBM历史以来商业核心活动相关:处理企业和其他组织的内部数据。
企业数据主要有两种:结构化的(通常是数值型,未来逐渐需要自动化的)和非结构化的(通常是文本或者基于图像的)。IBM的Jeopardy!方法处理的是从非结构化的本文数据中回答问题——这也有潜力应用在医学文档或者专利的数据挖掘、诉讼的电子探索。这只是在最近一段时间,搜索引擎技术才广泛的应用在这些方面——IBM带着Jeopardy!项目方法加入了一些试图在使用自然语言处理方法上有进一步进展的公司联盟。
当处理结构化的企业数据时, Jeopardy!项目方法并不相关。相反,现在存在一个基于传统商业情报和数据挖掘方法的大产业,实际上这允许人们用结构化方式来研究结构化数据。
就是在这个领域里,Wolfram|Alpha使得一个特别明显的技术突破成为了可能:使人们第一次能够以格式完全自由的非结构化的方式来自动研究结构化的数据。一个人用自然语言问了一个问题,由特定企业数据建构的客户版的Wolfram|Alpha能够用它计算的知识和算法基于数据算出一个答案——实际上是生成关于这个答案的完整报告。
那么Wolfram|Alpha和IBM的Jeopardy方法能怎样协作呢?现在这还没实现,不过如果有个沃森二代,它可能被设计成能够使用Wolfram|Alpha的应用程序接口。IBM显然已经使用了一定数量的结构化数据和规则,比如说,给候选答案评分。不过我们发现即使就算在自然语言处理中,如果能够获得广而深的各方面的计算化的知识,我们能够做到更好。当回到实际回答各种繁多问题的时候,则需要Wolfram|Alpha所拥有的这种能力来处理事情。
另一方面,谈及Wolfram|Alpha中的数据,我们主要关注在最佳结构化的资源。但是有时候我们别无选择,只能试着从非结构化的文本资源中抽取结构化数据。就我们的经验而言,这总是一个不可靠的过程(大概最多可能达到80%的准确性)——为了将后来专业的维护,至今我们主要只在为了“prime the pump”才这么做 。但是或许和IBM的Jeopardy方法类似的是,获得大量可靠的候选数据答案还是可能的——这些数据本身将会成为整个Wolfram|Alpha可计算化知识引擎系统的来源。
看看未来这一切会怎样将会很有意思,不过现在我只是很期望看到IBM出现在Jeopardy!上。
IBM在重视研发上有着长久而杰出的历史——现在只有屈指可数的几个公司才能这样。我在IBM研发中心有一些挚友(遗憾的是并不都还活着),IBM作为一个公司是非常值得景仰的。在我自己长期兴趣如此接近的领域,看到IBM做出这样了不起的展示真的很棒。
Jeopardy!上好运哦!沃森,我会为你加油的!