Как я могу определить отрицательные ответы с помощью Watson Conversation

Например: если пользователь пишет в службе беседы Уотсона:

"Я не хотел бы иметь бассейн в моем новом доме, но я хотел бы жить в Кондо"

Как узнать, что пользователь не хочет иметь бассейн, но любит жить в кондо?

4 ответа

Это хороший вопрос, и да, это немного сложно...

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

Сказав это, обратите внимание, что с помощью примеров, таких как:

"Я хотел бы иметь бассейн в моем новом доме, но я не хотел бы жить в кондо"

за intent-pool а также

"Я не хотел бы иметь бассейн в моем новом доме, но я хотел бы жить в Кондо"

за intent-condo заставит систему правильно классифицировать эти предложения, но разница в достоверности между ними может быть довольно небольшой (по той причине, что они очень похожи, когда вы смотрите только на текст).

Таким образом, вопрос здесь заключается в том, стоит ли заставить систему классифицировать такие намерения "из коробки" или вместо этого обучить систему на более простых примерах и использовать некоторую форму устранения неоднозначности, если вы видите, что верхние N намерений имеют низкую достоверность.

Sergio, в этом случае вы можете протестировать все условия, действительные с узлом одноранговых узлов (продолжить с), и свой отрицательный (например, другой) вы можете использовать "true".

Попробуйте использовать целевые значения для определения потока и сущности для определения условий.

Подробнее: https://www.ibm.com/watson/developercloud/doc/conversation/tutorial_basic.shtml

PS: вы можете получить значение сущности, используя:

Это типичный сценарий мульти-намерений в службе разговоров. Каждый раз, когда пользователь что-то говорит, идентифицируются все 10 лучших намерений. Вы можете изменить свой диалоговый редактор JSON, чтобы увидеть все намерения.

{
  "output": {
    "text": {
      "values": [
        "<? intents ?>"
      ],
      "selection_policy": "sequential"
    }
  }
}

Например, когда пользователь делает заявление, которое вызовет два намерения, вы увидите, что оба значения intets [0].confidence и intets [1].confidence будут довольно высоки, что означает, что в беседе были определены оба намерения пользователя текст.

Но на данный момент в этом есть серьезное ограничение: нет гарантированного порядка для определенных намерений, то есть если бы вы сказали: "Я бы не хотел иметь пул в своем новом доме, но я бы хотел жить в Кондо ", нет никакой гарантии, что положительным намерением"will_not_want"будут намерения [0].intent, а намерением"will_want "будут намерения [1].intent. Так что реализовать этот сценарий с большей точностью в вашем приложении будет немного сложно.

Это теперь легко возможно в Watson Assistant. Вы можете сделать это, создав контекстные объекты.

В своем намерении вы помечаете связанную сущность и помечаете ее как указанную вами сущность. Контекстуальные сущности теперь изучат структуру предложения. Это не только поймет, что вы пометили, но и обнаружит объекты, которые вы не пометили.

Таким образом, приведенные ниже примеры ингредиентов были помечены как желаемые и не желаемые.

Когда вы запустите его, вы получите это.

Полный пример здесь: https://sodoherty.ai/2018/07/24/negation-annotation/

Другие вопросы по тегам