UIE-通用信息抽取(2022)
统一的文本到结构生成框架,即UIE
目前,大多数IE方法都是面向特定任务的,这导致了针对不同IE任务的专用体系结构、独立模型和专用知识源。阻碍了IE系统的快速体系结构开发、快速跨领域适应等。

实际上,所有IE任务都可以建模为文本到结构的转换,不同的文本对应不同的结构。
- 实体是命名的span结构
- 事件是模式定义的记录结构
可以进一步分解为几个原子转换操作:
Spotting,定位给定特定语义类型相关的spans
Associating,通过在预定义的模式中为spans分配语义角色来关联spans。
定位:指示从句子中定位目标信息块,例如事件中的实体和触发词。
关联:表示根据所需的关联(例如,实体对之间的关系或事件及其参数之间的角色)连接不同的信息块。
实体提取可以被视为发现相应实体类型的提及范围,而事件检测可以被重新表述为发现具有事件类型的触发器范围,这两项任务可以共享发现能力。
论文通过统一的预训练算法对大规模文本到结构生成模型进行预训练。
我们首先从Web收集多个大规模数据集,包括结构化(例如知识库)、非结构化(例如原始文本)和并行(例如Wikipedia Wikidata links)数据,然后在这些异构数据集上统一预训练UIE模型。最后,我们通过按需微调,将预训练好的UIE模型适应特定的下游IE任务。论文发现,经过预训练的UIE模型为不同IE任务之间的知识获取、共享和迁移提供了坚实的基础,并且由于UIE学习了一般的IE能力,新的IE任务可以得到有效解决。
关系抽取、实体抽取、实体+关系联合抽取、事件抽取、情感分析。
语义检索系统
召回阶段
在召回阶段,最常见的方式是通过双塔模型,学习Document(简写为Doc)的向量表示,对Doc端建立索引,用ANN召回。
SimCSE模型是一种简单的对比句向量表征的框架,包含无监督和有监督两种方法。
无监督学习:会采用Dropout技术,对原始文本进行数据增强,构造出正样本,用于对比学习训练;
监督学习:由于本身有正样本(相近样本),故无需使用Dropout技术,直接训练即可。
核心是对比学习,对比学习是通过拉近相似数据的距离,拉远不相似数据的距离为目标,更好地学习数据的表征。使得其在文本匹配任务中产生更好的效果。
我们在这种方式的基础上,引入有监督的语义索引策略 In-batch Negatives,以如下Batch size=4的训练数据为例:
In-batch Negatives 策略的训练数据为语义相似的 Pair 对,策略核心是在 1 个 Batch 内同时基于 N 个负例进行梯度更新,将Batch 内除自身之外其它所有 Source Text 的相似文本 Target Text 作为负例,例如: 上例中“我手机丢了,我想换个手机” 有 1 个正例(”我想买个新手机,求推荐“),3 个负例(1.求秋色之空全集漫画,2.手机学日语的软件,3.侠盗飞车罪恶都市怎么改车)。
实质上就是计算两段文本的相似度,能够做的功能有:1、抽取文本的语义向量 2、计算文本pair的语义相似度
排序阶段
对召回训练好的pair-wise模型,将文本对的相似度作为特征之一输入到特定的排序规则中进行重新排序。
双塔模型,使用ERNIE-Gram预训练模型,使用margin_ranking_loss训练模型。 排序损失函数。
或者Domain-adaptive Pretraining领域自适应学习。
然后放在milvus进行语义向量的快速检索。使用模型的推理,然后在召回库里进行匹配排序,即使用ann knn 进行快速检索了,提升了速度。