“学了那么久的机器学习,想不想亲自动手开发一款属于自己的聊天机器人?”

“我也可以吗? 但我从来没有涉及过语音技能开发这个领域”

“没关系,有了开发板和平台资源,AI语音技能开发没有想象那么难,每个人都可以开发自己的聊天机器人……”

最早的聊天机器人

我们先来看看世界上第一款聊天机器人是什么样的:

1966年,在MIT任职的德裔美国计算机科学家Joseph Weizenbaum,开发出了一款名为ELIZA的聊天机器人程序。

通过运行名为DOCTOR的脚本,此程序可以用类似心理学家的方式和人类交谈。下面就是一段ELIZA和用户的经典对话:

User: Men are all alike.(男人都是一样的)

ELIZA: IN WHATWAY(比如)

User: They’real ways bugging us about something or other.(他们总是打探我们各种事情)

ELIZA: CAN YOU THINK OF A SPECIFIC EXAMPLE(你能举一个例子吗)

User: Well, my boyfriend made me come here.(我男票让我来到这里)

ELIZA: YOUR BOYFRIEND MADE YOU COME HERE(你男票。。。。)

User: He says I’m depressed much of the time.(他说我最近很“丧”)

ELIZA: I AM SORRYTO HEAR YOU ARE DEPRESSED(很抱歉你心情这么低落)

“她”的制造者引入了心理学家罗杰斯提出的个人中心疗法(Person-Centered Therapy),更多强调对话态度、尊重与同理心。Eliza并不主动提供内容,它只是引导用户说话。

那么ELIZA背后的计算逻辑是什么样的呢?简单得叫人想哭,其实就是一条条模式匹配和字符替换规则,下面是其中几条:

youare (depressed|sad) * => I AM SORRY TO HEAR YOU ARE \1

all *=> IN WHAT WAY

always* => CAN YOU THINK OF A SPECIFIC EXAMPLE

用户说失望/伤心,ELIZA就回答“我好抱歉啊”;

用户用了“所有”这个词,机器人就追问一句“以何种方式”;

如果用户说“总是”如何如何,程序就引导“你能举个例子吗”……

这样的语义识别模式让ELIZA成为了一款非常会聊天的机器人。

但是,这样一款机器人并不能解决现实的问题。如果用户需要的确定或者咨询某件事,得求助别的机器人。

闲聊机器人vs问题解决型机器人

聊天机器人,根据其具体陪人聊天的目的,至少能分为两个大类:Chitchat Bot (闲聊机器人),和Task Completion Bot(任务完成/问题解决型机器人)。

微软的小冰是前者的代表,这类机器人存在的目的就是陪用户闲聊。

大多数闲聊机器人,会希望用户消耗在聊天上的时间尽量长,但也不排除有些希望用户最好不要多花时间(比如贤二机器僧)。

各种客服机器人,个人助手/语音助手(包括微软小娜/Cortana)则属于后者。

它们存在的目的是为了帮用户解决确实的问题,例如查询某一种信息,或者完成某一个动作(例如:订机票、酒店、餐厅座位等)。

这两种机器人背后的实现机制差异巨大。

聊天机器人的实现技术

从学术研究的角度讲,聊天机器人所需技术涉及到自然语言处理、文本挖掘、知识图谱等众多领域

但具体到实践当中,在没有那么巨量的人工标注数据和大规模计算资源的情况下,于有限范围(scope)内,开发一款真正有用的机器人,更多需要关注的往往不是高深的算法和强健的模型,而是工程细节和用户体验。

此处为大家简单介绍两种当前实践中相对简单的方法:

Solution-1: 用户问题->标准问题->答案

知识库中存储的是一对对的“问题-答案”对(QA Pair)。这些Pair可以是人工构建的,源于专家系统或者旧有知识库的,也可以是从互联网上爬取下来的。

现在互联网资源这么丰富,各种网页上到处都是FAQ,Q&A,直接爬下来就可以导入知识库。以很小的代价就能让机器人上知天文下晓地理。

当用户输入问题后,将其和知识库现有的标准问题进行一一比对,寻找与用户问题最相近的标准问题,然后将该问题组对的答案返回给用户。

Solution-2. 用户问题->答案

知识库中存储的不是问题-答案对,而仅存储答案(文档)。

当接收到用户问题后,直接拿问题去和知识库中的一篇篇文档比对,找到在内容上关联最紧密的那篇,作为答案返回给用户。这种方法维护知识库的成本更小,但相对于Solution-1,准确度更低。

虽然闲聊机器人很萌很可爱,但在现实生活中,更多的场景所需要的还是问题解决型机器人。虽然我们连手机里的Siri都很少启动,但如果能自己开发机器人聊天功能什么的,听起来还是很美妙的...

比如周末在家里“躺尸”无聊的时候,让机器人给你讲个笑话什么的...

说正经的,接下来为大家奉上开发“上手秘籍”

两步教你解锁机器人的花样“聊天技能”

清帆项目 | Rokid语音AI技能创意开发

Rokid是一家强大技术储备的人工智能公司,曾被《乔布斯》杂志评选为2016年度全球最有潜力的50家AI公司之一。Rokid开发者社区与清帆开展深度合作,通过开放社区的自助服务API,开发工具,文档和代码示例,使用Rokid技能工具包,开发者可以通过将自己的技能添加到Rokid,来创造出引人入胜的语音体验。。比如▼

如何解锁

亲测,超容易上手

任务1:创意征集(2017.11.13 — 11.19)

了解Rokid技能开发工具并结合Rokid产品特性,从音乐、有声内容、儿童内容、游戏、娱乐、工具等技能分类中任选一类,发挥创意描述一个技能场景,并提交技能开发创意报告。

任务2:技能开发(2017.11.27 — 12.10)

根据任务1成果描述的场景,使用Rokid开发板(由Rokid提供)进行技能开发,在Rokid开发者社区提交技能,并对开发的技能以视频的形式进行演示。

除了能学会超酷的语音开发技能

你还有机会拿到这些奖励

1. 获赠Rokid开发板

获得项目方认可的前三名技能开发者将各获得一块Rokid开发套件;

2. 与Rokid大Boss的交流机会

Rokid CEO将邀请表现优秀的参与者至Rokid总部面对面沟通交流并为前三名团队颁奖;

3.直播培训

Rokid开发者社区团队将对“如何开发语音技能”进行直播培训;

4.工作机会

项目中表现优秀的参与者将获得Rokid公司实习Offer;

5.项目经历

按要求完成全部任务的参与者,可获得清帆在线项目经历;

☟☟☟

So,要不要来解锁

你的第一次语音AI开发经历呢

↑扫码加入项目↑

项目咨询微信3138932588

— End —


前文部分内容作者:李烨,现就职于微软(Microsoft),曾在易安信(EMC)和太阳微系统(Sun Microsystems)任软件工程师。先后参与聊天机器人、大数据分析平台等项目的开发。微信公众号:yuesiyuedu

戳“阅读原文”,立即加入项目!

有了开发板和平台资源,AI语音技能开发没有想象那么难相关推荐

  1. 阿里云AI语音技能开发训练营第二天

    目录 一.配置语音交互模型 二.配置单轮对话语料 三.配置实体和追问 1.实体是什么? 2. 创建"城市"实体(自定义实体) 3.创建"时间"实体(公共实体) ...

  2. 阿里云AI语音技能开发训练营第三天

    在前两课的基础上,创建两个意图,实现意图间的参数传递,实现一个多意图关联的语音技能,在线测试将对话界面进行截图. 我们实现了一个简单的查询天气的功能,这节课我们来创建一个空气质量查询的意图,并学习一下 ...

  3. 4412开发板UT-Exynos4412三星ARM四核旗舰开发平台android4.0GPS功能

    经过2012年的等待,四核的开发平台终于跟广大嵌入从业人员见面了,下面让我们来看下UT-Exynos 4412 开发板的详细参数吧,共广大嵌入式开发人员参考. 一.UT-Exynos 4412开发板高 ...

  4. 移植Opus音频编解码库到FreeScale iMX6q(飞凌嵌入式的OKMX6Q-C开发板)平台

    移植Opus音频编解码库到FreeScale iMX6q(飞凌嵌入式的OKMX6Q-C开发板)平台 交叉编译器 使用飞凌提供的最新版交叉编译工具链,fsl-imx-x11-glibc-x86_64-m ...

  5. 恩智浦IMX6开发板选哪家?迅为imx6开发板平台运行怎么样?

    iTOP-i.MX6 开发板预装 Android4.4 系统,采用 9.7 寸(或者 7 寸或者 4.3 寸)IPS 屏 幕,至少 5 点以上触控,操作流畅,无论是高清视频.游戏等都会有上佳的表现,实 ...

  6. linux can总线接收数据串口打包上传_使用Zedboard开发板学习Linux的移植及驱动开发...

    本文是昨天发的文章<龙芯杯CPU设计竞赛与ZYNQ设计流程介绍>接续部分.重点介绍传统方式的Linux移植和Xilinx的Petalinux的快速移植开发两种. 部分硬件设计中需要CPU完 ...

  7. android开发板那种好,学嵌入式用哪个开发板好?嵌入式开发板推荐

    学习嵌入式,必不可少的工具就是一块开发板.对新手而言,学嵌入式用哪个开发板好,下面为大家推荐一款比较好的嵌入式开发板. 嵌入式开发板要推荐的是:fs4412开发板,是当前前沿的ARM Cortex-A ...

  8. 分析各家2440开发板的性价比(初学者如何选择开发板)

    分析各家2440开发板的性价比(初学者如何选择开发板) 作者:gooogleman 邮箱:gooogleman@foxmail.com 地址:http://blog.csdn.net/goooglem ...

  9. 详细介绍如何读懂STM32开发板电路原理图以及芯片文档和开发手册,并编写一个测试程序:点亮一个LED灯

    开发环境: 开发板:STM32PZ6806L芯片:ARM_STM32F103_ZE 软件开发环境:KEIL5 开发所需资料: STM32F1XX芯片电路原理图 STM32F1XX系列芯片手册 XX代表 ...

最新文章

  1. 计算机网络体系结构作业题整理-第十章答案
  2. AJAX跨域请访问的问题
  3. python交互界面用图片当背景_wxPython实现窗口用图片做背景
  4. JPA 2.1如何成为新的EJB 2.0
  5. 毕设日志——TensorFlow安装的numpy覆盖?掉了pytorch的numpy
  6. python数据科学课后答案_Python数据科学-技术详解与商业实践-第五讲作业
  7. Python 虚拟环境迁移路径后pip报错解决记录
  8. 2018-2019-1 20165319 《信息安全系统设计基础》第八周学习总结
  9. smale学习之数学表达式(day1)
  10. 产品数据管理(PDM)技术概述
  11. pyqt显示圆形图片
  12. 国内八家域名注册商优缺点比较(转)
  13. 脚本之家去广告JS插件
  14. ups监控软件测试表格,ups检测报告单完整版.docx
  15. 闪马智能+兑观科技|视频智能解析联合实验室揭牌成立
  16. 第三方支付网银支付流程
  17. 【基于Simulink+UG NX MCD 一级倒立摆控制系统仿真】建模和分析(一)
  18. Excel制作热力图
  19. 统计学---数据的误差
  20. String 字符串之截取

热门文章

  1. ceph查看卷_理解 QEMU/KVM 和 Ceph(3):存储卷挂接和设备名称
  2. 如何提高采购效率?采购询价的标准流程
  3. 算法设计手冊(第2版)读书笔记, Springer - The Algorithm Design Manual, 2ed Steven S.Skiena 2008...
  4. 工业机器人中常用到的传感器
  5. 【原创】S7-1500与费斯托电缸CMMP-M3的profinet通讯
  6. Python OpenCV图像运算实战进阶!❤️基本操作+算术运算❤️ 详细分析,1.3万+赶快收藏起来吧~
  7. MySQL数据库的基本使用:
  8. 使用ORACLE OCI V8版本编程,在执行PL/SQL块时,不能同时绑定标量变量和数组变量......
  9. Java实现图片转换PDF文件
  10. 迅雷用“久”了,启动缓慢的解决办法