语音识别语义结果

时间:2014-05-29 14:42:38

标签: xml grammar speech

我目前正在开发语音识别应用程序,并且在获取语义结果时遇到了一些问题。这是我语法的一小部分样本:

<grammar version="1.0" xml:lang="en-US" root="rootRule" tag-format="semantics/1.0" xmlns="http://www.w3.org/2001/06/grammar">

<rule id="rootRule">
<one-of>
    <item> <ruleref uri="#age"/> <tag>  AnswerAge </tag> </item>
    <item> <ruleref uri="#room" /> <tag> QuestionRoom  </tag> </item>
</one-of>
</rule>

<!-- CA01b: Answer person age -->
<rule id="age">
<one-of>
<item> my age is </item>
</one-of>
<ruleref uri="#numbers"/>
</rule>

<!-- CA02: Ask for room information -->
<rule id="room">
<one-of>
<item> where is room </item>
</one-of>
<ruleref uri="#numbers"/>
</rule>

<!-- Numbers -->
<rule id="numbers">
<item>
    <one-of>
        <item> four  <tag>4</tag></item>
        <item> five  <tag>5</tag></item>
        <item> six   <tag>6</tag></item>
        <item> seven <tag>7</tag></item>
    </one-of>
</item>
</rule>
</grammar>

在提出以下发言时:

1. Where is room 4
2. My age is 4

我希望获得语义结果:

1. QuestionRoom=4
2. AnswerAge=4

我一直在仔细阅读微软关于如何获得此类结果但没有运气的文档。一种可能的解决方案是复制规则&#34;数字&#34;对于rootRule中存在的每一个,但这远不是一个最佳解决方案。有人碰巧知道获得相同结果的更好方法吗?

1 个答案:

答案 0 :(得分:-1)

找到它的解决方案,使用类似于使用here的方法。