【大模型 数据增强】无监督关系抽取任务的新方法

【大模型 数据增强】无监督关系抽取任务的新方法

      • 提出背景
      • 解法:多样性正样本对增强(AugURE)
        • 特征1:句内正样本对增强
        • 特征2:跨句正样本对提取
        • 特征3:使用边界敏感损失函数
      • 医学场景:自动抽取药物-疾病关系
        • 1. 识别药物和疾病实体(实体类型诱导)
        • 2. 利用自监督学习理解实体上下文(自监督学习框架)
        • 3. 深度学习来细化关系(深度度量学习)
        • 4. 提高关系抽取的精确度(结构化对比学习目标)
        • 5. 捕获高级语义信息(层次化对比学习模式)
        • 6. 最终的优化(NCE损失函数的直接采用)

论文:https://arxiv.org/pdf/2312.00552.pdf

代码:https://github.com/qingwang-isu/AugURE

 

提出背景

医学研究者需要从大量的医学文献中识别出疾病与治疗方法之间的关系、药物与副作用之间的关系等。这一任务在没有足够标注数据的情况下尤为困难。

传统方法可能只是简单地从文献中复制句子,比如“阿司匹林用于治疗心绞痛”,作为正样本对,这限制了模型学习到的关系的多样性。

解法:多样性正样本对增强(AugURE)

在这里插入图片描述

这张图是一个名为AugURE的框架的流程图,它描述了一个用于无监督关系抽取(URE)的系统架构。

这个系统包括数据增强、编码器、损失函数三个主要部分。

数据增强有两个分支:

  1. 句内正样本对增强

    • 采样随机位置(Sampling Random Positions):在句子中随机选择位置进行操作。
    • 实体对增强(Entity Pair Augmentation):通过变换句中实体对来生成新的正样本。
  2. 通过跨句正样本对提取进行增强

    • 关系模板提取(Relation Templates Extraction):从句子中提取关系模板。
    • 相互蕴含模板的发现(Mutually Entailed Templates Discovery):找出语义上相互蕴含的模板。
    • 对生成(Pairs Generation):基于相互蕴含的模板生成正样本对。

此外,还有一个使用ChatGPT重写后的数据,可能用于进一步增强正样本对的多样性。

编码器部分

  • Transformer编码器(BERT):使用基于Transformer的BERT模型来编码增强后的句子或实体对,将自然语言文本转化为机器可以处理的数值表示形式。

损失函数部分

  • 边界对损失(Margin Pair Loss):这是一个边界敏感的损失函数,用于优化正样本对与负样本对之间的距离。
  • K-Means示例损失(K-Means Exemplar Loss):这个损失函数可能用于优化聚类过程,使得相似的实体对聚集在一起,而不相似的实体对分开。
特征1:句内正样本对增强

我们对原句进行变形,比如通过替换“阿司匹林”为“布洛芬”,生成新的正样本对“布洛芬用于治疗心绞痛”,以增加训练数据的多样性。

为了解决正样本多样性不足的问题,可以采取句内正样本增强技术。

这包括通过对原始句子进行词汇级别的修改(如随机替换实体对或者采样句中词语)来生成新的正样本。

这种方法利用了同一句子内的上下文相似性,通过轻微修改句子来增加正样本的多样性,同时保持关系上下文的连贯性。

句内正样本对增强是通过在单个句子内部修改或替换实体、改变句子结构等方式,创造出多个表达相同关系的变体。

这种方法可以包括同义词替换、实体替换或利用句法结构的变化来生成新的句子,这些新句子在语义上与原句相似,但在表达形式上有所不同。

算法设计:

  • 先自动识别正样本对的算法(如基于相似度计算)。

  • 再数据增强技术,用于扩大正样本对的数量和多样性。

  • 方法: 在同一句子中通过中间词采样和实体对替换来生成新的正样本对。

  • 目的: 增加正样本对的内部多样性,让模型能够从更多变化的角度学习同一关系类型,提高关系表示的泛化能力。

完整步骤:

  1. 选择目标句子
  • 首先,我们从数据集中挑选出包含至少一对实体(例如,药物和疾病)的句子。
  • 可以把这个步骤想象成在一堆苹果中挑选出那些带有标签的苹果,这些标签告诉我们苹果的种类。
  1. 识别实体和上下文
  • 在每个选定的句子中,我们确定实体(比如药物名和疾病名)及其上下文。
  • 这就像是对每个带标签的苹果进行详细检查,了解它是什么品种,以及它周围有哪些特征(例如颜色、大小)。
  1. 生成新的实体对
  • 接下来,我们通过替换句子中的一个或多个实体来生成新的正样本对。
  • 通过以下几种方式实现:
    • 替换实体: 将句子中的某个实体替换为具有相同类型的另一个实体。
    • 例如,如果原句是“阿司匹林用于治疗头痛”,我们可以将“阿司匹林”替换为“布洛芬”。
    • 中间词采样: 在保持实体不变的情况下,改变连接这些实体的中间词,如果可能的话。
    • 这需要对句子的语法结构有一定的理解。
  • 这个过程就像是用不同品种的苹果替换原来的苹果,或者改变它们之间的排列方式,以创造出新的组合。
  1. 验证句子的合理性
  • 每次替换或修改后,我们需要检查新生成的句子是否在语法和语义上都是合理的。
  • 这保证了增强后的数据质量,确保模型不会学习到错误的信息。
  • 可以将这一步想象成检查新的苹果组合是否对人们的口味合适,或者这种新组合是否看起来很奇怪。
  1. 使用增强的数据进行训练
  • 最后,这些通过句内正样本对增强生成的新句子被用作训练数据,帮助模型学习到更加丰富和多样化的实体关系。
  • 这就像是通过尝试不同的苹果组合来丰富人们的味蕾体验,从而使他们能够识别和欣赏更多种类的苹果。

句内正样本对增强通过在同一句子内部创造新的实体组合,增加了训练数据的多样性,有助于模型更好地理解和抽取实体间的复杂关系。

特征2:跨句正样本对提取

分析不同文献中关于药物治疗的句子,利用OpenIE和NLI技术识别出具有相似“药物-疾病”关系的句子,并将它们作为正样本对,这样可以从更广泛的文献中获取更多样化的训练数据。

通过分析和比较跨文献的句子,这种方法显著增加了正样本对的数量和多样性,进一步提高了模型的学习能力和泛化能力。

  • 方法:
    • 步骤1(利用OpenIE): 提取关系模板,识别出能够表达相同关系语义的句子结构。
    • 步骤2(使用NLI): 对提取的模板进行自然语言推理,识别出语义上相互蕴含(即表达相同关系语义)的模板。
    • 步骤3(正样本对提取): 从步骤2中识别的相似模板中抽取不同句子作为正样本对。
  • 目的: 通过跨句子的分析和模板匹配,大幅增加正样本对的多样性和数量,帮助模型更好地理解和区分不同的关系类型。

完整步骤:

  1. 句子和实体对的识别
  • 首先,我们需要从大量的文本中识别出所有的句子以及句子中提到的实体对(比如药物和疾病的名称)。
  • 这就像是在一本书中标记出所有提到特定人物名字的段落。
  1. 提取关系模板
  • 对于每个句子,我们使用Open Information Extraction(OpenIE)技术或其他自然语言处理工具来提取关系模板。
  • 关系模板是一种描述实体之间关系的通用格式,可以帮助我们理解句子中实体是如何相互关联的。
  • 这个步骤就像是从每个标记的段落中摘录出描述人物关系的关键句子。
  1. 匹配相似的关系模板
  • 一旦我们有了一系列的关系模板,下一步就是找出那些表达相同或相似关系语义的模板。
  • 这可以通过自然语言处理技术来实现,比如通过语义相似度计算来匹配模板。
  • 这个过程有点像是将描述相似事件或关系的句子分组。
  1. 提取跨句正样本对
  • 根据匹配的关系模板,我们从这些模板对应的原始句子中提取出正样本对。
  • 每个正样本对都由两个句子组成,这两个句子描述了相似的关系。
  • 这一步就像是从我们之前分组的句子中选出代表性的例子,证明这些句子确实是在描述相同的事件或关系。
  1. 增强训练数据集
  • 最后,这些跨句正样本对会被加入到训练数据集中,用于训练模型。
  • 通过这种方式,模型不仅学习到了单个句子中的关系,还学习到了跨越不同句子的相似关系,从而增强了模型对关系的理解和泛化能力。
  • 这就像是通过阅读和比较更多类似故事的摘录,来更深入理解某个主题或概念。
特征3:使用边界敏感损失函数

传统NCE损失函数不适合捕捉细微的关系差异。

在医学领域,某些药物和疾病之间的关系可能非常相似,传统的二元分类损失函数可能无法准确地区分它们。

特别是在关系表示学习中,不同关系之间的界限可能是模糊的。

边界敏感损失函数的设计旨在处理一个核心问题:如何在学习过程中区分正样本对和负样本对之间的微妙差异,尤其是当这些样本对的关系语义相似度非常接近时。

边界敏感损失函数通过引入一个“边界”或“边缘”概念,鼓励模型将正样本对的相似度推得更高,而将负样本对的相似度拉得更低,超出一定的边界阈值。

  • 方法: 引入边界损失函数来代替传统的NCE损失,以更准确地衡量正负样本对之间的语义相似度。
  • 目的: 解决传统损失函数在处理细微关系差异方面的不足,通过边界损失函数更精细地区分不同关系的语义相似度,尤其是在关系相似度谱上的细节表现。

完整步骤:

  1. 定义正负样本对
  • 首先,我们需要明确哪些样本对是正样本对(即两个样本间有相同或类似的关系),哪些是负样本对(即两个样本间的关系不同)。
  • 这就像是在一堆苹果和橙子中区分出哪些是同一种水果,哪些不是。
  1. 计算样本对间的相似度
  • 接下来,我们用模型计算每对样本间的相似度。
  • 这个相似度可以通过模型内部的特征表示来计算,比如使用向量点积或余弦相似度。
  • 这一步骤类似于评估每对苹果和橙子之间的相似性,看它们是否属于同一类。
  1. 设计边界敏感函数

    • 边界定义: 首先,我们需要定义一个“边界”,这个边界用来区分正样本对和负样本对之间的相似度阈值。
    • 这就像是确定苹果和橙子之间的区别在哪里,从而设定一个标准。
    • 敏感性调整: 然后,根据样本对间的相似度与这个边界的关系,我们调整损失函数的计算方式。
    • 如果样本对的相似度接近这个边界(即它们很难被区分),损失函数会对这些样本对给予更大的权重。
    • 这就像是在苹果和橙子非常相似时,我们需要更仔细地检查它们来确保分类的准确性。
  2. 损失函数的具体形式

  • 一个常见的边界敏感损失函数形式是“margin loss”,其中包括一个边界(margin)参数,用来调整正样本对和负样本对之间的相似度差异。
  • 如果正样本对的相似度低于这个边界,或负样本对的相似度高于这个边界,损失函数会给予较高的损失值。
  • 这就像是在评分时,对于那些难以判断是苹果还是橙子的样本,我们会给予更严格的评判标准。
  1. 优化模型
  • 最后,使用这个边界敏感损失函数来训练模型,不断优化模型参数,直到模型能够更准确地区分正样本对和负样本对,即能够准确地识别出所有的苹果和橙子,以及它们之间的不同。

医学场景:自动抽取药物-疾病关系

1. 识别药物和疾病实体(实体类型诱导)

实体类型诱导(Entity Type Induction):是一种无监督或弱监督学习技术,旨在从未标注的文本中发现和归纳实体及其类型。

  • 在成千上万的医学文献中,我们首先需要自动识别出所有提到的药物名称和疾病名称。
  • 这就像是确定了哪些信息是我们关注的焦点,哪些药物被用于治疗哪些疾病。
2. 利用自监督学习理解实体上下文(自监督学习框架)

自监督学习框架(Self-Supervised Learning Framework):是一种学习方法,其中模型通过预测数据集内部的某些部分来学习表示,从而无需外部标注的数据。

  • 接着,通过自监督学习,我们不需要手动标注这些药物和疾病之间的关系就能理解它们在文本中的上下文。
  • 这意味着系统可以自己学习和推断,比如“阿司匹林”通常是与“心绞痛”放在一起讨论的。
3. 深度学习来细化关系(深度度量学习)

深度度量学习(Deep Metric Learning):旨在学习数据点之间距离的度量,使得相似的项彼此靠近,不相似的项彼此远离。

  • 使用深度度量学习进一步细化和理解这些实体对之间的关系。
  • 这帮助系统更准确地将相似的关系分组在一起,例如,哪些药物是用来缓解疼痛的,哪些是用来治疗炎症的。
4. 提高关系抽取的精确度(结构化对比学习目标)

结构化对比学习目标(Structured Contrastive Learning Objective):这是一种训练目标,它考虑到数据内在的结构,比如句子中单词的顺序,图像中的空间关系等,通过对比正负样本对来学习数据的表示。

  • 通过对比学习目标的引入,系统可以更精确地学习药物和疾病之间的复杂关系,而不仅仅是它们是否出现在同一句话中。
  • 这就像是能够区分“治疗”和“可能引起”这样细微的差别。
5. 捕获高级语义信息(层次化对比学习模式)

层次化对比学习模式(Hierarchical Contrastive Learning Scheme):这种模式通过在不同层次上进行对比学习,例如先对局部特征进行学习,然后再学习全局特征,以此来捕获数据的细粒度和粗粒度特征。

  • 层次化对比学习模式允许系统捕获更高级的语义信息,比如理解某些药物可能既有治疗效果也可能有副作用。
6. 最终的优化(NCE损失函数的直接采用)

NCE损失函数的直接采用(Direct Application of NCE Loss):噪声对比估计(Noise Contrastive Estimation, NCE)损失函数是一种在模型训练中用于区分真实数据和噪声数据的方法。

  • 通过采用NCE损失函数,系统可以在最终阶段进行优化,确保模型能够准确区分和识别正确的药物-疾病关系。

举个例子。

假设你是一名医学侦探,你的任务是找出特定药物和疾病之间的关系。

这个任务就像在一个巨大的图书馆里寻找两个人之间是否存在某种联系,而这个图书馆充满了各种医学文献。

第一步:识别人物(特征1:实体类型诱导)

  • 通俗解释: 你首先需要找到所有提到的药物和疾病的名字,就像在侦探工作中识别出所有可能的嫌疑人和受害者。

第二步:收集证据(特征2:自监督学习框架)

  • 通俗解释: 接下来,你会收集关于这些药物和疾病的所有信息,包括它们在文档中是如何被提及的。
  • 这一步就像是在收集现场的证据,以便进一步分析。

第三步:分析线索(特征3:深度度量学习)

  • 通俗解释: 然后,你需要分析这些证据,看看哪些药物和疾病经常一起出现,它们之间可能有什么样的关系。
  • 这就像是通过分析线索来找出嫌疑人和受害者之间的联系。

第四步:构建关系网络(特征4:结构化对比学习目标)

  • 通俗解释: 通过更深入的分析,你开始理解药物和疾病之间的具体关系,比如某药物是用来治疗某疾病的。
  • 这一步就像是根据收集到的证据,构建出嫌疑人和受害者之间复杂的关系网络。

第五步:验证发现(特征5:层次化对比学习模式)

  • 通俗解释: 为了确保你的发现是准确的,你会进一步验证这些关系,看看是否有其他证据支持你的结论。
  • 这就像是在侦探工作中,通过进一步的调查来验证你的推理是否正确。

第六步:得出结论(特征6:NCE损失函数的直接采用)

  • 通俗解释: 最后,你根据所有收集和分析的数据,得出哪些药物可以用来治疗哪些疾病的结论。
  • 这一步就像是在侦探案件中,基于所有证据和分析得出最终的判决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/687574.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件实例分享,家具生产出库管理系统软件教程

软件实例分享,家具生产出库管理系统软件教程 一、前言 以下软件程序教程以 佳易王家具行业生产出库管理系统软件V16.1为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 销售管理——产品状态查询变更,可以根据生产进度变更…

作为项目经理,PMP值得考嘛?最近PMP变数特别大,你还看好PMP嘛?

做项目管理的话,自然是值得考的,现在PMP几乎是项目管理的必考证书了,找工作需要PMP优先,做项目也要求PMP,做项目相关工作的建议去看一个 一、先给大家分析一下PMP 证书的使用场景 1、项目管理岗位招聘的门槛 PMP 是项…

房产证翻译,证件类翻译公司推荐

随着全球化的发展,证件类翻译在我们的生活中越来越常见。其中,房产证翻译是尤为重要的一种。它不仅关乎到个人的财产权益,更在留学、移民、财产公证以及办理贷款等关键场合起到举足轻重的作用。那么,如何做好房产证证件类翻译&…

【stm32】DAC输出三角波锯齿波

【stm32】DAC输出三角波锯齿波及任意波形 导入DAC.ioc(见上节DAC学习笔记) DAC输出三角波 CubeMX图形化配置 DAC配置 实现0.1ms定时周期 时钟树配置 程序编写 /* USER CODE BEGIN Includes */ #include "lcd.h" /* USER CODE END Inc…

《Go 简易速速上手小册》第3章:数据结构(2024 最新版)

文章目录 3.1 数组与切片:Go 语言的动态队伍3.1.1 基础知识讲解3.1.2 重点案例:动态成绩单功能描述实现代码扩展功能 3.1.3 拓展案例 1:数据分析功能描述实现代码扩展功能 3.1.4 拓展案例 2:日志过滤器功能描述实现代码扩展功能 3…

DBProxy sh bootstrap.sh失败

记录DBProxy安装问题 configure: error: mysql_config is not found, use $ ./configure --with-mysql/path/to/mysql_config 修改configure文件 增加MYSQL_CONFIG/usr/local/mysql,指定mysql安装目录

论文阅读_语音识别_Wisper

英文名称: Robust Speech Recognition via Large-Scale Weak Supervision 中文名称: 通过大规模弱监督实现鲁棒语音识别 链接: https://proceedings.mlr.press/v202/radford23a.html 代码: https://github.com/openai/whisper 作者: Alec Radford, Jong Wook Kim, Tao Xu, Greg…

vue2+高德地图web端开发(二)

前言: 高德地图输入提示与 POI 搜索相关文档:输入提示与 POI 搜索-服务插件和工具-进阶教程-地图 JS API 2.0 | 高德地图API (amap.com) 输入提示-输入提示-示例中心-JS API 2.0 示例 | 高德地图API (amap.com) 创建输入框: 引入Element组…

渲染案例 |《甲辰春来,福暖四季》蓝海创意云助力央视新闻频道打造2024龙年除夕视觉盛宴

随着2024年甲辰龙年的脚步渐近,中央广播电视总台新闻频道精心策划的除夕特别节目《甲辰春来,福暖四季》于2月9日上午9点准时与全国观众见面。这一场充满传统韵味与现代气息的视觉盛宴,不仅展现了浓厚的节日氛围,更在技术上实现了突…

Halcon 元组/数组基本操作

Halcon 元组/数组基本操作 ** 元组/数组 tuple *******数组创建与字典******* ** 创建一个数组 A : [1,3,45,6] A[0] : 1 A[1] : 2** 定义一个key value字典类型create_dict (DictHandle) set_dict_tuple (DictHandle, test_tuple, A) set_dict_tuple (DictHandle, test_obj, …

[HTML]Web前端开发技术26(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的…

Java数字孪生智慧工地数据大屏APP项目源码

目录 智慧工地云平台核心功能 1.劳务管理 2.视频监控 3.安全教育 4.进度管理 5.环境监测 6.塔吊监控 7.升降机监控 8.工地广播 9.深基坑高支模 10.AI识别 11.安全质量 智慧工地建设的价值和意义 危大工程管理 智慧工地聚焦施工现场一线生产活动,利用物…

数字孪生10个技术栈(总括):概念扫盲和总体介绍

数字孪生涉及到诸多技术领域,千汇数据工场将分为10个技术领域来介绍数字孪生,力争将复杂的技术术语给出最浅显易懂的解释,不会上复杂的的代码,大家可以畅快阅读。 本片先从总体上介绍数字孪生技术栈。 一、什么是数字孪生 数字孪…

【github】利用Git将自己的代码上传至GitHub

记录一下将自己的代码上传GitHub的步骤。    Git工具下载:https://git-for-windows.github.io/ 1、在github上建立项目 首先在github主页上,创建一个reopsitory,并命名为PHF-Test,可添加项目描述(Description&#x…

骨传导耳机好用吗?如何挑选骨传导耳机?

骨传导耳机是一种非常创新的骨传导耳机,采用耳挂式佩戴,使用起来也非常舒适。 而且骨传导耳机最近几年还是比较火的,骨传导耳机的出现解决了传统入耳式耳机长时间佩戴不舒服、听力受损等问题。但随着骨传导耳机的品牌逐渐变多,很多…

React 更改程序入口点(index.js文件位置变更)

食用前提示:本文基于已经快速配置好的React环境而作,配置React环境详见拙作:React环境配置-CSDN博客~ 一、了解默认入口点 使用create-react-app快速搭建react环境后,npm start启动程序的默认入口点为/src/index(即src目录下的ind…

P2024 [NOI2001] 食物链 带权并查集 循环关系

题目: P2024 [NOI2001] 食物链 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 本文学习自: 题解 P2024 【食物链】 - RE: 从零开始的异世界信竞生活 - 洛谷博客 (luogu.com.cn) ———— 关系并查集其实就是在普通并查集的基础上额外开个数组r…

从零开始学howtoheap:解题西湖论剑Storm_note

how2heap是由shellphish团队制作的堆利用教程,介绍了多种堆利用技术,后续系列实验我们就通过这个教程来学习。环境可参见从零开始配置pwn环境:从零开始配置pwn环境:从零开始配置pwn环境:优化pwn虚拟机配置支持libc等指令-CSDN博客 1.题目信息 https://github.com/ble55…

学习对象原型中的hasOwnProperty()

hasOwnProperty(propertyName)方法 是用来检测属性是否为对象的自有属性,如果是,返回true,否者false; 参数propertyName指要检测的属性名;

揭秘铷原子钟:北斗卫星系统的“心脏”

揭秘铷原子钟:北斗卫星系统的“心脏” 近日,中国科学院精密测量科学与技术创新研究院的梅刚华团队发布了一项重要成果。他们成功将铷原子钟的短期频率稳定度提高到了E-14(即10的负14次方,相当于百万亿分之一)的量级&a…