Использование предиката readLine в прологе - PullRequest
0 голосов
/ 22 января 2019

В «Представлении и выводе для естественного языка - первый курс вычислительной семантики» Блэкберна и Бос они дают следующий предикат:

parse :- 
    readLine(Sentence),
    s(LambdaExpression,Sentence,[]),
    betaConvert(LambdaExpression,Formula),
    printRepresentation(Formula).

Предполагается инициировать процесс разбора предложения и создания семантического представления. Я опускаю все другие определения, так как считаю, что они не имеют отношения к моему вопросу. Мне интересно, как использовать этот предикат parse

Я пытался parse([Bob, walks]), но получил сообщение об ошибке.

Как вы думаете, это parse следует использовать?

1 Ответ

0 голосов
/ 22 января 2019

Использование предиката readLine в Прологе

Readline - это отдельный модуль, который необходимо включить в код, использующий readline, например,

:- use_module(readLine,[readLine/1]).

Файл с именем readline.pl

Как вы думаете, этот синтаксический анализ следует использовать?

Существует также отдельный тестовый файл. Я бы посмотрел на них.


Из комментария:

Знаете ли вы, где я могу найти модуль readline в SWI-Prolog?

Указанный readline отсутствует в SWI-Prolog, он является частью прилагаемого исходного кода для книги.

Существует две версии книги, и каждая версия имеет похожий, но разный код. Обе версии кода доступны для бесплатной загрузки на этой странице курса в штате Огайо.

Код книги 1 ( BB1 )
Код книги 2 ( BB2 )

Для «Представления и вывода для естественного языка - первый курс по вычислительной семантике» существует книга страница и отдельная страница со ссылками на исходный код.

Одна версия книги может быть загружена как PDF .


Код предназначен для работы в Linux. Если вы используете Windows и хотите использовать код, я бы держался подальше от Cygwin и вместо установил WSL ( Документация ), который даст вам оболочку Linux, я использую ( Ubuntu ). Затем в оболочке Linux установите SWI-Prolog ( PPA ), за которым следует исходный код книги.

Примечание: я регулярно использую WSL и использую SWI-Prolog для WSL. Я не пробовал использовать код книги для этого, поэтому не могу сказать, что он будет работать, но это тот же курс, который я бы предпринял, если бы хотел использовать исходный код вместе с книгой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...