作者:Omkar Prabhune  翻译:方星轩  校对:王雨桐

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

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

首先让我们先了解一些基础知识。聊天机器人(对话式 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 公众号;

END


版权声明:本号内容部分来自互联网,转载请注明原文链接和作者,如有侵权或出处有误请和我们联系。


合作请加QQ:365242293  

数据分析(ID : ecshujufenxi )互联网科技与数据圈自己的微信,也是WeMedia自媒体联盟成员之一,WeMedia联盟覆盖5000万人群。

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

  1. 独家 | 聊天机器人开发中的机器学习(附链接)

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

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

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

  3. 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 ...

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

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

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

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

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

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

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

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

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

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

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

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

  10. python 机器人聊天_使用python构建您的第一个聊天机器人并将其集成到电报中

    python 机器人聊天 Did you know? 你知道吗? "Chatbots can cut operational costs by up to 30%. eCommerce ch ...

最新文章

  1. service不是内部或者外部命令
  2. 电脑home键在哪_如何灵活使用电脑键盘上的各个键
  3. 最全目标检测相关资料整理 (目标检测+数据增强+卷价神经网络+类别不均衡...)
  4. JDK 8的一些新特性
  5. shell的执行顺序问题
  6. 软件测试的定义与分类
  7. Eclipse的两个hibernate plugin
  8. 在Visual Studio 2015中使用Grunt、Bowe
  9. linux系统国产制图软件,国产操作系统也能用的国产图表绘制软件,替代Visio就用它了...
  10. c语言 图书管理系统
  11. Kconfig Kbuild
  12. 福昕pdf编辑器 android,福昕PDF编辑器手机版
  13. ps还原上一步快捷键,ps返回上一步快捷键是什么
  14. 色彩的搭配,象征,以及web标准色
  15. Linux服务器命令
  16. python print()函数控制输出格式
  17. 《持续集成实践指南》第1章 DevOps实践简介
  18. 微信图片怎样在pc 端打开查看并导出
  19. YOLOv6训练时报错解决方法
  20. 30本Python学习参考书,从入门到大师全了!

热门文章

  1. 三级联动(原生js)
  2. 离职,第 10 天,有点心酸。。。
  3. OpenCV绘制朱利亚(Julia)集合图形
  4. 制作字幕(一般方法)
  5. 亚马逊运营实用教程 上线前三个月如何做
  6. linux下查看book文件夹,Linux初级入门百篇-find命令
  7. html的strong标签是什么意思,Strong标签和B标签怎么用?区别有哪些
  8. HTML入门笔记13-HTML中font标签
  9. java继承计算不同图形面积_第五章-子类与继承-实验2(图形面积的和)
  10. lumerical FDTD自学日记