我想知道是否有人熟悉算法句子否定的任何尝试。
例如,给定“这本书很好”这样的句子,请提供任意数量的意思相反的替代句子,例如“这本书不好”甚至“这本书不好”。
显然,以高精度实现这一目标可能超出了当前 NLP 的范围,但我确信在这个主题上已经有了一些工作。如果有人知道任何工作,愿意给我指出一些论文吗?
最佳答案
虽然我不知道有任何专门研究自动生成否定句的工作,但我想一个好的起点是阅读 formal semantics 中的语言学工作。和 pragmatics 。一个很好理解的介绍是 Steven C. Levinson's Pragmatics书。
我认为您会遇到的一个问题是,否定句子所传达的所有信息可能非常困难。例如,取:
John fixed the vase that he broke.
即使您将其更改为约翰没有修理他打碎的花瓶,也会有一个 presupposition有一个花瓶,约翰打破了它。
同样,简单地否定句子约翰没有停止使用毒品,因为约翰停止使用毒品仍然表达了约翰曾经使用过毒品。更彻底的否定是约翰从未使用过毒品。
您可能想要查看的一些现有自然语言处理 (NLP) 工作是 MacCartney 和 Manning 2007 年的 Natural Logic for Textual Inference 。在本文中,他们使用 George Lakoff 的自然逻辑概念和 Sanchez Valencia 的单调性演算来创建软件,可以自动确定一个句子是否包含另一个句子。您可能可以使用他们的一些技术来检测非蕴涵,从而人为地构建否定和矛盾的句子。
关于nlp - 否定句子的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2633353/