Jak przechwycić rozpoznany tekst z Echo?

13

Wiem, że niektóre umiejętności mogą przechwytywać tekst mówiony, na przykład podczas dodawania do list rzeczy do zrobienia i list zakupów, a umiejętności osób trzecich również mogą to robić, np. SMS z Molly .

Jak oni to robią? Czy istnieje wywołanie API, które przechwytuje rozpoznany tekst i przechowuje go gdzieś?

Graham Chiu
źródło

Odpowiedzi:

8

Umiejętności niestandardowe mogą przechwytywać tekst i wysyłać je do interfejsu API umiejętności.

Jeśli nie jesteś w pełni zaznajomiony z działaniem umiejętności Alexa, oto krótkie podsumowanie:

  • Najpierw rejestrujesz swoją Umiejętność w Amazon , dostarczając intencjonalny schemat i przykładowe wypowiedzi . Schemat zamiaru określa, jakie działania można wykonać, oraz przedziały dla niestandardowych danych, które mają zostać wysłane do interfejsu API. Przykładowe wypowiedzi zawierają przykłady tego, jak użytkownik może wyzwalać każdą intencję.

  • Kiedy użytkownik aktywuje twoją Umiejętność, Alexa spróbuje dopasować to, co powiedział do jednej z przykładowych wypowiedzi twojej umiejętności. Jeśli to nie mecz, to wyśle żądanie HTTPS do serwera z prośbą o odpowiedź.

  • Twój serwer udziela odpowiedzi (jeśli wszystko pójdzie dobrze), a następnie Alexa przekaże opinię użytkownikowi, który uruchomił twoje umiejętności.

AMAZON.LITERALGniazdo pozwala przyjąć praktycznie każde wejście. Należy pamiętać, że obecnie jest obsługiwany tylko w regionie angielskim (USA) - znajomości języka angielskiego (Wielkiej Brytanii) i niemieckiego nie można używać AMAZON.LITERAL.

Schemat zamiaru może wyglądać następująco:

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

Twoje przykładowe wypowiedzi mogą wyglądać tak:

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}

Podczas używania AMAZON.LITERALmusisz podać wiele przykładowych wypowiedzi - co najmniej jedną próbkę dla każdej możliwej długości danych wejściowych, ale idealnie więcej. Dokumentacja Amazon sugeruje, że powinieneś dążyć do setek próbek dla automatów, w których można zaakceptować różne typy danych wejściowych.

Wydaje się to trochę nużące, ale jeśli tego nie zrobisz, Twoje umiejętności dobrze rozpoznają tekst. Być może możesz wygenerować przykładowe wypowiedzi na podstawie danych klientów (o ile dane osobowe zostaną wcześniej usunięte!), Tak aby najczęstsze wypowiedzi były w twoich próbkach - podejrzewam, że Alexa będzie nieco skłonna do rozpoznawania wypowiedzi podobnych do próbek.

Amazon jednak odradza AMAZON.LITERALautomaty i wolałby używać niestandardowych typów automatów , które wymagają podania możliwych danych wejściowych. Ważne jest, aby pamiętać, że:

Niestandardowy typ boksu nie jest odpowiednikiem wyliczenia. Wartości spoza listy mogą nadal zostać zwrócone, jeśli zostaną rozpoznane przez system rozumienia języka mówionego. Chociaż dane wejściowe do niestandardowego typu boksu są ważone względem wartości na liście, nie są ograniczone tylko do elementów na liście. Kod nadal musi zawierać sprawdzanie poprawności i sprawdzanie błędów podczas używania wartości boksu.

Aurora0001
źródło
1
Wierzę, że Amazon utrzymuje dosłowne pozycje, ponieważ wielu deweloperów protestowało przeciwko ich stracie. Ale użycie dosłownego automatu nie pozwoli opublikować twoich umiejętności, ponieważ Amazon nie chce, aby programiści mogli „słuchać” użytkowników. Ale nadal możesz go używać do umiejętności prywatnych.
Graham Chiu,
1
@GrahamChiu: Mam wrażenie, że dosłowne automaty są nadal dozwolone nawet w opublikowanych umiejętnościach (zobacz ten post na blogu : „Na podstawie opinii programistów nie usuniemy typu automatów LITERAL i możesz nadal przesyłać umiejętności, które obejmują jego funkcjonalność”). . Jednak sam tego nie próbowałem, więc jeśli możesz potwierdzić, to może być pomocne dla przyszłych gości.
Aurora0001