GrammarBuilder.AppendRuleReference メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
文法要素の現在のシーケンスに文法ファイルまたは文法ルールを追加します。
オーバーロード
AppendRuleReference(String) |
文法要素の現在のシーケンスに文法定義ファイルを追加します。 |
AppendRuleReference(String, String) |
文法要素の現在のシーケンスに文法定義ファイルの指定されたルールを追加します。 |
注釈
メソッドでは、 AppendRuleReference ファイルから文法ファイルまたは文法規則を追加できます。 これらのメソッドを使用すると、アプリケーションは、事前に配置された、または公開されている文法規則を利用できます。 アプリケーションは、指定された文法ファイルの場所に対する読み取りアクセス権を持っている必要があります。
これらのメソッドは、次の形式から音声認識の文法を読み取ることができます。
W3C音声認識文法仕様 (SRGS) バージョン 1.0に準拠する XML フォーマットファイル
Microsoft 音声認識文法バイナリ形式 (cfg ファイル拡張子) に準拠するバイナリファイル
XML 形式の SRGS 文法ファイルを拡張子が cfg のバイナリ文法ファイルにコンパイルすると、特に文法で多数の単語や語句を認識する必要がある場合に、検索によって使用される時間が短縮されます。 SRGS 文法を CFG バイナリ形式にコンパイルする方法の詳細については、「」を参照してください SrgsGrammarCompiler 。
AppendRuleReference(String)
文法要素の現在のシーケンスに文法定義ファイルを追加します。
public:
void AppendRuleReference(System::String ^ path);
public void AppendRuleReference (string path);
member this.AppendRuleReference : string -> unit
Public Sub AppendRuleReference (path As String)
パラメーター
- path
- String
サポートされている形式で音声認識文法を記述するファイルのパスまたは URI (Universal Resource Identifier)。
例
次の C# の例では、 Cities
ローカルの SRGS ファイル (都市. grxml) で命名されたルールを使用する音声認識文法を作成します。 都市. grxml ファイルの内容は、C# コード例の下に表示されます。
private static Grammar CreateCitiesGrammar1()
{
GrammarBuilder builder = new GrammarBuilder();
builder.AppendRuleReference("file://c:/temp/cities.grxml");
Grammar citiesGrammar = new Grammar(builder);
citiesGrammar.Name = "Cities Grammar 1";
return citiesGrammar;
}
<?xml version="1.0" encoding="UTF-16" ?>
<grammar version="1.0" xml:lang="en-US"
xmlns="http://www.w3.org/2001/06/grammar"
tag-format="semantics/1.0" root="Main">
<!-- cities.grxml:
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>
注釈
引数によって提供される URI は、 path
local または remote にすることができます。 アプリケーションは、指定された文法ファイルの場所に対する読み取りアクセス権を持っている必要があります。
W3C 音声認識文法仕様 (SRGS) 表現では、ルート規則を定義できます。 このメソッドは、ルート規則で始まる文法を文法要素の現在のシーケンスに追加します。 特定の文法規則を追加するには、メソッドを使用し AppendRuleReference ます。
こちらもご覧ください
適用対象
AppendRuleReference(String, String)
文法要素の現在のシーケンスに文法定義ファイルの指定されたルールを追加します。
public:
void AppendRuleReference(System::String ^ path, System::String ^ rule);
public void AppendRuleReference (string path, string rule);
member this.AppendRuleReference : string * string -> unit
Public Sub AppendRuleReference (path As String, rule As String)
パラメーター
- path
- String
サポートされている形式で音声認識文法を記述するファイルのファイル パスまたは URI (Universal Resource Identifier)。
- rule
- String
追加するルールの識別子、または文法ファイルの既定のルート ルールを追加する場合は null
。
例
次の C# の例では、 Cities
ローカルの SRGS ファイル (都市. grxml) で命名されたルールを使用する音声認識文法を作成します。 都市. grxml ファイルの内容は、C# コード例の下に表示されます。
private static Grammar CreateCitiesGrammar2()
{
GrammarBuilder builder = new GrammarBuilder();
builder.Append("Does");
builder.AppendRuleReference(@"c:\temp\cities.grxml", "Cities");
builder.Append("have a shuttle");
Grammar citiesGrammar = new Grammar(builder);
citiesGrammar.Name = "Cities Grammar 2";
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.grxml:
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>
注釈
引数によって提供される URI は、 path
local または remote にすることができます。 アプリケーションは、指定された文法ファイルの場所に対する読み取りアクセス権を持っている必要があります。
メソッドを使用して、 AppendRuleReference ルート規則で始まる文法ファイルを追加できます。