面向本體和Agent的常識知識庫系統《盤(pán)古》
在國際人工智能界,一直公認常識性知識的處理是人工智能的核心難題。所謂常識,是相對于專(zhuān)業(yè)知識而方言的,專(zhuān)業(yè)知識被廣泛應用于各類(lèi)專(zhuān)家系統和應用軟件之中,人類(lèi)積累的專(zhuān)業(yè)知識雖浩如煙海,但比起常識來(lái),專(zhuān)業(yè)知識還只如小巫見(jiàn)大巫,McCarthy曾指出:缺乏常識是當前專(zhuān)家系統的一大弱點(diǎn)。
常識問(wèn)題的一個(gè)非常重要的研究方向就是常識和常識處理的數學(xué)模型,這里涉及到常識的各種表示(一階邏輯、產(chǎn)生式系統、語(yǔ)義網(wǎng)絡(luò )、神經(jīng)元網(wǎng)絡(luò )等),以及常識處理的各種原則(演繹、歸納、定性推理、模糊推理、非單調推理、次協(xié)調推理等),尤其非單調推理和非單調邏輯是專(zhuān)為研究常識推理中的非單調性而提出來(lái)的。有關(guān)常識問(wèn)題的各種理論研究大大推動(dòng)了常識推理研究的進(jìn)展,其中某些研究已經(jīng)開(kāi)始向實(shí)用方面發(fā)展,例如利用非單調推理作真值維護。但是,這些研究就其主要方面來(lái)說(shuō)還是理論研究,缺少“重量級”的應用,其原因主要是常識及其推理的特性廣泛、模糊且復雜,例如:Sowa把常識比喻為“知識湯”,曹存根把常識比做知識云。非單調邏輯的研究?jì)H僅抓住了常識推理中會(huì )出現非單調性這一特點(diǎn)做文章。實(shí)際上,常識推理中還有許多各種各樣的特性有待于深入廣泛的研究。
Feigenbaum從另一個(gè)角度強調知識的重要性,但他更重視的是專(zhuān)業(yè)知識,受他影響的Lenat前幾年開(kāi)始搞一個(gè)CYC計劃。其理論基礎是他們提出的所謂“知識原則”三階段計劃:通過(guò)構造一個(gè)海量知識庫,第1階段可支持相當大一部分現有問(wèn)題的解決,第2階段可用類(lèi)比推理解決很多新問(wèn)題,第3階段可以令計算機自己發(fā)現知識,這是一個(gè)野心勃勃的計劃,評論者對此意見(jiàn)紛紛。許多人認為這個(gè)計劃是難以實(shí)現的。另外,Lenat等人正在建的CYC海量知識庫,并沒(méi)有考慮到專(zhuān)業(yè)知識和常識的界限,其重點(diǎn)沒(méi)有放在常識本身。有人就批評他們把收集來(lái)的大批技術(shù)報告整本整本地錄進(jìn)知識庫中,這種做法并不能提高人們對常識性知識的本質(zhì)的認識,也難以使常識性知識庫真正達到實(shí)用的地步。真實(shí)上,我們至今未見(jiàn)的CYC實(shí)際應用的報告。
我們研究常識問(wèn)題走的是另一條道路。我們建立了一個(gè)大規模的常識知識庫,并探討利用常識知識庫來(lái)解決一些實(shí)際任務(wù)(如機器翻譯、自然語(yǔ)言理解)中涉及的常識問(wèn)題,在此基礎上進(jìn)一步探討一般的常識性知識的處理和實(shí)用問(wèn)題。我們的工作在如下幾方面與CYC不同:(1)我們的研究對象主要不是專(zhuān)業(yè)知識,而是地地道道的日常生活中的常識;(2)我們的研究對象不僅是自然現象中的常識,而且包括社會(huì )生活中的常識;(3)我們建立的常識庫不是目前已有的各種知識的堆積,而是在深刻分析了常識性知識的本體論后按其內在的聯(lián)系有機地組織起來(lái)的;(4)我們建立的常識知識庫將面向廣泛的應用,而不僅僅是簡(jiǎn)單的知識查詢(xún);(5)由于有實(shí)際應用背景,我們的工作將避免CYC的毛?。哼^(guò)于一般地收集百科全書(shū)式的知識,我們的常識知識庫將更加實(shí)際有效。
常識知識庫的組織形式是一個(gè)關(guān)鍵問(wèn)題,需服從于功能要求。我們的常識知識庫的功能粗略地分為3個(gè)層次。最高一層是應用層,解決各類(lèi)不同應用領(lǐng)域的特殊問(wèn)題。中間一層是問(wèn)題類(lèi)型層,歸納出各種不同的提問(wèn)內容和方式。注意:不同的應用領(lǐng)域可以有某些相同的問(wèn)題類(lèi)型。最下面一層是問(wèn)題表示層。表示的基本形式是語(yǔ)義網(wǎng)絡(luò )Csnet。下面是一個(gè)不完全的應用層功能清單:
(1)常識查詢(xún)。如“請回答:為什么新鮮牛奶要煮過(guò)才能喝?”
(2)常識檢查。如“請檢查‘公主在眼鏡里游泳’這句話(huà)是否符合常識”
(3)常識展開(kāi)。如“請根據本故事的上下文給出‘公主和王子結婚’的過(guò)程細節”
(4)常識聯(lián)想。如“‘床上有一個(gè)足球,一塊毛巾’,請對此情景給出解釋”
(5)常識排疑。如“‘張三打了李四,他很生氣’,這里的‘他’指的是誰(shuí)?”
(6)常識分析。如“王五去打醋,過(guò)一會(huì )兒提著(zhù)空瓶回來(lái)了’,這是怎么回事?”
(7)常識對話(huà)。如“用戶(hù)輸入‘我的表停了’,請設計一句應答的話(huà)”
以上功能涉及機器翻譯、自然語(yǔ)言理解、動(dòng)畫(huà)自動(dòng)生成、自適應人機界面等多種應用領(lǐng)域。為了實(shí)現這些功能,我們考察了已有的各種知識庫的形式。通常專(zhuān)家系統知識庫采用的規則、框架、產(chǎn)生式等表示方式在描述那些知識湯、知識云,用它們來(lái)解決上面列出的問(wèn)題,其描述能力就顯得過(guò)于簡(jiǎn)單了。Lenat的CYC系統原則上采用一階謂詞演算加框架樹(shù)作知識表示,以框架樹(shù)表示基本知識(客觀(guān)世界中物理和精神對象的分類(lèi)體系),以謂詞演算作推理手段,并為每個(gè)問(wèn)題領(lǐng)域建立一個(gè)微理論(公理體系)。經(jīng)過(guò)10年努力,耗費200人年的工作量,才建立起一個(gè)擁有百萬(wàn)斷言的知識庫。易于看出,這樣的知識表示和知識庫結構還是以面向專(zhuān)業(yè)知識為主的。CYC中雖然加進(jìn)了部分非單調推理功能,但這主要是一種理論上的點(diǎn)綴,并不能解決許多實(shí)用問(wèn)題。
為此,我們選定Agent作為專(zhuān)家的表示機制,以Agent類(lèi)屬作為縱向繼承體系,并按本體論原則組織各Agent的橫向聯(lián)系。我們的常識存儲是分布式的,它不僅體現在單個(gè)Agent的個(gè)體知識之中,而且體現在A(yíng)gent集體的組織結構之中。由于常識性知識極其模糊和無(wú)邊無(wú)沿,本系統起名為Pangu(盤(pán)古),取其劈開(kāi)混沌,區分清濁之意。
聯(lián)系客服