SubsetMatchingMode 列舉

定義

列舉子集比對模式的值。

public enum class SubsetMatchingMode
public enum SubsetMatchingMode
type SubsetMatchingMode = 
Public Enum SubsetMatchingMode
繼承
SubsetMatchingMode

欄位

OrderedSubset 1

指出子集比對模式是 OrderedSubset

OrderedSubsetContentRequired 3

指出子集比對模式是 OrderedSubsetContentRequired

Subsequence 0

指出子集比對模式是 Subsequence

SubsequenceContentRequired 2

指出子集比對模式是 SubsequenceContentRequired

範例

以下是一個測試常式,其會針對每個 SubsetMatchingModes 產生四 Grammar 個物件,並使用相同的片語。 然後可以測試這些 Grammar 物件。

private void CreateSubsetMatchTest()   
{  
  foreach ( System.Speech.Recognition.SubsetMatchingMode mode   
              in Enum.GetValues(typeof(System.Speech.Recognition.SubsetMatchingMode)))  
  {  
    GrammarBuilder gb = new GrammarBuilder("a car the truck a boat that plane",mode);  
    Grammar grammar = new Grammar(gb);  
    grammar.Name = mode.ToString();  
    grammar.Enabled=true;  
    _recognizer.LoadGrammar(grammar);  
  }  
}  

備註

在 System.Speech 中,您可以建構可成功辨識片語的文法,即使音訊輸入中只找到其內容的子集也一樣。

根據預設,辨識引擎需要與整個片語完全相符。 辨識引擎也可以根據做為 或 SrgsSubset 建構 Append 函式之引數 GrammarBuilder 或 方法的成員所 SubsetMatchingMode 定義的參數,比對部分片語。

下列說明每個成員在文法中使用時,每個 SubsetMatchingMode 成員如何影響辨識,該文法包含「汽車貨車是飛機的飛機」。

OrderedSubset

此模式表示如果下列情況成立,則會使用片語的子集來成功辨識整個片語:

  • 片語中的一或多個字會在音訊輸入中辨識。

  • 這些辨識字組的相對順序與片語相同。

  • 相符字組只能包含前置詞和發行項。

使用 OrderedSubset 模式將「car the truck a truck a plane」 片語新增至文法,會產生下列辨識結果:

輸入片語 結果
「一輛汽車貨車一輛飛機」 可辨識整個片語「汽車貨車一次飛機」。
「a car the truck a truck」 可辨識整個片語「汽車貨車一次飛機」。
「a car the car the plane」 可辨識整個片語「汽車貨車一次飛機」。 辨識的子集不一定是原始字串的序列。
「一輛汽車,一輛貨車該平面」 辨識不成功。 這些字的順序不依序。
「a」 可辨識整個片語「汽車貨車一次飛機」。 述詞和發行項用於辨識。

OrderedSubsetContentRequired

此模式表示如果下列情況成立,則會使用片語的子集來成功辨識整個片語:

  • 片語中的一或多個單字會在音訊輸入中辨識,而且

  • 這些辨識字組的相對順序與片語相同。

  • 相符字組不能只包含前置詞和發行項。

使用 OrderedSubsetContentRequired 模式,將「汽車貨車一次飛機」一詞新增至文法,會產生下列辨識結果:

輸入片語 結果
「一輛汽車貨車一輛飛機」 可辨識整個片語「汽車貨車一次飛機」。
「a car the truck a truck」 可辨識整個片語「汽車貨車一次飛機」。
「a car the car the plane」 可辨識整個片語「汽車貨車一次飛機」。 辨識的子集不一定是原始字串的序列。
「一輛汽車,一輛貨車該平面」 辨識不成功。 這些字的順序不依序。
「a」 辨識不成功。 語音輸入必須包含文章和前置詞以外的字組。

子序列:

此模式表示如果下列情況成立,則會使用片語的子集來成功辨識整個片語:

  • 片語中的一或多個單字會在音訊輸入中辨識為片語序列,而且

  • 這些辨識字組的相對順序與片語相同。

  • 相符字組只能包含前置詞和發行項。

使用 Subsequence 模式將「car the truck a truck a plane」 片語新增至文法,會產生下列辨識結果:

輸入片語 結果
「一輛汽車貨車一輛飛機」 可辨識整個片語「汽車貨車一次飛機」。
「a car the truck a truck」 可辨識整個片語「汽車貨車一次飛機」。
「a car the car the plane」 辨識不成功。 辨識的子集必須是原始字串的序列。
「一輛汽車,一輛貨車該平面」 辨識不成功。 這些字的順序不依序。
「a」 可辨識整個片語「汽車貨車一次飛機」。 述詞和發行項用於辨識。

SubsequenceContentRequired

此模式表示如果下列情況成立,則會使用片語的子集來成功辨識整個片語:

  • 比對字串中的一或多個字會在音訊輸入中辨識為片語序列。

  • 相符字組不能只包含前置詞和發行項。

使用 SubsequenceContentRequired 模式將「car the truck a plane」 片語新增至文法,會產生下列辨識結果:

輸入片語 結果
「一輛汽車貨車一輛飛機」 可辨識整個片語「汽車貨車一次飛機」。
「a car the truck a truck」 可辨識整個片語「汽車貨車一次飛機」。
「a car the car the plane」 辨識不成功。 辨識的子集必須是原始字串的序列。
「一輛汽車,一輛貨車該平面」 辨識不成功。 這些字的順序不依序。
「a」 辨識不成功。 語音輸入必須包含文章和前置詞以外的字組。

適用於

另請參閱