我对使用现有规则为域开发自然语言命令语言感兴趣。当Terry Winograd的SHRDLU显示出来时(下面的谈话是40岁!令人惊讶),我印象非常深刻。我们现在可以做得更好吗?如果有,我可以在哪里获得实例?
人:拿起一个大红色块 电脑:好的。
人:抓住金字塔 电脑:我不明白你的意思是哪个金字塔 人(改变他们的想法):找到一个高于你所持有的块并将其放入盒子中 计算机:通过“它”,我认为你的意思是比我持有的那块更高的块 电脑:好的。
人:盒子包含什么?
计算机:蓝色金字塔和蓝色块 人:支持的金字塔是什么? 电脑:盒子。
人:盒子里没有多少块? 电脑:其中四个。
人:至少有一个比我告诉你的那个更窄吗? 电脑:是的,红色的立方体。
我有一个域的本体,所以可以解释常见的问题。
答案 0 :(得分:3)
查看OpenCyc,一般知识库和常识推理引擎。
答案 1 :(得分:1)
查看Attempto project中开发的受控英语(ACE)。 它似乎具有所需的表现力和灵活性。 ACE解析器将ACE句子解析为一阶逻辑公式(称为DRS的变体),然后可以将其用于进一步处理,例如,自动推理。 解析器在LGPL下可用,请参阅演示here。
答案 2 :(得分:0)
我刚刚遇到过美国宇航局广泛使用的轩辕(http://en.wikipedia.org/wiki/Regulus_Grammar_Compiler)。