当你在创建一个聊天机器人时,你的目标应该是使它不需要人工干预。这可以通过两种方法实现。
第一种方法是客户服务团队接受AI的建议来改进客户服务方法。第二种方法包括一个深度学习聊天机器人,它可以自己处理所有的对话,不需要客户服务团队。
这就是聊天的力量,这是Facebook Messenger上的聊天人数增加100k到300k.一年之内。许多热门品牌例如万事达卡也很快就提出了自己的聊天禁令。
但是,在我们进入您的品牌如何利用这样的聊天场所之前,让我们来看看究竟是一个深入学习的聊天吧。
披露:此内容具有一些联盟链接,这意味着如果您点击他们,我将获得佣金(没有任何额外费用给您)。
什么是深入学习聊天?
深入学习的聊天禁止从划线过程中学习一个名为“深度学习”的过程。在此过程中,使用机器学习算法创建Chatbot。深入学习的聊天禁令学会了从其数据和人对话的一切。
图像通过Pinterest
聊天机器人经过训练,在文本上发展自己的意识,你可以教它如何与人交谈。或者,你可以通过电影对话或剧本来教聊天机器人。然而,人与人之间的对话是创造最佳可能的首选方式深度学习聊天机器人.记住,你拥有的数据越多,机器学习的效率就越高。
既然您已经知道了什么是深度学习聊天机器人,那么让我们试着了解如何从头开始构建一个聊天机器人。
你怎么能建立一个深入的学习聊天?
有各种各样的深度学习方法可供选择,但在这篇文章中,我将介绍一种高级的方法。这种方法最大限度地减少了对人力管理的需求,并构建了一个可以理解发送者意图和所需响应的机器人。
想象一下,可以轻松地与客户互动的人性友好的聊天聊天,并帮助您收集领导。
例如,Collect.chat.
使用此Chatbot,您可以以其母语,收集互动问题,收集潜在问题,收集潜在客户,并收集反馈。
最棒的部分是什么?
collect.chat需要0%人类互动。
你准备好制作自己的聊天吧吗?
遵循以下步骤:
1.准备数据
任何机器学习相关过程的第一步都是准备数据。你需要在客户和你的支持人员之间有成千上万的现有互动来训练你的聊天机器人。
这些应尽可能详细和变化,以便您的深度学习聊天有充分的数据点。这个特定的过程称为创建本体。在这个阶段的唯一目标应该是收集尽可能多的互动。
2.数据改变
根据您的数据源,您可能需要也可能不需要这个步骤。如果您的数据没有被很好地隔离,那么您将需要将您的数据重塑为单个的观察行。
这些观察可以称为消息响应对将被添加到分类器中。
这一步的目标是在对话中选择一个说话者作为回应。所有输入的对话都将被用作文本指示符,以帮助预测回应。
在创建消息-响应对时,您可能需要设置一些限制,例如:
- 谈话只能在两个人之间进行。这就清楚地表明了信息是针对谁的。
- 在一分钟内发送的单独信息可以合并成一条信息。
- 要将消息与响应配对,对消息的响应必须在5分钟内完成。
重塑之后,您的消息-响应对可能是这样的:
嘿,怎么了? | 没什么,只是在欣赏雨。 |
今天是一个疲惫的一天。 | 我也一样。真的很忙。 |
一旦积累了这些数据,就需要清理这些数据。
这是什么意思呢?
你需要删除url,图片引用,停止文字等。
图像通过媒介
3.预处理
建立深度学习Chatbot的下一步是预处理。在此步骤中,您需要将语法添加到机器学习中,以便您的Chatbot可以正确地理解拼写错误。
此步骤涉及的过程是对聊天的标记化、词干化和义理化。这使得聊天对深度学习聊天机器人来说是可读的。你可以使用NTLK工具这是免费的。
在预处理的最后一步中,创建聊天的解析树,作为深度学习聊天机器人的参考。
4.选择Chatbot的类型
完成本体和预处理之后,需要选择要创建的聊天机器人的类型。
两个主要Chatbots的类型你可以做的是:
- 生成式——在生成式模型中,聊天机器人不使用任何预定义的存储库。这是一种高级形式的聊天机器人,使用深度学习来回应查询。
- 基于检索——在这种形式中,聊天机器人有一个用于解决查询的响应存储库。您需要根据问题选择一个合适的回答,聊天机器人会遵照执行。
该检索模型完全基于检索数据,很少出错。然而,它有自己的一套局限性,例如它可能看起来太死板,反应可能不像“人类”。
另一方面,深入学习的Chatbot可以轻松地使其风格适应客户的问题和要求。然而,即使是这种类型的聊天甚至无法模仿人类的互动而没有错误。
聊天机器人的生成模型也很难完善,因为这一领域的知识相当有限。事实上,深度学习聊天机器人仍然无法清除图灵测试.
虽然基于检索的聊天机器人在查询简单时非常有用,但复杂查询需要生成式聊天机器人。在聊天机器人需要记录之前的消息中所说内容的情况下,这一点尤其正确。基于检索的聊天机器人只能回答直截了当、容易回答的问题。
5.生成字向量
当你经常使用LOL、LMAO等单词时,就需要单词向量。它们是社交媒体上常用的词汇,但不是很多数据集的一部分。
虽然使用预训练的向量更容易,但是当有其他单词矢量列表中的单词时,需要创建自己的单词向量。
怎么做呢?
要生成您自己的单词向量,可以采用Word2Vec模型的方法。在这个模型中,单词向量是通过观察这些单词在句子中的出现情况来创建的。
那些上下文相似的词将被放在向量空间中更近的地方。您可以使用Python脚本来训练您的Word2Vec模型。或者,您也可以使用TensorFlow Seq2Seq函数。
6.创建SEQ2SEQ模型
要创建Seq2Seq模型,您可以使用TensorFlow。为此,您需要使用如下的Python脚本这里的一个.
您所需要做的就是遵循代码并尝试为您的深度学习聊天机器人开发Python脚本。这个模型最重要的部分是TensorFlow上的embeddding_rnn_seq2seq()函数。
7.跟踪过程
既然您创建了SEQ2SEQ模型,您需要跟踪培训过程。这是一个有趣的部分,你可以看到你的深度学习聊天如何训练。
您应该通过输入字符串在循环中的不同点测试Chatbot。您将获得输出中的非焊盘和非EOS令牌。
最初,大多数回复将是空白的,因为Chatbot只输出填充和EOS令牌。最终,您的Chatbot将开始用诸如lol等小输出字符串的回答,频繁使用。
慢慢地,聊天机器人将开始发展它的反应,并提出更长的和更完整的句子。随着时间的推移,你会发现你的答案会有更好的结构和语法。
8.将其添加到应用程序中
现在您的Seq2Seq模型已经准备好并经过了测试,您需要在一个人们可以与之交互的地方启动它。为了便于解释,我将这一功能限制在Facebook Messenger上,因为这是添加聊天机器人最简单的方法之一。
您需要首先设置Heroku Server。这可以通过下载来完成Heroku Toolbelt..接下来,您需要安装节点,创建一个新文件夹,并启动一个新的Node项目。还需要安装所有额外的Node依赖项。这可以通过以下方式实现:
NPM安装express请求body-parser -save
下一步是创建一个index.js文件,并通过以下方法对bot进行身份验证:
使用严格的
Const express = require(' express')
const bodyParser = require(' body-parser')
Const request = require('请求')
Const app = express()
app.set('port',(process.env.port || 5000))
/ /应用程序/ x-www-form-urlencoded过程
app.use (bodyParser。urlencoded({扩展:假}))
//进程应用/ JSON
app.use(bodyParser.json()))
//索引路线
app.get('/',函数(req,res){
res.send(' Hello world, I am a chat bot')
})
// for facebook验证
app.get('/ webhook /',函数(req,res){
如果(req.query[的中心。Verify_token '] === ' my_voice_is_my_password_verify_me') {
res.send (req.query [' hub.challenge '])
}
res.send(错误,错误的令牌)
})
//旋转服务器
app.listen (app.get(港口)、功能(){
Console.log('在端口上运行',app.get('端口'))
})
创建文件并将其命名为propfile。粘贴以下内容:
网络:节点index.js
在使用Git提交所有代码之后,您可以通过以下方式创建新的Heroku实例:
git init.
git添加。
Git commit -message " hello world "
heroku创建
git推动赫洛卢大师
然后你需要按照我提到的方式设置你的Facebook应用程序在这篇文章中.在那之后,设置你的聊天机器人并自定义它说什么。
想知道怎么做吗?
使用这里的教程.它会帮助你快速包装东西。
9.部署TensorFlow模型
你的Facebook聊天机器人现在准备好了。
你应该接下来怎么办?
您需要将所有内容放在一起并部署TensorFlow模型。使用Flask服务器来部署模型,因为TensorFlow和Node之间没有很多好的接口。
深度学习聊天机器人的Express应用程序与烧瓶服务器交互。
可以找到烧瓶服务器代码这里,可以找到深度学习聊天机器人的index.js文件这里.
10.测试你的深度学习聊天机器人
深度学习聊天机器人的最后一步是对它进行现场测试。
令人兴奋的对吧?
登录Facebook,找到你的页面。你所需要做的就是给你的页面发消息,聊天机器人就会开始回复你的消息。
但是,当服务器需要启动时,Chatbot可能需要一段时间。然后,您可以看出您的深度学习聊天在响应您的消息时的表现。
如果回复不准确或缺乏良好的语法,您可能需要向聊天机器人添加更多数据集。
11.改进方法
与您的深度学习聊天聊天后,您将介绍如何提高其性能。
您可能需要对您的聊天栏需要进行的一些更改?
- 添加更多的数据集,以帮助它从更多的对话中更好地学习。这可以帮助提高它的对话技巧,并帮助它提供更好的各种各样的查询回答。
- 您还需要注意编码器和解码器消息完全不相关的情况。例如,如果你在某一天与聊天机器人进行了对话,然后第二天又开始了另一个完全不相干的话题,那么聊天机器人应该知道。你需要确保你对你的机器人进行了相应的训练。
- 使用双向长短期记忆(LSTMs),水桶和注意机制。
- 您还应该考虑调整您的HyperParameters,例如LSTM层,LSTM单位,培训迭代,优化选择等的数量。
常见问题
Q1。什么是深度学习?
一个。深度学习是一个AI功能,您可以利用以复制人类大脑处理数据的方式,并为更好的决策进行理解。
Q2。如何使用深度学习建立聊天栏?
一个。以下是构建具有深度学习功能的聊天机器人需要采取的步骤:
- 准备数据
- 数据改变
- 预处理
- 选择Chatbot的类型
- 生成词向量
- 创建SEQ2SEQ模型
- 跟踪进展
- 将其添加到您的申请中
- 部署TensorFlow模型
- 测试你的聊天
- 改进它
第三季。什么是最先进的聊天机器人?
一个。世界上最先进的Chatbot是Mitsuku Chatbot。它也是Loebner奖的当前获奖者,它给出了人类的最先进的Chatbot。
第四季度。聊天机器人使用哪种算法?
一个。用于制作Chatbots的主要算法是“多项式天真贝叶斯”算法。它用于文本分类和自然语言处理(NLP)。这两者都是任何AI Chatbot的重要组成部分。
Q5。聊天机器人是人工智能吗?
一个。不,并不是所有的聊天机器人都是人工智能。只有那些使用机器学习(ML)和自然语言处理(NLP)的聊天机器人才是人工智能。其余的比较简单,它们没有理解复杂指令的能力。
Q6。哪个是最好的聊天机器人?
一个。最好的聊天机器人是Mitsuku聊天机器人。这款聊天机器人获得了罗布纳奖,该奖项授予最像人类、最先进的聊天机器人。
迄今为止。TensorFlow是否适合深度学习?
一个。是的,在深入学习框架时,Tensorflow也许是最好的。这是一个用于快速数值计算的开源库。
Q8。聊天吗?
一个。在某种程度上,是的,尤其是涉及到人工智能的聊天机器人。这些聊天机器人能够理解客户提出的问题,并做出相应的回答。然而,他们的知识仅限于他们与人类的互动以及你给他们提供的内容。然而,非人工智能聊天机器人不能思考。
九方。WhatsApp是聊天机器人吗?
一个。不,WhatsApp是一个你可以用来聊天或打电话给同样使用它的人的平台,但它不是聊天机器人。不过,你可以启动WhatsApp聊天机器人,在平台上与客户互动。
Q10。什么是最聪明的聊天?
一个。世界上最聪明的Chatbot是Mitsuku。它在2019年赢得了Loebner奖,是最像料的聊天课程。
准备好开始使用你的深度学习聊天机器人了吗?
深度学习聊天机器人可以从你的对话中学习,并最终提供帮助解决您的客户查询.你的目标应该是尽可能彻底地训练他们以提高他们的准确性。
虽然开发深度学习聊天机器人不像开发基于检索的聊天机器人那么容易,但它可以帮助您实现大多数客户支持需求的自动化。
只需确保您花费足够的时间和精力,请在重塑数据并将其安排到消息响应对中。预处理是开发扎实的深度学习聊天的关键。
在设计这个聊天机器人时,一定程度的Python知识是必要的,您还需要使用TensorFlow、Express和Node。
关于开发一个深度学习聊天机器人,你有什么想要分享的吗?你已经有一个深度学习聊天机器人了吗?请在评论中分享你的想法。
披露:此内容具有一些联盟链接,这意味着如果您点击他们,我将获得佣金(没有任何额外费用给您)。
很好的文章!
嗨,威尔,非常感谢你!:)
好的信息。
你好,达拉斯,谢谢你。我很高兴知道你喜欢阅读我关于深度学习聊天机器人的文章。