论文推送 | MapGPT:集成大语言模型和制图工具的自主制图框架及软件

学术   2024-10-06 18:00   云南  

(论文)Yifan Zhang, Zhengting He, Jingxuan Li, Jianfeng Lin, Qingfeng Guan, Wenhao Yu*. 2024. MapGPT: An Autonomous Framework for Mapping by Integrating Large Language Model and Cartographic Tools. Cartography and Geographic Information Science, 127. DOI:10.1080/15230406.2024.2404868

(专利)结合智能体与稀疏重建的制图方法、装置、设备及介质。申请号:2024113347216

(软件著作权)基于大语言模型智能体的地图自主生成系统【简称:MapGPT


MapGPT模型演示


MapGPT软件功能演示


作者简介


禹文豪(通讯作者)中国地质大学(武汉)地理与信息工程学院,教授,博士生导师,主要从事地图综合、空间数据挖掘及大模型等研究。(联系邮箱:yuwh@cug.edu.cn;个人网站:http://grzy.cug.edu.cn/yuwenhao/zh_CN/index.htm

张一帆,博士研究生,中国地质大学(武汉)地理与信息工程学院,研究方向为GeoAI与地图综合。

贺正庭,硕士研究生,中国地质大学(武汉)地理与信息工程学院,研究方向为GeoAI

李婧璇,本科生,中国地质大学(武汉)地理与信息工程学院,研究方向为GeoAI

林剑锋,美团,骑行数据挖掘团队负责人,研究方向为人工智能及多模态学习。

关庆锋,博士,中国地质大学(武汉)地理与信息工程学院,教授,主要从事高性能空间计算、空间计算智能、时空大数据和时空数据挖掘与模拟等研究。

宋佳语,本科生,中国地质大学(武汉)地理与信息工程学院,研究方向为大模型与软件。


1

内容导读


地图是一个古老但又常用的产品,既要“准”又要“美”;在地图元素、图幅等设计过程中平衡两者需要扎实的专业功底,因此地图学一直以来门槛较高。目前有诸多尝试地图制图与AI的结合,谈论最多的是风格迁移、图像生成等AI模型。但该类方法直接将地图视为整体一次性生成,容易错过地图制图的过程化管理与单个地图元素的设计,难以达到。本论文基于大模型智能体框架,通过组合调用基础制图工具来完成空间数据的自动渲染(实现),并内嵌DALLE-3模型根据用户意图生成创意性符号(实现)。该框架可扩展且可交互,即用户对结果地图元素、整饰不满意,可与大模型智能体交互完成内容的重新调整和更新。

框架如图1所示。

1. MapGPT框架


2

研究方法


我们的框架中主要包括两个部分:(1)专业的制图工具模块,用来支持各种制图需求;(2)连接大语言模型与制图工具模块的环境搭建,用来理解用户需求,并准确调用各个专业制图工具。

(1)专业的制图工具模块

我们针对多个地图元素定义了相应的制图工具,以实现对不同地图元素的细粒度控制,用以满足用户精细的制图需求。基础工具主要包括五个方面:地图初始化、添加地图图层、修改地图元素参数、添加地图元素、保存输出地图。

1.地图初始化:根据用户指定的地理空间数据,使用该部分的工具构建地图框架。具体来说,地图初始化模块内的工具主要用于根据用户给定的地理空间数据定义地图范围和相应的坐标系统,并根据用户需求设置地图背景颜色等。

2.添加地图图层:这部分的工具主要用于控制添加地图图层,包括点、线、面要素图层。模型可以自动识别相应的地理要素,并进行根据需求加载相应的地图符号来表示地理要素。

3.修改地图元素参数:针对不同的地图元素,设计可以调整其细节表达的多个工具,例如,针对地图指北针元素,设计了modify_compass_location, modify_compass_width, modify_compass_color, modify_compass_style等多个工具来调整其表达形式。基于这些工具,本框架可以实现对地图元素的细粒度控制。

4.添加地图元素:修改完相应地图元素参数后,使用添加地图元素工具将其绘制到地图上,地图元素包括常见的指北针、比例尺、图框、图例、图名、图文注记等。

5.保存输出地图:输出保存地图。

2. 制图工具库

此外,考虑到地图符号设计的关键作用,我们设计了一个巧妙的地图符号设计模块,可以根据用户自然指令需求针对不同的地理元素自动设计相应的地图符号。具体来说,地图符号可以根据不同的标准(如形态、样式等)来进行分类,以支持不同类型的地理信息表达。地图符号的分类标准有很多。例如,基于几何特征,地图符号可分为三种类型:点、线和面的几何形式。根据外观特征,地图符号可以分为几何符号、象征符号和图形符号。具体来说,几何符号是用简单的形状,如圆、方形、三角形和线条,用于定量或分类地表示数据。这些符号简单有效,适用于不同的比例尺。象征符号是抽象的或文化约定的图标,用于表示概念或实体,依赖于共同理解的含义,因此能有效地表示复杂或抽象的信息。图形符号则是与其所代表的物体外观密切相似的图形表示。这些符号直观易懂,适合面向普通观众的地图。

因此,在MapGPT框架中,我们基于这些常用符号实现了多个地图符号设计工具。首先,点符号主要用于表示具有锚定特征的地理元素的位置和数量。为此,我们提供了一个 modify_point_style工具,可以用多种几何符号表示点,包括三角形、正方形和圆形(见图 3a)。线符号主要用于表示在特定方向上延伸的线性或带状地理元素,如河流、交通道路、管道设施和边界线。类似地,我们提供了一个modify_line_style工具,用于用实线和虚线表示线条(见图3b)。最后,面状符号用于表示在地理空间中呈平面形状分布的地理元素。在此框架中,我们设计了一个modify_polygon_style工具,用于以两种填充方式表示多边形:点填充和线填充。点填充是根据一定的排列方式在平面区域内重复分布点符号;线填充是根据特定的线条、方向和间距用线性符号填充多边形区域。最后,另一种常见用法是使用颜色对多边形进行符号化以创建分层地图(即颜色填充),例如用于显示不同区域的人口和经济指标(见图3c)。

3. MapGPT中点、线、面的几何符号设计

然而,考虑到简单的几何符号可能无法满足用户需求,我们还设计了一个 generate_symbol工具,以便 MapGPT 框架自主生成更多地图符号。具体上,我们融合了目前表现优秀的文生图模型DALL·E 3,用以支持生成多样化的地图符号。DALL·E 3可以接受用户自然语言描述作为输入,然后生成对齐该描述的图像输出。为此,我们为该工具设计了一个提示,指导模型生成适合用作地图符号的图像。提示内容为:Please help me design a map symbol that represents {keywords}. Try to keep it simple and understandable, using only one color tone and reflecting the style of a simple drawing. There should be as few elements as possible. Try to present only the symbol I need.”. 其中,keywords是大语言模型根据用户需求输入自主进行推理后得到的内容。在制图过程中,语言模型将解读用户需求,并自动调用generate_symbol工具生成合适的符号形式。此外,由于地图符号设计是一个较为主观的任务,为了满足用户需求,MapGPT可支持过程交互:在一次工具调用中,模型会同时生成3个符号,用户可以自主选择其中一个符号来表达相应的地理要素(见图4)。

4. (a) MapGPT中符号生成的工具机制及交互模式;(b)使用场景示例

(2)连接大语言模型与制图工具模块的环境

一般来说,语言模型只能接收文本作为输入,并以文本作为响应输出。因此,为了让大语言模型能够使用专业的制图工具,需要建立一个与制图工具模块连接的环境。首先,由于工具是外部提供的,需要让大语言模型了解它们可以使用多少工具以及每个工具的使用方法。本文提供了工具功能的详细描述,具体的描述可以参见文章附录A中所述。这些信息将首先输入到大语言模型中。接着,为了引导大语言模型像制图专家一样思考,我们设计了图5中展示的提示。该提示包含需要遵循的制图规则,使大语言模型能够从中学习制图过程。在这个过程中,大语言模型与工具之间的信息交互在解决制图任务中起着重要作用。

因此,MapGPT设计了一种信息交互机制,包括思考(Thought)、动作(Action,工具名称)、动作输入(Action Input,输入参数)和观察(Observation,工具输出)这一套流程。在每个动作中,大语言模型的输出将被分解,所选工具将调用相应的输入参数。随后,该工具的输出与先前信息将输入到大语言模型中,以便进行下一轮的思考和行动。最终,当接收到制图完成的指令时,LLM将按照设计的流程输出最终结果。然而,用户可能对制图结果不满意,并可能需要进一步调整。在这种情况下,我们还设计了一个记忆组件,用于存储上一个指令的输入信息及相应的大语言模型输出信息。这使得先前对话的上下文能够在与大语言模型的互动中保存并整合,从而使 MapGPT 能够通过多轮对话根据用户的后续需求调整地图元素。

5. 提示设计。MapGPT可自主理解用户自然语言需求和工具描述,调用不同的制图工具、按照一定的制图流程来解决相应的制图任务。


3

案例


在实验中,我们将MapGPT应用于多个复杂的制图案例。在这里,我们仅介绍其中一个案例,其他案例可以参见文章第四节

1.    制图

在这个案例中,我们测试了MapGPT在用户给定复杂制图指令时的表现,具体的制图需求如图6所示,用户需要MapGPT使用相应的矢量数据制作一个题为“广东省行政区划图”的地图,并且要添加相应的文字注记来介绍广东省。

基于用户的需求,MapGPT会首先进行地图初始化,根据用户指定的数据,设置地图的范围、坐标系等;同时,MapGPT会根据用户需求设置地图背景颜色;

接着,MapGPT会添加相应的地图图层。在添加图层之前,MapGPT会首先设置相应图层的属性,包括线性图层的线宽度、线型,以及面图层的颜色,然后再添加相应的图层;

接着,MapGPT会添加相应的地图元素,包括地图比例尺、指北针、图例、图名等;由于用户要求给出相应的文字注记来介绍广东省,MapGPT会首先利用大语言模型内含的相关知识生成一段文字描述,接着将其传入地图文字注记工具,生成相应的文字注记;在这个过程中,如果MapGPT理解到内部大语言模型所蕴含的知识不足以提供相应的文字信息,它会自动调用一个网络搜索工具来搜索最新的信息,并进一步加载到地图上(见文章第四节案例二);

最后,MapGPT认为该制图任务结束,调用地图保存工具来保存相应地图内容。

从这个流程过程中,我们可以看到,基于大语言模型和专业制图工具支持的MapGPT框架可以有效解决用户的制图需求。同时,在这个过程中,用户只需要输入自然语言来描述制图需求,对非专业用户非常友好。

论文中还展示了更多的案例来介绍MapGPT具备的地图符号生成功能、对话功能,详情可以参见论文第四章,也可以通过视频了解详情

6. 用户通过自然语言描述其制图需求后,MapGPT可以有效理解其指令,并通过自主调用相应的专业制图工具来解决该制图任务

7. 案例展示效果图

  1. 12.    评价

在案例研究中,我们设计了五个案例,以评估 MapGPT 解决复杂制图任务的能力、地图符号设计能力、以及用户参与地图生成过程的交互对话能力。在本节中,我们将对生成地图的质量进行人工评估,设计了四个指标来评估制图结果:

1. 准确性:地图传达地理信息的准确性。

2. 完整性:MapGPT 旨在理解用户需求并相应生成地图。完整性反映 MapGPT 是否考虑了给定指令中的所有制图需求。

3. 灵活性:MapGPT 允许用户通过自然语言生成或修改制图结果。灵活性评估 MapGPT 是否能够根据用户指令灵活生成或修改地图元素。

4. 美学评估:制图的美学质量对制图专家非常重要。美学评估包括地图的可读性、色彩方案以及地图符号设计等因素。

对于前面三个指标(准确性、完整性和灵活性),邀请了五位 GIS 专业人士评估五个案例中生成地图的质量。这些指标被设计为二元值,表示 MapGPT 是否能够生成准确的地图、理解所有用户需求,并灵活地遵循用户指令。在美学评估方面,我们邀请了五位 GIS 专业人士和五位不同科学背景的本科生对地图进行评估。他们被要求对五幅地图进行 1 5 分的打分,分数越高表示对地图的满意度越高。所有结果列在表 1中。

从结果来看,所有人员一致认为 MapGPT 能够生成准确的地图,遵循用户指令,并满足他们的需求。实际上,由于 MapGPT 可以处理用户计算机上的现有数据,因此生成地图的准确性可以通过所使用的地理空间数据集得到保证。在美学评估方面,专业人士的得分往往低于本科生的得分。这反映出专业人士由于接受过专业培训,对结果有更详细和严格的要求。结果显示,案例 1 获得了较高的美学评估分数。一个潜在原因是案例 1 的输入指令中包含了适当的色彩方案。然而,如果用户没有指定色彩方案,MapGPT 将采用默认颜色来显示地理空间数据(如其他案例所示)。因此,探索如何在MapGPT中结合地图美学机制是我们未来研究的工作。


4

结论


在本文中,我们介绍了MapGPT,一个利用大语言模型进行地图绘制的自动化框架及软件。MapGPT通过利用自然语言描述作为用户交互接口,提供了用户友好的地图制图体验。在这个框架中,我们采用了大模型作为驱动地图处理的核心,首先理解和解译用户需求,然后自动调用专业的绘图工具进行地图绘制。在本研究中,我们将地图进行细粒度拆分,将其形式化成多种地图元素的集成。同时,为了支持精细尺度的制图需求,我们设计了一个专业的制图工具模块,包括68个专用工具,用于控制相应地图元素的细节可视化表达。此外,提出的框架还具有对话能力,使MapGPT用户能够在整个绘图任务中根据已有可视化结果来进一步调整他们的需求。最后,我们进行了多个案例研究,验证了MapGPT在解决复杂制图任务、设计合适的地图符号、以及用户交互进行地图制图、修改完善等三个方面的有效性。此外,由于MapGPT是一个可扩展的框架,可以向其中添加更多的专业绘图工具,以支持更加丰富的绘图需求。因此,未来的工作将继续专注于增强MapGPT的制图能力和用户交互体验。此外,我们还从如何扩展多样化的专业工具、如何结合地图学领域专业知识、如何增加多样化的用户交互方式以及如何评估MapGPT在更广泛应用领域的有效性等多个方面展开了讨论与展望,详情可参见文章第五章节。



欢迎关注

HPSCIL@CUG



走天涯徐小洋地理数据科学
一个爱生活的地理土博,分享GIS、遥感、空间分析、R语言、景观生态等地理数据科学实操教程、经典文献、数据资源
 最新文章