logo search
TurboProlog / Документация / TOM_2

Анализ предложений

Этот режим реализован главной программой. Когда вы входите в этот

режим, SEN_AN просит вас ввести предложение. Помните, что SEN_AN распоз-

нает только те слова, которые хранятся в базе данных.

Если введенное слово SEN_AN не находит в базе данных, то выдается

сообщение на экран. При этом в базе данных на диске слова не содержат

прописных букв.

Если SEN_AN успешно произвел грамматический разбор введенного пред-

ложения, то он выдает графическое представление предложения и созданную

структуру данных. Например, если вы вводите предложение "A mother loves

her children", программа разбора разбивает его на следующую структуру

Пролога:

sent(nounp(determ("a"), "mother", none),

verbp("loves", nounp(determ("her"), "children", none)))

Из данной структуры видно, что предложение состоит из группы сущест-

вительного "a mother" и группы глагола "loves her children".

Заметьте, как это предложение логически вытекает из продукционных

правил, приведенных в файле SEN_AN.HLP.

Если SEN_AN не может произвести разбор введенного предложения, то он

выдает сообщение об ошибке: "a sentence not recognized". Если вы вводите

слово, которое не содержится в словаре, SEN_AN выдаст сообщение о том,

что слово не распознано.

Для грамматического разбора SEN_AN использует контекстно-независимую

грамматику.

Можно описать более сложную грамматику, которая позволяет программе

разбора анализировать более сложные предложения.