作者:Omkar Prabhune
翻译:方星轩校对:王雨桐本文约2800字,建议阅读5分钟
本文作者从聊天机器人的种类、用途以及架构等角度介绍目前的聊天机器人技术,并在文末分享了一些聊天机器人行业的例子。

标签:聊天机器人,神经网络,自然语言处理NLP

本文将详细介绍聊天机器人的类型、它们的开发以及背后原理。

首先让我们先了解一些基础知识。聊天机器人(对话式 AI)是一种自动化程序,可通过文本消息、语音聊天来模拟人类对话。它根据大量输入和自然语言处理 (NLP) 学习如何做到这一点。

今天的聊天机器人在社交媒体、电子商务、客户服务甚至医疗保健的许多行业和公司中都是不可或缺的。一些典型的例子是微软的 Zo、IBM Watson 或 Rasa(一种用于构建商业用途的聊天机器人的工具)。

那就让我们来看看到底是怎么样的吧!

目录

  • 聊天机器人的类型(基于规则、基于意图、开放域)

  • 聊天机器人架构

  • 自然语言处理

  • 行业实例

  • 进一步研究和参考

聊天机器人的类型

  • 基于规则的聊天机器人

基于规则的聊天机器人也称为决策树机器人。顾名思义,它们使用一系列已定义的规则。这些规则是聊天机器人熟悉并可以提供解决方案的问题类型的基础。

就像流程图一样,需要给聊天机器人设置对话框架。他们这样做是为了预测客户可能会问什么,以及聊天机器人应该如何回应。

基于规则的聊天机器人可以使用非常简单或复杂的规则,但是他们无法回答定义规则之外的任何问题。这些聊天机器人不会通过交互来学习。此外,他们只执行和处理被训练的场景。基于规则的聊天机器人有几个好处,例如:

  • 聊天机器人不需要大量训练,这使得实施过程更快、更简单。

  • 通过预先定义结构和答案,您可以更好地控制聊天机器人的行为和响应。

  • 然而它也有有其局限性,它们的一些缺点是:

  • 基于规则的聊天机器人无法捕获拼写错误,这意味着在某些情况下它无法理解客人的意思,这可能会使交流变得无效。

  • 与简单聊天机器人交互的直观感觉就是机器人而不是真人对话。

  • 他们不能自己学习,这意味着任何改进都需要手动进行。

  • 基于意图的聊天机器人

相比之下,使用机器学习的 AI 聊天机器人会在回应之前了解问题的上下文和意图。

AI 聊天机器人是由自然语言处理提供支持的聊天机器人。因此与基于规则的聊天机器人不同,它不会使用关键字来回答,而会尝试了解客人的意图,即客人想要什么。它与客人互动得越多,就越能更好地理解意图,也就越能回答客人的要求。

他们的工作方式是捕捉问题或回应背后的意图。例如,用户会问类似“你好!你好吗?'甚至像'Heyooo'这样的东西。尽管这些差异很大,但机器人将意图捕获为“问候”,因此它会以与该内容相对应的对话进行响应。

  • 开放域聊天机器人

可以说,基于意图聊天的聊天机器人也是基于人工智能的机器人。这些聊天机器人在半智能或完全人工智能支持的算法上运行。基于 GPT-3 构建的机器人就是一个完美的例子,它可以理解上下文并完全自行响应。

这种类型的机器人更适合复杂种类和大规模查询。选择 AI 聊天机器人有几个优势,例如:

  • 它可以理解拼写错误和语法错误,因此这种情况下,它仍然能够回答问题。

  • 它将在没有帮助的情况下不断改进。

  • 与人工智能聊天机器人交谈感觉更自然、更像人类。

尽管人工智能是一项先进技术,但该机器人也有其局限性:

  • AI 聊天机器人经历了一个学习过程,这使得它们的实施过程更加复杂和耗时。

  • 由于不使用预定义的结构,AI 聊天机器人引导的对话不太可预测。

  • 当聊天机器人被错误地教授某些东西时,它需要一段时间才能“忘记”并学习正确的行为。

聊天机器人架构

  • 自然语言处理引擎(NLP Engine)

引擎是核心组件,可以在任何给定时间解释用户所说的话,并将语言转换为系统可以进一步处理的结构化输入。即使聊天机器人是特定于域的,它也需要包含和利用大量信息。而NLP 引擎对此有所帮助。

它包含先进的机器学习算法来识别用户的意图,并进一步将它们与机器人支持的可用意图列表进行匹配。可以理解为有两个组成部分:

意图分类器(Intent Classifier):意图分类器根据用户的输入识别其含义,并将其与聊天机器人支持的意图之一联系起来。

实体提取器(Entity Extractor):实体提取器从用户的查询中提取关键信息。

  • 知识库

这是回答用户问题的关键部分。问答系统解释问题并从知识库中给出相关答案。它可以手动训练或自我训练。

手动训练涉及领域专家创建常见用户查询列表并映射其答案。这有助于机器人快速确定重要问题的答案。

自动化训练涉及将公司的文件(如政策文件和其他问答类型的文件)提交给机器人,并要求其进行自我训练。引擎从这些文档中提供了一系列问题和答案,然后机器人可以自信地回答。

  • 数据存储

数据存储只是针对以前交互的数据,以提供给 NLP 引擎,以便机器人在聊天期间保留一些上下文。这对于记住有关用户的知识以进行进一步交互尤其重要。

  • 自然语言处理

聊天机器人中的自然语言处理找到了一种将用户的语音或文本转换为结构化数据的方法。然后用于选择相关答案。自然语言处理包括以下步骤;

标记化(Tokenization):NLP 将一系列单词分成具有语言代表性的标记或片段,在应用程序中具有不同的值。

  • 情感分析(Sentiment Analysis):它会研究和学习用户的体验,并在必要时将对话转给人类。

  • 规范化(Normalization):该程序模型处理文本以找出符合用户请求和预期含义中的印刷错误和常见拼写错误。

  • 命名实体识别(Named Entity Recognition):聊天机器人的程序模型寻找不同类别的词,类似于特定产品的名称、用户的地址或姓名,以需要的信息为准。

  • 依赖解析(Dependency Parsing):聊天机器人搜索用户文本中的主语、动词、宾语、常用短语和名词,以发现用户想要传达的相关短语。

行业实例

  • 谷歌的Meena(“米娜”音译)

Meena 是一种端到端的神经会话模型,它可以学习对给定的会话上下文做出明智的响应。训练目标是最小化困惑度,即预测不确定的下一个标记(在本例中为对话中的下一个单词)。

其核心是 Evolved Transformer seq2seq 架构,这是一种通过进化神经架构搜索发现的 Transformer 架构,以改善困惑度。在 Google 的 AI 博客中了解更多信息。

更多信息

https://ai.googleblog.com/2020/01/towards-conversational-agent-that-can.html

  • Replika

Replika 由 Eugenia Kuyda 创立,其想法是创建一个私人人工智能,通过提供有用的对话来帮助您表达和记录自己。这是一个您可以安全地分享您的想法、感受、信念、经历、记忆、梦想的空间——您的“私人感知世界”。

从本质上讲,Replika 是一个聊天机器人,在与您交谈时,它会逐渐学会模仿您,直到成为您为止。

  • 微软的 Tay

Tay 是一款人工智能聊天机器人,最初由微软公司于 2016 年 3 月 23 日通过 Twitter 发布;当机器人开始通过其 Twitter 帐户发布煽动性和攻击性的推文时,它引起了争议,导致微软在推出后仅 16 小时就关闭了该服务。从那以后,它被视为关于用户交互如何破坏聊天机器人的研究案例。

参考

在完成本文的过程中,我们参考了以下几个来源。除此之外,如果您对学习或开发聊天机器人感兴趣,我们欢迎您查看 Rasa,这是一个用于开发聊天机器人的流行开源库。在 Medium 上还有 Chatbotslife 杂志!

参考来源:

“Towards a Conversational Agent that Can Chat About…Anything”, Google Research: Brain Team, 2020

“Understanding the Architecture of Conversational Chatbots”, VSoftConsulting Blog, 2019

“The Rise of Social Bots”, Ferrara Emilio, Varol Onur, Davis Clayton, Communications of the ACM, July 2016

“Why Microsoft's ‘Tay' AI bot went wrong”, Hope Reese, Tech Republic, March 2016

原文链接:

https://medium.com/@OverPoweredDev/machine-learning-in-chatbot-development-99a6c011483f

原标题:

Machine Learning in Chatbot Development

编辑:王菁

校对:林亦霖

译者简介

方星轩,美国东北大学数据分析研究生在读,本科毕业于美国莫瑞州立大学商学院。对利用数据来进行市场和企业内的分析有着浓厚的兴趣,对机器学习AI领域充满好奇。喜欢篮球,吉他,旅行,希望能够结交朋友分享故事,拓宽视野,客观的看待世事万物。

翻译组招募信息

工作内容:需要一颗细致的心,将选取好的外文文章翻译成流畅的中文。如果你是数据科学/统计学/计算机类的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友欢迎加入翻译小组。

你能得到:定期的翻译培训提高志愿者的翻译水平,提高对于数据科学前沿的认知,海外的朋友可以和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。

其他福利:来自于名企的数据科学工作者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。

点击文末“阅读原文”加入数据派团队~

转载须知

如需转载,请在开篇显著位置注明作者和出处(转自:数据派ID:DatapiTHU),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。

发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。

点击“阅读原文”拥抱组织

独家 | 聊天机器人开发中的机器学习(附链接)相关推荐

  1. 400 多行代码!超详细 Rasa 中文聊天机器人开发指南 | 原力计划

    作者 | 无名之辈FTER 责编 | 夕颜 出品 | 程序人生(ID:coder_life) 本文翻译自Rasa官方文档,并融合了自己的理解和项目实战,同时对文档中涉及到的技术点进行了一定程度的扩展, ...

  2. Rasa中文聊天机器人开发指南(3):Core篇

    文章目录 1. 对话管理 1.1 多轮对话 1.2 对话管理 2. Rasa Core 2.1 Stories 2.2 Domain 2.3 Responses 2.4 Actions 2.5 Pol ...

  3. Rasa中文聊天机器人开发指南(1):入门篇

    文章目录 1. Rasa简介与安装 1.1 Rasa简介 1.2 Rasa安装(v1.9.4) 1.1 Ubuntu 16.04环境 1.2 Windows10环境 2. Rasa使用--构建简单聊天 ...

  4. 三分钟学会 H5 聊天机器人开发(附源码和在线演示)

    [学习目标] 熟悉和掌握 HTML结构和CSS的相关知识 学会使用HBuilder进行APP打包 熟悉JavaScript的基本用法和jQuery的使用(提前预习) HBuilder 它是一个快速开发 ...

  5. 入选最受关注AI公司的Kitt.AI:多轮对话聊天机器人开发也可以很简单

    移动互联网发展之初,很多习惯了开放.自由的PC网民是充满绝望的,他们把手机上各个App之间无法跳转.内容封闭的情况称为"信息孤岛".这可能是聊天机器人,即chatbot随着人工智能 ...

  6. 独家 | 构建端到端数据科学项目,从我的Data Scientist Ideal Profiles项目中学习(附链接)...

    翻译:张睿毅 校对:吴金笛 本文约1500字,建议阅读5分钟. 本文为你介绍了构建数据科学项目中重要的思维能力及训练建议. Joseph Barrientos 拍照于 Unsplash (链接:htt ...

  7. 独家 | 贝叶斯信念网络初探(附链接)

    作者:Jason Brownlee 翻译:陈超 校对:欧阳锦 本文约3500字,建议阅读8分钟 本文共分为5部分,从概率模型的挑战.概率模型--贝叶斯信念网络.如何建立和使用贝叶斯网络.贝叶斯网络范例 ...

  8. 独家 | 如何手动优化神经网络模型(附链接)

    翻译:陈丹 校对:车前子 本文约5400字,建议阅读15分钟 本文是一个教授如何优化神经网络模型的基础教程,提供了具体的实战代码供读者学习和实践. 标签:神经网络优化 深度学习的神经网络是采用随机梯度 ...

  9. 聊天机器人(chatbot)终极指南:自然语言处理(NLP)和深度机器学习(Deep Machine Learning)

    为了这份爱 在过去的几个月中,我一直在收集自然语言处理(NLP)以及如何将NLP和深度学习(Deep Learning)应用到聊天机器人(Chatbots)方面的最好的资料. 时不时地我会发现一个出色 ...

最新文章

  1. 中国AI企业吸金旺但90%亏损 今年将迎倒闭潮
  2. linux rsync同步 --delete参数 删除目标目录比源目录多余文件
  3. Set the roller speed
  4. Android性能优化 - 消除卡顿
  5. 参考文献_参考文献:
  6. 思考一下http.ListenAndServe + echo+gorm+xorm的可行性?
  7. Python实现二叉搜索树的删除功能
  8. iPhone SE 3共有三款:或将提供全面屏版本
  9. python之tkinter使用-消息弹框
  10. JavaScript包管理器综述
  11. c++ string
  12. python整数缓存机制
  13. JavaScript快速入门
  14. 细雨闲花-2007经典高考作文(绝对经典)
  15. 两个经纬度偏角_[转载]根据两点的经纬度求方位角和距离,等
  16. 苹果7全网通经常显示无服务器,iPhone 7处理器异响查出元凶?英特尔大喊冤枉
  17. 如何快速提升教育直播间人气
  18. JavaWeb酒店管理系统
  19. java课程设计计算器 uml简图,计算器的用例建模
  20. U-Net网络结构详解

热门文章

  1. java url map_java url转map ,map转string
  2. java二维数组矩阵_java使用二维数组开发五子棋
  3. run cuda samples ubuntu_NVIDIA cuDNN v8 deb方法安装教程(Linux/Ubuntu)
  4. 前端每周清单第 50 期: AngularJS and Long Term Support, Web 安全二三论
  5. pl/sql连接数据库
  6. Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
  7. ×××论坛应该为访问者更大的价值
  8. 编写python程序的步骤_编写python程序和运行.py文件的方法步骤
  9. elasticsearch 9300端口连接不上_SpringBoot2.x系列教程54--SpringBoot整合ElasticSearch方式一...
  10. 湖南城市学院c语言试卷题目,英语四级、计算机二级--C语言应该怎样复习?考试有哪些题型?...