<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Towards A Question Answering System over Temporal Knowledge Graph Embeddings</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kristian Otte</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kristian Simoni Vestermark</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Huan Li</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniele Dell'Aglio</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, Aalborg University</institution>
          ,
          <addr-line>Aalborg</addr-line>
          ,
          <country country="DK">Denmark</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Question Answering (QA) over knowledge graphs is a vital topic within information retrieval. Questions with temporal intent are a special case of questions for QA systems that have received only limited attention so far. In this paper, we study using temporal knowledge graph embeddings (TKGEs) for temporal QA. Firstly, we propose a microservice-based architecture for building temporal QA systems on pre-trained TKGE models. Secondly, we present a Bayesian model average (BMA) ensemble method, where results of several link prediction tasks on separated TKGE models are combined to find better answers. Within the system built using the microservice-based architecture, the experiments on two benchmark datasets show that BMA provides better results than the individual models.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        knowledge graph embedding (TKGE) methods [
        <xref ref-type="bibr" rid="ref12 ref13 ref14 ref15 ref16 ref17 ref18">12, 13, 14, 15, 16, 17, 18</xref>
        ]. To overcome such a
limitation, we present Verðandi a QA system built on top of pre-trained TKGEs. In Verðandi,
each pre-trained model is exposed through a microservice and invoked by other services to
solve temporal link prediction and temporal question answering tasks.
      </p>
      <p>Verðandi can support the research on TKGE by providing an environment where to compare
and contrast existing methods, as well as design and test new techniques. Based on Verðandi, we
start investigating whether diferent TKGE models capture diferent information from the original
TKGs. To do that, we design an ensemble-based module that aggregates the outcomes from
each model. In our experiments using two temporal QA benchmark datasets, we find that the
ensemble module can produce better results than the individual TKGE models, suggesting that
our hypothesis may hold.</p>
      <p>To summarise, the main contributions of this paper are as follows:
• An open-source1 microservice-based framework that enables an extensible QA-KG.
• An ensemble method that combines the link prediction results from multiple TKGEs,
where the combination yields better results than using an individual TKGE model.</p>
      <p>Sections 2 and 3 present the background and the related work, respectively. Section 4
introduces the architecture of Verðandi, and Section 4.3 describes how Verðandi uses ensemble
learning to achieve better results than the individual models. Section 5 presents our experimental
study on ensemble learning for QA-KG. Section 6 discusses the results and the limitations, and
identifies future actions of our research. Section 7 concludes the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Background and Notation</title>
      <p>
        A knowledge graph is a directed graph with labeled vertices that represent entities, and edges
that denote the relations between entities. Examples of KGs include Wikidata [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], Freebase
[
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], DBpedia [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], YAGO [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], and ICEWS [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. The entities and relations form the
entityrelation-entity triples called facts, written as (ℎ, , ), where ℎ is the head entity,  is the
relation, and  is the tail entity. An example fact is (Obama, isPresidentOf, USA). Temporal
knowledge graphs extend KGs by adding temporal annotations to form
entity-relation-entitytime quadruples, called temporal facts. We indicate a temporal fact as (ℎ, , ,  ), where 
is the time. The time can be either an interval [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] or a discrete timestamp [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. A temporal
fact with an interval, e.g., (Obama, presidentOf, USA, [2009,2017]), can be converted into
two temporal facts with discrete timestamps indicating the beginning and the ending of the
event, e.g., (Obama, becomePresidentOf, USA, 2009) and (Obama, endPresidentOf, USA,
2017). This study focuses on temporal facts with discrete timestamps.
      </p>
      <p>A temporal question is a question where a time context is part of the question or the answer.
An example of where time is part of the question is (Q1) “Who became president of the USA in
2009?”, and an example of where time is the answer is (Q2) “When did Barack Obama become
president of the USA?”. Depending on the type of question, an answer to a temporal question is
an entity, relation, or time information. This answer is the result of using a TKGE model with
the known information from the temporal question. Examples of answers are Obama for Q1
and 2009 for Q2 mentioned above.</p>
      <sec id="sec-2-1">
        <title>1https://gitlab.com/tkge, MIT licence</title>
        <p>Link prediction is the task of predicting a valid fact in a KG. It is usually defined as the
problem of finding a tail given a head and a relation (denoted (ℎ, , ?)), or a head given a
relation and a head (denoted (?, , )). Link prediction is one of the most popular tasks for KGE.
Using link prediction, one can solve QA tasks, as link prediction can be used to determine the
likelihood of an answer to be true. Thus, when a question is issued, link prediction can be used
to generate likely responses.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Related Work</title>
      <p>
        KGEs have been extensively investigated in the last decade [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Recently, research has begun on
integrating temporal dimensions into KGE, mainly extending non-temporal KGE techniques
[
        <xref ref-type="bibr" rid="ref12 ref13 ref14 ref15 ref16 ref17 ref18">12, 13, 14, 15, 16, 17, 18</xref>
        ]. ChronoR [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] is inspired by rotational KGE methods, such as RotatE
[
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. It uses the linear transformations of rotation and scaling, parameterized by time and
relation, to obtain the embedding of a tail entity from a head entity. The Diachronic Enitity
Embedding methods [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] include DE-SimplE, DE-DistMult, and DE-TransE, as time-aware
versions of SimplE [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], DistMult [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], and TransE [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. All these methods embed time with
entities, inspired by diachronic word embeddings [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. TimePlex [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] is based on ComplEx [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ],
and embeds entities, relations, and time as vectors in the complex space.
      </p>
      <p>
        QA is a popular KGE task [
        <xref ref-type="bibr" rid="ref10 ref8 ref9">8, 9, 10</xref>
        ], where embeddings of an entity and relation are extracted
from a question and are used in a link prediction task to find the answers. UPSQA [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] finds
the top- candidate entities in the question using a bi-LSTM. Then, given the question and a
candidate entity, it finds the relation using another bi-LSTM. BuboQA [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] first solves an entity
detection task using a bi-LSTM as UPSQA. Next, it uses a fuzzy matching mechanism to identify
a candidate entity from the KG. The relation is then found using a bi-GRU over all the relations
that are used within the candidate entity. BERTQA [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] uses BERT to detect entities and classify
relations. Entities in the KG are then linked using fuzzy matching and candidate facts are formed
by combining each relation found with the entity that has the highest probability.
      </p>
      <p>
        QA on TKGs has recently emerged with systems such as TEQUILA [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and EXAQT [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
TEQUILA is an enabler method for temporal QA, which can run on top of any static QA-KG
system. It detects if a question has temporal intent: if yes, it decomposes the question into a
non-temporal sub-question and a temporal constraint. While the underlying QA-KG system
is handling the non-temporal sub-question, the temporal constraint is solved using constraint
reasoning on temporal intervals. EXAQT answers complex temporal questions with multiple
entities, relations, and associated temporal conditions using TKG in two steps. First,
questionrelevant compact sub-graphs are computed within the KG and are enhanced with temporal facts
using Group Steiner Trees and BERT models. Second, it creates relational graph convolutional
networks enhanced with time-aware entity embeddings and attention of temporal relations.
When designing Verðandi, we got inspired by TEQUILA on using TKGs and in the idea of being
an enabler system where the data component can be changed. Similarly to EXAQT we rely on
TKG for designing the QA mechanism. However, diferently from it, we rely on pre-trained
state-of-the-art TKGEs models instead of computing ad-hoc embeddings based on the QA task.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Verðandi</title>
      <p>When we designed Verðandi, we decided to rely on a microservice-based architecture as it
brings modularity and helps us in conceptualising the interfaces in a TKGE-agnostic fashion.
Furthermore, microservices bring an inherent level of scalability, setting the foundations for
future studies on large-scale QA systems.</p>
      <sec id="sec-4-1">
        <title>4.1. The Verðandi Modules</title>
        <p>We defined three diferent types of modules based on the functionalities and the individual
responsibilities. These are: (i) the user interface module, (ii) the natural Language module, and
(iii) the TKGE module.</p>
        <p>The purpose of the User Interface Module is to allow a user to interface with the system in
a user-friendly manner. The module itself does not have an API, but it invokes the API of the
Natural Language Module.</p>
        <p>The Natural Language Module translates natural language questions into TKG link
prediction queries that can be handled by TKGE models. Extending the link prediction queries for
KGE, these queries consist in finding missing head, tail or time annotation from a temporal fact,
e.g., (ℎ, , ?,  ). After the translation, the module submits the link prediction query to a TKGE
module, receiving a list of answers as a result. The Natural Language Module then converts
such responses into natural language responses and returns them to the invoker module. Thus,
the API of the module receives a string-type natural language question as an input and returns
a string-type natural language response as the output.</p>
        <p>The TKGE Module is responsible for evaluating link prediction queries. The API exposes an
endpoint that gets as input the link prediction query, where the answer is a list of temporal facts
annotated with confidence scores. We intentionally designed a simple API to achieve flexibility
and let developers implement any query evaluation mechanism. For example, although our goal
is to answer queries using TKGE models, one may implement a TKGE module that answers the
query as a triple pattern SPARQL query.</p>
        <p>Two possible systems built on these modules are shown in Figure 1. Figure 1a shows a system
where there is one TKGE model exposed through a TKGE module. Figure 1b shows a system
employing a TKGE module enabling model ensemble: each module in the bottom embeds a
diferent TKGE model and receives the same TKGE query, producing a ranked list of results an
an answer. The ensemble module receives the answers and combines them to produce a unified
ranked list of results, which is then communicated to the natural language module.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Verðandi Implementation</title>
        <p>Microservice technologies We considered two technologies for developing the API, namely
REST (REpresentational State Transfer) and Remote Procedure Call (RPC). RPC is an
interprocess communication method that allows a program to call a procedure of another program
as if it were part of its own code. This allows for programmers to easily integrate the use of
these procedures into their code without thinking about how the communication between these
(a) Configuration with a single TKGE module.</p>
        <p>(b) Configuration with the ensemble module
orchestrating  TKGE modules.
works. gRPC2 is a modern, open source, and eficient RPC framework. It uses a service definition
language called Protocol Bufer, which allows developers to define services, endpoints, and
messages in a language agnostic manner. Automatic tools are then provided, which enable
the generation of language-specific code that implements the client and server part of services
defined in Protocol Bufer in various programming languages, such as Go, C++, Java, and Python.
Since we do not need the low-level access provided by REST APIs, and because our APIs do not
need to be public facing, we choose to use RPC, and specifically gRPC.</p>
        <p>Current implementation The current implementation of the User Interface Module
consists of a command line interface, which allows submitting questions expressed in natural
language. Additionally, the request can contain the number of answers to be retrieved. As QA
based on KGEs usually find answers ordered according to some confidence score, the correct
answer may not be first. As such, it can be relevant to retrieve multiple answers, optionally
annotated with the relative confidence score. In future iterations, we plan to implement a more
user-friendly interface, such as a web-based one.</p>
        <p>In our current implementation of the Natural Language Model, we adopted a
templatebased approach to convert questions into TKGE queries. For example, one of the patterns
that the module recognises is: “Who did relation tail on time?". When the user inputs a query
like: “Who became president of USA on November 2019?", the module generates a query (?,
becamePresident, USA, 11.2019). In our future work, we aim to implement more sophisticated
state-of-the-art NLP algorithms to ease the conversion of the questions into queries.</p>
        <p>
          Currently, Verðandi includes four TKGE Modules. Three are implementations of TKGE
techniques from [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], namely DE-SimplE, DE-DistMult, and DE-TransE. We picked such methods
as the authors provide high-quality open source code, which is ideal for showcasing how to
create a module for existing libraries. In our future plans, we aim to develop new TKGE modules.
We are in the process of adding TimePlex [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] as, similarly to [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], provides open source code.
        </p>
        <p>The fourth TKGE module we have implemented so far is the Ensemble Module. This module</p>
        <sec id="sec-4-2-1">
          <title>2Cf. https://grpc.io/ (last accessed: July 2022)</title>
          <p>allows the system to orchestrate two or more TKGE modules, combining the results from each
of these into a single response. The idea behind the Ensemble Module will be further described
in the next section.</p>
        </sec>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Ensemble of the TKGE Models</title>
        <p>
          We have used Verðandi to set the basis on studying existing TKGE methods. In particular, we
asked ourselves whether diferent TKGE methods are capturing the same information from the
TKG, and if not, whether a combination of them may lead to better QA answers. We investigate
these ideas by using ensemble learning, which in other contexts has shown to be able to achieve
better predictive performance by combining multiple models [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ]. The goal is to retrieve the
top- scoring results from a temporal link prediction query evaluated on diferent models, and
combine the individual answers to create a unified one.
        </p>
        <p>
          We use Bayesian model averaging (BMA) [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ] for the ensemble, which runs the models
individually and combines the scores each model predicted. This method uses pre-trained
models, which means that multiple existing models that capture diferent features can be used
to improve weaknesses. We employ BMA in two diferent versions: unweighted, which assigns
to each model the same weight, and a weighted, where we learn a set of weights for each model.
        </p>
        <p>The unweighted BMA takes the top- results from each of the models and gives them a
score equal to their ranking within the top- . The score  is defined as  =  − , where 
is the number of returned results and  is the rank returned by the model. For example, if a
model gives a result with the rank of 0 (the model predicts this result is the most likely), among</p>
        <p>Who did Iran express
intent to meet or negotiate</p>
        <p>on 02 Feb, 2014?</p>
        <p>Who did Iran express
intent to meet or negotiate
on 02 Feb, 2014?</p>
        <p>Convert to query
and send to TKGE</p>
        <p>Servers
Convert to query
and send to TKGE</p>
        <p>Servers</p>
        <p>TKGE Server 1</p>
        <p>TKGE Server 2</p>
        <p>TKGE Server 3
1. China 5
2. North Korea 4
3. South Korea 3
4. USA 2
5. Denmark 1
1. North Korea 5
2. South Korea 4
3. China 3
4. USA 2
5. Denmark 1
1. China 5
2. Denmark 4
3. USA 3
4. South Korea 2
5. North Korea 1
TKGE Server 1</p>
        <p>Weight: 0.2</p>
        <p>TKGE Server 2</p>
        <p>Weight: 0.5
1. China 5
2. North Korea 4
3. South Korea 3
4. USA 2
5. Denmark 1
1. North Korea 5
2. South Korea 4
3. China 3
4. USA 2
5. Denmark 1</p>
        <p>TKGE Server 3</p>
        <p>Weight: 0.3
1. China 5
2. Denmark 4
3. USA 3
4. South Korea 2
5. North Korea 1</p>
        <p>Ensemble Result
1. China 13
2. North Korea 11
3. South Korea 9
4. USA 7
5. Denmark 6
Combine and
rearrange</p>
        <p>Ensemble Result
1. North Korea 3.5
2. South Korea 3.0
3. China 2.9
4. USA 2.0
5. Denmark 1.5
Multiply weights,
combine and
rearrange
(a) Process of combining results from TKGE modules, using the unweighted BMA. The scores
given to the rankings are shown in bold.
(b) Weighted BMA combining ranked results from three TKGE modules. The results are
multiplied by a weight before being added and reordered.
10 results ( = 10,  = 0,  = 10 − 0 = 10), then the score of that result will be 10. Then
if another model gives it a rank of 1, then the combined score for this result, based on these
two models, will be 19. Figure 2a shows the process of combining results from multiple TKGE
servers using the unweighted method.</p>
        <p>The weighted BMA, shown in Figure 2b, works similarly to the unweighted BMA, but it
multiplies weights to the scores before comgining them. In this way, diferent models have
diferent impacts on the final score.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Evaluation</title>
      <p>
        Data One of the most used KGs used in literature for testing link prediction in TKGE models
is Integrated Crisis Early Warning System (ICEWS). Researchers, in particular, created two
datasets named ICEWS14 and ICEWS05-15 [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], which feature facts from the ICEWS dataset
from the year 2014 and the years 2005-2015, respectively. These datasets are event-based,
meaning that every fact is annotated with a discrete timestamp.
      </p>
      <p>For testing Verðandi, however, we need questions and answers. Therefore, we generate
questions from the ICEWS datasets by fitting ICEWS temporal facts into question templates.
For example, from the temporal fact (SouthKorea, criticize, NorthKorea, 2014-05-13), we
generate questions like “Who did South Korea criticize on 13 May 2014?”. For each fact in the
datasets, four questions are generated, one for each temporal fact element missing, i.e., head,
relation, tail, time. Table 1 shows a summary of the datasets.</p>
      <p>In our experiments, however, we use only the questions with missing subject or object because
the methods we implemented at the moment do not support queries where these two elements
are missing.</p>
      <p>
        Methods As explained in Section 4.2, in our experiments we consider three Diachronic Entity
Embeddingvariants: DE-SimplE, DE-DistMult, and DE-TransE. We also use unweighted and
weighted BMA as described in Section 4.3. For weighted BMA, there is an extra learning step
where the weights are learned. We search the weights using Bayesian optimization [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ].
Metrics All systems return a ranked list of the answers from link prediction. The answers
consist of the facts and a score for each fact. With the list of answers, we calculate: (i) MRR, i.e.,
the mean of the reciprocal of the rank of the correct answer, (ii) Hits@1, i.e., the percentage of
facts, where the answer with the highest score is the correct answer, and (iii) Hits@10, i.e., the
percentage of facts where the correct answer is within the 10 highest scored answers. For all
the metrics, the higher the score, the better. When running experiments, only the facts in the
test set are loaded. This means our results are unfiltered and thus may appear worse than the
ifltered results reported e.g. in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        Baselines vs Ensemble We compare the baselines to the ensemble method using an
unweighted scorer (see Section 4.3), and report the results in Table 2. The results show that having
all the models together perform better than the best individual model on the ICEWS14 dataset,
even though DE-DistMult and DE-TransE are underperforming compared to DE-SimplE. The
results are slightly worse on the ICEWS05-15 dataset when using an unweighted ensemble
compared to the best individual model. It should also be noted that all Diachronic Entity Embedding
models perform better on ICEWS14 in both Hits@1 and MRR compared to ICEWS05-15.
Weighted Ensemble As the DE-TransE model is significantly worse at Hits@1 and MRR
compared to DE-SimplE and DE-DistMult, we hypothesize that DE-TransE introduces some
noise to the ensemble. To test this hypothesis, we do a weighted ensemble to see if eliminating
some potential noise yields better results. We search the optimal weights for the ensemble using
Bayesian optimization using Gaussian Process [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]. To get a better approximation, we first
run some evaluations, where one of the weights is changed at a time to see what impact the
individual models have. This allows for narrower bounds during the Bayesian optimization and
should yield a better result. The Bayesian optimization ran 25 iterations, and the found weights
in the case of ICEWS14 were 0.48 for DE-SimplE, 0.4 for DE-DistMult, and 0.12 for DE-TransE.
In the case of ICEWS05-15, the weights were 0.66 or DE-SimplE, 0.33 for DE-DistMult, and 0.01
for DE-TransE. Results for the weighted ensemble is shown as Ensemble (weighted) in Table 2.
The results disclose that on the ICEWS14 dataset, using a weighted ensemble further improves
the accuracy and has a significant improvement over DE-SimplE, and a slight improvement
on the ICEWS05-15 dataset compared to DE-SimplE. The results also show that even though
DE-TransE mostly introduces some noise to the ensemble, using it with a lower weight is still
better than not using the model. We hypothesize that this is because the models are able to
capture diferent aspects of the TKG, so even if DE-TransE performs bad on its own, it might be
able to capture aspects that the other models do not, and thus a combination of them, provides
even better results.
      </p>
    </sec>
    <sec id="sec-6">
      <title>6. Discussion</title>
      <p>We will now discuss the results both from an architectural viewpoint and an experimental one,
as well as provide opportunities for future work.</p>
      <p>Framework We chose to implement Verðandi using a microservice-based architecture, as we
wanted to have a loosely coupled and modular framework, where components can be substituted
for other similar components. This architecture allowed us to easily extend the system to use
an ensemble module, encompassing multiple TKGE modules, placing this between the Natural
Language module, and the existing TKGE module(s). Furthermore, microservices are inherently
scalable when data is independent, as is the case with the individual questions passed through
the system. This means that a load balancer can be placed between the caller and the called
module, which can then send individual QA requests to the microservice with the least load.
Optimization of Ensembles The results in Table 2 show that the models using BMA gives
better results than individual models being used. On ICEWS14, even an unweighted ensemble
obtained better results than DE-SimplE, which has the best accuracy of the three models. The
weights found using Bayesian optimization further increased the accuracy of the ensemble. As
the weights were approximated using Bayesian optimization, the weights are most likely not
the optimal weights. Running an exhaustive grid search would further improve the result at
the cost of a more expensive parameter search. It is possible that diferent TKGE models may
perform better than others in answering specific questions. We plan, therefore, to investigate
the relation between the TKGE models and the question types, with the goal of dynamically
varying the weights in the ensemble based on the input question. Furthermore, it is also very
likely that using several diferent TKGE models, such as TimePlex and ChronoR, together with
the Diachronic Entity Embedding models, would provide even better results than only using the
Diachronic models, as they would likely capture temporal information from diferent angles.
Hybrid QA Process When using a KGE model for a QA-KG system, it is possible to answer
questions by performing link prediction on known and unknown relations. One could imagine
a QA-KG system that combines a SPARQL query engine with a link prediction task to achieve
better results, following the intuition that known facts should be weighted more. We leave
building such a system for future investigations.</p>
    </sec>
    <sec id="sec-7">
      <title>7. Conclusion</title>
      <p>We proposed Verðandi, a microservice-based framework for QA-KG. We built the framework
to be modular, as we were able to use it with many diferent TKGE models; extensible, as we
built an ensemble module on top of it. In future works, we plan to study the scalability of
the Verðandi, to test to which extent the microservice architecture can manage high question
workloads.</p>
      <p>
        We also proposed to use an ensemble method for combining multiple TKGE models for better
results. We chose to use BMA, as it uses pre-trained models and allows us to use diferent
TKGE models. Our experiments suggest that using ensemble methods can provide better results
than considering individual models. We consider this result as a first promising step towards
investigating whether diferent models might capture diferent aspects of the KG. We will
continue to investigate this direction, also by exploiting alignment techniques to align the
entitites of the TKGs [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ]. Finally, we plan to study if we can improve the performance of
Verðandi by assigning diferent weights to diferent groups of questions.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Leblay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. W.</given-names>
            <surname>Chekol</surname>
          </string-name>
          ,
          <article-title>Deriving Validity Time in Knowledge Graph</article-title>
          , in: WWW (Companion Volume),
          <year>2018</year>
          , pp.
          <fpage>1771</fpage>
          -
          <lpage>1776</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Lehmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Isele</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Jakob</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Jentzsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kontokostas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. N.</given-names>
            <surname>Mendes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hellmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Morsey</surname>
          </string-name>
          , P. v. Kleef,
          <string-name>
            <given-names>S.</given-names>
            <surname>Auer</surname>
          </string-name>
          , C. Bizer, DBpedia
          <article-title>- A Large-scale, Multilingual Knowledge Base Extracted from Wikipedia, Semantic Web 6 (</article-title>
          <year>2015</year>
          )
          <fpage>167</fpage>
          -
          <lpage>195</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>F. M.</given-names>
            <surname>Suchanek</surname>
          </string-name>
          , G. Kasneci,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Weikum, YAGO: A Core of Semantic Knowledge</article-title>
          , in: WWW,
          <year>2007</year>
          , pp.
          <fpage>697</fpage>
          -
          <lpage>706</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Mao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Guo</surname>
          </string-name>
          ,
          <article-title>Knowledge Graph Embedding: A Survey of Approaches and Applications</article-title>
          ,
          <source>IEEE Trans. Knowl. Data Eng</source>
          .
          <volume>29</volume>
          (
          <year>2017</year>
          )
          <fpage>2724</fpage>
          -
          <lpage>2743</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C.</given-names>
            <surname>Unger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Bühmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lehmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.-C. N.</given-names>
            <surname>Ngomo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gerber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Cimiano</surname>
          </string-name>
          ,
          <article-title>Template-based Question Answering over RDF Data</article-title>
          , in: WWW,
          <year>2012</year>
          , pp.
          <fpage>639</fpage>
          -
          <lpage>648</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Jia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Abujabal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. S.</given-names>
            <surname>Roy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Strötgen</surname>
          </string-name>
          , G. Weikum, TEQUILA:
          <article-title>Temporal Question Answering over Knowledge Bases</article-title>
          , in: CIKM,
          <year>2018</year>
          , pp.
          <fpage>1807</fpage>
          -
          <lpage>1810</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>X.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>Knowledge Graph Embedding Based Question Answering</article-title>
          , in: WSDM,
          <year>2019</year>
          , pp.
          <fpage>105</fpage>
          -
          <lpage>113</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Petrochuk</surname>
          </string-name>
          , L. Zettlemoyer, SimpleQuestions Nearly Solved:
          <article-title>A New Upperbound and Baseline Approach</article-title>
          , in: EMNLP,
          <year>2018</year>
          , pp.
          <fpage>554</fpage>
          -
          <lpage>558</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Mohammed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Shi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <article-title>Strong Baselines for Simple Question Answering over Knowledge Graphs with and without Neural Networks</article-title>
          ,
          <source>in: NAACL-HLT (2)</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>291</fpage>
          -
          <lpage>296</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Lukovnikov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fischer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lehmann</surname>
          </string-name>
          ,
          <article-title>Pretrained Transformers for Simple Question Answering over Knowledge Graphs</article-title>
          , in: ISWC, volume
          <volume>11778</volume>
          ,
          <year>2019</year>
          , pp.
          <fpage>470</fpage>
          -
          <lpage>486</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Jia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Pramanik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. S.</given-names>
            <surname>Roy</surname>
          </string-name>
          , G. Weikum,
          <article-title>Complex Temporal Question Answering on Knowledge Graphs</article-title>
          , in: CIKM,
          <year>2021</year>
          , pp.
          <fpage>792</fpage>
          -
          <lpage>802</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>T.</given-names>
            <surname>Jiang</surname>
          </string-name>
          , T. Liu,
          <string-name>
            <given-names>T.</given-names>
            <surname>Ge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Sha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Sui</surname>
          </string-name>
          ,
          <article-title>Encoding Temporal Information for Time-Aware Link Prediction</article-title>
          , in: EMNLP,
          <year>2016</year>
          , pp.
          <fpage>2350</fpage>
          -
          <lpage>2354</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>A.</given-names>
            <surname>García-Durán</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Dumancic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Niepert</surname>
          </string-name>
          ,
          <article-title>Learning Sequence Encoders for Temporal Knowledge Graph Completion</article-title>
          , in: EMNLP,
          <year>2018</year>
          , pp.
          <fpage>4816</fpage>
          -
          <lpage>4821</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S. S.</given-names>
            <surname>Dasgupta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. N.</given-names>
            <surname>Ray</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. P.</given-names>
            <surname>Talukdar</surname>
          </string-name>
          ,
          <article-title>HyTE: Hyperplane-based Temporally aware Knowledge Graph Embedding</article-title>
          , in: EMNLP,
          <year>2018</year>
          , pp.
          <fpage>2001</fpage>
          -
          <lpage>2011</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>R.</given-names>
            <surname>Goel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Kazemi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brubaker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Poupart</surname>
          </string-name>
          ,
          <article-title>Diachronic Embedding for Temporal Knowledge Graph Completion</article-title>
          , in: AAAI, volume
          <volume>34</volume>
          ,
          <year>2020</year>
          , pp.
          <fpage>3988</fpage>
          -
          <lpage>3995</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>P.</given-names>
            <surname>Jain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Rathi</surname>
          </string-name>
          , Mausam,
          <string-name>
            <given-names>S.</given-names>
            <surname>Chakrabarti</surname>
          </string-name>
          ,
          <article-title>Temporal Knowledge Base Completion: New Algorithms and Evaluation Protocols</article-title>
          , in: EMNLP,
          <year>2020</year>
          , pp.
          <fpage>3733</fpage>
          -
          <lpage>3747</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>T.</given-names>
            <surname>Lacroix</surname>
          </string-name>
          , G. Obozinski,
          <string-name>
            <given-names>N.</given-names>
            <surname>Usunier</surname>
          </string-name>
          ,
          <article-title>Tensor Decompositions for Temporal Knowledge Base Completion</article-title>
          , in: ICLR,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>A.</given-names>
            <surname>Sadeghian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Armandpour</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Colas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Z.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <article-title>ChronoR: Rotation Based Temporal Knowledge Graph Embedding</article-title>
          , in: AAAI, volume
          <volume>35</volume>
          ,
          <year>2021</year>
          , pp.
          <fpage>6471</fpage>
          -
          <lpage>6479</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Google</surname>
          </string-name>
          ,
          <source>Freebase Data Dumps</source>
          ,
          <year>2018</year>
          . URL: https://developers.google.com/freebase, (Last Accessed:
          <year>July 2022</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>E.</given-names>
            <surname>Boschee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lautenschlager</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. O</given-names>
            <surname>'Brien</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Shellman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Starz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ward</surname>
          </string-name>
          ,
          <source>ICEWS Coded Event Data</source>
          ,
          <year>2015</year>
          . doi:
          <volume>10</volume>
          .7910/DVN/ 28075, (
          <issue>Last Accessed:</issue>
          <year>July 2022</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Sun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.-H.</given-names>
            <surname>Deng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-Y.</given-names>
            <surname>Nie</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Tang,</surname>
          </string-name>
          <article-title>RotatE: Knowledge Graph Embedding by Relational Rotation in Complex Space</article-title>
          , in: ICLR (Poster),
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Kazemi</surname>
          </string-name>
          , D. Poole,
          <article-title>SimplE Embedding for Link Prediction in Knowledge Graphs</article-title>
          , in: NeurIPS,
          <year>2018</year>
          , pp.
          <fpage>4289</fpage>
          -
          <lpage>4300</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>B.</given-names>
            <surname>Yang</surname>
          </string-name>
          , W.-t. Yih,
          <string-name>
            <given-names>X.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Deng</surname>
          </string-name>
          , Embedding Entities and
          <article-title>Relations for Learning and Inference in Knowledge Bases, in: ICLR (Poster</article-title>
          ),
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>A.</given-names>
            <surname>Bordes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Usunier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>García-Durán</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Weston</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Yakhnenko</surname>
          </string-name>
          ,
          <article-title>Translating Embeddings for Modeling Multi-relational Data</article-title>
          , in: NeurIPS,
          <year>2013</year>
          , pp.
          <fpage>2787</fpage>
          -
          <lpage>2795</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>A.</given-names>
            <surname>Kutuzov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Øvrelid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Szymanski</surname>
          </string-name>
          , E. Velldal,
          <article-title>Diachronic word embeddings and semantic shifts: a survey</article-title>
          , in: COLING, Association for Computational Linguistics,
          <year>2018</year>
          , pp.
          <fpage>1384</fpage>
          -
          <lpage>1397</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>T.</given-names>
            <surname>Trouillon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Welbl</surname>
          </string-name>
          , S. Riedel, É. Gaussier, G. Bouchard,
          <article-title>Complex Embeddings for Simple Link Prediction</article-title>
          , in: ICML,
          <year>2016</year>
          , pp.
          <fpage>2071</fpage>
          -
          <lpage>2080</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>D. W.</given-names>
            <surname>Opitz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Maclin</surname>
          </string-name>
          ,
          <source>Popular Ensemble Methods: An Empirical Study, J. Artif. Intell. Res</source>
          .
          <volume>11</volume>
          (
          <year>1999</year>
          )
          <fpage>169</fpage>
          -
          <lpage>198</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Hoeting</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Madigan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. E.</given-names>
            <surname>Raftery</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. T.</given-names>
            <surname>Volinsky</surname>
          </string-name>
          , Bayesian Model Averaging: A Tutorial,
          <source>Statistical Science</source>
          <volume>14</volume>
          (
          <year>1999</year>
          )
          <fpage>382</fpage>
          -
          <lpage>417</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>J.</given-names>
            <surname>Mockus</surname>
          </string-name>
          , Bayesian Approach to Global Optimization, Springer,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>M.</given-names>
            <surname>Baumgartner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Dell'Aglio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Paulheim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Bernstein</surname>
          </string-name>
          ,
          <article-title>Towards the Web of Embeddings: Integrating multiple knowledge graph embedding spaces with FedCoder</article-title>
          ,
          <source>J. Web Semant</source>
          .
          <volume>75</volume>
          (
          <year>2023</year>
          )
          <fpage>100741</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>