Создать список команд из файла грамматики распознавания речи - PullRequest
0 голосов
/ 12 марта 2019

Учитывая файл грамматики распознавания речи, соответствующий Спецификации W3C SRG , существует ли существующая библиотека (для любого языка) или программа, способная генерировать список всех команд, которые она описывает?

Например, с учетом:

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

  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

  <rule id="Cities" scope="public">  
    <one-of>  
      <item> Seattle </item>  
      <item> Los Angeles </item>  
      <item> New York </item>  
      <item> Miami </item>  
    </one-of>  
  </rule>  
</grammar>

Вывод будет выглядеть примерно так:

I would like to fly from (Seattle, Los Angeles, New York, Miami) to (Seattle, Los Angeles, New York, Miami)

(Сложные грамматики реального мира генерируют больше выходных данных, чем это, конечно.)

Я пытался использовать свойство DebugShowPhrases класса GrammarBuilder платформы .NET после вызова AppendRuleReference , но в нем приводится только имя добавленного файла грамматики (например,, #file://c:/Temp/Cities.xml, а не содержащиеся в нем команды.

...