2023 arXiv MapperGPT: Large Language Models for Linking and Mapping Entities

论文基本信息

  • 题目:MapperGPT: Large Language Models for Linking and Mapping Entities
  • 作者:Nicolas Matentzoglu, J. Harry Caufield, Harshad B. Hegde, Justin T. Reese, Sierra Moxon, Hyeongsik Kim, Nomi L. Harris, Melissa A Haendel, Christopher J. Mungall
  • 机构:Semanticly Ltd., Lawrence Berkeley National Laboratory, Robert Bosch LLC, Anschutz Medical Campus, University of Colorado
  • 发表地点与年份:未明确说明会议或期刊,年份为2023年(根据文中提及的ChatGPT版本时间推断)
  • 关键词术语:
    • Entity Mapping(实体映射):确定不同术语资源(如本体、受控词汇表)中实体对应关系的过程。
    • Lexical Matching(词汇匹配):基于标签和同义词等词汇信息计算映射的启发式方法。
    • Large Language Models (LLMs)(大语言模型):如ChatGPT所使用的指令调优模型,用于理解和生成自然语言。
    • SSSOM (Simple Standard for Sharing Ontological Mappings):共享和比较实体映射的简单标准格式。

摘要(详细复述)

  • 背景:在医疗、化学和生物医学研究等领域,对齐术语资源(如本体、受控词汇表)是数据整合的关键部分。实体映射是确定这些资源间实体对应关系的过程。现有工具主要基于结构特征和词汇信息(如标签和同义词)计算映射,其中词汇方法通常召回率高但精确度低, due to lexical ambiguity,导致需要人工手动细化映射。
  • 方案概述:MapperGPT 使用 LLMs(如 ChatGPT)作为后处理步骤,与现有高召回方法(如 LOOM)协同工作,审查和细化映射关系。
  • 主要结果/提升:在解剖学、发育生物学和肾脏疾病等多个领域的对齐任务上评估,MapperGPT 结合高召回方法后,准确率显著提升,击败了当前最先进方法(如 LogMap)。具体地,使用 GPT-4 的 MapperGPT 整体 F1 分数为 0.672,比 LogMap(0.527)提升约 24%。
  • 结论与意义:LLMs 在语义映射问题上表现出潜力,尽管当前准确率(67%)仍低于专业人工 curator,但随着上下文利用能力的增强,有望快速缩小差距。

研究背景与动机

  • 学术/应用场景与痛点:生物和生物医学研究(如罕见疾病诊断)需要整合大量异构数据源,但不同数据提供者使用不同的受控词汇和本体,导致语义空间分散,实体映射成为关键挑战。手动映射数千个概念耗时且易出错。
  • 主流路线与局限:
方法类别 代表工作 优点 不足
Lexical Methods(词汇方法) LOOM(BioPortal) 高召回率(recall) 低精确度(precision),因词汇歧义易产生假阳性
Logical Axiom-Based Methods(基于逻辑公理的方法) LogMap 利用子类或互斥等逻辑公理提高精确度 未明确说明具体局限
Deep Learning/Language Models(深度学习/语言模型) OntoEmma, DeepAlignment, VeeAlign, Truveta Mapper 利用嵌入距离或结构预训练 未直接解决 LLMs 的幻觉和窗口大小限制问题
  • 代表工作与局限:现有 LLMs 直接用于映射生成面临挑战:训练数据截止时间旧、易产生幻觉(如生成错误标识符)、窗口大小限制(无法处理大规模本体),以及枚举所有实体对的高计算成本。

问题定义(形式化)

  • 输入:两个本体 O1O_1O1 和 O2O_2O2,以及一组候选映射 MMM(由高召回方法如 LOOM 生成)。
  • 输出:细化的映射集合 M′M'M′,其中每个映射包含类别(如 exactMatch)、置信度、相似性和差异。
  • 符号与变量:
    • mmm:候选映射,包含概念 aaa(来自 O1O_1O1)和概念 bbb(来自 O2O_2O2)。
    • GeneratePrompt\text{GeneratePrompt}GeneratePrompt:函数,生成包含概念描述的提示。
    • CompletePrompt\text{CompletePrompt}CompletePrompt:函数,使用 LLM 完成提示。
    • Parse\text{Parse}Parse:函数,解析 LLM 响应为结构化数据。
  • 约束与目标函数:目标是最大化映射的准确率(F1 分数),同时减少假阳性。
  • 评测目标:使用精确度(P)、召回率(R)和 F1 分数评估映射质量,以人工 curated 映射为金标准。

创新点(逐条可验证)

  1. LLM 作为后处理细化器:

    • 如何做:不直接生成映射,而是利用 LLM 审查现有高召回方法产生的候选映射,通过提示工程提供概念描述和示例,让 LLM 输出映射类别和理由。
    • 为什么有效:避免 LLM 的幻觉和窗口限制问题,同时利用其语义理解能力区分真假阳性,提高精确度。
  2. 基于 SSSOM 的标准化工具体系:

    • 如何做:使用 SSSOM 格式输入和输出映射,确保可共享和可比较;集成 OAK 库处理本体访问和词汇匹配。
    • 为什么有效:提供可重现的流水线(Makefile 实现),促进社区复用和基准测试。
  3. 挑战性测试集构建:

    • 如何做:从生物医学领域(如解剖学、疾病)创建新测试集,基于 Uberon、CL 和 Mondo 的 curated 映射生成金标准。
    • 为什么有效:针对词汇方法易出错的场景(如跨物种术语冲突),更公平评估 LLM 的语义理解能力。

方法与核心思路

整体框架

MapperGPT 是一个后处理框架,接收高召回方法产生的候选映射,使用 LLM 对每个候选映射进行分类和细化。系统依赖 OAK 库访问本体数据,使用 OntoGPT 实现主要逻辑,输出为 SSSOM 格式。
输入: 本体 O1, O2 高召回方法
e.g., LOOM, OAK Lexmatch 候选映射集合 M 循环处理每个映射 m 生成提示
包含概念描述和示例 LLM 完成提示
e.g., GPT-3.5, GPT-4 解析响应
提取类别/置信度等 细化映射 m' 输出: 细化映射集合 M' 评估与比较
使用金标准

步骤分解

  1. 输入准备:获取两个本体和候选映射集(通常来自词汇匹配工具)。
  2. 提示生成:对每个候选映射,使用 GeneratePrompt 函数生成提示,包括概念描述(名称、同义词、定义、父类等)和示例。
  3. LLM 调用:将提示发送至 LLM(如 GPT-4),获取自然语言响应。
  4. 响应解析:从响应中提取结构化字段(类别、置信度、相似性、差异)。
  5. 输出生成:将解析结果转换为 SSSOM 格式并输出。

模块与交互

  • OAK 库:处理本体访问、词汇匹配和子集提取,提供概念描述所需数据。
  • OntoGPT:核心实现模块,包含 categorize-mappings 方法,处理提示生成、LLM 调用和解析。
  • SSSOM 工具包:用于映射格式转换和比较。
  • LLM API:外部服务(如 OpenAI API),完成提示生成。

公式与符号

无显式数学公式,但关键函数伪代码如下:

算法主循环:

Input: O1,O2,MOutput: M′M′←∅for each m∈M:prompt←GeneratePrompt(m.a,m.b,O1,O2)response←CompletePrompt(prompt,model)m′←Parse(response)add m′ to M′return M′ \begin{aligned} &\text{Input: } O_1, O_2, M \\ &\text{Output: } M' \\ &M' \gets \emptyset \\ &\text{for each } m \in M: \\ &\quad \text{prompt} \gets \text{GeneratePrompt}(m.a, m.b, O_1, O_2) \\ &\quad \text{response} \gets \text{CompletePrompt}(\text{prompt}, \text{model}) \\ &\quad m' \gets \text{Parse}(\text{response}) \\ &\quad \text{add } m' \text{ to } M' \\ &\text{return } M' \end{aligned} Input: O1,O2,MOutput: M′M′←∅for each m∈M:prompt←GeneratePrompt(m.a,m.b,O1,O2)response←CompletePrompt(prompt,model)m′←Parse(response)add m′ to M′return M′

提示模板(文本结构):

复制代码
What is the relationship between the two specified concepts?
Give your answer in the form:
category:
confidence:
similarities:
differences:

Make use of all provided information, including the concept names, definitions, and relationships.

Examples:
{{ examples }}

Here are the two concepts:
{{ Describe(conceptA) }}
{{ Describe(conceptB) }}

描述函数:

  • Describe(concept)\text{Describe}(\text{concept})Describe(concept) 输出概念的名称、同义词、定义、父类和其他关系。

伪代码

python 复制代码
def MapperGPT(O1, O2, M, model):
    M_prime = []
    for m in M:
        prompt = generate_prompt(m.a, m.b, O1, O2)
        response = complete_prompt(prompt, model)  # Calls LLM API
        m_prime = parse_response(response)
        M_prime.append(m_prime)
    return M_prime

def generate_prompt(conceptA, conceptB, O1, O2):
    examples = load_examples()  # Pre-defined mapping examples
    descA = describe_concept(conceptA, O1)
    descB = describe_concept(conceptB, O2)
    return f"""
What is the relationship between the two specified concepts?
...  # As per template
Examples:
{examples}
Here are the two concepts:
{descA}
{descB}
"""

def describe_concept(concept, ontology):
    props = ontology.get_properties(concept)  # name, synonyms, definition, parents, relationships
    return format_as_text(props)

def parse_response(response):
    # Extract lines starting with category:, confidence:, etc.
    return { "category": ..., "confidence": ..., ... }

伪代码描述:MapperGPT 遍历候选映射,为每个映射生成包含概念描述和示例的提示,调用 LLM 获取响应,解析响应并收集结果。

复杂度分析

  • 时间复杂度:主要开销在 LLM 调用,每候选映射一次 API 请求。设候选映射数为 ∣M∣|M|∣M∣,LLM 生成延迟为 ttt,则总时间为 O(∣M∣⋅t)O(|M| \cdot t)O(∣M∣⋅t)。GPT-4 生成速度约 5 token/秒,提示和响应平均长度未说明,但预计处理大规模映射集较慢。
  • 空间复杂度:主要存储本体和映射数据,空间为 O(∣O1∣+∣O2∣+∣M∣)O(|O_1| + |O_2| + |M|)O(∣O1∣+∣O2∣+∣M∣),本体大小通常为百万级字符,但通过 OAK 流式处理,内存开销可控。
  • 资源开销:GPT-4 API 调用成本高,且非确定性运行可能导致可变财务开销。

关键设计选择

  • 后处理而非直接生成:避免 LLM 幻觉和窗口限制,利用现有高召回方法保证覆盖率。
  • 提示工程:提供结构化示例和概念描述,引导 LLM 输出标准化响应,减少歧义。
  • SSSOM 集成:确保输出与现有工具链兼容,促进可重复性。

实验设置

  • 数据集:
测试集 大小(exactMatch 数) 来源
MONDO-NCIT renal subset 25 Mondo(curated mappings)
HSAPV-MMUSDV(人类 vs. 小鼠发育阶段) 22 Uberon(curated mappings)
FBbt-WBbt(果蝇 vs. 蠕虫解剖) 41 Uberon(curated mappings)
FBbt-ZFA(果蝇 vs. 斑马鱼解剖) 72 Uberon(curated mappings)
  • 对比基线:

    • OAK Lexmatch:高召回词汇基线,无领域知识定制。
    • LogMap:OAEI 顶级方法,基于逻辑公理,提供映射分数。
  • 评价指标:精确度(P)、召回率(R)、F1 分数(F1=2⋅P⋅RP+RF1 = 2 \cdot \frac{P \cdot R}{P + R}F1=2⋅P+RP⋅R),仅考虑 exactMatch。

  • 实现细节:

    • 框架:OntoGPT(Python),集成 OAK 和 SSSOM 工具包。
    • LLM:OpenAI API(gpt-3.5-turbo 和 gpt-4),未说明硬件、batch、学习率(不涉及训练)。
    • 随机性:LLM 非确定性,多次运行确认排名稳定性,但未正式方差分析。
  • 随机性与种子:未说明种子设置。

实验结果与分析

主结果表

表3:所有映射任务结果(综合)

method F1 P R
lexmatch 0.340 0.210 0.881
logmap 0.527 0.458 0.619
gpt3 0.490 0.500 0.481
gpt4 0.672 0.601 0.762
  • GPT-4 的 MapperGPT 在 F1 上最佳(0.672),比 LogMap 提升 24%。
  • Lexmatch 召回率高(0.881)但精确度低(0.210),符合预期。

表4:果蝇 vs. 斑马鱼解剖任务

method F1 P R
lexmatch 0.349 0.219 0.847
logmap 0.486 0.404 0.611
gpt3 0.511 0.557 0.472
gpt4 0.644 0.543 0.792
  • GPT-4 召回率接近 Lexmatch(0.792 vs. 0.847),但精确度更高(0.543 vs. 0.219)。

表5:果蝇 vs. 蠕虫解剖任务

method F1 P R
lexmatch 0.257 0.152 0.854
logmap 0.520 0.441 0.634
gpt3 0.427 0.471 0.390
gpt4 0.660 0.585 0.756
  • GPT-4 在精确度(0.585)和召回率(0.756)上均优于其他方法。

表6:人类 vs. 小鼠发育阶段任务

method F1 P R
lexmatch 0.606 0.455 0.909
logmap 0.531 0.405 0.773
gpt3 0.556 0.714 0.455
gpt4 0.647 0.917 0.500
  • GPT-4 精确度最高(0.917),但召回率较低(0.500)。

表7:肾脏疾病任务

method F1 P R
lexmatch 0.352 0.214 1.000
logmap 0.721 0.611 0.880
gpt3 0.486 0.378 0.680
gpt4 0.793 0.697 0.920
  • GPT-4 F1 最高(0.793),召回率接近 Lexmatch(0.920 vs. 1.000)。

消融实验

未进行组件消融实验,但比较了不同 LLM(GPT-3.5 vs. GPT-4),显示 GPT-4 性能更好。

泛化/鲁棒性

测试集涵盖解剖学、发育阶段和疾病领域,显示跨领域有效性,但任务规模较小,需更大测试集验证。

复现性清单

  • 代码/数据:代码位于 OntoGPT 框架(https://github.com/ontogpt/ontogpt),测试集和流水线在线可用(未提供具体链接)。
  • 模型权重:使用外部 API(OpenAI),无本地权重。
  • 环境与依赖:基于 OAK 和 SSSOM 工具包,具体版本未说明。
  • 运行命令:ontogpt categorize-mappings --model gpt-4 -i foo.sssom.tsv -o bar.sssom.tsv
  • 配置文件:未说明。
  • 评测脚本:使用 Makefile 实现全可重现流水线。
  • 许可证与限制:未说明许可证,但依赖免费软件;GPT-4 运行成本高,且非确定性。

结论与未来工作

  • 可推广性:方法适用于任何领域的概念映射,尤其适合词汇歧义高的场景。
  • 后续方向:
    • 使用检索增强生成(RAG)让 LLM 直接提议候选映射,而非仅后处理。
    • 集成到 BoomerGPT 流水线,结合符号推理和概率方法。
    • 探索开源模型以降低成本和增强可控性。
  • 开源计划:已集成到 OntoGPT,但未明确时间表。
相关推荐
Agent产品评测局1 天前
企业生产报工自动化落地,数据采集全流程实现方案 —— 2026制造业数字化转型深度选型指南
运维·人工智能·ai·chatgpt·自动化
小鹿软件办公1 天前
OpenAI 面向高频用户推出全新 100 美元档 ChatGPT Pro 套餐
人工智能·chatgpt
斯坦SteinY1 天前
github年度热门开源项目
ai·chatgpt·开源·github·排名·热门项目
健康人猿1 天前
ChatGPT 推出了 Pro 5x,Codex使用额度又会做出什么新调整?
人工智能·ai·chatgpt·codex·奥特曼
Agent产品评测局2 天前
互联网行业自动化平台选型,运营全流程提效指南:2026企业级智能体架构与实战全解析
运维·人工智能·ai·chatgpt·架构·自动化
小真zzz2 天前
搜极星:你的免费“AI内容验真器”
大数据·人工智能·ai·chatgpt·seo·geo
White-Legend2 天前
codex gpt-5.4 日卡200刀
chatgpt
Agent产品评测局2 天前
企业 IT 运维自动化落地,故障处理全流程实现方法:2026智能体驱动下的运维架构演进与实战解析
运维·人工智能·ai·chatgpt·架构·自动化
yumgpkpm3 天前
华为昇腾910B上用Kubernetes(K8s)部署LLM和用Docker部署LLM的区别
docker·chatgpt·容器·stable diffusion·kubernetes·llama·gpu算力
啦啦啦!3 天前
ChatGPT和Gemini的接入和封装
人工智能·ios·chatgpt