# Integrating Cross-lingual Ontologies through Co-Evolutionary Algorithm

Authors: Lili Huang; Leong Ko
Journal: Mobile Information Systems
 (2022)

---

## Abstract

To support the collaborations among intelligent applications, it is necessary to integrate various ontologies which are developed and maintained by different organizations. One of the challenges is that different ontologies in the same application domain might use different languages to describe the same concept, which yields the cross-lingual heterogeneity problem, i.e., how to map two identical entities in different languages. To address this problem, this work proposes a problem-specific co-evolutionary algorithm (CoEA)-based matching technique. In particular, we first propose a parallel aggregating framework to aggregate different SMs and then construct a continuous optimization model for defining the problem of cross-lingual ontology integration. To better trade off the algorithm’s exploitation and exploration, we use two competitive subpopulations to, respectively, execute the exploitation and exploration. The experiment utilizes OAEI’s multifarm track for testing purpose, and the experimental results show that CoEA is able to effectively integrate various cross-lingual ontologies.


---

## Body

## 1. Introduction

With the rapid development of Semantic Web [1, 2], various ontologies have been developed in diverse domains to annotate the data. To implement the intelligent applications’ collaboration, it is necessary to integrate various ontologies which are developed and maintained by different organizations. One of the challenges is that different ontologies in the same application domain might use different languages to describe the same concept, which yields the cross-lingual heterogeneity problem. To address this issue, we need to map two identical entities in different languages, which is the so-called cross-lingual ontology matching [3]. When matching two ontologies, it is important to use the similarity measure (SM) to distinguish the heterogeneous entities [4], and usually, different SMs should be aggregated to make their advantages and disadvantages complement each other, which is of help to improve the confidence of the result. Currently, the parallel framework owns such merits as its flexibility of tuning various weights and the relative independence on different matchers in terms of their executing processes. Before aggregating SMs, their corresponding similarity matrices should be calculated independently first. The similarity matrix’s row and column are, respectively, two ontology’s entities, and its elements are the corresponding entities’ similarity value. Then, these matrices are aggregated into one matrix by using the aggregating weights. Finally, a threshold is used to filter the correspondences with low similarity values.Since it is a complex optimizing task of optimizing a cross-lingual ontology alignment, metaheuristics approaches, such as evolutionary algorithm (EA) [5], become the popular methods of determining the high-quality alignments. Being inspired by the success of metaheuristics approaches in the cross-lingual ontology matching domain, this work proposes a co-evolutionary algorithm (CoEA) to determine the cross-lingual ontology alignment. CoEA uses the compact mechanism and co-evolutionary mechanism to overcome two shortcomings of classic EA, i.e., high computational cost and premature convergence. In particular, we make the following contributions: a parallel aggregating framework of matching cross-lingual ontologies is presented; a continuous optimization model is built to define the cross-lingual ontology matching problem; a problem-specific CoEA is proposed to optimize the cross-lingual ontology alignment’s quality, which uses two competitive subpopulations to trade off algorithm’s exploitation and exploration.The rest of this study is organized as follows. After defining the cross-lingual ontology matching problem (Section2), three kinds of SMs are introduced (Section 3), then CoEA is presented (Section 4), and the experimental results are shown (Section 5). Finally, the conclusion is drawn (Section 6).


## 2. Cross-Lingual Ontology Integrating Problem

An ontology consists of concepts, properties, and axioms, and an ontology alignment is a mapping set between two heterogeneous ontologies. A mapping is a 3-tuple (c1, c2, simValue), where c1 and c2 are, respectively, two ontologies’ entities, and simValue∈0,1 is their similarity [6, 7]. Given an alignment A and a reference alignment Aref, A’s quality can be measured with f-measure [8]:(1)recallA=A∩​ArefAref,precisionA=A∩​ArefA,f−measureA=2×recallA×precisionArecallA+precisionA,where  is the cardinality of a particular set. The cross-lingual ontology integrating problem is modelled as a continuous optimization problem. In particular, its objective is to maximize the f-measure of the cross-lingual ontology alignment, and its decision variable =x1,x2…T, where xi ∈ [0, 1] is the ith aggregating weight, and their sum is equal to 1.


## 3. Similarity Measure

Generally, there are three broad categories of SM, i.e., syntactic SM, linguistic SM, and taxonomy SM [9–11]. Syntactic SM calculates two strings’ similarity by measuring their edit distance. Levenshtein distance [12] is one of the popular syntactic SMs, which is defined as follows:(2)simLevenshteins1,s2=max0,mins1,s2−ds1,s2mins1,s2,where  is the character numbers of a string and d() is two strings’ edit distance.Linguistic SM measures two words’ similarity with the electronic dictionary, such as Wordnet [13,14]. Given two entities’ label label1 and label2, their linguistic similarity value is defined as follows:(3)simLevenshteinlabel1,label2=1,iflabel1andlabel2are  synonymous,0.5,iflabel1andlabel2are hyponymous or  hypernymous,0,otherwise.Taxonomy SM uses two conceptsc1 and c2’s context to determine their similarity, which is defined as follows [15, 16]:(4)simSFc1,c2=simLevenshteinsuper1,super2+∑simLevenshteinsubi,subj2,where super1 and super2 are, respectively, c1 and c2’s super classes and subi and subj are, respectively, their ith and jth subclasses.In this study, by referring to Chen et al.‘s work [17], we first use the Babelnet Translate1 to translate the terminologies in various languages into English and then use the above three SMs to calculate their similarity values. All the similarity measures are executed in parallel to determine their corresponding similarity matrices, which store the similarity values of all correspondences. After that, CoEA is used to determine the aggregating weight for the similarity matrices in this parallel framework.


## 4. Co-Evolutionary Algorithm

### 4.1. Compact Encoding

CoEA uses the binary coding mechanism [18], which is of help to reduce the algorithm’s computational complexity. Given a set of cut points C'  = {c1, c2, …, cn}, we first sort it in ascending order as C = {c1, c2, …, cn}, and then, we can get the corresponding weight set through the following equation:(5)wk=c1,k=1ck−ck−1,1<k<p1−cp−1,k=p.After that, we usen cutting points to obtain n + 1 aggregating weights.This work uses two probability vectors (PVs) to describe the gene distribution on two competitive subpopulations, i.e.,PVbetter and PVworse. In particular, PVbetter describes the subpopulation whose elite solution owns higher fitness value, while PVworse is lower. Each PV’s elements are the real number in [0,1], which represents their corresponding gene bit’s probability of being 1. With a PV, we are able to generate various solutions with the similar gene distributions.


### 4.2. Exploration and Exploitation

We apply different strategies onPVbetter and PVworse’s corresponding subpopulations. The former mainly focuses on the exploitation operator, while the latter uses the exploration strategy. For the sake of clarity, we show these two strategies in Algorithms 1 and 2.Algorithm 1: Exploration.
(1)
solutionnew  =  PVbetter. generateSolution();(2)
int num = round(ran(0, 1) × solution.length);(3)
int index = 0;(4)
for inti = 0; i < solutionnew.length; i + + do(5)
if index + 1 > num then(6)
break;(7)
end if(8)
if index + 1 > solution.length then(9)
index = 0;(10)
end if(11)
solutioninew  =  solutionielitebetter;(12)
end forAlgorithm 2: Exploitation.
(1)
solutionnew  =  PVworse.generateSolution();(2)
solutionp  =  PVworse.generateSolution();(3)
solutionq  =  PVworse.generateSolution();(4)
int num = round(ran(0, 1) × solution.length);(5)
int index = 0;(6)
for inti = 0; i < solutionp.length; i + + do(7)
if index + 1 > num then(8)
break;(9)
end if(10)
solutionip  =  solutioniq;(11)
end for(12)
int num = round(ran(0, 1) × solution.length);(13)
int index = 0;(14)
for inti = 0; i < solutionnew.length; i + + do(15)
if index + 1 > num then(16)
break;(17)
end if(18)
ifindex+1>solution.lengththen(19)
index = 0;(20)
end if(21)
solutioninew  =  solutionip;(22)
end forHere, we introduce the exponential crossover operator (EC) [19] to implement CoEA’s exploration and exploitation operators. Comparing with traditional crossover operator, EC generates the offspring by inheriting a complete sequential genes from two parents, which is more exploitative. Given two solutions, EC randomly copies a certain number of sequential bits’ values from the first one to the second one. With respect to the exploration operator, we use EC to mix a newly generated solution solutionnew and the elite pollen solutionelitebetter, while in the exploitation operator, we first mix two newly generated solutions solutionp and solutionq to obtain the mediate individual; then, we mix it with solutionnew, which approximates the evolutionary operator of differential evolution algorithm (DE) [20] to ensure the algorithm’s exploration.


### 4.3. Pseudocode of Co-Evolutionary Algorithm

Given the maximum generationmaxGen, Algorithm 3 shows CoEA’s pseudocode.Algorithm 3: Co-evolutionary algorithm.
(1)
∗∗∗∗∗∗∗∗∗ Initialization ∗∗∗∗∗∗∗∗∗∗(2)
InitializePVbetterandPVworseby setting all their elements as0.5;(3)
solutionelitebetter=PVbetter. generateSolution();(4)
generateSolution();(5)
int index = 0;(6)
∗∗∗∗∗∗∗∗∗∗ Evolution ∗∗∗∗∗∗∗∗∗∗(7)
int gen = 0;(8)
whilegen<max Gendo(9)
∗∗∗∗∗∗∗∗∗ UpdatePVbetter ∗∗∗∗∗∗∗∗∗∗(10)
solutionnew=exploration;(11)
solutionwinner  = compete(solutionnew, solutionelitebetter);(12)
ifsolutionwinner==solutionnewthen(13)
solutionelitebetter  =  solutionnew;(14)
end if(15)
for inti = 0; i < PVbetter.length; i + + do(16)
ifPVibetter==1then(17)
PVibetter==PVibetter+1/PVibetter.length;(18)
else(19)
PVibetter==PVibetter−1/PVibetter.length;(20)
end if(21)
end for(22)
∗∗∗∗∗∗∗∗∗ UpdatePVworse ∗∗∗∗∗∗∗∗∗∗(23)
solutionnew  = exploitation();(24)
solutionwinner  = compete(solutionnew, solutioneliteworse);(25)
ifsolutionwinner==solutionnewthen(26)
solutioneliteworse  =  solutionnew;(27)
end if(28)
for inti = 0; i < PVworse.length; i + + do(29)
ifPVibetter==1then(30)
PVibetter==PVibetter+1/PVibetter.length;(31)
else(32)
PVibetter==PVibetter−1/PVibetter.length;(33)
end if(34)
end for(35)
∗∗∗∗∗∗∗∗∗ Competition ∗∗∗∗∗∗∗∗∗(36)
ifsolutioneliteworse is better than solutionelitebetter then(37)
switchsolutioneliteworse and solutionelitebetter;(38)
switchPVworse and PVbetter;(39)
end if(40)
if HammingDist(PVbetter, PVworse) < 0.5 then(41)
InitializePVworse by setting all the elements as 0.5;(42)
end if(43)
gen + +;(44)
end while(45)
returnsolutionelitebetter;CoEA first initializes all the elements of two PVs as 0.5 and then uses them to initialize two elite solutionssolutionelitebetter and solutioneliteworse. In each generation, CoEA, respectively, updates PVbetter and PVworse through exploration and exploitation strategies. At the end of each generation, if solutioneliteworse’s fitness value is higher than that of solutionelitebetter, we will switch them and two PVs. If two PVs’ Hamming distance [21] is smaller than 0.5, we will re-initialize it by setting all the elements as 0.5, which ensures the population’s diversity. Finally, when reaching the maximum iteration number maxT=3000, the algorithm terminates and returns solutionelitebetter. When the quality of alignment is 1.00, the algorithm can be terminated in advance. However, this situation is barely met in the experiment because it is difficult for the similarity measure to distinguish all the heterogeneous entity pairs. Therefore, this work executes the algorithm until it reaches the maximum generation.


## 4.1. Compact Encoding

CoEA uses the binary coding mechanism [18], which is of help to reduce the algorithm’s computational complexity. Given a set of cut points C'  = {c1, c2, …, cn}, we first sort it in ascending order as C = {c1, c2, …, cn}, and then, we can get the corresponding weight set through the following equation:(5)wk=c1,k=1ck−ck−1,1<k<p1−cp−1,k=p.After that, we usen cutting points to obtain n + 1 aggregating weights.This work uses two probability vectors (PVs) to describe the gene distribution on two competitive subpopulations, i.e.,PVbetter and PVworse. In particular, PVbetter describes the subpopulation whose elite solution owns higher fitness value, while PVworse is lower. Each PV’s elements are the real number in [0,1], which represents their corresponding gene bit’s probability of being 1. With a PV, we are able to generate various solutions with the similar gene distributions.


## 4.2. Exploration and Exploitation

We apply different strategies onPVbetter and PVworse’s corresponding subpopulations. The former mainly focuses on the exploitation operator, while the latter uses the exploration strategy. For the sake of clarity, we show these two strategies in Algorithms 1 and 2.Algorithm 1: Exploration.
(1)
solutionnew  =  PVbetter. generateSolution();(2)
int num = round(ran(0, 1) × solution.length);(3)
int index = 0;(4)
for inti = 0; i < solutionnew.length; i + + do(5)
if index + 1 > num then(6)
break;(7)
end if(8)
if index + 1 > solution.length then(9)
index = 0;(10)
end if(11)
solutioninew  =  solutionielitebetter;(12)
end forAlgorithm 2: Exploitation.
(1)
solutionnew  =  PVworse.generateSolution();(2)
solutionp  =  PVworse.generateSolution();(3)
solutionq  =  PVworse.generateSolution();(4)
int num = round(ran(0, 1) × solution.length);(5)
int index = 0;(6)
for inti = 0; i < solutionp.length; i + + do(7)
if index + 1 > num then(8)
break;(9)
end if(10)
solutionip  =  solutioniq;(11)
end for(12)
int num = round(ran(0, 1) × solution.length);(13)
int index = 0;(14)
for inti = 0; i < solutionnew.length; i + + do(15)
if index + 1 > num then(16)
break;(17)
end if(18)
ifindex+1>solution.lengththen(19)
index = 0;(20)
end if(21)
solutioninew  =  solutionip;(22)
end forHere, we introduce the exponential crossover operator (EC) [19] to implement CoEA’s exploration and exploitation operators. Comparing with traditional crossover operator, EC generates the offspring by inheriting a complete sequential genes from two parents, which is more exploitative. Given two solutions, EC randomly copies a certain number of sequential bits’ values from the first one to the second one. With respect to the exploration operator, we use EC to mix a newly generated solution solutionnew and the elite pollen solutionelitebetter, while in the exploitation operator, we first mix two newly generated solutions solutionp and solutionq to obtain the mediate individual; then, we mix it with solutionnew, which approximates the evolutionary operator of differential evolution algorithm (DE) [20] to ensure the algorithm’s exploration.


## 4.3. Pseudocode of Co-Evolutionary Algorithm

Given the maximum generationmaxGen, Algorithm 3 shows CoEA’s pseudocode.Algorithm 3: Co-evolutionary algorithm.
(1)
∗∗∗∗∗∗∗∗∗ Initialization ∗∗∗∗∗∗∗∗∗∗(2)
InitializePVbetterandPVworseby setting all their elements as0.5;(3)
solutionelitebetter=PVbetter. generateSolution();(4)
generateSolution();(5)
int index = 0;(6)
∗∗∗∗∗∗∗∗∗∗ Evolution ∗∗∗∗∗∗∗∗∗∗(7)
int gen = 0;(8)
whilegen<max Gendo(9)
∗∗∗∗∗∗∗∗∗ UpdatePVbetter ∗∗∗∗∗∗∗∗∗∗(10)
solutionnew=exploration;(11)
solutionwinner  = compete(solutionnew, solutionelitebetter);(12)
ifsolutionwinner==solutionnewthen(13)
solutionelitebetter  =  solutionnew;(14)
end if(15)
for inti = 0; i < PVbetter.length; i + + do(16)
ifPVibetter==1then(17)
PVibetter==PVibetter+1/PVibetter.length;(18)
else(19)
PVibetter==PVibetter−1/PVibetter.length;(20)
end if(21)
end for(22)
∗∗∗∗∗∗∗∗∗ UpdatePVworse ∗∗∗∗∗∗∗∗∗∗(23)
solutionnew  = exploitation();(24)
solutionwinner  = compete(solutionnew, solutioneliteworse);(25)
ifsolutionwinner==solutionnewthen(26)
solutioneliteworse  =  solutionnew;(27)
end if(28)
for inti = 0; i < PVworse.length; i + + do(29)
ifPVibetter==1then(30)
PVibetter==PVibetter+1/PVibetter.length;(31)
else(32)
PVibetter==PVibetter−1/PVibetter.length;(33)
end if(34)
end for(35)
∗∗∗∗∗∗∗∗∗ Competition ∗∗∗∗∗∗∗∗∗(36)
ifsolutioneliteworse is better than solutionelitebetter then(37)
switchsolutioneliteworse and solutionelitebetter;(38)
switchPVworse and PVbetter;(39)
end if(40)
if HammingDist(PVbetter, PVworse) < 0.5 then(41)
InitializePVworse by setting all the elements as 0.5;(42)
end if(43)
gen + +;(44)
end while(45)
returnsolutionelitebetter;CoEA first initializes all the elements of two PVs as 0.5 and then uses them to initialize two elite solutionssolutionelitebetter and solutioneliteworse. In each generation, CoEA, respectively, updates PVbetter and PVworse through exploration and exploitation strategies. At the end of each generation, if solutioneliteworse’s fitness value is higher than that of solutionelitebetter, we will switch them and two PVs. If two PVs’ Hamming distance [21] is smaller than 0.5, we will re-initialize it by setting all the elements as 0.5, which ensures the population’s diversity. Finally, when reaching the maximum iteration number maxT=3000, the algorithm terminates and returns solutionelitebetter. When the quality of alignment is 1.00, the algorithm can be terminated in advance. However, this situation is barely met in the experiment because it is difficult for the similarity measure to distinguish all the heterogeneous entity pairs. Therefore, this work executes the algorithm until it reaches the maximum generation.


## 5. Experiment

### 5.1. Experimental Configuration

In the experiment, Ontology Alignment Evaluation Initiative (OAEI)’s Multifarmtrack2, which includes 45 ontology pairs in different languages, is used to test CoEA’s performance, and Table 1 gives a brief descriptions on the testing cases.Table 1
Descriptions on the ontologies in the testing cases.
Testing caseDescriptionar-cnArabic (ar) vs. Chinese (cn)ar-czArabic (ar) vs. Chinese (cn)ar-deArabic (ar) vs. German (de)ar-enArabic (ar) vs. Englishar-esArabic (ar) vs. Spanish (es)ar-frArabic (ar) vs. French (fr)ar-nlArabic (ar) vs. Dutch (nl)ar-ptArabic (ar) vs. Dutch (nl)ar-ruArabic (ar) vs. Russian (ru)cn-nlChinese (cn) vs. Dutch (nl)cn-deChinese (cn) vs. German (de)cn-ruChinese (cn) vs. Russian (ru)cn-frChinese (cn) vs. French (fr)cn-czChinese (cn) vs. Czech (cz)cn-ptChinese (cn) vs. Portuguese (pt)cn-esChinese (cn) vs. Spanish (es)cn-enChinese (cn) vs. English (en)cz-deCzech (cz) vs. German (de)cz-enCzech (cz) vs. English (en)cz-esCzech (cz) vs. Spanish (sp)cz-frCzech (cz) vs. French (fr)cz-nlCzech (cz) vs. Dutch (nl)cz-ptCzech (cz) vs. Portuguese (pt)cz-ruCzech (cz) vs. Russian (ru)de-ruGerman (de) vs. Russian (ru)de-esGerman (de) vs. Spanish (es)de-ptGerman (de) vs. Portuguese (pt)de-nlGerman (de) vs. Dutch (nl)de-frGerman (de) vs. French (fr)de-enGerman (de) vs. English (en)en-esEnglish (en) vs. Spanish (es)en-frEnglish (en) vs. French (fr)en-nlEnglish (en) vs. Dutch (nl)en-ptEnglish (en) vs. Portuguese (pt)en-ruEnglish (en) vs. Russian (ru)es-ruSpanish (es) vs. Russian (ru)es-ptSpanish (es) vs. Portuguese (pt)es-nlSpanish (es) vs. Dutch (nl)es-frSpanish (es) vs. French (fr)fr-nlFrench (fr) vs. Dutch (nl)fr-ptFrench (fr) vs. Portuguese (pt)fr-ruFrench (fr) vs. Russian (ru)nl-ptDutch (nl) vs. Portuguese (pt)nl-ruDutch (nl) vs. Russian (ru)pt-ruPortuguese (pt) vs. Russian (ru)


### 5.2. Experimental Results

In the experiment, we compare CoEA with EA- and DE-based cross-lingual ontology matching techniques, whose results demonstrated in the tables are the mean values of 30 independent runs. In particular, Table2 compares CoEA with CEA and CDE in terms of f-measure, and Table 3 carries out T-test [22] among three cross-lingual ontology matching techniques.Table 2
Comparisons on the alignment’s quality in terms of f-measure. The symbolsf and std, respectively, stand for mean f-measure and standard deviation.
Testing caseCEAf (std)HCEAf (std)CoEAf (std)ar-cn0.28 (0.02)0.28 (0.02)0.35 (0.01)ar-cz0.37 (0.02)0.37 (0.02)0.41 (0.01)ar-de0.35 (0.01)0.35 (0.01)0.43 (0.02)ar-en0.36 (0.02)0.36 (0.01)0.45 (0.01)ar-es0.40 (0.02)0.40 (0.03)0.48 (0.01)ar-fr0.36 (0.02)0.36 (0.01)0.42 (0.02)ar-nl0.35 (0.02)0.35 (0.02)0.44 (0.01)ar-pt0.38 (0.03)0.38 (0.01)0.44 (0.01)ar-ru0.33 (0.03)0.33 (0.01)0.35 (0.02)cn-cz0.31 (0.02)0.31 (0.02)0.35 (0.01)cn-de0.36 (0.02)0.33 (0.02)0.41 (0.01)cn-en0.30 (0.02)0.30 (0.01)0.35 (0.02)cn-es0.37 (0.01)0.37 (0.01)0.42 (0.01)cn-fr0.35 (0.03)0.35 (0.01)0.42 (0.01)cn-nl0.41 (0.01)0.41 (0.03)0.49 (0.02)cn-pt0.36 (0.01)0.36 (0.01)0.46 (0.01)cn-ru0.27 (0.02)0.27 (0.03)0.39 (0.01)cz-de0.42 (0.02)0.42 (0.01)0.45 (0.02)cz-en0.44 (0.01)0.44 (0.03)0.51 (0.01)cz-es0.42 (0.03)0.42 (0.01)0.48 (0.01)cz-fr0.40 (0.01)0.45 (0.01)0.47 (0.01)cz-nl0.45 (0.03)0.42 (0.01)0.49 (0.02)cz-pt0.52 (0.02)0.44 (0.02)0.51 (0.01)cz-ru0.44 (0.01)0.42 (0.01)0.48 (0.01)de-en0.42 (0.01)0.46 (0.01)0.53 (0.01)de-es0.46 (0.02)0.46 (0.01)0.55 (0.01)de-fr0.46 (0.01)0.43 (0.03)0.50 (0.02)de-nl0.43 (0.01)0.41 (0.01)0.46 (0.01)de-pt0.45 (0.03)0.42 (0.01)0.53 (0.01)de-ru0.42 (0.01)0.44 (0.02)0.53 (0.02)en-es0.44 (0.02)0.42 (0.01)0.49 (0.02)en-fr0.42 (0.01)0.42 (0.01)0.53 (0.01)en-nl0.42 (0.01)0.45 (0.01)0.50 (0.01)en-pt0.45 (0.01)0.41 (0.01)0.51 (0.01)en-ru0.45 (0.03)0.52 (0.02)0.55(0.01)es-fr0.45 (0.02)0.48 (0.01)0.55 (0.02)es-nl0.48 (0.02)0.52 (0.02)0.55 (0.01)es-pt0.52 (0.01)0.52 (0.01)0.58 (0.01)es-ru0.50 (0.03)0.50 (0.01)0.63 (0.01)fr-nl0.46 (0.01)0.46 (0.03)0.52 (0.02)fr-pt0.49 (0.01)0.49 (0.01)0.58 (0.01)fr-ru0.45 (0.01)0.45 (0.01)0.55 (0.03)nl-pt0.52 (0.02)0.52 (0.02)0.58 (0.01)nl-ru0.48 (0.01)0.48 (0.01)0.58 (0.02)pt-ru0.47 (0.03)0.47 (0.01)0.51 (0.01)average0.41 (0.02)0.41 (0.01)0.48 (0.01)Table 3
T-Test on the alignment’s quality.
Testing caseCEAHCEAt-value (p value)t-value (p value)ar-cn93.91 (0.003389)93.91 (0.003389)ar-cz53.66 (0.005931)53.66 (0.005931)ar-de107.33 (0.002966)107.33 (0.002966)ar-en120.74 (0.002636)190.91 (0.001667)ar-es107.33 (0.002966)75.89 (0.004194)ar-fr63.63 (0.005001)80.49 (0.003954)ar-nl120.74 (0.002636)120.74 (0.002636)ar-pt56.92 (0.005592)127.27 (0.002501)ar-ru16.64 (0.019105)26.83 (0.011858)cn-cz53.66 (0.005931)53.66 (0.005931)cn-de67.08 (0.004745)107.33 (0.002966)cn-en53.03 (0.006001)67.08 (0.004745)cn-es106.06 (0.003001)106.06 (0.003001)cn-fr66.40 (0.004793)148.49 (0.002144)cn-nl107.33 (0.002966)66.56 (0.004782)cn-pt212.13 (0.001501)212.13 (0.001501)cn-ru160.99 (0.001977)113.84 (0.002796)cz-de31.81 (0.01)40.24 (0.007907)cz-en148.49(0.002144)66.40 (0.004793)cz-es56.92 (0.005592)127.27 (0.002501)cz-fr148.49 (0.002144)42.42 (0.007501)cz-nl33.28 (0.009561)93.91 (0.003389)cz-pt80.49(0.003954)93.91 (0.003389)cz-ru84.85 (0.003751)127.27 (0.002501)de-en233.34 (0.001364)148.49 (0.002144)de-es120.74 (0.002636)190.91 (0.001667)de-fr53.66(0.005931)58.24 (0.005465)de-nl63.63 (0.005001)106.06 (0.003001)de-pt75.89 (0.004194)233.34 (0.001364)de-ru147.58 (0.002157)95.45 (0.003334)en-es53.03 (0.006001)93.91 (0.003389)en-fr233.34 (0.001364)233.34 (0.001364)en-nl169.70 (0.001876)106.06 (0.003001)en-pt127.27 (0.002501)212.13 (0.001501)en-ru94.86 (0.003355)40.24 (0.007907)es-fr31.81 (0.01)93.91 (0.003389)es-nl93.91 (0.003389)40.24 (0.007907)es-pt127.27 (0.002501)127.27 (0.002501)es-ru123.32 (0.002581)275.77 (0.001154)fr-nl80.49 (0.003954)49.92 (0.006375)fr-pt190.91 (0.001667)190.91 (0.001667)fr-ru94.86 (0.003355)94.86 (0.003355)nl-pt80.49 (0.003954)80.49 (0.003954)nl-ru134.16 (0.002373)134.16 (0.002373)pt-ru37.94 (0.008386)84.85 (0.003751)As can be seen from Table2, CoEA’s results are much better than CEA- and HCEA-based ontology matching techniques. CoEA makes use of two different evolving strategies, which is of help to ensures its robustness. From Table 3, we can see that CoEA outperforms other two cross-lingual ontology matching techniques on 5% significant level.


## 5.1. Experimental Configuration

In the experiment, Ontology Alignment Evaluation Initiative (OAEI)’s Multifarmtrack2, which includes 45 ontology pairs in different languages, is used to test CoEA’s performance, and Table 1 gives a brief descriptions on the testing cases.Table 1
Descriptions on the ontologies in the testing cases.
Testing caseDescriptionar-cnArabic (ar) vs. Chinese (cn)ar-czArabic (ar) vs. Chinese (cn)ar-deArabic (ar) vs. German (de)ar-enArabic (ar) vs. Englishar-esArabic (ar) vs. Spanish (es)ar-frArabic (ar) vs. French (fr)ar-nlArabic (ar) vs. Dutch (nl)ar-ptArabic (ar) vs. Dutch (nl)ar-ruArabic (ar) vs. Russian (ru)cn-nlChinese (cn) vs. Dutch (nl)cn-deChinese (cn) vs. German (de)cn-ruChinese (cn) vs. Russian (ru)cn-frChinese (cn) vs. French (fr)cn-czChinese (cn) vs. Czech (cz)cn-ptChinese (cn) vs. Portuguese (pt)cn-esChinese (cn) vs. Spanish (es)cn-enChinese (cn) vs. English (en)cz-deCzech (cz) vs. German (de)cz-enCzech (cz) vs. English (en)cz-esCzech (cz) vs. Spanish (sp)cz-frCzech (cz) vs. French (fr)cz-nlCzech (cz) vs. Dutch (nl)cz-ptCzech (cz) vs. Portuguese (pt)cz-ruCzech (cz) vs. Russian (ru)de-ruGerman (de) vs. Russian (ru)de-esGerman (de) vs. Spanish (es)de-ptGerman (de) vs. Portuguese (pt)de-nlGerman (de) vs. Dutch (nl)de-frGerman (de) vs. French (fr)de-enGerman (de) vs. English (en)en-esEnglish (en) vs. Spanish (es)en-frEnglish (en) vs. French (fr)en-nlEnglish (en) vs. Dutch (nl)en-ptEnglish (en) vs. Portuguese (pt)en-ruEnglish (en) vs. Russian (ru)es-ruSpanish (es) vs. Russian (ru)es-ptSpanish (es) vs. Portuguese (pt)es-nlSpanish (es) vs. Dutch (nl)es-frSpanish (es) vs. French (fr)fr-nlFrench (fr) vs. Dutch (nl)fr-ptFrench (fr) vs. Portuguese (pt)fr-ruFrench (fr) vs. Russian (ru)nl-ptDutch (nl) vs. Portuguese (pt)nl-ruDutch (nl) vs. Russian (ru)pt-ruPortuguese (pt) vs. Russian (ru)


## 5.2. Experimental Results

In the experiment, we compare CoEA with EA- and DE-based cross-lingual ontology matching techniques, whose results demonstrated in the tables are the mean values of 30 independent runs. In particular, Table2 compares CoEA with CEA and CDE in terms of f-measure, and Table 3 carries out T-test [22] among three cross-lingual ontology matching techniques.Table 2
Comparisons on the alignment’s quality in terms of f-measure. The symbolsf and std, respectively, stand for mean f-measure and standard deviation.
Testing caseCEAf (std)HCEAf (std)CoEAf (std)ar-cn0.28 (0.02)0.28 (0.02)0.35 (0.01)ar-cz0.37 (0.02)0.37 (0.02)0.41 (0.01)ar-de0.35 (0.01)0.35 (0.01)0.43 (0.02)ar-en0.36 (0.02)0.36 (0.01)0.45 (0.01)ar-es0.40 (0.02)0.40 (0.03)0.48 (0.01)ar-fr0.36 (0.02)0.36 (0.01)0.42 (0.02)ar-nl0.35 (0.02)0.35 (0.02)0.44 (0.01)ar-pt0.38 (0.03)0.38 (0.01)0.44 (0.01)ar-ru0.33 (0.03)0.33 (0.01)0.35 (0.02)cn-cz0.31 (0.02)0.31 (0.02)0.35 (0.01)cn-de0.36 (0.02)0.33 (0.02)0.41 (0.01)cn-en0.30 (0.02)0.30 (0.01)0.35 (0.02)cn-es0.37 (0.01)0.37 (0.01)0.42 (0.01)cn-fr0.35 (0.03)0.35 (0.01)0.42 (0.01)cn-nl0.41 (0.01)0.41 (0.03)0.49 (0.02)cn-pt0.36 (0.01)0.36 (0.01)0.46 (0.01)cn-ru0.27 (0.02)0.27 (0.03)0.39 (0.01)cz-de0.42 (0.02)0.42 (0.01)0.45 (0.02)cz-en0.44 (0.01)0.44 (0.03)0.51 (0.01)cz-es0.42 (0.03)0.42 (0.01)0.48 (0.01)cz-fr0.40 (0.01)0.45 (0.01)0.47 (0.01)cz-nl0.45 (0.03)0.42 (0.01)0.49 (0.02)cz-pt0.52 (0.02)0.44 (0.02)0.51 (0.01)cz-ru0.44 (0.01)0.42 (0.01)0.48 (0.01)de-en0.42 (0.01)0.46 (0.01)0.53 (0.01)de-es0.46 (0.02)0.46 (0.01)0.55 (0.01)de-fr0.46 (0.01)0.43 (0.03)0.50 (0.02)de-nl0.43 (0.01)0.41 (0.01)0.46 (0.01)de-pt0.45 (0.03)0.42 (0.01)0.53 (0.01)de-ru0.42 (0.01)0.44 (0.02)0.53 (0.02)en-es0.44 (0.02)0.42 (0.01)0.49 (0.02)en-fr0.42 (0.01)0.42 (0.01)0.53 (0.01)en-nl0.42 (0.01)0.45 (0.01)0.50 (0.01)en-pt0.45 (0.01)0.41 (0.01)0.51 (0.01)en-ru0.45 (0.03)0.52 (0.02)0.55(0.01)es-fr0.45 (0.02)0.48 (0.01)0.55 (0.02)es-nl0.48 (0.02)0.52 (0.02)0.55 (0.01)es-pt0.52 (0.01)0.52 (0.01)0.58 (0.01)es-ru0.50 (0.03)0.50 (0.01)0.63 (0.01)fr-nl0.46 (0.01)0.46 (0.03)0.52 (0.02)fr-pt0.49 (0.01)0.49 (0.01)0.58 (0.01)fr-ru0.45 (0.01)0.45 (0.01)0.55 (0.03)nl-pt0.52 (0.02)0.52 (0.02)0.58 (0.01)nl-ru0.48 (0.01)0.48 (0.01)0.58 (0.02)pt-ru0.47 (0.03)0.47 (0.01)0.51 (0.01)average0.41 (0.02)0.41 (0.01)0.48 (0.01)Table 3
T-Test on the alignment’s quality.
Testing caseCEAHCEAt-value (p value)t-value (p value)ar-cn93.91 (0.003389)93.91 (0.003389)ar-cz53.66 (0.005931)53.66 (0.005931)ar-de107.33 (0.002966)107.33 (0.002966)ar-en120.74 (0.002636)190.91 (0.001667)ar-es107.33 (0.002966)75.89 (0.004194)ar-fr63.63 (0.005001)80.49 (0.003954)ar-nl120.74 (0.002636)120.74 (0.002636)ar-pt56.92 (0.005592)127.27 (0.002501)ar-ru16.64 (0.019105)26.83 (0.011858)cn-cz53.66 (0.005931)53.66 (0.005931)cn-de67.08 (0.004745)107.33 (0.002966)cn-en53.03 (0.006001)67.08 (0.004745)cn-es106.06 (0.003001)106.06 (0.003001)cn-fr66.40 (0.004793)148.49 (0.002144)cn-nl107.33 (0.002966)66.56 (0.004782)cn-pt212.13 (0.001501)212.13 (0.001501)cn-ru160.99 (0.001977)113.84 (0.002796)cz-de31.81 (0.01)40.24 (0.007907)cz-en148.49(0.002144)66.40 (0.004793)cz-es56.92 (0.005592)127.27 (0.002501)cz-fr148.49 (0.002144)42.42 (0.007501)cz-nl33.28 (0.009561)93.91 (0.003389)cz-pt80.49(0.003954)93.91 (0.003389)cz-ru84.85 (0.003751)127.27 (0.002501)de-en233.34 (0.001364)148.49 (0.002144)de-es120.74 (0.002636)190.91 (0.001667)de-fr53.66(0.005931)58.24 (0.005465)de-nl63.63 (0.005001)106.06 (0.003001)de-pt75.89 (0.004194)233.34 (0.001364)de-ru147.58 (0.002157)95.45 (0.003334)en-es53.03 (0.006001)93.91 (0.003389)en-fr233.34 (0.001364)233.34 (0.001364)en-nl169.70 (0.001876)106.06 (0.003001)en-pt127.27 (0.002501)212.13 (0.001501)en-ru94.86 (0.003355)40.24 (0.007907)es-fr31.81 (0.01)93.91 (0.003389)es-nl93.91 (0.003389)40.24 (0.007907)es-pt127.27 (0.002501)127.27 (0.002501)es-ru123.32 (0.002581)275.77 (0.001154)fr-nl80.49 (0.003954)49.92 (0.006375)fr-pt190.91 (0.001667)190.91 (0.001667)fr-ru94.86 (0.003355)94.86 (0.003355)nl-pt80.49 (0.003954)80.49 (0.003954)nl-ru134.16 (0.002373)134.16 (0.002373)pt-ru37.94 (0.008386)84.85 (0.003751)As can be seen from Table2, CoEA’s results are much better than CEA- and HCEA-based ontology matching techniques. CoEA makes use of two different evolving strategies, which is of help to ensures its robustness. From Table 3, we can see that CoEA outperforms other two cross-lingual ontology matching techniques on 5% significant level.


## 6. Conclusion

To aggregate the ontologies in different languages, this work proposes a CoEA-based cross-lingual ontology matching technique. We first propose a parallel framework of aggregating different SMs and then construct a continuous optimization model to define the problem of cross-lingual ontology integration. To solve this problem, for better trading off the algorithm’s exploitation and exploration, we propose a CoEA with two competitive subpopulations. The experiment utilizes OAEI’s multifarm track for testing, and the experimental results show that CoEA is able to effectively match cross-lingual ontologies.In the future, we are interested in further improving the solution’s quality by introducing the specific domain knowledge base to distinguish the heterogeneous entity pairs. Moreover, when the scale of ontology becomes large, the searching space of algorithm will definitely grows, which is a challenge for CoEA’s efficiency. A feasible approach to face this challenge would be the semantic pruning technique or the ontology partitioning techniques [23], which can be used to improve the efficiency of CoEA when solving large-scale cross-lingual ontologies. [24].



---

*Source: 8587896-2022-04-05.xml*