SimKGC: Simple Contrastive Knowledge Graph Completion with Pre-trained Language Models

双塔模型-语义索引策略 [In-batch Negatives] 语义索引(可通俗理解为向量索引)技术是搜索引擎、推荐系统、广告系统在召回阶段的核心技术之一。语义索引模型的目标是:给定输入文本,模型可以从海量候选召回库中快速、准确地召回一批语义相关文本。语义索引模型的效果直接决定了语义相关的物料能否被成功召回进入系统参与上层排序,从基础层面影响整个系统的效果。在召回阶段,最常见的方式是通过双塔模型,学习Document(简写为Doc)的向量表示,对Doc端建立索引,用ANN召回。我们在这种方式的基础上,引入语义索引策略 [In-batch Negatives](https 阅读详情

这篇论文是去年看的论文,但是不太了解对比学习,导致看这篇论文感觉没啥特色(当时比较菜)。最近由于找工作相对了解一下对比学习相关内容,重新回顾了这篇论文,特此记录一下。

摘要

目前,比较流行的知识图谱补全模型,通常喜欢使用结构化的信息即(h,r,t)的这种形式进行知识图谱补全。但是这种方式其实可以使用的特征有限,增加额外信息-实体描述(或者叫文本信息,我习惯性交实体描述,差不多一个意思,不要纠结),可以提高模型的表达或者特征。目前在WN18RR数据集上评分最高的模型,就基于实体描述信息,为什么只提WN18RR,因为在FB15k-237上,效果不咋地,后面细说。
开始进入正题,讲一下论文SimKGC,这篇论文就是基于实体描述的知识图谱补全模型,这篇论文相比于之前的模型,在模型结构上并没有什么创新。主要创新点为一下三个方面:

  • 结合三种负采样:in-batch、pre-batch Negatives、Self-Negatives
  • 损失函数进行优化:采用对比损失函数InfoNCE

正文

模型结构

目前,利用文本描述,通常利用bert作为基础的模型,通常模型的输入为实体和关系的文本信息,将文本信息替换为三元组的实体和关系。如KG-bert:
在这里插入图片描述
但这这么做的时间复杂度较高,因为bert的时间复杂度是O(n2)O(n^2)O(n2),一些论文如StAR则是拆开hrt为,hr 和t。如下图所示:
在这里插入图片描述
在这篇论文中SimKGC同样采用ehre_{hr}ehr​=bert(h, r),ete_tet​=bert(t), 进行余弦相似度,计算得分。
在这里插入图片描述
优化目标为:
在这里插入图片描述

负采样

In-batch Negatives(IB)

本质上就是采用同一个Batch中的其他实体作为负样例

Pre-batch Negatives (PB)

因为IB和Batch size 大小有关,所以如何想要更大的负采样数量,要么采用其他方式,要么就是增大Batch size,但是增大batch size有的模型可能会影响模型性能,所以提出Pre-batch Negatives (PB)。它则是记录之前的1-2batch,根据需要,或许可以记录更多的batch的数据作为负样例。

Self-Negatives (SN)

除了增加负采样的数量,挖掘hard negatives对于提高对比表征学习也很重要。对于尾部实体预测(h, r, ?),基于文本的方法倾向于给头部实体h分配高分,这可能是由于高度的文本重叠。为了缓解这个问题,我们提出使用头部实体h作为hard negatives的自我否定,可以减少模型对虚假文本匹配的依赖即认为(h, r, h)是错误的。
采用以上三种方式作为负采样的结果,进行模型训练。

Re-ranking

知识图谱通常表现出空间局部性,距离较近的实体比距离较远的实体更有可能相互关联。基于文本的KGC方法擅长捕获语义相关性,但可能无法完全捕获这种归纳偏差。提出了一种简单的基于图的重新排序策略:基于训练集的图,如果候选尾实体tit_iti​在头部实体h的k-hop邻居Ek(h)\mathcal{E}_k(h)Ek​(h)中,则将候选尾实体ti的得分提高α\alphaα≥0。公式如下:
在这里插入图片描述

损失函数

损失函数采用InfoNCE:
在这里插入图片描述

实验

数据集:
在这里插入图片描述
实验结果:
在这里插入图片描述
在这里插入图片描述
从整体上看负采样其实IB就可以了,对于常规的推理方式增加另外两种其实影响不大,但是对于wikidata5M-ind影响比较大。

结果分析

在这里插入图片描述
可以看出来大量负样例数量和InfoNCE是模型变好的关键。并且负样例数量多效果更好。其实损失函数变好的原因一定程度是超参数τ\tauτ引起的。
在这里插入图片描述
但是应该是在一个范围内增多,我猜测或者根据常识超过一定阈值效果应该会变差。
在这里插入图片描述
进一步分析re-ranking 的影响,发现其实影响有限

结论

这篇文章主要的想法从实体描述方面,进行负采样角度和损失函数方面提出的一个模型,其实我理解可以看作一种策略的尝试。填一下坑,就是基于实体描述的方式补全知识图谱,通常在FB15k-237上的效果很差,我猜测因为FB15k-237的文本描述质量差或者与bert训练的语料不适配。有个论文基于大模型进行FB15k-237实体描述进行总结重要信息,Hits@10指标提升至56左右。

语义检索系统【二】:基于无监督训练SimCSE+In-batch Negatives策略有监督训练的语义索引召回 阅读详情

相关推荐

【UV打印机】RYPC打印软件教程(二)-软件界面概述

下图是控制软件的主操作界面.将喷绘机的操作规纳为四块,分别为参数设置,任务选择,打印控制,系统维护,对于日常打印而言,只需操作任务选择,打印控制。从而使汲及的操作相对较少,使得系统对普通用户而言简单易用.

Print World的专栏 3598

论文浅尝 | SimKGC:基于预训练语言模型的简单对比知识图谱补全

笔记整理:李雅新,天津大学硕士,研究方向为知识图谱补全链接:https://dl.acm.org/doi/10.1145/3539597.3570483动机知识图谱补全(KGC) 旨在对已知事实进行推理并推断缺失的链接。基于文本的方法从自然语言描述中学习实体表示,并且具有归纳KGC的潜力。然而,基于文本的方法的性能在很大程度上落后于基于图嵌入的方法,如TransE和RotatE。本文认为基于文本...

开放知识图谱 1857

STM32电机库(ST-MC-Workbench)实战指南——三电阻电流采样电路参数配置详解

本文详细解析了STM32电机库(ST-MC-Workbench)中三电阻电流采样电路的参数配置方法,涵盖电阻选型、放大增益计算、滤波时间优化等关键步骤。通过实战案例和调试技巧,帮助工程师快速掌握电流采样技术,提升电机控制系统的精度与稳定性。特别针对ST-MC-Workbench界面参数设置提供了详细指导。

weixin_29186249的博客 505

NLP | SimKGC论文详解及项目实现

本文主要讲解了论文SimKGC:基于预训练语言模型的简单对比KGC的论文总结以及项目实现。论文题目:2022_SimKGC: Simple Contrastive Knowledge Graph Completion with Pre-trained Language Models。

weixin_44649780的博客 1805

【零基础入门哈希签名架构,从Lamport到SPHINCS+】第二集 哈希签名树 Merkle Tree Authentication

在第一集中,我们一直忽略了一个问题。设想一下,假如有一个Hacker(黑客),在截获到Sender发送给Receiver的公钥之后,把这个公钥改成Hacker自己的公钥,然后再发给Receiver,那么Receiver就会误认为这是Sender的公钥。所以我们之前所说放方案,其安全性都需要建立在一个前提下:Receiver需要确认公钥确实是Sender发出的。

m0_50572808的博客 2451

英飞凌 TC4X MCAL之SPI中断与DMA高效传输实战

本文详细介绍了英飞凌TC4X芯片的SPI通信实战,重点讲解如何通过MCAL配置SPI中断与DMA实现高效数据传输。针对汽车电子领域的高吞吐需求,提供了从基础配置到中断处理、DMA优化的完整解决方案,包含代码示例和调试技巧,帮助开发者提升系统性能与CPU利用率。

k0l1m2n3o的博客 874

SimKGC: Simple Contrastive Knowledge Graph Completion with Pre-trained Language Models 2022ACL

SimKGC:基于预训练语言模型的简单对比知识图补全

失眠的树的博客 855

ISOLAR Autosar BSW 配置 之 Com

Autosar ISOLAR Bsw Configuration 之 Com

qq_42262743的博客 452

阅读记录:SimKGC: Simple Contrastive Knowledge Graph Completion withPre-trained Language Models

现有的知识图谱补全(KGC)方法可以分为两类:基于嵌入的方法和基于文本的方法。基于嵌入的方法将每个实体和关系映射到低维向量,而不使用任何辅助信息。例如:TransE (Bordes et al., 2013)、TransH (Wang et al., 2014)、RotatE (Sun et al., 2019b) 和 TuckER (Balazevic et al., 2019) 等。

yangmoua的博客 2176

从自然语言到PCB设计:DeepSeek与Altium协同自动化实战指南

摘要:在电子设计领域,将自然语言需求转化为PCB设计图是实现自动化设计的重要目标。受限于当前NLP和EDA技术,通过DeepSeek直接生成完整PCB设计图尚无法实现,但在设计辅助环节已展现实用价值。本文深入分析技术可行性,提出"自然语言→设计约束→脚本生成→人工验证"的人机协同工作流。通过28个完整代码示例、12张技术图表及5个工程案例,详细展示DeepSeek解析需求、生成设计约束,并结合Altium Designer API实现元件放置、规则设置、DRC校验的全流程。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1759

[企业AI落地] RAG 知识库系统在多租户环境下的细粒度权限隔离设计

多租户 RAG 系统真正的风险不只是搜不到,而是把不该看到的内容查出来、说出来、写回去。本文结合多客户售后知识助手场景,用元数据结构、向量检索过滤、回答策略和审计回写示例拆解租户、资源、检索、生成、审计五层权限边界。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 219

GNN4NLP-Papers完全指南:一文读懂图神经网络在NLP领域的革命性应用

GNN4NLP-Papers是一个专注于图神经网络(GNN)在自然语言处理(NLP)领域应用的学术资源库,收录了ACL、EMNLP、NAACL等顶级会议近年来的相关研究成果。通过这份完全指南,你将系统了解GNN如何为NLP任务带来突破性进展,掌握从基础理论到实际应用的完整知识体系。 ## 为什么选择GNN4NLP-Papers? 在深度学习主导NLP研究的今天,图神经网络凭借其处理结构化数据的

gitblog_00434的博客 825

STM32开发 -- GPS模块开发详解

一、了解硬件 我使用的GPS模块型号为UBX-M8030 参看:UBX-M8030 系列 查看一下它的特性: 多用途 GNSS 芯片,提供三种产品等级 最多可并发接收 3 个 GNSS(GPS、伽利略、GLONASS、北斗) 行业领先的 -167 dBm 导航灵敏度 业界最低电流消耗 在城市峡谷中具有绝佳的定位精度 安全性和完整性保护 支持所有的卫星增强系统 车载级芯片的工作...

不积跬步,无以至千里 3万+

GNN4NLP-Papers核心论文解读:从情感分析到知识图谱的实战案例

**图神经网络(GNN)在自然语言处理(NLP)领域的应用正在掀起一场技术革命**。GNN4NLP-Papers项目汇集了近年来最前沿的GNN应用于NLP领域的研究论文,为研究者和开发者提供了宝贵的资源库。本文将深入解析该项目的核心内容,重点介绍从情感分析到知识图谱的实战案例,帮助您快速掌握GNN在NLP中的关键应用。 ## 🔍 为什么GNN在NLP中如此重要? 传统的NLP方法主要基于序列

gitblog_00319的博客 449

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

图神经网络+NLP零基础入门:GNN4NLP-Papers精选论文推荐与代码实现

GNN4NLP-Papers是一个专注于图神经网络(GNN)在自然语言处理(NLP)领域应用的精选论文集合,涵盖了ACL、EMNLP、NAACL等顶级学术会议的最新研究成果。本文将为零基础学习者提供一份系统的入门指南,帮助你快速掌握GNN与NLP结合的核心技术和应用方向。 ## 为什么选择GNN4NLP-Papers? GNN4NLP-Papers项目自2020年起持续更新,截至2022年9月

gitblog_00241的博客 929

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

知识图谱顶会论文(ACL-2022) ACL-SimKGC:基于PLM的简单对比KGC

知识图谱补全(KGC)的目的是对已知事实进行推理,并推断出缺失的环节。基于文本的方法,如KG-BERT从自然语言描述中学习实体表示,并具有归纳KGC的潜力。然而,基于文本的方法的性能仍然大大落后于基于图嵌入的方法(KGE),如TransE和RotatE。在本研究中,我们认为关键问题在于有效的对比学习。批内负采样、批前负采样和作为困难负样本的简单形式的自我负采样。结合InfoNCE损失,我们提出的模型SimKGC在多个基准数据集上的性能大大优于基于嵌入的方法。

CJK's Blog 5177

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Multi-Task Learning for Knowledge Graph Completion with Pre-trained Language Models 2020 COLING

每个任务都有一个分类层W∈ RK×H,其中K是标签的数量,H是BERT的隐藏大小。通过将关系预测和相关排序任务与链接预测相结合,提出了一种有效的知识图完成多任务学习方法。实验结果表明,与之前的 KG-BERT 模型相比,模型大大提高了 MRR 和 Hits@k。该模型经过训练以预测给定的三元组(h,r,t)是否有效,并且通过将头部或尾部实体替换为一个随机实体来生成无效三元组。其实就是拉开正样本和负样本的分差,增强模型的判别能力。目的是使有效的三元组比无效的三元组保持更高的分数。输入是头和尾实体序列,

失眠的树的博客 582

PaddleNLP/ examples / semantic_indexing

https://blog.youkuaiyun.com/CHIERYU/article/details/81989920 语义索引模型的目标是: 给定输入文本,模型可以从海量候选召回库中快速、准确地召回一批语义相关文本。 简要介绍 In-batch negatives 策略和 HardestNeg 策略思路 In-batch negatives 核心思路 In-batch negatives 策略的训练数据为语义相似的 Pair 对,如下所示为 Batch size = 4 的训练数据样例: 我手机丢了,我想换个手

qq_15821487的博客 1570

对比学习在NLP和多模态领域的应用

© 作者|杨锦霞研究方向 | 多模态引言对比学习的主要思想是相似的样本的表示相近,而不相似的远离。对比学习可以应用于监督和无监督的场景下,并且目前在CV、NLP等领域中取得了较好的性...

Kaiyuan_sjtu的博客 3084

效果提升28个点 基于领域预训练和对比学习SimCSE的语义检索

语义检索相比传统基于字面关键词的检索有诸多优势,广泛应用于问答、搜索系统中。今天小编就手把手带大家完成一个基于领域预训练和对比学习SimCSE的语义检索小系统。所谓语义检索(也称基于向量的检索),是指检索系统不再拘泥于用户Query字面本身(例如BM25检索),而是能精准捕捉到用户Query背后的真正意图并以此来搜索,从而向用户返回更准确的结果。最终可视化demo如下,一方面可以获取文本的向量表示;另一方面可以做文本检索,即得到输入Query的top-K相关文档!语义检索,底层技术是语义匹配,是NLP最基础

百度大脑 633

知识图谱补全论文阅读笔记:TuckER: Tensor Factorization for Knowledge Graph Completion

TuckER(E代表实体,R代表关系),基于tucker分解简单线性模型并作为坚实的基础。tucker分解,广泛用于机器学习,其分解是将张量分解成核心张量并成各个模式的矩阵。在矩阵正交且核心张量为“全正交”的特殊情况下,它可以被认为是高阶SVD的一种形式。

qq_44091306的博客 3626

Adaptive Graph Completion Based IncompleteMulti-View Clustering(2020)

1.研究现状 为了提高灵活性,人们提出了一些基于加权矩阵分解的IMC方法,其中最具代表性的是多不完全视图聚类(MIC)[23]、在线多视图聚类(OMVC)[24]、双对齐不完全多视图聚类(DAIMC)[25]和单通道不完全多视图聚类(OPIMC)[26],等 。这些方法通常将视图存在和不存在的信息作为一个加权矩阵来联合正则化所有视图的矩阵分解模型。与PMVC和IMG相比,这些基于加权矩阵分解的方法更优越,因为它们可以处理各种不完整的多视图数据。近年来,许多基于图的方法也被提出用于困难的IMC任务[27]–

weixin_47038252的博客 1069

【知识图谱论文】Bi-Link:通过转换器和提示的对比学习桥接来自文本的归纳链接预测

Bi-link

qq_43058281的博客 1489

Knowledge Graph Completion(知识图谱补全)

知识图谱补全算法能让知识图谱变得更加完整,按照能否处理新实体或者新关系,可以将知识图谱补全算法分成两类: 静态知识图谱补全(Static KGC),该场景的作用是补全已知实体之间的隐含关系。仅能处理实体以及关系都是固定的场景,扩展性较差 动态知识图谱补全(Dynamic KGC),涉及不止知 识图谱G中的实体或关系,该场景能够建立知识图谱与外界的关联,从而扩大知识图谱的实体集、关系集以及三元组集。可以处理含有新实体或者新关系的场景,能够构造动态的知识图谱,具有更好的现实意义 虽然知识图谱能提供高质量的结

nakaizura 2万+

【IR 论文】DPR — 最早提出使用嵌入向量来检索文档的模型

DPR —— 经典地使用嵌入向量来检索文档的模型

VLyb 5368

论文阅读-Graph Contrastive Learning for Anomaly Detection

基于图的异常检测已广泛用于检测实际应用程序中的恶意活动。迄今为止,解决这个问题的现有尝试都集中在结构特征工程或二元分类机制的学习上。在这项工作中,我们建议利用图对比学习并提出监督 GraphCAD 模型,以根据它们与全局上下文的距离(例如,所有节点的平均值)将异常节点与正常节点进行对比。为了处理标签稀缺的场景,我们通过设计用于生成合成节点标签的图破坏策略,进一步使 GraphCAD 成为一个自我监督的框架。

qq_40671063的博客 2835
上一篇: MoDS: Model-oriented Data Selection for Instruction Tuning
下一篇: CP-KGC: Constrained-Prompt Knowledge Graph Completion with Large Language Models
Re:fused
博客等级 码龄9年 474粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值