2011-02-28 2 views
2

음성 인식을 위해 Microsoft의 음성 SDK를 사용할 소프트웨어 용 GRXML 문법을 작성합니다.항목을 반복 할 때 grxml 파일의 시맨틱 태깅을 사용하려면 어떻게해야합니까?

태그는 tag-format "properties-ms/1.0"을 따라야 만합니다. 특정 형식의 문서는 찾지 못했습니다. (MSDN은 제 질문에 답하지 않습니다.)

내 관심사는 "1 2 3 4"와 같이 인식 된 텍스트를 숫자 "1234"로 변환하기 위해 숫자 태깅에 관한 것입니다. 여기에 아이디어가 있습니다 :

<rule id="CODE"> 
    <item repeat="4"> 
     <ruleref uri="#DIGIT"/> 
    </item> 
</rule> 

<rule id="DIGIT"> 
    <one-of> 
     <item> 
      one 
      <tag>"1"</tag> 
     </item> 
     <item> 
      two 
      <tag>"2"</tag> 
     </item> 
     <item> 
      three 
      <tag>"3"</tag> 
     </item> 
     <item> 
      four 
      <tag>"4"</tag> 
     </item> 
     <item> 
      five 
      <tag>"5"</tag> 
     </item> 
    </one-of> 
</rule> 

이것은 연결이 없지만 최소한 각 자릿수의 의미 값을 얻습니다.

그러나 숫자에 대해 이러한 규칙을 사용하면 런타임에 프로그램이 중단되고 "CODE '규칙의 의미 값이 이미 설정되어 변경 될 수 없다는 예외가 발생합니다."

DIGIT 규칙의 "반복"과 함께 시맨틱 태깅을 어떻게 만들 수 있습니까? 내 CODE 규칙을 다른 의미 론적 키를 가진 4 개의 동일한 항목으로 나누고 싶지 않습니다. 숫자가 고정되지 않은 다른 문법이 내 문법에 있습니다.

또한 태그에 대한 일반적인 의미를 제공하기 위해 태그를 연결하는 방법이 있습니까?

+0

에 따라 https://msdn.microsoft.com/en-us/library/office/hh361639(v=office.14).aspx "태그 형식 값 ... 속성 -ms/1.0 - T 그의 값은 태그 요소 내의 내용이 부울, 정수 또는 문자열임을 선언합니다. 문자열은 큰 따옴표로 묶어야합니다. " –

+0

또한 태그 형식에 따른 구문 차이에 대해서는 https://msdn.microsoft.com/en-us/library/office/hh361606(v=office.14).aspx를 참조하십시오 –

답변

1

가능한 솔루션 이 같은 것일 것입니다

<rule id="numbers"> 
    <item repeat="4" 
    <ruleref uri="#numbers_1to4"/><tag>out += rules.numbers_1to4;</tag></item> 
</rule> 



<rule id="numbers_1to4"> 
    <one-of> 
     <item>one<tag>out = "1"</tag></item> 
     <item>two<tag>out = "2"</tag></item> 
     <item>three<tag>out = "3"</tag></item> 
     <item>four<tag>out = "4"</tag></item> 
    </one-of> 
    </rule> 
0

나는 마이크로 소프트의 음성 SDK에서 사용되는 고유 tag-format에 익숙하지 해요,하지만 여기 당신이 표준 "의미-1.0"형식을 통해 이러한 목표를 달성 할 방법은 다음과 같습니다

<rule id="CODE"> 
    <tag>out.CODE = &quot;&quot;;</tag> 
    <item repeat="4"> 
     <ruleref uri="#DIGIT"/> 
     <tag>out.CODE += rules.latest();</tag> 
    </item> 
</rule> 


<rule id="DIGIT"> 
    <one-of> 
     <item> 
     one 
     <tag>out = &quot;1&quot;;</tag> 
     </item> 
     <item> 
     two 
     <tag>out = &quot;2&quot;;</tag> 
     </item> 
     <item> 
     three 
     <tag>out = &quot;3&quot;;</tag> 
     </item> 
     <item> 
     four 
     <tag>out = &quot;4&quot;;</tag> 
     </item> 
     <item> 
     five 
     <tag>out = &quot;5&quot;;</tag> 
     </item> 
</one-of> 

+0

Microsoft 음성 플랫폼은 태그 형식에 대한 3 가지 옵션을 지원합니다 (https://msdn.microsoft.com/en-us/library/office/hh361639(v=office.14).aspx 참조). –