Aracılığıyla paylaş


GrammarBuilder Sınıf

Tanım

Konuşma tanıma dil bilgisi kısıtlamalarını program aracılığıyla oluşturmaya yönelik bir mekanizma sağlar.

public ref class GrammarBuilder
public class GrammarBuilder
type GrammarBuilder = class
Public Class GrammarBuilder
Devralma
GrammarBuilder

Örnekler

Aşağıdaki örnek, "Arka plan rengi yapChoice" veya "Arka planı colorChoice olarak ayarla" ifadelerinden birini tanıyabilen bir dil bilgisi oluşturmak için ve Choices nesnelerini kullanırGrammarBuilder.

Örnek, bir Choices nesne dizisinden colorChoice için kabul edilebilir değerlerin String listesini oluşturmak için bir nesnesi kullanır. Nesne Choices , SRGS belirtimindeki öğeye one-of benzer ve herhangi biri konuşulduğunda tanınabilen bir dizi alternatif tümcecik içerir. Örnek ayrıca, Choices iki GrammarBuilder nesneden oluşan bir diziyi, sonuçta elde edilen dil bilgisinin tanıyabileceği bir çift alternatif tümcecik halinde gruplandırmak için bir nesnesi kullanır. Alternatif sözcükler veya tümcecikler çoğu dil bilgisinin bir bileşenidir ve Choices nesnesi ile GrammarBuilderyapılan dil bilgisi için bu işlevselliği sağlar.

Örnek son olarak bir Grammar nesneden oluşturulan bir GrammarBuilderChoices nesne oluşturur.

private Grammar CreateColorGrammar()
{

  // Create a set of color choices.
  Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});
  GrammarBuilder colorElement = new GrammarBuilder(colorChoice);

  // Create grammar builders for the two versions of the phrase.
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");
  makePhrase.Append(colorElement);
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
  setPhrase.Append(colorElement);

  // Create a Choices for the two alternative phrases, convert the Choices
  // to a GrammarBuilder, and construct the grammar from the result.
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
  Grammar grammar = new Grammar((GrammarBuilder)bothChoices);
  grammar.Name = "backgroundColor";
  return grammar;
}

Açıklamalar

Konuşma tanıma dil bilgisi genellikle Konuşma Tanıma Dil Bilgisi Belirtimi (SRGS) Sürüm 1.0 tarafından tanımlanan XML biçiminde yazılır. SRGS hakkında bilgi sahibiyseniz ancak dil bilgisini program aracılığıyla oluşturmak istiyorsanız, üyeleri SRGS tarafından tanımlanan öğelere ve özniteliklere yakın karşılık gelen ad alanını kullanabilirsiniz System.Speech.Recognition.SrgsGrammar . SRGS'yi bilmiyorsanız veya birçok yaygın senaryoya verimli bir şekilde başarabileceğiniz dil bilgisi yazma konusunda basit, programlı bir yaklaşım istiyorsanız; ve Choices sınıflarını GrammarBuilder kullanabilirsiniz.

GrammarBuilder Nesneleri kullanarak alternatif tümcecikler içeren nesnelerden oluşanChoices, her düğümde önceden oluşturulmuş ve amble sonrası tümceciklerle kesişen ve uygulamaya anlamı ifade eden anlam değerleriyle dağıtılmış hiyerarşik bir ağaç oluşturun.

GrammarBuilder Nesnesi oluşturmak Grammar için kullanmak için aşağıdaki adımları kullanın.

  1. Bir GrammarBuilder nesne oluşturun.

  2. kısıtlamalarını GrammarBuilder, , , SemanticResultKeySemanticResultValue, DictationGrammarve dil bilgisi kısıtlamalarını tanımlayan diğer GrammarBuilder nesneler gibi StringChoicesöğesine ekler.

  3. Tamamlanmış GrammarBuilder dilbilgisinden Grammar bir Grammar nesne oluşturmak için oluşturuculardan birini kullanın.

ile GrammarBuilder yazma, liste içeren tek bir kurala veya belki de liste listelerine sahip dil bilgisi için en uygun yöntemdir. Program aracılığıyla birden çok kuralı olan veya iç kural başvuruları yapması gereken dil bilgisi oluşturmak için ad alanının sınıflarını System.Speech.Recognition.SrgsGrammar kullanın.

GrammarBuilder örnekleri, belirli diğer sınıflardan örtük dönüştürmelerle veya dil bilgisi kısıtlamaları içeren ikinci bir nesneyle birleştirilerek GrammarBuilder de elde edilebilir.. Daha fazla bilgi için bkz Implicit . ve Addition işleçleri ve Add yöntemleri.

Mevcut GrammarBuilderbir öğesine kural eklemek için , , AppendDictationAppend, , AppendRuleReferenceve AppendWildcard yöntemlerini kullanınAdd.

Önemli

Konuşma tanıma, aynı anahtar adına sahip yinelenen semantik öğeler veya aynı semantik öğenin değerini tekrar tekrar değiştirebilen birden çok semantik öğe içeren bir konuşma tanıma dil bilgisi kullanırken bir özel durum oluşturabilir.

Hata ayıklamaya yardımcı olmak için özelliği, DebugShowPhrases öğesinin GrammarBuilder geçerli durumunu dize olarak döndürür.

Oluşturucular

Name Description
GrammarBuilder()

Sınıfının yeni, boş bir örneğini GrammarBuilder başlatır.

GrammarBuilder(Choices)

Bir dizi alternatiften sınıfının yeni bir örneğini GrammarBuilder başlatır.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Yinelenen bir öğeden sınıfının yeni bir örneğini GrammarBuilder başlatır.

GrammarBuilder(SemanticResultKey)

Semantik anahtardan sınıfının yeni bir örneğini GrammarBuilder başlatır.

GrammarBuilder(SemanticResultValue)

Sınıfın GrammarBuilder yeni bir örneğini anlamsal değerden başlatır.

GrammarBuilder(String, Int32, Int32)

içindeki sözcük String dizisinden sınıfının yeni bir örneğini GrammarBuilder başlatır ve kaç kez String tekrar edilebileceğini belirtir.

GrammarBuilder(String, SubsetMatchingMode)

Bir sözcük dizisinin GrammarBuilder alt kümesi için sınıfının yeni bir örneğini başlatır.

GrammarBuilder(String)

Bir dizi sözcükten sınıfının yeni bir örneğini GrammarBuilder başlatır.

Özellikler

Name Description
Culture

Konuşma tanıma dil bilgisi kültürünü alır veya ayarlar.

DebugShowPhrases

tarafından GrammarBuilderkapsanan dil bilgisinin içeriğini ve yapısını gösteren bir dize alır.

Yöntemler

Name Description
Add(Choices, GrammarBuilder)

Bir nesne ve ardından bir Choices nesne içeren yeni GrammarBuilder bir GrammarBuilder oluşturur.

Add(GrammarBuilder, Choices)

Bir nesne ve ardından bir GrammarBuilder nesne içeren yeni GrammarBuilder bir Choices oluşturur.

Add(GrammarBuilder, GrammarBuilder)

İki GrammarBuilder nesneden oluşan bir dizi içeren yeni GrammarBuilder bir oluşturur.

Add(GrammarBuilder, String)

Bir nesne ve ardından bir GrammarBuilder tümcecik içeren yeni GrammarBuilder bir oluşturur.

Add(String, GrammarBuilder)

Bir tümcecik ve ardından bir nesne içeren yeni GrammarBuilder bir GrammarBuilder oluşturur.

Append(Choices)

Geçerli dil bilgisi öğeleri dizisine bir dizi alternatif ekler.

Append(GrammarBuilder, Int32, Int32)

Geçerli dil bilgisi öğeleri dizisine yinelenen bir dil bilgisi öğesi ekler.

Append(GrammarBuilder)

Geçerli dil bilgisi öğeleri dizisine bir dil bilgisi öğesi ekler.

Append(SemanticResultKey)

Geçerli dil bilgisi öğeleri dizisine bir semantik anahtar ekler.

Append(SemanticResultValue)

Geçerli dil bilgisi öğeleri dizisine semantik bir değer ekler.

Append(String, Int32, Int32)

Geçerli dil bilgisi öğeleri dizisine yinelenen bir tümcecik ekler.

Append(String, SubsetMatchingMode)

Bir tümceciği alt kümesi için bir öğeyi geçerli dil bilgisi öğeleri dizisine ekler.

Append(String)

Geçerli dil bilgisi öğeleri dizisine bir tümcecik ekler.

AppendDictation()

Varsayılan dikte dil bilgisini geçerli dil bilgisi öğeleri dizisine ekler.

AppendDictation(String)

Belirtilen dikte dil bilgisini geçerli dil bilgisi öğeleri dizisine ekler.

AppendRuleReference(String, String)

Dil bilgisi tanım dosyasının belirtilen kuralını geçerli dil bilgisi öğeleri dizisine ekler.

AppendRuleReference(String)

Geçerli dil bilgisi öğe dizisine bir dil bilgisi tanım dosyası ekler.

AppendWildcard()

Geçerli dil bilgisi öğeleri dizisine herhangi bir girişle eşleşen bir tanıma dil bilgisi öğesi ekler.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

İşleçler

Name Description
Addition(Choices, GrammarBuilder)

Bir nesne ve ardından bir Choices nesne içeren yeni GrammarBuilder bir GrammarBuilder oluşturur.

Addition(GrammarBuilder, Choices)

öğesini ve ardından öğesini GrammarBuilder içeren yeni GrammarBuilder bir Choicesoluşturur.

Addition(GrammarBuilder, GrammarBuilder)

İki GrammarBuilder nesneden oluşan bir dizi içeren yeni GrammarBuilder bir oluşturur.

Addition(GrammarBuilder, String)

Ardından bir tümcecik içeren GrammarBuilder yeni GrammarBuilder bir oluşturur.

Addition(String, GrammarBuilder)

ardından bir tümcecik içeren yeni GrammarBuilder bir GrammarBuilderoluşturur.

Implicit(Choices to GrammarBuilder)

Nesneyi nesneye ChoicesGrammarBuilder dönüştürür.

Implicit(SemanticResultKey to GrammarBuilder)

Nesneyi nesneye SemanticResultKeyGrammarBuilder dönüştürür.

Implicit(SemanticResultValue to GrammarBuilder)

Nesneyi nesneye SemanticResultValueGrammarBuilder dönüştürür.

Implicit(String to GrammarBuilder)

Dizeyi nesneye GrammarBuilder dönüştürür.

Şunlara uygulanır

Ayrıca bkz.