【问题标题】:How do I read the semantic tags from an SRGS .grxml file in C#?如何从 C# 中的 SRGS .grxml 文件中读取语义标签?
【发布时间】:2012-10-21 11:56:00
【问题描述】:

假设我从下面的语法中得到了这个简单的部分:

<rule id="WhoAreYou" scope="private">
 <one-of>
  <item>who</item>
  <item>what</item>
 </one-of>
  <item>
    are
    you
  </item>
 <tag>1000</tag>
</rule>

如何从标签中适当地返回“1000”?我正在使用 System.Speech 库,并尝试将此值返回给使用 SpeechRecognizedEventArgs 的方法。

【问题讨论】:

    标签: c# xml grammar speech-recognition semantics


    【解决方案1】:

    如果字符串中有 xml 的那部分,则可以将字符串解析为 LINQ to XML XDocumentXDocument.Parse(string),并使用它来获取值。阅读 LINQ to XML here :)

    【讨论】:

    • Josh 不是指标签元素之间的实际值(即值 1000);他指的是 VoiceXML 浏览器作为语音输入的结果返回的内容。这个问题的措辞不是很好。这与其说是一个 C#/XML 问题,不如说是使用哪个影子变量来获得他想要的结果。
    【解决方案2】:

    其实我只是想通了。我正在使用 e.Result.Semantics.Value.ToString() ,它返回的文本与所说的完全相同。我意识到我已经设置了 tag-format="semantics-ms/1.0" 时将其设置为 tag-format="semantics/1.0" 解释了标签应该如此。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      • 2023-03-27
      • 2011-03-12
      相关资源
      最近更新 更多