6.CYC面面觀

CYC技術源於人類的夢想:讓機器具有人的智慧。CYC的研發對於信息技術以至人類文明進步都有重要的意義。可以想見,在不遠的將來,隨着企業對於CYC技術應用的不斷深入,各個領域的不同需求將推動CYC技術不斷走向成熟。關於CYC技術本身的一些東西,前文已經有很詳細的論述,在這裏,只簡單地列出幾個重要的內容。

·知識庫

海量人類基本知識的形式化表現,包括事實、規則,以及用於對日常生活事件進行推理的探索方法。它用形式化語言CYCL表述。到目前爲止,CYC一直是手工輸入,已經包含了40萬條左右的斷言。

·推理引擎

CYC的推理引擎進行綜合邏輯推理,包括modus ponens、modus tolens,以及普遍和存在判斷的量化。它使用了AI中一些著名的推論方法,如遺傳算法、自動分類算法等,同時也包含了一些自己的有特別用途的算法。

·CYC表述語言(CYCL)

用來表述CYC知識庫的一種形式化語言,具有容量大、表現靈活等優點。

CYCL是一種形式化的語言,它的語法來源於一階謂詞運算(形式邏輯語言)。爲了表達現實世界中各種各樣的專業知識,或者僅僅是一些常識,CYCL的發展也已經遠遠超出了一階謂詞邏輯的範圍。CYCL中的詞彙由幾部分組成:常量、可分離項(NAT)、變量、數字、字符串等。特定的項組合起來便成爲了有一定含義的表達式,最後形成嚴密的CYCL語句。將CYCL語句集合起來便成了知識庫。

·CYC API

CYC的應用程序接口(API)是一種應用程序使用的協議,它允許應用程序連接到CYC服務器上,使用CYCL的模塊和功能,並且維護CYC知識庫。

CYCL API分爲兩層:應用層,這一層提供了各種代碼模塊、函數調用和功能說明文檔;傳輸層,提供了外部應用程序與CYC實例建立連接的具體細節,如何在應用層上發送請求,並返回結果。

CYC API的應用層包含了一個列表,列表由CYCL模塊提供的函數組成。CYCorp自己設計了一種語言,叫做SubL,用這種語言可以實現CYC API。而SubL可以很容易地用Lisp或C來實現。因此,SubL可以移植到多種不同的平臺和操作系統上,函數和宏的聲明都用SubL來聲明,就像用Lisp一樣。

· 微理論

微理論是知識庫中的一個規則集合。任何一個規則必須包含在某個微理論中,一個特殊的規則也可以包含在多個微理論中。但是當這些斷言剛剛被寫入知識庫的時候,它們都在一個單獨的微理論中。

微理論是一種很具體的對象,它不只包含CYCL規則,也可以作爲元素來組成CYCL規則。某些謂詞可以用微理論來作爲其參數。

從形式上來說,知識庫中的每一個規則,無論是原始規則還是經過演繹後得出的規則,都包含在某個微理論中。CYCL中的通信系統會簡單地認爲所有的斷言、規則都包含在一個大的微理論中。一個符合規範的斷言要麼在默認的(最外層的)理論中,要麼用ist來顯式地聲明它在某一個特定的微理論中。

·自然語言處理系統

能夠通讀並且理解英文語句,具有人類常識,成爲解決自然語言處理難題的必要條件。

例如: Peter saw the plane flying over Zurich.

Peter saw the mountains flying over Zurich.

前一句說彼得看見飛機在蘇黎世上空飛翔,理解起來沒有什麼困難;而後一句對於一般的自然語言處理系統就比較難於理解了。不過,由於CYC系統獨有的自然常識辨別能力,系統會知道飛機可以飛行,而山脈不可以飛翔,所以第二句中所說的多半是彼得在飛翔了。

自然語言處理系統包含三個構件:詞典、造句法解析和語義解釋,其目標是提供友好的人機界面,爲更爲廣闊的應用提供基礎。

·語義綜合總線

語義綜合總線是CYC系統中針對不同結構的數據源,在知識庫推理引擎和啓發層模塊(HL)之間的選擇性通道。其過程如下:結構化(半結構化)的數據直接作爲虛擬斷言放入啓發層模塊,非結構化的數據通過自然語言處理系統(NL)整理後找出合適斷言,同樣放入啓發層模塊。推理引擎在總線上廣播一個請求,啓發層模塊一旦發現請求所需斷言已存在於自己的空間中,則隨即截獲請求,返還引擎數據源信息。

語義綜合總線的工作原理如下圖所示。

 

發佈了1 篇原創文章 · 獲贊 0 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章