1

我正在我的呼叫中心实施语音识别。我正在使用 Miscrosoft Speech Platform,并且我希望能够用语音识别替换我的 DTMF 识别(例如,“说出您要联系的部门”而不是“按一个进行销售”)。

我的 SpeechRecognitionEngine 完全符合我的要求,但有一个例外。在识别自发语音时,我必须考虑不流利('uh'、'um'、'er'、'you know'、'like')。我的问题是,.NET 框架中是否有任何方法允许识别引擎绕过这些话语并继续搜索实际语音?

如果没有任何预先提供的方法,您将如何绕过这些不流畅性?我怀疑答案可能在于我如何构建我的语法,但任何见解都将不胜感激。

谢谢!

4

1 回答 1

0

处理这个问题的方法是在你的语法中。您需要将这些“不流畅”添加到您的语法规则中。这就是调整语音识别的地方。您需要查看应用程序中所有无法识别的短语并聆听录音,以找出用户所说的“不合语法”,然后添加它们。例如,如果您问用户“您想吃什么,比萨饼还是汉堡包?” 如果您的语法仅设置为处理“披萨”或“汉堡包”并且用户响应“嗯披萨”,那么它将因语法不正确而失败。您需要以可选的方式将“um”添加到规则中。如果您使用的是 XML 语法,它可能看起来像这样:

 <rule id="whatToEat">
   <ruleref uri="influencies" repeat="0-1" />
   <one-of>
     <item>pizza</item>
     <item>hamburger</item>
   </one-of>
 </rule>
 <rule id="influencies">
   <one-of>
     <item>uh</item>
     <item>um</item>
   </one-of>
 </rule>

如果您不想在返回值中包含“影响”,则可以使用标签来返回语义解释。包含这种语义解释的方式因平台而异,但这里有一个示例:

 <rule id="whatToEat">
   <ruleref uri="influencies" repeat="0-1" />
   <one-of>
     <item>pizza<tag>out.mySlot="pizza"</tag></item>
     <item>hamburger<tag>out.mySlot="hamburger"</tag></item>
   </one-of>
 </rule>
 <rule id="influencies">
   <one-of>
     <item>uh</item>
     <item>um</item>
   </one-of>
 </rule>

Microsoft 在此处讨论了语义解释

于 2012-07-19T18:31:55.173 回答