推理一阶逻辑

时间:2017-04-12 16:52:07

标签: nlp first-order-logic

我一直在阅读有关将自然语言句子转换为一阶逻辑的内容,我对如何在一阶逻辑中表达逻辑推理感到好奇。

我想知道如何将“事件A因事件B而发生”等句子转换为一阶逻辑。

我能想到的这样一句话的一个例子是:

X is evil; Because X is evil, X kills Y.

上述句子如何用一阶逻辑表示?

我想到的解决方案是:

Evil(X) -> Kills(X, Y)

但是我不确定这是否正确,因为我在网上找不到类似句子的例子。如果这是错的,为什么这是错的,我该如何纠正呢?

1 个答案:

答案 0 :(得分:0)

我认为这种连接如“因为”是有问题的,因为它不符合“逻辑连接”标准。您无法验证推理发生的条件。 为了exapmle: “我摔倒是因为我跑得很快”。 你无法证实我摔倒是因为我跑得快。有人可能会推我,或者我偶然发现了马路对面的物体。这意味着您需要一些额外的信息,有关该事件的更多详细信息,并且第一顺序逻辑不会处理该事件。它只处理逻辑连接词,它是连接词,不需要关于事件的进一步信息,以验证或反驳命题。