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,但未明确时间表。
相关推荐
GEO_JYB16 小时前
大语言模型的“思考”逻辑:从Token生成到上下文理解的内部流程
人工智能·chatgpt
陈敬雷-充电了么-CEO兼CTO1 天前
66具身智能让人形机器人 “活” 起来:懂语言、能感知、会行动,智能进化再提速
人工智能·gpt·机器学习·chatgpt·机器人·机器翻译·具身智能
Virgil1392 天前
如何正确使用ChatGPT做数学建模比赛——数学建模AI使用技巧
人工智能·数学建模·chatgpt
迪娜学姐3 天前
顶级科学家的AI使用指南:从工具到合作伙伴
论文阅读·人工智能·chatgpt·prompt·论文笔记
迪娜学姐3 天前
GPT-5论文选题实测:如何从2000篇文献中提炼出3个可快速落地的高命中选题?
人工智能·gpt·chatgpt·prompt·论文笔记
一点一木3 天前
从零实现 LLM(上):原理讲透 + 最小可运行 GPT
人工智能·chatgpt·llm
一点一木3 天前
从零实现 LLM(下):推理生成、常见问题与进阶优化
人工智能·chatgpt·llm
数据智能老司机5 天前
使用 ChatGPT 构建网站——创建并部署你的第一个网页
chatgpt·vibecoding
陈敬雷-充电了么-CEO兼CTO6 天前
深度拆解判别式推荐大模型RankGPT!生成式精排落地提速94.8%,冷启动效果飙升,还解决了传统推荐3大痛点
大数据·人工智能·机器学习·chatgpt·大模型·推荐算法·agi