智能应用的基本要素
让我们再仔细地看看前一节介绍的所谓的智能应用到底有什么特点,尤其是如何区分协作与智能。试想,在某个网站上,用户可以合作编写文档。不论怎么定义“先进”,这样的网站都应该算得上先进了。它为用户提供了一个在线的协作平台,还有简单易用的富用户界面、流畅的工作流程等。但这样的应用算得上是智能Web应用吗?
相对于单个用户撰写的文档,多个用户在该网站上完成的文档的篇幅会更长,内容会更有深度,也有可能会更准确。从这个方面看,这份文档不仅是简单地把各个作者的知识汇集在一起,同时也受到用户之间相互交流的影响。用这种方式创建的文档是所有的作者相互协作的产物。
这并不是一个新概念。例如,在科学和工程领域,行业标准通常都是由一个技术委员会制定的。委员会首先会撰写一份草案,其中汇集了专家的知识和很多兴趣小组的观点,并试图满足整个行业的需求,而不是讨好某一个人或某一家企业的需求。接着,第一份草案就会公之于众,邀请所有的人提供意见和建议。这样做的目的是让最终的文件能代表整个业界的观点,从而满足各方面的要求。
回到我们的应用。到现在为止,这个应用只是获取了集体知识,是多人协作的结果,但这还不是智能的。集体智能(collective intelligence)是一个非常流行但常常被误解的术语。集体智能需要集体知识,而且是构建在相互协作的基础之上的,但这仅仅是该软件系统被视为智能的必要条件,而不是充分条件。
为了更好地理解到底什么是“智能”,不妨假设我们想象的网站有这样一个功能:用户在撰写文档时,系统会根据当前用户输入的内容搜索与之相关的文档,并将这些文档的摘要显示在侧栏中。这些文档可以是用户自己收集的文档,也可以是其他合作者所分享的进展中的文档,还可以是其他自由分享的文档。
用户可以在所处理的文档中标记出一段内容,然后要求系统在网络上发现摘要中有与此相关的文档时就通知用户;或者更有意思的功能是,根据用户设定的标准,当社区中对用户所标记的内容的观点有变化时提醒用户。
创建有这些功能的应用所要求的不仅仅是漂亮的用户界面和一个协作平台。这样的应用需要理解用户输入的各种文本,要明白在特定语境中用户输入的内容的具体含义;要能自动地根据文档的相似性,分门别类地处理自然语言撰写的文档;需要对整个世界有系统的认识,至少也要有足够的关于文档所涉及的领域的知识;要能快速地处理符合用户要求的文档。
这样,我们就能将维基百科这样的应用跟Google搜索、Google Ads、Netflix Cinematch这样的智能应用区分开了。前一类应用是聚合并维护集体知识的协作平台。而后一类应用则能根据所收集的知识抽象出模式,进而挖掘出新的机会和价值。
下面总结一下构建智能Web应用所必需的基本要素。
·
内容聚合(aggregated content):换句话说,就是与具体应用有关的大量数据。聚合的内容不是静态的,而是动态的,它的来源和存放的地理位置都是分散的,而且这些信息之间都是相互关联的。
·
参考结构(reference structures):这些结构为内容提供了结构化、语义化的解释。例如,动态地用标签注释内容,并且持续地改进向用户展示集体知识的方式。有些人将此称为大众分类法(folksonomy)。无论是一般的参考结构或是针对某个具体领域的参考结构,都可以分为三种类型:字典、知识库和本体(ontology)(见本章的参考资料)。
·
算法:有了算法,应用才能获得数据中所隐藏的信息,并利用这些信息进行抽象(泛化),然后做出预测,最终提升用户的交互体验。算法的应用对象是聚合的内容,有时候也需要参考结构。
如图1.1所示,这三者都是智能Web应用所必需的基本元素。在本书中,我们将其称为智能三角(triangle of intelligence)。
要仔细区分这三个部分,并根据具体的需求构建最合适的三者间的交互模型。在本书的其他章节,尤其是第7章,将会继续讨论与此相关的架构设计。
本文节选自《智能WEB算法》一书。
图书详细信息:http://www.cnblogs.com/broadview/archive/2011/08/19/2145944.html