Nlp 一阶逻辑中的推理

Nlp 一阶逻辑中的推理,nlp,first-order-logic,Nlp,First Order Logic,我一直在读关于将自然语言句子转换成一阶逻辑的书,我很好奇逻辑推理是如何在一阶逻辑中表达的 我想知道如何将“事件A因事件B而发生”这样的句子转换成一阶逻辑 我能想到的一个例子是: X is evil; Because X is evil, X kills Y. 上述句子在一阶逻辑中是如何表示的 我想到的解决办法是: Evil(X) -> Kills(X, Y) 但是我不确定这是否正确,因为我在网上找不到类似句子的例子。如果这是错误的,为什么它是错误的,我该如何纠正它?我相信这样的连接,例

我一直在读关于将自然语言句子转换成一阶逻辑的书,我很好奇逻辑推理是如何在一阶逻辑中表达的

我想知道如何将“事件A因事件B而发生”这样的句子转换成一阶逻辑

我能想到的一个例子是:

X is evil; Because X is evil, X kills Y.
上述句子在一阶逻辑中是如何表示的

我想到的解决办法是:

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

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

我相信这样的连接,例如“因为”是有问题的,因为它不符合“逻辑连接”标准。您无法验证推理发生的条件。 例如: “我跌倒是因为我跑得快”。
你无法证实我摔倒是因为我跑得很快。可能有人推了我,或者我在马路对面被一个物体绊倒了。这意味着您需要一些额外的信息,关于事件的更多细节,而一阶逻辑不处理这些。它只处理逻辑连接词,这些连接词不需要关于事件的进一步信息来验证或反驳命题。

我认为,这种连接,例如“因为”是有问题的,因为它不符合“逻辑连接”标准。您无法验证推理发生的条件。 例如: “我跌倒是因为我跑得快”。
你无法证实我摔倒是因为我跑得很快。可能有人推了我,或者我在马路对面被一个物体绊倒了。这意味着您需要一些额外的信息,关于事件的更多细节,而一阶逻辑不处理这些。它只处理逻辑连接词,这些连接词不需要关于事件的进一步信息来验证或反驳命题。

有关执行此类操作的工具,请参阅Jerry Hobbs的convertor()和Johan Bos C&C tools()事件A发生在事件B之前,可以解释为知道事件B将告诉您事件A已经发生。因此B意味着A。对于做这类事情的工具——参见Jerry Hobbs的convertor()和Johan Bos C&C tools(),事件B之前发生的事件A可以解释为知道事件B会告诉您事件A已经发生。因此B意味着A。