ТОМ: Модель речевого акта: различия между версиями

Содержимое удалено Содержимое добавлено
мНет описания правки
 
(не показаны 24 промежуточные версии этого же участника)
Строка 9:
Речевые роли четко обозначены самим языком и однозначно выделяются в речи.
 
В пределах одного речевого акта речевые роли неизменны. Изменение хотя-бы одной роли говорит о начале следующего речевого акта.
 
Значениями речевых ролей являются объекты, способные говорить, т.е. соответствующие персонажам, протагонисту, нарратору и, возможно, самому игроку.
 
Всего выделяется 3 речевые роли:
Строка 23:
(он же и контекст метода)
 
При выполнениявыполнении кода на платформе ТОМ в любое время можно обратиться к специальным контекстным значениям:
 
Речевые роли текущего речевого акта:
*talker - персонаж, от которого в данный момент исходит речь (1 лицо);
*addressee - персонаж, которому адресована речь (2 лицо);
*actor - персонаж, в данный момент активно выполняющий действие;
 
Речевые роли предыдущего речевого акта:
Прочие контекстные значения:
*this - объект, содержащий метод, который выполняется в данный момент;
*act - действие, которое отрабатывается в данный момент;
*told - персонаж, произнёсший предыдущую речь;
*аddressed - персонаж, которому была адресована предыдущая речь;
Строка 41 ⟶ 39 :
Автор игры также может при необходимости изменять значения контекста.
 
При вызове метода создается новый контекст, и все значения (за исключением this) копируются из контекста вызывающего метода.
 
===Влияние на морфологические свойства объектов===
Строка 52 ⟶ 50 :
При анализе введенной команды этот же метод вызывается парсером для отсева объектов, не подходящих по контексту.
 
==ПеременныеСпециальные переменные и свойства объектов==
Для формирования речевого контекста парсером также используются:
*глобальная переменная global.narrator
Строка 61 ⟶ 59 :
**Addressee - значение этой переменной используется как addressee
 
==Речевой контекст фаз парсинга==
==Фазы парсинга и их речевые контексты==
В парсинге можно выделить 3 фазы, изменяющие речевой контектс:
#фаза - распознание строки. Контекст настраивается на анализ текста. Для правильного распознания необходимо понимать кто это говорит и кому говорит.
 
#фаза - проверки и генерация ошибок. Контекст настраивается на формирование ошибки как ответа на фразу.
#'''1 фаза''' - выполнениераспознание действиястроки. Контекст настраивается какна анализ текста. Для правильного распознания необходимо понимать кто это повествованиеговорит ои выполнениикому действияговорит.
 
Конкретные настройки контекста зависят от категории распознаваемого текста. Об этом более подробно далее.
#'''2 фаза''' - проверки и генерация ошибок. Контекст настраивается на формирование ошибки как ответа на фразу.
 
'''3 фаза''' - выполнение действия. Контекст настраивается как повествование о выполнении действия.
 
Конкретные настройки контекста для каждой фазы зависят от категории распознаваемого текста. Об этом более подробно далее.
===action===
----
Речевой акт этой категории является указанием о выполнении некотороенекоторого действиедействия.
====Фаза 1 для строки введенной игроком====
Для этой фазы парсер устанавливает следующие контекстные значения:
talker = null
addressee = pers
actor = pers
Команда исходит от игрока. Игрок, как правило, не имеет отражения в игре, поэтому talker = null.
Команда адресована протагонисту.
Выполнять команду также будет протагонист.
 
====Фаза 1 для оператора X < "command"====
addressee=pers
где X - объект персонажа, а "command" - строка, содержащая команду, переданную персонажу.
 
Для этой фазы парсер устанавливает следующие контекстные значения:
actor=pers
talker = told
addressee = X
actor = X
 
====Фаза 12: длявыполнение операторапроверок Xи <генерация "command"ошибок====
talker = told
 
====Фаза 3: выполнение действия====
addressee = X
Для этой фазы парсер устанавливает следующие контекстные значения:
told = talker
addressed = addressee
talker = global.narrator
addressee = global.narrator.addressee
actor = pers | actor = Х //в зависимости от источника команды
 
В качестве рассказчика используем глобального нарратора.
actor = X
Если нарратором является протагонист, игра идет от 1го лица.
Нарратор обращается к некоторому слушателю.
Слушателя может не быть вовсе (null), тогда игра идет от 3го лица,
или им может быть любой персонаж на усмотрение автора игры.
Если слушателем является протагонист, игра идет от 2го лица.
 
В полях told и addressed запоминаем значения из 1 фазы - они нам еще пригодятся.
====Фаза 2====
====Фаза 3====
 
===phrase===
----
Речевой акт этой категории является фразой диалога, произносимой протагонистом или другим персонажем.
====Фаза 1 для строки введенной игроком====
====Фаза 1 для оператора X > "text"====
где X - объект персонажа, а "text" - текстовка, произнесённая персонажем.
 
====Фаза 2====
====Фаза 3====
 
===event===
----
Речевой акт этой категории является произвольным описанием некоторого произошедшего события.
 
====Фаза 1====
====Фаза 2====