Cyc簡介

Cyc中的概念被稱爲“常量(constants)”。常量以"#$"開頭並區分大小寫。常量主要分爲以下幾類:
個體,即individuals:例如 #$BillClinton 又如 #$France。
集合,即Collections:例如 #$Tree-ThePlant (包含所有的樹),又如 #$EquivalenceRelation (包含所有的等價關係)。集合中的個體被稱爲該集合的實例(instance)。
真值函數,即Truth Functions:該函數可被應用於一個或多個概念,並返回“真”或“假”。例如 #$siblings 表示兄弟姐妹關係,若兩個參數對應的內容爲兄弟姐妹關係,則該概念返回真值。約定真值函數以小寫字母開頭,並且可以被拆分爲若干個邏輯連接詞(例如 #$and、#$or、#$not、#$implies)、量詞(#$forAll, #$thereExists 等等)以及謂詞。
函數,即Functions:用於以現有術語爲基礎產生新的術語。例如 #$FruitFn 具有以下作用:若接收到用於描述一種(或一個集合)植物的聲明,則會返回其果實。約定函數常量以大寫字母開頭,並以“Fn”作爲結尾。
Cyc中的謂詞最重要的是 #$isa 以及 #$genls。#$isa 表示某個對象是某個集合的個體(instance),#$genls 表示某個集合是另外一個集合的子集合。由概念構成的事實採用CycL語言描述的“句子”表示。謂詞則寫在與其相關的對象之前,並以括號括起來:
(#$isa #$BillClinton #$UnitedStatesPresident)
表示 “Bill Clinton屬於美國總統集合”;
(#$genls #$Tree-ThePlant #$Plant)
表示“所有的樹都是植物”;
(#$capitalCity #$France #$Paris)
表示“巴黎是法國的首都”。
句子中可以包含變量,變量字符串以 "?"開頭,這些句子被稱爲“規則”。與#$isa謂詞有關的一條規則如下所示:
(#$implies (#$and (#$isa ?OBJ ?SUBSET) (#$genls ?SUBSET ?SUPERSET)) (#$isa ?OBJ ?SUPERSET))
上面的規則可解釋爲:"若OBJ爲集合SUBSET中的一個實例,並且SUBSET是SUPERSET的子集,則OBJ是集合SUPERSET的一個實例。下面再給出另外一個典型的示例:
(#$relationAllExists #$biologicalMother #$ChordataPhylum #$FemaleAnimal)
上面的規則可解釋爲:對於脊索動物(chordate)集合#$ChordataPhylum中的所有實例,都存在一個母性動物(爲#$FemaleAnimal的實例)作爲其母親(通過謂詞#$biologicalMother描述)。
Cyc知識庫是由許多“microtheories” (Mt)構成的,概念集合和事實集合一般與特定的Mt關聯。與整體的知識庫有所不同的是,每一個Mt相互之間並不矛盾,每一個Mt具有一個常量名,Mt常量約定以字符串 "Mt"結尾。例如:#$MathMt 表示包含數學知識的Mt,Mt之間可以相互繼承得到並組織成一個層次化的結構。例如#$MathMt 特化到更爲精細的層次便包含了如 #$GeometryGMt,即有關幾何的Mt。
推理引擎
推理引擎是從知識庫中經過推理獲取答案的計算機程序。Cyc推理引擎支持一般的邏輯演繹推理,包括[5]:
肯定前件假言推理(Modus ponens)
否定後件假言推理(Modus tollens)
全稱量化(universal quantification)
存在量化(existential quantification)。
發佈版本OpenCyc
OpenCyc的最近一個版本是於2009年7月發佈的OpenCyc 2.0版。OpenCyc 1.0版涵蓋了完整的Cyc本體,其中包含了47000個概念、306000個事實,主要是分類斷言,並不包含Cyc中的複雜規則。
OpenCyc的第一個版本發佈於2002年春天,該版本僅包含6000個概念、60000條事實。該知識庫是在Apache許可證保護下發布的。Cycorp公司已表示有意採用無限制的授權形式及多種授權形式滿足其用戶的需求。CycL和SubL解釋器(允許用戶瀏覽並編輯知識庫、並具有推理功能)是免費發佈給用戶的,但是僅包含二進制文件,並不包含源代碼。OpenCyc具有針對Linux操作系統及微軟Windows操作系統的發行版。開源項目Texai[6] 項目發佈了RDF版本的OpenCyc知識庫[7]。
ResearchCyc
2006年,Cycorp發佈了二進制版本的ResearchCyc 1.0,這是向科研社羣發佈的免費版本的Cyc(ResearchCyc在2004年經過了一整年的測試開發,並於2005年2月發佈了測試版)。ResearchCyc中除了包含OpenCyc中的分類信息外,還在知識庫中顯著增加了許多語義知識(及附加的事實),並加入了一個龐大的詞彙表、英文解析與生成工具、及用於編輯、查詢知識的Java接口。
應用恐怖主義知識庫項目
恐怖主義綜合知識庫是一個正在開發中的Cyc應用,該應用的目標是最終創建一個包含所有恐怖組織、相關成員、領袖、其世界觀、創建者、贊助者、設施、地點、經費、目的、行爲、戰術及某次特定恐怖活動事實的知識庫。該類知識以數理邏輯表示的聲明形式存儲[8]。
Cyclopedia項目
Cyclopedia是一個正在開發的項目,它致力於用Cyc中的關鍵詞對Wikipedia網頁上的內容進行標註[9][10]。
克利夫蘭臨牀基金會項目
克利夫蘭臨牀基金會採用Cyc開發了一個生物醫學信息的自然語言查詢系統[11]。該系統將查詢通過開放變量解析爲CycL(高階邏輯)片斷構成的集合,隨後通過應用各種約束(如醫學領域知識、常識、語篇語用學、語法)之後,找到將這些片斷結合在一起,形成語義豐富的形式化查詢的方法[12]。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章