artificial-intelligence - 将自然语言表示为 RDF

标签 artificial-intelligence machine-learning rdf semantics owl

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

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

最佳答案

也许看看 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结构映射到 OWL 属性名称:如果参数是数字或字符串,则为数据属性名称,否则为对象属性名称

此映射不支持 ACE 支持的许多词类,例如不及物动词和双及物动词、不及物形容词和副词。覆盖范围可以扩大,例如不及物动词可以映射到 OWL 类别(例如“John sleeps.”可以表示个体 John 属于 sleepers 类别)。目前尚不清楚如何处理,例如双及物动词和副词。

一般来说,英语的构建 block (名词、不同类型的形容词、不同类型的动词……)比 OWL(具有类、个体、对象和数据属性,以及(类型化))要丰富得多。 )数据项,例如字符串和数字)。这只是“文字与实体”的层面。像时态这样的东西更加复杂,因为它们在英语中有许多表面表示,并且在 OWL 方面缺乏任何内置内容。

关于artificial-intelligence - 将自然语言表示为 RDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3408867/

相关文章:

python - 提供了断言错误 : The algorithm only supports <class 'gym.spaces.box.Box' > as action spaces but Box(-1. 0, 1.0, (3,), float32)

python - keras 预测错误

python - 数据集中分类变量之间的相关性

sparql - Fuseki 猫头鹰推理机无法与 TDB 配合使用

uri - 芝麻帆 openrdf 中类型化 URI 的使用

machine-learning - KNN算法,测试点成为训练集吗?

algorithm - 探索某些点的最短路径是什么

machine-learning - RNN : Back-propagation through time when output is taken only at final timestep

python - Tensorflow:动态进行字母预测

rdf - 从 RDF 数据填充 RDFS 本​​体