GrammarBuilder Sınıf

Tanım

Bir konuşma tanıma dilbilgisinde kısıtlamaları programlı olarak oluşturmak için bir mekanizma sağlar.

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

Örnekler

Aşağıdaki örnek GrammarBuilder Choices , "arka plan renkseçimi yap" veya "arka planı colorChoice olarak ayarla" gibi iki tümcecikden birini tanıyabilecek bir dilbilgisi oluşturmak için ve nesnelerini kullanır.

Örnek, bir Choices nesne dizisinden colorChoice için kabul edilebilir değerlerin bir listesini oluşturmak için bir nesnesi kullanır String . Bir Choices nesne, one-of SRGS belirtiminde öğesine benzerdir ve herhangi biri, konuşulmak üzere tanınabilen bir alternatif tümcecik kümesi içerir. Örnek ayrıca, Choices iki nesneden oluşan bir diziyi GrammarBuilder , sonuçta elde edilen dilbilgisinde tanıyabileceği alternatif ifadeler çiftinde gruplandırmak için bir nesnesi kullanır. Diğer kelimeler veya tümcecikler, çoğu dilbilgisi için bir bileşendir ve Choices nesnesi ile oluşturulan dilbilgisi için bu işlevselliği sağlar GrammarBuilder .

Örnek olarak, Grammar nesnesinden oluşturulan öğesinden bir nesne oluşturur GrammarBuilder Choices .

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 dilmars, genellikle konuşma tanıma dilbilgisi belirtimi (SRGS) sürüm 1,0tarafından tanımlanan XML biçiminde yazılır. SRG 'ler hakkında bilginiz varsa ancak programlama yoluyla dilbilgisi oluşturmak istiyorsanız, System.Speech.Recognition.SrgsGrammar üyeleri, srgs tarafından tanımlanan öğelere ve özniteliklere yakından karşılık gelen ad alanını kullanabilirsiniz. SRG 'ler hakkında bilginiz varsa veya çok sayıda yaygın senaryoyu verimli bir şekilde gerçekleştirebileceğiniz dilbilgisi yazma hafif ve programlı bir yaklaşım istiyorsanız GrammarBuilder ve Choices sınıflarını kullanabilirsiniz.

GrammarBuilderDiğer tümceleri içeren nesnelerden oluşan hiyerarşik bir ağaç oluşturmak için nesneleri kullanın Choices , her bir düğümde giriş ve post-amble tümcecikleriyle birlikte ve bir anlamı uygulamaya geri ileten anlam değerleriyle birlikte.

Bir GrammarBuilder nesnesi oluşturmak için kullanmak üzere Grammar aşağıdaki adımları kullanın.

  1. Bir GrammarBuilder nesne oluşturun.

  2. GrammarBuilder String Nesneler,,,, Choices SemanticResultKey SemanticResultValue DictationGrammar ve GrammarBuilder dilbilgisinde kısıtlamaları tanımlayan diğer nesneler gibi kısıtlamalarını öğesine ekleyin.

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

İle yazma GrammarBuilder , listeleri veya belki liste listelerini içeren tek bir kurala sahip olan dilbilgisinde 'a en uygun seçenektir. Program aracılığıyla birden çok kurala sahip olan veya iç kural başvuruları yapmak zorunda olan dilbilgisi oluşturmak için System.Speech.Recognition.SrgsGrammar ad alanının sınıflarını kullanın.

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

Varolan bir kurala kural eklemek için,,, GrammarBuilder Add Append AppendDictation AppendRuleReference ve AppendWildcard yöntemlerini kullanın.

Önemli

Konuşma tanıyıcı aynı anahtar adına veya aynı anlam öğesinin değerini tekrar tekrar değiştirebilecek birden çok anlam öğesiyle yinelenen anlam öğeleri içeren bir konuşma tanıma dilbilgisi kullanırken bir özel durum oluşturabilir.

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

Oluşturucular

GrammarBuilder()

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

GrammarBuilder(Choices)

GrammarBuilderBir alternatif kümesinden sınıfının yeni bir örneğini başlatır.

GrammarBuilder(GrammarBuilder, Int32, Int32)

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

GrammarBuilder(SemanticResultKey)

GrammarBuilderBir anlam anahtarından sınıfının yeni bir örneğini başlatır.

GrammarBuilder(SemanticResultValue)

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

GrammarBuilder(String)

GrammarBuilderBir sözcük dizisinden sınıfın yeni bir örneğini başlatır.

GrammarBuilder(String, Int32, Int32)

GrammarBuilder' Deki sözcüklerin dizisinden sınıfının yeni bir örneğini başlatır String ve kaç kez String tekrarlanabilir olduğunu belirtir.

GrammarBuilder(String, SubsetMatchingMode)

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

Özellikler

Culture

Konuşma tanıma dilbilgisinde kültürü alır veya ayarlar.

DebugShowPhrases

Tarafından içerilen dilbilgisinin içeriğini ve yapısını gösteren bir dize alır GrammarBuilder .

Yöntemler

Add(Choices, GrammarBuilder)

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

Add(GrammarBuilder, Choices)

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

Add(GrammarBuilder, GrammarBuilder)

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

Add(GrammarBuilder, String)

Bir GrammarBuilder GrammarBuilder nesneyi ve ardından bir tümceciği içeren yeni bir oluşturur.

Add(String, GrammarBuilder)

Bir GrammarBuilder ifadeyi ve ardından bir nesneyi içeren yeni bir oluşturur GrammarBuilder .

Append(Choices)

Dilbilgisi öğelerinin geçerli dizisine bir alternatifler kümesi ekler.

Append(GrammarBuilder)

Grammar öğelerinin geçerli dizisine bir Grammar öğesi ekler.

Append(GrammarBuilder, Int32, Int32)

Geçerli dilbilgisi öğelerinin dizisine yinelenen bir Grammar öğesi ekler.

Append(SemanticResultKey)

Dilbilgisi öğelerinin geçerli dizisine bir anlam anahtarı ekler.

Append(SemanticResultValue)

Dilbilgisi öğelerinin geçerli dizisine bir anlam değeri ekler.

Append(String)

Geçerli dilbilgisi öğelerinin dizisine bir tümcecik ekler.

Append(String, Int32, Int32)

Geçerli dilbilgisi öğelerinin dizisine yinelenen bir tümcecik ekler.

Append(String, SubsetMatchingMode)

Bir tümceciğin alt kümesi için bir öğeyi, dilbilgisi öğelerinin geçerli dizisine ekler.

AppendDictation()

Varsayılan dikte dilbilgisinde dilbilgisi öğelerinin geçerli dizisine ekler.

AppendDictation(String)

Belirtilen dikte dilbilgisini dilbilgisi öğelerinin geçerli dizisine ekler.

AppendRuleReference(String)

Dilbilgisi öğelerinin geçerli dizisine bir dilbilgisi tanım dosyası ekler.

AppendRuleReference(String, String)

Bir dilbilgisi tanım dosyasının belirtilen kuralını, dilbilgisi öğelerinin geçerli dizisine ekler.

AppendWildcard()

Dilbilgisi öğelerinin geçerli sırasına herhangi bir girişle eşleşen bir tanıma dilbilgisi öğ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()

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

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

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

İşleçler

Addition(Choices, GrammarBuilder)

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

Addition(GrammarBuilder, Choices)

GrammarBuilderSonrasında bir ve içeren yeni bir oluşturur GrammarBuilder Choices .

Addition(GrammarBuilder, GrammarBuilder)

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

Addition(GrammarBuilder, String)

Arkasından bir tümceciği içeren yeni bir oluşturur GrammarBuilder GrammarBuilder .

Addition(String, GrammarBuilder)

GrammarBuilderBir tümceciği ve ardından bir ifadesini içeren yeni bir oluşturur GrammarBuilder .

Implicit(Choices to GrammarBuilder)

Nesneyi Choices GrammarBuilder nesnesine dönüştürür.

Implicit(SemanticResultKey to GrammarBuilder)

Nesneyi SemanticResultKey GrammarBuilder nesnesine dönüştürür.

Implicit(SemanticResultValue to GrammarBuilder)

Nesneyi SemanticResultValue GrammarBuilder nesnesine dönüştürür.

Implicit(String to GrammarBuilder)

Bir dizeyi GrammarBuilder nesnesine dönüştürür.

Şunlara uygulanır

Ayrıca bkz.