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 menulis tata bahasa Anda sendiri dalam XML format sesuai SRGS spesifikasi 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 ECMAScript tag dalam file tata bahasa. Amazon Lex kemudian mengembalikan properti yang disetel dalam tag sebagai nilai yang diselesaikan saat kecocokan terjadi.

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

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

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

Contoh berikut adalah dalam XML format per SRGS spesifikasi yang menunjukkan tata bahasa yang valid 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 selengkapnya tentang sintaks yang dapat diterima, lihat Definisi tata bahasa dan Format skrip topiknya.

<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 mungkin secara opsional diawali dengan “nomor kartu”. Ini juga berisi ECMAScript tag 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 -serialized dalam resolvedValues objek dikembalikan oleh RecognizeText, RecognizeUtterance, dan StartConversationoperasi.

Menambahkan tipe slot tata bahasa

Untuk menambahkan jenis slot tata bahasa
  1. Unggah XML definisi 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 kiri, pilih Bots 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.