Приоритетность слотовых высказываний над намеренными высказываниями - PullRequest
1 голос
/ 18 марта 2019

У нашего бота есть несколько намерений.В одном из намерений у нас есть следующий пример высказывания:

I {injuryType} my {bodyPart}

Таким образом, оно соответствует вещам типа I broke my leg.

Затем, в другом намерении, у нас есть слот для bodyPartсо следующим примером высказывания:

I broke my {bodyPart}

Проблема, с которой мы сталкиваемся, заключается в том, что, когда пользователю предлагается bodyPart и он говорит I broke my leg, вместо того, чтобы просто заполнить слот, он переключается надругое намерение.

Есть ли способ указать, что высказывания слотов должны иметь приоритет над высказываниями намерений?

1 Ответ

1 голос
/ 19 марта 2019

К сожалению, у нас нет способа явно заставить Lex оставаться в пределах соответствия значений слотов и не пытаться сопоставлять на уровне намерений.

Из моего опыта с этой проблемой (это часто случается, так что это постоянный баланс), значения слотов do имеют приоритет над намеренными высказываниями, когда вы намерены. При хорошей структуре бота («намеренная схема») намеренные высказывания, кажется, проверяются только тогда, когда значение слота не находит идеального соответствия. Однако Lex может проверять оба раза и просто обеспечивать лучшее совпадение, которое в вашем случае будет намеренным высказыванием из-за одной меньшей переменной.

У нас действительно есть только одна форма контроля над этим, как мы устанавливаем значения намерений, высказываний, slotTypes и slotType.

Вот несколько предложений:

  1. Пересмотреть настройку намерений и найти возможности, когда два намерения слишком похожи и могут быть объединены в одно намерение.
  2. Оцените сходство между высказываниями и значениями slotType и просто удалите одно в пользу другого.
  3. Попробуйте усилить список значений slotType, например: "break", "broken", "broken", "тормоза" и т. Д. (Даже с ошибками)

Я был наименее успешным с # 3, и наиболее успешным с # 1 и # 2.

Как я уже сказал, это был постоянный балансный процесс, учитывающий структурирование намерений, возможные значения slotType в разных намерениях, любое совпадение совпадений ввода и опыт пользователя на естественном языке. Вам придется пожертвовать некоторой свободой / структурой в одной, чтобы дать больше свободы / структуры другой.

...