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:?MM?for?each?mM:promptGeneratePrompt(m.a,m.b,O1?,O2?)responseCompletePrompt(prompt,model)mParse(response)add?m?to?Mreturn?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) 輸出概念的名稱、同義詞、定義、父類和其他關系。

偽代碼

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 APIm_prime = parse_response(response)M_prime.append(m_prime)return M_primedef generate_prompt(conceptA, conceptB, O1, O2):examples = load_examples()  # Pre-defined mapping examplesdescA = 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, relationshipsreturn 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 subset25Mondo(curated mappings)
HSAPV-MMUSDV(人類 vs. 小鼠發育階段)22Uberon(curated mappings)
FBbt-WBbt(果蠅 vs. 蠕蟲解剖)41Uberon(curated mappings)
FBbt-ZFA(果蠅 vs. 斑馬魚解剖)72Uberon(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:所有映射任務結果(綜合)

methodF1PR
lexmatch0.3400.2100.881
logmap0.5270.4580.619
gpt30.4900.5000.481
gpt40.6720.6010.762
  • GPT-4 的 MapperGPT 在 F1 上最佳(0.672),比 LogMap 提升 24%。
  • Lexmatch 召回率高(0.881)但精確度低(0.210),符合預期。

表4:果蠅 vs. 斑馬魚解剖任務

methodF1PR
lexmatch0.3490.2190.847
logmap0.4860.4040.611
gpt30.5110.5570.472
gpt40.6440.5430.792
  • GPT-4 召回率接近 Lexmatch(0.792 vs. 0.847),但精確度更高(0.543 vs. 0.219)。

表5:果蠅 vs. 蠕蟲解剖任務

methodF1PR
lexmatch0.2570.1520.854
logmap0.5200.4410.634
gpt30.4270.4710.390
gpt40.6600.5850.756
  • GPT-4 在精確度(0.585)和召回率(0.756)上均優于其他方法。

表6:人類 vs. 小鼠發育階段任務

methodF1PR
lexmatch0.6060.4550.909
logmap0.5310.4050.773
gpt30.5560.7140.455
gpt40.6470.9170.500
  • GPT-4 精確度最高(0.917),但召回率較低(0.500)。

表7:腎臟疾病任務

methodF1PR
lexmatch0.3520.2141.000
logmap0.7210.6110.880
gpt30.4860.3780.680
gpt40.7930.6970.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,但未明確時間表。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/921564.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/921564.shtml
英文地址,請注明出處:http://en.pswp.cn/news/921564.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Docker入門到精通:從零基礎到生產部署

前言:為什么你需要學習Docker? 想象一下,你開發了一個應用程序,在你的電腦上運行完美,但當你把它交給同事或部署到服務器時,卻出現了各種奇怪的問題。這就是著名的"在我機器上能運行"問題。 Do…

HOT100--Day15--98. 驗證二叉搜索樹,230. 二叉搜索樹中第 K 小的元素,199. 二叉樹的右視圖

HOT100–Day15–98. 驗證二叉搜索樹,230. 二叉搜索樹中第 K 小的元素,199. 二叉樹的右視圖 每日刷題系列。今天的題目是《力扣HOT100》題單。 題目類型:二叉樹。 關鍵:要深刻理解《遞歸》 98. 驗證二叉搜索樹 思路: …

獨角數卡對接藍鯨支付平臺實現個人

目錄 什么是獨角數卡?安裝部署教程一、獨角數卡安裝二、獨角數卡支付配置三、獨角數卡BUG修復 什么是獨角數卡? ? ? ? ? ? ? ? 獨角數卡(Dujiaoka)?是一款基于Laravel框架開發的開源式站長自動化售貨解決方案,主要用于虛擬商品和數字…

人工智能常見分類

人工智能的分類方式多樣,以下是一些常見的分類方法及具體類型: 一、按功能目標分類 弱人工智能(ANI,Narrow AI):專注于單一任務,無自主意識,如圖像識別(人臉解鎖&#xf…

PO BAPI bapi_po_create1

當執行BAPI時,需要導入增強字段,其中增強字段包含數值型號字段時,需要增強BADI::ME_BAPI_PO_CUST 代碼如下: 記錄一下,下次自己繼續用 bapi處: ls_te_item-po_item = lv_item.ls_te_item-zz001 = 11.ls_te_item-zz005 = 22.ls_te_item-zz008 = 33.ls_te_item-zz009 = 44…

棧欺騙技術的作用是什么?

好的,我們來詳細解釋一下“棧欺騙技術”(Stack Spoofing)的作用。簡單來說,棧欺騙技術的核心作用是隱藏程序(尤其是惡意軟件或安全工具)的真實調用鏈,使其逃避基于棧回溯(Stack Walk…

Nano-banana 模型對接教程:最懂創作者的 AI 模型,比GPT-4o還強!

Nano-banana 模型對接教程(含 BaseURL) Nano Banana 是谷歌推出的革命性 AI 圖像編輯模型,代表了從"AI繪畫工具"到"AI創意伙伴"的范式轉移。它不再是被動執行指令,而是能深刻理解已有圖像的上下文、光影、物…

CEEMDAN-PSO-CNN-GRU 鋰電池健康狀態預測matlab

代碼說明 這個實現包含以下主要組成部分: 數據準備:加載并預處理鋰電池容量數據,劃分訓練集和測試集 CEEMDAN分解:將原始信號分解為多個本征模態函數(IMF)和一個殘差項 PSO優化:使用粒子群算法優化CNN-GRU網絡的超參數 CNN-GRU模型:構建并訓練卷積神經網絡與門控循環…

MySQL 主從讀寫分離架構

我們首先來詳細、清晰地講解 MySQL 主從讀寫分離架構,然后逐一解答你提出的以及補充的高頻面試問題。第一部分:MySQL 主從讀寫分離架構詳解1. 什么是主從復制與讀寫分離?你可以把它想象成一個 “團隊作戰” 的模式。主數據庫 (Master)&#x…

HTML 中的 CSS 使用說明

CSS 使用說明 1. CSS 概述 CSS (Cascading Style Sheets) 是一種用于描述 HTML 或 XML(包括如 SVG、MathML 等 XML 方言)文檔呈現的樣式表語言。CSS 描述了元素應該如何在屏幕、紙張或其他媒體上顯示。 2. CSS 的基本語法 CSS 規則由兩個主要部分組成…

gitlab推送失敗,內存不足的處理

git提交時報錯: 2025-09-03 20:03:32.583 [info] > git push origin master:master [4866ms]2025-09-03 20:03:32.583 [info] fatal: Out of memory, malloc failed (tried to allocate 1048576000 bytes)看了下服務器內存,空余的只有幾百M了。 用hto…

【FastDDS】Discovery ( 05-Discovery Server Settings)

發現服務器設置 這種機制基于客戶端-服務器發現模式,即元流量(域參與者之間用于識別彼此的消息交換)由一個或多個服務器域參與者管理(左圖),而在簡單發現(右圖)中,元流量通過IP多播協議等消息廣播機制進行交換。有一款發現服務器工具可簡化發現服務器的設置和測試。 …

Xilinx ZYNQ 開發環境中搭建Qt環境

在 Xilinx ZYNQ 開發環境中搭建 Qt 環境,意味著你要開發運行在 ZYNQ 嵌入式 Linux 系統上的 GUI 應用程序。這比在 PC 上搭建 Qt 要復雜一些,因為它涉及交叉編譯:在你的 PC(主機)上編譯出能在 ZYNQ 芯片(目標機)的 ARM Cortex-A9 核心上運行的程序。 整個過程可以分為以…

【數學建模】用代碼搞定無人機煙幕:怎么擋導彈最久?

前言:歡迎各位光臨本博客,這里小編帶你直接手撕**,文章并不復雜,愿諸君耐其心性,忘卻雜塵,道有所長!!!! **🔥個人主頁:IF’Maxue-CSDN…

linux Kbuild詳解關于fixdep、Q、quiet、escsq

linux Kbuild詳解關于if_changed_rule的any-prereq和arg-check原理及info調試關于fixdep沒有展開,這里說下。 文章目錄1. escsq2. Q、quiet2. 1 make V(0、1、2)2. 2 make V(0、1)來控制Q、quiet3. fixdep3. 1 fixdep是什么3. 2 fixdep為什么3.2.1 .conf…

notepad++ 正則表達式

在 Notepad 中,正則表達式(Regular Expressions, Regex) 是一個強大的搜索和替換工具,可以高效地處理文本。以下是 Notepad 正則表達式 的指南:1. 如何在 Notepad 中使用正則表達式打開搜索窗口:快捷鍵 Ctr…

MySQL Cluster核心優缺點

MySQL Cluster 是 MySQL 官方提供的 分布式、內存優先、高可用 的數據庫解決方案(基于 NDB 存儲引擎)。它采用 Share-Nothing 架構,數據自動分片(Sharding)并分布在多個節點上,適用于需要極高可用性和實時性…

訓練+評估流程

訓練評估流程1、要求2、訓練評估(PyTorch TensorBoard )完整代碼(單文件示例)運行方法功能對應表3、pytorch自定義評估要繼承哪個類?4、HF Trainer和SB35、 匯總1. PyTorch Lightning TensorBoard ModelCheckpoint …

【開題答辯全過程】以 基于Android的點餐系統為例,包含答辯的問題和答案

個人簡介一名14年經驗的資深畢設內行人,語言擅長Java、php、微信小程序、Python、Golang、安卓Android等開發項目包括大數據、深度學習、網站、小程序、安卓、算法。平常會做一些項目定制化開發、代碼講解、答辯教學、文檔編寫、也懂一些降重方面的技巧。感謝大家的…

【音視頻】Http-FLV 介紹

一、Http-FLV 原理 HTTP-FLV 是基于 HTTP 協議的 FLV(Flash Video)流媒體傳輸方式。它使用 HTTP 協議而不是傳統的 RTMP 協議來傳輸 FLV 格式的視頻流。HTTP-FLV 在 Web 視頻直播場景中得到了廣泛應用,尤其是在不支持或不希望使用 RTMP 協議的…