预训练再次跨界!百度提出ERNIE-GeoL,地理位置-语言联合预训练!

706a65ab1a57ff215d3d8f1b8bf5cfd6.png

源 | 百度NLP

本文介绍『文心大模型』的一项最新工作:“地理位置-语言”预训练模型ERNIE-GeoL。

论文链接:
https://arxiv.org/abs/2203.09127

实践中的观察

近年来,预训练模型在自然语言处理、视觉等多个领域都取得了显著效果。基于预训练模型,利用特定任务的标注样本进行模型微调,通常可以在下游任务取得非常好的效果。

然而,通用的预训练语言模型在应用于地图业务(如POI检索、POI推荐、POI信息处理等)时的边际效应愈发明显,即随着预训练语言模型的优化,其在地图业务中所带来的提升效果越来越小。其中一个主要原因是地理领域的信息处理过程往往需要与现实世界的真实地理信息建立关联。例如,在地图POI搜索引擎中,当用户输入一个query时,除了文本和语义匹配,候选POI的位置,以及它与用户当前所在位置的距离,都是非常重要的排序特征。而目前通用的预训练语言模型则缺乏可以建立『地理位置-语言』之间关联的训练数据以及预训练任务。

我们的创新:地理预训练模型ERNIE-GeoL

NLP预训练模型(如ERNIE 3.0)主要聚焦于语言类任务建模,跨模态预训练模型(如ERNIE-ViL)主要侧重于『视觉-语言』类任务建模。为了更好地学习『地理位置-语言』之间的关联,我们提出了地理预训练模型ERNIE-GeoL(Geo-Linguistic),主要聚焦于『地理位置-语言』类任务建模。

为了训练ERNIE-GeoL,我们引入了两类地理知识来增强预训练模型效果。第一类为地名知识,地名(toponym)主要指地理实体(如POI、街道和地区)的名称。第二类为空间知识(如下图所示),空间知识来自地图业务中常见的空间数据,主要包含单个地理实体的位置信息(通常以地理坐标形式表示),两个地理实体之间的空间关系(通常以三元组的形式表示),以及人类移动数据(通常以POI序列的形式表示)。

dcc7885313e16b70b5dc2c33dd01c9cd.png

为了在预训练的过程中引入上述两类地理知识,需要解决以下两个挑战:1) 异构数据融合。蕴含地理知识的数据类型主要包含文本(包含地名知识)、三元组以及序列(包含空间知识)。如何将这些多源异构数据进行有效整合,并以统一的形式作为预训练模型的输入,是面临的首要问题。2) 『地理位置-语言』跨模态学习。现有的跨模态预训练大部分是对同一个概念的不同模态之间的关联进行学习。例如,在“视觉-语言”预训练中,主要目标是学习相同物体(如“一只猫”)的文本表示(如“可爱的猫”)和图像(如“猫的图片”)表示之间的语义关联。而在进行“地理位置-语言”预训练时,主要目标是学习一个地理实体(如“POI-ID1”)的文本属性(如该POI名称“北京西站”、POI地址“北京市丰台区莲花池东路118号”)与其对应地理坐标(该POI的经纬度)之间的关联。为了充分学习跨模态间的关联,需要设计有效的网络结构以及针对性的预训练目标。

为解决上述挑战,ERNIE-GeoL在预训练数据构建、模型结构以及预训练目标三个方面进行了针对性的设计和创新:

1. 预训练数据构建

为了解决挑战1,ERNIE-GeoL以百度地图数据和POI数据库作为数据源,基于图桨PGL(Paddle Graph Learning),利用其中蕴含的空间关系构建了异构图。如下图所示,该图由两种节点(POI和查询)和以下三种不同类型的边构成:

  1. 起点-到-终点,表示的是用户对两个地点的访达,蕴含了丰富的空间移动信息。

  2. POI-共同出现-POI,表示共同出现在同一个地块内的两个POI,蕴含了空间共现信息。

  3. 查询-点击-POI,来自于用户的地点查询日志,蕴含了丰富的地名和空间关系知识。

6ee8de8b5efe894477b62fc54117ff33.png

在此异构图的基础上,我们使用随机游走算法自动化地生成大量节点序列作为预训练数据。下面是两个真实的游走序列示例。

b49399e74b0df286a49bec4b77051c7f.png

2.模型结构

以上述方式构建的数据蕴含了丰富的地理知识。为了更有效地从中学习地理知识,需要对其中的图结构进行充分建模。为此,我们在设计ERNIE-GeoL的模型结构(详见下图)时,专门引入了一个TranSAGE聚合层,用于充分学习训练数据中的图结构,同时将不同模态的数据映射到统一的表示空间。TranSAGE层使用多头注意力机制对每个节点的不同表示进行聚合,具体细节可参考文后所附论文。

68e0bd1c58cd12f11cca3a075a309025.png

3.预训练目标

为了让模型充分学习『地理位置-语言』间的关联,需要设计行之有效的预训练目标。为此,在用于学习地名知识的掩码语言模型(MLM)预训练任务之外,我们设计了用于学习文本与地理坐标关联的Geocoding(GC)预训练任务。

实现Geocoding,有两种候选方案:

  1. 直接学习文本到经纬度坐标的映射关系。这种方案是回归任务,它的难点主要在于需要学习文本到唯一一个精确坐标的映射关系。若满足业务要求(误差<=20m),该坐标需要精确到小数点后4位,学习难度较大。

  2. 将地图按一定范围划分格子,给每个格子编号,学习文本到编号的映射关系。这种方案是分类任务,优点是可以捕捉文本和编号间的关联,主要缺点是维度爆炸问题。例如,将全世界按4平方米的范围划分格子,会得到105万亿个编号。

为了结合上述两种方案的优点并规避其缺点,我们选择让模型学习文本与其对应的地理实体所在的真实世界地块的多层级字符编码之间的关联。

下图给出了该任务的一个示例,我们将百度科技园所在的不同层级的地块(L7至L10)表示成前缀互有关联的token(35f1c至35f1a9)。我们利用固定网格系统的地块编码方式获取其对应的token。固定网格系统是一类对地球表面按照固定位置划分格子的系统。大部分系统在进行划分时允许选择不同的层级,即用不同尺寸的格子对地表进行划分。按一种固定尺寸划分格子后,每个坐标点只落在一个格子内。我们从GeoHash、H3和S2 geometry这3种常见的固定网格系统(3种方案的具体对比见下图)中选择了S2。主要原因在于S2使用变形程度较小的球面投影方式,并具有以下特性:1) S2转换后的token层级最多;2) S2不同层级间的平滑度最高;3) S2可以实现多级覆盖,即子级别的token所代表的地块一定位于父级别的token所代表的地块之内。

fb805788d162bfeb1b39f1ccc8d1e9b0.png

依托多级覆盖特性,在训练的过程中,我们使模型按预测地块编码中每一个字符的方式一次性的预测出多个层级的地块表示。按这种方式,模型利用注意力机制可以学习到输入中描述不同层级地理概念的文本(如北京市、海定区、西北旺东路10号、百度科技园)和不同层级(如L6、L9、L15、L15)的地理编码的映射关系,从而使模型充分且高效地学习文本与地理坐标的关联,加强模型在处理不完整或不规范地理描述文本时的鲁棒性。具体训练方式详见论文。

eaca70c4cef2cd067d0e14b13a8928cb.png

ERNIE-GeoL应用效果如何?

为了验证ERNIE-GeoL在地理位置相关任务上的应用效果,我们选取了5个地图业务中的常见任务(详见表1),包括:

  1. POI检索业务中的query意图识别(Query Intent Classification)任务;

  2. POI检索业务中的query-POI匹配(Query-POI Matching)任务;

  3. POI推荐业务中的下一个POI推荐(Next POI Recommendation)任务;

  4. POI信息处理业务中的地址解析(Address Parsing)任务;

  5. POI信息处理业务中的地理编码(Geocoding)任务。

表2显示了各个模型在上述5个任务上的评测结果。从评测结果中可以看出,ERNIE-GeoL在各个任务上的效果,均显著超过了其他通用预训练语言模型。

b920475e23bce9629be04200588ebbab.png

ERNIE-GeoL是否学习到了地理与语言间的关联?

我们通过定性分析来验证ERNIE-GeoL是否学习到了地理与语言间的关联。

首先,我们选取中国除港澳台以外的31个省级行政区划中检索热度top 500的POI。基于这些POI的名字和地址,通过不同预训练模型获得与之对应的embeddings后,再利用t-SNE算法将得到的embeddings进行降维。结果如下图所示,从中我们可以看出,通用的预训练语言模型BERT无法将位于同一省份的POI聚在一起。与之形成鲜明对比的是,“地理位置-语言”预训练模型ERNIE-GeoL能够很好地将位于相同省份的POI聚在一起。同时,在现实世界中临近的省份在图中也相邻,如图中右上角的黑吉辽三省。

e79767bc2602de74a4be5080024f07b9.png

其次,借鉴著名的“king – man + woman ≈ queen”类比示例,我们也设计了两个类比示例来验证ERNIE-GeoL对于地理类比关系的学习效果(见下图)。示例a用来测试模型是否学习到了“一个城市的下级行政区划”的关系。我们首先将查询设置为“黄埔区-上海+北京”,候选设置为所有中国城市的下级区域名称。然后用预训练模型将查询和候选分别表示为向量并计算各个候选向量和查询向量之间的余弦相似度。图a1,a2分别展示了BERT和ERNIE-GeoL预测结果中余弦相似度排名前10的候选。从中可以看出,ERNIE-GeoL召回的正确区域比BERT多出一倍。类似的,我们设计了另一个示例来测试模型是否学习到了“一个省的省会”的关系。在该测试中,查询设置为“广东省-广州+昆明”,候选设置为所有中国省级行政单位的名称。如图b1,b2所示,ERNIE-GeoL以最高的相似度得分输出了正确的目标省份“云南省”。此外,在这两幅图中,与ERNIE-GeoL预测的结果相比,BERT预测结果的余弦相似度得分间的区分度较低。上述两个定性分析的结果表明ERNIE-GeoL在一定程度上学会了不同地理实体之间的空间关系和语义关系。

75fb9f12efbaf18a00b788295c77c9c4.png

最后,我们以Geocoding任务为例验证ERNIE-GeoL是否能够处理关于同一地理实体的各种不同描述。该任务的输入为目标POI(下图中红色文字描述的POI)的不同文本描述(下图中黑框白底矩形中的文本),输出则为模型预测出的地理坐标。从该示例中我们可以看出,ERNIE-GeoL具有较强的鲁棒性,可以处理关于同一地点的不同形式的文本描述,并且能够排除无关词(例如图中“大衣柜一个”)的干扰,准确地预测出与之对应的地理坐标。

fa0c465777ec14b30d3e992d05f1267c.png

总结

ERNIE-GeoL通过地图数据自动化地构建了蕴含地理知识的大规模预训练数据,并使用专门设计的网络结构和相匹配的预训练目标对地理知识进行了充分的学习。定量实验中的显著效果提升和定性实验中的差异化结果,表明我们所提出的“地理位置-语言”预训练模型ERNIE-GeoL能够显著提升地理位置相关任务的效果并具有广泛的应用落地潜力。有关ERNIE-GeoL的更多细节,请参考论文:https://arxiv.org/abs/2203.09127。

f4914723121ea817f6ee0e8c3912e999.png后台回复关键词【入群

加入卖萌屋NLP、CV与搜推广与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

d701a4e5abf70319f801b650f6bccd6b.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477471.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1333. 餐厅过滤器(Lambda排序)

1. 题目 给你一个餐馆信息数组 restaurants&#xff0c;其中 restaurants[i] [idi, ratingi, veganFriendlyi, pricei, distancei]。你必须使用以下三个过滤器来过滤这些餐馆信息。 其中素食者友好过滤器 veganFriendly 的值可以为 true 或者 false&#xff0c;如果为 true …

Spring Cloud实战小贴士:Zuul处理Cookie和重定向

由于我们在之前所有的入门教程中&#xff0c;对于HTTP请求都采用了简单的接口实现。而实际使用过程中&#xff0c;我们的HTTP请求要复杂的多&#xff0c;比如当我们将Spring Cloud Zuul作为API网关接入网站类应用时&#xff0c;往往都会碰到下面这两个非常常见的问题&#xff1…

论文浅尝 | Language Models (Mostly) Know What They Know

笔记整理&#xff1a;程思源、梁孝转&#xff0c;浙江大学在读硕士&#xff0c;研究方向为知识图谱的表示学习&#xff0c;自然语言处理&#xff0c;预训练对于一个语言模型&#xff0c;我们最终希望得到一个“诚实”的人工智能系统&#xff0c;即语言模型需要准确并且忠实地评…

百度AI技术盛宴来了!大咖齐聚解读CV/NLP/跨模态大模型技术!

随着人工智能步入工业大生产阶段&#xff0c;AI大模型正在加速走出实验室&#xff0c;在全球范围内逐步实现产业落地应用的突破。自2020年至今&#xff0c;越来越多的科技巨头和科研机构参与其中。去年12月&#xff0c;百度发布了全球首个知识增强千亿级大模型——鹏城-百度文心…

Spring Cloud实战小贴士:健康检查

今天在博客的交流区收到一条不错的问题&#xff0c;拿出来给大家分享一下。具体问题如下&#xff1a; 因为项目里面用到了redis集群&#xff0c;但并不是用spring boot的配置方式&#xff0c;启动后项目健康检查老是检查redis的时候状态为down&#xff0c;导致注册到eureka后项…

恕我直言,你的模型可能并没看懂 prompt 在说啥

本文转载自公众号“夕小瑶的卖萌屋”&#xff0c;专业带逛互联网算法圈的神操作 -----》我是传送门 关注后&#xff0c;回复以下口令&#xff1a; 回复【789】 &#xff1a;领取深度学习全栈手册&#xff08;含NLP、CV海量综述、必刷论文解读&#xff09; 回复【入群】&#xf…

开源开放 | 区域供冷供热系统及空调系统知识图谱

OpenKG地址&#xff1a;http://openkg.cn/dataset/less开放许可协议&#xff1a;CC BY-SA 4.0 &#xff08;署名相似共享&#xff09;贡献者&#xff1a;浙江大学&#xff08;赵阳&#xff0c;李婷婷&#xff0c;章超波&#xff09;1、背景区域供冷供热系统及空调系统领域涉及知…

LeetCode 1334. 阈值距离内邻居最少的城市(最短路径Dijkstra)

1. 题目 有 n 个城市&#xff0c;按从 0 到 n-1 编号。给你一个边数组 edges&#xff0c;其中 edges[i] [fromi, toi, weighti] 代表 fromi 和 toi 两个城市之间的双向加权边&#xff0c;距离阈值是一个整数 distanceThreshold。 返回能通过某些路径到达其他城市数目最少、且…

五个同事想计算他们的平均工资,但公司不让吐露薪资,如何实现?

源 | Xpecya知乎大家好我是卖萌酱。昨天在知乎上刷到一个很有意思的问题&#xff1a;“五个同事决定计算他们的平均工资&#xff0c;在大家互相不告诉薪水的情况下&#xff0c;如何才能做到这一点&#xff1f;”。确实互联网公司是不让员工讨论薪资的&#xff0c;但通过一些神操…

基于Consul的分布式信号量实现

本文将继续讨论基于Consul的分布式锁实现。信号量是我们在实现并发控制时会经常使用的手段&#xff0c;主要用来限制同时并发线程或进程的数量&#xff0c;比如&#xff1a;Zuul默认情况下就使用信号量来限制每个路由的并发数&#xff0c;以实现不同路由间的资源隔离。 信号量(…

图谱实战 | 图视角下的信息抽取技术研究

导读&#xff1a;本次分享题目为《图视角下的信息抽取技术研究》&#xff0c;主要介绍&#xff1a;研究背景和意义国内外研究现状研究目标与内容主要成果与创新之处完成项目及发表论文情况分享嘉宾&#xff5c;郁博文博士 达摩院 算法专家编辑整理&#xff5c;王露出品平台&…

LeetCode 1335. 工作计划的最低难度(DP)

1. 题目 你需要制定一份 d 天的工作计划表。工作之间存在依赖&#xff0c;要想执行第 i 项工作&#xff0c;你必须完成全部 j 项工作&#xff08; 0 < j < i&#xff09;。 你每天 至少 需要完成一项任务。工作计划的总难度是这 d 天每一天的难度之和&#xff0c;而一天…

CCKS-面向数字商务的知识图谱比赛重磅上线,奖金等你来拿!

​CCKS 2022面向数字商务的知识图谱评测赛题介绍阿里巴巴商品数据规模庞大&#xff0c;商品知识图谱为海量异构的商品数据的组织、管理和利用提供了有效的方式。商品数据模态丰富&#xff0c;动态性高&#xff0c;数据存在噪声&#xff0c;这些都对商品的认知和理解带来了巨大挑…

基于Consul的分布式锁实现

我们在构建分布式系统的时候&#xff0c;经常需要控制对共享资源的互斥访问。这个时候我们就涉及到分布式锁&#xff08;也称为全局锁&#xff09;的实现&#xff0c;基于目前的各种工具&#xff0c;我们已经有了大量的实现方式&#xff0c;比如&#xff1a;基于Redis的实现、基…

LeetCode 1289. 下降路径最小和 II(DP)

1. 题目 给你一个整数方阵 arr &#xff0c;定义「非零偏移下降路径」为&#xff1a;从 arr 数组中的每一行选择一个数字&#xff0c;且按顺序选出来的数字中&#xff0c;相邻数字不在原数组的同一列。 请你返回非零偏移下降路径数字和的最小值。 示例 1&#xff1a; 输入&a…

警惕“不续签劳动合同”式裁员

文 | 是小酒呀源 | 知乎正文内容来源于作者 是小酒呀知乎&#xff0c;原文链接&#xff1a;https://zhuanlan.zhihu.com/p/499838511没想到裁员还有不续约这招&#xff1f;&#xff01;&#xff01;3月14日一大早&#xff0c;leader叫我去会议室&#xff0c;进入会议室后&#…

图谱实战 | OPPO自研大规模知识图谱及其在小布助手中的应用

分享嘉宾&#xff1a;李向林 OPPO编辑整理&#xff1a;吴祺尧 加州大学圣地亚哥分校出品平台&#xff1a;DataFunTalk导读&#xff1a;OPPO知识图谱是OPPO数智工程系统小布助手团队主导、多团队协作建设的自研大规模通用知识图谱&#xff0c;目前已达到数亿实体和数十亿三元组的…

LeetCode 1284. 转化为全零矩阵的最少反转次数(BFS 矩阵状态编码解码)

1. 题目 给你一个 m x n 的二进制矩阵 mat。 每一步&#xff0c;你可以选择一个单元格并将它反转&#xff08;反转表示 0 变 1 &#xff0c;1 变 0 &#xff09;。如果存在和它相邻的单元格&#xff0c;那么这些相邻的单元格也会被反转。&#xff08;注&#xff1a;相邻的两个…

Netflix Zuul与Nginx的性能对比

这是一篇翻译&#xff0c;关于大家经常质疑的一个问题&#xff1a;API网关Zuul的性能。原文&#xff1a;NETFLIX ZUUL VS NGINX PERFORMANCE作者&#xff1a;STANISLAV MIKLIK 如今你可以听到很多关于“微服务”的信息。Spring Boot是一个用来构建单个微服务应用的理想选择&…

LeetCode 773. 滑动谜题(BFS 地图状态转换的最短距离)

1. 题目 在一个 2 x 3 的板上&#xff08;board&#xff09;有 5 块砖瓦&#xff0c;用数字 1~5 来表示, 以及一块空缺用 0 来表示. 一次移动定义为选择 0 与一个相邻的数字&#xff08;上下左右&#xff09;进行交换. 最终当板 board 的结果是 [[1,2,3],[4,5,0]] 谜板被解开…