CN106202543A - 基于机器学习的本体匹配方法和系统 - Google Patents
基于机器学习的本体匹配方法和系统 Download PDFInfo
- Publication number
- CN106202543A CN106202543A CN201610595524.9A CN201610595524A CN106202543A CN 106202543 A CN106202543 A CN 106202543A CN 201610595524 A CN201610595524 A CN 201610595524A CN 106202543 A CN106202543 A CN 106202543A
- Authority
- CN
- China
- Prior art keywords
- similarity
- class
- training set
- word
- pretreatment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出基于机器学习的本体匹配方法和系统,所述方法包括:对需要进行匹配的两个本体进行预处理,获得相关信息;在所述相关信息的基础上计算多个维度的相似度,作为分类器预测样本的多维度特征,以此形成预测集;使用上述相同的方法来获取训练集;使用所述训练集来训练分类器;以及使用训练完毕的所述分类器,对所述预测集进行匹配判断。所述系统包括预测集生成模块、训练集生成模块和分类器,其中,所述预测集生产模块用于对待匹配的本体进行预处理,并且生成预测集;所述训练集生成模块用于对标准数据集进行预处理,并且生成训练集;以及所述分类器通过所述训练集进行学习,并在学习完毕后对所述预测集进行匹配判断,并且输出匹配结果。
Description
技术领域
本发明涉及Web语义及自然语言处理领域,更具体地涉及基于机器学习的本体匹配方法和系统。
背景技术
语义Web是Web的扩展,信息的语义在其中被准确地定义,使计算机能够理解数据的语义信息,从而使得其对信息的处理更加智能化。为了实现语义信息共享,各领域纷纷定义了相应的本体。本体虽然是解决领域内知识共享的一种有效手段,但在分布式应用环境中,单个本体无法体现人类对客观世界的不同认识而无法得到一致认同,也就是说需要集成多个本体以支持不同本体之间的共享和交流。然而这些本体建立时没有遵循统一的标准,并且由于本体创建的主观性、分布性和自治性特点导致大量异构本体的产生,阻碍了系统间的知识共享和数据集成。
本体匹配正是解决上述问题的有效途径。目前,国内外已有不少本体匹配系统被开发出来并得到应用,例如Falcon、PRIOR+、GLUE等,这些系统使用了不同的匹配方法来解决本体匹配问题。上述系统存在的缺陷包括所使用的基础匹配器较少,使得该系统能够适用的本体匹配范围相对局限;需要用户手动配置相关的阈值或参数,以优化对匹配策略的选择和融合,对用户的使用经验提出了较高的要求。
发明内容
本发明提出一种经改进的本体匹配方法和系统,能够扩展至更多的匹配领域或者尽量多地自动或半自动地选择匹配策略(或匹配方法),以降低用户的使用难度。
本发明提出一种基于机器学习的本体匹配方法,包括:对需要进行匹配的两个本体进行预处理,获得相关信息;在所述相关信息的基础上计算多个维度的相似度,作为分类器预测样本的多维度特征,以此形成预测集;使用上述相同的方法来计算多维度特征,获取训练集;使用所述训练集来训练分类器;以及使用训练完毕的所述分类器,对所述预测集进行匹配判断。
在一个优选的实施例中,所述预处理包括但不限于解析所述本体中的类和/或从本体文件中解析所述类的名称、标记、描述、注释、父子类和/或属性信息。
在另一个优选的实施例中,所述多个维度的相似度可包括以下各项中的两个或更多个:类名相似度、类名语义相似度、注释相似度、属性数相似度、实例数相似度、父子类数相似度、深度相似度、虚拟文档相似度。
进一步地,所述注释相似度的计算方法可包括:
(1)对待匹配本体的描述、注释和/或上下文信息进行预处理,获得仅由词汇构成的句子;
(2)取两个句子中的较长者为句子A,较短者为句子B;对于所述句子A中的每个词,从所述句子B中找到与所述每个词之间的语义相似度最高的词,并记录相应的语义相似度;
(3)累加相应的语义相似度得到总相似度,再除以所述句子A的长度,所得结果即为所述注释相似度。
在又一个优选的实施例中,所述语义相似度的计算方法为:
其中,(s1,s2)是待计算的词,lso(s1,s2)为词s1、s2的最近公共祖先,depth(lso(s1,s2))为最近公共祖先在WordNet树中的深度,Depth(T)为树深,freq(s)表示单词s出现的频数,len(s1,s2)表示词之间的距离,即s1、s2分别到公共祖先lso(s1,s2)的路径上经过的边数之和。
本发明还提出一种基于机器学习的本体匹配系统,包括预测集生成模块、训练集生成模块和分类器,其中所述预测集生产模块用于对待匹配的本体进行预处理,并且生成预测集;所述训练集生成模块用于对标准数据集进行预处理,并且生成训练集;以及所述分类器通过所述训练集进行学习,并在学习完毕后对所述预测集进行匹配判断,并且输出匹配结果。
在一个优选的实施例中,所述系统还可包括匹配结果提取模块,用于提取所述分类器输出的所述匹配结果,并且优化所述匹配结果。
在又一个优选的实施例中,所述预测集生成模块可包括第一预处理模块和第一相似度计算模块,所述训练集生成模块可包括第二预处理模块和第二相似度计算模块;所述第一相似度计算模块将两个本体的类进行笛卡尔乘积得到候选匹配对,并在多个维度上计算各个候选匹配对的相似度。
进一步地,所述第一相似度计算模块和所述第二相似度计算模块计算的相似度可包括以下各项中的两个或更多个:类名相似度、类名语义相似度、注释相似度、属性数相似度、实例数相似度、父子类数相似度、深度相似度、虚拟文档相似度。
附图说明
包括附图是为提供对本公开内容的进一步的理解。附图示出了本公开内容的实施例,并与本说明书一起起到解释本公开内容原理的作用。在结合附图并阅读了下面的对特定的非限制性本公开内容的实施例之后,本公开内容的技术方案及其优点将变得显而易见。其中:
图1为根据本发明的一个实施例的匹配方法流程图。
图2为根据本发明的一个实施例的计算相似度矩阵的示意图。
图3为根据本发明的一个实施例的WordNet子树片段的示意图。
图4为根据本发明的一个实施例的WordNet语义相似度计算结果片段。
图5示出了根据本发明的一个实施例的系统结构框图。
具体实施方式
参考在附图中示出和在以下描述中详述的非限制性实施例,更完整地说明本公开内容的多个技术特征和有利细节。并且,以下描述忽略了对公知的原始材料、处理技术、组件以及设备的描述,以免不必要地混淆本公开内容的技术要点。然而,本领域技术人员能够理解到,在下文中描述本公开内容的实施例时,描述和特定示例仅作为说明而非限制的方式来给出。
在任何可能的情况下,在所有附图中将使用相同的标记来表示相同或相似的部分。此外,尽管本公开内容中所使用的术语是从公知公用的术语中选择的,但是本公开内容的说明书中所提及的一些术语可能是公开内容人按他或她的判断来选择的,其详细含义在本文的描述的相关部分中说明。此外,要求不仅仅通过所使用的实际术语,而是还要通过每个术语所蕴含的意义来理解本公开内容。
解决和处理本体之间的异构已成为当前基于本体的应用所面临的关键问题,本体匹配正是解决该问题的有效途径。本体匹配包括发现两个本体的元素之间的对应关系,统一实例的不同表示形式等。目的是为了建立异构本体之间的交互规则,最后实现本体对齐、本体集成以及查询问答、数据翻译等应用。
假设异构本体O1有m个类,O2有n个类,那么两个类集合的笛卡尔乘积为m×n个候选匹配对。这些候选匹配对中,真正匹配的那些被称为“匹配对”,剩下的为“非匹配对”。本体的匹配问题就是区分这m×n个候选匹配对中哪些是匹配的、哪些是不匹配的。这个问题可以视为一个分类问题,即将m×n个候选匹配对分为两类,一类是“匹配对”,另一类是“非匹配对”。
机器学习相关领域为分类问题提出了许多模型。利用机器学习来解决分类问题是通过对训练集(Training Set)的迭代学习来训练模型,从而自动化地得到模型的参数,完成对训练集的拟合。当得到模型的参数后,即完成了学习过程。接下来,可以利用模型对预测集(候选匹配对)进行预测,预测的结果有两个,即将预测样本划分到正类或负类中,这样就完成了分类的过程。对于候选匹配对来说,若被分在正类,说明该候选匹配对是匹配的,反之则不匹配。
如图1所示,本发明提出的一种基于机器学习的本体匹配方法包括:
1)对需要进行匹配的两个本体进行预处理,该预处理包括但不限于解析本体中的类和/或从本体文件中解析类的名称、标记、描述、注释、父子类、属性等信息;
2)根据步骤1)中获取的相关信息计算多个维度的相似度,并且根据所述多个维度的相似度来形成预测集;
3)对于标准数据集,采用与步骤1)、2)相同的方法来获取训练集;
4)使用该训练集来有监督地训练机器学习模型或分类器;
5)使用完成训练的机器学习模型或分类器来判断预测集,即判断预测集中的各个预测样本属于“匹配”或“不匹配”的分类。
计算多个维度的类相似度可包括但不限于:
(1)对本体OA、OB的各个类名称进行字符串的相似度分析,得到类名相似度Sim1;
(2)对于本体OA、OB的各个类名称,利用WordNet外部知识来计算词汇语义相似度,得到类名语义相似度Sim2;
(3)对本体OA、OB中的类注释(comments)进行句子的相似度分析,得到类的注释相似度Sim3;
(4)对于本体OA、OB中的类的结构特征,根据例如类的直接属性个数、类的实例数、类的父子类数、类距离根节点的深度归一化值等特征,计算与结构相关的属性数相似度Sim4、实例数相似度Sim5、父子类数相似度Sim6、深度相似度Sim7;
(5)使用虚拟文档技术为本体OA、OB中的每个类建立虚拟文档,计算虚拟文档相似度Sim8。
在一个实施例中,两个待匹配本体的类的数目分别为M、N个。首先将两个本体的所有类进行笛卡尔乘积,形成M*N个匹配关系,称之为匹配候选对,并作为后续监督分类器所应用的预测集中的预测样本。
将两个本体的类进行笛卡尔乘积配对后,在多个维度上计算相似度。多个维度上的相似度包括但不限于:类名相似度、类注释相似度、类名语义相似度、结构相似度等;并且得到对应的相似度矩阵,每一个相似度矩阵表示预测样本的一个维度(例如,类名、类注释、类名语义等)的特征。
图2为根据本发明的一个实施例的计算相似度矩阵的示意图。例如,若要判断本体A与本体B有哪些类相匹配,首先将本体A的类Ca1、Ca2、Ca3与本体B的类Cb1、Cb2、Cb3两两配对,得到笛卡尔乘积:Ca1-Cb1、Ca1-Cb2、...、Ca3-Cb3等9个候选匹配对。
其次,计算上述候选匹配对的相似度值。例如,计算类名相似度矩阵M1,其中每个元素表示一个候选匹配对中两个类的类名相似度是多少,并将该类名相似度作为这个候选匹配对的一个特征。依此计算,如上文提及的,可以得到8个相似度矩阵,它们分别表示候选匹配对在8个维度上的相似度,也是预测样本的8种不同的特征。这样就可以得到预测集。
对于训练集的获得,可以采用上述相应的匹配方法,计算得到8个相似度矩阵,即得到训练样本的8个特征,并将其作为训练集。标准数据集一般为领域专家确认匹配的部分匹配集合。
接下来,使用上述训练集来训练机器学习模型或分类器(诸如随机森林(RandomForest)、逻辑回归(Logistic Regression)、决策树(Decision Tree)等)。在一个优选的实施例中,首先使用SMOTE算法对训练集中的训练样本进行过采样技术(Over-Sampling)操作,从而在避免过拟合的基础上解决正负样本比不平衡的问题。对正负样本进行平衡操作后,根据对训练集学习之后的机器学习模型或分类器的优劣,考察分类器对于当前本体匹配问题的效果。
最后,将训练好的模型或分类器应用于预测集。根据机器学习模型或分类器的学习和/或训练,可以自动训练出一个函数,该函数的参数都是经过训练集迭代学习得到的,通过该函数,可将分别对应于上述8种相似度的8个基础匹配器计算的相似度输入,输出即为当前候选匹配对被分类在“匹配”或“不匹配”分类的概率,以此自适应地对预测集中预测样本的每一个维度(例如类名、类名语义、注释等)的相似度进行加权求和,从而得到经优化的相似度,形成最终的相似度矩阵。该矩阵中的值表示一个候选匹配对(如上文的Ca1-Cb1、Ca1-Cb2...)的可能匹配的概率值是多少。
在一个优选的实施例中,可以使用朴素降序抽取(Naive descendingextraction)算法对相似度矩阵进行处理,从相似度矩阵中抽取出最终的匹配结果。
相似度计算
(1)类名相似度Sim1
将文本描述信息的类名称或标记抽取出来,对该类名称或标记进行字符串的相似度计算,得到类名相似度Sim1。一般情况下,字符串越相似,类之间相互匹配的可能性越大。
字符串相似度的计算方法如下:
(1)从本体中解析类的名称,并进行预处理;预处理可包括但不限于将英文单词一律改为小写形式,并将复合词中的分隔符“-”、“.”等去掉,得到仅由小写英语字母组成的字符串;
(2)对字符串使用公式(1)进行计算,得到类名相似度Sim1。
其中,winkler(s1,s2)为使用Jaro-Winkler Distance算法得到的字符串距离相似度,其值在[0,1]之间。Comm(s1,s2)是字符串的相同部分(例如可以是表示字符串相同程度的某个值),方法为从两个字符串中找到最长公共子串并记录后,将公共子串从字符串中抽离,再迭代地寻找下一个最长公共子串,直到两个字符串中没有相同的字符。将这些公共子串的长度加起来,除以两个字符串的总长度,即为两个字符串的相同程度。在一个实施例中,求最长公共子串可采用Needleman/Wunsch算法。
Diff(s1,s2)是字符串的不同部分,经过Comm(s1,s2)的抽取,两个字符串中剩余的部分即为不相同的字符串。其中,uLens1和uLens2分别表示两个字符串中剩余未匹配的子串长度与该字符串原始长度的比值。p为调节参数,在一个优选的实施例中,p=0.6。
(2)类名语义相似度Sim2
将文本描述信息的类名称或标记抽取出来,对异构本体的类名称使用基于WordNet的方法计算类名语义相似度。一般情况下,相似度越高,类越可能匹配。
WordNet是由美国普林斯顿大学Miller团队开发的一种基于语义的英文字典,被广泛地用于计算语义相似度。WordNet是一种以同义词集(Synset)为基本单元而建立的树形结构。同义词集之间有上下位的层次关系,根据词性分为四个子树,分别为:名词、动词、形容词、副词。每一个单词都有不同含义,每个含义可属于不同的子树。
图3示出了一个WordNet名词子树的片段,同义词组之间相连的线段表示一个上下位的is-a关系,“#n”表示该同义词组是单词中的第n个词义(sense)。
在WordNet中,每个概念都有其上下级概念。大部分概念(根节结点除外)都有唯一的上级,但是也有少部分概念有不同的上级概念。比如trade的一个含义sense 1,就有两条不同的上级概念路径,但最终的根节点还是一样的。使用WordNet计算语义相似度是基于以下认识:语义相似度与语义距离成反比,即两个语义概念的距离越大,它们的语义相似度可能越小;反之亦然。在一个实施例中,计算公式可包括:
其中,s1,s2表示语义概念,即WordNet中两个不同的同义词组;sim(s1,s2)为语义相似度,dist(s1,s2)为语义距离,a为可调参数。
在一个实施例中,当一个单词有不同的含义时,对于待计算相似度的单词,不同的含义之间形成了多种相似度,此时取相似度中的最大值为语义相似度。
在另一个实施例中,基于WordNet的语义相似度的计算公式还可包括:
其中,(s1,s2)是待计算的单词,lso(s1,s2)为s1、s2的最近公共祖先;depth(lso(s1,s2))为最近公共祖先在WordNet树中的深度;Depth(T)为树深;freq(s)表示某个单词在WordNet词典中出现的频数(frequency),频数越大,该单词的信息量越少;len(s1,s2)表示概念之间的距离,即s1、s2分别到公共祖先lso(s1,s2)的路径上经过的边数之和。
在WordNet中,每个词有多个语义概念,可以分属于不同的同义词组。当利用WordNet计算两个单词的相似度时,多个语义概念之间可形成多个配对。在一个实施例中,可以从多个配对中取得最大的相似度值作为这两个单词之间的相似度。有些单词具有不同的词性及语义概念。当两个语义概念分属于不同的WordNet子树时(例如trade的动词含义“be traded at a certain price or under certain conditions”与deal的名词含义“anagreement between parties”分属于动词子树和名词子树),这两个语义概念的相似度为0。
语义相似度的计算方法如下:
(1)对于单词a和b,从WordNet中得到同义词组集合Set(a)和Set(b);
(2)Set(a)有m个同义词组,Set(b)有n个同义词组,通过两个集合的笛卡尔乘积,得到m*n个同义词组配对,使用公式(3)分别计算m*n个相似度;
(3)计算相似度时,若两个同义词组分属于不同的子树,则将相似度置为0;
(4)从m*n个相似度中找到最大值,作为单词a和b基于WordNet的语义相似度fWordNet(a,b)。
在本体匹配时,可能会遇到复合词的相似度计算问题。在一个实施例中,可采用以下方法:
其中A、B为将实体名称复合词切分的词汇集合,ai和bj分别为该词汇集合中的单个词汇。
图4示出了基于Wordnet的语义相似度的部分计算结果。在该实施例中,相似度被统一到[0,1]的区间内。对于部分名称不同的单词,由于其某些语义概念属于同一个同义词组,所以其相似度为1。而有些单词具有不同的词性,比如trade有名词和动词的词性,而beautiful只有形容词的词性,则这两者的相似度为0。另外从图4中可以看到,一些意思相近的词语,比如dog-cat、trade-deal、trade-financial、trade-business等的语义相似度较高,而trade-dog、trade-nice的相似度比较低。
(3)注释相似度Sim3
本体概念的注释(comments)可被认为是本体概念的上下文信息,可以作为特征来计算本体元素的注释相似度。这些特征一般以句子的形式出现。
在一个实施例中,使用以下方法来计算注释相似度:
(1)对于本体中的类,可以用<rdfs:comment>对类进行注释。比如对于类“Book”,其RDF(Resource Description Framework)格式的注释(comment)为:<rdfs:comment xml:lang="en">A book that may be a monograph or a collection of written texts.</rdfs:comment>。注释这种描述信息可以被认为是本体类的上下文信息。如果类的注释句子相似,则说明类的上下文信息类似,那么一定程度上表示类也是相似的。对于本体中的类,对其类注释进行抽取,抽取出来的是描述类的一个句子;接着对句子进行预处理,包括但不限于去掉特定词、标点符号等,得到经预处理的句子,经过预处理的句子由一连串的词汇组成;其中,特定词包括停用词、无实际意义词等;
(2)对于一个候选匹配对,抽取出两个本体中的类的注释句子,首先判断哪一个句子较长,取较长的句子为A,另一个句子为B;对句子A中的一个词汇,用基于WordNet的语义相似度计算方法,从句子B中找到最相似(即相似度值最高)的词汇,并且记录对应的语义相似度
(3)对于句子A中的所有词汇,参照步骤(2)的方法从句子B中找到相应的最相似词汇,并且累加所计算的语义相似度得到总相似度后,除以句子A的长度,即得到平均词汇相似度,将该平均词汇相似度作为注释相似度Sim3。
(4)与结构相关的相似度Sim4-Sim7
在一个实施例中,可根据下述公式来计算与类的结构有关的相似度:
StructureSim(e1i,e2j)k=1-diff(e1i,e2j)k (5)
其中,e1i,e2j表示本体O1、O2中的两个类,diff(e1i,e2j)k表示两个类在结构特征k上的差异值,具体为:
其中,sf(e1i)k与sf(e2j)k表示e1i与e2j的第k种结构特征值。结构特征值包括但不限于:
(1)类的属性个数;
(2)类的实例数;
(3)类的子类数;
(4)类距离根节点的深度。
对于类距离根节点的深度,一般采用深度的归一化值。例如,本体O1的最大深度为5,本体O2的最大深度为6;depth(e1i)=3,depth(e2j)=4, 那么结构特征差值为则StructureSim(e1i,e2j)d=1-diff(e1i,e2j)d=1-0.1044=0.8956,该值为两个类在节点深度上的深度相似度。
(5)虚拟文档相似度Sim8
本体的类除了自身的名称、标记、注释等文本信息可用于度量实体之间的相似度之外,还可利用实体的相关属性或邻居的信息来衡量实体之间是否相匹配。即当两个实体的属性信息和/或邻居信息比较相似时,这两个实体也可能比较相似。
在一个实施例中,本体中类和属性的关系由主谓宾三元组构成,这些三元组将本体中的类和属性联系起来。虚拟文档的核心是充分挖掘三元组中包含的信息,将三元组中的主语、谓语、宾语相关的文本信息,都纳入到主语、宾语或谓语的虚拟文档中,作为它们的上下文信息。通过比较虚拟文档的相似度(即比较当前类的上下文信息)来计算类之间的匹配度。
在一个实施例中,虚拟文档相似度的计算方法如公式(7)所示:
其中,Des(e)为实体的描述信息(例如表示实体(类或属性)的上下文信息)集合。该集合表示一个实体元素(类或属性)本身的文本信息。SN(e)表示以当前实体为主语的三元组中,所有谓语和宾语集合;PN(e)表示以当前实体为谓语的三元组中(主语不是空白节点),所有主语和宾语的集合;ON(e)表示以当前实体为宾语的三元组中(主语不是空白节点),所有主语和谓语的集合。γn的取值范围为[0,1],这些集合表示了实体的邻居信息。
在一个实施例中,可以用一个加权的标记集合来表示,对于实体e,有:
collectionname(e)是对实体名称进行预处理之后的标记(Tokens)集合(标记是将类名、类注释等文本信息进行符号、停用词去除等处理后留下的单词集合),collectionlabel(e)是对实体标签(label)进行预处理后的标记集合,collectioncomment(e)是实体注释的标记集合,collectionannotations(e)是实体其他文本描述信息的标记集合。αn是各种标记集合的权重,表示每种信息对实体辨识度的贡献大小,其值在[0,1]之间。
标记集合的获得方法为:对文本进行预处理,包括但不限于去掉停用词、标点符号或将英文字母一律改为小写形式等;获得词干后得到标记集合。
最终的虚拟文档是实体自身的描述信息集合加上SN(e)、PN(e)、ON(e)实体的描述信息集合,从而得到包含自身信息以及关联属性信息、邻居信息的描述信息集合。
接下来,将虚拟文档转化为空间向量。每个虚拟文档由一个向量表示。在一个实施例中,在两个待匹配的异构本体中,所有虚拟文档中出现n个不同的单词,那么这个向量空间共有n维,每一维表示出现的一个单词。在一个实施例中,通过公式(9)计算每个维度的数值:
其中,w表示某个单词t在虚拟文档中出现的频数,频数由公式(7)(8)计算得到;W表示这个文档中所有出现过的词的频数;n表示单词t在n个虚拟文档中出现过;N表示所有的虚拟文档数。WordScore值越高,说明该词越重要。根据公式(9)得到虚拟文档中所有单词的数值。如果单词没有出现过,则将该值置为0。通过上述方法将虚拟文档用空间向量表示,最后用余弦距离公式计算得到的数值,标志两个类的基于虚拟文档的相似程度。
在优选的实施例中,α1=1.0,α2=0.5,α3=0.25,α4=0,β=0.5,γ1=0.1,γ2=0.1,γ3=0.1。
基于机器学习的多策略融合
在机器学习中,一个准确的训练集对于模型来说非常重要。当训练集与预测集满足同概率分布时,才能从训练集中学习得到有效的模型,用于预测集样本的分类。本发明使用OAEI提供的黄金标准(Gold Standard)集合的一部分作为训练样本,来进行模型的学习。
本发明采用OAEI大会在2015年发布的benchmarks数据集来验证匹配系统的性能。OAEI大会每年都会发布benchmarks数据集,供研究人员测试匹配系统。每一年的benchmarks数据集与上一年的数据集相比仅有微小的区别,总体而言2015年的benchmarks数据集与2014年的benchmarks数据集是满足同一概率分布的。此外,在前一年的benchmarks数据集中,还有领域专家人为标注的本体联结,这些本体联结可以作为黄金标准来标注异构本体间的类是否匹配。因此,通过2014年的benchmarks数据集以及对应的黄金标准数据集,可以建立本发明所需要的训练集,由此训练集学习得到的模型,可以应用到2015年的benchmarks数据集中的异构本体匹配计算。
本发明采取的方法大致如下:从OAEI 2014年发布的黄金准则中,随机抽取部分或全部本体匹配对,人工标注后作为训练集进行训练。训练得到的模型应用于OAEI 2015年发布的数据集中进行分类的预测。
抽取训练集的具体方法如下:
(1)OAEI发布的benchmarks数据集是以本体#101为参考本体,其他本体(#101-#304)与该本体进行匹配来做性能测试的。假设需要测试#101(2015)(下标2015表示2015年OAEI大会发布的benchmarks数据集)与#n(2015)(n∈[103,304])的本体匹配,则从#101(2014)与#n(2014)的黄金标准本体联结中取得训练集;
(2)对于#101(2014)与#n(2014)这两个异构本体(下标2014表示2014年OAEI大会发布的benchmarks数据集),领域专家提供了黄金标准数据集,即注明了哪些类是匹配的。将这些匹配的类作为正例,不匹配的类作为负例,从中随机抽取数据作为训练集。
(3)抽取出来的正负例样本比约为1/30,是一个非平衡数据集。本发明采用SMOTE算法,将正样本数量扩大到原来的四倍,负样本不变,从而将正负样本比修正为1/8左右,此时正负样本比例较为均衡,分类效果很好。SMOTE即一种过采样技术(Over-Sampling),对于少数类(即本文正类),从最近正类邻居中随机抽取一个样本,采用公式xnew=xi+(yj-xi)×δ,j=1,2,…,N,进行合成,其中xnew为合成的新正类样本,xi是一个正类样本,yj是xi的一个K-近邻,本发明将K设置为3,δ是合成参数,其值范围为δ∈(0,1),是一个随机数。若向上采样的倍率为N,那么就在K个最近邻样本中随机选择N个样本,进行合成。通过SMOTE算法,训练集的非平衡程度可以得到大幅改善。简单过采样技术也可以解决不均衡问题,它是将正样本复制为原来的n倍,但是这样容易产生正样本过拟合的问题,SMOTE算法通过人工合成正样本,可以解决过拟合。
通过上述操作,对于待匹配的异构本体#101(2015)和#n(2015),通过对2014年的黄金标准进行随机抽取、SMOTE过采样和人工标注,得到了训练集。接下来将训练集进行模型学习,即可进行本体匹配的预测。
本发明通过Weka进行机器学习模型训练。所有的实验均采用五折交叉验证来训练分类模型,这样可以充分的防止过拟合与欠拟合的问题。
OAEI大会保留历年的本体匹配数据集,并且对历年的数据集进行人工标注,注明异构本体#101(2014)与#n(2014)中,哪些类是匹配的。本发明将OAEI上一年的数据集作为标准,从中抽取部分或全部数据作为训练集,用于训练分类器以及测试分类器的性能。如果需要测试本发明提出的本体匹配系统对于OAEI大会于2015年发布的数据集的匹配准确度,那么需要将OAEI大会于2014年发布的人工标注数据集作为训练集,用于训练分类器。对于#101(2014)与#n(2014)这两个OAEI大会于2014年发布的异构本体,假设生成m×n个候选匹配对,随机抽取m×n×80%的候选匹配对,生成训练集,将剩下的m×n×20%的候选匹配对作为测试集,进行模型性能的测试。随机抽取5份训练集和测试集,并且选用多种(例如3-4种)分类器分别进行5折交叉验证。在综合判断各个分类器的性能(例如精度和/或准确性)之后,确定其中最为合适的分类器。
在确定了分类器之后,再将#101(2014)与#n(2014)生成的m×n个候选匹配对全部作为训练集,对所确定的分类器进行训练,形成最终用于预测的分类器。通过训练集学习生成分类器。对于#101(2015)和#n(2015),假设生成m′×n′个候选匹配对,将这些候选匹配对都作为预测集,应用上文得到的分类器进行预测,可以得到预测某个候选匹配对被分类到“匹配”的预测概率。对于m′×n′个候选匹配对,可以生成m′×n′的概率矩阵Mprobability。从Mprobability中进行结果抽取,即可得到本体#101(2015)和#n(2015)的匹配情况。
匹配结果抽取
朴素降序抽取法的算法伪代码如下所示。
在一个优选的实施例中,采取朴素降序抽取(Naive descending extraction)抽取匹配结果,即从相似度矩阵Mprobability中迭代地找到匹配对的过程。
首先,将Mprobability中的元素按照模型或分类器预测为正类的概率进行降序排列。然后,从Mprobability中迭代地移除元素。每一次迭代开始时,从Mprobability中先抽取预测概率最高的元素c,将c抽取到矩阵M′中(M′中保存的是从Mprobability抽取出来的元素,该元素表示一个匹配对)。然后,从Mprobability中移除所有与c有关的元素,即若c表示一个匹配对e1i与e2j,那么M中所有与e1i、e2j相关的匹配对都要从Mprobability中移除,这样避免了一对多匹配的问题。接下来进行下一次迭代,直到Mprobability中没有元素、或者抽取出的最大元素预测概率值小于阈值为止。
最终,M′中的元素即为最后的本体匹配结果。
优选地,对阈值(即伪代码中的Threshold)进行设置。若不设置阈值,可能会将概率值很低的元素抽取出来,即把模型或分类器预测为“几乎不匹配”的候选匹配对也抽取出来视为匹配的,这样会降低准确率。在一个优选的实施例中,阈值被设置为0.15。
图5示出了根据本发明的一个实施例的系统结构框图。如图5所示,该本体匹配系统600包括预测集生成模块601、训练集生成模块602以及分类器607。优选地,该系统600还可进一步包括匹配结果提取模块608。预测集生成模块601用于对待匹配的本体进行预处理,并且生成预测集。训练集生成模块602用于对标准数据集进行预处理,并且生成训练集。分类器607通过训练集来学习,并在学习完毕后对预测集进行匹配判断,输出匹配结果。
在一个优选的实施例中,匹配结果提取模块608对分类器607输出的匹配结果进行提取,通过剔除匹配程度较低的候选匹配对来优化匹配结果。
在一个实施例中,预测集生成模块601包括第一预处理模块603和第一相似度计算模块604。第一预处理模块603用于对待匹配的本体进行预处理,该预处理包括但不限于解析本体中的类和/或从本体文件中解析类的名称、标记、描述、注释、父子类和/或属性等信息。
第一相似度计算模块604将两个本体的类进行笛卡尔乘积得到候选匹配对,并且在多个维度上计算各个候选匹配对的相似度。多个维度的相似度包括但不限于:类名相似度、类注释相似度、类名语义相似度、结构相似度、父子类相似度等;并且得到对应的相似度矩阵,每一个相似度矩阵表示预测样本的一个维度(例如,类名、类注释、类名语义等)的特征。
其中,各个相似度的计算方法与上面关于本体匹配方法的说明部分相同。
类似的,训练集生成模块602包括第二预处理模块605和第二相似度计算模块606。该第二预处理模块605、第二相似度计算模块606的功能与前述第一预处理模块603、第一相似度计算模块604分别基本相同。
虽然本发明的一些实施方式已经在本申请文件中予以了描述,但是对本领域技术人员显而易见的是,这些实施方式仅仅是作为示例示出的。本领域技术人员可以想到众多的变型方案、替代方案和改进方案而不超出本发明的范围。所附权利要求书旨在限定本发明的范围,并藉此涵盖这些权利要求本身及其等同变换的范围内的方法和结构。
Claims (10)
1.一种基于机器学习的本体匹配方法,包括:
对需要进行匹配的两个本体进行预处理,获得相关信息;
在所述相关信息的基础上计算多个维度的相似度,并且根据所述多个维度的相似度来形成预测集;
使用上述相同的方法来获取训练集;
使用所述训练集来训练分类器;以及
使用训练完毕的所述分类器,对所述预测集进行匹配判断。
2.如权利要求1所述的方法,其特征在于,所述预处理包括但不限于解析所述本体中的类和/或从本体文件中解析所述类的名称、标记、描述、注释、父子类和/或属性信息。
3.如权利要求1所述的方法,其特征在于,所述多个维度的相似度包括以下各项中的两个或更多个:类名相似度、类名语义相似度、注释相似度、属性数相似度、实例数相似度、父子类数相似度、深度相似度、虚拟文档相似度。
4.如权利要求3所述的方法,其特征在于,所述注释相似度的计算方法包括:
(1)对待匹配本体的描述、注释和/或上下文信息进行预处理,获得仅由词汇构成的句子;
(2)取两个句子中的较长者为句子A,较短者为句子B;对于所述句子A中的每个词,从所述句子B中找到与所述每个词之间的语义相似度最高的词,并记录相应的语义相似度;
(3)累加相应的语义相似度得到总相似度,再除以所述句子A的长度,所得结果即为所述注释相似度。
5.如权利要求3所述的方法,其特征在于,所述语义相似度的计算方法为:
其中,(s1,s2)是待计算的词,lso(s1,s2)为词s1、s2的最近公共祖先,depth(lso(s1,s2))为最近公共祖先在WordNet树中的深度,Depth(T)为树深,freq(s)表示单词s出现的频数,len(s1,s2)表示词之间的距离,即s1、s2分别到公共祖先lso(s1,s2)的路径上经过的边数之和。
6.一种基于机器学习的本体匹配系统,包括预测集生成模块、训练集生成模块和分类器,其中,
所述预测集生产模块用于对待匹配的本体进行预处理,并且生成预测集;
所述训练集生成模块用于对标准数据集进行预处理,并且生成训练集;以及
所述分类器通过所述训练集进行学习,并在学习完毕后对所述预测集进行匹配判断,并且输出匹配结果。
7.如权利要求6所述的系统,还包括匹配结果提取模块,用于提取所述分类器输出的所述匹配结果,并且优化所述匹配结果。
8.如权利要求6或7所述的系统,其特征在于,所述预测集生成模块包括第一预处理模块和第一相似度计算模块,所述训练集生成模块包括第二预处理模块和第二相似度计算模块;第一预处理模块用于对待匹配的本体进行预处理;以及所述第一相似度计算模块将两个本体的类进行笛卡尔乘积得到候选匹配对,并在多个维度上计算所述候选匹配对的相似度。
9.如权利要求8所述的系统,其特征在于,所述第一相似度计算模块和所述第二相似度计算模块计算的相似度包括以下各项中的两个或更多个:类名相似度、类名语义相似度、注释相似度、属性数相似度、实例数相似度、父子类数相似度、深度相似度、虚拟文档相似度。
10.如权利要求8所述的系统,其特征在于,所述预处理包括但不限于解析所述本体中的类和/或从本体文件中解析所述类的名称、标记、描述、注释、父子类和/或属性信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610595524.9A CN106202543A (zh) | 2016-07-27 | 2016-07-27 | 基于机器学习的本体匹配方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610595524.9A CN106202543A (zh) | 2016-07-27 | 2016-07-27 | 基于机器学习的本体匹配方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106202543A true CN106202543A (zh) | 2016-12-07 |
Family
ID=57495888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610595524.9A Pending CN106202543A (zh) | 2016-07-27 | 2016-07-27 | 基于机器学习的本体匹配方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106202543A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897403A (zh) * | 2017-02-14 | 2017-06-27 | 中国科学院电子学研究所 | 面向知识图谱构建的细粒度中文属性对齐方法 |
CN107480126A (zh) * | 2017-07-10 | 2017-12-15 | 广东华联建设投资管理股份有限公司 | 一种工程材料类别智能识别方法 |
CN108376287A (zh) * | 2018-03-02 | 2018-08-07 | 复旦大学 | 基于CN-DBpedia的多值属性分割装置及方法 |
CN109117891A (zh) * | 2018-08-28 | 2019-01-01 | 电子科技大学 | 融合社交关系和命名特征的跨社交媒体账户匹配方法 |
CN109740947A (zh) * | 2019-01-08 | 2019-05-10 | 上海市研发公共服务平台管理中心 | 基于专利数据的专家挖掘方法、系统、存储介质及电子终端 |
CN109993190A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种本体匹配方法、装置和计算机存储介质 |
CN110346831A (zh) * | 2019-07-19 | 2019-10-18 | 同济大学 | 一种基于随机森林算法的智能化地震流体识别方法 |
CN110427991A (zh) * | 2019-07-22 | 2019-11-08 | 联动优势科技有限公司 | 一种字符串匹配方法及装置 |
CN110472059A (zh) * | 2018-05-11 | 2019-11-19 | 中国移动通信有限公司研究院 | 一种本体匹配方法、装置和计算机可读存储介质 |
CN110781687A (zh) * | 2019-11-06 | 2020-02-11 | 三角兽(北京)科技有限公司 | 相同意图语句的获取方法及装置 |
CN110874412A (zh) * | 2018-08-31 | 2020-03-10 | 中国移动通信有限公司研究院 | 一种本体匹配方法、装置和计算机存储介质 |
CN111091020A (zh) * | 2018-10-22 | 2020-05-01 | 百度在线网络技术(北京)有限公司 | 自动驾驶状态判别方法和装置 |
CN111854748A (zh) * | 2019-04-09 | 2020-10-30 | 北京航迹科技有限公司 | 一种定位系统和方法 |
CN112085335A (zh) * | 2020-08-10 | 2020-12-15 | 国网上海市电力公司 | 一种用于配电网故障预测的改进随机森林算法 |
CN112214984A (zh) * | 2020-10-10 | 2021-01-12 | 北京蚂蜂窝网络科技有限公司 | 内容抄袭识别方法、装置、设备及存储介质 |
CN112487260A (zh) * | 2020-12-07 | 2021-03-12 | 上海市研发公共服务平台管理中心 | 仪器项目申报评审专家匹配方法、装置、设备和介质 |
CN113807087A (zh) * | 2020-06-16 | 2021-12-17 | 中国电信股份有限公司 | 网站域名相似度检测方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216819A (zh) * | 2007-12-28 | 2008-07-09 | 北京邮电大学 | 基于领域本体的名片信息中译英自动翻译方法 |
CN101901247A (zh) * | 2010-03-29 | 2010-12-01 | 北京师范大学 | 一种领域本体约束的垂直搜索引擎方法及系统 |
CN102194013A (zh) * | 2011-06-23 | 2011-09-21 | 上海毕佳数据有限公司 | 一种基于领域知识的短文本分类方法及文本分类系统 |
CN102193928A (zh) * | 2010-03-08 | 2011-09-21 | 三星电子(中国)研发中心 | 基于多层文本分类器的轻量级本体匹配方法 |
-
2016
- 2016-07-27 CN CN201610595524.9A patent/CN106202543A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216819A (zh) * | 2007-12-28 | 2008-07-09 | 北京邮电大学 | 基于领域本体的名片信息中译英自动翻译方法 |
CN102193928A (zh) * | 2010-03-08 | 2011-09-21 | 三星电子(中国)研发中心 | 基于多层文本分类器的轻量级本体匹配方法 |
CN101901247A (zh) * | 2010-03-29 | 2010-12-01 | 北京师范大学 | 一种领域本体约束的垂直搜索引擎方法及系统 |
CN102194013A (zh) * | 2011-06-23 | 2011-09-21 | 上海毕佳数据有限公司 | 一种基于领域知识的短文本分类方法及文本分类系统 |
Non-Patent Citations (2)
Title |
---|
任建欢: "基于多策略的本体匹配系统设计与实现", 《万方学术期刊数据库》 * |
沈国祥: "基于WordNet的语义相似度算法改进研究", 《软件导刊》 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897403B (zh) * | 2017-02-14 | 2019-03-26 | 中国科学院电子学研究所 | 面向知识图谱构建的细粒度中文属性对齐方法 |
CN106897403A (zh) * | 2017-02-14 | 2017-06-27 | 中国科学院电子学研究所 | 面向知识图谱构建的细粒度中文属性对齐方法 |
CN107480126A (zh) * | 2017-07-10 | 2017-12-15 | 广东华联建设投资管理股份有限公司 | 一种工程材料类别智能识别方法 |
CN107480126B (zh) * | 2017-07-10 | 2021-04-13 | 华联世纪工程咨询股份有限公司 | 一种工程材料类别智能识别方法 |
CN109993190A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种本体匹配方法、装置和计算机存储介质 |
CN108376287A (zh) * | 2018-03-02 | 2018-08-07 | 复旦大学 | 基于CN-DBpedia的多值属性分割装置及方法 |
CN110472059A (zh) * | 2018-05-11 | 2019-11-19 | 中国移动通信有限公司研究院 | 一种本体匹配方法、装置和计算机可读存储介质 |
CN109117891A (zh) * | 2018-08-28 | 2019-01-01 | 电子科技大学 | 融合社交关系和命名特征的跨社交媒体账户匹配方法 |
CN109117891B (zh) * | 2018-08-28 | 2022-04-08 | 电子科技大学 | 融合社交关系和命名特征的跨社交媒体账户匹配方法 |
CN110874412A (zh) * | 2018-08-31 | 2020-03-10 | 中国移动通信有限公司研究院 | 一种本体匹配方法、装置和计算机存储介质 |
CN110874412B (zh) * | 2018-08-31 | 2022-07-26 | 中国移动通信有限公司研究院 | 一种本体匹配方法、装置和计算机存储介质 |
CN111091020A (zh) * | 2018-10-22 | 2020-05-01 | 百度在线网络技术(北京)有限公司 | 自动驾驶状态判别方法和装置 |
CN109740947A (zh) * | 2019-01-08 | 2019-05-10 | 上海市研发公共服务平台管理中心 | 基于专利数据的专家挖掘方法、系统、存储介质及电子终端 |
CN111854748A (zh) * | 2019-04-09 | 2020-10-30 | 北京航迹科技有限公司 | 一种定位系统和方法 |
CN110346831B (zh) * | 2019-07-19 | 2021-06-04 | 同济大学 | 一种基于随机森林算法的智能化地震流体识别方法 |
CN110346831A (zh) * | 2019-07-19 | 2019-10-18 | 同济大学 | 一种基于随机森林算法的智能化地震流体识别方法 |
CN110427991A (zh) * | 2019-07-22 | 2019-11-08 | 联动优势科技有限公司 | 一种字符串匹配方法及装置 |
CN110781687A (zh) * | 2019-11-06 | 2020-02-11 | 三角兽(北京)科技有限公司 | 相同意图语句的获取方法及装置 |
CN110781687B (zh) * | 2019-11-06 | 2021-07-06 | 腾讯科技(深圳)有限公司 | 相同意图语句的获取方法及装置 |
CN113807087A (zh) * | 2020-06-16 | 2021-12-17 | 中国电信股份有限公司 | 网站域名相似度检测方法和装置 |
CN113807087B (zh) * | 2020-06-16 | 2023-11-28 | 中国电信股份有限公司 | 网站域名相似度检测方法和装置 |
CN112085335A (zh) * | 2020-08-10 | 2020-12-15 | 国网上海市电力公司 | 一种用于配电网故障预测的改进随机森林算法 |
CN112214984A (zh) * | 2020-10-10 | 2021-01-12 | 北京蚂蜂窝网络科技有限公司 | 内容抄袭识别方法、装置、设备及存储介质 |
CN112487260A (zh) * | 2020-12-07 | 2021-03-12 | 上海市研发公共服务平台管理中心 | 仪器项目申报评审专家匹配方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106202543A (zh) | 基于机器学习的本体匹配方法和系统 | |
CN106777275B (zh) | 基于多粒度语义块的实体属性和属性值提取方法 | |
CN105653706B (zh) | 一种基于文献内容知识图谱的多层引文推荐方法 | |
Roy et al. | Inferring concept prerequisite relations from online educational resources | |
CN109255031A (zh) | 基于知识图谱的数据处理方法 | |
CN104794169B (zh) | 一种基于序列标注模型的学科术语抽取方法及系统 | |
CN106484675A (zh) | 融合分布式语义和句义特征的人物关系抽取方法 | |
WO2015043075A1 (zh) | 面向微博的情感实体搜索系统 | |
Nitin et al. | Analyzing educational comments for topics and sentiments: A text analytics approach | |
Wang et al. | Neural related work summarization with a joint context-driven attention mechanism | |
CN112686025B (zh) | 一种基于自由文本的中文选择题干扰项生成方法 | |
Medagoda et al. | Sentiment lexicon construction using SentiWordNet 3.0 | |
Paiva et al. | Discovering semantic relations from unstructured data for ontology enrichment: Asssociation rules based approach | |
Lv et al. | Text analytics for supporting stakeholder opinion mining for large-scale highway projects | |
Sadr et al. | Unified topic-based semantic models: A study in computing the semantic relatedness of geographic terms | |
Wu et al. | BERT for sentiment classification in software engineering | |
CN113963748B (zh) | 一种蛋白质知识图谱向量化方法 | |
CN113360647B (zh) | 一种基于聚类的5g移动业务投诉溯源分析方法 | |
CN110245234A (zh) | 一种基于本体和语义相似度的多源数据样本关联方法 | |
CN113610626A (zh) | 银行信贷风险识别知识图谱构建方法、装置、计算机设备及计算机可读存储介质 | |
Zhu et al. | A Semantic Similarity Computing Model based on Siamese Network for Duplicate Questions Identification. | |
Hasan et al. | Pattern-matching based for Arabic question answering: a challenge perspective | |
Valerio et al. | Associating documents to concept maps in context | |
Schirmer et al. | A new dataset for topic-based paragraph classification in genocide-related court transcripts | |
CN110807096A (zh) | 一种小样本集上的信息对匹配方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161207 |
|
RJ01 | Rejection of invention patent application after publication |