ТОМ: Модель речевого акта: различия между версиями
ASBer (обсуждение | вклад) м (→Глобальные переменные и свойства объектов) |
ASBer (обсуждение | вклад) м (→Фазы парсинга и их речевые контексты) |
||
Строка 62: | Строка 62: | ||
==Фазы парсинга и их речевые контексты== | ==Фазы парсинга и их речевые контексты== | ||
+ | #фаза - анализ строки. Контекст настраивается на распознание фразы. | ||
+ | #фаза - проверки и генерация ошибок. Контекст настраивается на формирование ошибки как ответа на фразу. | ||
+ | #фаза - выполнение действия. Контекст настраивается как повествование о выполнении действия. | ||
[[Категория:Документация ТОМ]] | [[Категория:Документация ТОМ]] |
Версия 19:59, 17 сентября 2009
Для генерации и анализа текстов в ТОМ используется достаточно сложная модель речевого акта.
Содержание
Речевой акт
(далее просто речь, фраза, команда, предложение и т.п.)
Любой текст, который вводится в ТОМ или выводится ТОМом рассматривается как речевой акт.
Речевой акт имеет четко обозначенные временные границы и определённые речевые роли.
Речевые роли четко обозначены самим языком и однозначно выделяются в речи.
В пределах одного речевого акта речевые роли неизменны.
Значениями речевых ролей являются объекты, соответствующие персонажам, протагонисту, нарратору и, возможно, самому игроку.
Всего выделяется 3 речевые роли:
- некто говорящий;
- некто, к кому обращается говорящий;
- некто, упомянутый в речи и производящий некоторое активное действие.
Первые 2е роли влияют на личные местоимения (1 и 2 лицо). 3я роль влияет на возвратные местоимения.
Контекст речевого акта
(он же и контекст метода)
При выполнения кода на платформе ТОМ в любое время можно обратиться к специальным контекстным значениям:
Речевые роли:
- talker - персонаж, от которого в данный момент исходит речь (1 лицо);
- addressee - персонаж, которому адресована речь (2 лицо);
- actor - персонаж, в данный момент активно выполняющий действие;
Прочие контекстные значения:
- this - объект, содержащий метод, который выполняется в данный момент;
- act - действие, которое отрабатывается в данный момент;
- told - персонаж, произнёсший предыдущую речь;
- аddressed - персонаж, которому была адресована предыдущая речь;
Парсер самостоятельно настраивает контекст в зависимости от выполняемого действия.
Автор игры также может при необходимости изменять значения контекста.
При вызове метода создается новый контекст, и все значения (за исключением this) копируются из контекста вызывающего метода.
Влияние на морфологические свойства объектов
Для объектов, входящих в предложение, проводится расчет морфологических ключей, зависящий от значений речевого контекста.
Так, например, если в предложении встречен объект == talker, то для него будет установлен ключ первого лица (1л) и в тексте этот объект отобразится как "я".
Для расчета контекстно-зависимых морфологических ключей объекты имеют специальный метод: CalcKey().
При анализе введенной команды этот же метод вызывается парсером для отсева объектов, не подходящих по контексту.
Переменные и свойства объектов
Для формирования речевого контекста парсером также используются:
- глобальная переменная global.narrator
- свойства объектов addressee (у каждого объекта может быть свой адресат).
- предопределенные шаблонные переменные:
- Actor - значение этой переменной используется как actor.
- Talker - значение этой переменной используется как talker
- Addressee - значение этой переменной используется как addressee
Фазы парсинга и их речевые контексты
- фаза - анализ строки. Контекст настраивается на распознание фразы.
- фаза - проверки и генерация ошибок. Контекст настраивается на формирование ошибки как ответа на фразу.
- фаза - выполнение действия. Контекст настраивается как повествование о выполнении действия.