https://blog.csdn.net/qq_40027052/article/details/78723576

详细的介绍了对话机器人涉及到的所有知识和技术。

整个对话机器人涉及到的知识点,本人属于自然语言处理的研究方向,所以还要很多需要学习的地方。

在实现一个对话机器人的过程中,常用的一些工具:

  • Jieba: 中文分词和词性标注Python包
  • CoreNLP: 斯坦福的NLP工具(Java)
  • NLTK: 自然语言工具包
  • TextGrocery:高效的短文本分类工具(注:只适用于 Python2)
  • LTP: 哈工大的中文自然语言处理工具
  • Gensim:文本分析工具,包含了多种主题模型
  • Word2vec: 高效的词表示学习工具
  • GloVe:斯坦福的词表示学习工具
  • Fasttext : 高效的词表示学习和句子分类库
  • FuzzyWuzzy: 计算文本之间相似度的工具
  • CRF++: 轻量级条件随机场库(C++)
  • Elasticsearch: 开源搜索引擎

下面介绍几种不同类型的机器人,根据不同的应用场景。

1.对话机器人创建平台

2.检索型单轮对话机器人

检索型单轮机器人(FQA-Bot)涉及到的技术和信息检索类似,流程图如下所示。

因为query和候选答案包含的词都很少,所以会利用同义词和复述等技术对query和候选答案进行扩展和改写。词表示工具Word2vec、GloVe、Fasttext等可以获得每个词的向量表示,然后使用这些词向量计算每对词之间的相似性,获得同义词候选集。当然同义词也可以通过已经存在的结构化知识源如WordNet、HowNet等获得。复述可以使用一些半监督方法如DIRT在单语语料上进行构建,也可以使用双语语料进行构建。PPDB网站包含了很多从双语语料构建出来的复述数据集。

3.知识图谱型机器人

知识图谱型机器人(KG-Bot,也称为问答系统),利用知识图谱进行推理并回答一些事实型问题。知识图谱通常把知识表示成三元组—— (主语、关系、宾语) ,其中关系表示主语和宾语之间存在的某种关系。

构建通用的知识图谱非常困难,不建议从0开始构建。我们可以直接使用一些公开的通用知识图谱,如YAGO、DBpedia、CN-DBpedia、Freebase等。特定领域知识图谱的构建可参考“知识图谱技术原理介绍”( http://suanfazu.com/t/topic/13105),“最全知识图谱综述#1: 概念以及构建技术”( https://mp.weixin.qq.com/s/aFjZ3mKcJGszHKtMcO2zFQ)等文章。知识图谱可以使用图数据库存储,如Neo4j、OrientDB等。当然如果数据量小的话MySQL、SQLite也是不错的选择。

为了把用户query映射到知识图谱的三元组上,通常会使用到实体链接(把query中的实体对应到知识图谱中的实体)、关系抽取(识别query中包含的关系)和知识推理(query可能包含多个而不是单个关系,对应知识图谱中的一条路径,推理就是找出这条路径)等技术。

4.任务多轮对话机器人

任务型多轮机器人(Task-Bot)通过多次与用户对话交互来辅助用户完成某项明确具体的任务,流程图见下图

除了与语音交互的ASR和TTS部分,它包含以下几个流程:

  • 语言理解(SLU):把用户输入的自然语言转变为结构化信息——act-slot-value三元组。例如餐厅订座应用中用户说“订云海肴中关村店”,我们通过NLU把它转化为结构化信息:“inform(order_op=预订, restaurant_name=云海肴, subbranch=中关村店)”,其中的“inform”是动作名称,而括号中的是识别出的槽位及其取值。
    NLU可以使用语义解析或语义标注的方式获得,也可以把它分解为多个分类任务来解决,典型代表是Semantic Tuple Classifier(STC)模型。

  • 对话管理(DM):综合用户当前query和历史对话中已获得的信息后,给出机器答复的结构化表示。对话管理包含两个模块:对话状态追踪(DST)和策略优化(DPO)。
    DST维护对话状态,它依据最新的系统和用户行为,把旧对话状态更新为新对话状态。其中对话状态应该包含持续对话所需要的各种信息。
    DPO根据DST维护的对话状态,确定当前状态下机器人应如何进行答复,也即采取何种策略答复是最优的。这是典型的增强学习问题,所以可以使用DQN等深度增强学习模型进行建模。系统动作和槽位较少时也可以把此问题视为分类问题。

  • 自然语言产生(NLG):把DM输出的结构化对话策略还原成对人友好的自然语言。简单的NLG方法可以是事先设定好的回复模板,复杂的可以使用深度学习生成模型,如“Semantically Conditioned LSTM”通过在LSTM中加入对话动作cell辅助答复生成。
    任务型对话机器人最权威的研究者是剑桥大学的Steve Young教授,强烈推荐他的教程“Statistical Spoken Dialogue Systems”。他的诸多博士生针对上面各个流程都做了很细致的研究,想了解细节的话可以参考他们的博士论文。相关课程可参考Milica Gašić的“Speech and Language Technology”。
    除了把整个问题分解成上面几个流程分别优化,目前很多学者也在探索使用端到端技术整体解决这个问题,代表工作有Tsung-Hsien Wen等人的“A Network-based End-to-End Trainable Task-Oriented Dialogue System”和Xiujun Li等人的“End-to-End Task-Completion Neural Dialogue Systems”。后一篇的开源代码https://github.com/MiuLab/TC-Bot,非常值得学习。

5.闲聊型机器人

真实应用中,用户与系统交互的过程中不免会涉及到闲聊成分。闲聊功能可以让对话机器人更有情感和温度。闲聊机器人(Chitchat-Bot)通常使用机器翻译中的深度学习seq2seq框架来产生答复,如图:

转载于:https://www.cnblogs.com/maowuyu-xb/p/9287132.html

对话机器人---智能客服相关推荐

  1. 干货 | 携程度假智能客服机器人背后是这么玩的

    作者简介 雷蕾,携程度假研发部资深算法工程师,负责智能客服算法工作. 鞠剑勋,携程度假研发部算法经理,负责智能客服.知识图谱.NLP算法等工作. 随着人工智能的发展,人机交互技术愈发成熟,应用场景也越 ...

  2. 智能客服机器人背后是思考与实践

    随着人工智能的发展,人机交互技术愈发成熟,应用场景也越来越多.智能客服是人机交互在客服领域的一个应用,服务于客人以及相关的客服人员.本文将介绍智能客服在旅游场景下的主要技术和应用. 当前度假的智能客服 ...

  3. 证券基金行业那些智能XX——智能客服

    上两篇重点介绍了智能运维.智能投教,本篇讲讲证券基金经营机构的第三个成本中心--智能客服.在行业的众多智能XX中,这三个智能就像三只丑小鸭,最不起眼,最容易被忽视.但作者看来,这三个智能将借助金融科技 ...

  4. 开源版客服代码-在线客服系统源码_网页聊天室源码_龙塘智能客服_znkefu

    拥有功能 1.机器人智能客服 2.人工客服 3.离线消息 4.留言功能 8.统计数据 9.数据加密 10.全渠道接入(网站/H5/公众号/小程序/安卓/苹果APP) 11.对话标签 12.顾客标签 1 ...

  5. 中信银行信用卡中心x阿里云智能客服——智能坐席辅助系统构建实践

    数字经济时代,随着金融机构数字化转型的持续推进,金融机构的客服职能正在逐渐由单一的服务职能转变为服务.营销.销售等一体化职能,仅依靠人工坐席进行服务的传统模式已渐渐难以适应金融机构多元化的客服.营销等 ...

  6. 从智能客服说起,看小i机器人如何用AI赋能产业升级改造|M-TECH AI助力中国智造产业论坛...

    介于小i机器人在资本.产业布局等方面都具备了很大的先发优势,他们目前正在为明年在主板上市做准备. "Siri,帮我搜一下镁客网" "小娜,今天天气如何?" 很多 ...

  7. 智能客服机器人的场景应用及功能有哪些

    对于客服机器人来说,它是将单一.重复.常见的问题,通过知识库.意图识别.多轮对话等AI技术,替代人工解决大部分咨询问题,实现自助服务,帮助企业升级客服体验,提高服务效率,降低人力成本. 智能客服机器人 ...

  8. 智能客服机器人+在线客服,让你的服务不间断

    网购商品问详情问物流,找客服:商品坏了要维修,找客服:发现质量问题要维权,首询客服--在互联网时代,客服成了许多消费者寻求帮助的重要选择,甚至是联系商家的唯一渠道. 客服的重要性不言而喻,想象一下这样 ...

  9. RPA智能客服机器人,电商的好伙伴

    智能客服是在大规模知识处理基础上发展起来的一项面向行业应用的,它是(大规模知识处理技术.自然语言理解技术.知识管理技术.自动问答系统.推理技术等等),具有行业通用性,不仅为企业提供了细粒度知识管理技术 ...

最新文章

  1. “神经+符号”:从知识图谱角度看认知推理的发展
  2. JAVA常见面试题之Error、RuntimeException、CheCkedException
  3. MySQL-MMM架构部署(有图)
  4. CSDN ARIMA R语言_R语言实现Fleiss#39; Kappa系数处理多个观察者一致性检验
  5. false shell 判断_六、Shell流程控制-if判断语句
  6. linux几种方式来弹哥shell
  7. HLSL-高级着色语言简介【转】
  8. WiX安装选项--环境变量
  9. html换行添加前缀,为什么使用css3要加前缀?
  10. mysql权限怎么修改_mysql修改权限
  11. 网络工程师还要学linux吗,网络工程师要学什么
  12. 浅谈前端是否需要精通JS三大框架,vue,angular,react。
  13. DolbyAudio访问杜比音效驱动程序时发生问题,请重新启动计算机或......
  14. 电动自动吞吐式IC卡RFID读写器EMV模块HX150进卡命令
  15. git两个分支代码合并
  16. 基于 O2O 视角的共享经济商业模式分析 ——以 ofo 共享单车为例
  17. SAP MM模块-库存盘点BAPI的使用及注意点
  18. 在视图列中显示文档所有读者和作者
  19. 通用计算机按其规模速度和功能,电脑基础知识详解
  20. MJPEG+PCM合成AVI视频格式文件

热门文章

  1. php从头部添加,php如何向header头添加Authorization信息?
  2. 【论文阅读】Drug Similarity Integration Through Multi-view Graph Auto-Encoders | day4、5
  3. oracle exception 循环,Oracle Exception In Loop
  4. python常用的库_这几个常用的python库你需要知道
  5. linux 运行jar main,Maven打包生成jar包并在linux下启动main方法
  6. java notserializableexception,java.io.NotSerializableException
  7. 毕业后五年拉开差距的原因
  8. 【BZOJ3049】Island Travels,SPFA预处理+状态压缩DP
  9. bzoj4419 [Shoi2013]发微博 差分
  10. [ZJOI2005]沼泽鳄鱼 矩乘dp