Chatbot(五)

一、走进聊天机器人

目标

  1. 知道常见的bot的分类
  2. 知道企业中常见的流程和方法

1.1 目前企业中的常见的聊天机器人

  1. QA BOT (问答机器人) : 回答问题
    1.代表:智能名服
    2.比如: 提问和回答
  2. TASK BOT(任务机器人): 助人们做事情
    1.代表: siri
    2.比如:设五明天早上9点的闹钟
  3. CHAT BOT(聊天机器人): 通用、开放聊天
    1.代表:微软小冰

1.2 常见的聊天机器人怎么实现的

1.2.1 问答机器人的常见实现手段

  1. 信息检素、搜素(简单,效果一般,对数据问答对的要求高)关键词: tfidf、SVM、朴素贝叶斯、RNN、CNN
  2. 知识图谱(相对复杂,效果好,很多论文)在图形数据库中存储知识和知识间的关系、把问答转化为查询语句、能够实现推理

1.2.2 任务机器人的常见实现思路

  1. 语音转文字
  2. 意图识别、领域识别、文本分类
  3. 槽位填充:比如买机票的机器人 使用命令体识形填充 从{位置}到{位置}的票2个位置的
  4. 回话管理、回话策略
  5. 自然语言生成
  6. 文本转语音

1.2.3 闲聊机器人的常见实现思路

  1. 信息检素《简单、能够回答的话术有限)
  2. seq2seg 和变种(答案覆盖率高,但是不能保证答案的通顺等)

1.3 企业中的聊天机器人是如何实现的

1.3.1 阿里小蜜-电商智能助理是如何实现的

参考地址: https://juejin.im/entry/59e96f946fb9a04510499c7f

1.3.1.1 主要交互过程

在这里插入图片描述
从图可以看出:

  1. 输入:语音转化为文本,进行理解之后根据上下文得到语义的表示
  2. 输出:根据语义的表是和生成方法得到文本,再把文本转化为语音输出

1.3.1.2 技术架构

在这里插入图片描述
可以看出其流程为:

  1. 判断用户意图
  2. 如果意图为面向目标:可能是问答型或者是任务型
  3. 如果非面向目标:可能是语聊型

1.3.1.3 检索模型流程(小蜜还用了其他的模型,这里以此为例)

在这里插入图片描述
通过上图可知,小童的检索式回答的流程大致为:

  1. 对问题进行处理
  2. 根据问题进行召回,使用了提前准备的结构化的语料和训练的模型
  3. 对召回的结果进行组长和日志记录
  4. 对召回的结果进行相似度计算,情感分析和属性识别
  5. 返回组装的结果

1.3.2 58同城智能客服帮帮如何实现的

参考地址:http://www.6aiq.com/article/1536149308075?p=1&m=0

1.3.2.1 客服体系

在这里插入图片描述

1.3.2.2 智能客服整体架构

在这里插入图片描述
整体来看,58的客服架构分为三个部分

  1. 基础服务,实现基础的NLP的功能和意图识别
  2. 应用对话部分实现不同意图的模型,同时包括编相运营等内容
  3. 提供对外的接口

1.3.2.3 业务咨询服务流程

大数据流程
在这里插入图片描述
KB-bot的流程大致为:

  1. 对问题进行基础处理
  2. 对答案通过tfidf等方法进行召回
  3. 对答案通过规则深度神经网络等方法进行重排序
  4. 返回答案排序列表
    使用融合的模型
    在这里插入图片描述
    在问答模型的深度网络模型中使用了多套模型进行融合来获取结果
  5. 在模型层应用了 FastText、TextCNN 和 Bi-LSTM 等模型
  6. 在特征层尝试使用了单字、词、词性、词语属性等多种特征
    通过以上两个模型来组合获取相似的问题,返回相似问题ID对应的答案

1.3.2.4 58的闲聊机器人

在这里插入图片描述
58同城的闲聊机器人使用三种方法包括

  1. 基于模板匹配的方法
  2. 基于搜索的方式获(上上图)
  3. 使用seq2seq的神经网络来实现

1.3.2.5 解决不了转人工服务

在这里插入图片描述

二、需求分析和流程介绍

目标

  1. 能够说出实现聊天机器人的需求
  2. 能够说出实现聊天机器人的流程

2.1需求分析

在黑马头条的小智同学板块实现聊天机器人,能够起到智能客服的效果,能够为使用app的用户解决基础的问题,而不用额外的人力。
但是由于语料的限制,所以这里使用了编程相关的问题,能够回答类似: python是什么,python有什么优势等问题

2.2 效果演示

在这里插入图片描述

2.3 实现流程

2.3.1 整体架构

在这里插入图片描述
整个流程的描述如下

  1. 接受用户的问题之后,对问题进行基础的处理
  2. 对处理后的问题进行分类,判断其意图
  3. 如果用户希望闲聊,那么调用闲聊模型返回结果
  4. 如果用户希望咨询问题,那么调用问答模型返回结果

2.3.2 闲聊模型

闲聊模型使用了seq2seq模型实现
包含:

  1. 对数据的embedding
  2. 码层
  3. attention机制的处理
  4. 解码层
    在这里插入图片描述

2.3.3 问答模型

问答模型使用了召回和排序的机制来实现,保证获取的速度的同时保证了准确率

  1. 问题分析:对问题进行基础的处理,包括分词,词性的获取,词向量的获取
  2. 问题的召回:通过机器学习的方法进行海选,海选出大致满足要求的相似问题的前K个
  3. 问题的排序: 通过深度学习的模型对问题计算准确率,进行排序
  4. 设置阈值,返回结果
    在这里插入图片描述

三、环境准备

目标

  1. 能够使用anaconda创建虚拟环境
  2. 能够安装fasttext
  3. 能够安装pysparnn

3.1 Anaconda环境准备

  1. 下载地址: https://mirror.tuna.tsinghua.edu.cn/hep/anaconda/
  2. 下对应电脑版本软件,安装
    1.windows: 双击exe文件
    2.unix:给sh文件添加可执行权限,执行sh文件
  3. 添加到环境变量
    1.windows安装过程中勾选
    2.unix: export PATH=“/root/miniconda3/bin: $SPATH”
  4. 创建虚拟环境
    1.conda create -n 名字 python=3.6(版本)
    2.查看所有虚拟环境: conda env list
  5. 切换到虚拟环境
    1.conda activate 名字
  6. 退出虚拟环境
    1.conda deactivate 名字

3.2 fasttext安装

文档地址: https://fasttext.cc/docs/en/support.html
安装步骤:
1.下载 git clone https://github.com/facebookresearch/fastText.git
2. cd cd fastText
3. 编译 make
4. 安装 python setup.py install

3.3 pysparnn安装

文档地址: https://github.com/facebookresearch/pysparnn
安装步骤:
1.下载: git clone https 😕/github .com/facebookresearch/pysparnn.git
2.安装: python setupy.py install

四、语料准备

目标

  1. 准备分词词典
  2. 准备停用词
  3. 准备问答对
  4. 爬虫采集相似问题

4.1 分词词典

在这里插入图片描述

4.1.1 词典来源

  1. 各种输入法的词典
    例: https://pinyin.sogou.com/dict/cate/index/97?rf=dictindex
    例: https://shurufa.baidu.com/dict_list?cid=211
  2. 手动收集,根据目前的需求,我们可以手动收集如下词典
    1.机构名称,例如: 传智 , 传智播客,黑马程序员
    2.课程名词,例如: python,人工智能+python ,c++等

4.1.2词典处理

输入法的词典都是特殊格式,需要使用特殊的工具才能够把它转化为文本格式
工具名称:深蓝词库转换.exe
下载地址:https://github.com/studyzy/imewiconverter

4.1.3 对多个词典文件内容进行合并

下载使用不同平台的多个词典之后,把所有的xt文件合并到一起供之后使用

4.2 准备停用词

4.2.1 什么是停用词?

对句子进行分词之后,句子中不重要的词

4.2.2 停用词的准备

常用停用词下载地址: https://github.com/goto456/stopwords

4.2.3 手动筛选和合并

对于停用词的具体内容,不同场景下可能需要保留和去除的词语不一样比如: 词语哪个,很多场景可以删除,但是在判断语义的时候则不行

4.3 问答对的准备

4.3.1 现有问答对的样式

问答对有两部分,一部分是咨询老师整理的问答对,一部分是excel中的问答对,
最终我们需要把问答对分别整理到两个txt文档中,如下图(左边是问题,右边是答案):在这里插入图片描述在这里插入图片描述

4.3.2 excel中问答对的处理

Excel中的问答对直接使用pandas就能够处理
在这里插入图片描述

五、文本分词

目标

  1. 完成停用词的准备
  2. 完成分词方法的封装

5.1 准备词典和停用词

5.1.1 准备词典

在这里插入图片描述

5.1.2 准备停用词

在这里插入图片描述

5.2 准备按照单个字切分句子的方法

在这里插入图片描述

5.3 完成分词方法的封装

lib 下创建cut_sentencepy文件,完成分词方法的构建
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、动手练习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/19663.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT是什么?为何会引爆国内算力需求?

过去十年中,通过“深度学习大算力”从而获得训练模型是实现人工智能的主流技术途径。由于深度学习、数据和算力这三个要素都已具备,全世界掀起了“大炼模型”的热潮,也催生了大批人工智能企业。 大模型是人工智能的发展趋势和未来 大模型&…

ChatGPT带你轻松入门嵌入式,实现51、STM32、Arduino、树莓派、Linux各种点灯程序...

关注星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | strongerHuang 最近两个月什么最火?我想 ChatGPT 必定算其中一个。 这东西能有多火?我之前一直以为只有在互联网等技术领域比较火,直到前不久,我们当…

OpenAI带微软市值飞升2.6万亿美元!外媒却爆两家内斗,关系微妙

来源:新智元 这轮AI热潮,简直让微软赚翻了! 就在今天,微软凭借着近2.6万亿美元的市值,成功创下了历史新高。 因为市场对AI前景的乐观情绪,本周四收盘时,微软股价达到了创纪录的水平 2021年&…

【NVIDIA】一口气了解英伟达,芯片新王凭什么是他?

英伟达公司 前言显卡市场英特尔与英伟达市场占有率比较挑战英伟达垄断地位和硬件软件融合显卡在人工智能领域的应用 转变发生的背景神经网络和英伟达显卡的关键作用人工智能领域共识英伟达核心技术覆盖的领域算力租赁服务AI云业务硬件与软件服务中国市场业务划分成长与股价 芯片…

AI助力 —— 软件开发、学习、生活

本人有幸在明明如月学长的指导下参加 AI 助力软件开发的活动,感谢明明如月学长的指导!!! 明明如月学长:CSDN的博客专家以及蚂蚁集团Java 高级工程师,大家可以去慕课网搜索解锁大厂思维:剖析《阿…

PingCAP 唐刘:一个咨询顾问对 TiDB Chat2Query Demo 提出的脑洞

导读 近日,TiDB Cloud 发布了 Chat2Query 功能,在 TiDB Cloud 上通过自然语言提问,即可生成相应的 SQL,通过 TiDB Cloud 对上传的任意数据集进行分析。Gartner 也在一份有关 ChatGPT 对数据分析影响研究的报告中提及了 PingCAP 的…

双标马斯克,扬言起诉微软,打不过就威胁

兴许是两日前马斯克的“地球第一大”超级火箭“星舰”发射遇到接二连三的问题,马老板窝了一肚子火,在推特骂人。 这不,OpenAI 刚刚撕了半截,马斯克又跟 OpenAI 身后的大股东微软杠上了。马老板直接在推特上飙狠话——我要告微软&a…

【AI面试】目标检测中one-stage、two-stage算法的内容和优缺点对比汇总

在深度学习领域中,图像分类,目标检测和目标分割是三个相对来说较为基础的任务了。再加上图像生成(GAN,VAE,扩散模型),keypoints关键点检测等等,基本上涵盖了图像领域大部分场景了。 …

Python入门数据分析资料笔记-自用(纯小白入门级)

1.软件和环境安装 (1)Anaconda安装(装Anaconda的话,就不用再单独装Python了,方便小白) ① 下载与安装 参考(建议非C盘安装) 史上最全最详细的Anaconda安装教程_OSurer的博客-CSDN博客_anaco…

python中\t无法对齐问题原理解释(自用)

敲了很多字母当例子,首先要知道一个\t占4位,如果前面的字符位数不够4位就补到4位,刚好够4位就多加一个\t,这个用图表解释最清晰 字符最好不要太多,太多了,会冲出当前\t,到下一个\t了,暂时没找到…

最新商业版ChatGPT源码V4.7.1+用户付费+支付系统+AI绘画+卡密系统+推广系统

AI付费创作系统: 程序完美运行无BUG,独家开发,支持6种会员开通模式,有:"购买提问次数"或者"开通月付会员"套餐等等 套餐次数和价格可以自定义在后台进行修改 支付直接对接易支付或码支付就可以了,每个IP均…

EPLAN中如何画屏蔽双绞线

如何在EPLAN中画出如下的双绞屏蔽电缆 先画两条导线 选择对角连接线 画出双绞线 选择屏蔽 为了让屏蔽线的连接点在右边,从双绞线右边的中间点开始向左画出入图所示的屏蔽线。如果希望屏蔽线的连接点在左边,则从左边开始往右边画。这样屏蔽线的连接点…

html禁止查看图片,强看被屏蔽微信朋友圈

微信朋友圈被屏蔽了和没发朋友圈的区别是什么 区别主要从朋友圈的个人资料里是否存在个人相册这一选项: 1,朋友圈被屏蔽了是这样的(有”个人相册“但看不见照片): 2,没发朋友圈是这样的(没有“个人相册”这一栏): 扩展…

屏蔽图片的chrome插件

有时候觉得CSDN博客的广告好烦啊,还有有些看小说的网站,于是找了个屏蔽图片的插件。 效果如图: 之前博客的广告 之后: CSDN的广告有字,所以不会完全不显示,但是有很多小说网站都可以直接全部屏蔽掉…

MiniGPT-4 笔记

目录 简介 实现方法 效果及局限 参考资料 简介 MiniGPT-4 是前段时间由KAUST(沙特阿卜杜拉国王科技大学)开源的多模态大模型,去网站上体验了一下功能,把论文粗略的看了一遍,也做个记录。 论文摘要翻译&#xff1…

MOOC_AI | C01人工智能概述

00 | 写在前面 大多数课程的第一课,都会对课程内容做一个基本的介绍,其核心离不开三个方面:为什么学?学什么?怎么学?根据不同老师教学风格,可能会补充介绍发展态势,引出未来挑战与期…

普通人如何不被AI取代

今天试了试 OpenAI 的一些功能,通过主题来记录一下使用场景,发现了不少他强于普通人的地方,那么我们怎么在认知和能力方面不被他取代呢? 经验能力强于普通人 首先这两天最火的是 ChatGPT ,这个能力很适合我这种不太会…

红酒炖电线、西红柿炒冰箱,AI人工智能做菜哪家强?结果很意外

2023年人工智能大模型大爆发,短短两个多月国内外就有大量AI大模型涌现,国外的有ChatGPT、Claude、Bard、New Bing,国内的有文心一言、通义千问、天工、紫东太初、星火、360慧脑、序列猴子等,他们都有一个共同特点,就是…

OpenAI 强大吗?能干嘛?

今天试了试OpenAI的一些功能,通过主题来记录一下使用场景,发现了不少它强于普通人的地方,那么我们怎么在认知和能力方面不被他取代呢?一定要看到文末(狗头) 经验能力强于普通人 首先这两天最火的是 ChatG…