【EMNLP 2023】面向垂直領域的知識預訓練語言模型

近日,阿里云人工智能平臺PAI與華東師范大學數據科學與工程學院合作在自然語言處理頂級會議EMNLP2023上發表基于雙曲空間和對比學習的垂直領域預訓練語言模型。通過比較垂直領域和開放領域知識圖譜數據結構的不同特性,發現在垂直領域的圖譜結構具有全局稀疏,局部稠密的特點。為了補足全局稀疏特點,將垂直領域中分層語義信息通過雙曲空間注入到預訓練模型中。為了利用局部圖結構稠密特點,我們利用對比學習構造圖結構不同難度的正負樣本來進一步加強語義稀疏的問題。

論文:

Ruyao Xu, Taolin Zhang, Chengyu Wang, Zhongjie Duan, Cen Chen, Minghui Qiu, Dawei Cheng, Xiaofeng He, Weining Qian. Learning Knowledge-Enhanced Contextual Language Representations for Domain Natural Language Understanding. EMNLP 2023

背景

知識增強預訓練語言模型(KEPLM)通過從大規模知識圖(KGs)中注入知識事實來提高各種下游NLP任務的性能。然而,由于缺乏足夠的域圖語義,這些構建開放域KEPLM的方法很難直接遷移到垂直領域,因為它們缺乏對垂直領域KGs的特性進行深入建模。如下圖所示,KG實體相對于純文本的覆蓋率在垂直領域中明顯低于開放域,表明領域知識注入存在全局稀疏現象。這意味著將檢索到的少數相關三元組直接注入到PLM中對于領域來說可能是不夠的。我們進一步注意到,在垂直領域KGs中,最大點雙連通分量的比率要高得多,這意味著這些KGs中同一實體類下的實體相互連接更緊密,并表現出局部密度特性。因此,本文研究是基于上述領域KG的數據特性提出了一個簡單但有效的統一框架來學習各種垂直領域的KEPLM。

算法概述

為了解決上述垂直領域知識增強框架的問題,KANGAROO模型分別通過雙曲空間學習垂直領域圖譜數據的分層語義信息來補充全局語義稀疏模塊Hyperbolic Knowledge-aware Aggregator,通過捕捉領域圖譜稠密的圖結構構造基于點雙聯通分量的對比學習模塊Multi-Level Knowledge-aware Augmenter,模型框架圖如下所示:

Hyperbolic Knowledge-aware Aggregator

Learning Hyperbolic Entity Embedding

首先,歐幾里得空間中的嵌入算法由于嵌入空間的維度而難以對復雜模式進行建模。受龐加萊球模型的啟發,由于重建的有效性,雙曲空間對層次結構具有更強的代表能力,為了彌補閉域的全局語義不足,我們采用Poincaréball模型來同時學習基于層次實體類結構的結構和語義表示。兩個實體(ei,ej)之間的距離為:

我們定義D={r(ei,ej)}是同義實體。然后我們最小化相關對象之間的距離以獲得雙曲嵌入

Domain Knowledge Encoder

該模塊設計用于對輸入token和實體進行編碼,并融合它們的異構嵌入,包含兩部分:Entity Space Infusion 和 Entity Knowledge Injector。

Entity Space Infusion

為了將雙曲嵌入集成到上下文表示中,我們通過級聯將實體類嵌入注入到實體表示中:

Entity Knowledge Injector

它旨在融合實體嵌入{hej}m的異構特征。為了匹配來自領域KGs的相關實體,我們采用重疊單詞數量大于閾值的實體。利用M層聚合器作為知識注入器,能夠集成不同級別的學習融合結果。在每個聚合器中,兩個嵌入都被輸送到多頭注意力層:

我們將實體嵌入注入上下文感知表示中,并從混合表示中重新獲取它們:

Multi-Level Knowledge-aware Augmenter

它使模型能夠學習注入的知識三元組的更細粒度的語義關系,利用圖譜局部結構特征來進一步糾正全局稀疏性問題。我們著重于通過點雙連通分量子圖結構構造具有多個難度級別的高質量正樣本和負樣本。示例構造流程如下圖所示。

Positive Sample Construction

我們提取目標實體的K個相鄰三元組作為正樣本,它們在相鄰候選子圖結構中最接近目標實體。這些三元組中包含的語義信息有利于增強上下文知識。為了更好地聚合目標實體和上下文標記表示,將K個相鄰三元組轉換后拼接到一個句子中。通過共享的文本編碼器(例如BERT)獲得統一的語義表示。由于來自離散實體和關系的不同三元組的采樣之間存在語義不連續性,我們修改位置嵌入,使相同三元組的標記共享相同的位置索引,反之亦然。例如,上圖中輸入標記的三元組位置(e0,r(e0、e1)、e1)均為1。為了統一表示空間,我們采用[CLS](即BERT中的輸入格式的token)表示為正樣本嵌入以表示樣本序列信息。

Point-biconnected Component-based Negative Sample Construction

在領域KGs中,由于具有有利于圖的局部稠密性質,節點與相鄰節點是稠密連接的搜索。因此,我們搜索大量距離目標實體更遠的節點作為負樣本。

  • 第一步:以起始節點Estart(即e0)為中心點,沿著這些relation向外進行搜索,我們得到了具有不同hop(P(G,estart,eend))的端節點Eend,其中hop(·)表示跳距,P(G,ei,ej)表示圖G中實體之間的最短路徑。例如,路徑3中的跳躍點(P(G,e0,e10))=2,路徑6中的躍點數(P(G,e0、e11))=3
  • 我們利用跳躍距離來構建具有不同結構難度水平的負樣本,其中,對于1級樣本,hop(·)=2,對于n級樣本,hop(·)=n+1。我們假設跳躍距離越近,就越難區分三元組與起始節點之間包含的語義知識。
  • 負樣本的構造模式類似于正樣本,正樣本具有相同距離的路徑被合并成句子。注意,當節點對包含至少兩條不相交的路徑(即點雙連通分量)時,我們選擇最短路徑(例如,路徑4)。對于每個實體,我們構建k個級別的負樣本。
Training Objectives

我們模型的損失函數主要包含了兩個部分,一個是普通token級別的MLM掩碼任務,另外一個是基于點雙聯通分量的對比學習任務。

算法精度評測

為了評估KANGAROO模型在垂直領域預訓練模型的效果,我們選取了金融和醫療等領域的各種下游任務的全數據量和少樣本數據量場景進行評測。

  • 全數據量微調實驗結果

  • 少樣本數據微調數據結果

為了比較不同圖譜數據表示方法的效果不同,我們對比了歐式距離和雙曲距離之間的結果如下:

為了更好地服務開源社區,KANGAROO算法的源代碼即將貢獻在自然語言處理算法框架EasyNLP中,歡迎NLP從業人員和研究者使用。

EasyNLP開源框架:GitHub - alibaba/EasyNLP: EasyNLP: A Comprehensive and Easy-to-use NLP Toolkit

參考文獻

  • Chengyu Wang, Minghui Qiu, Taolin Zhang, Tingting Liu, Lei Li, Jianing Wang, Ming Wang, Jun Huang, Wei Lin. EasyNLP: A Comprehensive and Easy-to-use Toolkit for Natural Language Processing. EMNLP 2022
  • Zhengyan Zhang, Xu Han, Zhiyuan Liu, Xin Jiang, Maosong Sun, and Qun Liu. 2019. ERNIE: enhanced language representation with informative entities. In ACL, pages 1441–1451.
  • Xiaozhi Wang, Tianyu Gao, Zhaocheng Zhu, Zhengyan Zhang, Zhiyuan Liu, Juanzi Li, and Jian Tang. 2021. KEPLER: A unified model for knowledge embedding and pre-trained language representation.Trans. Assoc. Comput. Linguistics, 9:176–194.
  • Yusheng Su, Xu Han, Zhengyan Zhang, Yankai Lin, Peng Li, Zhiyuan Liu, Jie Zhou, and Maosong Sun. 2021. Cokebert: Contextual knowledge selection and embedding towards enhanced pre-trained language models. AI Open, 2:127–134

論文信息

論文標題:Learning Knowledge-Enhanced Contextual Language Representations for Domain Natural Language Understanding
論文作者:徐如瑤、張濤林、汪誠愚、段忠杰、陳岑、邱明輝、程大偉、何曉豐、錢衛寧
論文pdf鏈接:https://arxiv.org/abs/2311.06761

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

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

相關文章

【開源】基于Vue+SpringBoot的教學資源共享平臺

文末獲取源碼,項目編號: S 068 。 \color{red}{文末獲取源碼,項目編號:S068。} 文末獲取源碼,項目編號:S068。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 數據中心模塊2.2 課程檔案模塊2.3 課…

虹科Pico汽車示波器 | 汽車免拆檢修 | 2019款別克GL8豪華商務車前照燈水平調節故障

一、故障現象 一輛2019款別克GL8豪華商務車,搭載LTG發動機,累計行駛里程約為10.7萬km。車主反映,車輛行駛過程中組合儀表提示前照燈水平調節故障。 二、故障診斷 接車后試車,起動發動機,組合儀表上提示“前照燈水平調節…

windows10安裝MongoDB的入門簡易教程【學習自用】

一、下載安裝包 下載地址 https://www.mongodb.com/try/download/community 因為我是在windows上安裝,所以下載windows版本的壓縮包格式 二、下載后解壓到要安裝的目錄里去 我這里在D盤裝,所以就解壓到D盤中我自己建的的mongoDB文件夾中。 三、在解…

02-Nacos和Eureka的區別與聯系

Nacos和Eureka的區別 聯系 Nacos和Eureka整體結構類似: 都支持服務注冊, 服務拉取, 采用心跳方式對服務提供者做健康監測的功能 區別 Nacos支持服務端主動檢測服務提供者狀態: 臨時實例采用心跳模式,非臨時實例采用主動檢測模式但對服務器壓力比較大(不推薦) 心跳模式: 服務…

.net 安裝Postgresql驅動程序ngpsql

.net 安裝Postgresql驅動程序ngpsql 最近搞一個物聯網項目,需要采集fanuc數控機床的數據,廠家提供的API只支持windows,所以就決定C#開發,數據庫用postgresql, 安裝數據庫驅動一波三折。 作為一個討厭微軟的老程序猿&…

靜態鏈接庫和動態鏈接庫(隱式載入顯式載入)

文章目錄 動態鏈接庫和靜態鏈接庫什么是鏈接庫?靜態鏈接庫動態鏈接庫動態鏈接庫的倆種鏈接方式加載時動態鏈接運行時動態鏈接 動態鏈接庫和靜態鏈接庫 動態鏈接庫和靜態鏈接庫都是共享代碼的方法,只是二者略有區別。 以C/C為例,一個可執行文…

工作中用到的數通、安全的查詢、工具、文檔鏈接

文章目錄 一、華為1.設備信息查詢華為序列號查詢華為設備信息速查 2.維護華為交換機命名規則查看光模塊信息交換機ping參數大全 3.實用文檔智能升級堆疊重啟指定成員設備堆疊主備倒換策略路由實現多出口重定向下一跳vrf與vrf、vrf與public互訪路由配置總結 二、奇安信1.授權申請…

四十五----組件庫設計

組件庫設計主要考慮幾點。 有意義: 命名準確,充分表意。參數準確,必要的類型檢查。適當的注釋 通用性:不要耦合特殊的業務功能。不要包含特定的代碼處理邏輯。 ?狀態,?副作?:狀態向上層提取,盡量少?內部狀態。解耦IO操作。 避免過度封裝:合理冗余。避免過度抽象。 …

Rust 學習

Rust 官網:https://www.rust-lang.org/zh-CN/ 1、Rust 簡介 Rust 是一門注重安全(safety)、速度(speed)和并發(concurrency)的現代系統編程語言。Rust 通過內存安全來實現以上目標,但…

LintCode 123 · Word Search (DFS字符處理經典題!)

123 Word Search Algorithms Medium Description Given a 2D board and a string word, find if the string word exists in the grid. The string word can be constructed from letters of sequentially adjacent cell, where “adjacent” cells are those horizontally o…

arcgis api for js4.x 圖層要素的增刪改---使用服務地址的/applyEdits直接進行刪除

添加新要素到圖層 _addGeo(){cosnt self thislet url https://......./featurelayer/某某某圖層/3let geo 你新繪制的圖形let attributes 你新繪制圖形的屬性信息let addingGraphics Graphic({geometry:geo,attributes:attributes})const pro self._addToLayer(url , JS…

Day57力扣打卡

打卡記錄 最小體力消耗路徑 鏈接 Dijkstra 將Dijkstra算法從計算最短路徑轉化為計算路徑最大差值。 class Solution:def minimumEffortPath(self, heights: List[List[int]]) -> int:n, m len(heights), len(heights[0])dist [0] [0x3f3f3f3f] * (n * m - 1)vis set…

iPhone 數據恢復:iMyFone D-Back iOS

iMyFone D-Back iOS 最佳 iPhone 數據恢復,最好的 iPhone 數據恢復軟件,恢復成功率最高。 直接從iOS設備、iTunes/iCloud/第三方程序備份快速恢復數據。 有選擇地恢復已刪除的照片、WhatsApp、消息和 18 多種其他數據類型。 僅通過 iCloud 帳戶訪問即可從…

關系型數據庫-SQLite介紹

優點: 1>sqlite占用的內存和cpu資源較少 2>源代碼開源,完全免費 3>檢索速度上十幾兆、幾十兆的數據庫sqlite很快,但是上G的時候最慢 4>管理簡單,幾乎無需管理。靈巧、快速和可靠性高 5>功能簡…

如何設定一個N層CNN的Layer,CNN初始化

如何設定一個N層CNN的Layer,CNN初始化 前言干貨代碼解釋 結語 前言 目前人工智能已經融入到我們的生活,大數據模型也是層出不窮。那我們就學習一些簡單的模型設置。 干貨 代碼 # This is the original CNN layer setup, def build_cnn(input_layer):…

Vue router深入學習

Vue router深入學習 一、單頁應用程序介紹 1.概念 單頁應用程序:SPA【Single Page Application】是指所有的功能都在一個html頁面上實現 2.具體示例 單頁應用網站: 網易云音樂 https://music.163.com/ 多頁應用網站:京東 https://jd.co…

springboot打成war包及VUE打成war包放入tomcat啟動

1.springboot打成war包步驟 首先在springboot啟動類中繼承SpringBootServletInitializer,重寫configure方法,如下: SpringBootApplication() public class StartApplication extends SpringBootServletInitializer {public static void main(String[] …

Java與.Net的區別

Java 和 .NET 是兩個不同的軟件開發平臺,它們在語言、生態系統、跨平臺性和開發工具等方面有著不同的特點。 1. 語言:Java 使用 Java 編程語言,而 .NET 使用 C#、VB.NET、F# 等多種編程語言。Java 是一種面向對象的編程語言,它強…

在gen_server使用ets實例演示

Erlang的ETS(Erlang term storage)是一種在內存中存儲數據的結構,類似于其他語言中的數據庫。它允許你在Erlang程序中存儲和檢索數據。gen_server是Erlang中用于創建服務器的一種模式,它能夠處理并發的客戶端請求。 以下是在gen_…

大數據技術10:Flink從入門到精通

導語:前期入門Flink時,可以直接編寫通過idea編寫Flink程序,然后直接運行main方法,無需搭建環境。我碰到許多初次接觸Flink的同學,被各種環境搭建、提交作業、復雜概念給勸退了。前期最好的入門方式就是直接上手寫代碼&…