Mgeo:multi-modalgeographic language model pre-training
文章目录
- question
- 5.1 Geographic Encoder
- 5.1.1 Encoding
- 5.1.2
- 5.2 multi-modal pre-training
- 7 conclusion
- Geo-Encoder: A Chunk-Argument Bi-Encoder Framework for Chinese Geographic Re-Ranking
- abs
- ERNIE-GeoL: A Geography-and-Language Pre-trained Model and its Applications in Baidu Maps
- abs
- intro
question
给定query,如何选取周边n个地理实体。(按照距离远近)
训练过程如何进行。(nlp mask,对比学习)
5.1 Geographic Encoder
如果没有 GC,仅有地理定位是毫无意义的。地理编码器将地理位置 l 作为输入,将 GC 作为一种新的模态映射到密集表征中,其中包含周围地理对象的特征 {o1, o2, ., on }。
5.1.1 Encoding
地理编码器可提取查询/POI 地理定位(点)与其周围地理对象(线或多边形)之间的相关性。地理编码器分别将地理对象的固有特征(即 ID、形状和地图位置)、关系(即 NEAR 或 COV ERED)和相对位置表示为嵌入。
ID.为了提取地理对象的内在特征,OSM ID 被映射到嵌入式中,其方式与单词嵌入式类似。oi 的 ID 嵌入表示为 ed i。
shape.使用独热函数将分类形状类型 osi 编码为数字数组,并获得其相应的嵌入信息 es i。形状类型嵌入表示为 es i。
地图位置。oi 在地图 em i 中的绝对位置是将其与其他地理物体区分开来的关键。以矩形为单位的整个地图区域被分割成 N × N 的网格,从而分别获得经度和纬度的比例因子 slng 和 slat:
地理对象的内在特征由三个组成部分(ed、es 和 em)描述。ed是地理对象的唯一标识符,es区分道路和ROI,em描述不同地理对象之间的位置关系。另外两个分量(et 和 ep)描述了地理定位与地理对象之间的相关性。将周围的地理对象编码为一个序列 {e1, ., em } 后,地理编码器采用多层双向变换器 [33] 来学习它们之间的相互作用。根据之前的工作[31],地理编码器会像 CLS 编码器一样在开头预置一个 GC 标记。因此,地理编码器的输出表示为 {hGC, h1, ., hm }。
5.1.2
我们设计了两个任务来训练地理编码器,并在以后的使用中固定下来,即屏蔽地理建模(MGM)和地理对比学习(GCL)。
MGM与广泛使用的掩码语言建模(MLM)[5]一样,MGM 的目的是预测掩码地理特征,即 OSM ID、几何类型、替代矩形的各边、关系类型和相对位置。MGM 损失 LMGM 由所有特征的屏蔽损失相加计算得出。
GCL。这项任务与大小为 bs 的批次中的多个地理位置 {l pq 1 ,…,l pq bs } 有关。我们首先定义现实世界中的地理距离矩阵 H∈Rbs×bs 如下:
其中,haversine 是计算地理位置间球形距离的 haversine 函数[23], ||`||N 是高斯归一化函数,σ 是将距离映射到范围(0,1)的 sigmoid 函数。由于输出空间中嵌入点之间的潜在距离应与它们在现实世界中的地理距离相对应,因此我们使用 hGC 作为地理定位 lpq 与 GC 的表示,并计算潜在距离矩阵̃ H∈ Rbs×bs 如下:
其中,⟨-⟩ 表示 doc-product 函数,∥ - ∥L2 为 L2 归一化函数。我们使用 KL-发散度来衡量 H 和 ~H 之间的相似度:
其中,DKL (- ∥ -) 表示 KL-发散,而 so f tmax 函数用于将 Hi 和 ~ Hi 转换为分布。
因此,地理编码器的训练损耗 Lg 的计算公式为
Lg = LMGM + LGCL (13)
利用这样的训练过程,地理编码器就能对给定地理信息系统中的 GC 进行建模。
5.2 multi-modal pre-training
MGeo 预训练的输入是一对文本和地理位置(t,l)。预训练数据可以来自不同来源,例如用户的点击或送货员的位置。多模态训练旨在将这两种模态对齐到一个潜在空间中。词嵌入用于将文本映射到向量序列中。地理编码器提供给定 l 的 GC 嵌入式。然后将两个嵌入式连接在一起,并输入多层双向变换器。
我们使用三种任务来学习 GC 与文本之间的交互,即单模式 MLM、多模式 MLM 和多模式 MGM。这些任务轮流进行训练。单模态 MLM 是 BERT 中使用的原始 MLM 任务,它随机屏蔽输入文本并用 MASK 标记替换。单模态 MLM 会移除地理编码器的输出。而多模态 MGM 则依靠整个地理编码器和部分文本信息来预测被屏蔽的标记。多模态 MGM 会随机屏蔽输入的地理特征并将其替换为 MASK,然后根据整个文本信息和部分地理信息进行预测。
7 conclusion
在本文中,我们正式提出了地理语境(GC)这一重要概念,它在现实世界中人类探索 POI 的过程中不可或缺。我们提出了一种多模态地理语言模型 MGeo,它将 GC 视为一种新的模态。因此,GC 可以与文本一起表示。此外,我们还建立了一个新的开源大规模基准 GeoTES,以促进对查询-POI 匹配主题的进一步研究。我们在最先进的 PLM 上进行了广泛的实验来评估我们提出的方法,详细的分析表明 MGeo 的性能明显优于其他基准。即使用户的地理位置可能不存在,查询也没有 GC,MGeo 仍然能比基线方法有所改进,这表明它有能力对文本到文本、GC 到 GC 以及文本到 GC 的相关性进行建模。在未来的工作中,还可以进一步探索 POI 图像等其他模式,以及更具创造性的地理编码器。此外,我们提出的 GC 建模有可能促进所有与地理相关的任务。
Geo-Encoder: A Chunk-Argument Bi-Encoder Framework for Chinese Geographic Re-Ranking
abs
中文地理重排序任务旨在从检索到的候选地址中找出最相关的地址,这对于导航地图等与位置相关的服务至关重要。与一般句子不同,地理上下文与地理概念密切相关,从一般跨度(如省)到具体跨度(如路)。鉴于这一特点,我们提出了一个创新框架,即地理编码器(Geo-Encoder),以更有效地将中文地理语义整合到重新排序管道中。我们的方法首先利用现成的工具将文本与地理跨度关联起来,将它们视为分块单元。然后,我们提出了一个多任务学习模块,以同时获取有效的注意力矩阵,从而确定分块对额外语义表征的贡献。此外,我们还为拟议的添加任务提出了一种异步更新机制,旨在引导模型有效地关注特定的语块。在两个不同的中国地理重新排序数据集上进行的实验表明,与最先进的基线相比,地理编码器取得了显著的改进。值得注意的是,它大大提高了 MGEOBERT 的 Hit@1 分数,在 GeoTES 数据集上从 62.76 提高到 68.98,提高了 6.22%。
ERNIE-GeoL: A Geography-and-Language Pre-trained Model and its Applications in Baidu Maps
abs
预训练模型(PTM)已成为自然语言处理和计算机视觉下游任务的基本支柱。尽管在百度地图上将通用 PTM 应用于地理相关任务取得了初步成效,但随着时间的推移,人们发现其性能明显趋于稳定。造成这种停滞的主要原因之一是通用 PTM 中缺乏现成的地理知识。为了解决这个问题,我们在本文中介绍了 ERNIE-GeoL,它是一个地理和语言预训练模型,专为改善百度地图的地理相关任务而设计和开发。ERNIE-GeoL经过精心设计,通过对包含丰富地理知识的异构图生成的大规模数据进行预训练,学习地理语言的通用表示。在大规模真实世界数据集上进行的大量定量和定性实验证明了ERNIE-GeoL的优越性和有效性。自 2021 年 4 月起,ERNIE-GeoL 已在百度地图的生产中部署,并显著提高了各种下游任务的性能。这表明,ERNIE-GeoL 可以作为各种地理相关任务的基础骨干。
intro
百度地图提供的网络地图服务,如兴趣点(POI)检索[7, 13, 15]、POI 推荐[4]、POI 信息页面[31]和智能语音助手[12]等,都通过应用 PTM 提高了性能。然而,我们在实践中观察到,随着时间的推移,性能明显趋于稳定,也就是说,与通用 PTM 的优化相比,性能提升仍然微不足道。造成这种高原现象的主要原因之一是缺乏地理知识,而地理知识在改进需要地理信息计算支持的任务(以下简称地理相关任务)中发挥着至关重要的作用。在这项工作中,我们重点关注两类地理知识。(1) 地名知识。地名是指地理位置实体的名称,如 POI、街道和地区。地名解析[20]的目的是从文本中识别和提取地名,是各种地理相关任务的基本需要。然而,通用 PTM 很难捕捉到大多数地名的语义,因为地名知识在其训练数据中基本不存在或很少出现。(2) 空间知识。空间知识主要包括地理位置实体的地理坐标以及不同地理位置实体之间的空间关系,这些知识是地理编码[9]和地理参照[11]等地理相关任务所不可或缺的。然而,由于缺乏空间知识和纳入空间知识的预训练任务,通用 PTM 无法有效处理与地理相关的任务。
相关文章:

Mgeo:multi-modalgeographic language model pre-training
文章目录 question5.1 Geographic Encoder5.1.1 Encoding5.1.2 5.2 multi-modal pre-training 7 conclusionGeo-Encoder: A Chunk-Argument Bi-Encoder Framework for Chinese Geographic Re-Rankingabs ERNIE-GeoL: A Geography-and-Language Pre-trained Model and its Appli…...

[激光原理与应用-75]:西门子PLC系列选型
目录 一、西门子PLC PLC系列 二、西门子PLC S7 1200系列 2.1 概述 2.2 12xx系列比较 三、西门子 PLC 1212C系列 四、主要类别比较 4.1 AC/DC/RLY的含义 4.2 AC/DC/RLY与DC/DC/DC 4.3 直流输入与交流输入比较 4.4 继电器输出与DC输出的区别 一、西门子PLC PLC系列 …...

Linux上编译sqlite3库出现undefined reference to `sqlite3_column_table_name‘
作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 在Ubuntu 18上编译sqlite3库后在运行程序时出现undefined reference to sqlite3_column_table_name’的错误。网上的说法是说缺少SQLITE_ENABLE_COLUMN_M…...

第十五章 EM期望极大算法及其推广
文章目录 导读符号说明混合模型伯努利混合模型(三硬币模型)问题描述三硬币模型的EM算法1.初值2.E步3.M步初值影响p,q 含义 EM算法另外视角Q 函数BMM的EM算法目标函数LEM算法导出 高斯混合模型GMM的EM算法1. 明确隐变量, 初值2. E步,确定Q函数3. M步4. 停止条件 如何应用GMM在聚…...

自动化测试如何准备测试数据
其实大部分类型的测试都需要去准备测试数据。 手工测试:一些基础数据,比如配置数据等等是需要去准备的;自动化测试:基础需要准备,现有数据,动态运行时产生的数据是需要准备的;性能测试…...

javaEE -13(6000字CSS入门级教程 - 2)
一:Chrome 调试工具 – 查看 CSS 属性 首先打开浏览器,接着有两种方式可以打开 Chrome 调试工具 直接按 F12 键鼠标右键页面 > 检查元素 点开检查即可 标签页含义: elements 查看标签结构console 查看控制台source 查看源码断点调试ne…...
vscode 使用python无法导入库
刚刚在使用vscode,编辑python时,在使用语句 import matplotlib.pyplot as plt 时出现报错,但是在命令行下和conda环境中没有报错 在尝试 pip uninstall matplotlib pip install matplotlib后无法解决 之后再发现是工作的目录出错导致的,…...

三维向量旋转
三维向量旋转 问题描述问题分析 v ⃗ ∣ ∣ \vec{v}_{||} v ∣∣的旋转 v ⃗ ⊥ \vec{v}_{\bot} v ⊥的旋转 v ⃗ \vec{v} v 的旋转结论致谢 问题描述 如图1所示,设一个向量 v ⃗ \vec{v} v 绕另一个向量 u ⃗ [ x , y , z ] T \vec{u}[x,y,z]^{T} u [x,y,z]T…...

顺序表——leetcode
原地删除数据 我们的思路这里给的是双指针,给两个指针,从前往后移动,如果不是val就覆盖,如果是我就跳过,大家一定要看到我们的条件是原地修改,所以我们不能另开一个数组来实现我们这道题目。 这里我们给两…...

Kaprekar 7641 - 1467= 6174
package homework;import java.util.Arrays;import util.StringUtil;/*** 数学黑洞数6174,即卡普雷卡尔(Kaprekar)常数, 它的算法如下: 取任意一个4位数(4个数字均为同一个数的除外)࿰…...

李宏毅机器学习笔记.Flow-based Generative Model(补)
文章目录 引子生成问题回顾:GeneratorMath BackgroundJacobian MatrixDeterminant 行列式Change of Variable Theorem简单实例一维实例二维实例 网络G的限制基于Flow的网络构架G的训练Coupling LayerCoupling Layer反函数计算Coupling Layer Jacobian矩阵计算Coupli…...
Java使用Spark入门级非常详细的总结
目录 Java使用Spark入门 环境准备 安装JDK 安装Spark 编写Spark应用程序 创建SparkContext 读取文本文件 计算单词出现次数 运行Spark应用程序 总结 Java使用Spark入门 本文将介绍如何使用Java编写Spark应用程序。Spark是一个快速的、通用的集群计算系统,它可以处理…...

kubernetes集群编排——k8s存储
configmap 字面值创建 kubectl create configmap my-config --from-literalkey1config1 --from-literalkey2config2kubectl get cmkubectl describe cm my-config 通过文件创建 kubectl create configmap my-config-2 --from-file/etc/resolv.confkubectl describe cm my-confi…...

【软件STM32cubeIDE下H73xx配置串口uart1+中断接收/DMA收发+HAL库+简单数据解析-基础样例】
#【软件STM32cubeIDE下H73xx配置串口uart1中断接收/DMA收发HAL库简单数据解析-基础样例】 1、前言2、实验器件3-1、普通收发中断接收实验第一步:代码调试-基本配置(1)基本配置(3)时钟配置(4)保存…...
jdk8和jdk9中接口的新特性
jdk8之前:声明抽象方法,修饰为public abstract。 jdk8:添加声明静态方法,默认方法。 jdk9:添加声明私有方法 jdk8: ①接口中声明的静态方法只能被接口来调用,不能使用其实现类进行调用 静态方法的声明&…...
1-爬虫-requests模块快速使用,携带请求参数,url 编码和解码,携带请求头,发送post请求,携带cookie,响应对象, 高级用法
1 爬虫介绍 2 requests模块快速使用 3 携带请求参数 4 url 编码和解码 4 携带请求头 5 发送post请求 6 携带cookie 7 响应对象 8 高级用法 1 爬虫介绍 # 爬虫是什么?-网页蜘蛛,网络机器人,spider-在互联网中 通过 程序 自动的抓取数据 的过程…...

java商城免费搭建 VR全景商城 saas商城 b2b2c商城 o2o商城 积分商城 秒杀商城 拼团商城 分销商城 短视频商城
1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…...

【TS篇一】TypeScript介绍、使用场景、环境搭建、类和接口
文章目录 一、TypeScript 介绍1. TypeScript 是什么1.2 静态类型和动态类型1.3 Why TypeScript1.4 TypeScript 使用场景1.5 TypeScript 不仅仅用于开发 Angular 应用1.6 前置知识 二、如何学习 TypeScript2.1 相关链接 三、起步3.1 搭建 TypeScript 开发环境3.2 编辑器的选择3.…...
Tuna: Instruction Tuning using Feedback from Large Language Models
本文是LLM系列文章,针对《Tuna: Instruction Tuning using Feedback from Large Language Models》的翻译。 Tuna:使用来自大型语言模型的反馈的指令调优 摘要1 引言2 方法3 实验4 相关工作5 结论局限性 摘要 使用更强大的LLM(如Instruction GPT和GPT-…...

uni-app 应对微信小程序最新隐私协议接口要求的处理方法
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一,问题起因 最新在开发小程序的时候,调用微信小程序来获取用户信息的时候经常报错一个问题 fail api scope is not declared in the privacy agreement,api更具公告…...

(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

若依登录用户名和密码加密
/*** 获取公钥:前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...
JS红宝书笔记 - 3.3 变量
要定义变量,可以使用var操作符,后跟变量名 ES实现变量初始化,因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符,可以创建一个全局变量 如果需要定义…...
接口 RESTful 中的超媒体:REST 架构的灵魂驱动
在 RESTful 架构中,** 超媒体(Hypermedia)** 是一个核心概念,它体现了 REST 的 “表述性状态转移(Representational State Transfer)” 的本质,也是区分 “真 RESTful API” 与 “伪 RESTful AP…...

数据挖掘是什么?数据挖掘技术有哪些?
目录 一、数据挖掘是什么 二、常见的数据挖掘技术 1. 关联规则挖掘 2. 分类算法 3. 聚类分析 4. 回归分析 三、数据挖掘的应用领域 1. 商业领域 2. 医疗领域 3. 金融领域 4. 其他领域 四、数据挖掘面临的挑战和未来趋势 1. 面临的挑战 2. 未来趋势 五、总结 数据…...