不能错过!!最热Python人工智能经典实战项目公开——提供客户服务的AI聊天机器人

本文详细介绍了如何使用Python和深度学习技术,特别是LSTM序列到序列模型,来创建一个在Twitter平台上提供客户服务的聊天机器人。从技术要求到模型训练,再到实际应用,涵盖了聊天机器人的架构、LSTM模型的建立和推特数据的处理,以及训练和推断过程。
摘要由CSDN通过智能技术生成

在现实场景中,很难判断是否需要聊天机器人。但是,可以根据图8-1所示的流程图来做出判断:

图8-1 用户互动模型

本章后面的内容将覆盖如下主题:

·聊天机器人的架构

·用于聊天机器人的LSTM序列到序列模型

·用序列到序列模型建立一个推特(Twitter)聊天机器人

 

1 技术要求

你需要具备Python 3、TensorFlow和Keras的基本知识。

本章的代码文件可以在GitHub上找到:

https://github.com/PacktPublishing/Intelligent-Projects-using-Python/tree/master/Chapter08

2 聊天机器人的架构

聊天机器人的核心是其自然语言处理框架。这个框架对用户提交的输入数据做分词(parsing)、翻译处理后,基于对用户输入数据的理解来给出响应。为了保证给出响应的合理性,聊天机器人也许需要向知识库和历史交易数据库寻求帮助。

因此,聊天机器人可以被粗略地分成两个类别:

·检索模型(Retrieval-based model):一般来说,这类模型依赖于查询表或者知识库,它能从预定义好的一系列回答中选择一个来返回给用户。尽管这种方法显得有些简单,但大多数商业化的聊天机器人都属于这一类。不同模型的差别在于从查询表或者知识库里选择一个最佳答案的算法,其精细程度不同。

·生成模型(Generative model):不同于检索模型,生成模型在模型运行时才生成答案。大多数生成模型为概率模型或者基于机器学习的模型。直到最近,生成模型大多使用马尔科夫链(Markov chain)模型来生成答案。随着深度学习不断成熟,基于循环神经网络的模型流行起来。又由于LSTM的循环神经网络模型能更好地处理长句子,聊天机器人的实现大多使用基于LSTM的生成模型来实现。

检索模型和生成模型都有各自的优缺点。检索模型从固定的答案集中给出答案,无法处理那些没有被事先定义好的问题或者请求。生成模型更加灵活,能理解用户的输入并生成类似人类才会给出的回答。然而,生成模型很难训练,需要更多的数据来学习,而且生成模型给出的回答会存在语法错误的情况,检索模型则不存在这种问题。

3 基于LSTM的序列到序列模型

序列到序列模型的架构很适合用来捕捉用户输入的上下文,并基于此生成合适的响应。图8-2展示了一个能自动回答问题的序列到序列模型的框架图。

图8-2 基于LSTM的序列到序列模型

从图8-2可以看到,编码器LSTM将单词的输入序列编码为一个隐藏状态向量和一个单元状态向量。LSTM编码器最后一步得到的隐藏状态和单元状态向量基本上捕捉了整个输入句子的上下文。

编码之后的信息被送给解码器L

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值