一、对话机器人概述

1、相关技术路线

(1)基于模板的对话机器人

基于模板的对话机器人是通过人工设定对话场景,并对每个应用场景编写一些有针对性的对话模板。基于模板的优点是准确度高,缺点是需要大量的人工工作,而且可扩展性差,随着产品的复杂度越来越高,可能带来的后续工作也会越来越多。

(2)基于检索技术的对话机器人

将对话语料数据处理好,然后存储,并建立索引(例如,倒排索引),将用户问句当作查询语句,在对话库中进行检索,直到找最合适的应答内容为止。

(3)基于深度学习的对话机器人

基于深度学习的聊天机器人是本章后续实例中所采用的方法,大多都是基于RNN模型Seq2Seq(Encoder Decoder)在深度学习模型下进行开发与拓展。使用深度学习技术来开发聊天机器人相对简单并且扩展性较强。

基于深度学习的对话机器人中除了基本的对话功能之外,还可以通过其他技术扩展其会“听”、会“说”等高级的功能。

二、深度学习对话机器人原理

大多数基于深度学习的对话机器人都采用Seq2Seq或其扩展的框架。

Encoder-Decoder框架可以看作是一种文本处理领域的研究模式,应用场景很广,不仅可以用在对话机器人领域,还可以应用在机器翻译等各种场合。下图是文本处理领域里常用的Encoder-Decoder框架的一种表示示例。

Seq2Seq Encoder-Decoder模型

其中左侧的方块是Encoder Cell,右侧的方块是Decoder Cell,可以用LSTM或GRU来实现。Encoder Cell的最后一个时刻的状态的输出语义向量为c,它将作为Decoder Cell的初始状态。然后在Decoder Cell中,每个时刻的输出都将会作为下一个时刻的输入。以此类推,直到Decoder Cell遇到句子结束符号<END>结束为止。

Seq2Seq框架的输入和输出分别为问句和回答,如下图所示。适合处理由一个句子生成另外一个句子的通用处理框架。

Seq2Seq Encoder-Decoder抽象模型

三、构建对话机器人

1、Microsoft Bot Framework

Microsoft Bot Framework 提供了构建和连接智能机器人所需的东西,无论用户在哪里交谈,从文本/短信到 Skype、Slack、Office 365 邮件和其他流行服务,都可以自然交互。

机器人是用户与服务或应用程序交互的重要方式,与网站或移动体验一样重要。 编写机器人的开发人员都面临着同样的问题:机器人需要基本的 I/O; 他们必须具备语言和对话技巧; 他们必须连接到用户

Bot Framework 为开发人员提供了轻松解决这些问题的工具以及更多功能,例如自动翻译到 30 多种语言、用户和对话状态管理、调试工具、可嵌入的网络聊天控件以及用户发现、尝试和添加的方式 机器人到他们喜欢的对话体验。

Bot Framework 有许多组件,包括 Bot Connector、Bot Builder SDK 和 Bot Directory。

2、构建对话机器人

下面的网址试图重现A Neural Conversational Model(又名 Google 聊天机器人)的结果。它使用 RNN(seq2seq 模型)进行句子预测。它是使用 python 和 TensorFlow 完成的。

GitHub - Conchylicultor/DeepQA: My tensorflow implementation of "A neural conversational model", a Deep learning based chatbothttps://github.com/Conchylicultor/DeepQA

按其说明进行环境设置、训练、运行web界面如下。

将输入序列大幅减少到 5 个单词,输出减少到 3 个(加上 go 和 eos 标记),并使用一个小的嵌入大小(大约 25),只需 1 或 2 小时的训练就可以获得一些结果,但是模型不会特别健谈。

如果遇到punkt下载不下来,可以手动下载,然后解压放到下面文件夹内

C:\Users\xxxxxx\AppData\Roaming\nltk_data\tokenizers

punkt.zip下载地址

nltk_data/packages/tokenizers at gh-pages · nltk/nltk_data · GitHubhttps://github.com/nltk/nltk_data/tree/gh-pages/packages/tokenizers

相关参考网址
GitHub - microsoft/botframework-sdk: Bot Framework provides the most comprehensive experience for building conversation applications.https://github.com/microsoft/botframework-sdk

Microsoft Bot Framework - microsoftbotframeworkhttps://microsoftbotframework.readthedocs.io/en/latest/

机器学习笔记 - 深度学习、对话机器人、微软机器人框架相关推荐

  1. 机器学习笔记——深度学习入门篇

    前向传播与反向传播 转载于:https://www.cnblogs.com/hdu-cpd/p/5988606.html

  2. Intel提供的面向机器学习和深度学习的优化工具和框架

    英特尔数学核心函数库 https://software.intel.com/zh-cn/intel-mkl 英特尔面向深度神经网络的数学核心函数库 https://github.com/01org/m ...

  3. 人工智能-概述:数据分析---->人工智能【机器学习----->深度学习】

    一.人工智能-简介 人工智能在现实生活中的应用 人工智能发展必备三要素 人工智能和机器学习.深度学习三者之间的关系 BI(数据分析.数据挖掘): Excel: 超级Excel(SPSS.SAS): M ...

  4. Github开源!适合初学者的机器学习和深度学习的资料合集

    最近逛 GitHub,发现了一个非常不错的 AI 资料,兼顾理论和实战,非常不错! 首先放上该资源的 GitHub 地址: https://github.com/ben1234560/AiLearni ...

  5. Python大数据综合应用 :零基础入门机器学习、深度学习算法原理与案例

    机器学习.深度学习算法原理与案例实现暨Python大数据综合应用高级研修班 一.课程简介 课程强调动手操作:内容以代码落地为主,以理论讲解为根,以公式推导为辅.共4天8节,讲解机器学习和深度学习的模型 ...

  6. 深度学习之智能问答机器人实战

    深度学习之智能问答机器人实战 class1 对话类型 基于知识库问答 录入问题和答案 设计标准问题的相似问题 使用搜索和排序,根据相似度返回结果 基于规则脚本 以一定的语法定义规则 常用正则表达式等约 ...

  7. 手机上的机器学习资源!Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现!...

    吴恩达机器学习.深度学习,李航老师<统计学习方法>.CS229数学基础等,可以说是机器学习入门的宝典.本文推荐一个网站"机器学习初学者",把以上资源的笔记.代码实现做成 ...

  8. 下载量过百万的吴恩达机器学习和深度学习笔记更新了!(附PDF下载)

    今天,我把吴恩达机器学习和深度学习课程笔记都更新了,并提供下载,这两本笔记非常适合机器学习和深度学习入门.(作者:黄海广) 0.导语 我和同学将吴恩达老师机器学习和深度学习课程笔记做成了打印版,放在g ...

  9. 吴恩达老师的机器学习和深度学习课程笔记打印版

    注意:下载笔记.视频.代码:请点击"阅读原文" 我和同学将吴恩达老师机器学习和深度学习课程笔记做成了打印版,放在github上,下载后可以打印. 公布了深度学习笔记的word和ma ...

最新文章

  1. JS~字符串长度判断,超出进行自动截取(支持中文)
  2. SAP Commerce Cloud(原Hybris)和SAP Cloud for Customer(C4C)的SQL trace工具
  3. C语言 文件读写 fputs 函数 - C语言零基础入门教程
  4. php判断值是否为空然后定义,判断php变量是不是定义,是否为空
  5. jQuery 和 YUI (Yahoo User Interface) 各自的优缺点有哪些?具体的使用场景是怎样的?...
  6. base64转file图片上传
  7. 【Flink】数据传输 挖个坑 把自己埋了 ClassCastException String cannot be cast to [LJava.lang.String
  8. linux静态和动态路由英文,静态路由和动态路由的特点
  9. 怎样把Linux的私钥文件id_rsa转换成putty的ppk格式
  10. TortoiseSVN文件夹操作
  11. 假疫苗事件,错在企业,责任在管理部门
  12. Spring Cloud Stream 简单使用
  13. php留言系统源码,XYCMS php留言板 v8.0
  14. 小哥哥教你100%安装Win10专业版永久激活版(全网独一无二)
  15. Microsoft软件保护平台服务一直占用大量CPU资源
  16. 个性测试:跟乐嘉学性格色彩(图)
  17. 快速处理-小程序/uniapp,showToast没有效果
  18. 中国移动大数据推进“精准扶贫”
  19. linux之mmc子系统
  20. 预警神器来了,天翼大喇叭发出河道防汛强音

热门文章

  1. [NPUCTF2020]共 模 攻 击
  2. FreeMarker入门 生成xml模板
  3. 桌面壁纸被计算机管理员禁用,win7/win8/8.1系统更换桌面背景壁纸时出现“此功能已被禁用”的解决办法-系统操作与应用 -亦是美网络...
  4. jenkins启动报错 Job for jenkins.service failed because the control process exited with error code.
  5. 无字天书之Python第十三页(生成器基础)
  6. css margin属性 auto,css中margin:auto属性的使用方法
  7. 转:媒体评出美国薪酬最高25家科技公司:思科居首
  8. img格式图片怎么转JPG?图片格式转换方法分享
  9. 阿里程序员:加班晚归被女友锁在门外,网友:程序员要什么女朋友
  10. SetCapture ReleaseCapture