1. 程式人生 > >什麼是電腦科學中的“本體論”

什麼是電腦科學中的“本體論”

最近看使用者畫像,裡面提到了本體論。故把知乎一個回答放於此地。

一、本體的概念

本體的概念有兩層意思,一層是哲學層面的意思,一層是引申到資訊科學中的語義層面的意思。
舉個最通俗的例子來解釋一下這兩層意思,我們就拿蘋果來舉例。關於蘋果的描述可以有很多,這裡取三個

  1. 蘋果
  2. apple
  3. (蘋果的圖片)

 


也就是說,中文的“蘋果”,英文的“apple”和“蘋果的圖片”都可以讓人知道是在表示蘋果這樣東西。那麼在哲學層面,蘋果這樣東西就是亞里士多德口中的“實體”,巴門尼德口中的“存在”,和本體論中所說的“本體”。而“蘋果”,“apple”和“蘋果的圖片”就統統是描述這個“本體”的符號。
因此通過上面這個例子我們就可以體會到,“本體”這個概念在哲學層面上是形而上的,是隻可意會不可言傳的,因為所有的描述都成為了“本體”的外在符號,我們世界上的所有影象、語言、我們看到的、聽到的、感受到的,都成為符號到本體的某種對映。

 

那說完了哲學層面的意思,我們再看看資訊科學中“本體”的意思,也就是題主問的語義web中“本體”的意思。
既然我們都已經理解了哲學層面上所有的符號到本體存在對映,那麼語義層面就很好理解了,我們的主要目的就是要建立這樣一種對映,舉個簡單的例子,我們就是希望把
{“THU”,"Tsinghua", "Tsinghua University","清華","清華大學"}
這個符號集都對映到“清華大學”這個“本體”上來。再深一層,我們建立了本體的集合,就可以去發掘本體之間深層的關係,有可能是“屬性-本體”的關係,有可能是“子類-本體”的關係,也有可能是“本體-本體”的對立或者是近似關係。描述語義層面的本體關係的語言就是RDF和OWL等。

再深一層的話,在建立好本體之間的關係之後能幹什麼呢?我們就可以進行語義層面上的推理了啊,推理的結果可以映射回語言層面形成新的組合。舉個例子:

  1. 我們把各民族表示蘋果的語言都對映到“蘋果”這個本體上,這是第一步本體對映;
  2. 蘋果這個“本體”可以跟“名詞主體”建立隸屬關係,這是第二步建立本體之間的邏輯關係;
  3. “名詞主體”可以跟在“動詞主體”之後,形成動賓結構,我們在這個動賓結構之上,經過反對映,就可以實現各語種之間的翻譯,這是邏輯推理和實際應用。

 

其實不僅限於語義Web,很多機器學習、自然語言處理和人工智慧的方法都在做本體對映和推理,只是表現的形式不同罷了,所以也建議IT狗們能讀一讀“本體論”,“認識論”的書籍,說不定能有更深的認識。

二、常見的本體構成要素包括:

    個體(例項):基礎的或者說“底層的”物件。
    類:集合(sets)、概念、物件型別或者說事物的種類。
    屬性:物件(和類)所可能具有的屬性、特徵、特性、特點和引數。
    關係:類與個體之間的彼此關聯所可能具有的方式。
    函數術語:在宣告語句當中,可用來代替具體術語的特定關係所構成的複雜結構。
    約束(限制):採取形式化方式所宣告的,關於接受某項斷言作為輸入而必須成立的情況的描述。
    規則:用於描述可以依據特定形式的某項斷言所能夠得出的邏輯推論的,if-then(前因-後果)式語句形式的宣告。
    公理:採取特定邏輯形式的斷言(包括規則在內)所共同構成的就是其本體在相應應用領域當中所描述的整個理論。這種定義有別於產生式語法和形式邏輯當中所說的“公理”。在這些學科當中,公理之中僅僅包括那些被斷言為先驗知識的宣告。就這裡的用法而言,“公理”之中還包括依據公理型宣告所推導得出的理論。

    事件 (哲學):屬性或關係的變化。