这一章我们一起来看一下语音助手的整体架构和设计。

一般来讲,一个比较完善的语音助手可以分为:中控部分 + 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点的闹钟”。推荐服务也是一个单独的内容,后面的章节中我们会单独拿出来讲。

对话策略,这里主要是进行一些特殊的后处理,比如某些场景下,需要关闭某些技能等。

语音助手——整体架构和设计相关推荐

  1. JQuery源码解析-整体架构的设计

    最近在看jQuery的源码,查了一些资料,偶尔看到了网易云课堂里有套视频是对源码进行讲解的,是叫妙味课堂出的,看着还不错,对这方面感兴趣的推荐看下, 个人感觉很不错.所以发些文章,边学边记录. 版本: ...

  2. 语音助手——指令型(任务型)助手架构和设计

    这一章我们来一起看一下语音助手中,指令型(任务型)助手的整体架构和设计. 一.指令型助手的应用场景 在这里,如果助手的作用是帮助用户实现某些操作,比如:语音定闹钟,语音听歌,语音导航等等,那么实现这一 ...

  3. 语音助手——问答型助手架构和设计

    这一章我们来看一下问答型助手中的架构和设计,什么是问答型助手呢?就是主要指知识问答型,用来回复用户的问题,而不是用来操作设备,比如智能客服. 问答型助手类型 问答型助手一般有IRQA.KBQA(又叫K ...

  4. 贴近司机,感知生活:智能语音助手在滴滴车主端的设计与实践

    桔妹导读:基于网约车司机的职业特性,帮助与指引司机在各类复杂的场景下更安全.便捷地完成工作,并尽可能疏导与减轻他们因长时间处于封闭环境下的心理压力,一直是滴滴发力的一个方向.但现有的一些途径,如规则展 ...

  5. SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人"miiboo"中的大部分程序也采用ROS进行开发,所 ...

  6. 基于Hadoop的大数据平台实施记——整体架构设计[转]

    http://blog.csdn.net/jacktan/article/details/9200979 大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底 ...

  7. [跟我学中小企业架构部署]之一:整体架构设计

    环境定义: CentOS 5.4 64-bit 服务器8台 定义10.0.0.0/24为公网 10.0.10.0/24为内网 各服务器的作用: LB1: Hostname:lb1 ech0: 10.0 ...

  8. 详解MRS CDL整体架构设计

    摘要:MRS CDL是FusionInsight MRS推出的一种数据实时同步服务,旨在将传统OLTP数据库中的事件信息捕捉并实时推送到大数据产品中去,本文档会详细为大家介绍CDL的整体架构以及关键技 ...

  9. 深度解读MRS IoTDB时序数据库的整体架构设计与实现

    [本期推荐]华为云社区6月刊来了,新鲜出炉的Top10技术干货.重磅技术专题分享:还有毕业季闯关大挑战,华为云专家带你做好职业规划. 摘要:本文将会系统地为大家介绍MRS IoTDB的来龙去脉和功能特 ...

  10. 运单状态机设计及全流程异常跟踪整体架构

    文章目录 1. 业务背景 1. 需求 1.2 难点 2. 状态机简介 2.1 定义 2.2 举例 3. 运单环节状态机实现 4. 整体架构 1. 业务背景 1. 需求 业务方希望能够对运单的揽收.干支 ...

最新文章

  1. AI最佳论文都在这里了!(非常全,快领!)
  2. 重磅 | 一场你从未见过的数据中心盛会
  3. select选中的值_selenium下拉框处理(select)
  4. 字符设备驱动高级篇4——设备类(自动创建和删除设备文件)相关代码分析
  5. 浪潮服务器 虚拟光驱,使用IPMI功能远程安装Windows Server 2003操作系统步骤
  6. fatal exception java_java.lang.IllegalStateExceptio
  7. SQL Server如何清除连接过的服务器名称历史?
  8. 深度学习caffe教程
  9. 【静态网页制作大作业——个人博客搭建(HTML+CSS+Javascript)】
  10. 数学专业英语--2.5(几何)
  11. 微信小程序 转发 封装
  12. 数据库建模多表一对多和多对一、一对一、多对多
  13. 《如何阅读一本书》读书计划
  14. Qt的对话框与窗口--标准的对话框
  15. C/C++ 代码分析警告集
  16. 使用孪生网络和零样本学习进行文本分类
  17. HDFS 磁盘写及balance
  18. 欧文分校计算机科学硕士项目,美国加州大学欧文分校信息与计算机科学硕士.pdf...
  19. 在本地电脑将ip与名字相关联
  20. 真的!!!两行css代码实现瀑布流,html,css最简单的瀑布流实现方式且没有缺点!...

热门文章

  1. SpringBoot优雅停机的正确姿势!
  2. 这些好玩的例子,希望你也能喜欢
  3. 基于随机效应贝叶斯神经网络(RE-BNN)的多区域出行模式选择分析
  4. style是什么意思
  5. Spark3 AQE (Adaptive Query Execution) 一文搞懂 新特性
  6. 自适应QP(Adaptive QP)
  7. 《认知与设计——理解UI设计准则》系列笔记目录
  8. ERROR [com.alibaba.druid.pool.DruidDataSource] - abandon connection
  9. signature=c7580760a679f082e2d4960e4c2c7772,Signatures of moiré-trapped valley excitons in MoSe
  10. 中e管家理财小方法让闲钱变成活钱