Jenis slot tata bahasa - Amazon Lex

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Jenis slot tata bahasa

Dengan jenis slot tata bahasa, Anda dapat penulis tata bahasa Anda sendiri dalam format XMLper spesifikasi SRGS untuk mengumpulkan informasi dalam percakapan. Amazon Lex V2 mengenali ucapan yang cocok dengan aturan yang ditentukan dalam tata bahasa. Anda juga dapat memberikan aturan interpretasi semantik menggunakan tag ECMAScript dalam file tata bahasa. Amazon Lex kemudian mengembalikan properti yang ditetapkan dalam tag sebagai nilai yang diselesaikan saat pertandingan terjadi.

Anda hanya dapat membuat jenis slot tata bahasa dalam bahasa Inggris (Australia), Inggris (UK), dan bahasa Inggris (AS) lokal.

Ada dua bagian untuk jenis slot tata bahasa. Yang pertama adalah tata bahasa itu sendiri ditulis menggunakan format spesifikasi SRGS. Tata bahasa menafsirkan ucapan dari pengguna. Jika ucapan diterima oleh tata bahasa itu cocok, jika tidak maka akan ditolak. Jika ucapan cocok itu diteruskan ke script jika ada satu.

Yang kedua adalah bagian dari jenis slot tata bahasa adalah script opsional yang ditulis dalam ECMAScript yang mengubah input ke nilai-nilai diselesaikan dikembalikan oleh jenis slot. Misalnya, Anda dapat menggunakan skrip untuk mengonversi angka yang diucapkan menjadi digit. <tag>pernyataan ECMAScript tertutup dalam elemen.

Contoh berikut adalah dalam format XMLsesuai spesifikasi SRGS yang menunjukkan tata bahasa valid yang diterima oleh Amazon Lex V2. Ini mendefinisikan jenis slot tata bahasa yang menerima nomor kartu dan menentukan apakah mereka untuk akun reguler atau premium. Untuk informasi lebih lanjut tentang sintaks yang dapat diterima, lihat Definisi tata bahasa dan Format skrip topik.

<grammar version="1.0" xmlns="http://www.w3.org/2001/06/grammar" xml:lang="en-US" tag-format="semantics/1.0" root="card_number"> <rule id="card_number" scope="public"> <item repeat="0-1"> card number </item> <item> seven <tag>out.value = "7";</tag> </item> <item> <one-of> <item> two four one <tag> out.value = out.value + "241"; out.card_type = "premium"; </tag> </item> <item> zero zero one <tag> out.value = out.value + "001"; out.card_type = "regular";</tag> </item> </one-of> </item> </rule> </grammar>

Tata bahasa di atas hanya menerima dua jenis nomor kartu: 7241 atau 7001. Keduanya dapat diawali secara opsional dengan “nomor kartu”. Ini juga berisi tag ECMAScript yang dapat digunakan untuk interpretasi semantik. Dengan interpretasi semantik, ucapan “kartu nomor tujuh dua empat satu” akan mengembalikan objek berikut:

{ "value": "7241", "card_type": "premium" }

Objek ini dikembalikan sebagai string JSON-serialisasi dalam resolvedValues objek dikembalikan oleh RecognizeText,, RecognizeUtterancedan operasi. StartConversation

Menambahkan jenis slot tata bahasa

Untuk menambahkan jenis slot tata bahasa
  1. Unggah definisi XMLdari jenis slot Anda ke bucket S3. Catat nama bucket dan path ke file.

    catatan

    Ukuran file maksimum adalah 100 KB.

  2. Masuk ke AWS Management Console dan buka konsol Amazon Lex di https://console.aws.amazon.com/lex/.

  3. Dari menu sebelah kiri, pilih Bot dan kemudian pilih bot untuk menambahkan jenis slot tata bahasa.

  4. Pilih Lihat bahasa, lalu pilih bahasa untuk menambahkan jenis slot tata bahasa.

  5. Pilih Lihat jenis slot.

  6. Pilih Tambahkan jenis slot, lalu pilih Tambahkan jenis slot tata bahasa.

  7. Beri nama jenis slot, lalu pilih Tambah.

  8. Pilih bucket S3 yang berisi file definisi Anda dan masukkan path ke file. Pilih Simpan jenis slot.