新计算时代来临——CYC能带给我们什么?

新计算时代来临
——CYC能带给我们什么?

■清华大学 徐剑军 李涓子 王克宏



在过去几年中,CYC系统取得了很大的突破。其原因有四:

● 其理论及算法在坚持不懈地研究和改良。

● 计算机硬件条件不断改善。

● 原始数据不断增加。

● 网络带来的应用需求不断增长。

现在CYC系统将要粉墨登场。今年晚些时候,CYCorp公司将对公众开放CYC系统知识库的一部分:相当于该系统的心脏和灵魂的断言和推理部分。

这次名为“公开的CYC系统”的发布行动将允许人们免费使用有限的知识库,通过一个网站浏览它或把从语音识别软件到数据库搜寻等各种功能吸收到自己的应用程序中去。使用者甚至能把新的事实和概念补充到现有的CYC知识库系统中,当然这些都需要在一个技术委员会的监督之下进行。对外公开的部分仅占整个知识库的1/20,整个知识库将给付费的商业用户使用。该公司还将公开两个独立的应用程序,一个是用来确定大型计算机网络中的安全漏洞,另一个是用来回答用自然语言提出的各个问题。

CYC知识库系统的核心

——建模思想

对CYC这样庞大的知识库系统,重要的已经不仅仅是知识的表示及推理机制,而是从建模的角度出发,研究知识库系统的开发方法。

CYC在发展中出现的问题与20世纪60年代软件开发所遇到的情况有着相似之处:当时人们对软件的着眼点在于算法的应用和许许多多的用于降低系统资源需求、提高性能的技巧上。但是,人们渐渐发现用于开发小型实验室原型系统的技术无法适用于大型商业软件的开发与维护。软件危机最终导致了软件工程方法学的建立。与此相类似,早期对知识库系统的研究侧重于知识的表示及推理机制,与之对应的开发技术能够用于实现一些规模较小的系统,但将其用于构造大型商业化知识库系统的努力却往往以失败告终。因此,解决知识库系统开发中所面临的问题同样需要方法学的变革。这种变革要求我们从建模的角度出发,研究知识库系统的开发方法。

在当今各类知识库系统建模框架中比较有代表性的有:KADS及其后续的发展CommonKADS、MIKE、PROTEGE、VITAL、Commet等。其中,KADS和CommonKADS由于提出了“知识模型”的结构而在研究中占有十分重要的地位。各种建模框架的基本思想是类似的,但具体实现的途径、细节和侧重点不同。结合KADS简述当前知识库建模框架的基本结构。

KADS描述了一组相关模型的建立,其中每一个均与知识库系统的开发及其所处环境中的特定方面有关,包括组织、任务、主体、通信、知识及设计等模型。KADS方法的主要贡献及其精髓在于“知识模型(或专家模型)”(Expertise Model)。该模型将用于求解特定任务的知识划分为三个不同的层次:领域层、推理层和任务层,分别对应着知识库系统的静态视图、功能视图和动态视图。

其中领域层(Domain Layer)包含了求解问题所需的特定领域内的知识及对该领域概念的描述,构建领域层的一个重要目标就是使其尽可能多地被重用于求解各种不同的问题;推理层指明了求解问题所采用的方法,包含推理步骤和领域知识在其中所起的作用;任务层则将所需求解的问题分解成子任务,并为每一个子任务确定目标,同时明确了对子任务的控制。

对知识库结构采用层次的划分方法使知识库的可维护性大大提高,并使知识的重用成为可能。例如,在以上模型中,领域知识与问题求解方法被明确地划分到领域层和推理层,这将有利于两种类型的重用:一方面,对特定领域的描述可以被不同的问题求解方法所重用;另一方面,问题求解方法通过定义新的领域视图可以被不同的领域所重用。但仅仅将不同层次的知识区分开还是不够的。要实现系统的重用,还需要一种有效的机制来实现各层次间的灵活配置,将相互独立的层次紧密地联系在一起,共同组成一个完整的系统。本体论(Ontology)就是这一机制的核心。

通过对CYC的分析我们不难发现,它在近期取得了重大突破的原因并不是理论的突破和算法的革命,而是它有一个先进的、并不断创新的系统框架。在这个框架下,各个层次与模块间交互规范、便利,同时各自又有很好的独立性和可升级性。因此,知识得以不断积累,加之硬件性能的提升,CYC系统才得以不断发展。图1是CYC系统的结构模型。

从图1中不难看出,CYC结构的一个重要特点就是分层。而各层支持上一层的调用,本身也可独立使用,直接接受外部的调用。

CYC发展的前景——

解决应用的基础问题

CYC自身需要不断发展,不断充实更多的常识。但是,CYC更重要的发展是如何让关心它的用户和应用更好地利用它。

CYC技术正处于一个高速发展的阶段,随着其知识库的不断扩充,推理引擎算法的改进以及计算机硬件条件的飞速变化,各种全新的应用不断涌现,而应用需求本身又在推动CYC技术的成熟。根据CYCorp 技术人员的预计,将来的CYC系统将是具有人类常识辩解能力的、同时又专注于不同领域、具有不同推理和事务解决能力特长的计算机专家系统。

CYC技术的另外一个发展方向是采用分布式的体系结构。目前的CYC系统可以支持数十个用户同时使用,但是随着应用需求的提升,今后几年中CYC系统将要面对一个必然出现的技术瓶颈:如何支持成千上万的用户同时使用系统。可能的解决方案有两个:其一是每个用户(或工作组)使用一个独立的本地系统,目前CYCorp公司内部开发时就是采用这种方式。但是CYC本身以百万计的断言带来的计算和管理成本将形成企业的巨大开支,从而使这种方式的实用价值微乎其微。

其二是使用分布式技术。正如现实社会中的情形,我们彼此不同而又相互合作。尽管大多数人都具备普遍的常识和沟通能力,但没有人拥有人类的全部知识。实际上,我们各自拥有不同的技能,比如法律、医学、建筑和软件设计等。当一个人缺乏解决问题的知识时,他总是通过联系一个特定领域的专家来处理。当我为了头痛去找牙医时,牙医的医学常识和我对于自身症状的认识结合起来,就解决了一个任一单体(我或者牙医)都无法单独解决的问题。分布式的CYC结构也是如此,不同领域专长的CYC Agents 通过网络相连,它们之间由特定的协议绑定,更为重要的是它们每个人都具备通过合作来进行推理的能力。其实这种能力在将来的跨行业间的客户关系管理行为中具有极大的应用前景。目前CYCorp在Maryland大学已经开始了这一方面的开发,相信在未来几年将成为CYC技术的一个主流。

从CYC可以得到的东西——

建立基于网络计算模式的知识处理框架

自从Internet出现后,尤其是WWW的迅猛发展,知识工程所研究的内容、对象和方法发生了天翻地覆的变化,传统的研究途径与做法都不能解决知识工程中出现的新问题。借鉴CYC的经验,我们可以建立新的网络计算模式的知识处理框架。

笔者所在的清华大学知识工程组一直致力于由王克宏教授提出的“网络计算模式下的知识处理”的研究。我们分析CYC系统的目的是为了更好地为我们的目标服务。

我们认为,在CYC系统基础上的可能研究方向有:

知识库系统的本地化。CYC的系统是严重语言相关的,其目前的系统无论如何完备也不可能用于中国。

知识库系统的领域化。CYC系统中的知识目前虽然主要关注于常识系统,但实际上也可以用于如历史等专业知识。

知识库系统的深入。CYC目前工作的基础主要还是一阶谓词演算。但如果能把模态逻辑、多值逻辑、非单调逻辑引入,将能扩大应用领域。

把知识库系统引入网络计算模式,这将是我们工作的重点。

知识工程(KE,Knowledge Engineering)是人工智能专家费根鲍20世纪70年代后期提出的。作为人工智能学科的一个分支,它主要研究知识的表示、获取、知识的组织与管理、利用等。经过10多年的发展变化,其基本理论与技术都已逐渐趋向成熟,CYC系统就是一个例子。

但自从Internet出现后,尤其是WWW的迅猛发展,知识工程所研究的内容、对象和方法发生了天翻地覆的变化,传统的研究途径与做法都不能解决知识工程中出现的新问题。因此,无论从研究的框架、机制、算法、模式、方法与工具,都必须有新的思路,以适应网络计算环境下的发展和应用的需求。

我们的基于网络计算模式的知识处理系统充分考虑了网络计算对知识工程的影响。

在图2中,我们用基于XML的知识处理标准数据格式uKPSsXML代替了CYC中的综合数据总线。在对外接口上,用基于uKPSkXML的Web Services的发布技术代替了CYC API的对外接口。这些都是与网络计算模式相对应的。

20世纪90年代知识工程曾一度进入低潮,人们曾经对计算机除了提高速度外可否变得更聪明深表怀疑。但CYC系统的隆重推出让我们看了希望的曙光。网络计算的普及又对知识工程提出了新课题,它将影响到知识处理的模式和需求来源。

你可能感兴趣的:(人工智能)