Как лучше всего создавать приложение Alexa Q & A Alexa? - PullRequest
0 голосов
/ 17 ноября 2018

Я хочу создать простое приложение для вопросов и ответов Alexa, похожее на пользовательское приложение для вопросов и ответов Alexa. Я не хочу использовать чертежи, потому что мне нужны дополнительные функции. Какова лучшая практика для создания приложения Alexa? Должен ли я создать отдельное намерение для каждого вопроса или как-то использовать высказывания?

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Лучший способ зависит от того, какие вопросы и как они будут заданы.

1.Если вопросы имеют простую структуру
Рассмотрим следующие примеры:

what is a black hole
define supernova
tell me about milkyway
what is a dwarf star

, тогда его можно настроить следующим образом:

what is a {space}
define {space}
tell me about {space}

и слот {space} -> black hole, supernova, milkyway, dwarf star. Из значения слота вы можете понять, что это за вопрос и ответить.Так как Alexa также заполнит слоты значениями, отличными от настроенных, вы сможете разместить больше вопросов, следующих за этой структурой предложений.

2.Если структура вопроса немного сложна

what is the temperature of sun
temperature to boil water
number of eyes of a spider 
what is the weight of an elephant

, тогда ее можно настроить следующим образом:

what is the {unit} of {item}
{unit} to boil {item}
{unit} of eyes of a {item}
what is the {unit} of an {item}

Здесь,

{unit} -> temperature, number, weight, height etc.
{item} -> sun, moon, water, spider etc

С правильной проверкой слотов вы сможете предоставить правильный ответ пользователю.

Кроме того, вы сможете предоставить предложения, если пользователь задаст вопрос частично .

Пример:

user: what is the temperature 
[slots filled: "unit"="temperature","item":""]

Теперь вы знаете, что пользователь спрашивал о температуре, но item отсутствует, поэтому вы отвечаете в ответ таким предложением

"Sorry I didn't understand. Do you want to know the temperature of the sun?"

3.Если вопросы имеют совершенно другую структуру

How to deal with an annoying neighbor
What are the types of man made debris in space
Recommend few good Nickelback songs
Can I jump out of a running train

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

IntentA: How to deal with an annoying {person}
IntentB: What are the types of man made {item} in {place}
IntentC: Recommend few good {person} songs
IntentD: Can I {action} out of a running {vehicle}

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

Пример:

user: what are the types of man made mangoes in space 
[IntentB will be triggered]

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

Теперь при правильном использовании слотов и проверке вы можете обнаружить, что вместо debris ваш бэкэнд получил "mangoes", что недопустимо.И поэтому вы можете ответить предложением или сообщением об ошибке, например

"Sorry, I don't know that. Do you want to know about the man made debris found in space"

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

При именовании вопроса-намерения используйте префикс .Это может помочь вам сгруппировать обработчики в коде вашего бэкенда в зависимости от вашего дизайна бэкенда.Это не обязательно, просто предложение.

Резюме:

  1. Группируйте вопросы с похожей структурой.
  2. Используйте соответствующие слоты и проверяйте их.
  3. Используйте предопределенные слоты везде, где это возможно.
  4. Не зависит только от одних намерений, потому что намерения могут быть сопоставлены, если они наиболее близки.Но вопрос может быть совершенно другим или не иметь никакого смысла.Поэтому используйте слоты надлежащим образом и проверяйте их.
  5. Если возможно, предоставьте предложение для частичных вопросов.
  6. Тщательно проверьте и убедитесь, что оно не нарушит вашу модель взаимодействия.
0 голосов
/ 19 ноября 2018

Вы должны проверить Alexa Dialog Interface, который позволяет вам делать Q / A или QUIZZ.

https://developer.amazon.com/fr/docs/custom-skills/dialog-interface-reference.html

...