首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在SAPI中赋予用户定义的语法比听写语法更优先?

如何在SAPI中赋予用户定义的语法比听写语法更优先?
EN

Stack Overflow用户
提问于 2012-06-25 08:35:38
回答 1查看 680关注 0票数 1

我有一个应用程序,我使用听写语法和我定义的语法来识别语言。我需要用户定义的语法比听写语法有更多的优先级,这样语音识别引擎只会在用户定义的语法中找不到听写语法。请给出任何想法,你可能会使这一工作。

EN

回答 1

Stack Overflow用户

发布于 2013-08-29 19:51:41

语法类有两个属性:权重优先级。您可以将更高的权重分配给您创建的语法,而将较低的权重分配给您使用的听写语法。或者,如果有多个用户定义的语法,则可以使用优先级属性来指示一种语法比另一种语法具有优先级。见下面的例子;

代码语言:javascript
运行
复制
// Create a Grammar for recognizing numeric digits.
Grammar digitsGrammar = CreateDigitsGrammar();
digitsGrammar.Name = "Digits Grammar";
digitsGrammar.Priority = 2;
digitsGrammar.Weight = 0.6f;

// Create a Grammar for recognizing fractions.
Grammar fractionsGrammar = CreateFractionsGrammar();
fractionsGrammar.Name = "Fractions Grammar";
fractionsGrammar.Priority = 1;
fractionsGrammar.Weight = 1f;

// Create an in-process speech recognizer.
SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine();

recognizer.SpeechRecognized +=new EventHandler<SpeechRecognizedEventArgs>(
recognizer_SpeechRecognized);

// Load the digits and fractions Grammar objects.
 recognizer.LoadGrammar(digitsGrammar);
 recognizer.LoadGrammar(fractionsGrammar);

 // Start recognition.
 recognizer.SetInputToDefaultAudioDevice();
 recognizer.RecognizeAsync(RecognizeMode.Multiple);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11185913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档