文档简介:
语义理解协议描述语言
语义理解的结果通过语义理解协议向开发者返回,为了易于人阅读,同时也方便机器解析和生成,采用 json 语言进行描述,utf-8 编码。json 语言的基本概念:
属性名/属性值
即键值对(key-value)
数组
在 json 中是“[]”括起来的内容,数据结构为["value1","value2",...],取值方式和所有语言中一样,使用索引获取,属性值的类型可以是数字、字符串、数组、对象。
对象
在 json 中表示为“{}”括起来的内容,数据结构为 {key1:value1,key2:value2,...}的键值对的结构。在面向对象的语言中,key 为对象的属性,value 为对应的属性值,所以很容易理解,取值方法为对象.key 获取属性值,这个属性值的类型可以是数字、字符串、数组、对象几种。
意图表示协议说明
语义表示协议由以下字段组成:
results是数组,由若干object构成(少数情况下,语义解析结果不一定唯一, query 可能属于多个领域或存在歧义等)。一个 object 对应一个解析结果,若有 多个按 score 排序,每个 object 结构如下:
语义理解示例:
query:我要看名侦探柯南
{ "appid": 597, "encoding": "UTF-8", "results": [ { "domain": "movie", "intent": "MOVIE_INFO", "score": 100, "slots":
{ "user_movie_name": [ { "word": "名侦探柯南", "norm": "" } ] } }, { "domain": "animation", "intent": "ANIMATION_INFO",
"score": 100, "slots": { "user_ani_name": [ { "word": "名侦探柯南", "norm": "" } ] } } ], "parsed_text":
"我 要 看 名 侦探 柯南", "raw_text": "我要看名侦探柯南", "err_no": 0 }
领域取值
本表格详细描述了领域(domain)的取值。
领域名称 | 描述 | 示例 query |
---|---|---|
weather | 天气 | 北京明天天气 |
train | 列车 | 北京西站到上海的高铁 |
flight | 航班 | 明天从北京到上海的东航机票 |
telephone | 电话 | 打电话给妈妈北京移动的号码 |
coffee | 订咖啡 | 给我来杯拿铁 |
movie | 电影播放 | 我想看阿甘正传 |
screen_control | 页面屏幕控制 | 往上翻两页;按时间排序 |
tv | 电视剧 | 我要看娘道第三集;最近有什么好看的电影 |
takeaway | 外卖 | 来一份麦当劳的香辣鸡腿堡 |
robot | 机器人控制 | 往右走5米;给我拍个照吧 |
constell | 星座 | 金牛座的人是什么样的呢;金牛座的人生日是在几月 |
zodiac | 属相 | 牛年出生是哪年;属虎的人本命佛是什么 |
yaohao | 摇号 | 北京汽车摇号申请 |
hexcalc | 进制转换 | 怎样将十进制110转换成十六进制的 |
time_zone | 时区查询 | 美国与北京的时区差多少;美国的夏威夷在哪个时区 |
vehichle | 限行查询 | 请问成都今天限号是多少;查一下天津周三限行到几点 |
animation | 卡通 | 我要看西游记的动画片;现在有什么好看的动画片 |
qv | 数值计算 | 零和负二谁大 |
groupbuy | 团购 | 附近有哪些人均100左右的酒店团购 |
cate | 美食 | 帮我找一家能停车有包间的火锅店 |
nba | NBA | 有科比的图片吗;看下马刺的比赛 |
calendar | 日历 | 明天是农历几号;3月1日到7月1日有多少天 |
music | 音乐 | 下载周杰伦的七里香;播放天龙八部片尾曲 |
sns | 社交网络 | 刷新一下新浪微博;发新浪微博今天天气不错,然后@小度 |
website | 网站 | 打开百度;用QQ浏览器打开百度 |
vehicle_instruction | 车载指令 | 打开蓝牙;看看胎压 |
setting | 手机设置 | 打开声音设置;关闭蓝牙 |
recipe | 菜谱 | 推荐一道春节吃的川菜;帮我找个做宫保鸡丁的视频 |
stock | 股票 | 看下今天的a股走势;201000这支股的股价 |
tv_instruction | 电视指令 | 把音量调到50;换到上一个台 |
hotel | 酒店 | 搜一下上地的酒店;上地的七天有哪些房型 |
map | 地图 | 搜一下百度大厦;搜一下上地附近的麦当劳 |
tv_show | 综艺 | 播放一个适合老人看的综艺节目;湖南卫视晚上8点有什么综艺节目 |
account | 记账 | 今天公司给我发了5000块钱工资;记一下从西二旗打车用了50 |
navigate_instruction | 导航指令 | 把后厂村路添加到收藏;放大地图 |
film_news | 影讯 | 北京星美国际影城最近有什么英文恐怖电影上映;北京星美国际影城张艺谋导演的影粤语版的票价是多少 |
phone_charges | 话费查询 | 15512345678这个月流量剩余量多少;这个月移动号余额多少 |
travel | 旅游 | 北京有哪些好玩的景点;十月份度蜜月适合去哪里 |
person | 人物 | 刘德华;演员刘德华身高多少 |
app | 手机应用 | 卸载微信;用应用宝搜索微信 |
search | 搜索 | 搜索一下李彦宏的资料;百度一下明天天气 |
instruction | 通用设置 | 返回首页;还剩多少电 |
novel | 小说 | 下载个适合学生看的南派三叔写的恐怖小说;在线阅读鬼吹灯 |
joke | 笑话 | 讲个有趣的笑话;搜索个适合睡前听的笑话 |
player | 音乐播放 | 从2分钟开始播放;播放下一首 |
contact | 通讯录 | 添加工作电话13820306899;编辑第三个联系人 |
translation | 翻译 | 把你好翻译成英文 |
alarm | 提醒 | 每天早上八点半提醒我起床,大声点;查看明天早上的提醒 |
radio | 收音机 | 播放北京地区音乐频道;关闭收音机 |
message | 短信 | 发短信给张三说对不起;查看张三的第三条未读短信 |
story | 故事 | 播放一个张震的恐怖故事;查询个适合婴儿听的故事 |
意图取值
意图和领域相关,每个领域下,均有若干个该领域专属的意图,详见各领域语义表示协议。
词槽取值
某些比较复杂的query仅使用意图无法完整的表示其语义信息,因此需要加入词槽信息,即该意图下的附加信息或限制条件,如query=我要买明天去北京的机票,意图是买机票,另外还有限制条件是明天和北京,因此语义解析会得到以下词槽信息::
"slots": {
"user_time": [
{
"word": "明天",
"norm": "2019-01-22"
}
],
"user_arrival_city": [
{
"word": "北京",
"norm": "北京市"
}
]
}
表示语义解析得到2个词槽,分别为user_time(时间)和user_arrival_city(到达地)。而每个词槽对应的值有2种,一种是原始值(word),另一种是归一化值(norm):原始值是指query中出现的词槽值的原文,即"明天"和"北京";而归一化值是对某些词槽,系统会在原始值的基础上进行规范化处理,得到的统一格式的词槽值,开发者可根据自身业务情况灵活决定使用原始值还是归一值。
##词槽值类型 所有词槽的原始值和归一化值类型均为string型。