Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Speech recognition 无法从MS ASR(Sgrs语法)返回斜杠符号_Speech Recognition_Grammar_Speech_Sapi - Fatal编程技术网

Speech recognition 无法从MS ASR(Sgrs语法)返回斜杠符号

Speech recognition 无法从MS ASR(Sgrs语法)返回斜杠符号,speech-recognition,grammar,speech,sapi,Speech Recognition,Grammar,Speech,Sapi,我是SRG的新手,所以请提前原谅我,如果这对各位专家来说太明显了,但到目前为止,我在这个问题上还没有发现任何东西 我想做的是,当说“L四斜杠五”时,MS ASR应该返回“L4/5”。无论我做什么,我似乎都无法显示“/”符号 四,五 我尝试了sapi:display=“L4/5”而不是sapi:display=“L4/5”同样的方法。ASR只返回“L4”。只是为了见鬼,我尝试删除斜杠,例如sapi:display=“L45”ASR会立即返回正确的文本:“L45”。 这里的要求是能够在Srg

我是SRG的新手,所以请提前原谅我,如果这对各位专家来说太明显了,但到目前为止,我在这个问题上还没有发现任何东西

我想做的是,当说“L四斜杠五”时,MS ASR应该返回“L4/5”。无论我做什么,我似乎都无法显示“/”符号



四,五

我尝试了sapi:display=“L4/5”而不是sapi:display=“L4/5”同样的方法。ASR只返回“L4”。只是为了见鬼,我尝试删除斜杠,例如sapi:display=“L45”ASR会立即返回正确的文本:“L45”。 这里的要求是能够在Srgs XML文件中完成这一切(不应涉及编译代码)

我错过了什么?我真的被卡住了。

谢谢。

看了SRGS规范后,肯定不清楚。我在其中发现的最接近的东西是关于标签和歧义

您可以按照中的说明尝试标记并退出

他们举的例子是:

<rule id="participants">
    <one-of>
      <item> Nancy Anderson <tag> out="NanAnd" </tag> </item>
      <item> Alan Brewer <tag> out="abrewer" </tag> </item>
      <item> Oliver Lee <tag> out="olilee" </tag> </item>
      <item> April Reagan <tag> out="areagan" </tag> </item>
      <item> Cindy White <tag> out="cwhite" </tag> </item>
      <item> Ken Kwok <tag> out="kkwok" </tag> </item>
    </one-of>
  </rule>

Nancy Anderson out=“NanAnd”
Alan Brewer out=“abrewer”
Oliver Lee out=“olilee”
April Reagan out=“areagan”
Cindy White out=“cwhite”
Ken Kwok out=“kkwok”
是Microsoft对SRGS的扩展,我强烈怀疑它是通过将标记转换为显示/词法/发音形式实现的,我能找到的唯一文档是以下的LEXDELIMITER属性的注释:

LEXDELIMITER(可选):LEXDELIMITER属性指定 语法中指定的显式词典项的分隔符。 语法作者可以通过使用 特殊字符序列。字符顺序为:

默认值为“/”。发音形式是可选的,可以省略

语法中的一个字符串,其形式为
/4/four/foer
是一个标记,将在识别文本中返回为“4”,将通过“4”在词典中找到,并将发音为“foeh-er”。这通常在日语中使用,其中显示形式为汉字,词汇形式为平假名或片假名

现在,应该很容易理解为什么
不能很好地工作-display元素正在被剥离以适应令牌语法

要实现这一点,您需要在SRGS语法中具有SAPI
LEXDELIMITER
属性的等效项,而我在Microsoft文档中没有看到

<rule id="participants">
    <one-of>
      <item> Nancy Anderson <tag> out="NanAnd" </tag> </item>
      <item> Alan Brewer <tag> out="abrewer" </tag> </item>
      <item> Oliver Lee <tag> out="olilee" </tag> </item>
      <item> April Reagan <tag> out="areagan" </tag> </item>
      <item> Cindy White <tag> out="cwhite" </tag> </item>
      <item> Ken Kwok <tag> out="kkwok" </tag> </item>
    </one-of>
  </rule>
        LEXDELIMITERDisplayFormLEXDELIMITERLexicalFormLEXDELIMITERPronunciation;