Grammar クラス

定義

アプリケーションが音声認識の制約を定義するために使用できる、音声認識の文法を参照するランタイム オブジェクト。A runtime object that references a speech recognition grammar, which an application can use to define the constraints for speech recognition.

public ref class Grammar
public class Grammar
type Grammar = class
Public Class Grammar
継承
Grammar
派生

次の例では、XML ファイル (都市 .xml) で定義されている音声認識文法から @no__t 0 オブジェクトを構築します。The following example constructs a Grammar object from a speech recognition grammar defined in a XML file (cities.xml). 次の XML の例では、都市 .xml ファイルの内容が表示されます。The content of the cities.xml file appears in the following XML example.

// Load a cities grammar from a local file and return the grammar object.   
private static Grammar CreateGrammarFromFile()  
{  
  Grammar citiesGrammar = new Grammar(@"c:\temp\cities.xml");  
  citiesGrammar.Name = "SRGS File Cities Grammar";  
  return citiesGrammar;  
}  
  
  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  
  
  <!-- cities.xml:   
    Defines an SRGS grammar for requesting a flight. This grammar includes  
    a Cities rule that lists the cities that can be used for departures  
    and destinations. -->  
  
  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  
  
  <rule id="Cities" scope="public">  
    <one-of>  
      <item> Seattle </item>  
      <item> Los Angeles </item>  
      <item> New York </item>  
      <item> Miami </item>  
    </one-of>  
  </rule>  
</grammar>  

注釈

音声認識文法は、音声認識エンジンが意味のある入力として認識できることを定義する一連の規則または制約です。A speech recognition grammar is a set of rules or constraints that define what a speech recognition engine can recognize as meaningful input. 音声認識文法の作成と使用の詳細については、「音声認識」、「 XML を使用した文法の作成」、「 GrammarBuilder を使用した文法の作成」、および「 Srgsgrammar を使用した文法の作成」を参照してください。For more information about creating and using speech recognition grammars, see Speech Recognition, Create Grammars Using XML, Create Grammars Using GrammarBuilder, and Create Grammars Using SrgsGrammar.

文法を作成したら、音声認識エンジンが読み込むことができる @no__t 0 オブジェクトにビルドし、アプリケーションが実行時に音声認識を管理するために使用できるようにする必要があります。After you author a grammar, you must build it into a Grammar object that a speech recognition engine can load and that your application can use at runtime to manage speech recognition. @No__t 0 のコンストラクターを使用して、GrammarBuilder または @no__t 3 のオブジェクトから、またはサポートされている形式の文法の説明を含むファイルまたは @no__t 4 から @no__t インスタンスを作成できます。You can use a Grammar constructor to create a Grammar instance from a GrammarBuilder or a SrgsDocument object, or from a file or a Stream that contains a description of a grammar in a supported format. サポートされている形式は次のとおりです。Supported formats include the following:

引数で XML 形式の文法ファイルを受け取る文法コンストラクターは、XML 文法をバイナリ形式にコンパイルして、音声認識エンジンによる読み込みと使用のために最適化します。Grammar constructors that accept XML-format grammar files in their arguments compile the XML grammars to a binary format to optimize them for loading and consumption by a speech recognition engine. @No__t-1 メソッドの1つを使用して事前に文法をコンパイルすることで、XML 形式の文法から @no__t 0 オブジェクトを構築するために必要な時間を短縮できます。You can reduce the amount of time required to construct a Grammar object from an XML-format grammar by compiling the grammar in advance, using one of the Compile methods.

@No__t 0 または @no__t オブジェクトによって管理されるアプリケーションの音声認識エンジンは、複数の音声認識文法を読み込むことができます。An application's speech recognition engine, as managed by a SpeechRecognizer or SpeechRecognitionEngine object, can load multiple speech recognition grammars. アプリケーションでは、個々の文法を個別に有効または無効にするには、@no__t 0 のプロパティを設定し、PriorityWeight のプロパティなどの Grammar プロパティを使用して認識動作を変更します。The application can independently enable or disable individual grammars by setting the Enabled property, and modify recognition behavior through Grammar properties, such as the Priority and Weight properties.

文法の SpeechRecognized イベントは、入力が文法を通じたパスに一致したときに発生します。The grammar's SpeechRecognized event is raised when input matches a path through the grammar.

注意

@No__t 0 のオブジェクトを構築するために使用する URI または DLL の安全性を確認することをお勧めします。It is a best practice to verify the safety of any URI or DLL used to build a Grammar object.

Windows および Speech プラットフォームは、DLL またはスクリプトをサポートする文法から @no__t 0 インスタンスを構築するアプリケーションのセキュリティを提供します。Windows and the Speech platform provide security for applications constructing a Grammar instance from a DLL or from a grammar that supports scripting.

@No__t 0 のオブジェクトのスクリプトは、Internet Zone の web ページからダウンロードした場合と同じように実行されます。Scripts in Grammar objects are always run as if downloaded from a web page in the Internet Zone. 共通言語ランタイム (CLR) は、読み込まれたすべての DLL を分離して、文法の定義を取得します。The Common Language Runtime (CLR) isolates any DLL loaded to obtain a grammar definition.

コンストラクター

Grammar()

Grammar クラスの新しいインスタンスを初期化します。Initializes a new instance of the Grammar class.

Grammar(GrammarBuilder)

Grammar オブジェクトから GrammarBuilder クラスの新しいインスタンスを初期化します。Initializes a new instance of the Grammar class from a GrammarBuilder object.

Grammar(SrgsDocument)

Grammar オブジェクトから SrgsDocument クラスの新しいインスタンスを初期化します。Initializes a new instance of a Grammar class from an SrgsDocument object.

Grammar(SrgsDocument, String)

Grammar オブジェクトと指定したルート ルールから SrgsDocument クラスの新しいインスタンスを初期化します。Initializes a new instance of a Grammar class from an SrgsDocument object and specifies a root rule.

Grammar(SrgsDocument, String, Object[])

Grammar のインスタンスから SrgsDocument クラスの新しいインスタンスを初期化し、文法へのエントリ ポイントである規則の名前を指定します。Initializes a new instance of the Grammar class from an instance of SrgsDocument, and specifies the name of a rule to be the entry point to the grammar.

Grammar(SrgsDocument, String, Uri)

Grammar オブジェクトから SrgsDocument クラスの新しいインスタンスを初期化します。ルート規則を指定し、相対的な規則の参照を解決するためにベース URI (Uniform Resource Identifier) を定義します。Initializes a new instance of a Grammar class from an SrgsDocument object, specifies a root rule, and defines a base Uniform Resource Identifier (URI) to resolve relative rule references.

Grammar(SrgsDocument, String, Uri, Object[])

Grammar のインスタンスから SrgsDocument クラスの新しいインスタンスを初期化し、文法へのエントリ ポイントである規則の名前と、相対参照を解決するためのベース URI を指定します。Initializes a new instance of the Grammar class from an instance of SrgsDocument, and specifies the name of a rule to be the entry point to the grammar and a base URI to resolve relative references.

Grammar(Stream)

Grammar から Stream クラスの新しいインスタンスを初期化します。Initializes a new instance of the Grammar class from a Stream.

Grammar(Stream, String)

Grammar と指定したルート ルールから Stream クラスの新しいインスタンスを初期化します。Initializes a new instance of the Grammar class from a Stream and specifies a root rule.

Grammar(Stream, String, Object[])

Grammar と指定したルート ルールから Stream クラスの新しいインスタンスを初期化します。Initializes a new instance of the Grammar class from a Stream and specifies a root rule.

Grammar(Stream, String, Uri)

ストリームから Grammar クラスの新しいインスタンスを初期化し、ルート規則を指定して、相対的な規則の参照を解決するためのベース URI (Uniform Resource Identifier) を定義します。Initializes a new instance of the Grammar class from a stream, specifies a root rule, and defines a base Uniform Resource Identifier (URI) to resolve relative rule references.

Grammar(Stream, String, Uri, Object[])

Grammar クラスの新しいインスタンス Stream を初期化し、ルート規則および相対参照を解決するためのベース URI を指定します。Initializes a new instance of the Grammar class a Stream and specifies a root rule and a base URI to resolve relative references.

Grammar(String)

ファイルから Grammar クラスの新しいインスタンスを初期化します。Initializes a new instance of the Grammar class from a file.

Grammar(String, String)

ファイルから Grammar クラスの新しいインスタンスを初期化し、ルート ルールを指定します。Initializes a new instance of the Grammar class from a file and specifies a root rule.

Grammar(String, String, Object[])

文法定義を含むファイルから Grammar クラスの新しいインスタンスを初期化し、文法へのエントリ ポイントであるルールの名前を指定します。Initializes a new instance of the Grammar class from a file that contains a grammar definition, and specifies the name of a rule to be the entry point to the grammar.

プロパティ

Enabled

音声認識エンジンが Grammar を使用して認識を実行できるかどうかを制御する値を取得または設定します。Gets or sets a value that controls whether a Grammar can be used by a speech recognizer to perform recognition.

IsStg

文法が厳密に型指定されているかどうかを取得します。Gets whether a grammar is strongly typed.

Loaded

Grammar が音声認識エンジンによって読み込まれたかどうかを取得します。Gets whether a Grammar has been loaded by a speech recognizer.

Name

Grammar オブジェクトの名前を取得または設定します。Gets or sets the name of a Grammar object.

Priority

Grammar オブジェクトの優先順位の値を取得または設定します。Gets or sets the priority value of a Grammar object.

ResourceName

現在の Grammar を読み込むために使用されたバイナリ リソースの名前を示す値を取得または設定します。Gets or sets a value with the name of a binary resource that was used to load the current Grammar.

RuleName

Grammar オブジェクトのルート規則またはエントリ ポイントの名前を取得します。Gets the name of the root rule or entry point of a Grammar object.

Weight

Grammar オブジェクトの重さの値を取得または設定します。Gets or sets the weight value of a Grammar object.

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
LoadLocalizedGrammarFromType(Type, Object[])

LoadLocalizedGrammarFromType メソッドは、Grammar から派生する Type オブジェクトのローカライズ インスタンスを返します。The LoadLocalizedGrammarFromType method returns a localized instance of a Grammar object derived from Type.

MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
StgInit(Object[])

StgInit メソッドは、厳密に型指定された文法を初期化します。The StgInit method initializes a strongly-typed grammar.

ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

イベント

SpeechRecognized

音声認識エンジンが Grammar オブジェクトを使用して認識を実行するときに発生します。Raised when a speech recognizer performs recognition using the Grammar object.

適用対象

こちらもご覧ください