IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 语音助手——助手中用到的那些分类模型 -> 正文阅读

[人工智能]语音助手——助手中用到的那些分类模型

????????这一章,我们来一起看一下语音助手中用到的那些分类模型。首先,什么地方需要用到分类模型呢?有以下几种情况:

  • 场景分类
  • 任务、闲聊、问答分类
  • BOT内部分类

这一类分类主要起的作用为:

  1. 辅助DM进行BOT的分发和排序
  2. 避免全量query流经某个BOT,减轻下游服务压力
  3. 各个BOT应该有具备识别query是否属于自己领域的能力

除此之外,还有一些地方也会用到分类模型,比如:情感识别,意图识别等。这里主要讲一下助手中用到的几个主要分类模型的组成关系,如下图:

????????有同学可能会问,为什么要这么组织模型呢?各个分类模型有什么区别和相同点吗??

? ? ? ? 关于为什么需要这些分类模型,除了上面提到的作用外,还有几个原因:

1、任务、闲聊、问答分类:

????????闲聊BOT、问答BOT几乎总是能对所有query给出一个结果,而且由于其BOT的特性,导致并没有一个统一的评判标准来决策哪个BOT的结果更好,此时任务、闲聊、问答分类模型,就可以辅助DM尽心BOT的排序。同时,对于部分指令型话术,如果助手目前没有覆盖,也是需要能够识别到的,对于这一类query,可以给出一些合适的引导或者推荐,此时该三分类模型也可以用于兜底识别指令话术。该分类模型就是一个典型的三分类模型。

2、场景分类:

? ? ? ? 助手中会包含很多很多的BOT,DM要实现对BOT的合理分发,有一个分类模型是必要的,该模型一般为多分类模型,即一个query经过该模型会给出几个类别,代表其可能所属的场景和置信度。

? ? ? ? 同时,考虑到产品需求的快速变化,每个新场景的提出,就要对应的增加分类类别,所以一般场景分类是有模型+模板来共同组成,对于一些成熟的场景,加入到模型中,对于一些简单或者新增的场景,直接使用模板(关键词)来进行分类。所以该分类模型是一个集合体,而非单个深度学习模型。

3、BOT内二分类、n分类:

? ? ? ? 考虑到对于一个query,DM需要尽可能激活所有可能与其有关的BOT,所以BOT分发是不止参考场景分类模块,还会参考一些其他信息,这就会导致一些误分发。同时,场景分类模块可能要识别40+类别,其各个类别的准召是很难平衡的,我们一般要求场景分类是重召回的,这也会导致一些误识别。所以对于每个BOT,我们要求其:具备识别query是否属于自己BOT处理范围的能力。所以就有了二分类,其需要对于一些场景间的易混淆话术,进行区分,提高进入BOT的query的准确性,所以它是重准确的。

? ? ? ? 看到这里,有同学就会有疑问,可不可以只要分类模型,不要二分类。 或者将二分类直接提前到场景分类的位置,即将全量query分发给BOT,让BOT利用自己的分类去识别呢?答案是可以的,但是需要注意以下两点:

  1. ? ? ? ? 每个BOT独立承担全量query流量,其性能可能扛不住,需要更多服务器,而线上实际属于该场景的query可能并不多。此时就需要一个流量和效果的平衡,如果该BOT是一个核心BOT,流量较多,且更新频繁,则将该BOT的二分类位置提前是可行的。
  2. ? ? ? ? 场景分类+二分类这种组织关系,可以使二分类只关注与其本身BOT易混淆的BOT间的区别,而不必关心其他无关的BOT,比如音乐BOT,其内部的二分类可以只关心其与视频BOT、电台BOT之间的差别,而不用关心天气BOT的话术特征,这就可以使得其二分类训练时,训练数据更具有针对性,可能使用更少的数据量,给开发效率也带来了提升。

????????关于模型的结构

????????其实没有太多可说的,就是最简单的text_cnn+腾讯词向量就可以了。我们试过很多其他模型,比如bert,LSTM,RNN,transformer,或者进行对抗训练,带噪学习等方案,其效果可以说相对于text_cnn一般并没有很大的提升,在0.5-1个点之间,有些效果还会变差,所以这里的模型结构没有太多可以优化的地方了。

? ? ? ? 相对于模型结构的优化,对于数据层面、流程层面的优化更加有效,在数据层面,可以使用主动学习的方案来标注少量数据提升模型效果,在流程层面,可以使用模型蒸馏的方案来实现数据增强、模型效果提升。

????????还有一个很经典的问题:分类模型中各个类别的数据量如何平衡,如果某个类别效果不好该怎么办?

????????对于数据量,一般建议是使各个类别的数据量能够和线上数据量的比例尽可能接近,但是对于某个类别也不要太少,因为数据量太少其效果必然会受到影响。或者也可以使各个场景的数据量均衡,但这个其实很难,对于线上每个场景的重要度是不同的,其复杂度也是不同的,有些场景既重要又复杂而且流量也很多,其场景可以很容易获取到大量数据,进行人工清洗后可以获得比较好的数据,而对于一些流量少又没那么重要的场景,想获取与其匹配的数据量,是比较难的。

? ? ? ? 对于某个类别效果不好怎么办,能怎么办,洗数据呗。

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-23 11:28:02  更:2021-09-23 11:28:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 12:56:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码