第一篇博文简单讲了一下京东Alpha平台与个人idea技能,本篇将讲解Alpha平台与个人开发需要的一些知识,下面开篇

  ——》》》

  上图就是京东Alpha技能平台的首页,Skill平台(技能平台),官方介绍:

    Alpha技能的开发平台,提供全套的自助式开发工具;帮开发者轻松,快速地将服务集成到Alpha平台,使用户通过自然语言即可获取服务,并通过Alpha赋能智能设备或手机应用,帮开发者获得亿级智能场景用户,从移动服务向AI服务升级。

    说白了就是智能音箱的小应用。

    点击控制台即可进入控制台界面:

    如上图进入之后就可以创建新的技能了。新创建技能后需要根据自己的需求添加意图,意图需要话术支持,话术则是由槽和槽值来实现的,所以需要自己添加槽位以及槽值,这时你也可以调用系统的槽值。系统提供的意图有:

    Alpha.CancelIntent:包含类似“退出”等话术的意图,用于中断正在进行的请求或服务并退出意图(为保证用户最低体验,该意图不可删除)  

    Alpha.HelpIntent :包含类似“帮助”等话术的意图,用于帮助用户了解如何使用您的技能(为保证用户最低体验,该意图不可删除)        

    Alpha.NextIntent :包含类似“下一条”等话术的意图,用于指向并获取下一个需要的内容       

    Alpha.RepeatIntent:包含类似“重复”等话术的意图,用于重新获取当前内容

    Alpha.ResumeIntent:继续\恢复

    Alpha.DefaultIntent:当 Alpha 接收到用户请求后,如果无法解析,则直接将该请求发送给技能,由技能自己进行分析处理

    Alpha.PauseIntent:暂停播放

    Alpha.LoopOffIntent:循环播放关

    Alpha.LoopOnIntent:循环播放开

    Alpha.PreviousIntent:上一首/曲/个

    Alpha.ShuffleOffIntent:随机播放关

    Alpha.ShuffleOnIntent:随机播放开

    Alpha.StartOverIntent:重新播放

    内置槽位:

    新建意图:

   如下图,在新建意图中添加槽位,这里槽位名称需要自己填写,槽位类型可选自己自定义的类型也可选择内置类型,这里就选择了内置的日期类型和数字类型,意图话术中 就是编写一句话术,使用户在说含有这些槽值的话术时触发此意图。例:今天花了20元。此句话就触发了本话术,于是就发出意图请求。发出的请求以post方式发送,数据以json格式发送给服务器,所以实现此应用还需要搭建一台服务器(小编使用的是腾讯云服务器,然后自己搭建服务器(Xampp——Mysql+tomcat+appach),然后使用eclipse建立一个web工程,用servlet方式处理请求即可)。

    下面分析数据协议:

    官方文档:http://alphadev.jd.com/Docs/skillCreate#shujuxieyi

    我的请求:

//首次建立会话
{
"request": {
"dialogState": "STARTED",
"requestId": "debf33c1-7fdb-4417-b015-3313568bad7e_1310_test",
"timestamp": 1534340485603,
"type": "LaunchRequest" //会话正式开始
},
"session": {
"application": {
"applicationId": "jd.alpha.skill.c570c43sxsxa158c74abcb2e673fd06d680af"
},
"device": {
"deviceId": "deviceId_a4f5b13d80xsce46abbf73ssxa31877d1e025_dev_test"
},
"isNew": true,
"sessionId": "xxxxcec8xxx1960-3a35-45ce-917d-0a1d1c2x80b04",
"user": {
"userId": "jd.account.xxxx3d8axd78643xxx18eb3b0202303b09910281"
}
},
"version": "1.0"
}

  带有意图的请求:

//价格查询服务
{
"request": {
"dialogState": "IN_PROGRESS",
"intent": {
"confirmResult": "NONE",
"name": "MainQuery", //服务请求名称
"slots": {
"Date": {
"confirmResult": "NONE",
"matched": true,
"name": "今天"            //符合条件的槽值
},
"Number": {
"confirmResult": "NONE",
"matched": true,
"name": "20"
}
}
},
"requestId": "6e293729-56dd-47c9-a53b-abc55999ae57_1310_test",
"timestamp": 1534340380605,
"type": "IntentRequest"          //请求类型
},
"session": {
"application": {
"applicationId": "jd.alpha.skill.c570c431dses58c74abcb2e673fd06d680af"
},
"contexts": { },
"device": {
"deviceId": "deviceId_696caff960fa4a5f93sdde9e434c2abedad3_dev_test"
},
"isNew": false,
"sessionId": "14deca02-9293-406b-9318-94dsd6949a1409",
"user": {
"userId": "jd.account.3d8ad7864318eb3bdfdsf0202303b09910281"
}
},
"version": "1.0"
}

      

  更多话术请求json数据形式有待大家发现运用,详细仔细参考官方数据协议。

  下一篇介绍服务器端的搭建以及通讯流程及处理步骤。

  点击这里直接跳转上一篇>>>>>>

    

京东Alpha平台开发笔记系列(二)的更多相关文章

  1. 京东Alpha平台开发笔记系列(一)

    2018京东Alpha开发者大赛是由京东智能面向广大开发者举办的大型语音技能开发比赛,参赛者将通过Skill开放平台开发技能,在实现开发者自身价值的同时,为京东智能活跃用户提供更优质.更便捷.更智能的 ...

  2. 京东Alpha平台开发笔记系列(三)

    摘要:通过前面两篇文章的讲述,大致了解了JdAlpha平台前端开发的主要流程.接下来本篇文章主要讲述后台服务器端开发的主要流程.这里会涉及到后台服务器的搭建的内容,本篇文章就不以赘述,如需了解请读下面 ...

  3. Senparc.Weixin.MP SDK 微信公众平台开发教程(二):成为开发者

    Senparc.Weixin.MP SDK 微信公众平台开发教程(二):成为开发者 这一篇主要讲作为一名使用公众平台接口的开发者,你需要知道的一些东西.其中也涉及到一些微信官方的规定或比较掩蔽的注意点 ...

  4. Senparc.Weixin.MP SDK 微信公众平台开发教程(二十):使用菜单消息功能

    在<Senparc.Weixin.MP SDK 微信公众平台开发教程(十一):高级接口说明>教程中,我们介绍了如何使用“客服接口”,即在服务器后台,在任意时间向微信发送文本.图文.图片等不 ...

  5. WCF开发实战系列二:使用IIS发布WCF服务

    WCF开发实战系列二:使用IIS发布WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们使用VS200 ...

  6. Senparc.Weixin.MP SDK 微信公众平台开发教程(二十一):在小程序中使用 WebSocket (.NET Core)

    本文将介绍如何在 .NET Core 环境下,借助 SignalR 在小程序内使用 WebSocket.关于 WebSocket 和 SignalR 的基础理论知识不在这里展开,已经有足够的参考资料, ...

  7. Senparc.Weixin.MP SDK 微信公众平台开发教程(二十二):如何安装 Nuget(dll) 后使用项目源代码调试

    最近碰到开发者问:我使用 nuget 安装了 Senparc.Weixin SDK,但是有一些已经封装好的过程想要调试,我又不想直接附加源代码项目,这样就没有办法同步更新了,我应该怎么办? 这其实是一 ...

  8. stm32开发笔记(二):stm32系列使用V3.5固件库的帮助文件以及GPIO基本功能(一)

    前言   stm32系列是最常用的单片机之一,不同的版本对应除了引脚.外设.频率.容量等'不同之外,其开发的方法是一样的.  本章讲解使用库函数使用GPIO引脚功能.   补充   本文章为多年前学习 ...

  9. libzip开发笔记(二):libzip库介绍、ubuntu平台编译和工程模板

    前言   Qt使用一些压缩解压功能,选择libzip库,libzip库比较原始,也是很多其他库的基础支撑库,编译过了windows版本,有需求编译一个ubuntu版本的,交叉编译需求的同样可参照本文章 ...

随机推荐

  1. Container and Injection in Java

    一.Container 1.为什么使用Container 通常,瘦客户端多层应用程序很难编写,因为它们涉及处理事务和状态管理.多线程.资源池和其他复杂的低级细节的复杂代码行.基于组件和独立于平台的Ja ...

  2. tensorflow,model,object_detection,训练loss先下降后递增,到几百万,解决tensorflow,model,object,detection,loss,incease

    现象:训练loss一开始下降一部分,跌代到若干次(具体多少和你的learning rate大小有关,大就迭代小就发生,小就需要多几次迭代) 日志如下(下面的日志来源于网络,我自己的日志已经clear掉 ...

  3. python之科学函数课——Numpy

    一般来讲,数据都是由行列表示的,也就是矩阵,类似于Excel表格一样的东西. 首先我们学习一下Numpy,装好anaconda之后默认是装好的,下面是numpy的一些函数库:Numpy是科学计算库,是 ...

  4. java 生成随机校验码

    1 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.Buffe ...

  5. Jenkins安装和配置

     一.Jenkins的安装 我们在进行自动化测试的时候通常我们都会进行持续集成,可以帮助我们持续集成的工具有很多,我个人比较喜欢用Jenkins. 主要是因为它有如下优点: 开源免费 跨平台,支持所有 ...

  6. Ganglia监控扩展实现机制

    Ganglia监控扩展实现机制 默认安装完成的Ganglia仅向我们提供基础的系统监控信息,通过Ganglia插件可以实现两种扩展Ganglia监控功能的方法.1.添加带内(in-band)插件,主要 ...

  7. Docker端口映射

    Docker端口映射是指将容器内应用的服务端口映射到本机宿主机器.当要在宿主机外部访问Docker内部应用时,需要对容器内应用端口进行映射. 一.容器启动时指定端口映射 容器运行时可以通过-p 或 - ...

  8. 通信导论-IP数据网络基础(1)

    TCP/IP封装过程: 端口号:服务器一般都是通过知名端口号(1~1023)来识别应用程序,(TCP)21.23.25,(UDP)53.69.161 TCP报文格式: 字节号:TCP把连接中发送的所有 ...

  9. Integer 函数传参实现值交换

    import java.lang.reflect.Field; public class MainClass { public static void main(String[] args) { In ...

  10. 在javaScript中把非数值类型的数据自动转换为数值类型的两种方式

    一.使用Number()函数. 二.使用parseInt()/parseFloat()函数. 详情: 一.使用Number()函数将非数值类型的数据自动的转化为数组类型 Number()函数可以将任何 ...