【EMNLP 2023】面向垂直领域的知识预训练语言模型

2023-12-15 11:30

本文主要是介绍【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

这篇关于【EMNLP 2023】面向垂直领域的知识预训练语言模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/496292

相关文章

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st