语音助手——整体架构和设计
这一章我们一起来看一下语音助手的整体架构和设计。
一般来讲,一个比较完善的语音助手可以分为:中控部分 + BOT部分,对于一个BOT而言,其实质是一个可以独立运行的服务,包含自己的中控,其内部自成一个小周天,而中控的存在则是处理一些对于各个BOT而言公共的处理,以及各个BOT的分发、排序等功能。如下图:
其中蓝色部分,即为各个BOT,针对系统类型不同,BOT内部的设计也各不相同,比较典型的三个BOT:闲聊BOT、任务BOT、问答BOT,至于各个BOT内部的设计,我们后面章节再详细说。这里我们主要讲解中控系统的设计。图中剩余部分,则包含了:QU、运营干预层、对话管理以及后处理策略层。下面简单讲述下各个模块的作用:
一、QU:
QU为基本语义理解,这里对输入的query做一些公共的基础语义理解,包含实体识别、文本分类、语义角色标注、语义检索、文本改写等,中控和BOT则会根据语义理解的结果进行处理,比如其中语义角色标注、文本分类、语义检索、实体识别可以用于对话管理中BOT的分发和排序、文本改写则用于对输入的query进行纠错,提高下游识别效果。
二、运营干预层:
运营干预层,顾名思义,主要是用于运营干预,适用于两种情况:
1. 某些话术,不想使用其本身的语义,而是想要赋予其特殊的语义来实现特定的效果,例如:“谁是世界上最美的人”,这本是一个疑问句,应该搜索对应的问答结果,但是运营有时会希望其能够打开前置照相机,作为一个小彩蛋,此时就需要这里对query进行干预。
2、某些话术,其结果我们发现并非按照预期执行,此时我们可以在这里对结果进行干预,或者对query进行改写,来实现结果的纠正。
当然,除了运营可以使用外,这一层中我们能做的还有很多,对于一些线上问题,可以在这里通过干预快速处理,避免对更多的用户产生影响,比如可以做BOT分发的干预,返回结果的干预等等。
三、DM层:
对话管理,这里的对话管理主要包含两个功能:BOT的分发和排序,多轮对话。其会利用当前query语义理解的结果、历史上下文、环境上下文来共同决定Action(执行动作)和下一个状态,如下图:
关于中控的分发和排序,多轮会话,这些会在后面的章节中详细讲解。
四、垂类BOT层:
垂类bot层,包含了各个独立的BOT,分别处理各自领域的内容,比如闲聊BOT主要处理闲聊类型的对话,陪用户聊天,问答BOT主要处理知识检索类型的对话,帮助用户搜索知识,闹钟BOT主要处理闹钟相关的语义,音乐BOT主要处理音乐相关的语义等等。不同类型BOT的内部详细设计,我们后面再讲,这里就不展开了。
五、后处理策略层:
后处理策略层中包含:客户端交互,推荐服务,对话策略等。
客户端交互,即为把最终得到的技能结果,进行封装,得到客户端可以执行的结构体。
推荐服务,则负责根据知识图谱、用户画像、产品策略等对当前的用户话术进行一些推荐,比如用户query:“周杰伦是谁”,可以进行关联推荐:“周杰伦行程”,“周杰伦妻子是谁”,“播放周杰伦的歌”等等,也可以根据用户使用习惯和当前地点、时间进行一些个性化推荐,比如:当前晚上10点,可以推荐“定个明天早上8点的闹钟”。推荐服务也是一个单独的内容,后面的章节中我们会单独拿出来讲。
对话策略,这里主要是进行一些特殊的后处理,比如某些场景下,需要关闭某些技能等。
语音助手——整体架构和设计相关推荐
- JQuery源码解析-整体架构的设计
最近在看jQuery的源码,查了一些资料,偶尔看到了网易云课堂里有套视频是对源码进行讲解的,是叫妙味课堂出的,看着还不错,对这方面感兴趣的推荐看下, 个人感觉很不错.所以发些文章,边学边记录. 版本: ...
- 语音助手——指令型(任务型)助手架构和设计
这一章我们来一起看一下语音助手中,指令型(任务型)助手的整体架构和设计. 一.指令型助手的应用场景 在这里,如果助手的作用是帮助用户实现某些操作,比如:语音定闹钟,语音听歌,语音导航等等,那么实现这一 ...
- 语音助手——问答型助手架构和设计
这一章我们来看一下问答型助手中的架构和设计,什么是问答型助手呢?就是主要指知识问答型,用来回复用户的问题,而不是用来操作设备,比如智能客服. 问答型助手类型 问答型助手一般有IRQA.KBQA(又叫K ...
- 贴近司机,感知生活:智能语音助手在滴滴车主端的设计与实践
桔妹导读:基于网约车司机的职业特性,帮助与指引司机在各类复杂的场景下更安全.便捷地完成工作,并尽可能疏导与减轻他们因长时间处于封闭环境下的心理压力,一直是滴滴发力的一个方向.但现有的一些途径,如规则展 ...
- SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构
摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人"miiboo"中的大部分程序也采用ROS进行开发,所 ...
- 基于Hadoop的大数据平台实施记——整体架构设计[转]
http://blog.csdn.net/jacktan/article/details/9200979 大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底 ...
- [跟我学中小企业架构部署]之一:整体架构设计
环境定义: CentOS 5.4 64-bit 服务器8台 定义10.0.0.0/24为公网 10.0.10.0/24为内网 各服务器的作用: LB1: Hostname:lb1 ech0: 10.0 ...
- 详解MRS CDL整体架构设计
摘要:MRS CDL是FusionInsight MRS推出的一种数据实时同步服务,旨在将传统OLTP数据库中的事件信息捕捉并实时推送到大数据产品中去,本文档会详细为大家介绍CDL的整体架构以及关键技 ...
- 深度解读MRS IoTDB时序数据库的整体架构设计与实现
[本期推荐]华为云社区6月刊来了,新鲜出炉的Top10技术干货.重磅技术专题分享:还有毕业季闯关大挑战,华为云专家带你做好职业规划. 摘要:本文将会系统地为大家介绍MRS IoTDB的来龙去脉和功能特 ...
- 运单状态机设计及全流程异常跟踪整体架构
文章目录 1. 业务背景 1. 需求 1.2 难点 2. 状态机简介 2.1 定义 2.2 举例 3. 运单环节状态机实现 4. 整体架构 1. 业务背景 1. 需求 业务方希望能够对运单的揽收.干支 ...
最新文章
- AI最佳论文都在这里了!(非常全,快领!)
- 重磅 | 一场你从未见过的数据中心盛会
- select选中的值_selenium下拉框处理(select)
- 字符设备驱动高级篇4——设备类(自动创建和删除设备文件)相关代码分析
- 浪潮服务器 虚拟光驱,使用IPMI功能远程安装Windows Server 2003操作系统步骤
- fatal exception java_java.lang.IllegalStateExceptio
- SQL Server如何清除连接过的服务器名称历史?
- 深度学习caffe教程
- 【静态网页制作大作业——个人博客搭建(HTML+CSS+Javascript)】
- 数学专业英语--2.5(几何)
- 微信小程序 转发 封装
- 数据库建模多表一对多和多对一、一对一、多对多
- 《如何阅读一本书》读书计划
- Qt的对话框与窗口--标准的对话框
- C/C++ 代码分析警告集
- 使用孪生网络和零样本学习进行文本分类
- HDFS 磁盘写及balance
- 欧文分校计算机科学硕士项目,美国加州大学欧文分校信息与计算机科学硕士.pdf...
- 在本地电脑将ip与名字相关联
- 真的!!!两行css代码实现瀑布流,html,css最简单的瀑布流实现方式且没有缺点!...
热门文章
- SpringBoot优雅停机的正确姿势!
- 这些好玩的例子,希望你也能喜欢
- 基于随机效应贝叶斯神经网络(RE-BNN)的多区域出行模式选择分析
- style是什么意思
- Spark3 AQE (Adaptive Query Execution) 一文搞懂 新特性
- 自适应QP(Adaptive QP)
- 《认知与设计——理解UI设计准则》系列笔记目录
- ERROR [com.alibaba.druid.pool.DruidDataSource] - abandon connection
- signature=c7580760a679f082e2d4960e4c2c7772,Signatures of moiré-trapped valley excitons in MoSe
- 中e管家理财小方法让闲钱变成活钱