2016-12-13 20 views
0

Я пытаюсь реализовать прилагательные фразы в прологе.семантика предлогов-фраз, прилагаемых к глаголам Prolog

Так что я получил:

VP -> Vbar 

Vbar -> v, PP 

PP -> Pbar 

Pbar -> prep,np 

проблема, когда я пытаюсь что-то вроде фразы «Мэри увидела Тома с помощью телескопа». Произошла ошибка.

Может кто-нибудь, пожалуйста, дайте мне некоторое представление о том, как это исправить?

Также может кто-нибудь, пожалуйста, дать мне представление о том, как реализовать семантику фразела Verb-attach?

+0

Что такое ошибка? – jcolemang

ответ

1

Я не знаю, что такое ошибка, поэтому я не могу сказать точно, но код, который вы опубликовали, имеет ряд проблем.

  • Предикаты Пролога должны заканчиваться на определенный период.
  • Предикаты Пролога начинаются с строчной буквы.
  • Возможно, вы захотите использовать -->, а не ->. Я не уверен, что делает ->, если вообще вообще.
  • Я не верю, что использование строк объединилось бы с любым из ваших предикатов. Вероятно, вы хотите использовать символы, с ''.
  • Вы используете немного странный синтаксис, включая -->. Вы можете найти информацию об этом 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