ТОМ: Модель речевого акта: различия между версиями
ASBer (обсуждение | вклад) м (→action) |
ASBer (обсуждение | вклад) м (→action) |
||
Строка 67: | Строка 67: | ||
Конкретные настройки контекста зависят от категории распознаваемого текста. Об этом более подробно далее. | Конкретные настройки контекста зависят от категории распознаваемого текста. Об этом более подробно далее. | ||
===action=== | ===action=== | ||
− | Речевой акт этой категории является указанием о выполнении | + | Речевой акт этой категории является указанием о выполнении некоторого действия. |
====Фаза 1 для строки введенной игроком==== | ====Фаза 1 для строки введенной игроком==== | ||
talker=null | talker=null | ||
Строка 76: | Строка 76: | ||
====Фаза 1 для оператора X < "command"==== | ====Фаза 1 для оператора X < "command"==== | ||
+ | где X - объект персонажа, а "command" - команда, переданная персонажу. | ||
+ | |||
talker = told | talker = told | ||
Строка 82: | Строка 84: | ||
actor = X | actor = X | ||
− | ====Фаза 2==== | + | ====Фаза 2: генерация ошибок==== |
− | ====Фаза 3==== | + | |
+ | ====Фаза 3: выполнение действия==== | ||
===phrase=== | ===phrase=== |
Версия 20:23, 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
Фазы парсинга и их речевые контексты
- фаза - распознание строки. Контекст настраивается на анализ текста. Для правильного распознания необходимо понимать кто это говорит и кому говорит.
- фаза - проверки и генерация ошибок. Контекст настраивается на формирование ошибки как ответа на фразу.
- фаза - выполнение действия. Контекст настраивается как повествование о выполнении действия.
Конкретные настройки контекста зависят от категории распознаваемого текста. Об этом более подробно далее.
action
Речевой акт этой категории является указанием о выполнении некоторого действия.
Фаза 1 для строки введенной игроком
talker=null
addressee=pers
actor=pers
Фаза 1 для оператора X < "command"
где X - объект персонажа, а "command" - команда, переданная персонажу.
talker = told
addressee = X
actor = X