你将如何为本体中不同用户断言的陈述分配客观的确定性?
例如,假设用户A断言“Bob的帽子是蓝色的”,而用户B断言“Bob的帽子是红色的”。 你将如何确定以下情况:
- 用户A和用户B指的是不同的名为Bob的人,并且可能正确或不正确。
- 两个用户指的是同一个人,但是用户A是对的,而用户B是错的(或者相反)。
- 两个用户指的是同一个人,但是用户A是对的,而用户B在撒谎(或者相反)。
- 两个用户指的是同一个人,并且两个用户都错了或者在撒谎。
我看到的主要困难是,本体没有任何方法来获取第一手数据(例如,它无法询问Bob他的帽子是什么颜色)。
我知道可能没有完全客观的方法来解决这个问题。 有没有什么可以采用的启发式方法? 这个问题是否有正式的名称?
回答:
我不是这个领域的专家,但是我对本体和语义网中的不确定性进行了一些研究。 当然,有一些解决此问题的方法与语义网无关,但我的知识仅限于此。
我认为与你的问题相关的两个问题是身份危机和URI危机。 上述声明的正式表示可以使用RDF(资源描述框架)发布。
如果我将陈述“Bob的帽子是蓝色/红色”转换为三元组,则为:
事实 1:
- X 是一个 Person
- X 具有 Name “Bob”
- X 拥有 H1
- H1 是一个 Hat
- H1 具有 Color Blue
事实 2:
- Y 是一个 Person
- Y 具有 Name “Bob”
- Y 拥有 H2
- H2 是一个 Hat
- H2 具有 Color Red
这里的问题是,X、Y、H1 和 H2 是资源,它们可能相同,也可能不同。 因此,在你的示例中,不知道 X 和 Y 是否是同一个人或不同的人,如果没有更多信息,你无法知道。(帽子也一样。)
但是,问题更加复杂,因为用户A和B只是陈述了这些事情,因此它们不是“真实的”事实。 RDF 提供了Reification的方法,但我不在此处完整地写下它,那将太长了。 基本上,你要做的就是将“UserA statesThat (…)”添加到上述每个声明中。
如果拥有所有这些,则可以开始推理。 在大学里,我们曾经使用RACER来处理这类事情,但那是旧版本,我对当前版本不熟悉。
当然,你也可以在没有 RDF 的情况下进行这些操作,例如,在 LISP 中。
希望对你有所帮助。