Bootstrapping Entity Alignment with Knowledge Graph Embedding理解

本文探讨了实体对齐在知识图谱整合中的重要性,通过Bootstrap方法解决有限训练数据导致的embedding不准确问题。将实体对齐转化为分类任务,采用余弦相似度和sigmoid函数估计实体标签概率,并通过限制损失的embedding目标函数优化模型。同时,针对样本不足,提出综合考虑已标注和未标注样本的对齐目标函数,以提高实体对齐的精度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Zequn Sun et al. IJCAI 2018.

相关知识介绍

实体对齐(entity alignment)也被称为实体匹配(entity matching),主要用于消除异构数据中实体冲突、指向不明等不一致性问题,可以从顶层创建一个大规模的统一知识库,从而帮助机器理解多源异质的数据,形成高质量的知识。

Bootstrap是一种统计学上的估计方法,由Stanford统计学的教授Bradley Efron提出。Bootstrap是一类非参数Monte Carlo方法,其实质是对观测信息进行再抽样,进而对总体的分布特性进行统计推断。

个人想法:Bootstrap只是通过多次重抽样对已有样本进行了最大程度的利用,并没有额外增加样本。因为样本有限,抽样次数在足够多的情况下,Bootstrap可以最大程度地估计出当前样本的统计特性。

论文背景

知识图谱(Knowledge Graph,KG)在AI的众多领域中广泛应用,如问答(question answering)、语义搜索(semantic searching)和知识推理(knowledge reasoning)等。知识图谱中知识一般以三元组(h,r,t)的形式表示,其中h表示头实体(head entity),r表示关系(relation),t表示尾实体(tail entity)。为更好地捕捉知识图谱中的隐藏语义,将知识图谱中的元素(如实体、关系等)用低维的向量(embedding)表示。

单一的知识图谱很难满足多元知识的需要,一种有效的方式是通过实体对齐(entity alignment)将多种知识图谱的异构知识集成起来。但有限的训练数据会使得embedding不准确,实体对齐的精确度不高。因此本文提出了一个基于Bootstrap的实体对齐技术。

问题定义

实体对齐的目标是找到集合A=(x,y)∈X×Y∣X∼RYA = {(x,y)\in X\times Y|X\sim_RY}A=(x,y)X×YXRY,其中XXX表示KG1KG_1KG1的实体集,YYY表示KG2KG_2KG2的实体集, ∼R\sim_RR是等价关系。X′X^{'}XY′Y^{'}Y是已有的训练集。

本文将实体对齐转换成分类问题,即用YYY的实体给XXX的实体打标签,对应概率定义为π(y∣x;θ)=σ(sim(v⃗(x),v⃗(y))),\pi(y|x;\theta) = \sigma(sim(\vec{v}(x), \vec{v}(y))),π(yx;θ)=σ(sim(v (x),v (y))),其中,σ(⋅)\sigma(\cdot)σ()是sigmoid函数,sim(⋅)sim(\cdot)sim()是余弦相似度度量,θ\thetaθKG1KG_1KG1KG2KG_2KG2的embedding参数。最终,本文的最大似然优化目标为

<think>嗯,用户遇到了配置过程中自动依赖跟踪失败的问题,需要解决。首先,我得回忆一下常见的配置工具,比如Autoconf和Automake,它们生成的configure脚本通常会处理依赖跟踪。自动依赖跟踪失败可能有几个原因,比如编译器不支持-M或-MD选项,或者Makefile片段有问题。 用户提到使用--disable-dependency-tracking选项,这可能是临时解决方法,但最好还是找到根本原因。我需要先建议检查config.log文件,查找错误信息。通常,config.log里会有具体的编译命令和错误输出,比如是否无法生成.d文件。 接下来,可能需要检查编译器是否兼容。比如,GCC通常支持-MD,但其他编译器可能不支持,这时候需要确认编译器版本。另外,检查Makefile.am中的相关设置是否正确,比如是否启用了AUTOMAKE_OPTIONS = subdir-objects,或者是否正确使用了AM_CPPFLAGS。 还有可能是源文件的路径问题,特别是如果源文件在子目录中,依赖跟踪可能需要额外配置。用户可能需要更新Automake的配置,或者调整文件结构。如果问题依旧,建议升级构建工具到最新版本,因为旧版本可能有已知的bug。 最后,如果所有方法都无效,再建议使用--disable-dependency-tracking,并提醒用户这会影响到增量编译的效率。需要确保用户理解这个选项的影响。</think>关于配置过程中自动依赖跟踪失败的问题,通常与Autotools生成的Makefile依赖规则相关。以下是分步骤解决方案: 1. **检查config.log定位错误根源** 在config.log中搜索`dependency tracking`或`dependency style`,例如: ``` configure:12345: checking dependency style of gcc configure:12468: error: cannot run test program while cross compiling ``` 此类错误通常与编译器特性检测失败有关[^2]。 2. **验证编译器兼容性** 临时修改环境变量测试编译器: ```bash CC=gcc CFLAGS="-MT -MD" ./configure ``` 若仍失败,说明编译器可能不支持自动依赖追踪的预处理器指令 3. **更新构建系统文件** 在Makefile.am中添加: ```makefile AUTOMAKE_OPTIONS = subdir-objects AM_CPPFLAGS = -I$(top_srcdir)/include ``` 4. **处理跨平台编译问题** 当交叉编译时,在configure.ac中添加: ```m4 AC_CANONICAL_HOST AC_MSG_CHECKING([for host system type]) AC_MSG_RESULT([$host]) ``` 5. **强制重新生成构建系统** 完整重建流程: ```bash autoreconf -fiv rm config.status ./configure --disable-dependency-tracking make clean make ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值