我正在尝试通过Composer(Genesys Framework)构建一个GVP应用程序,该应用程序需要通过语音识别来接受输入。输入内容包含12个或更多字母/数字的字母数字代码,说话者需要使用意大利城市的名称代替字母。
我已经尝试使用Genesys Composer中的语法生成器为我的语法编写代码,但是这种方式只接受一个单词。因此,我开始从头开始编写.grxml代码(我基本上不了解这种语言)。我提出了以下建议:
<rule id="A" scope="public">
<item repeat="0-5">
<one-of>
<item>Ancona</item>
<item>A</item>
</one-of>
</item>
</rule>
<rule id="B" scope="public">
<item repeat="0-5">
<one-of>
<item>Bologna</item>
<item>Bari</item>
<item>Bi</item>
<item>B</item>
</one-of>
</item>
</rule>
<rule id="C" scope="public">
<item repeat="0-5">
<one-of>
<item>Como</item>
<item>Ci</item>
<item>C</item>
</one-of>
</item>
</rule>
<rule id="D" scope="public">
<item repeat="0-5">
<one-of>
<item>Domodossola</item>
<item>Di</item>
<item>D</item>
</one-of>
</item>
</rule>
<!-- Reference by URI to a local rule -->
<rule id="codice" scope="public">
<item repeat="0-5">
<ruleref uri="#A" />
<ruleref uri="#B" />
<ruleref uri="#C" />
<ruleref uri="#D" />
</item>
</rule>
语法有效,但前提是我按顺序发音。例如,如果我发音为“ ANCONA,COMO”,则得到正确的结果,如果我打印输入变量,则它包含“ ANCONA COMO”。相反,如果我读“ COMO,ANCONA”,则我的变量仅包含单词“ COMO”。我如何才能“遍历”我的规则以使单词以随机顺序发音?谢谢。
答案 0 :(得分:0)
也许我误会了,但这不是您所需要的吗?
<rule id="A" scope="public">
<item repeat="12">
<one-of>
<item>Ancona</item>
<item>A</item>
<item>Bologna</item>
<item>Bari</item>
<item>Bi</item>
<item>B</item>
<item>Como</item>
<item>Ci</item>
<item>C</item>
</one-of>
</item>
</rule>
说了这么长时间的输入,我无法想象它能很好地工作。您可能需要确认每个输入...