我目前正在使用 Microsoft.Speech API 将话语口述到文本中,但我真正需要的是程序可以使用的替代听写。我将它用于我的荣誉论文,为此我想知道任何话语的前 10 种解释。
2011 年提出了一个非常相似的问题,如果不是确切的问题: C# system.speech.recognition alternates
但一直没有得到答复。因此,我的问题是:如何使用 Microsoft.Speech API 获得对听写解释的替代方案?
我目前正在使用 Microsoft.Speech API 将话语口述到文本中,但我真正需要的是程序可以使用的替代听写。我将它用于我的荣誉论文,为此我想知道任何话语的前 10 种解释。
2011 年提出了一个非常相似的问题,如果不是确切的问题: C# system.speech.recognition alternates
但一直没有得到答复。因此,我的问题是:如何使用 Microsoft.Speech API 获得对听写解释的替代方案?
这个 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 名。