Как я могу определить отрицательные ответы с помощью 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/