我想知道是否有人熟悉算法句子否定的任何尝试.
例如,给出一个像"这本书好"的句子,提供任意数量的替代句子,意思相反,如"这本书不好",甚至"这本书不好".
显然,以高精度完成这一点可能超出了当前NLP的范围,但我确信已经有一些关于这个问题的工作.如果有人知道任何工作,请指点我一些文件?
虽然我不知道任何专门考虑自动生成否定句子的工作,但我想一个好的起点是阅读语言学在形式语义和语用学方面的工作.Steven C. Levinson的语用学书籍是一本很容易理解的介绍.
我认为你会遇到的一个问题是,否定一句话所传达的所有信息是非常困难的.例如,采取:
John fixed the vase that he broke.
即使你改变这个约翰没有修理他破坏的花瓶,也有一个预设,即有一个花瓶,约翰打破了它.
同样地,简单地否定约翰没有停止使用毒品的句子,因为约翰停止使用毒品仍然传达了约翰一度使用毒品.更彻底的否定将是约翰从未使用毒品.
您可能想要查看的一些现有的自然语言处理(NLP)工作是MacCartney和Manning 2007的Textual In Text Logic.在本文中,他们使用George Lakoff的自然逻辑概念和Sanchez Valencia的单调性微积分创建软件,自动确定一个句子是否需要另一个句子.你可以使用他们的一些技巧来检测非蕴涵来人为地构造否定和矛盾的句子.