Share via


GrammarBuilder.Append Metode

Definisi

Menambahkan elemen tata bahasa ke urutan elemen tata bahasa saat ini.

Overload

Append(String, Int32, Int32)

Menambahkan frasa berulang ke urutan elemen tata bahasa saat ini.

Append(GrammarBuilder, Int32, Int32)

Menambahkan elemen tata bahasa berulang ke urutan elemen tata bahasa saat ini.

Append(String)

Menambahkan frasa ke urutan elemen tata bahasa saat ini.

Append(String, SubsetMatchingMode)

Menambahkan elemen untuk subset frasa ke urutan elemen tata bahasa saat ini.

Append(SemanticResultKey)

Menambahkan kunci semantik ke urutan elemen tata bahasa saat ini.

Append(SemanticResultValue)

Menambahkan nilai semantik ke urutan elemen tata bahasa saat ini.

Append(GrammarBuilder)

Menambahkan elemen tata bahasa ke urutan elemen tata bahasa saat ini.

Append(Choices)

Menambahkan sekumpulan alternatif untuk urutan elemen tata bahasa saat ini.

Keterangan

Gunakan metode ini untuk menambahkan elemen tata bahasa ke yang sudah ada GrammarBuilder. Saat membuat elemen tata bahasa, Anda dapat menambahkannya ke penyusun yang ada untuk mengembangkan batasan untuk tata bahasa pengenalan ucapan secara progresif. Setiap elemen ditambahkan ke akhir urutan elemen saat ini.

Metode ini memiliki kelebihan beban untuk menambahkan GrammarBuilderobjek , , StringChoices, SemanticResultKey, dan SemanticResultValue .

Penting

Pengenal ucapan dapat melemparkan pengecualian saat menggunakan tata bahasa pengenalan ucapan yang berisi elemen semantik duplikat dengan nama kunci yang sama atau beberapa elemen semantik yang dapat berulang kali memodifikasi nilai elemen semantik yang sama.

Untuk informasi selengkapnya tentang membangun dan menggunakan tata bahasa pengenalan ucapan, lihat Pengenalan Ucapan.

Append(String, Int32, Int32)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menambahkan frasa berulang ke urutan elemen tata bahasa saat ini.

public:
 void Append(System::String ^ phrase, int minRepeat, int maxRepeat);
public void Append (string phrase, int minRepeat, int maxRepeat);
member this.Append : string * int * int -> unit
Public Sub Append (phrase As String, minRepeat As Integer, maxRepeat As Integer)

Parameter

phrase
String

Urutan kata yang diulang untuk ditambahkan.

minRepeat
Int32

Jumlah minimum pencocokan phrase input harus terjadi untuk merupakan kecocokan.

maxRepeat
Int32

Jumlah maksimum kali pencocokan phrase input dapat terjadi untuk merupakan kecocokan.

Contoh

Contoh berikut membuat tata bahasa pengenalan ucapan untuk frasa seperti "Panggil James di tempat kerja" dan "Panggil Anne di ponselnya", di mana kata "telepon" bersifat opsional. GrammarBuilder dan Choices objek digunakan untuk membangun tata bahasa. Contoh menyoroti penggunaan Append metode .

public static Grammar CreatePhonePhrase()
{
  // Create alternatives for person names, locations, devices, and pronouns.
  Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
  Choices locationChoice = new Choices(new string[] {"home", "work"});
  Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
  Choices pronounChoice = new Choices(new string[] {"his", "her"});

  // Create a phrase for the receiving device, which optionally contains the word "phone".
  GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
  devicePhrase.Append(deviceChoice);
  devicePhrase.Append("phone", 0, 1);

  // Create alternatives for phrases specifying a device or a location.
  GrammarBuilder atLocation = new GrammarBuilder("at");
  atLocation.Append(locationChoice);

  GrammarBuilder onDevice = new GrammarBuilder("on");
  onDevice.Append(devicePhrase);

  Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});

  // Build the final phrase.
  GrammarBuilder callWho = new GrammarBuilder("Call");
  callWho.Append(personChoice);
  callWho.Append(howChoice);

  // Create the Grammar object.
  Grammar callGrammar = new Grammar(callWho);
  callGrammar.Name = "Call Grammar";

  return callGrammar;
}

Keterangan

Nilai minRepeat harus lebih besar dari atau sama dengan 0 dan kurang dari atau sama dengan nilai maxRepeat.

Lihat juga

Berlaku untuk

Append(GrammarBuilder, Int32, Int32)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menambahkan elemen tata bahasa berulang ke urutan elemen tata bahasa saat ini.

public:
 void Append(System::Speech::Recognition::GrammarBuilder ^ builder, int minRepeat, int maxRepeat);
public void Append (System.Speech.Recognition.GrammarBuilder builder, int minRepeat, int maxRepeat);
member this.Append : System.Speech.Recognition.GrammarBuilder * int * int -> unit
Public Sub Append (builder As GrammarBuilder, minRepeat As Integer, maxRepeat As Integer)

Parameter

builder
GrammarBuilder

Elemen tata bahasa berulang untuk ditambahkan.

minRepeat
Int32

Jumlah minimum kali input yang cocok dengan elemen yang ditentukan oleh builder harus terjadi untuk merupakan kecocokan.

maxRepeat
Int32

Jumlah maksimum kali input yang cocok dengan elemen yang ditentukan oleh builder dapat terjadi untuk merupakan kecocokan.

Contoh

Contoh berikut membuat tata bahasa pengenalan ucapan untuk frasa seperti "Panggil James di tempat kerja" dan "Panggil Anne di ponselnya", di mana kata "telepon" bersifat opsional. GrammarBuilder dan Choices objek digunakan untuk membangun tata bahasa. Contoh menyoroti penggunaan Append metode .

public static Grammar CreatePhonePhrase()
{
  // Create alternatives for person names, locations, devices, and pronouns.
  Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
  Choices locationChoice = new Choices(new string[] {"home", "work"});
  Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
  Choices pronounChoice = new Choices(new string[] {"his", "her"});

  // Create a phrase for the receiving device, which optionally contains the word "phone".
  GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
  devicePhrase.Append(deviceChoice);
  devicePhrase.Append("phone", 0, 1);

  // Create alternatives for phrases specifying a device or a location.
  GrammarBuilder atLocation = new GrammarBuilder("at");
  atLocation.Append(locationChoice);

  GrammarBuilder onDevice = new GrammarBuilder("on");
  onDevice.Append(devicePhrase);

  Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});

  // Build the final phrase.
  GrammarBuilder callWho = new GrammarBuilder("Call");
  callWho.Append(personChoice);
  callWho.Append(howChoice);

  // Create the Grammar object.
  Grammar callGrammar = new Grammar(callWho);
  callGrammar.Name = "Call Grammar";

  return callGrammar;
}

Keterangan

Nilai minRepeat harus lebih besar dari atau sama dengan 0 dan kurang dari atau sama dengan nilai maxRepeat.

Penting

Saat Anda menambahkan GrammarBuilder objek yang berisi SemanticResultValue atau SemanticResultKey instans ke GrammarBuilder objek, pastikan Anda menghindari pembuatan elemen semantik duplikat dengan nama kunci yang sama atau beberapa elemen semantik yang dapat berulang kali memodifikasi Value properti SemanticValue objek. Pengenal ucapan dapat melemparkan pengecualian jika mengalami keadaan ini.

Lihat juga

Berlaku untuk

Append(String)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menambahkan frasa ke urutan elemen tata bahasa saat ini.

public:
 void Append(System::String ^ phrase);
public void Append (string phrase);
member this.Append : string -> unit
Public Sub Append (phrase As String)

Parameter

phrase
String

Urutan kata yang akan ditambahkan.

Keterangan

phrase ditambahkan ke akhir urutan elemen saat ini.

Lihat juga

Berlaku untuk

Append(String, SubsetMatchingMode)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menambahkan elemen untuk subset frasa ke urutan elemen tata bahasa saat ini.

public:
 void Append(System::String ^ phrase, System::Speech::Recognition::SubsetMatchingMode subsetMatchingCriteria);
public void Append (string phrase, System.Speech.Recognition.SubsetMatchingMode subsetMatchingCriteria);
member this.Append : string * System.Speech.Recognition.SubsetMatchingMode -> unit
Public Sub Append (phrase As String, subsetMatchingCriteria As SubsetMatchingMode)

Parameter

phrase
String

Urutan kata yang akan ditambahkan.

subsetMatchingCriteria
SubsetMatchingMode

Mode pencocokan yang digunakan tata bahasa untuk mengenali frasa.

Contoh

Contoh berikut membuat tata bahasa pengenalan ucapan untuk setiap SubsetMatchingMode nilai. Misalnya, tata OrderedSubset bahasa yang dihasilkan mengenali frasa, "tiga empat lima" dan "satu tiga lima", dan tata Subsequence bahasa mengenali frasa "tiga empat lima", tetapi bukan frasa, "satu tiga lima".

private Grammar[] CreateSubsetMatchTest()
{
  List<Grammar> grammars = new List<Grammar>(4);

  string phrase = "one two three four five six";
  foreach (SubsetMatchingMode mode in
    Enum.GetValues(typeof(SubsetMatchingMode)))
  {
    GrammarBuilder gb = new GrammarBuilder();
    gb.Append(phrase, mode);

    Grammar grammar = new Grammar(gb);
    grammar.Name = mode.ToString();
    grammars.Add(grammar);
  }

  return grammars.ToArray();
}

Keterangan

Elemen subset ditambahkan ke akhir urutan elemen saat ini. Untuk informasi selengkapnya tentang membangun tata bahasa pengenalan ucapan menggunakan string, lihat Menggunakan String untuk Membuat Tata Bahasa GrammarBuilder.

Untuk informasi terperinci tentang penggunaan mode pencocokan subset, lihat System.Speech.Recognition.SubsetMatchingMode.

Lihat juga

Berlaku untuk

Append(SemanticResultKey)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menambahkan kunci semantik ke urutan elemen tata bahasa saat ini.

public:
 void Append(System::Speech::Recognition::SemanticResultKey ^ key);
public void Append (System.Speech.Recognition.SemanticResultKey key);
member this.Append : System.Speech.Recognition.SemanticResultKey -> unit
Public Sub Append (key As SemanticResultKey)

Parameter

key
SemanticResultKey

Kunci semantik untuk ditambahkan.

Contoh

Contoh berikut adalah bagian dari aplikasi konsol untuk memilih kota asal dan tujuan untuk penerbangan. Aplikasi ini mengenali frasa seperti "Saya ingin terbang dari Miami ke Chicago." Handler untuk SpeechRecognized acara menggunakan SemanticResultKey untuk mengekstrak kode bandara yang ditentukan di SemanticResultValue kota asal dan tujuan.

using System;
using System.Speech.Recognition;

namespace SampleRecognition
{
  class Program
  {
    static void Main(string[] args)

    // Initialize an in-process speech recognition engine.
    {
      using (SpeechRecognitionEngine recognizer =
         new SpeechRecognitionEngine())
      {

        // Create a Choices object and add  cities and airport codes
        // using SemanticResultValue objects.
        Choices cities = new Choices();
        cities.Add(new SemanticResultValue("Chicago", "ORD"));
        cities.Add(new SemanticResultValue("Boston", "BOS"));
        cities.Add(new SemanticResultValue("Miami", "MIA"));
        cities.Add(new SemanticResultValue("Dallas", "DFW"));

        // Build the phrase and add SemanticResultKeys.
        GrammarBuilder chooseCities = new GrammarBuilder();
        chooseCities.Append("I want to fly from");
        chooseCities.Append(new SemanticResultKey("origin", cities));
        chooseCities.Append("to");
        chooseCities.Append(new SemanticResultKey("destination", cities));

        // Build a Grammar object from the GrammarBuilder.
        Grammar bookFlight = new Grammar(chooseCities);
        bookFlight.Name = "Book Flight";

        // Add a handler for the LoadGrammarCompleted event.
        recognizer.LoadGrammarCompleted +=
          new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);

        // Add a handler for the SpeechRecognized event.
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

        // Configure the input to the recognizer.
        recognizer.SetInputToDefaultAudioDevice();

        // Load the grammar object and start recognition.
        recognizer.LoadGrammarAsync(bookFlight);
        recognizer.RecognizeAsync();

        // Keep the console window open.
        Console.ReadLine();
      }
    }

    // Handle the LoadGrammarCompleted event.
    static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
    {
      Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
      Console.WriteLine();
    }

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine("Speech recognized:  " + e.Result.Text);
      Console.WriteLine();
      Console.WriteLine("Semantic results:");
      Console.WriteLine("  The flight origin is " + e.Result.Semantics["origin"].Value);
      Console.WriteLine("  The flight destination is " + e.Result.Semantics["destination"].Value);
    }
  }
}

Keterangan

key ditambahkan ke akhir urutan elemen saat ini.

Penting

Saat Anda menambahkan SemanticResultValue atau SemanticResultKey instans ke GrammarBuilder objek, pastikan Anda menghindari pembuatan elemen semantik duplikat dengan nama kunci yang sama atau beberapa elemen semantik yang dapat berulang kali memodifikasi Value properti SemanticValue objek. Pengenal ucapan dapat melemparkan pengecualian jika mengalami keadaan ini.

Lihat juga

Berlaku untuk

Append(SemanticResultValue)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menambahkan nilai semantik ke urutan elemen tata bahasa saat ini.

public:
 void Append(System::Speech::Recognition::SemanticResultValue ^ value);
public void Append (System.Speech.Recognition.SemanticResultValue value);
member this.Append : System.Speech.Recognition.SemanticResultValue -> unit
Public Sub Append (value As SemanticResultValue)

Parameter

value
SemanticResultValue

Nilai semantik untuk ditambahkan.

Contoh

Contoh berikut adalah bagian dari aplikasi konsol untuk memilih kota asal dan tujuan untuk penerbangan. Aplikasi ini mengenali frasa seperti "Saya ingin terbang dari Miami ke Chicago." Handler untuk SpeechRecognized acara menggunakan SemanticResultKey untuk mengekstrak kode bandara yang ditentukan di SemanticResultValue kota asal dan tujuan.

using System;
using System.Speech.Recognition;

namespace SampleRecognition
{
  class Program
  {
    static void Main(string[] args)

    // Initialize an in-process speech recognition engine.
    {
      using (SpeechRecognitionEngine recognizer =
         new SpeechRecognitionEngine())
      {

        // Create GrammarBuilder objects and append SemanticResultValue objects
        // that contain cities and airport codes.

        GrammarBuilder chicago = new GrammarBuilder();
        chicago.Append(new SemanticResultValue("Chicago", "ORD"));

        GrammarBuilder boston = new GrammarBuilder();
        boston.Append(new SemanticResultValue("Boston", "BOS"));

        GrammarBuilder miami = new GrammarBuilder();
        miami.Append(new SemanticResultValue("Miami", "MIA"));

        GrammarBuilder dallas = new GrammarBuilder();
        dallas.Append(new SemanticResultValue("Dallas", "DFW"));

        // Create a Choices object and add the cities using implicit conversion from
        // SemanticResultValue to GrammarBuilder.
        Choices cities = new Choices();
        cities.Add(new Choices(new GrammarBuilder[] { chicago, boston, miami, dallas }));

        // Build the phrase and add SemanticResultKeys.
        GrammarBuilder chooseCities = new GrammarBuilder();
        chooseCities.Append("I want to fly from");
        chooseCities.Append(new SemanticResultKey("origin", cities));
        chooseCities.Append("to");
        chooseCities.Append(new SemanticResultKey("destination", cities));

        // Build a Grammar object from the GrammarBuilder.
        Grammar bookFlight = new Grammar(chooseCities);
        bookFlight.Name = "Book Flight";

        // Add a handler for the LoadGrammarCompleted event.
        recognizer.LoadGrammarCompleted +=
          new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);

        // Add a handler for the SpeechRecognized event.
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

        // Configure the input to the recognizer.
        recognizer.SetInputToDefaultAudioDevice();

        // Load the grammar object and start recognition.
        recognizer.LoadGrammarAsync(bookFlight);
        recognizer.RecognizeAsync();

        // Keep the console window open.
        Console.ReadLine();
      }
    }
    // Handle the LoadGrammarCompleted event.
    static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
    {
      Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
      Console.WriteLine();
    }

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine("Speech recognized:  " + e.Result.Text);
      Console.WriteLine();
      Console.WriteLine("Semantic results:");
      Console.WriteLine("  The flight origin is " + e.Result.Semantics["origin"].Value);
      Console.WriteLine("  The flight destination is " + e.Result.Semantics["destination"].Value);
    }
  }
}

Keterangan

value ditambahkan ke akhir urutan elemen saat ini.

Penting

Saat Anda menambahkan SemanticResultValue atau SemanticResultKey instans ke GrammarBuilder objek, pastikan Anda menghindari pembuatan elemen semantik duplikat dengan nama kunci yang sama atau beberapa elemen semantik yang dapat berulang kali memodifikasi Value properti SemanticValue objek. Pengenal ucapan dapat melemparkan pengecualian jika mengalami keadaan ini.

Lihat juga

Berlaku untuk

Append(GrammarBuilder)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menambahkan elemen tata bahasa ke urutan elemen tata bahasa saat ini.

public:
 void Append(System::Speech::Recognition::GrammarBuilder ^ builder);
public void Append (System.Speech.Recognition.GrammarBuilder builder);
member this.Append : System.Speech.Recognition.GrammarBuilder -> unit
Public Sub Append (builder As GrammarBuilder)

Parameter

builder
GrammarBuilder

Elemen tata bahasa yang akan ditambahkan.

Contoh

Contoh berikut membuat tata bahasa pengenalan ucapan untuk frasa seperti "Panggil James di tempat kerja" dan "Panggil Anne di ponselnya", di mana kata "telepon" bersifat opsional. GrammarBuilder dan Choices objek digunakan untuk membangun tata bahasa. Contoh menyoroti penggunaan Append metode .

public static Grammar CreatePhonePhrase()
{
  // Create alternatives for person names, locations, devices, and pronouns.
  Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
  Choices locationChoice = new Choices(new string[] {"home", "work"});
  Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
  Choices pronounChoice = new Choices(new string[] {"his", "her"});

  // Create a phrase for the receiving device, which optionally contains the word "phone".
  GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
  devicePhrase.Append(deviceChoice);
  devicePhrase.Append("phone", 0, 1);

  // Create alternatives for phrases specifying a device or a location.
  GrammarBuilder atLocation = new GrammarBuilder("at");
  atLocation.Append(locationChoice);

  GrammarBuilder onDevice = new GrammarBuilder("on");
  onDevice.Append(devicePhrase);

  Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});

  // Build the final phrase.
  GrammarBuilder callWho = new GrammarBuilder("Call");
  callWho.Append(personChoice);
  callWho.Append(howChoice);

  // Create the Grammar object.
  Grammar callGrammar = new Grammar(callWho);
  callGrammar.Name = "Call Grammar";

  return callGrammar;
}

Keterangan

builder ditambahkan ke akhir urutan elemen tata bahasa saat ini.

Catatan

Saat Anda menambahkan GrammarBuilder objek yang berisi SemanticResultValue atau SemanticResultKey instans ke GrammarBuilder objek, pastikan Anda menghindari pembuatan elemen semantik duplikat dengan nama kunci yang sama atau beberapa elemen semantik yang dapat berulang kali memodifikasi Value properti SemanticValue objek. Pengenal ucapan dapat melemparkan pengecualian jika mengalami keadaan ini.

Lihat juga

Berlaku untuk

Append(Choices)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menambahkan sekumpulan alternatif untuk urutan elemen tata bahasa saat ini.

public:
 void Append(System::Speech::Recognition::Choices ^ alternateChoices);
public void Append (System.Speech.Recognition.Choices alternateChoices);
member this.Append : System.Speech.Recognition.Choices -> unit
Public Sub Append (alternateChoices As Choices)

Parameter

alternateChoices
Choices

Set alternatif untuk ditambahkan.

Contoh

Contoh berikut membuat tata bahasa pengenalan ucapan untuk frasa seperti "Panggil James di tempat kerja" dan "Panggil Anne di ponselnya", di mana kata "telepon" bersifat opsional. Contoh menyoroti penggunaan Append metode .

public static Grammar CreatePhonePhrase()
{
  // Create alternatives for person names, locations, devices, and pronouns.
  Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
  Choices locationChoice = new Choices(new string[] {"home", "work"});
  Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
  Choices pronounChoice = new Choices(new string[] {"his", "her"});

  // Create a phrase for the receiving device, which optionally contains the word "phone".
  GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
  devicePhrase.Append(deviceChoice);
  devicePhrase.Append("phone", 0, 1);

  // Create alternatives for phrases specifying a device or a location.
  GrammarBuilder atLocation = new GrammarBuilder("at");
  atLocation.Append(locationChoice);

  GrammarBuilder onDevice = new GrammarBuilder("on");
  onDevice.Append(devicePhrase);

  Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});

  // Build the final phrase.
  GrammarBuilder callWho = new GrammarBuilder("Call");
  callWho.Append(personChoice);
  callWho.Append(howChoice);

  // Create the Grammar object.
  Grammar callGrammar = new Grammar(callWho);
  callGrammar.Name = "Call Grammar";

  return callGrammar;
}

Keterangan

alternateChoices ditambahkan ke akhir urutan elemen saat ini.

Penting

Saat Anda menambahkan Choices objek yang berisi SemanticResultValue atau SemanticResultKey instans ke GrammarBuilder objek, pastikan Anda menghindari pembuatan elemen semantik duplikat dengan nama kunci yang sama atau beberapa elemen semantik yang dapat berulang kali memodifikasi Value properti SemanticValue objek. Pengenal ucapan dapat melemparkan pengecualian jika mengalami keadaan ini.

Berlaku untuk