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