Bagaimana cara menangkap teks yang dikenali dari Echo?


13

Saya tahu bahwa beberapa keterampilan dapat menangkap teks yang diucapkan, seperti ketika menambahkan daftar yang harus dilakukan dan daftar belanja, dan keterampilan pihak ketiga juga dapat melakukan hal ini, misalnya. SMS dengan Molly .

Jadi, bagaimana mereka melakukan ini? Apakah ada panggilan API yang menangkap teks yang dikenali dan menyimpannya di suatu tempat?

Jawaban:


8

Keterampilan khusus dapat menangkap teks dan mengirimkannya ke API Skill Anda.

Jika Anda tidak sepenuhnya terbiasa dengan cara kerja Alexa Skills, berikut ini ringkasan singkatnya:

  • Pertama, Anda mendaftarkan Skill Anda dengan Amazon , memberikan skema maksud dan contoh ucapan . Skema maksud menetapkan tindakan mana yang dapat dilakukan, dan slot untuk data khusus yang akan dikirim ke API Anda. Ucapan sampel memberikan contoh bagaimana pengguna dapat memicu setiap niat.

  • Saat pengguna mengaktifkan Skill Anda, Alexa akan mencoba mencocokkan apa yang mereka katakan dengan salah satu ucapan sampel skill Anda. Jika tidak cocok, itu akan mengirim permintaan HTTPS ke server Anda untuk meminta tanggapan.

  • Server Anda memberikan respons (jika semuanya berjalan dengan baik) dan kemudian Alexa akan memberikan umpan balik kepada pengguna yang memicu keterampilan Anda.

The AMAZON.LITERALSlot memungkinkan Anda untuk menerima hampir masukan apapun. Perhatikan bahwa saat ini hanya didukung di wilayah Inggris (AS) —Keterampilan bahasa Inggris (Inggris) dan Jerman tidak dapat digunakan AMAZON.LITERAL.

Skema maksud Anda mungkin terlihat seperti ini:

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

Dan ucapan sampel Anda mungkin seperti ini:

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}

Saat menggunakan AMAZON.LITERAL, Anda perlu memberikan banyak contoh ucapan — setidaknya satu sampel untuk setiap panjang input yang mungkin, tetapi idealnya lebih banyak. Dokumentasi Amazon menunjukkan bahwa Anda harus membidik ratusan sampel untuk slot di mana Anda dapat menerima berbagai jenis input.

Tampaknya memang sedikit membosankan, tetapi jika Anda tidak melakukan ini, kemungkinan keterampilan Anda tidak akan mengenali teks dengan baik. Anda mungkin dapat menghasilkan ujaran sampel dari data pelanggan (selama informasi pribadi dihapus sebelumnya!) Sehingga ujaran yang paling umum ada dalam sampel Anda — saya curiga Alexa akan sedikit bias terhadap mengenali ucapan yang mirip dengan sampel.

Amazon mencegah AMAZON.LITERALslot, dan lebih suka Anda menggunakan jenis slot khusus , yang mengharuskan Anda membuat daftar input yang mungkin. Penting untuk diingat bahwa:

Jenis slot khusus tidak sama dengan enumerasi. Nilai di luar daftar masih dapat dikembalikan jika dikenali oleh sistem pemahaman bahasa lisan. Meskipun input ke jenis slot khusus tertimbang terhadap nilai-nilai dalam daftar, input tidak dibatasi hanya pada item dalam daftar. Kode Anda masih perlu menyertakan validasi dan pengecekan kesalahan saat menggunakan nilai slot.


1
Saya percaya Amazon menjaga slot literal karena banyak pengembang memprotes kehilangan mereka. Tetapi menggunakan slot literal akan mencegah keterampilan Anda dipublikasikan karena Amazon tidak ingin pengembang memiliki kemampuan untuk "mendengarkan" pada pengguna. Tetapi Anda masih bisa menggunakannya dalam keterampilan pribadi.
Graham Chiu

1
@GrahamChiu: Saya mendapat kesan bahwa slot literal masih diperbolehkan bahkan dalam keterampilan yang dipublikasikan (lihat posting blog ini : "Berdasarkan umpan balik pengembang kami tidak akan menghapus jenis slot LITERAL dan Anda dapat terus mengirimkan keterampilan yang menyertakan fungsinya.") . Saya belum mencobanya sendiri, jadi jika Anda dapat mengonfirmasi keduanya, itu mungkin bermanfaat bagi pengunjung masa depan.
Aurora0001
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.