DCG之后如何从知识库中生成一些短语?

时间:2018-08-29 14:45:37

标签: prolog dcg nlg

我在序言中将语法定义为DCG(定语从句)。 现在,我想根据我知识库中的事实生成一些短语。 例如,如果我有likes(mark, julia).,我想生成句子

  

马克喜欢朱莉娅。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

我们必须考虑到likes/2是正常的Prolog谓词,不是 DCG。

因此,我们使用 {}//1 来指代DCG中的常规Prolog谓词。

例如:

sentence -->
        [X, likes, Y],
        { likes(X, Y) }.

样品用量:

?- phrase(sentence, Ls).
Ls = [mark, likes, julia].