<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://vegetable-edu.github.io/Sandwich.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://vegetable-edu.github.io/Sandwich.github.io/" rel="alternate" type="text/html" /><updated>2024-09-17T05:04:48+00:00</updated><id>https://vegetable-edu.github.io/Sandwich.github.io/feed.xml</id><title type="html">Sandwich</title><subtitle>自然语言处理 深度学习</subtitle><entry><title type="html">Re Matching</title><link href="https://vegetable-edu.github.io/Sandwich.github.io/RE-Matching/" rel="alternate" type="text/html" title="Re Matching" /><published>2024-09-17T00:00:00+00:00</published><updated>2024-09-17T00:00:00+00:00</updated><id>https://vegetable-edu.github.io/Sandwich.github.io/RE-Matching</id><content type="html" xml:base="https://vegetable-edu.github.io/Sandwich.github.io/RE-Matching/"><![CDATA[<p>【论文阅读】RE-Matching: A Fine-Grained Semantic Matching Method for Zero-Shot Relation Extraction</p>

<h1 id="前言">前言</h1>
<p>标题：RE-Matching: A Fine-Grained Semantic Matching Method for Zero-Shot Relation Extraction
会议：ACL2023
网址：https://aclanthology.org/2023.acl-long.369
github：https://github.com/zweny/RE-Matching</p>
<h1 id="研究背景">研究背景</h1>

<p>关系抽取：relation extraction是NLP的一个基本任务，目的是从非结构化文本中提取实体之间的关系。关系抽取有助于构建知识图谱，支持问答系统,提高信息检索的效率等。
例如，给定一个句子“史蒂夫:乔布斯创立了苹果公司”，关系抽取的任务就是识别出实体“史蒂夫乔布斯”和“苹果公司”，并识别出他们之间的关系“创立了”。</p>
<h2 id="动机">动机</h2>
<p>■<strong>关系抽取的挑战</strong>:
由于新关系的快速增长，为每个关系不断标注数据既昂贵又不切实际。因此，如何有效地进行零样本关系抽取(ZeroRE) ，即从未见过的关系中提取关系，成为了一个重要的研究问题。
■<strong>关系抽取的现状和不足</strong>:
目前，主流的零样本关系抽取方法是基于语义匹配的，即给定一个输入实例和一段关系描述，计算它们之间的语义相似度。没有考虑关系数据的匹配模式，即输入中的实体应该与描述中的类别进行精确匹配，而与关系无关的上下文应该在匹配时被忽略。</p>
<h2 id="创新">创新</h2>
<p>■<strong>研究创新</strong>:
1.本文提出了一种用于零样本关系抽取的细粒度语义匹配方法。
2.该方法显式地建模了关系数据的匹配模式，将句子级别的相似度分解为实
体和上下文匹配分数。</p>
<ul>
  <li>该方法还设计了一个上下文提炼模块，使用特征蒸馏方式，用于识别和减
少与关系无关的特征对上下文匹配的负面影响。</li>
  <li>细粒度语义匹配：指将整体的句子级别的相似度分解为更细粒度的相似度，如词汇级别或短语级别的相似度，从而更准确地捕捉文本之间的语义关系。细粒度语义匹配通常需要对文本进行编码和交互两个步骤。编码步骤是将文本转换为数值向量（也称为嵌入），交互步骤是利用不同的机制（如点积、余弦、注意力等）来计算文本向量之间的相似度分数。细粒度语义匹配在自然语言处理中有很多应用，如问答、文本蕴含、关系抽取等。</li>
  <li>显示建模：“{实体1}是{实体2}的创始人”，然后用这个模式去匹配文本中的信息
<img src="https://i-blog.csdnimg.cn/blog_migrate/f27177135f74ba805fc7278560afe590.png" alt="在这里插入图片描述" />
Figure1：一个关系数据匹配模式的例子。输入的句子包含一个给定的实体对，该实体对应该匹配对应的上位概念(通常是实体类型)。上下文描述了实体之间的关系，包含了与关系无关的冗余信息，在进行匹配时应该被忽略。
 关系属于有独特的匹配模式。这是一般的匹配方法没有明确考虑到的（fig 1）：输入中的实体应该与他们在描述中的上位概念完全匹配，公司就与公司匹配，地点就与地点匹配。冗余信息则需要过滤。不过问题是：冗余成分在匹配时由于缺乏显示注释，模型要学会识别他们很困难。</li>
</ul>

<h1 id="方法介绍">方法介绍</h1>
<h2 id="任务定义和方法概述">任务定义和方法概述</h2>
<p>■任务定义:
指在零样本关系抽取(ZeroRE) 中，目标是从已知关系Rs学习并推广到未知关系Ru。这两个集
合是不相交的，即Rs∩Ru = 0，并且只有在训练阶段才能获得已知关系Rs的样本。
■方法概述:
提出了一种细粒度语义匹配方法，该方法显式地建模了关系数据的匹配模式，将句子级别的相
似度分解为实体和上下文匹配分数。此外，我们设计了一个特征蒸馏模块，以自适应地识别关
系无关的特征，并减少它们对上下文匹配的负面影响。</p>
<h2 id="匹配模型">匹配模型</h2>
<p>■训练集: D = {((xi, ei1,ei2,Yi,di))|i= 1….N}，一共N个样本
■样本组成:xi是输入实例，ei1,ei2是 目标实体对，yi 属于Rs，di是y;对 应的关系描述
■优化匹配模型: M(x,e1,e2,d)→ s∈R
<strong>衡量方法</strong>:计算x与d之间的语义相似度。将输入和每个候选关系描述转化为数值向量，然后
通过比较向量相似度(如余弦相似度cosinesimilarity)来确认最可能对应的关系描述。
测试:将匹配模型M迁移学习，抽取未知的关系Ru .
有一个样本(x;,ei1, eiz),它表示R中的一个未见过的关系。找到与输入样本相似度最高的来进
行预测。</p>
<h2 id="细粒度语义匹配方法">细粒度语义匹配方法</h2>

<p>[传统的语义匹配方法通常将编码和匹配视为一个整体的过程。这些方法主要依赖于预定义的规则、知识图谱、本体或者语料库来进行语义匹配]
在这些方法中，文本首先被编码为数值向量（也称为嵌入），然后这些向量被用来计算文本之间的相似度。然而，这些方法通常没有显式地考虑文本中的细粒度信息，如词汇级别或短语级别的相似度，因此可能无法准确地捕捉文本之间的语义关系。此外，这些方法的性能受到手动定义规则的影响，对非线性灰度失真的抵抗力较弱，匹配效率和准确性较差。
Figure2：
<img src="https://i-blog.csdnimg.cn/blog_migrate/2c041e5547b9afe865448ee3979193aa.png" alt="在这里插入图片描述" />
■左侧: 输入实例与关系描述分开编码。编码模块负责提取输入实例和关系描述中的实体和
上下文信息， 将其编码为固定长度的表示，以便进行后续的细粒度匹配。
■中间:实体和上下文匹配计算相似度。将句子级别的相似度分解为实体匹配分数和上下文匹配分数。
■右侧:设计一个特征蒸馏模块减少无关组件对上下文匹配的影响。</p>
<h3 id="输入-描述编码模块">输入-描述编码模块</h3>
<p><img src="https://i-blog.csdnimg.cn/blog_migrate/772e83aee3338261399cac5374b173f9.png" alt="在这里插入图片描述" />
<strong>输入实例与关系描述</strong>
分开编码。
1.将实例和候选 描述中的实体提取出来。将其编码为固定长度向量。
2.采用Sentence - BERT来扩展候选描述d的头尾实体dh,dt
3.采用BERT编码输入实例x的上下文和实体xih，xti表示。
4.计算复杂度从0(nm) →o(n +m)</p>
<ul>
  <li>扩展头尾实体描述的目的是为了丰富实体信息，从而提高实体匹配的效果。在关系数据中，实体匹配是一个重要的组成部分，它要求输入中的实体与描述中的超类精确匹配。然而，在描述中，通常只有一两个词来标识实体类型，这可能导致实体信息不足，从而影响匹配的准确性。</li>
  <li>为了解决这个问题，我们探索了不同的方法来自动构建和扩展实体描述，如使用同义词、基于规则的模板填充等。这些方法可以增加实体描述的丰富性和流畅性，从而刺激预训练模型输出高质量的实体表示。实验结果表明，使用这些方法可以显著提高匹配F1分数，相比于只使用原始的关键词方法
■<strong>关系描述编码器:</strong> 例如”headquartered. in” (“the headquarters of an organization is located in a place”)这个描述被编码成一个表示d，我们可以通过比较输入实例和这个表示d的相似度来判断输入实例是否具有”headquartered_ in”这个关系。
■<strong>关键词:</strong>可以直接使用d中的实体类型(entity type)作为实体描述。比如headquartered. _in， dh是organization, dt 是place
■<strong>同义词:</strong>可以使用Wikidata提取上义词的同义词。比如d’是“organization, institution, company”
■<strong>基于规则的模板填充</strong>
■<strong>输入实例编码器</strong>:输入实例xi = {W1, we…. wn}用4个特殊token :“[Eh], [\Eh], [Et], [\Et]”。
插入到头实体ei1和尾实体ei2中。通过隐藏层+MaxPool得到头尾实体表示。
<img src="https://i-blog.csdnimg.cn/blog_migrate/a3caf59f523f5442a8be78a0a974dfd5.png" alt="在这里插入图片描述" />
    <h2 id="上下文关系特征蒸馏">上下文关系特征蒸馏</h2>
    <p><img src="https://i-blog.csdnimg.cn/blog_migrate/4af3ecc0abbb766f1e3fc511fa942eee.png" alt="在这里插入图片描述" /></p>
  </li>
</ul>

<p><img src="https://i-blog.csdnimg.cn/blog_migrate/78682cb8385e7baec42778c5d1927fae.png" alt="在这里插入图片描述" />
梯度反转层：
<img src="https://i-blog.csdnimg.cn/blog_migrate/b4f5b86516f4cd0ab5d10b8fc78fdfab.png" alt="在这里插入图片描述" />
关系特征蒸馏层
<img src="https://i-blog.csdnimg.cn/blog_migrate/e656e5f5c762e7ee5d67218771928203.png" alt="在这里插入图片描述" />
细粒度匹配训练：
<img src="https://i-blog.csdnimg.cn/blog_migrate/99ea4b6fb8edf95189f41e7331862619.png" alt="在这里插入图片描述" /></p>
<h1 id="实验">实验</h1>
<p>数据集:
1、FewRel:从维基百科收集的少样本关系分类数据集，包含80个关系，每个关系包含700
个句子。
2、Wiki-ZSL: 源自维基数据知识库，由93，383个句子组成，包含113种关系类型。
验证集:
随机选取5个关系作为验证集，再随机选择m∈{5,10,15}个作为测试集中的未知关系，其
余作为训练集的已知关系。
模型: R-BERT、ESIM、ZS-BERT、 PromptMatch、 REPrompt
使用Bert-base-uncased作为输入实例编码器，fixed sentence-Bert作为关系描述编码器
<strong>实验一：</strong>
<img src="https://i-blog.csdnimg.cn/blog_migrate/d3d9691a5008ebb9834153307e5d4082.png" alt="在这里插入图片描述" />
1.ZS-Bert为ZeroRE,但siamese. scheme限制了输入和关系描述之间的细粒度交互，因此性能次优。
2.PromptMatch使用全编码方案，可以通过自注意力隐式建模细粒度交互。但所提出的方法仍然能够超越它。一个可能的原因是关系匹配模式作为一种归纳偏差，缓解了对训练集中所见关系的过拟合，因此我们的模型具有更好的泛化性。
<strong>消融实验：</strong>
<img src="https://i-blog.csdnimg.cn/blog_migrate/d9f48830dfa9d9347782424f1fd40f1a.png" alt="在这里插入图片描述" />
如果去除上下文蒸馏模块(w/o Proi) ，匹配性能下降。说明上下文中不相关的关系信息会干扰关系数据的匹配，而在蒸馏模块中进行投影可以有效降低这种影响。
实体信息在在关系数据(见w/o Ent)中发挥着重要的作用。显式地建模实体与其上位概念之间的匹配，显著地提高了模型的性能。
作为两个至关重要的组成部分，当上下文蒸馏和实体匹配都被移除(即w/oboth)时，匹配就退化为句子级别的匹配，性能会受到严重影响</p>

<p>前言
标题：RE-Matching: A Fine-Grained Semantic Matching Method for Zero-Shot Relation Extraction
会议：ACL2023
网址：https://aclanthology.org/2023.acl-long.369
github：https://github.com/zweny/RE-Matching</p>

<p>研究背景
关系抽取：relation extraction是NLP的一个基本任务，目的是从非结构化文本中提取实体之间的关系。关系抽取有助于构建知识图谱，支持问答系统,提高信息检索的效率等。
例如，给定一个句子“史蒂夫:乔布斯创立了苹果公司”，关系抽取的任务就是识别出实体“史蒂夫乔布斯”和“苹果公司”，并识别出他们之间的关系“创立了”。</p>

<p>动机
■关系抽取的挑战:
由于新关系的快速增长，为每个关系不断标注数据既昂贵又不切实际。因此，如何有效地进行零样本关系抽取(ZeroRE) ，即从未见过的关系中提取关系，成为了一个重要的研究问题。
■关系抽取的现状和不足:
目前，主流的零样本关系抽取方法是基于语义匹配的，即给定一个输入实例和一段关系描述，计算它们之间的语义相似度。没有考虑关系数据的匹配模式，即输入中的实体应该与描述中的类别进行精确匹配，而与关系无关的上下文应该在匹配时被忽略。</p>

<p>创新
■研究创新:
1.本文提出了一种用于零样本关系抽取的细粒度语义匹配方法。
2.该方法显式地建模了关系数据的匹配模式，将句子级别的相似度分解为实
体和上下文匹配分数。</p>

<p>该方法还设计了一个上下文提炼模块，使用特征蒸馏方式，用于识别和减
少与关系无关的特征对上下文匹配的负面影响。
细粒度语义匹配：指将整体的句子级别的相似度分解为更细粒度的相似度，如词汇级别或短语级别的相似度，从而更准确地捕捉文本之间的语义关系。细粒度语义匹配通常需要对文本进行编码和交互两个步骤。编码步骤是将文本转换为数值向量（也称为嵌入），交互步骤是利用不同的机制（如点积、余弦、注意力等）来计算文本向量之间的相似度分数。细粒度语义匹配在自然语言处理中有很多应用，如问答、文本蕴含、关系抽取等。
显示建模：“{实体1}是{实体2}的创始人”，然后用这个模式去匹配文本中的信息
<img src="https://github.com/user-attachments/assets/300da78c-6d9c-47cf-91dc-908215efd7ba" alt="image" /></p>

<p>Figure1：一个关系数据匹配模式的例子。输入的句子包含一个给定的实体对，该实体对应该匹配对应的上位概念(通常是实体类型)。上下文描述了实体之间的关系，包含了与关系无关的冗余信息，在进行匹配时应该被忽略。
关系属于有独特的匹配模式。这是一般的匹配方法没有明确考虑到的（fig 1）：输入中的实体应该与他们在描述中的上位概念完全匹配，公司就与公司匹配，地点就与地点匹配。冗余信息则需要过滤。不过问题是：冗余成分在匹配时由于缺乏显示注释，模型要学会识别他们很困难。
方法介绍
任务定义和方法概述
■任务定义:
指在零样本关系抽取(ZeroRE) 中，目标是从已知关系Rs学习并推广到未知关系Ru。这两个集
合是不相交的，即Rs∩Ru = 0，并且只有在训练阶段才能获得已知关系Rs的样本。
■方法概述:
提出了一种细粒度语义匹配方法，该方法显式地建模了关系数据的匹配模式，将句子级别的相
似度分解为实体和上下文匹配分数。此外，我们设计了一个特征蒸馏模块，以自适应地识别关
系无关的特征，并减少它们对上下文匹配的负面影响。</p>

<p>匹配模型
■训练集: D = {((xi, ei1,ei2,Yi,di))|i= 1…N}，一共N个样本
■样本组成:xi是输入实例，ei1,ei2是 目标实体对，yi 属于Rs，di是y;对 应的关系描述
■优化匹配模型: M(x,e1,e2,d)→ s∈R
衡量方法:计算x与d之间的语义相似度。将输入和每个候选关系描述转化为数值向量，然后
通过比较向量相似度(如余弦相似度cosinesimilarity)来确认最可能对应的关系描述。
测试:将匹配模型M迁移学习，抽取未知的关系Ru .
有一个样本(x;,ei1, eiz),它表示R中的一个未见过的关系。找到与输入样本相似度最高的来进
行预测。</p>

<p>细粒度语义匹配方法</p>

<p>[传统的语义匹配方法通常将编码和匹配视为一个整体的过程。这些方法主要依赖于预定义的规则、知识图谱、本体或者语料库来进行语义匹配]
在这些方法中，文本首先被编码为数值向量（也称为嵌入），然后这些向量被用来计算文本之间的相似度。然而，这些方法通常没有显式地考虑文本中的细粒度信息，如词汇级别或短语级别的相似度，因此可能无法准确地捕捉文本之间的语义关系。此外，这些方法的性能受到手动定义规则的影响，对非线性灰度失真的抵抗力较弱，匹配效率和准确性较差。
Figure2：
<img src="https://github.com/user-attachments/assets/d245b3c1-1152-4f84-ba2d-4880c0dfac58" alt="image" />
■左侧: 输入实例与关系描述分开编码。编码模块负责提取输入实例和关系描述中的实体和
上下文信息， 将其编码为固定长度的表示，以便进行后续的细粒度匹配。
■中间:实体和上下文匹配计算相似度。将句子级别的相似度分解为实体匹配分数和上下文匹配分数。
■右侧:设计一个特征蒸馏模块减少无关组件对上下文匹配的影响。</p>

<p>输入-描述编码模块
<img src="https://github.com/user-attachments/assets/3d32e6a2-a03e-4151-a3d1-417fc854617f" alt="image" /></p>

<p>输入实例与关系描述
分开编码。
1.将实例和候选 描述中的实体提取出来。将其编码为固定长度向量。
2.采用Sentence - BERT来扩展候选描述d的头尾实体dh,dt
3.采用BERT编码输入实例x的上下文和实体xih，xti表示。
4.计算复杂度从0(nm) →o(n +m)</p>

<p>扩展头尾实体描述的目的是为了丰富实体信息，从而提高实体匹配的效果。在关系数据中，实体匹配是一个重要的组成部分，它要求输入中的实体与描述中的超类精确匹配。然而，在描述中，通常只有一两个词来标识实体类型，这可能导致实体信息不足，从而影响匹配的准确性。
为了解决这个问题，我们探索了不同的方法来自动构建和扩展实体描述，如使用同义词、基于规则的模板填充等。这些方法可以增加实体描述的丰富性和流畅性，从而刺激预训练模型输出高质量的实体表示。实验结果表明，使用这些方法可以显著提高匹配F1分数，相比于只使用原始的关键词方法
■关系描述编码器: 例如”headquartered. in” (“the headquarters of an organization is located in a place”)这个描述被编码成一个表示d，我们可以通过比较输入实例和这个表示d的相似度来判断输入实例是否具有”headquartered_ in”这个关系。
■关键词:可以直接使用d中的实体类型(entity type)作为实体描述。比如headquartered. _in， dh是organization, dt 是place
■同义词:可以使用Wikidata提取上义词的同义词。比如d’是“organization, institution, company”
■基于规则的模板填充
■输入实例编码器:输入实例xi = {W1, we… wn}用4个特殊token :“[Eh], [\Eh], [Et], [\Et]”。
插入到头实体ei1和尾实体ei2中。通过隐藏层+MaxPool得到头尾实体表示。
<img src="https://github.com/user-attachments/assets/d869bc3e-cfb8-46dd-94fc-b33ff422da91" alt="image" /></p>

<p>上下文关系特征蒸馏
<img src="https://github.com/user-attachments/assets/d64204b8-08cf-485d-8b7c-03465ae9fd6f" alt="image" /></p>

<p><img src="https://github.com/user-attachments/assets/5111b6b5-2ab3-4e11-8b4a-1ae48fdf7faa" alt="image" /></p>

<p>梯度反转层：
<img src="https://github.com/user-attachments/assets/5613c391-681a-490f-a301-10a6eb721412" alt="image" /></p>

<p>关系特征蒸馏层</p>

<p><img src="https://github.com/user-attachments/assets/774be766-6442-4449-88d3-4d384b85a45f" alt="image" />
细粒度匹配训练：
<img src="https://github.com/user-attachments/assets/999e4588-e31a-44a2-b7a5-0f8708a9c94d" alt="image" /></p>

<p>实验
数据集:
1、FewRel:从维基百科收集的少样本关系分类数据集，包含80个关系，每个关系包含700
个句子。
2、Wiki-ZSL: 源自维基数据知识库，由93，383个句子组成，包含113种关系类型。
验证集:
随机选取5个关系作为验证集，再随机选择m∈{5,10,15}个作为测试集中的未知关系，其
余作为训练集的已知关系。
模型: R-BERT、ESIM、ZS-BERT、 PromptMatch、 REPrompt
使用Bert-base-uncased作为输入实例编码器，fixed sentence-Bert作为关系描述编码器
实验一：
<img src="https://github.com/user-attachments/assets/1ecd3653-3940-4684-80b0-7b031488d80e" alt="image" /></p>

<p>1.ZS-Bert为ZeroRE,但siamese. scheme限制了输入和关系描述之间的细粒度交互，因此性能次优。
2.PromptMatch使用全编码方案，可以通过自注意力隐式建模细粒度交互。但所提出的方法仍然能够超越它。一个可能的原因是关系匹配模式作为一种归纳偏差，缓解了对训练集中所见关系的过拟合，因此我们的模型具有更好的泛化性。
消融实验：</p>

<p><img src="https://github.com/user-attachments/assets/ea6937b4-d637-474d-b686-1aedc68ffdcf" alt="image" />
如果去除上下文蒸馏模块(w/o Proi) ，匹配性能下降。说明上下文中不相关的关系信息会干扰关系数据的匹配，而在蒸馏模块中进行投影可以有效降低这种影响。
实体信息在在关系数据(见w/o Ent)中发挥着重要的作用。显式地建模实体与其上位概念之间的匹配，显著地提高了模型的性能。
作为两个至关重要的组成部分，当上下文蒸馏和实体匹配都被移除(即w/oboth)时，匹配就退化为句子级别的匹配，性能会受到严重影响</p>]]></content><author><name></name></author><summary type="html"><![CDATA[【论文阅读】RE-Matching: A Fine-Grained Semantic Matching Method for Zero-Shot Relation Extraction 前言 标题：RE-Matching: A Fine-Grained Semantic Matching Method for Zero-Shot Relation Extraction 会议：ACL2023 网址：https://aclanthology.org/2023.acl-long.369 github：https://github.com/zweny/RE-Matching 研究背景 关系抽取：relation extraction是NLP的一个基本任务，目的是从非结构化文本中提取实体之间的关系。关系抽取有助于构建知识图谱，支持问答系统,提高信息检索的效率等。 例如，给定一个句子“史蒂夫:乔布斯创立了苹果公司”，关系抽取的任务就是识别出实体“史蒂夫乔布斯”和“苹果公司”，并识别出他们之间的关系“创立了”。 动机 ■关系抽取的挑战: 由于新关系的快速增长，为每个关系不断标注数据既昂贵又不切实际。因此，如何有效地进行零样本关系抽取(ZeroRE) ，即从未见过的关系中提取关系，成为了一个重要的研究问题。 ■关系抽取的现状和不足: 目前，主流的零样本关系抽取方法是基于语义匹配的，即给定一个输入实例和一段关系描述，计算它们之间的语义相似度。没有考虑关系数据的匹配模式，即输入中的实体应该与描述中的类别进行精确匹配，而与关系无关的上下文应该在匹配时被忽略。 创新 ■研究创新: 1.本文提出了一种用于零样本关系抽取的细粒度语义匹配方法。 2.该方法显式地建模了关系数据的匹配模式，将句子级别的相似度分解为实 体和上下文匹配分数。 该方法还设计了一个上下文提炼模块，使用特征蒸馏方式，用于识别和减 少与关系无关的特征对上下文匹配的负面影响。 细粒度语义匹配：指将整体的句子级别的相似度分解为更细粒度的相似度，如词汇级别或短语级别的相似度，从而更准确地捕捉文本之间的语义关系。细粒度语义匹配通常需要对文本进行编码和交互两个步骤。编码步骤是将文本转换为数值向量（也称为嵌入），交互步骤是利用不同的机制（如点积、余弦、注意力等）来计算文本向量之间的相似度分数。细粒度语义匹配在自然语言处理中有很多应用，如问答、文本蕴含、关系抽取等。 显示建模：“{实体1}是{实体2}的创始人”，然后用这个模式去匹配文本中的信息 Figure1：一个关系数据匹配模式的例子。输入的句子包含一个给定的实体对，该实体对应该匹配对应的上位概念(通常是实体类型)。上下文描述了实体之间的关系，包含了与关系无关的冗余信息，在进行匹配时应该被忽略。 关系属于有独特的匹配模式。这是一般的匹配方法没有明确考虑到的（fig 1）：输入中的实体应该与他们在描述中的上位概念完全匹配，公司就与公司匹配，地点就与地点匹配。冗余信息则需要过滤。不过问题是：冗余成分在匹配时由于缺乏显示注释，模型要学会识别他们很困难。 方法介绍 任务定义和方法概述 ■任务定义: 指在零样本关系抽取(ZeroRE) 中，目标是从已知关系Rs学习并推广到未知关系Ru。这两个集 合是不相交的，即Rs∩Ru = 0，并且只有在训练阶段才能获得已知关系Rs的样本。 ■方法概述: 提出了一种细粒度语义匹配方法，该方法显式地建模了关系数据的匹配模式，将句子级别的相 似度分解为实体和上下文匹配分数。此外，我们设计了一个特征蒸馏模块，以自适应地识别关 系无关的特征，并减少它们对上下文匹配的负面影响。 匹配模型 ■训练集: D = {((xi, ei1,ei2,Yi,di))|i= 1….N}，一共N个样本 ■样本组成:xi是输入实例，ei1,ei2是 目标实体对，yi 属于Rs，di是y;对 应的关系描述 ■优化匹配模型: M(x,e1,e2,d)→ s∈R 衡量方法:计算x与d之间的语义相似度。将输入和每个候选关系描述转化为数值向量，然后 通过比较向量相似度(如余弦相似度cosinesimilarity)来确认最可能对应的关系描述。 测试:将匹配模型M迁移学习，抽取未知的关系Ru . 有一个样本(x;,ei1, eiz),它表示R中的一个未见过的关系。找到与输入样本相似度最高的来进 行预测。 细粒度语义匹配方法 [传统的语义匹配方法通常将编码和匹配视为一个整体的过程。这些方法主要依赖于预定义的规则、知识图谱、本体或者语料库来进行语义匹配] 在这些方法中，文本首先被编码为数值向量（也称为嵌入），然后这些向量被用来计算文本之间的相似度。然而，这些方法通常没有显式地考虑文本中的细粒度信息，如词汇级别或短语级别的相似度，因此可能无法准确地捕捉文本之间的语义关系。此外，这些方法的性能受到手动定义规则的影响，对非线性灰度失真的抵抗力较弱，匹配效率和准确性较差。 Figure2： ■左侧: 输入实例与关系描述分开编码。编码模块负责提取输入实例和关系描述中的实体和 上下文信息， 将其编码为固定长度的表示，以便进行后续的细粒度匹配。 ■中间:实体和上下文匹配计算相似度。将句子级别的相似度分解为实体匹配分数和上下文匹配分数。 ■右侧:设计一个特征蒸馏模块减少无关组件对上下文匹配的影响。 输入-描述编码模块 输入实例与关系描述 分开编码。 1.将实例和候选 描述中的实体提取出来。将其编码为固定长度向量。 2.采用Sentence - BERT来扩展候选描述d的头尾实体dh,dt 3.采用BERT编码输入实例x的上下文和实体xih，xti表示。 4.计算复杂度从0(nm) →o(n +m) 扩展头尾实体描述的目的是为了丰富实体信息，从而提高实体匹配的效果。在关系数据中，实体匹配是一个重要的组成部分，它要求输入中的实体与描述中的超类精确匹配。然而，在描述中，通常只有一两个词来标识实体类型，这可能导致实体信息不足，从而影响匹配的准确性。 为了解决这个问题，我们探索了不同的方法来自动构建和扩展实体描述，如使用同义词、基于规则的模板填充等。这些方法可以增加实体描述的丰富性和流畅性，从而刺激预训练模型输出高质量的实体表示。实验结果表明，使用这些方法可以显著提高匹配F1分数，相比于只使用原始的关键词方法 ■关系描述编码器: 例如”headquartered. in” (“the headquarters of an organization is located in a place”)这个描述被编码成一个表示d，我们可以通过比较输入实例和这个表示d的相似度来判断输入实例是否具有”headquartered_ in”这个关系。 ■关键词:可以直接使用d中的实体类型(entity type)作为实体描述。比如headquartered. _in， dh是organization, dt 是place ■同义词:可以使用Wikidata提取上义词的同义词。比如d’是“organization, institution, company” ■基于规则的模板填充 ■输入实例编码器:输入实例xi = {W1, we…. wn}用4个特殊token :“[Eh], [\Eh], [Et], [\Et]”。 插入到头实体ei1和尾实体ei2中。通过隐藏层+MaxPool得到头尾实体表示。 上下文关系特征蒸馏 梯度反转层： 关系特征蒸馏层 细粒度匹配训练： 实验 数据集: 1、FewRel:从维基百科收集的少样本关系分类数据集，包含80个关系，每个关系包含700 个句子。 2、Wiki-ZSL: 源自维基数据知识库，由93，383个句子组成，包含113种关系类型。 验证集: 随机选取5个关系作为验证集，再随机选择m∈{5,10,15}个作为测试集中的未知关系，其 余作为训练集的已知关系。 模型: R-BERT、ESIM、ZS-BERT、 PromptMatch、 REPrompt 使用Bert-base-uncased作为输入实例编码器，fixed sentence-Bert作为关系描述编码器 实验一： 1.ZS-Bert为ZeroRE,但siamese. scheme限制了输入和关系描述之间的细粒度交互，因此性能次优。 2.PromptMatch使用全编码方案，可以通过自注意力隐式建模细粒度交互。但所提出的方法仍然能够超越它。一个可能的原因是关系匹配模式作为一种归纳偏差，缓解了对训练集中所见关系的过拟合，因此我们的模型具有更好的泛化性。 消融实验： 如果去除上下文蒸馏模块(w/o Proi) ，匹配性能下降。说明上下文中不相关的关系信息会干扰关系数据的匹配，而在蒸馏模块中进行投影可以有效降低这种影响。 实体信息在在关系数据(见w/o Ent)中发挥着重要的作用。显式地建模实体与其上位概念之间的匹配，显著地提高了模型的性能。 作为两个至关重要的组成部分，当上下文蒸馏和实体匹配都被移除(即w/oboth)时，匹配就退化为句子级别的匹配，性能会受到严重影响 前言 标题：RE-Matching: A Fine-Grained Semantic Matching Method for Zero-Shot Relation Extraction 会议：ACL2023 网址：https://aclanthology.org/2023.acl-long.369 github：https://github.com/zweny/RE-Matching 研究背景 关系抽取：relation extraction是NLP的一个基本任务，目的是从非结构化文本中提取实体之间的关系。关系抽取有助于构建知识图谱，支持问答系统,提高信息检索的效率等。 例如，给定一个句子“史蒂夫:乔布斯创立了苹果公司”，关系抽取的任务就是识别出实体“史蒂夫乔布斯”和“苹果公司”，并识别出他们之间的关系“创立了”。 动机 ■关系抽取的挑战: 由于新关系的快速增长，为每个关系不断标注数据既昂贵又不切实际。因此，如何有效地进行零样本关系抽取(ZeroRE) ，即从未见过的关系中提取关系，成为了一个重要的研究问题。 ■关系抽取的现状和不足: 目前，主流的零样本关系抽取方法是基于语义匹配的，即给定一个输入实例和一段关系描述，计算它们之间的语义相似度。没有考虑关系数据的匹配模式，即输入中的实体应该与描述中的类别进行精确匹配，而与关系无关的上下文应该在匹配时被忽略。 创新 ■研究创新: 1.本文提出了一种用于零样本关系抽取的细粒度语义匹配方法。 2.该方法显式地建模了关系数据的匹配模式，将句子级别的相似度分解为实 体和上下文匹配分数。 该方法还设计了一个上下文提炼模块，使用特征蒸馏方式，用于识别和减 少与关系无关的特征对上下文匹配的负面影响。 细粒度语义匹配：指将整体的句子级别的相似度分解为更细粒度的相似度，如词汇级别或短语级别的相似度，从而更准确地捕捉文本之间的语义关系。细粒度语义匹配通常需要对文本进行编码和交互两个步骤。编码步骤是将文本转换为数值向量（也称为嵌入），交互步骤是利用不同的机制（如点积、余弦、注意力等）来计算文本向量之间的相似度分数。细粒度语义匹配在自然语言处理中有很多应用，如问答、文本蕴含、关系抽取等。 显示建模：“{实体1}是{实体2}的创始人”，然后用这个模式去匹配文本中的信息 Figure1：一个关系数据匹配模式的例子。输入的句子包含一个给定的实体对，该实体对应该匹配对应的上位概念(通常是实体类型)。上下文描述了实体之间的关系，包含了与关系无关的冗余信息，在进行匹配时应该被忽略。 关系属于有独特的匹配模式。这是一般的匹配方法没有明确考虑到的（fig 1）：输入中的实体应该与他们在描述中的上位概念完全匹配，公司就与公司匹配，地点就与地点匹配。冗余信息则需要过滤。不过问题是：冗余成分在匹配时由于缺乏显示注释，模型要学会识别他们很困难。 方法介绍 任务定义和方法概述 ■任务定义: 指在零样本关系抽取(ZeroRE) 中，目标是从已知关系Rs学习并推广到未知关系Ru。这两个集 合是不相交的，即Rs∩Ru = 0，并且只有在训练阶段才能获得已知关系Rs的样本。 ■方法概述: 提出了一种细粒度语义匹配方法，该方法显式地建模了关系数据的匹配模式，将句子级别的相 似度分解为实体和上下文匹配分数。此外，我们设计了一个特征蒸馏模块，以自适应地识别关 系无关的特征，并减少它们对上下文匹配的负面影响。 匹配模型 ■训练集: D = {((xi, ei1,ei2,Yi,di))|i= 1…N}，一共N个样本 ■样本组成:xi是输入实例，ei1,ei2是 目标实体对，yi 属于Rs，di是y;对 应的关系描述 ■优化匹配模型: M(x,e1,e2,d)→ s∈R 衡量方法:计算x与d之间的语义相似度。将输入和每个候选关系描述转化为数值向量，然后 通过比较向量相似度(如余弦相似度cosinesimilarity)来确认最可能对应的关系描述。 测试:将匹配模型M迁移学习，抽取未知的关系Ru . 有一个样本(x;,ei1, eiz),它表示R中的一个未见过的关系。找到与输入样本相似度最高的来进 行预测。 细粒度语义匹配方法 [传统的语义匹配方法通常将编码和匹配视为一个整体的过程。这些方法主要依赖于预定义的规则、知识图谱、本体或者语料库来进行语义匹配] 在这些方法中，文本首先被编码为数值向量（也称为嵌入），然后这些向量被用来计算文本之间的相似度。然而，这些方法通常没有显式地考虑文本中的细粒度信息，如词汇级别或短语级别的相似度，因此可能无法准确地捕捉文本之间的语义关系。此外，这些方法的性能受到手动定义规则的影响，对非线性灰度失真的抵抗力较弱，匹配效率和准确性较差。 Figure2： ■左侧: 输入实例与关系描述分开编码。编码模块负责提取输入实例和关系描述中的实体和 上下文信息， 将其编码为固定长度的表示，以便进行后续的细粒度匹配。 ■中间:实体和上下文匹配计算相似度。将句子级别的相似度分解为实体匹配分数和上下文匹配分数。 ■右侧:设计一个特征蒸馏模块减少无关组件对上下文匹配的影响。 输入-描述编码模块 输入实例与关系描述 分开编码。 1.将实例和候选 描述中的实体提取出来。将其编码为固定长度向量。 2.采用Sentence - BERT来扩展候选描述d的头尾实体dh,dt 3.采用BERT编码输入实例x的上下文和实体xih，xti表示。 4.计算复杂度从0(nm) →o(n +m) 扩展头尾实体描述的目的是为了丰富实体信息，从而提高实体匹配的效果。在关系数据中，实体匹配是一个重要的组成部分，它要求输入中的实体与描述中的超类精确匹配。然而，在描述中，通常只有一两个词来标识实体类型，这可能导致实体信息不足，从而影响匹配的准确性。 为了解决这个问题，我们探索了不同的方法来自动构建和扩展实体描述，如使用同义词、基于规则的模板填充等。这些方法可以增加实体描述的丰富性和流畅性，从而刺激预训练模型输出高质量的实体表示。实验结果表明，使用这些方法可以显著提高匹配F1分数，相比于只使用原始的关键词方法 ■关系描述编码器: 例如”headquartered. in” (“the headquarters of an organization is located in a place”)这个描述被编码成一个表示d，我们可以通过比较输入实例和这个表示d的相似度来判断输入实例是否具有”headquartered_ in”这个关系。 ■关键词:可以直接使用d中的实体类型(entity type)作为实体描述。比如headquartered. _in， dh是organization, dt 是place ■同义词:可以使用Wikidata提取上义词的同义词。比如d’是“organization, institution, company” ■基于规则的模板填充 ■输入实例编码器:输入实例xi = {W1, we… wn}用4个特殊token :“[Eh], [\Eh], [Et], [\Et]”。 插入到头实体ei1和尾实体ei2中。通过隐藏层+MaxPool得到头尾实体表示。 上下文关系特征蒸馏 梯度反转层： 关系特征蒸馏层 细粒度匹配训练： 实验 数据集: 1、FewRel:从维基百科收集的少样本关系分类数据集，包含80个关系，每个关系包含700 个句子。 2、Wiki-ZSL: 源自维基数据知识库，由93，383个句子组成，包含113种关系类型。 验证集: 随机选取5个关系作为验证集，再随机选择m∈{5,10,15}个作为测试集中的未知关系，其 余作为训练集的已知关系。 模型: R-BERT、ESIM、ZS-BERT、 PromptMatch、 REPrompt 使用Bert-base-uncased作为输入实例编码器，fixed sentence-Bert作为关系描述编码器 实验一： 1.ZS-Bert为ZeroRE,但siamese. scheme限制了输入和关系描述之间的细粒度交互，因此性能次优。 2.PromptMatch使用全编码方案，可以通过自注意力隐式建模细粒度交互。但所提出的方法仍然能够超越它。一个可能的原因是关系匹配模式作为一种归纳偏差，缓解了对训练集中所见关系的过拟合，因此我们的模型具有更好的泛化性。 消融实验： 如果去除上下文蒸馏模块(w/o Proi) ，匹配性能下降。说明上下文中不相关的关系信息会干扰关系数据的匹配，而在蒸馏模块中进行投影可以有效降低这种影响。 实体信息在在关系数据(见w/o Ent)中发挥着重要的作用。显式地建模实体与其上位概念之间的匹配，显著地提高了模型的性能。 作为两个至关重要的组成部分，当上下文蒸馏和实体匹配都被移除(即w/oboth)时，匹配就退化为句子级别的匹配，性能会受到严重影响]]></summary></entry><entry><title type="html">视频理解大模型综述</title><link href="https://vegetable-edu.github.io/Sandwich.github.io/Vid-LLM%E7%BB%BC%E8%BF%B0/" rel="alternate" type="text/html" title="视频理解大模型综述" /><published>2024-08-26T00:00:00+00:00</published><updated>2024-08-26T00:00:00+00:00</updated><id>https://vegetable-edu.github.io/Sandwich.github.io/Vid-LLM%E7%BB%BC%E8%BF%B0</id><content type="html" xml:base="https://vegetable-edu.github.io/Sandwich.github.io/Vid-LLM%E7%BB%BC%E8%BF%B0/"><![CDATA[<h6 id="说明24年6月的一篇vid-llm综述">说明：24年6月的一篇Vid-LLM综述…</h6>

<!-- more -->

<h3 id="目录">目录</h3>
<ul>
  <li><a href="#一video-understanding">一、Video Understanding</a></li>
  <li><a href="#二vid-llm分类">二、Vid-LLM分类</a></li>
  <li><a href="#三vid-llm训练策略">三、Vid-LLM训练策略</a></li>
  <li><a href="#四benchmarks--evaluation">四、Benchmarks &amp; Evaluation</a></li>
</ul>

<h2 id="一video-understanding">一、Video Understanding</h2>

<ul>
  <li><strong>论文链接：</strong> <a href="https://arxiv.org/pdf/2312.17432">https://arxiv.org/pdf/2312.17432</a></li>
  <li><strong>Github链接：</strong> <a href="https://github.com/yunlong10/Awesome-LLMs-for-Video-Understanding">https://github.com/yunlong10/Awesome-LLMs-for-Video-Understanding</a></li>
</ul>

<h3 id="11-video-understanding任务">1.1 Video Understanding任务</h3>

<ul>
  <li>
    <p><strong>Abstract(抽象) Understanding Tasks:</strong> Video Classification,  Action Recognition,  Text-Video Retrieval,  Video-to-Text Summarization,  Video Captioning(字幕).</p>
  </li>
  <li>
    <p><strong>Temporal(时间)Understanding Tasks：</strong> Video Summarization, Video Highlight Detection, Temporal Action/Event Localization, Temporal Action Proposal Generation(时间动作提案生成), Video Temporal Grounding(视频时序定位), Moment Retrieval, Generic Event Boundary Detection(通用事件边界检测), Generic Event Boundary Captioning &amp; Grounding, Dense Video Captioning.</p>
  </li>
  <li>
    <p><strong>Spatiotemporal(时空) Understanding Tasks：</strong> Object Tracking(追踪),  Re-Identification(ReID), Video Saliency Detection(视频显著性检测), Video Object Segmentation, Video Instance Segmentation, Video Object Referring Segmentation, Spatiotemporal Grounding.</p>
  </li>
</ul>

<h3 id="12-部分任务介绍">1.2 部分任务介绍</h3>

<ul>
  <li><strong>Temporal Action/Event Localization：</strong> 识别视频中的动作或事件的精确时间片段。</li>
  <li><strong>Temporal Action Proposal Generation：</strong> 生成可能包含动作或时间的候选片段。</li>
  <li><strong>Video Temporal Grounding：</strong> 文本查询特定时刻的任务。</li>
  <li><strong>Generic Event Boundary Detection(通用事件边界检测)：</strong> 识别不同事件或活动的过渡点。</li>
  <li><strong>Re-Identification(ReID)：</strong> 不同视频帧或摄像机视图中识别和匹配个人。</li>
  <li><strong>Video Saliency Detection(视频显著性检测)：</strong> 识别视频中视觉上最重要或最引人注目的区域。</li>
  <li><strong>Video Object Referring Segmentation：</strong> 旨在根据自然语言表达来标记视频中对象实例。</li>
</ul>

<p><img src="https://peninsulazyf.github.io/images/E1.png" alt="1" /></p>

<p><img src="https://peninsulazyf.github.io/images/E2.png" alt="2" /></p>

<h2 id="二vid-llm分类">二、Vid-LLM分类</h2>

<p><img src="https://peninsulazyf.github.io/images/E3.png" alt="3" /></p>

<p><strong>Vid-LLMs的三个主要框架：</strong>
1) <em>Video Analyzer×LLM</em>：Video Analyzer将视频输入转换为LLM的文本分析。</p>

<p>2) <em>Video Embedder × LLM</em>：Video Embedder生成向量表示嵌入供LLM处理。</p>

<p>2) <em>(Analyzer + Embedder) × LLM</em>：结合分析器和嵌入器的混合方法，为LLM提供文本分析和嵌入。</p>

<p><img src="https://peninsulazyf.github.io/images/E4.png" alt="4" /></p>

<p>其中 箭头表示信息流的方向，虚线箭头表示可选路径，蓝色箭头表示文本信息流，红色箭头表示嵌入。</p>

<h3 id="21-video-analyzer--llm">2.1 Video Analyzer × LLM</h3>

<p>Video Analyzer的定义是一个模块，它将视频输入并输出视频分析(通常是文本形式)，便于LLM处理。
该文本可能包括视频字幕、密集视频字幕(视频中所有事件的详细描述和时间戳)、对象跟踪结果(标签、IDs和对象的边界框)，以及视频中存在的其他模态的transcripts(转录本)，例如：来自ASR的语音识别结果或来自OCR的字幕识别结果。
Video Analyzer生成的文本可以直接送到后续的LLM中，也可以在馈送到LLM之前插入到预先准备好的模板中，或者转换为临时数据库格式供LLM稍后检索。</p>

<p>Video Analyzer × LLM可以分为两个子类：LLM as Summarizer和LLM as Manager。</p>

<p><img src="https://peninsulazyf.github.io/images/E5.png" alt="5" /></p>

<p><img src="https://peninsulazyf.github.io/images/E6.png" alt="6" /></p>

<h3 id="22-video-embedder--llm">2.2 Video Embedder × LLM</h3>

<p>Video Embedder通常是指visual backbone/video encoder，如ViT或CLIP，用于将输入视频转换为vector representations，称为video embeddings或video tokens。
注意：一些Embedder encoder在视频中编码其他模态，例如音频(例如，CLAP)，它们也在这里归类为Video Embedder，不将LLM’s tokenizer视为Embedder。
与视频分析器生成的文本不同，视频嵌入器生成的向量不能被LLM直接利用，通常需要一个adapter(适配器)将这些embeddings从视觉语义空间映射到LLM input tokens的text semantic space(文本语义空间)。
根据LLM在Vid-LLM的功能，可以分为三个子类：LLM as Text Decoder、LLM as Regressor和LLM as Hidden Layer。</p>

<p><img src="https://peninsulazyf.github.io/images/E7.png" alt="7" /></p>

<p><img src="https://peninsulazyf.github.io/images/E8.png" alt="8" /></p>

<p><img src="https://peninsulazyf.github.io/images/E9.png" alt="9" /></p>

<h2 id="三vid-llm训练策略">三、Vid-LLM训练策略</h2>

<p><strong>Training-free Vid LLMs：</strong> 许多Vid-LLMs建立在强大的LLMs基础上，具有强大的zero-shot、in-context和Chain-of-Thought能力，Video Analyzer × LLM类别中的大多数都是Training-free的，因为来自视频或者其他模态的信息都已经被解析成文本，视频理解任务转换为了文本理解任务。</p>

<p><img src="https://peninsulazyf.github.io/images/E10.png" alt="10" /></p>

<p><img src="https://peninsulazyf.github.io/images/E11.png" alt="11" /></p>

<p><img src="https://peninsulazyf.github.io/images/E12.png" alt="12" /></p>

<h2 id="四benchmarks--evaluation">四、Benchmarks &amp; Evaluation</h2>

<p>现有的视频问答模型和相关任务的评价方法，分为三种：close-set evaluation 闭集评估、open-set evaluation1 开集评估和 other evaluation methods 其它评估方法。</p>

<p><strong>闭集评估：</strong> 依赖于带有预定义答案的问答，通过计算正确答案的百分比来衡量模型的性能。通常使用CIDEr、METEOR、ROUGE和SPICE等指标将预测结果与实际情况进行比较。</p>

<p><strong>开集评估：</strong> 不依赖于预定义的选项，但仍然需要基本的真实答案来评分，通常使用像GPT-3.5/4.0这样的模型来比较预测和评估分数。</p>

<p><strong>其它评估方法：</strong> 包括需要细粒度时间和时空理解的任务，如：密集字幕、视频时间基础、时空基础和对象跟踪，使用IoU、Recall**@K和mAP。</p>

<p><strong>人工评估方法：</strong> 耗时耗力…</p>

<p><img src="https://peninsulazyf.github.io/images/E13.png" alt="13" /></p>

<p><img src="https://peninsulazyf.github.io/images/E15.png" alt="14" /></p>]]></content><author><name>YufengZhang</name></author><summary type="html"><![CDATA[说明：24年6月的一篇Vid-LLM综述…]]></summary></entry></feed>