簡體   English   中英

統一語法識別器不起作用

[英]unity grammar recognizer not working

我試圖統一使用Windows 10語法識別器,但未檢測到任何東西。

private GrammarRecognizer grammarRecognizer;

在啟動功能上,我有:

grammarRecognizer = new GrammarRecognizer(Application.streamingAssetsPath + "/SRGS/myGrammar.xml", ConfidenceLevel.Low);
grammarRecognizer.OnPhraseRecognized += grammarRecognizer_OnPhraseRecognized;
grammarRecognizer.Start();

我也有這個功能:

void grammarRecognizer_OnPhraseRecognized(PhraseRecognizedEventArgs args)
{
    System.Action keywordAction;
    Debug.Log("word said: " + args.text + " - conf: " + args.confidence);
    if (args.confidence >= ConfidenceLevel.Medium) 
        Debug.Log("Confidence is low");
    print(args.semanticMeanings);
}

但是以前的函數永遠不會被調用,因為它永遠不會識別任何東西。 我有這個語法:

<grammar version="1.0" xml:lang="en-US" root="playCommands"
 xmlns="http://www.w3.org/2001/06/grammar">

  <rule id="playCommands">
    <ruleref uri="#playAction" />
    <item> the </item>
    <ruleref uri="#fileWords" />
  </rule>

  <rule id="playAction">
    <one-of>
      <item> play </item>
      <item> start </item>
      <item> begin </item>
    </one-of>
  </rule>

  <rule id="fileWords">
    <one-of>
      <item> song </item>
      <item> tune </item>
      <item> track </item>
      <item> item </item>
    </one-of>
  </rule>
</grammar>

嘗試去掉標簽中單詞周圍的空格。 這為我解決了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM