社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

深度学习:智能对话机器人适用场景与技术解析

IT大咖说 • 7 年前 • 965 次点击  

深度学习:智能对话机器人适用场景与技术解析



内容来源:2017 年 9 月 24 日,爱因互动技术合伙人吴金龙在“ArchData技术峰会北京站”进行《深度学习与智能对话机器人》演讲分享。IT 大咖说(微信id:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发布。

阅读字数:2390 | 6分钟阅读

嘉宾演讲视频及PPT回顾:suo.im/4rwwLi

摘要

本次主题将介绍深度学习与对话机器人的结合,通过对不同的对话机器人技术分析,来解析对话机器人的发展趋势以及适用场景。

对话机器人简史

最早期人工智能的提出是在1905的“图灵测试”,之后陆续有关于聊天机器人的尝试,1966年的ELIZA就是其中之一,它采用一种非常简单的关键字匹配模式,再往后到1995年出现了更强一些的ALICE。

从2011、2012年开始国外的众多公司都陆续尝试人工智能方面的研究,Siri、Google Now都是这时诞生的。2015年人工智能进入爆发式增长时期,微软、亚马逊相继涉及这一领域,2016年则是人工智能最火的一年,这一年被称为Bot元年。

目前虽然是聊天机器人的早期阶段,但是整个产业已经相当完善,语音处理、文字处理、个人助理这些人工智能领域都有公司在涉及。

对话机器人未来趋势

个人信息助理,帮助用户管理日程、会议安排、辅助写作。

客服/导购机器人,用户通过与聊天机器人沟通获取需要了解的信息。

泛娱乐/教育聊天机器人,实现陪伴老人,教育小孩之类的功能。

DeepBot对话框架

爱因互动无论是内部还是外部都有很多的聊天机器人产品,为此我们在算法层面上推出了DeepBot对话框架,它实现了针对不同情况使用不同机器人响应,并且每个机器人都采用不同的对应模型的功能。

当机器人接收到问题后会进行分析,分析涉及面包括恶意检测、实体识别、问题分类等等。分析完成后将会通过Route Bot决定是由哪个机器人回答。接下来有一个BotLets,每一个BotLets都有自身能处理的部分,无法处理的部分将会交由其他机器人。当这些机器人处理完问题后,将融合技术判断机器人的回答质量,并决定使用哪个机器人的回答。

问题分析——实体识别

实体识别是用来抽取用户问题中的关键部分,它从早期的序列标注开始,后续又经历了HMM/CRF、LSTM、BiLSTM-CRF这样的发展,可以说是留存相当久的技术了。

Route-Bot——领域/意图检测

Route-Bot比较核心的两个部分是领域以及意图检测。在单轮识别模型中,采用RNN/CNN的方式将语句表达成向量,然后使用DNN进行分类。多轮识别相对比较复杂,不仅要识别用户当前说的话,还要分析当前语言环境。对此我们有一个专用的多轮识别引擎,它的基础模块还是RNN/CNN,用来处理单个语句表达,而上面则多了一层RNN进行信息的汇总。

FAQ-Bot

FAQ中涉及的主要技术是搜索和检索,通常的逻辑是分析问题,然后通过检索模块挑选出候选模块,最后使用匹配模块将候选部分进行排序。

和常规的FAQ不同,我们在FAQ中添加了语义匹配功能,并且可以在问题中带背景,答复中带参数。

Task-Bot

Task-Bot会获取用户与系统的交互中所产生的多种信息,并基于这些信息判断下次系统给出什么样的回应。它的典型系统框架是SLU -> DST -> DPO -> NLG, SLU负责将用户语言翻译成结构化信息,DST追踪用户历史对话信息,DPO根据DST的结果获取当前对话状态,并以此给出答复,NLG将DPO输出的结构化信息转化为自然语言。

Rec-Bot

相比通过GUI进行推荐,采用对话的方式会更有优势,因为这种方式可以让用户去实时修改信息。推荐主要涉及到企业、产品、用户三个方面。我们通过语音机器人所做的推荐,包含线下、近实时、实时三个模块。线下按天进行更新,近实时就是及时的对用户的行为进行反馈。

推荐中最重要的数据是用户与系统的交互数据,协同过滤里用的最多的是用户与产品的交互,再进一步是用户、需求、产品之间的交互,另外还有用户与用户的交互。

本质上来说推荐模型都是用来表征用户和表征产品。表征用户是利用表示学习获取用户相关的各种特征,再把这些表示结果用于预测用户的短期需求和长期需求。每个产品包含的服务及价格等基本信息,可以刻画此产品;而用户对产品的购买等行为数据,也可以隐性刻画此产品,这就是表征产品。

目前的推荐系统中采用的最多的是融合,它兴起于Netflix Prize竞赛。常用的组合方式有预测值组合,组合多个算法的预测值;特征扩充,一个算法的输出作为另一个算法的输入特征;切换,不同算法间相互切换。

推荐除开要求准确的之外还有其他的指标,比如覆盖面、多样性、新颖性、惊奇性等。

Chitchat-Bot

Chitchat-Bot使用了检索加生成式的技术结合,检索可以保证可靠性,允许用户添加qa对,秒级生效。生成式则保证100%召回,可以回答任何问题,降低知识库维护门槛。

为了解决Chitchat-Bot的一些常见问题,我们在Chitchat-Bot中使用了CoverAge机制保证生成式语句不重复,还使用了copy机制保证稀有词的产生,并且采用MMI提升生成结果的多样性。

实践经验

CUI/GUI

从效率上来看GUI更适合去做广度的信息展示,CUI则适合深度信息展示。从感受上来说GUI的空间感更强,CUI的时间感更突出。基于以上两点我们认为CUI去做推荐或者个性化的需求更加合适。

需要注意的是CUI本身并不会带来直接的价值,而是通过作为用户交互的入口这一媒介实现间接的价值。

对话的商业原则

- 用户价值:能通过对话高效解决问题

- 稀缺性:成为细分领域的关键业务环节

- 技术成熟度:选择合适的技术

对话商用场景

- 清晰的知识结构和边界

- 非标准化服务,信息不对称

- 能够通过数据积累提升服务质量

- 能够建立知识和技术壁垒




今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/Ci5kIEQnHp
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/13744
 
965 次点击