IBM Watson Assistant - исключить указанное значение сущности c, чтобы оно никогда не совпадало - PullRequest
1 голос
/ 16 января 2020

Это может быть простой файл, который мне не удалось найти, но я пытаюсь исключить одно значение ("подруга") из списка сущностей в чат-боте, который я создаю. Список сущностей в настоящее время «собака, кошка, домашнее животное, мама, лошадь» с соответствующими синонимами для каждой из этих сущностей.

Уотсон продолжает подбирать «подругу» и сопоставлять ее как сущность, несмотря на то, что ее там нет, что заполняет логику c в разговоре.

Есть ли способ остановиться? Уотсон, идентифицируя похожие слова в списке сущностей, помимо того, что в списке? Я пытался отключить нечеткое сопоставление, но в нем просто пропускаются орфографические ошибки.

Обратите внимание, что это не проблема обучения намерению, а конкретный вопрос об идентификации объекта.

Любая помощь приветствуется.

-T-

Ответы [ 3 ]

0 голосов
/ 17 января 2020

Непонятно, как вы создали свой список сущностей. Если это было сделано через контекстные сущности, то Уотсон может принимать «подругу» как находящуюся в той же «семье», что и другие сущности, и добавлять в список сущностей. Если бы список сущностей был жестко запрограммирован вместе с синонимами, то я бы предположил, что один из ваших синонимов разделяет написание некоторых слов девушки, девушки или друга. Который через нечеткие логики c будет соответствовать сущности, но с более низким уровнем достоверности. Чтобы исправить это, вы могли бы создать новый список сущностей и иметь условие, которое должно соответствовать первому списку сущностей, а не списку сущностей два (подруга). Или вы можете установить свое состояние в списке сущностей и уровень достоверности сущностей> 0,8 - но тогда вы можете пропустить некоторые орфографические ошибки. (Выберите уровень достоверности, который чуть выше того, что сообщается для подруги).

0 голосов
/ 22 апреля 2020

У меня была похожая проблема. Мой бот продолжал выбирать свое собственное имя в качестве имени пользователя, и я хотел, чтобы оно игнорировало его собственное имя, даже если пользователь его набрал (например, Hello Robot, I Jill). Я хотел, чтобы оно отвечало «Jill», а не «Robot», но оно пропустил это. Позже я понял, что у переменных контекста, которые я создал, были значения, подобные именам пользователей. Поэтому я создал переменную @ bot-name и дал ей только 1 значение (Robot), без синонимов, без нечеткого совпадения, без аннотаций. Затем попытался снова, и бот узнал свое собственное имя, проигнорировал его и правильно выбрал второе имя в качестве имени пользователя. Поэтому, когда я повторил предложение «Привет, робот, я - Джилл», он распознал @entity: имя-бота и @entity: имя-пользователя, а затем ответил только на имя пользователя. Вы можете попробовать что-то подобное.

0 голосов
/ 16 января 2020

Ваш вопрос не совсем понятен, но, вероятно, вы захотите взглянуть на как улучшить навык . Поскольку Watson Assistant построен на основе технологии искусственного интеллекта, ключевой частью является обучение.

Вы можете «научить» помощника Ватсона, возвращаясь к разговорам и исправляя неправильные совпадения с правильными. Watson Assistant собирается подобрать это, а затем переобучить диалог. Это должно привести к исключению «подруги».

...