社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

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

数据分析 • 2 年前 • 351 次点击  
作者: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万人群。


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/122419
 
351 次点击