![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
聊天机器人
文章平均质量分 74
晚点吧
。。。。点
展开
-
问答机器人代码封装和对外提供接口
代码封装和对外提供接口目标能够完成封装的代码能够使用grpc对外提供接口能够使用supervisord完成服务的管理1. 完成代码的封装代码封装过程中,需要注意,在整个结构中,我们有很多的结算结果是dump到本地的,为了防止后续每次的重复计算。所以laod的结果,应该提前加载到内容,而不是每次调用load义词1.1 完成意图识别代码封装完成判断用户意图的代码,即在使用fasttext的模型,判断用户输入句子的分类import fastTextimport refrom lib im原创 2021-02-21 23:12:16 · 366 阅读 · 0 评论 -
问答机器人排序模型4
问答机器人排序模型目标知道模型中排序中的概念和目的知道模型中排序的实现方法1. 排序模型的介绍前面的课程中为了完成一个问答机器人,我们先进行了召回,相当于是通过海选的方法找到呢大致相似的问题。通过现在的排序模型,我们需要精选出最相似的哪一个问题,返回对应的答案2. 排序模型的实现思路我们需要实现的排序模型是两个输入,即两个问题,输出的是一个相似度。所以和之前的深度学习模型一样,我们需要实现的步骤如下:准备数据构建模型模型评估对外提供接口返回结果2.1 准备数据这里的数据,原创 2021-02-21 23:11:40 · 441 阅读 · 1 评论 -
召回过程优化3
召回过程优化目标知道优化的方法和思路知道BM25方法的原理和实现能够使用word2vector完成优化过程1. 优化思路前面的学习,我们能够返回相似的召回结果,但是,如何让这些结果更加准确呢?我们可以从下面的角度出发:tfidf使用的是词频和整个文档的词语,如果用户问题的某个词语没有出现过,那么此时,计算出来的相似度可能就不准确。该问题的解决思路:对用户输入的问题进行文本的对齐,比如,使用训练好的word2vector,往句子中填充非主语的其他词语的相似词语。例如python 好学原创 2021-02-21 23:10:51 · 396 阅读 · 0 评论 -
问答机器人的召回2
问答机器人的召回目标知道召回的目的能够说出召回的流程能够优化基础的召回逻辑1. 召回的流程流程如下:准备数据,问答对的数据等问题转化为向量计算相似度2. 对现有问答对的准备这里说的问答对,是带有标准答案的问题,后续命中问答对中的问题后,会返回该问题对应的答案为了后续使用方便,我们可以把现有问答对的处理成如下的格式,可以考虑存入数据库或者本地文件:{ "问题1":{ "主体":["主体1","主体3","主体3"..], "问题1分词后原创 2021-02-21 23:10:04 · 340 阅读 · 0 评论 -
问答机器人介绍1
问答机器人介绍目标知道问答机器人是什么知道问答机器人实现的逻辑1. 问答机器人在前面的课程中,我们已经对问答机器人介绍过,这里的问答机器人是我们在分类之后,对特定问题进行回答的一种机器人。至于回答的问题的类型,取决于我们的语料。当前我们需要实现的问答机器人是一个回答编程语言(比如python是什么,python难么等)相关问题的机器人2. 问答机器人的实现逻辑主要实现逻辑:从现有的问答对中,选择出和问题最相似的问题,并且获取其相似度(一个数值),如果相似度大于阈值,则返回这个最相似的问题原创 2021-02-21 23:09:13 · 492 阅读 · 0 评论 -
10 闲聊机器人的优化
闲聊机器人的优化目标知道如何优化模型的效果知道常见的优化手段1. seq2seq中使用teacher forcing在前面的seq2seq的案例中,我们介绍了teacher frocing是什么,当时我们的输入和输出很相似,所以当时我们的teacher forcing是在每个time step中实现的,那么现在我们的输入和输出不同的情况下,该如何使用呢?我们可以在每个batch遍历time step的外层使用teacher forcing代码如下:use_teacher_forcing原创 2021-02-21 23:07:26 · 259 阅读 · 0 评论 -
Attention的原理和实现
Attention的原理和实现目标知道Attention的作用知道Attention的实现机制能够使用代码完成Attention代码的编写1. Attention的介绍在普通的RNN结构中,Encoder需要把一个句子转化为一个向量,然后在Decoder中使用,这就要求Encoder把源句子中所有的信息都包含进去,但是当句子长度过长的时候,这个要求就很难达到,或者说会产生瓶颈(比如,输入一篇文章等场长内容),当然我们可以使用更深的RNN和大多的单元来解决这个问题,但是这样的代价也很大。那么有原创 2021-02-21 12:18:14 · 2741 阅读 · 0 评论 -
Seq2Seq实现闲聊机器人
Seq2Seq实现闲聊机器人目标知道如何处理文本数据知道如何使用seq2seq完成闲聊机器人代码的编写1. 准备训练数据单轮次的聊天数据非常不好获取,所以这里我们从github上使用一些开放的数据集来训练我们的闲聊模型数据地址:https://github.com/codemayq/chaotbot_corpus_Chinese主要的数据有两个:小黄鸡的聊天语料:噪声很大[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FGhJBdLq-16137520原创 2021-02-20 00:28:09 · 363 阅读 · 0 评论 -
Seq2Seq模型的原理
Seq2Seq模型的原理目标知道seq2seq的常见应用场景能够说出常见的seq2seq的结构能够使用代码完成基础的seq2seq的结构1. Seq2Seq的介绍[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dz6UTKNz-1613752014745)(…/images/2.3/seq2seq.png)]Sequence to sequence (seq2seq)是由encoder(编码器)和decoder(解码器)两个RNN的组成的。其中encoder负原创 2021-02-20 00:27:22 · 611 阅读 · 0 评论 -
fastText的原理剖析
fastText的原理剖析目标能够说出fasttext的架构能够说出fasttext速度快的原因能够说出fastText中层次化的softmax是如何实现的1. fastText的模型架构fastText的架构非常简单,有三层:输入层、隐含层、输出层(Hierarchical Softmax)输入层:是对文档embedding之后的向量,包含有N-garm特征隐藏层:是对输入数据的求和平均输出层:是文档对应标签如下图所示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来原创 2021-02-20 00:26:17 · 439 阅读 · 0 评论 -
fastText实现文本分类
fastText实现文本分类目标知道fastext是什么能够应用fasttext进行文本分类能够完成项目中意图识别的代码1. fastText的介绍文档地址:https://fasttext.cc/docs/en/support.htmlfastText is a library for efficient learning of word representations and sentence classification.fastText是一个单词表示学习和文本分类的库优点:在原创 2021-02-20 00:25:19 · 631 阅读 · 1 评论 -
聊天机器人_fasttext_1
分类的目的和分类的方法目标能够说出项目中进行文本的目的能够说出意图识别的方法能够说出常见的分类的方法1. 文本分类的目的回顾之前的流程,我们可以发现文本分类的目的就是为了进行意图识别在当前我们的项目的下,我们只有两种意图需要被识别出来,所以对应的是2分类的问题可以想象,如果我们的聊天机器人有多个功能,那么我们需要分类的类别就有多个,这样就是一个多分类的问题。例如,如果希望聊天机器人能够播报当前的时间,那么我们就需要准备关于询问时间的语料,同时其目标值就是一个新的类别。在训练后,通过这个新原创 2021-02-20 00:24:18 · 154 阅读 · 0 评论 -
5聊天机器人_文本分词
文本分词目标完成停用词的准备完成分词方法的封装1. 准备词典和停用词1.1 准备词典[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-11DpUGBy-1613751653380)(…/images/2.1/词典.png)]1.2 准备停用词stopwords = set([i.strip() for i in open(config.stopwords_path).readlines()])2. 准备按照单个字切分句子的方法def _cut_by_wo原创 2021-02-20 00:21:43 · 175 阅读 · 0 评论 -
4聊天机器人语料准备
语料准备目标准备分词词典准备停用词准备问答对爬虫采集相似问题1. 分词词典最终词典的格式:词语 词性(不要和jieba默认的词性重复)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KqXx1dU4-1613751593466)(…/images/2.1/词典.png)]1.1 词典来源各种输入法的词典例如:https://pinyin.sogou.com/dict/cate/index/97?rf=dictindex例如:https:原创 2021-02-20 00:20:39 · 279 阅读 · 2 评论 -
3聊天机器人 环境准备
环境准备目标能够使用anaconda创建虚拟环境能够安装fasttext能够安装pysparnn1. Anaconda环境准备下载地址:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/下载对应电脑版本软件,安装windows :双击exe文件unix:给sh文件添加可执行权限,执行sh文件添加到环境变量windows安装过程中勾选unix:export PATH="/root/miniconda3/bin:$P原创 2021-02-20 00:19:33 · 159 阅读 · 0 评论 -
2聊天机器人需求分析
需求分析和流程介绍目标能够说出实现聊天机器人的需求能够说出实现聊天机器人的流程1. 需求分析在黑马头条的小智同学板块实现聊天机器人,能够起到智能客服的效果,能够为使用app的用户解决基础的问题,而不用额外的人力。但是由于语料的限制,所以这里使用了编程相关的问题,能够回答类似:python是什么,python有什么优势等问题2. 效果演示[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c2vscfCd-1613751361139)(…\images\2.1\a原创 2021-02-20 00:17:28 · 772 阅读 · 0 评论