

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Definizione grammaticale
<a name="grammar-srgs-spec"></a>

Questo argomento mostra le parti della specifica SRGS supportate da Amazon Lex V2. Tutte le regole sono definite nelle specifiche SRGS. Per ulteriori informazioni, consultate la raccomandazione W3C della [specifica grammaticale per il riconoscimento vocale versione 1.0](https://www.w3.org/TR/speech-grammar/).

**Topics**
+ [Dichiarazioni dell'intestazione](srgs-header.md)
+ [Elementi XML supportati](srgs-supported-xml.md)
+ [Token](srgs-tokens.md)
+ [Riferimento alla regola](srgs-rule-reference.md)
+ [Sequenze e incapsulamento](srgs-sequence.md)
+ [Ripetizioni](srgs-repeats.md)
+ [Lingua](srgs-language.md)
+ [Tag](srgs-tags.md)
+ [Pesi](grammar-weights.md)

[Questo documento include materiale copiato e derivato dalla W3C Speech Recognition Grammar Specification Version 1.0 (disponibile all'indirizzo https://www.w3). org/TR/speech-grammatica/).](https://www.w3.org/TR/speech-grammar/) Di seguito sono riportate le informazioni sulla citazione:

[Copyright](http://www.w3.org/Consortium/Legal/ipr-notice#Copyright) © 2004 [W3C®](http://www.w3.org/) ([MIT](http://www.csail.mit.edu/)), [ERCIM, [Keio](http://www.keio.ac.jp/), tutti](http://www.ercim.org/) i diritti riservati. [Si applicano le regole del W3C in materia di [responsabilità](http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer), [marchio, uso dei](http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks)[documenti e licenza del software](http://www.w3.org/Consortium/Legal/copyright-documents).](http://www.w3.org/Consortium/Legal/copyright-software)

Il documento delle specifiche SRGS, una [raccomandazione del W3C](https://www.w3.org/2004/02/Process-20040205/tr.html#RecsW3C), è disponibile presso il W3C con la seguente licenza.

## Testo della licenza
<a name="license-text"></a>

Licenza

 and/or Copiando questo documento, o il documento del W3C a cui è collegata questa dichiarazione, tu (il licenziatario) accetti di aver letto, compreso e rispettato i seguenti termini e condizioni:

Il permesso di copiare e distribuire il contenuto di questo documento, o del documento W3C da cui questa dichiarazione è collegata, su qualsiasi supporto per qualsiasi scopo e senza costi o royalty, è concesso con il presente documento, a condizione che si includa quanto segue in TUTTE le copie del documento, o parti di esso, che si utilizzano:
+ Un link o un URL al documento W3C originale.
+ [http://www.ercim.org/](http://www.ercim.org/) [http://www.w3. org/Consortium/Legal/2015/doc-licenza](http://www.w3.org/Consortium/Legal/2015/doc-license)»
+ *Se esiste, lo* STATUS del documento W3C.

Quando lo spazio lo consente, dovrebbe essere fornito l'inclusione del testo completo del presente **AVVISO**. Richiediamo che l'attribuzione della paternità sia fornita in qualsiasi software, documento o altro elemento o prodotto creato dall'utente in base all'implementazione del contenuto di questo documento o di parte dello stesso.

Ai sensi di questa licenza non viene concesso alcun diritto di creare modifiche o derivati dei documenti del W3C, ad eccezione di quanto segue: Per facilitare l'implementazione delle specifiche tecniche stabilite in questo documento, chiunque può preparare e distribuire opere derivate e parti di questo documento nel software, nei materiali di supporto che accompagnano il software e nella documentazione del software, A CONDIZIONE che tutti questi lavori includano l'avviso seguente. TUTTAVIA, la pubblicazione di opere derivate da questo documento per l'uso come specifica tecnica è espressamente vietata.

[Inoltre, i «Componenti del codice», ovvero Web IDL nelle sezioni chiaramente contrassegnate come Web IDL, il markup definito dal W3C (HTML, CSS e così via) e il codice del linguaggio di programmazione per computer chiaramente contrassegnati come esempi di codice, sono concessi in licenza ai sensi della licenza software W3C.](http://www.w3.org/Consortium/Legal/copyright-software)

L'avviso è:

«Diritto d'autore © 2015 W3C® (MIT, ERCIM, Keio, Beihang). Questo software o documento include materiale copiato o derivato da [titolo e URI del documento W3C].»

Avvertenze

IL PRESENTE DOCUMENTO VIENE FORNITO «COSÌ COM'È» E I TITOLARI DEL COPYRIGHT NON RILASCIANO ALCUNA DICHIARAZIONE O GARANZIA, ESPLICITA O IMPLICITA, INCLUSE, A TITOLO ESEMPLIFICATIVO, GARANZIE DI COMMERCIABILITÀ, IDONEITÀ PER UNO SCOPO PARTICOLARE, NON VIOLAZIONE O TITOLO; CHE IL CONTENUTO DEL DOCUMENTO SIA ADATTO A QUALSIASI SCOPO; NÉ CHE L'IMPLEMENTAZIONE DI TALI CONTENUTI NON VIOLI BREVETTI, COPYRIGHT, MARCHI O ALTRI DIRITTI DI TERZI.

I TITOLARI DEL COPYRIGHT NON SARANNO RESPONSABILI PER EVENTUALI DANNI DIRETTI, INDIRETTI, SPECIALI O CONSEQUENZIALI DERIVANTI DALL'USO DEL DOCUMENTO O DALL'ESECUZIONE O DALL'IMPLEMENTAZIONE DEI SUOI CONTENUTI.

Il nome e i marchi dei titolari del copyright NON possono essere utilizzati nella pubblicità o nella pubblicità relativa a questo documento o al suo contenuto senza previa autorizzazione specifica e scritta. La titolarità del copyright di questo documento rimarrà sempre di proprietà dei detentori del copyright.

# Dichiarazioni dell'intestazione
<a name="srgs-header"></a>

La tabella seguente mostra le dichiarazioni di intestazione supportate dal tipo di slot grammaticale. Per ulteriori informazioni, consulta [Grammar header declarations](https://www.w3.org/TR/speech-grammar/#S4.1) nella raccomandazione W3C sulla specifica *grammaticale per il riconoscimento vocale versione 1*.


| Dichiarazione | Requisito di specifica | Modulo XML | Supporto Amazon Lex | Specifiche | 
| --- | --- | --- | --- | --- | 
| Versione grammaticale | Richiesto | [4.3](https://www.w3.org/TR/speech-grammar/#S4.3): version attributo sull'grammarelemento | Richiesto | SRGS | 
| spazio dei nomi XML | Obbligatorio (solo XML) | [4.3](https://www.w3.org/TR/speech-grammar/#S4.3): xmlns attributo sull'grammarelemento | Richiesto | SRGS | 
| Tipo di documento | Obbligatorio (solo XML) | [4.3](https://www.w3.org/TR/speech-grammar/#S4.3): DOCTYPE XML | Consigliato | SRGS | 
| Codifica caratteri | Consigliato | [4.4](https://www.w3.org/TR/speech-grammar/#S4.4): encoding attributo nella dichiarazione XML | Consigliato | SRGS | 
| Lingua | Richiesto in modalità vocale Ignorato in modalità DTMF | [4.5: attributo](https://www.w3.org/TR/speech-grammar/#S4.5) sull'elemento xml:lang grammar | Richiesto in modalità vocale Ignorato in modalità DTMF | SRGS | 
| Modalità | Facoltativo | [4.6](https://www.w3.org/TR/speech-grammar/#S4.6): mode attributo su elemento grammar | Facoltativo | SRGS | 
| Regola principale | Facoltativo | [4.7](https://www.w3.org/TR/speech-grammar/#S4.7): root attributo su grammar elemento | Campo obbligatorio | SRGS | 
| Formato del tag | Facoltativo | [4.8](https://www.w3.org/TR/speech-grammar/#S4.8): tag-format attributo sull'grammarelemento | Stringa letterale e sono supportate ECMAScript  | SRGS, SIGNORE | 
| URI di base | Facoltativo | [4.9](https://www.w3.org/TR/speech-grammar/#S4.9): xml:base attributo sull'grammarelemento | Facoltativo | SRGS | 
| Lessico di pronuncia | Facoltativo, multiplo consentito | [4.10](https://www.w3.org/TR/speech-grammar/#S4.`0): elemento lexicon | Non supportato | SRGS, PLUS | 
| Metadati | Facoltativo, multiplo consentito | [4.11.1](https://www.w3.org/TR/speech-grammar/#S4.11.1): elemento meta | Richiesto | SRGS | 
| Metadati XML | Facoltativo, solo XML | [4.11.2](https://www.w3.org/TR/speech-grammar/#S4.11.2): elemento metadata | Facoltativo | SRGS | 
| Tag | Facoltativo, sono consentiti più | [4.12](https://www.w3.org/TR/speech-grammar/#S4.12): elemento tag | Tag globali non supportati | SRGS | 

**Esempio**

```
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE grammar PUBLIC "-//W3C//DTD GRAMMAR 1.0//EN"
                  "http://www.w3.org/TR/speech-grammar/grammar.dtd">

<grammar xmlns="http://www.w3.org/2001/06/grammar"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xml:base="http://www.example.com/base-file-path"
         xsi:schemaLocation="http://www.w3.org/2001/06/grammar
                             http://www.w3.org/TR/speech-grammar/grammar.xsd"
         xml:lang="en-US"
         version="1.0"
         mode="voice"
         root="city"
         tag-format="semantics/1.0">
```

# Elementi XML supportati
<a name="srgs-supported-xml"></a>

Amazon Lex V2 supporta i seguenti elementi XML per grammatiche personalizzate:
+ `<item>`
+ `<token>`
+ `<tag>`
+ `<one-of>`
+ `<rule-ref>`

# Token
<a name="srgs-tokens"></a>

La tabella seguente mostra le specifiche del token supportate dal tipo di slot grammaticale. Per ulteriori informazioni, vedere [Tokens nella raccomandazione W3C](https://www.w3.org/TR/speech-grammar/#S2.1) della *specifica grammaticale per il riconoscimento vocale versione 1*.


| Tipo di token | Esempio | Supportato? | 
| --- | --- | --- | 
| Token singolo non quotato | ciao | Sì | 
| Token singolo non quotato: non alfabetico | 2 | Sì | 
| Token con virgolette singole, senza spazi bianchi | "hello" | Sì, elimina le virgolette doppie quando contiene solo un singolo token | 
| Due token delimitati da uno spazio bianco | buon viaggio | Sì | 
| Quattro gettoni delimitati da spazi bianchi | questo è un test | Sì | 
| Token con virgolette singole, spazi bianchi inclusi | «San Francisco | No | 
| Token XML singolo nel <token>tag | <token>San Francisco</token> | No (uguale al token con virgolette singole con spazio bianco) | 

**Note**
+ *Token con virgolette singole incluso lo spazio bianco*: la specifica richiede che le parole racchiuse tra virgolette doppie vengano trattate come un unico token. Amazon Lex V2 li considera come token delimitati da spazi bianchi.
+ *Token XML singolo* <token><token>: la specifica richiede che le parole delimitate da rappresentino un token. Amazon Lex V2 li considera come token delimitati da spazi bianchi.
+ Amazon Lex V2 genera un errore di convalida quando uno dei due utilizzi viene rilevato nella grammatica.

**Esempio**

```
<rule id="state" scope="public">
    <one-of>
        <item>FL</item>
        <item>MA</item>
        <item>NY</item>
    </one-of>
</rule>
```

# Riferimento alla regola
<a name="srgs-rule-reference"></a>

La tabella seguente riassume le varie forme di riferimento alle regole possibili all'interno dei documenti grammaticali. Per ulteriori informazioni, vedere il [riferimento alle regole nella raccomandazione W3C](https://www.w3.org/TR/speech-grammar/#S2.2) sulla *specifica grammaticale del riconoscimento vocale versione 1*. 


| Tipo di riferimento | Modulo XML | Supportata | 
| --- | --- | --- | 
| [2.2.1 Riferimento](https://www.w3.org/TR/speech-grammar/#S2.2.1) esplicito alle regole locali | <ruleref uri="\$1rulename"/> | Sì | 
| [2.2.2](https://www.w3.org/TR/speech-grammar/#S2.2.2) [Riferimento esplicito a una regola denominata di una grammatica identificata da un URI](https://www.w3.org/TR/speech-grammar/#term-uri) | <ruleref uri="grammarURI\$1rulename"/> | No | 
| [2.2.2](https://www.w3.org/TR/speech-grammar/#S2.2.2) [Riferimento implicito alla regola principale di una grammatica identificata da un URI](https://www.w3.org/TR/speech-grammar/#term-uri) | <ruleref uri="grammarURI"/> | No | 
| [2.2.2](https://www.w3.org/TR/speech-grammar/#S2.2.2) [https://www.w3.org/TR/speech-grammar/#term-uri](https://www.w3.org/TR/speech-grammar/#term-uri) | <ruleref uri="grammarURI\$1rulename" type="media-type"/> | No | 
| [2.2.2](https://www.w3.org/TR/speech-grammar/#S2.2.2) [https://www.w3.org/TR/speech-grammar/#term-uri](https://www.w3.org/TR/speech-grammar/#term-uri) | <ruleref uri="grammarURI" type="media-type"/> | No | 
| [2.2.3 Definizioni](https://www.w3.org/TR/speech-grammar/#S2.2.3) di regole speciali | `<ruleref special="NULL"/>` `<ruleref special="VOID"/>` `<ruleref special="GARBAGE"/>` | No | 

**Note**

1. Grammar URI è un URI esterno. Ad esempio, `http://grammar.example.com/world-cities.grxml`.

1. Il tipo di supporto può essere:
   + `application/srgs+xml`
   + `text/plain`

**Esempio**

```
<rule id="city" scope="public">
    <one-of>
        <item>Boston</item>
        <item>Philadelphia</item>
        <item>Fargo</item>
    </one-of>
</rule>

<rule id="state" scope="public">
    <one-of>
        <item>FL</item>
        <item>MA</item>
        <item>NY</item>
    </one-of>
</rule>

<!-- "Boston MA" -> city = Boston, state = MA -->
<rule id="city_state" scope="public">
    <ruleref uri="#city"/> <ruleref uri="#state"/>
</rule>
```

# Sequenze e incapsulamento
<a name="srgs-sequence"></a>

L'esempio seguente mostra le sequenze supportate. Per ulteriori informazioni, vedere [Sequenze e incapsulamento](https://www.w3.org/TR/speech-grammar/#S2.3) nella raccomandazione W3C della *specifica grammaticale per il riconoscimento vocale* versione 1. 

**Esempio**

```
<!-- sequence of tokens -->
this is a test

<!--sequence of rule references-->
<ruleref uri="#action"/> <ruleref uri="#object"/>

<!--sequence of tokens and rule references-->
the <ruleref uri="#object"/> is <ruleref uri="#color"/>

<!-- sequence container -->
<item>fly to <ruleref uri="#city"/> </item>
```

# Ripetizioni
<a name="srgs-repeats"></a>

La tabella seguente mostra le espansioni ripetute supportate per le regole. Per ulteriori informazioni, vedere [Repeats](https://www.w3.org/TR/speech-grammar/#S2.5) in the *Speech Recognition Grammatical Specification, versione* 1, raccomandazione W3C. 


| Modulo XMLEsempio | Comportamento | Supportato? | 
| --- | --- | --- | 
| *ripeti="n»* ripeti="6" | L'espressione contenuta viene ripetuta esattamente «n» volte. «n» deve essere «0" o un numero intero positivo. | Sì | 
| *repeat = «m-n»* ripeti="4-6" | L'espansione contenuta viene ripetuta tra «m» e «n» volte (incluse). «m» e «n» devono essere entrambi «0" o un numero intero positivo e «m» deve essere minore o uguale a «n». | Sì | 
| *repeat = «m-»* ripeti="3-» | L'espansione contenuta viene ripetuta «m» o più volte (incluso). «m» deve essere «0" o un numero intero positivo. Ad esempio, «3-» dichiara che l'espansione contenuta può verificarsi tre, quattro, cinque o più volte. | Sì | 
| *repeat="0-1"*  | L'espansione contenuta è facoltativa. | Sì | 
| <item repeat="2-4" repeat-prob="0.8"> |   | No | 

# Lingua
<a name="srgs-language"></a>

La discussione seguente si applica agli identificatori di lingua applicati alle grammatiche. Per ulteriori informazioni, vedere [Language](https://www.w3.org/TR/speech-grammar/#S2.7) in the *Speech Recognition Grammatical Specification, versione 1* (raccomandazione W3C). 

[Per impostazione predefinita, una grammatica è un documento in una sola lingua con un [identificatore di lingua](https://www.w3.org/TR/speech-grammar/#term-language) fornito nella dichiarazione della lingua nell'intestazione grammaticale.](https://www.w3.org/TR/speech-grammar/#S4.1) Tutti i token all'interno di quella grammatica, se non diversamente dichiarato, **verranno gestiti** in base alla lingua della grammatica. **Le dichiarazioni linguistiche a livello grammaticale non sono supportate.**

Nel seguente esempio:

1. La dichiarazione grammaticale dell'intestazione per la lingua «en-US» **è supportata da** Amazon Lex V2.

1. **L'allegato della lingua a livello di elemento (evidenziato in) non è supportato. *red*** Amazon Lex V2 genera un errore di convalida se l'allegato di una lingua è diverso dalla dichiarazione dell'intestazione.

```
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE grammar PUBLIC "-//W3C//DTD GRAMMAR 1.0//EN"
                  "http://www.w3.org/TR/speech-grammar/grammar.dtd">

<!-- the default grammar language is US English -->
<grammar xmlns="http://www.w3.org/2001/06/grammar"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://www.w3.org/2001/06/grammar
                             http://www.w3.org/TR/speech-grammar/grammar.xsd"
         xml:lang="en-US" version="1.0">

  <!--
     single language attachment to tokens
     "yes" inherits US English language
     "oui" is Canadian French language
  -->
  <rule id="yes">
    <one-of>
      <item>yes</item>
      <item xml:lang="fr-CA">oui</item>
    </one-of>
  </rule>

  <!-- Single language attachment to an expansion -->
  <rule id="people1">
    <one-of xml:lang="fr-CA">
      <item>Michel Tremblay</item>
      <item>André Roy</item>
    </one-of>
  </rule>
</grammar>
```

# Tag
<a name="srgs-tags"></a>

La discussione seguente si applica ai tag definiti per le grammatiche. Per ulteriori informazioni, vedere [Tag](https://www.w3.org/TR/speech-grammar/#S2.6) nella raccomandazione W3C della *specifica grammaticale per il riconoscimento vocale versione 1*. 

In base alle specifiche SRGS, i tag possono essere definiti nei seguenti modi:

1. Come parte di una dichiarazione di intestazione, come descritto in. [Dichiarazioni dell'intestazione](srgs-header.md)

1. Come parte di una** <rule>definizione.

Sono supportati i seguenti formati di tag:
+ `semantics/1.0`(SISR, ECMAScript)
+ `semantics/1.0-literals`(stringhe letterali SISR)

I seguenti formati di tag non sono supportati:
+ `swi-semantics/1.0`(proprietario di Nuance)

**Esempio**

```
<grammar xmlns="http://www.w3.org/2001/06/grammar"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xml:base="http://www.example.com/base-file-path"
         xsi:schemaLocation="http://www.w3.org/2001/06/grammar
                             http://www.w3.org/TR/speech-grammar/grammar.xsd"
         xml:lang="en-US"
         version="1.0"
         mode="voice"
         root="city"
         tag-format="semantics/1.0-literals">
    <rule id="no">
        <one-of>
            <item>no</item>
            <item>nope</item>
            <item>no way</item>
        </one-of>
        <tag>no</tag>
    </rule>
</grammar>
```

# Pesi
<a name="grammar-weights"></a>

È possibile aggiungere l'attributo *weight* a un elemento. Il peso è un valore positivo in virgola mobile che rappresenta il grado di incremento della frase contenuta nell'elemento durante il riconoscimento vocale. Per ulteriori informazioni, vedere [Weights in the](https://www.w3.org/TR/speech-grammar/) Speech Recognition Grammatical Specification, versione 1 (raccomandazione W3C).

I pesi devono essere maggiori di 0 e minori o uguali a 10 e possono avere una sola cifra decimale. Se il peso è maggiore di 0 e inferiore a 1, la frase viene potenziata negativamente. Se il peso è maggiore di 1 e minore o uguale a 10, la frase viene potenziata positivamente. Un peso pari a 1 equivale a non dare alcun peso e non c'è alcun potenziamento per la frase.

Assegnare pesi appropriati agli elementi per migliorare le prestazioni del riconoscimento vocale è un compito difficile. Ecco alcuni suggerimenti da seguire per l'assegnazione dei pesi:
+ Inizia con una grammatica senza assegnare pesi agli elementi.
+ Determina quali schemi del discorso vengono spesso identificati erroneamente.
+ Applica valori diversi ai pesi finché non noterai un miglioramento delle prestazioni di riconoscimento vocale e non si verificheranno regressioni.

**Esempio 1**

Ad esempio, se avete una grammatica per gli aeroporti e notate che *New York* viene spesso erroneamente identificata come *Newark*, potete dare una spinta positiva a New York assegnandole un peso pari a 5.

```
<rule> id="airport">
    <one-of>
        <item>
            Boston
            <tag>out="Boston"</tag>
        </item>
        <item weight="5">
            New York
            <tag>out="New York"</tag>
        </item>
        <item>
            Newark
            <tag>out="Newark"</tag>
        </item>
    </one-of>
</rule>
```

**Esempio 2**

Ad esempio, avete una grammatica per il codice di prenotazione aerea che inizia con un alfabeto inglese seguito da tre cifre. Molto probabilmente il codice di prenotazione inizia con B o D, ma si nota che B viene spesso erroneamente identificato come P e D come T. È possibile potenziare positivamente B e D.

```
<rule> id="alphabet">
    <one-of>
        <item>A<tag>out.letters+='A';</tag></item>
        <item weight="3.5">B<tag>out.letters+='B';</tag></item>
        <item>C<tag>out.letters+='C';</tag></item>
        <item weight="2.9">D<tag>out.letters+='D';</tag></item>
        <item>E<tag>out.letters+='E';</tag></item>
        <item>F<tag>out.letters+='F';</tag></item>
        <item>G<tag>out.letters+='G';</tag></item>
        <item>H<tag>out.letters+='H';</tag></item>
        <item>I<tag>out.letters+='I';</tag></item>
        <item>J<tag>out.letters+='J';</tag></item>
        <item>K<tag>out.letters+='K';</tag></item>
        <item>L<tag>out.letters+='L';</tag></item>
        <item>M<tag>out.letters+='M';</tag></item>
        <item>N<tag>out.letters+='N';</tag></item>
        <item>O<tag>out.letters+='O';</tag></item>
        <item>P<tag>out.letters+='P';</tag></item>
        <item>Q<tag>out.letters+='Q';</tag></item>
        <item>R<tag>out.letters+='R';</tag></item>
        <item>S<tag>out.letters+='S';</tag></item>
        <item>T<tag>out.letters+='T';</tag></item>
        <item>U<tag>out.letters+='U';</tag></item>
        <item>V<tag>out.letters+='V';</tag></item>
        <item>W<tag>out.letters+='W';</tag></item>
        <item>X<tag>out.letters+='X';</tag></item>
        <item>Y<tag>out.letters+='Y';</tag></item>
        <item>Z<tag>out.letters+='Z';</tag></item>
    </one-of>
</rule>
```