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
派生

次の例では、 Grammar XML ファイル (cities.xml) で定義されている音声認識文法からオブジェクトを構築します。The following example constructs a Grammar object from a speech recognition grammar defined in a XML file (cities.xml). cities.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. 音声認識文法の作成と使用の詳細については、「 音声認識」と「 SrgsGrammar を使用した文法の作成」を参照してください。For more information about creating and using speech recognition grammars, see Speech Recognition, and Create Grammars Using SrgsGrammar.

文法を作成したら、 Grammar 音声認識エンジンが読み込むことができるオブジェクトにビルドし、アプリケーションが実行時に音声認識を管理できるようにする必要があります。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. コンストラクターを使用し Grammar て、またはオブジェクトからインスタンスを作成することも、 Grammar GrammarBuilder SrgsDocument Stream サポートされている形式の文法の説明を含むファイルまたはを作成することもできます。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. Grammarメソッドのいずれかを使用して事前に文法をコンパイルすることで、XML 形式の文法からオブジェクトを構築するために必要な時間を短縮でき Compile ます。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.

またはオブジェクトによって管理されるアプリケーションの音声認識エンジンは、 SpeechRecognizer SpeechRecognitionEngine 複数の音声認識文法を読み込むことができます。An application's speech recognition engine, as managed by a SpeechRecognizer or SpeechRecognitionEngine object, can load multiple speech recognition grammars. アプリケーションでは、プロパティを設定して個々の文法を個別に有効または無効にしたり、プロパティ Enabled やプロパティなどのプロパティを使用して認識動作を変更したりでき Grammar Priority Weight ます。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.

注意

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

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

オブジェクト内のスクリプト Grammar は、の web ページからダウンロードした場合と同じように実行され Internet Zone ます。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()

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

(継承元 Object)

イベント

SpeechRecognized

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

適用対象

こちらもご覧ください