热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

任务驱动型议论文800字(优秀的任务驱动型作文)

编辑导读:AppleSiri、天猫精灵等智能对话产品如今越来越多出现在大众视野,也获得了人们的喜爱,其对话系统也引起了人们的注意。本文将围绕任务驱动型人机对话系统,对其设计展开六方


Apple Siri、天猫精灵等智能对话产品现在越来越出现在大众的视野中,得到了人们的喜爱,其对话系统也引起了人们的关注。 本文以任务驱动的人机交互系统为中心,对其设计展开了六个方面的分析,希望对你有所帮助。




近年来,随着NLP技术的进一步发展,越来越多的智能对话产品进入了大众的视野。 在方便我们生活的同时,如Apple Siri、亚马逊Echo、谷歌之家、天猫精灵等,对话系统也逐渐开始受到关注。


本文结合工作实践,对目前主流的对话系统进行了介绍,包括对话系统的组成、设计原理、应用实践及其重要难点。


一、对话机器人类型及应用会话机器人目前根据应用场景和功能功能,主要分为三种类型。 问答机器人、任务机器人、闲谈机器人。


问答游戏; a机器人:问答游戏; a机器人主要依靠强大的知识库,可以对用户的提问给出特定的回答。 要求对回复内容有正确性,但仅限于一问一答的一次对话交流,不支持上下文信息,目前多用于客服领域。


任务机器人:机器人通过多次对话以交互方式满足用户的特定任务需求。 对任务完成度要求较高,其中机器人主要通过对话状态的跟踪、提问、澄清等了解用户意图,然后以回复或调用API的形式完成用户的任务需求。 例如,进行订票、吃饭预约等任务。


闲谈机器人:机器人与用户互动开放,用户没有明确的目的,机器人的回复也没有标准答案。 不要求回复内容的准确性,主要以趣味性和个性化的回复来满足用户的情感需求。


另一方面,在集成式对话机器人中,多为上述交互组合,如上述天猫精灵、百度小度等智能扬声器产品,可以同时满足用户的问答、任务、闲聊等多种需求。


下面,将聚焦任务机器人的中心对话系统的设计进行详细叙述。


二、任务机器人对话系统实现方式任务型交互系统目前主要有两种实现技术。 一种是基于流水线的实现方式,另一种是端到端的实现方式。


2.1 流水线(pipeline)



上图是基于流水线实现的对话系统的典型结构图,也称为规则对话系统。


整个系统有四个核心模块,分别是由NLU、DST、DPL和NLG依次串联组成的一条流水线,各个模块可以独立设计,模块之间合作完成任务型对话。


自然语言理解(NLU ) )主要对人机交互过程中产生的对话进行语义理解; 对话状况跟踪器(DST ) )管理包括历史状态记录和当前状态输出在内的各对话状况; 交互策略(DPL )根据当前交互情况执行的下一个系统响应策略; 将自然语言生成(NLG )对话策略输出的含义转换为自然语言。


2.2 端到端(end-to-end)



端到端(end-to-end )对话系统主要组合了深度学习技术。 是利用数据模型驱动,通过大量数据训练,挖掘用户从自然语言输入到系统自然语言输出的整体映射关系,忽视中间过程的一种方法。


目前,对于整个工业界的应用,端到端方法的灵活性和可扩展性较高,但对数据质量和数量的要求也较高,存在不可控性和不可解释性等问题,因此工业界的对话系统目前多采用基于规则的流水线实现方式。


笔者结合自己的工作实践,重点为大家分析基于规则的对话系统是如何设计和运营的。


三、基于规则的对话系统设计


上图为基于规则的对话系统架构,主要由语音识别(ASR )、自然语言理解) NLU )、对话管理) DM )、自然语言生成) NLG )、语言合成) TTS )五个模块组成。 各模块之间相互合作,共同完成对话任务。


其中,ASR和TTS主要由语音机器人运用,但目前国内的这项技术比较熟练,一般可以直接采用AlibabaCloud (阿里巴巴云)、科大讯飞等供应商的服务。 下面重点对NLU、DM、NLG三个核心模块进行详细分析。


3.1 自然语言理解模块(NLU)

自然语言理解(NLU )模块,主要通过意图识别和插槽识别)信息提取),理解会话中用户语句的含义。


意图识别(Intent Prediction )的目的是理解用户表达的意图,核心其实是处理分类问题,将用户的语言分类为预先定义的意图类别。 目前,主要基于深度学习的方法,利用卷积神经网络(CNN )进行query的特征提取和意图分类,同样的方法也适用于领域的分类。


槽填充(Slot Filling )提取会话中的重要信息,本质上是给文中的词加上语义标签(上图的Slots日期、

地点),具体方法有CRF(条件随机场)、Deep Brief Network(深度信念网络)以及RNN(循环神经网络)等。

NLU的结果(intent和slot)会作为用户状态输入到对话管理模块,应用于对话状态的更新和维护。

3.2 对话管理模块(DM)

对话系统中对话管理(DM)模块由对话状态跟踪器(DST)和对话策略(DPL)构成,此模块就相当于任务型机器人的大脑,是很重要的决策模块。

常见的DM实现方式有多种:基于规则的有限状态机,基于统计的方法,基于神经网络的方法。

几种方法各有利弊,但基于通用性、可控性和数据成本等考量,目前工业应用还是以有限状态机为主流,根据多维状态的组合输出对应策略,规则简单也比较适用于冷启动。

对话状态追踪(DST):每一轮对话中估计用户的目标,常用的状态结构是槽填充(slot filling)或语义框架(semantic frame)。参照上图,对每一轮对话进行状态的记录和更新,主要通过记录历史状态、用户状态(槽位&意图等信息)和系统状态(初始信息&配置信息),来更新当前对话状态。

对话策略学习(DPL):根据当前对话的状态,产生系统下一步执行动作(回答、澄清、动作执行等),对话策略的设计也与任务场景强相关。可以使用监督学习和强化学习的方法,不过目前工业上多采用规则的方法,事先定义好state对应的action。

3.3 自然语言生成模块(NLG)

自然语言生成主要是将策略模块生成的抽象系统动作转化为自然语言形式的浅层表达,输出到用户端。目前有三种方法:基于话术模版、基于知识库检索、基于深度模型。模版与知识库主要是基于规则的策略,深度模型可以用如LSTM,seq2seq等网络生成自然语言。

基于规则的方法虽简单易用,但适应不了更开放的场景,当场景复杂动作较多时,策略规则的制定也会耗费大量的精力。一旦规则确定,回复基本固定,灵活性较差,多样性不足,造成体验感不高。

而好的NLG需具备4个特性:恰当、流畅、易读、灵活,即回复的自然语言不仅要精确表达出策略动作的语义,还要具备一定的“类人性”,让人机对话尽可能靠近人与人之间的对话,这也是后续NLG模块需要持续探索与改良的核心关键点。

四、应用案例

我们以58一个二手车回访真实场景的人机语音交互对话为例,阐述下对话系统各模块间是如何协同运作的。

我们从第四轮对话开始切入:当机器人第一次执行问槽策略时,槽位名称”需求了解“,执行话术“请问新车和二手车是否都在您的考虑范围内?”

4.1 语言理解

此刻当用户回复”只考虑二手车“时,用户的话会做前处理经ASR转译成文本,后将文本输入到语言理解(NLU)模块。

意图识别:NLU模块一般会优先匹配预设QA,若无QA能匹配上,则进入深度意图模型进行意图识别,此刻识别意图为”提供信息“。槽识别:同时进行NLU模块的另一任务”槽识别“,我们也称这一过程为填槽(Slot Filling),本轮“需求了解”的槽值(Slot Value)识别为“二手车”。

4.2 对话管理

对话状态:然后NLU模块的意图和槽位信息作为用户状态输入DM状态模块,状态模块结合系统状态、用户状态、历史状态,更新当前状态:当前匹配QA:“None”;当前意图:“提供信息”;当前槽位名称&槽值:“需求了解”&“二手车”;是否还有需要询问的槽位;对话策略:根据当前对话状态,设计好的策略中系统应执行的下步策略:继续询问“车型了解”槽位,更精准定位用户需求。

4.3 自然语言生成

随后在自然语言合成模块(NLG)根据设定好的策略规则确定输出话术,机器人执行问槽回复“那您最近在关注哪款车呢?我们可以将最新的降价信息推送给您。”

至此,对话系统从用户输入到机器人输出,完成了一轮完整的对话流程。后续就是进行重复的对话流程循环,由此对话持续一轮一轮进行下去,直到机器人任务主动或被动结束。

五、任务型对话机器人难点问题

要想任务型对话机器人在应用中真正表现出色,体验感好,各个模块也都有自己需解决的重难点问题。

如意图模块,如何降低ASR误差带来的影响,解决语言的多样性和歧义性问题,槽位模块中如何提高抽取模型的复用性,解决实体消歧问题。整体上看自然语言处理(NLP)领域,还存在上下文理解、语义推理、场景可移植性等亟需研究突破的问题。

以上基于规则的任务对话系统,虽然简单易用,但其缺点也是显而易见的:对话管理模块中状态策略的定义与规则都高度依赖于人工设计,复杂的场景下状态和策略维度多起来的时候,就会耗费大量的设计与维护成本。同时用户的反馈数据难以传给模型再学习,各模块间的依赖和影响也比较高。

如何在简单任务下,提高DM模块的可复用性,降低机器人生产和更新成本,是快速商业化落地的关键点。目前业内很多公司已自行开发机器人工厂,将机器人生产的各环节模块化、抽样化、流程化、提升其通用性和兼容性,在尽可能多的任务场景下,实现机器人快速复制、设计、生产、上线的能力。

六、结语

对话机器人的能力成长依赖于NLP领域的技术进步,目前更多的应用落地还只是在特定场景下的简单任务。由此,对话机器人未来的发展也必定会倾向于更大的知识体系 ,更强的自然语言理解能力、逻辑推理能力及情绪交互能力,实现Bot进一步的智能化和人性化。

以上内容基于笔者结合学习和工作实践的思考,若有理解不到位之处,还望大家指正,更希望通过这篇文章能与各位多多交流。

本文由 @岑为 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自 Unsplash,基于 CC0 协议


推荐阅读
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • OCR:用字符识别方法将形状翻译成计算机文字的过程Matlab:商业数学软件;CUDA:CUDA™是一种由NVIDIA推 ... [详细]
  • 本文介绍了C++中的引用运算符及其应用。引用运算符是一种将变量定义为另一个变量的引用变量的方式,在改变其中一个变量时,两者均会同步变化。引用变量来源于数学,在计算机语言中用于储存计算结果或表示值抽象概念。变量可以通过变量名访问,在指令式语言中引用变量通常是可变的,但在纯函数式语言中可能是不可变的。本文还介绍了引用变量的示例及验证,以及引用变量在函数形参中的应用。当定义的函数使用引用型形参时,函数调用时形参的改变会同时带来实参的改变。 ... [详细]
author-avatar
喏焿你一辈子_997
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有