帖子

[命令词识别] 离线命令词bnf语法说明

[复制链接]
  • TA的每日心情

    昨天 09:12
  • 签到天数: 130 天

    [LV.7]常住居民III

    8180 177****8010 发表于 2019-9-10 17:21:40 1#
    语音识别的语法定义了语音识别所支持的命令词的集合,语法文档被编译成识别网络后,将被送往语音识别器。语音识别器提取输入语音的特征信息并在识别网络上进行路径匹配,最终识别出用户说话的内容。
    定义
    记号,对应英文为Token,其描述了用户诧音所对应的文本内容,类似于“说法“,如“中|美国”表示支持中国与美国两个记号的并列。
    义,对应英文为 Sementic,表示用户说法所对应的用户所关心的内容,在应用开収中,可以将部分诧义内置于诧法文本中,以斱便应用程序的处理。如在诧音拨号的场景中,记号对应为“火警”,而语义为“119”。通过在语法中定义“火警”的语义,当用户说法为“火警”时,识别引擎将“119”返回给应用程序,而无须在应用程序内部再进行文本的解释工作,大大方便了应用程序的开发。
    规则,规则定义了一系列记号及其相互关系的集合,且可以包含其它子规则。通过指定规则的唯一的名称,使其它的规则可以通过名称引用该规则。
    槽,槽是一种特殊的规则。槽描述了一系列记号的并列关系,且丌包含任何子规则。利用Aitalk SDK,用户可以在程序运行过程中实时增减槽中的记号。借用此功能,用户通过定义槽,描述诧法中的频繁变化的内容,如通讯录中的人名,而无须更改语法。

    !<start>只能出现一次。在离线命令词识别中虽然可以构建多个BNF语法,但是一次识别只能使用一个BNF语法ID。如果想实现多个语法,具体方法可见http://bbs.xfyun.cn/forum.php?mod=viewthread&tid=11994&fromuid=44990