2016-12-13 49 views
0

我试图在序言中实现动词连接 介词短语。动词连接介词短语的语义序言

所以我有:

VP -> Vbar 

Vbar -> v, PP 

PP -> Pbar 

Pbar -> prep,np 

的问题是,当我尝试短语像“玛丽看到汤姆用望远镜”。会有一个错误。

有人可以请给我一些想法如何解决它?

也可以任何人请给我一个想法如何实现动词连接介词短语的语义?

+0

有什么错误? – jcolemang

回答

1

我不知道错误是什么,所以我不能肯定地说,但你发布的代码有一些问题。

  • Prolog谓词必须以句点结尾。
  • Prolog谓词以小写字母开头。
  • 您可能想要使用-->而不是->。我不确定->会做什么,如果有的话。
  • 我不相信使用字符串会与任何给定的谓词相统一。您可能想要使用符号,使用''
  • 您正在使用一些奇怪的语法,包括-->。你可以找到它的一些信息here。因此,如果您希望符号v在您的谓词中统一起来,则应该编写[v]

我不知道如果这个代码有你想要的功能,但它不运行:

vp --> vbar. 
vbar --> [v], pp. 
pp --> pbar. 
pbar --> [prep,np]. 

你可以这样调用:

vp([here, is, some, statement], []). 
+0

谢谢,是否有可能有“vp - > v,pp,np。”? – Britishgoat

+0

当然,你会写'vp - > [v],pp,[np] .',假设你想'np'被视为符号。如果'np'是一个谓词,你可以放下方括号 – jcolemang