Як можна захопити розпізнаний текст із Echo?


13

Я знаю, що деякі навички можуть захоплювати розмовний текст, наприклад, при додаванні списків справ і списків покупок, а також можуть це робити, наприклад, сторонні навички, наприклад. SMS з Моллі .

Отже, як вони це роблять? Чи є виклик API, який фіксує розпізнаний текст і зберігає його десь?

Відповіді:


8

Спеціальні навички можуть захоплювати текст та надсилати їх до API вашого вміння.

Якщо ви не зовсім знайомі з тим, як працюють Alexa Skills, ось короткий підсумок:

  • По-перше, ви реєструєте свою майстерність в Amazon , надаючи схему намірів та зразок висловлювань . Схема намірів визначає, які дії можна виконати, і слоти для користувацьких даних, що надсилаються до вашого API. Зразкові висловлювання дають приклади того, як користувач може викликати кожен намір.

  • Коли користувач активує вашу майстерність, Alexa спробує співставити те, що вони сказали, з одним із зразкових висловлювань вашої майстерності. Якщо це робить матч, він буде посилати запит HTTPS на сервер , щоб запросити відповідь.

  • Ваш сервер надає відповідь (якщо все піде добре), і тоді Alexa надасть відгук користувачеві, який ініціював вашу майстерність.

AMAZON.LITERALСлот дозволяє приймати практично будь-який вхід. Зауважте, що в даний час він підтримується лише в регіоні англійська (США) - англійською (Великобританія) і німецькими навичками використовувати не можна AMAZON.LITERAL.

Ваша схема намірів може виглядати приблизно так:

{
  "intents": [
    {
      "intent": "SaveTodo",
      "slots": [
        {
          "name": "Todo",
          "type": "AMAZON.LITERAL"
        }
      ]
    }
  ]
}

І ваші зразкові висловлювання можуть бути такими:

SaveTodo remind me to {fetch the shopping|Todo}
SaveTodo remind me to {write my English essay|Todo}
SaveTodo remind me to {buy some dog food tomorrow|Todo}

Під час використання AMAZON.LITERALпотрібно надати безліч вибіркових висловлювань - принаймні один зразок на кожну можливу довжину введення, але в ідеалі більше. Документація Amazon говорить про те, що вам слід орієнтуватися на сотні зразків для слотів, де ви можете приймати різні типи матеріалів.

Це здається трохи стомлюючим, але якщо ви цього не зробите, навряд чи ваша майстерність добре розпізнає текст. Можливо, ви можете створити вибіркові висловлювання з даних клієнтів (доки особиста інформація буде видалена заздалегідь!), Так що найпоширеніші висловлювання є у ваших зразках - я підозрюю, що Alexa буде трохи упереджений до розпізнавання висловлювань, подібних до зразків.

Однак Amazon відмовляє від AMAZON.LITERALслотів і вважає за краще використовувати власні типи слотів , які вимагають перерахувати можливі входи. Важливо пам’ятати про це:

Спеціальний тип слота не є еквівалентом перерахування. Значення поза списком все ще можуть бути повернені, якщо їх визнає система розуміння розмовної мови. Незважаючи на те, що вхід до спеціального типу слота зважується до значень у списку, він не обмежується лише елементами у списку. Ваш код все ще повинен включати перевірку та перевірку помилок при використанні значень слота.


1
Я вважаю, що Amazon зберігає буквальні слоти, оскільки багато розробників протестували проти їх втрати. Але використання буквального слота не дасть вашим навичкам публікуватись, оскільки Amazon не хоче, щоб розробники мали можливість "слухати" користувачів. Але ви все одно можете використовувати його в приватній майстерності.
Грем Чіо

1
@GrahamChiu: У мене складається враження, що буквальні слоти все ще дозволені навіть у опублікованих навичках (див. Цю публікацію в блозі : "На основі відгуків розробників ми не видалимо LITERAL тип слота, і ви можете продовжувати надсилати навички, що включають його функціональність.") . Я сам не пробував цього, хоча, якщо ви можете підтвердити будь-який спосіб, це може бути корисним для майбутніх відвідувачів.
Aurora0001
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.