美文网首页
语音助手json协议

语音助手json协议

作者: littlefogcat | 来源:发表于2018-07-17 18:32 被阅读0次

    字段

    自定语义JSON共有4个字段,分别是:

    • domain:领域,即语义大类,如客控、电影、电视等。
    • intent:意图,如打开、关闭等。
    • input:输入,即识别出的句子。
    • param:其他参数,如设备名称,电影名称等。

    一个简单的例子:

    {
        "domain": "movie",
        "input": "我要看变形金刚",
        "intent": "play",
        "param": {
            "movie_name": "变形金刚",
            "name": "变形金刚"
        }
    }
    
    {
        "domain": "kekong",
        "input": "打开夜灯",
        "intent": "open",
        "param": {
            "devname": "夜灯"
        }
    }
    

    对应的java实体类定义如下:

    public class ClearRecogBean {
        public String domain;
        public String intent;
        public String input;
        public Map<String, Object> param;
    }
    

    param中的参数会根据domain和intent的不同而改变。

    具体分类

    1. 客控(不包括空调)

    domain

    客控对应的domain为kekong

    intent

    • open:开启设备
    • close:关闭设备

    param

    客控参数:

    • devname:设备名称

    例子

    {
        "domain": "kekong",
        "input": "打开夜灯",
        "intent": "open",
        "param": {
            "devname": "夜灯"
        }
    }
    

    2. 视频(电影)

    domain

    电影对应的domain为movie

    intent

    • play:播放。

    param

    电影参数:

    • movie_name:电影名称
    • name:电影名称(与movie_name相同)

    例子

    {
        "domain": "movie",
        "input": "我要看变形金刚",
        "intent": "play",
        "param": {
            "movie_name": "变形金刚",
            "name": "变形金刚"
        }
    }
    

    3. 天气

    domain

    天气对应的domain是weather

    intent

    • query_weather:如果intent为query_weather,那么表示希望从网络上查询天气信息;否则intent留空,从param的data字段中取天气信息。

    param

    • data:天气的json数据,结构同讯飞的天气解析结果。
    • date:要查询的天气日期,格式为yyyy-MM-dd
    • city:要查询天气的城市
    • answer:天气信息回复

    例子

    {
        "domain": "weather",
        "input": "上海今天天气如何",
        "param": {
            "data": {
                "result": [{
                    "airData": 21,
                    "airQuality": "优",
                    "city": "上海",
                    "date": "2018-07-18",
                    "dateLong": 1531843200,
                    "humidity": "63%",
                    "img": "http://aiui-res.ufile.ucloud.com.cn/weather/01.png",
                    "lastUpdateTime": "2018-07-18 08:00",
                    "pm25": "11",
                    "temp": 30,
                    "tempRange": "26℃ ~ 35℃",
                    "weather": "多云",
                    "weatherType": 1,
                    "week": "Wednesday",
                    "wind": "东南风4-5级",
                    "windLevel": 2
                }]
            },
            "city": "上海",
            "date": "2018-07-18",
            "answer": "天气预报显示,上海20号多云,28℃ ~ 35℃,东南风3-4级"
        }
    }
    
    {
        "domain": "weather",
        "input": "上海今天天气如何",
        "intent": "query_weather",
        "param": {
            "city": "上海",
            "date": "1998-01-01"
        }
    }
    

    4. 电视直播

    domain

    电视直播对应的domain为live

    intent

    • play:播放电视直播

    param

    • name_list:电视台的名称列表,比如[中央一套, 中央一台, cctv-1],用`隔开

    例子

    {
        "domain": "live",
        "input": "我要看中央一套",
        "intent": "play",
        "param": {
            "name_list": "CCTV-1`CCTV-1综合`综合频道`CCTV1综合频道`中央一台`CCTV 1`CCTV-1 综合`中央综合`中央-1`CCTV1"
        }
    }
    

    5.空调

    domain

    空调对应的domain为air_cond

    intent

    可以不传

    param

    客控参数:

    • temp:温度
    • mode:模式
      1 - 制冷
      2 - 制热
      3 - 保持
      4 - 通风
    • switch:开关
      1 - 开
      2 - 关
    • wind:风速
      1 - 低速
      2 - 中速
      3 - 高速
      4 - 自动

    例子

    {
        "domain": "air_cond",
        "input": "空调开到15度",
        "param": {
            "temp": 15
        }
    }
    

    相关文章

      网友评论

          本文标题:语音助手json协议

          本文链接:https://www.haomeiwen.com/subject/azwvpftx.html