当前位置: 首页 > news >正文

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在聚…...

自动化测试如何准备测试数据

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

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个数字均为同一个数的除外)&#xff0…...

李宏毅机器学习笔记.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更具公告…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

反射获取方法和属性

Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关

在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...