2010-08-04 70 views
12

RDF/OWL能夠表示多少用自然語言表達的概念?我仍然在學習RDF和其他語義技術,但正如我目前所瞭解的那樣,信息通常表示爲表單的三元組(主體,謂詞,對象)。所以我可以想象一下,「鮑勃有一頂帽子」的句子可能會如何表現出來。然而,你會如何表述一個更復雜的句子,比如「第42街上的鮑勃,在業主批准後在商場有工作」?代表名詞/動詞/所有權/因果關係/時態等的標籤是否有約定?將自然語言表示爲RDF

請注意,我不是問如何自動將任意自然語言文本轉換爲RDF(因爲目前看起來不可能)。我只是想了解RDF如何被用來表示與自然語言相同的信息。

回答

11

也許看看Attempto project的目標是定義一個可以自動映射到一階邏輯的英文片段。這項工作的一部分是映射到OWL 2 DL。見例如Writing OWL ontologies in ACE

你的例句

Bob, over on 42nd street, will have a job at the Mall after the owner approves 

可以在Attempto受控英語(ACE)爲

If an owner of Mall approves John whose address is "42nd street" 
    then he is employed by Mall. 

被改寫(或類似的東西,這取決於你到底打算說。)

這句話可以自動映射到OWL2 SubClassOf -axiom

SubClassOf(
     ObjectIntersectionOf(
     ObjectOneOf(
      :Mall 
     ) 
     ObjectSomeValuesFrom(
      :owner 
      ObjectSomeValuesFrom(
       :approve 
       ObjectIntersectionOf(
        ObjectOneOf(
        :John 
       ) 
        DataHasValue(
        :address 
        "42nd street"^^<http://www.w3.org/2001/XMLSchema#string> 
       ) 
       ) 
      ) 
     ) 
    ) 
     ObjectSomeValuesFrom(
     :employ 
     ObjectOneOf(
      :John 
     ) 
    ) 
    ) 

這個映射實現有關基本詞類某些約定:

  • 普通名詞映射到OWL類名
  • 適當的名稱映射到OWL個人的名字
  • 及物動詞,傳遞形容詞和 -constructions映射到OWL屬性名稱:數據屬性名稱,如果它們的參數是數字或字符串,則返回對象屬性名稱

此映射不支持ACE支持的許多單詞類,例如,不及物動詞和不及物動詞,不及物形容詞和副詞。覆蓋範圍可以擴大,例如不及物動詞可以映射到OWL類(例如,「約翰睡覺,」可以被認爲是指個人約翰屬於睡眠者類)。不太清楚如何處理雙轉喻動詞和副詞。一般來說,英語在構成塊(名詞,不同類型的形容詞,不同類型的動詞......)方面比OWL(它具有類,個人,對象和數據屬性,以及(鍵入)數據項(如字符串和數字)。這只是「單詞與實體」級別。像時態這樣的東西比較複雜,因爲他們有許多英文表面表達,而OWL方面缺乏任何內置功能。

+0

幹得好。經過一番調查,確切的APE電話是: ./ape.exe -text「如果p:Mall v:的所有者同意p:John的地址是」42nd street「,那麼John是n的僱員: p:購物中心。「-cparaphrase – Cerin 2010-08-06 15:33:37

+0

有趣的是,ACE支持的大多數功能都不被RDF/OWL明確支持,因爲它們不支持形容詞,副詞和其他常見詞類。試圖將我的句子導出到OWL會產生一個錯誤,但如果我將它作爲話語表示結構(DRS)導出,則工作正常。 – Cerin 2010-08-08 05:32:22

+0

@ chris -s我已經擴展了答案以迴應您的第二條評論。 – Kaarel 2010-08-09 03:42:27