Share via


RecognizedWordUnit コンストラクター

定義

RecognizedWordUnit クラスの新しいインスタンスを初期化します。

public:
 RecognizedWordUnit(System::String ^ text, float confidence, System::String ^ pronunciation, System::String ^ lexicalForm, System::Speech::Recognition::DisplayAttributes displayAttributes, TimeSpan audioPosition, TimeSpan audioDuration);
public RecognizedWordUnit (string text, float confidence, string pronunciation, string lexicalForm, System.Speech.Recognition.DisplayAttributes displayAttributes, TimeSpan audioPosition, TimeSpan audioDuration);
new System.Speech.Recognition.RecognizedWordUnit : string * single * string * string * System.Speech.Recognition.DisplayAttributes * TimeSpan * TimeSpan -> System.Speech.Recognition.RecognizedWordUnit
Public Sub New (text As String, confidence As Single, pronunciation As String, lexicalForm As String, displayAttributes As DisplayAttributes, audioPosition As TimeSpan, audioDuration As TimeSpan)

パラメーター

text
String

認識された単語の正規化テキスト。

この値には、null、""、または Empty を指定できます。

confidence
Single

用語認識の確実性を示す 0.0 ~ 1.0 の float 値。

pronunciation
String

認識された単語の音声スペル。

この値には、null、""、または Empty を指定できます。

lexicalForm
String

認識された単語の正規化されていないテキスト。

この引数は必須で、null、""、または Empty にはできません。

displayAttributes
DisplayAttributes

認識されたテキストを表示するために、空白の使用を定義します。

audioPosition
TimeSpan

オーディオ入力ストリーム内の認識された単語の場所。

この値は、Zero の場合もあります。

audioDuration
TimeSpan

認識された単語に対応するオーディオ入力の長さ。

この値は、Zero の場合もあります。

次の例は、入力から新しい単語が生成され、エミュレーターに渡され、検証されるエミュレーションのやや工夫されたテストです。

private void _emulateAndVerify_Click(object sender, EventArgs e)   
{  
  char[] delimiterChars = { ' ', ',', '.', ':', ';', '\t' };  
  string text = _emulateTextBox.Text;  
  string[] words = text.Split(delimiterChars);  

  RecognizedWordUnit[] InputWordUnits = new RecognizedWordUnit[words.Length];  
  for (int i = 0; i < words.Length; i++)   
  {  
    InputWordUnits[i] = new RecognizedWordUnit(  
        "",   
        0,   
        "",  
        words[i].ToLower(),   
        DisplayAttributes.OneTrailingSpace,   
        new TimeSpan(),   
        new TimeSpan());  
  }  

  RecognitionResult rec = _recognizer.EmulateRecognize(  
        InputWordUnits,   
        System.Globalization.CompareOptions.IgnoreCase);  
  if (rec == null)   
  {  
    MessageBox.Show(String.Format("Recognition emulation for {0} failed.\n", text));  
  }   
  else if (InputWordUnits.Length != rec.Words.Count)   
  {  
    MessageBox.Show(  
       String.Format("Length mismatch: Input was {0} words, Recognition has {1} words.\n}"));  
  }   
  else   
  {  
    for (int i = 0; i < InputWordUnits.Length; i++)   
    {  

      if (rec.Words[i].LexicalForm.ToLower() != InputWordUnits[i].LexicalForm.ToLower())   
      {  
        MessageBox.Show(  
          String.Format("Input word {0} \"{1}\" not found. Recognition output is {2}",  
          i, InputWordUnits[i].LexicalForm, rec.Words[i].LexicalForm));  
        continue;  
      }  
    }  
  }  
}  

注釈

または pronunciation が 、""、または RecognizedWordUnitEmpty であり、 が認識操作で使用されている場合text、認識エンジンは任意の出力RecognizedWordUnitインスタンスで適切な値を生成nullします。

インスタンスの直接構築は、通常、 クラスEmulateRecognizeAsyncEmulateRecognizeRecognizedWordUnit メソッドまたは クラスの SpeechRecognitionEngine メソッドまたは EmulateRecognizeAsync メソッドSpeechRecognizerEmulateRecognize使用して認識操作をエミュレートする場合にのみ使用されます。

実際のアプリケーションでは、 を直接構築RecognizedWordUnitするのではなく、 オブジェクトの RecognizedPhrase プロパティをWords使用して取得します。

適用対象

こちらもご覧ください