将自然语言表示为RDF

时间:2010-08-04 19:00:17

标签: artificial-intelligence machine-learning rdf semantics owl

自然语言中传达的概念有多少是RDF / OWL能够代表的?我还在学习RDF和其他语义技术,但正如我目前所理解的那样,信息通常表示为形式的三元组(主语,谓词,宾语)。所以我可以想象如何表达“Bob有帽子”的句子。但是,你怎么会代表一个更复杂的句子,比如“鲍勃,在第42街上,在主人批准后会在购物中心找到工作”?是否有代表名词/动词/所有权/因果关系/时态/等的标签约定?

注意,我不是问如何自动将任意自然语言文本转换为RDF(因为目前看来这是不可能的)。我只想了解如何使用RDF来表示自然语言所代表的相同信息。

1 个答案:

答案 0 :(得分: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 Controlled English(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个人姓名
  • 及物动词,及物形容词和 of -constructions映射到OWL属性名称:数据属性名称,如果它们的参数是数字或字符串,则是对象属性名称

此映射不支持ACE支持的许多单词类,例如不及物动词和双动词动词,不及物动词形容词和副词。覆盖范围可以延长,例如不及物动词可以映射到OWL类(例如“ John sleeps。”可以表示个人 John 属于睡眠者类)。如何处理例如不太清楚双原子动词和副词。

一般来说,英语在构建块(名词,不同类型的形容词,不同类型的动词......)方面比OWL(具有类,个体,对象和数据属性,以及类型)更丰富)数据项,如字符串和数字)。这只是“单词与实体”级别。紧张之类的事情比较复杂,因为它们有很多英文表面表示,而且在OWL方面没有内置插件。