编辑: 无理的喜欢 2014-03-26

6 我想查手机费 我想查话费 我想查询手机费 我想查询话费 凡是以上范围中的任意一个,均可以被系统匹配.如果用户输入不在上述范 围之内,会被 拒识 . 1.2. 名词解释 ? 空白符:空格、回车、换行、横/竖向制表符. 1.3. 文档注释 文发文档中可以使用注释,形式如下(同C++编程语言): // C++/Java-style single-line comment /* C/C++/Java-style comment */ 科大讯飞语义开放平台 《abnf 文法规范》

7 第2章 文法档头部 2.1. 简介 文档头部定义了文档的各种属性,主要包括: ? ABNF 文档自标识头(Self-Identifying Header) ? 模式(Mode)type ? 元数据(Meta) ? 引用文件声明部分? ? 类型说明 type ? 文档头部结束标记 文档头部必须出现在文档的开头部分,文档头部的每一语句必须以英文半角 分号 ;

标记语句结束.从现在开始,如果不特别说明,所有的符号均为英文半 角. 一个典型的头部如下: 2.2. ABNF 文档自标识头 ABNF 文档自标识头(Self-Identifying Header),在所有语句之前强制出 现,定义了文档的版本和编码格式,形式如下: #ABNF VersionNumber CharEncoding;

其中: 科大讯飞语义开放平台 《abnf 文法规范》

8 ? VersionNumber 指定文法档版本号,与相应的编译工具对应. ? CharEncoding 指定文法档字符编码类型,目前只支持 UTF-8,如果文法是 gbk 编码将不会编译. 目前必须书写为:#ABNF 1.0 UTF-8;

不能有任何不同. 2.3. 引用文件声明 3.0 扩充了引用的功能,即可以引用其他文法,也可以引用词典源文件,也 可以引用声明文件.必须使用#include,格式和 C 语义一致,并用分号结尾,否 则会出错. 同时提供了运行时 加载关键字 ,此关键词和解析器相匹配.起资源检查 的作用. #ABNF 1.0 UTF-8;

.... #include Common\common.abnf ;

#include lst\singer_name.lst ;

#mount video_name ;

#ABNF HEAD-END;

命令名 功能 备注 #mount #mount 词典的逻辑名称 ;

声明解码时需要的词典资源. 解码时会检查输入, 查找有没有 符合该逻辑名的词典资源存在. 编译时并不要求该资源存在. 一般用于同一个文法, 加载不同 的定制资源 在资源头部会有 额外记录 3.0 新增 #include #include 引用的文法或者词典的相对路径 编译时会检查该路径上的文件,必须存在 引用的资源会和 文法网络合成一 个文件,比如引 用词典,词典不 会单独生成一个 科大讯飞语义开放平台 《abnf 文法规范》

9 2.4. 类型 type 模式名 一般不需要额外指定 2.5. Root 规则 2.6. 文档头部结束标记 文档头部的最后,必须有结束标记语句(指明文档头部的结束): #ABNF HEAD-END;

如果是 lst 文件,则为 #DICT HEAD-END;

2.7. 词典资源文件格式 词典 lst 文件格式简单: 头部是: #DICT 1.0 UTF-8;

#DICT HEAD-END;

文件,而包含于 资源内部 用法 功能 备注 root 规则名;

将root 指定的规则,编译成二进制文法网络并输出.规则名 不要加$,只名字即可 此功能在检查子文法是否正确时很便利,只需指定 root 为该 子文法规则即可 规则名不需要加$前缀 此为 3.0 新增 句式 科大讯飞语义开放平台 《abnf 文法规范》

10 体:格式与前半本相同.另外,文件最后一行必须加上: #IFLY_NLI_RES_END;

否则会报告文件不完整. 词典规则名只允许字母数字和下划线. 科大讯飞语义开放平台 《abnf 文法规范》

11 第3章 文法档正文 3.1. 综述 文法文件, 实际上就是一些列规则定义的组合. 文法档正文由一个或多个 赋值 表达式组成.基本格式如下: $vName = vDefinition;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题