首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prolog中的语义知识表示谓词

Prolog中的语义知识表示谓词
EN

Stack Overflow用户
提问于 2013-05-17 14:23:44
回答 1查看 554关注 0票数 1

我正在学习、DCG语法、解析树,在Prolog中使用Ivan的人工智能编程。在一个使用DCG语法来推断句子含义的程序中,我发现这两个谓词表示了一种语义知识。

代码语言:javascript
复制
properName(john) --> [john].
properName(mary) --> [mary].

我应该如何阅读这些谓词?我认为它们的意思是:字符串" John“表示的列表中的一个元素确实是一个正确的名称,而这个正确的名称是John(玛丽也是这样)。

这是我的阅读正确还是有其他的含义?

EN

回答 1

Stack Overflow用户

发布于 2013-05-17 14:38:07

这是一个琐碎的谓词,它不适合在使用它的上下文之外进行解释。

换句话说,它只能用于要求以某种方式使用专有名称,这是通过在其右侧使用的DCG规则来实现的。孤立地说,你展示它的方式,只不过意味着:

“约翰”是个恰当的名字,玛丽也是。

编辑

我可能错了,但你仍然在滥用英语来描述那些最好用正式语言来描述的东西。Prolog是一种形式语言,具有定义的语法和语义。它可以用于形式化地描述逻辑关系或计算。试图忠实地把它翻译成英语肯定是笨拙和不必要的。像你问题中的谓词这样琐碎的事情变成了一些愚蠢、难以理解和难以使用的东西。

representation是你最喜欢的单词的正确拼写。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16611441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档