基于多相似性度量和集合编码的属性对齐方法

2021-05-27 03:30伍家豪韩先培
中文信息学报 2021年4期
关键词:相似性度量实例

伍家豪,陈 波,韩先培,孙 乐

(1.中国科学院 软件研究所,北京 100190;2.中国科学院大学,北京 100049)

0 引言

随着计算机和通信技术的进步,许多垂直领域都形成了丰富的领域知识图谱。在知识图谱的构建过程中,设计者对相同事物描述的用词差异和形式化程度不同都会导致属性的异构。作为知识图谱中描述实体的框架,属性的异构会导致实体层面无法进行统一的描述,进而导致实体对齐、跨知识库检索等一系列任务无法很好地完成。属性对齐任务的目标是将不同知识图谱中表示同一概念的属性进行归并,从而解决知识图谱间的异构问题。在实际场景中,经常需要融合同一领域中的异构知识图谱,属性对齐作为数据融合[1]的基本操作之一就产生了丰富的应用需求。一个典型的案例是电子商务平台在发展过程中的数据融合,当一个平台的商品希望在另一个平台进行销售时,需要融合两个平台的属性和目录来克服平台间的异构性,从而达到统一而高效的管理及检索。

目前属性对齐的主流方法通常综合利用属性名称和属性实例等信息来计算属性间的相似度,但这些方法中仍存在以下两个问题:①相似性度量不全面。属性对齐问题需要从多个角度综合考虑,但每种衡量属性相似度的方法都有一定侧重,从而导致相似性度量不全面的问题。例如,“宠物类型”和“猫品种”,当两个属性名称的描述词汇出现异构时,基于字符串的相似性度量就会失效。此时需要引入语义相似性的度量方法,同时语义相似性度量方法也会有其相应的局限性。②属性实例信息未被充分利用。在实际问题中,对属性的定义不准确会导致无法从属性的名称获取有效特征,例如,两个名称分别为“牛奶种类”和“脂肪含量” 的属性,“牛奶种类”可以以脂肪含量为标准进行划分,两者的实例都在描述牛奶的脂肪含量,此时则难以从名称判断属性是否对齐,因此实例信息的利用对于属性对齐任务具有重要作用。针对属性对齐问题,如何从属性的实例集合中高效地提取特征仍然是一个挑战。现有的模型通过杰卡德相似系数(Jaccard index)、采样、词嵌入等方法从属性实例集合中提取特征,但以下两个原因导致现有模型在实际场景中的应用效果均不理想:一方面,数据集可能包含大量噪声;另一方面,两个描述相同领域的实例集合可能存在无交集的情况。例如,两个属性实例集合{“红色”,“黄色”,“橙色”,“lkg”}和{“绿色”,“蓝色”,“紫色”},现有方法都无法很好地解决这些问题。

针对以上问题,本文提出了一种基于多相似性度量和集合编码的属性对齐模型,该模型综合考虑多方面的特征,解决了相似性度量不全面的问题。具体地,本文针对属性对齐问题设计了多种相似性度量方法,并利用这些方法来提取候选属性对的相似性特征,再利用机器学习模型对特征进行聚合,从而完成属性对齐。同时,为了充分利用属性的实例信息,本文在上述模型框架下提出了属性实例集合表示学习算法,利用深度学习的特征抽取能力来提取属性实例的主题特征,有效解决了属性实例集合无交集的问题。同时,模型中基于内容的注意力机制可以自动学习集合中元素的重要程度,解决了数据中的噪声问题。

本文在实际场景中的数据集(淘宝、天猫、盒马鲜生和某电商平台)上验证我们的模型。实验表明,我们的模型取得了最好的效果,并且验证了集合编码算法对于特征提取的有效性及其对属性对齐模型的提升作用。本文的主要贡献包括:①提出了基于多种相似性度量的属性对齐模型,并在实际任务中验证了模型的有效性;② 针对属性对齐问题,从属性名称和属性实例等通用信息出发设计了多种相似性度量方法;③提出了属性实例集合表示学习算法,有效地从集合中学习到属性实例的主题特征,并验证了该特征对于属性对齐任务的提升作用。

1 相关工作

1.1 属性对齐

目前的属性对齐方法按照使用信息的不同可以分为三类[2]:基于属性名称(schema-level)[3]、基于属性实例集合(instance-level)[4-5]以及前两者的结合[6]。其中基于属性名称的方法通常利用词典、规则匹配或词嵌入来计算两个属性名称的相似性。基于属性实例集合方法的基本思想是:属性的相关性与公共实例的重叠程度成正比。这里的挑战在于如何定义集合的重叠程度,以往的工作[7-8]利用杰卡德相似系数、词嵌入或采样技术[9]等方法来定义重叠程度。为了更好地定义属性实例集合在语义上的重叠程度,本文借鉴集合编码[10]的思想,提出了属性实例集合表示学习算法。我们将一个属性的所有实例看作一个集合,利用集合编码的方法提取属性实例集合的主题特征,从而判断两个集合的相似性。

1.2 本体匹配

本体匹配[11]问题与属性对齐问题相似,目前的本体匹配算法大致可以分为两类:单一匹配算法和基于组合方法的匹配算法。单一匹配算法通过设计一个强匹配器来完成本体匹配,例如,基于规则的匹配[12]、基于图算法的结构级匹配[13]、基于语料库的匹配[14]等。基于组合方法的匹配算法通过设计多个弱匹配器,充分利用本体中包含的所有信息进行匹配,并一直保持领先的效果,最具代表性的模型包括AML[15-17]、CroMatcher[18]等。对于这类组合算法,相似性度量方法的选择和聚合是两个巨大的挑战。在聚合多个特征时需要设置聚合权重,但人工设置的权重难以达到最好效果,另外,不同情况对应的最优权重可能不同。针对这一问题,CroMatcher模型可以根据匹配问题自动计算特征的聚合权重。本文提出的模型同样基于多种相似性度量组合的思想,但本文利用机器学习模型进行特征聚合,避免了聚合权重的设定。2013年后,一些工作[19-20]将预训练词向量引入本体匹配领域并取得了很好的效果。由于匹配问题的标注数据有限,基于大量训练数据的深度学习算法没能很好地应用于本体匹配领域,但仍有一些工作利用小规模训练数据使用机器学习算法进行本体匹配,例如,GLUE[21]、YAM++[22]和Rafcom[19]等。其中,Rafcom使用了随机森林算法对匹配问题进行建模,并引入了预训练词向量。本文借鉴了本体匹配领域中方法的思想,针对属性对齐问题设计了多种相似性度量方法,并引入中文预训练词向量,利用机器学习的方法进行特征聚合。

2 任务定义

属性对齐的目标是发现异构知识图谱中表示同一概念的属性之间的对应关系,对齐的结果以映射形式呈现,并为上层应用提供统一的属性描述。

其形式化定义为:给定两个知识图谱G1和G2,其中G1包含属性{A1,A2,…,Am},G2包含属性{B1,B2,…,Bn},属性对齐的结果是一个映射集合:A→B,映射集合中的元素Ai→Bj表示知识图谱G1中的属性Ai与知识图谱G2中的属性Bj指代相同,如图1所示。

图1 属性对齐任务示例

属性对齐问题可利用的元素主要有两类:第一类是属性的名称(也称属性项),对属性内容进行概括性定义,例如,食品类实体的属性中会包含“食品口味”“包装方式”等。第二类是属性的实例(也称属性值),同一个属性在不同实体中会对应不同的实例,属性的实例信息通常以短语、句子或数字符号的形式呈现,例如,属性“产地”可能对应“北京”“上海”“广州”等实例。

3 基于多相似性度量和集合编码的属性对齐模型

针对现有方法中相似性度量不全面的问题,本文提出了基于多种相似性度量的属性对齐模型,并针对属性对齐问题设计了多种相似性度量方法。本文将属性对齐问题建模为二分类问题,利用有监督的分类器模型判断候选属性对是否对齐。模型的架构如图2所示。

图2 基于多相似性度量的属性对齐模型架构图

首先,在预处理阶段抽取得到两个异构知识图谱中所有属性的名称信息和实例信息,并根据数据特点利用分块技术(blocking)得到合适数量的候选属性对。然后,基于本文提出的相似性度量方法抽取每个候选属性对的相似性特征。对这些特征进行组合并做归一化等处理,使得所有特征具有相同的衡量尺度。最后,利用标注数据训练二分类模型来判断每个候选对是否对齐。模型每次输入一个候选对的所有相似性特征,输出1或0分别表示候选对对齐或不对齐。

由于本文设计的相似性特征从不同信息和角度出发,所以特征之间具有一定的互补关系。故本文使用了集成学习中的梯度提升决策树算法的变体XGBoost[23]作为分类模型,可以充分利用特征之间的互补关系。同时XGBoost模型中对于缺失值的处理可以避免一些缺失数据或脏数据带来的问题。

3.1 多种相似性度量的设计

本节主要介绍本文针对属性对齐问题设计的多种相似性度量方法。这些相似性度量方法利用属性名称和属性实例信息进行度量。所有相似性度量方法的概览如表1所示。

表1 多种相似性度量方法及其描述

相似性度量方法1至方法6利用属性的名称信息进行度量,属性的名称是人为定义的对属性进行概括性描述的自然语言文本,可以非常直观地辅助属性对齐任务。针对每组候选属性对,可以获取这两个属性的名称对应的字符串。对于方法4(杰卡德相似度1),将两个字符串S1和S2分别进行2-gram切分成为两个切分集合Set1和Set2,例如,“生产地址”经过切分后成为{“生产”,“产地”,“地址”}。计算两个切分集合的杰卡德相似系数作为相似性度量。计算方法如式(1)所示。

但由于属性名称文本较短以及式(1)在实际计算时可能出现分母为零和未归一化等情况,为了更好地衡量相似性特征,实际使用的变形公式如式(2)所示。

其中,n为n-gram的切分长度。对于方法5(词向量相似度1)和方法6(词向量相似度2),对两个字符串S1和S2进行分词,得到两个词语列表[W11,W12,…,W1m]和[W21,W22,…,W2n],利用预训练词向量对词语进行词嵌入得到两个向量列表[V11,V12,…,V1m]和[V21,V22,…,V2n],再对列表中的向量求平均得到两个向量V1和V2,分别表示字符串S1和S2。方法5和方法6分别利用两个向量V1和V2的余弦距离和欧氏距离作为相似性度量,为了保证相似度1代表完全相同的特性,将其结果乘“-1”后再归一化至[0,1]。

相似性度量方法7至方法10利用了属性的实例信息,属性实例作为属性的具体形式,可以为属性对齐提供准确的判别信息。针对候选属性对,我们可以抽取这两个属性对应的所有实例并以集合形式呈现,集合中的一个元素即为一个实例。对于方法7(杰卡德相似度2),将两个实例集合中的每个实例进行2-gram切分,成为切分集合;再分别将两个属性实例集合中的所有切分集合取并集,形成两个切分并集,通过计算两个切分并集的杰卡德相似系数的对数作为相似性度量。但由于两个属性实例集合的相似性随着集合元素交集数量的增加边际递减,所以实际应用中利用指数函数对杰卡德相似系数进行了非线性变换。

对于方法8(TF-IDF相似度),将每个属性实例集合看作一个文档,计算词语的TF-IDF值,并利用TF-IDF值将每个词语表示成词表长度的独热向量(one-hot)。将两个属性实例集合中的TF-IDF词向量求和作为实例集合的表示,计算这两个向量的余弦距离作为相似性度量。对于方法9(词向量相似度3),将两个属性实例集合中的所有词语利用预训练词向量进行词嵌入,再将两个属性实例集合中的词向量求平均得到稠密向量作为实例集合的表示,计算这两个向量的余弦距离作为相似性度量,为了保证相似度1代表完全相同的特性,将其结果乘“-1”后再归一化至[0,1]。

属性实例的信息分布在集合的每个元素中,以上方法通过将实例集合向量化或对实例集合进行处理,从而计算两个实例集合的相似度。但属性实例具有信息密度低的特点,并且包含噪声问题和相关属性实例无交集问题,这导致以上方法对实例信息的利用不够充分。针对这些问题我们提出了属性实例集合表示学习算法作为方法10(详见3.2),利用深度学习的特征抽取能力来学习集合的主题特征,并利用基于内容的注意力机制解决噪声问题。

3.2 属性实例集合表示学习模块

本主要介绍属性实例集合表示学习模块,该模块仅利用属性实例信息进行属性对齐,训练结束后将其作为一个相似性度量方法加入上述属性对齐模型中。属性的实例以集合形式呈现,实例与实例之间并没有顺序关系,但它们共同反映了属性的主题信息。对于输入或输出是集合形式的问题,需要算法具有以下两个特点:①输入或输出对顺序不敏感。②输入或输出长度可变。针对这一问题,本文借鉴集合编码的思想,提出了属性实例集合表示学习模块。模块的架构如图3所示,首先利用外部预训练词向量将每个属性实例嵌入稠密向量,再通过集合编码单元将属性实例集合转化为向量,对两个实例集合的向量进行拼接后通过浅层神经网络得到两个集合的相似性特征。

图3 属性实例集合表示学习模块架构图

本文对循环神经网络(RNN)的输入进行修改从而实现输入不定长和顺序不敏感的特点。使用的集合编码单元与RNN的结构对比如图4所示。

图4 集合编码单元与RNN的架构对比

RNN在每个时间步输入一个单位的内容,所有输入内容的长度决定了网络的时间步数量,从而导致输入具有顺序性。本文在每个时间步输入所有内容而不是部分内容,时间步的长度则由超参数设定。这样做使得输入元素的顺序不影响模块的输出结果,并且输入长度可变,同时保留了RNN的特征提取能力。

在属性实例集合中,部分关键实例更能反映出属性的主题信息而离群点则引入了噪声。所以本文在输入部分加入基于内容的注意力机制,通过有监督学习算法自动判别每个元素的重要程度,从而更加有效地提取集合的主题特征并忽略噪声实例。本文使用的注意力机制如式(3)~式(7)所示。

4 实验

4.1 实验数据

本文使用实际场景中的数据集进行实验,数据来自淘宝、天猫、盒马鲜生和某电商品台。平台中的实体为商品,按商品类目进行划分,其中的实体以属性为描述框架。我们从中选取142对商品类目,抽取属性信息并标注对齐属性作为实验数据集。其中包含41 980个候选属性对,标注的正例(对齐属性对)数量为1 082对,标注的负例(不对齐属性对)40 898对。例如,正例包括对齐属性“产地”和“生产地址”等,负例包括指代不相同的属性“产地”和“脂肪含量”。

4.2 模型设置

基于多相似性度量的属性对齐模型使用scikit-learn实现,选择XGBoost模型进行分类。

属性实例集合表示学习模块基于Pytorch实现。模型采用RMSprop[24]算法进行参数更新;batch size设置为300;epoch设置为50;学习率初始化为0.000 5;正负样本的损失更新权重设置为{1,r/3},其中r表示负样本与正样本数量的比值;集合编码单元中设置层数为1,时间步总长为10,隐藏状态向量维度为200;浅层神经网络的维度设置为{1 200,100,10,2}。模型中词向量使用了外部的中文预训练词向量[25],词向量维度为200,由于训练样本规模较小,所以本实验使用了固定的预训练词向量。

4.3 实验结果

实验将本文提出的模型与本体匹配领域最好的方法之一CroMatcher[18]进行对比,CroMatcher模型可以根据匹配问题动态计算多种相似性度量的聚合权重。同时与Rafcom[19]模型进行对比,Rafcom使用随机森林分类模型进行本体匹配,并且引入预训练词向量辅助对齐。由于任务的差异,本文保留了以上方法中所有可用的相似性度量方法。Baseline仅利用字符串相似性度量进行属性对齐。MSSE(multi-similarity with set encoding)和MS(multi-similarity)为本文模型,MS在MSSE的基础上去除了属性实例集合表示学习模块。评价指标采用正例的准确率(P)、召回率(R)和综合指标(F1)。实验结果如表2所示,从表中可以得到以下结论。

表2 基于多相似性度量的属性对齐实验结果

• 本文提出模型在属性对齐任务中F1值达到0.952 6,相比于其他模型取得了最好的结果。

• 对比模型Rafcom和MSSE可以看出,本文设计的相似性度量方法能够有效地提取属性的相似性特征,并将F1值提升约4个百分点。

• 对比模型MS和MSSE可以看出,本文提出的属性实例集合表示学习算法充分利用了属性的实例信息,并将属性对齐结果提升了接近两个百分点。

4.4 实验分析

为了验证本文提出的属性实例集合表示学习算法的有效性,我们设计了只利用属性实例信息进行属性对齐的对比实验。Jaccard of String对属性实例进行2-gram串切分后,以两个集合的杰卡德相似系数作为度量进行属性对齐。Average of Vector利用预训练词向量对所有实例进行词嵌入,利用一个集合中所有向量的均值表示这个集合,计算两个向量的余弦相似度作为度量进行属性对齐。Set-Encoding为本文提出的属性实例集合表示学习算法。评价指标采用正例的准确率(P)、召回率(R)和综合指标(F1),结果如表3所示。从表中可以得到以下结论:属性实例集合表示学习算法在本实验中F1值超过0.72,并显著提升了属性对齐的准确率和召回率。模型有效学习到了集合的主题特征,从而使得属性实例信息的利用效率大幅的提升。

表3 属性实例集合表示学习实验结果

在基于多相似性度量的属性对齐模型中,特征的重要性可以反映出相似性度量方法的有效性。XGBoost模型在训练中输出的特征权重如图5所示,可以看出属性实例集合表示学习模块提取的特征(集合编码相似度)权重排名第二,充分说明了该模型有效地利用了属性的实例信息,以及该特征在属性对齐模型中的重要作用。

图5 XGBoost模型特征权重

本文提出的属性实例集合表示学习算法有效解决了属性实例信息的利用问题。对于例子{“红色”,“黄色”,“橙色”,“lkg”}和{“绿色”,“蓝色”,“紫色”}中包含的噪声问题和相关实例无交集问题,模型中的注意力机制降低了噪声实例“lkg”的权重从而减小了噪声的影响,同时通过有监督的学习算法,模型从实例集合中有效学习到了实例集合的主题特征(颜色)。

4.5 错误分析

通过对以上两个实验的错误样例分析,发现仍存在以下两个问题:①预训练词向量在对齐问题中对于相关词和同义词不敏感。Word2Vec[26]训练词向量的依据是上下文共现信息,所以高相似性词语不仅包含同义词也包含相关词,例如,“方式”和“方法”为同义词,“苹果”和“梨”为相关词。而在对齐问题中需要严格判断两个词是否指代相同,预训练词向量则会引入小部分相关词问题。设计模型训练适合对齐类问题的词向量,是解决此问题的方法之一。②模型没有针对数据特征选择合适的相似性度量方法。在电商平台的知识图谱中,属性信息一般会以文本、数字、符号等形式出现。每种形式的特征需要利用更合适的方法来表示和衡量。例如,对于属性“货号”的实例{“PCH-60”,“PCH-100”},则无法通过词嵌入的方法有效地表示集合的主题特征。通过设计模型自动化地选择数据的特征提取方法会为模型效果带来进一步的提升。

5 结束语

本文提出了基于多种相似性度量的属性对齐模型,针对属性对齐任务从不同角度设计了多种相似性度量方法。为了充分利用属性的实例信息,本文提出了属性实例集合的表示学习算法。实验表明,我们提出的属性对齐模型在实际任务中取得了领先的结果,针对属性对齐问题设计的相似性度量方法可以有效提取属性的相似性特征,从而解决相似性度量不全面的问题。同时,属性实例集合表示学习算法充分利用属性实例信息,通过提取属性实例的主题特征解决了实例集合无交集的问题,其中基于内容的注意力机制缓解了数据的噪声问题。通过实验分析,我们注意到预训练词向量在对齐类任务中存在相关词和同义词不敏感的问题,以及模型没有针对数据特点选择合适的相似性度量方法。在未来的工作中,我们将通过修改预训练模型来获得适合属性对齐问题的词向量表示,同时在属性对齐模型中加入相似性度量方法的自动化选择机制,从而进一步提升属性对齐效果。

猜你喜欢
相似性度量实例
一类上三角算子矩阵的相似性与酉相似性
鲍文慧《度量空间之一》
模糊度量空间的强嵌入
浅析当代中西方绘画的相似性
迷向表示分为6个不可约直和的旗流形上不变爱因斯坦度量
低渗透黏土中氯离子弥散作用离心模拟相似性
地质异常的奇异性度量与隐伏源致矿异常识别
完形填空Ⅱ
完形填空Ⅰ
V4国家经济的相似性与差异性