

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

# Jenis slot tata bahasa
<a name="building-srgs"></a>

Dengan jenis slot tata bahasa, Anda dapat menulis tata bahasa Anda sendiri dalam format XHTML sesuai 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 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 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 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. ECMAScript pernyataan terlampir dalam <tag>elemen. 

Contoh berikut adalah dalam format XHTML per spesifikasi SRGS 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](grammar-srgs-spec.md) dan [Format skrip](grammar-ecmascript-spec.md) 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](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html),, [RecognizeUtterance](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeUtterance.html)dan operasi. [StartConversation](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_StartConversation.html)

## Menambahkan tipe slot tata bahasa
<a name="adding-grammar-slot-type"></a>

**Untuk menambahkan jenis slot tata bahasa**

1. Unggah definisi XHTML dari jenis slot Anda ke bucket S3. Catat nama bucket dan path ke file.
**catatan**  
Ukuran file maksimum adalah 100 KB.

1. Masuk ke AWS Management Console dan buka konsol Amazon Lex di [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Dari menu kiri, pilih **Bots** dan kemudian pilih bot untuk menambahkan jenis slot tata bahasa.

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

1. Pilih **Lihat jenis slot**.

1. Pilih **Tambahkan jenis slot**, lalu pilih **Tambahkan jenis slot tata bahasa**.

1. Beri nama jenis slot, lalu pilih **Tambah**.

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