挑战解法-阿里小蜜技术解析(二)|学习笔记

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 快速学习挑战解法-阿里小蜜技术解析

开发者学堂课程【阿里小蜜中的机器阅读技术:挑战解法-阿里小蜜技术解析】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/43/detail/966


挑战解法-阿里小蜜技术解析(二)


二、解决方法和实践小结

此处整体对上述提到的解决方案与实践做一个小结:

1.构建领域数据集及低成本解决模型冷启动;

2.利用前置检索缩小范围提高问答准确率;

3.把整个原始端到端的这种模型拆分问答为多阶段增强模型可控及灵活性。

DTD 原则: Define - Transfer - Decompose  

整个抽象成三个原则就是 DTD 原则,Define 先去确认我们要适用的场景,同时再做一些 transfer 来去结合不同的任务、不同的领域使得在小数据场景下使用有更好的学习效果,再做一个 Decompose,就是把用于整个集成在一起的模型做一定的拆封,在每个阶段去分别加强它来达到更好的一个可控及灵活性。

除此之外分享一下除了前面在其他业务上做的落地的一些尝试,更多的扩展的场景首先是多语言,如下:

多语言- Lazada 印尼语平台规则

image.png

多语言-混合语言模型(Transfer)

image.png

这也是针对于整个活动的问答,如上是一个关于印尼语的平台规则的问答效果,其中尝试去做了一个多语言的突破。多语言的突破里面主要利用了混合语言模型去做整个跨语种的支持,首先众所周知不同语言之间可以有一些对齐的语言的词典,这种语言的词典表现为在一个语义空间里面,存在着像一些同义词这样的关系,设计过程中希望能把这些词都映射在同样的一个语义空间里,比如“狗和 dog”“月份和 January”“巴黎和 Paris”这样的词语其实表达的是同样的语义,在语义空间中把它们拉齐,如此虽然它字面的形式不一样,但在深层次、在高维的表示空间里,可以认为它依然代表着同样的一个具体的含义。基于这种统一的语义表示空间,需进一步的去构造一个需要的 Share Encoder,即一个共享的语言编码器,因为上述提到的更多只是在于词之间的对齐,句子是由词组成的,但是一个一个词去对齐不能很好地表示整个句子的意思,因此在此去做一个整体的共享语言编码器来实现语义的对齐,这里用到了不同于语言之间的一些单语模型 mono lingual corpus 去加强整个语言模型的构建,同时又引入了两个领域之间的 parallel corpus,即对其的语言数据,这种对齐数据可以更好的在语言空间上拉起两者的语义距离。构建了 Share Encoder 的好处是可以利用一些数据量更丰富的语言来训练在小语种情况下的一个模型表现,比如可以借助于英文语料去训练印尼语,同时,它可以提供一个很好的对于一些小语种去做 Zero-short 冷启动的场景,甚至在一些东南亚国家还存在着英文混杂着当地语言的混合语言现象,都可以通过 Share Encoder 混合语言的编码器去做一个很好的解决。

除了上述直接训练 Share Encoder 的方式,此处也同样使用了多语言模型的预训以及 BERT 去做进一步的机器阅读理解任务,如下:

多语言模型预训练- BERT

﹣多个数据集上性能 SOTA , Few - shot / Zero - shot Learning .

﹣训练耗时,模型在线服务成本高,特定领域效果一般

﹣结合 BERT 和知识蒸馏: logits 正则项/数据增广/简单学生模型

image.png

众所周知 BERT 在多个数据集上目前都是性能达到了最好,同时对于一些冷启动小数据的场景上有很强的一个泛化性,其缺点在于训练耗时,直接网上做线上部署服务成本比较高,而且在一些特定领域,由于它的域训练主要是在一些通用领域上,特定领域上的效果比较一般。因此在这里面主要是提出了结合 BERT 与知识蒸馏去做,比如可以去通过 BERT 在下一个任务上的微调去预测大量的  logits 正则项, 把它们作为一些老师的内容去让一些简单模型去做学习,对于这些简单学生模型或者简单模型来说,这个学习过程即常见的知识蒸馏,知识蒸馏的过程中往往还伴随着一些数据增广的一些方式,利用老师模型去扩充更多样的数据来让学生在场景中更多的维度做一个整体,更好的学习。

除了多语言这块,如下是多轮次的探索:

多轮次-从单轮问答到上下文对话

image.png

前面提到一个例子,对多轮次已经有了初步的体感,多轮次现在也是机器阅读理解领域中关注的一个主要问题之一,上图主要介绍 CoQA 这样的一个数据集,它是斯坦福大学提出来的基于对话式的机器阅读理解场景的一个数据。

图右提到 government 的一个竞选需要用到的相关材料,比如在整个竞选中“他是在哪里的?谁会支持他?他属于哪个政党?”在这个过程中,不可能每一句话都去完整地覆盖到这个问题的上下文,因此对于模型来说它需要去结合历史提过的问题以及相关的答案去把当前审核的信息做一个补充。

针对多轮次上下文的阅读理解,此处引入了 flow 结构:

基于 Flow 结构融合多轮信息

image.png

Flow 结构来自于 Flow QA 文章,其发表于2019年的 ICLR,在这篇文章里面提出了 Flow 的概念,Flow 相对于传统的文章编码多了一个维度,众所周知对于像rn这样的结构来说,它是将文章或者问题的词序列做了一一编码,Flow 结构引入了另外一个维度,在于多轮的这种轮次信息,作者认为这种文字在同一篇文章中的同一个单词上会有不同的一个信息,这种信息在不同的轮次之间流动的过程形成了一个 Flow 的结构。具体来说每一个单词在不同的轮次因为用户的问题关注点不同,所以与问题之间的一些关联程度或者 attention 之间也有差异,把这个差异性用序列模型建模出来,就是整个的一个 Flow 结构,将这个 Flow 结构引入到我们整体的文章建模与答案选择的环节,它可以有效的融入上文的一些相关信息,来对当前的问题做更好的补充。

除了多轮次、上下文的场景,还针对店小蜜商品详情页去探索了多模态的问答可能。

如图:

image.png

用户在淘宝的商家店铺里提到的问题可能是一个特别细节的、无法为当前的知识库所覆盖的问题,此时会根据提到的问题从商家商品所在的详情页中自动去截取相关的图片作为答案。在图中例子中,用户提到这款冰箱能否连接手机,我们会将其详情页中与手机冰箱以及互联的概念更好表现的图片最终选取返回给用户。这里涉及到了图文信息多模态的融合,同时详情页通常是多篇图片组成的,也是一个长篇幅的问答场景。

综上所述,已经陆续介绍了机器阅读的不同运用场景,它背后的技术以及形成的能力如下是整合的技术平台大图:

工业应用的机器阅读技术平台

image.png

最下面是整体机器阅读理解所沉淀的数据层,里面包含了通用的百科新闻以及针对领域的政策法规,零售场景的活动规则以及一些电器操作手册等等,还包括了具体的领域对话。

在之上形成了不同的算法模块,包括检索、问答、拒识、排序等等,基于这些模块对外输出了不同的技术能力。

主要分为两方面,一方面是多文档、多任务、多轮次、多语言、多模态、多领域这六种面向不同场景,不同类型的解决方案,同时对于不同的文本类型,比如纯文本可能包括长文档或多文档以及说明书的富文本,基于图片的多模态交互的这三种数据语言也可以作为一个阅读理解。

在这之上,沉淀了六大场景,包括活动规则,品牌政策,法规条款,办事指南,说明书,商品百科。


三、领域覆盖

image.png

在这些场景的具体产品化输出来支撑不同的渠道,比如阿里集团,微软的商家生态以及外部的企业生态,城市服务,以及海外业务等。

覆盖的领域,比如零售活动促销,政务税务相关的法规、政策、办事指南等,还有通用的百科型的、商品指南型的手册、说明等。

相关文章
|
8天前
|
域名解析 存储 网络协议
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
本文详细介绍了IP协议报头结构及其各字段的功能,包括版本、首部长度、服务类型、总长度、标识、片偏移、标志、生存时间(TTL)、协议、首部检验和等内容。此外,还探讨了IP地址的网段划分、特殊IP地址的应用场景,以及路由选择的大致流程。最后,文章简要介绍了DNS协议的作用及其发展历史,解释了域名解析系统的工作原理。
41 5
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
|
13天前
|
负载均衡 5G 网络性能优化
深入解析LTE(长期演进技术)的基本架构及其关键组件
深入解析LTE(长期演进技术)的基本架构及其关键组件
68 2
|
10天前
|
Linux iOS开发 Docker
Docker:容器化技术的领航者 —— 从基础到实践的全面解析
在云计算与微服务架构日益盛行的今天,Docker作为容器化技术的佼佼者,正引领着一场软件开发与部署的革命。它不仅极大地提升了应用部署的灵活性与效率,还为持续集成/持续部署(CI/CD)提供了强有力的支撑。
190 69
|
15天前
|
机器学习/深度学习 算法
概率分布深度解析:PMF、PDF和CDF的技术指南
本文将深入探讨概率分布,详细阐述概率质量函数(PMF)、概率密度函数(PDF)和累积分布函数(CDF)这些核心概念,并通过实际示例进行说明。
51 15
概率分布深度解析:PMF、PDF和CDF的技术指南
|
2天前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
4天前
|
存储 缓存 Java
在Spring Boot中使用缓存的技术解析
通过利用Spring Boot中的缓存支持,开发者可以轻松地实现高效和可扩展的缓存策略,进而提升应用的性能和用户体验。Spring Boot的声明式缓存抽象和对多种缓存技术的支持,使得集成和使用缓存变得前所未有的简单。无论是在开发新应用还是优化现有应用,合理地使用缓存都是提高性能的有效手段。
12 1
|
9天前
|
缓存 负载均衡 Dubbo
Dubbo技术深度解析及其在Java中的实战应用
Dubbo是一款由阿里巴巴开源的高性能、轻量级的Java分布式服务框架,它致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。
30 6
|
7天前
|
传感器 机器学习/深度学习 自动驾驶
未来出行的革新:无人驾驶技术深度解析
在当今科技飞速发展的时代,无人驾驶技术正逐步从科幻走向现实,成为未来交通领域最具革命性的变化之一。本文旨在深入探讨无人驾驶技术的工作原理、关键技术组件以及面临的伦理与法律挑战,并展望其对社会经济和日常生活的深远影响。通过分析感知、决策和执行三个核心环节,本文揭示了无人驾驶汽车如何利用先进的传感器阵列、复杂的算法和精密的机械控制来实现自主行驶。同时,文章也讨论了数据安全、隐私保护及责任归属等问题,呼吁建立相应的法规框架以促进技术的健康发展。最后,无人驾驶技术被预测将为减少交通事故、缓解拥堵、提高能效及推动共享经济等方面带来显著益处,预示着一个更加智能、高效和可持续的出行未来。
|
15天前
|
存储 关系型数据库 MySQL
技术解析:MySQL中取最新一条重复数据的方法
以上提供的两种方法都可以有效地从MySQL数据库中提取每个类别最新的重复数据。选择哪种方法取决于具体的使用场景和MySQL版本。子查询加分组的方法兼容性更好,适用于所有版本的MySQL;而窗口函数方法代码更简洁,执行效率可能更高,但需要MySQL 8.0及以上版本。在实际应用中,应根据数据量大小、查询性能需求以及MySQL版本等因素综合考虑,选择最合适的实现方案。
76 6
|
2天前
|
Cloud Native 持续交付 Docker
深入解析Docker容器化技术及其在生产环境中的应用
深入解析Docker容器化技术及其在生产环境中的应用
8 0

热门文章

最新文章

推荐镜像

更多