次の方法で共有


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;
      }
    }
  }
}

注釈

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

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

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

適用対象

こちらもご覧ください