1

我目前正在使用 Microsoft.Speech API 将话语口述到文本中,但我真正需要的是程序可以使用的替代听写。我将它用于我的荣誉论文,为此我想知道任何话语的前 10 种解释。

2011 年提出了一个非常相似的问题,如果不是确切的问题: C# system.speech.recognition alternates

但一直没有得到答复。因此,我的问题是:如何使用 Microsoft.Speech API 获得对听写解释的替代方案?

4

1 回答 1

1

这个 MSDN 页面很好地处理了您的要求。作为参考,我将发布包含的代码。最后的 for 循环包含

// Handle the SpeechRecognized event. 
void SpeechRecognizedHandler(object sender, SpeechRecognizedEventArgs e)
{
  //... Code handling the result

  // Display the recognition alternates for the result.
  foreach (RecognizedPhrase phrase in e.Result.Alternates)
  {
    Console.WriteLine(" alt({0}) {1}", phrase.Confidence, phrase.Text);
  }
}

使用e.Result.Alternates是获取其他可能词的官方方式。

如果这不能为您提供足够的结果,此 MSDN 页面将为您提供所需的信息。您需要使用UpdateRecognizerSetting您的SpeechRecognitionEngine来更改置信度拒绝级别。将其设置为 0 将使每个结果Alternates与置信度一起显示,您可以对其进行排序以获得前 10 名。

于 2013-06-22T05:10:09.087 回答