<!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>Leveraging Knowledge Graphs for Goal Model Generation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Shahin Abdoul Soukour</string-name>
          <email>abdoul-shahin.abdoul-soukour@inria.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>William Aboucaya</string-name>
          <email>william.aboucaya@inria.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nikolaos Georgantas</string-name>
          <email>nikolaos.georgantas@inria.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Inria</institution>
          ,
          <addr-line>Paris</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>KAOS is one of the most widely used Goal-Oriented Requirements Engineering (GORE) methods. The goal model is the central element of KAOS, employed to represent the goals of a system in the form of a hierarchy, where higher-level goals are refined into lower-level ones. The process of constructing a KAOS goal model for a new application can present challenges, requiring significant time and efort. Existing approaches have tried to partially automate the construction of goal models, however, this largely remains a complex, manual task. In this paper, we propose leveraging domain knowledge in the form of a Knowledge Graph (KG), which can assist the application designer in creating goals that are inspired from this knowledge. To accomplish this, we leverage semantic similarity measurement and Natural Language Inference (NLI) to efectively extract triples from the KG that are relevant to a high-level goal formulated by the designer. The extracted triples are further processed through sentiment analysis and graph-to-text generation, before presented to the designer. Via step-by-step interaction with our solution, the designer can gradually refine their initial goals into a goal hierarchy. We demonstrate our approach by applying it to the design of a flood management system, based on a handcrafted domain KG.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Goal-Oriented Requirements Engineering (GORE) is a specific approach to requirements
engineering, which focuses on capturing and modeling the goals that stakeholders want to achieve with a
software system. Several goal-oriented modeling methods have been proposed [
        <xref ref-type="bibr" rid="ref1 ref2 ref3 ref4">1, 2, 3, 4</xref>
        ]. One of the
most popular and recognized methods, both in academia and industry, is ”Keep All Objectives Satisfied ”,
more commonly called KAOS [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. It provides a representation of goals in an explicit way (goal model),
where high-level goals (strategic, global) are refined (or decomposed) into lower-level ones (operational,
local, design-specific) to achieve a comprehensive understanding of the system. Ultimately, the leaf
goals of the goal model are elementary goals that should be mapped to operations of specific software
components.
      </p>
      <p>Creating a KAOS goal model for a new application is a complex and challenging process, requiring a
substantial investment of time and efort from the application designer. Complexity comes from both
identifying the goals of the new system and organizing them into a goal model.</p>
      <p>
        In the literature, a few approaches have proposed to generate automatically or semi-automatically a
goal model by extracting goals from a small text corpus. Güneş et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] rely on user stories as text
sources. In this case, requirements are already provided by stakeholders; the focus is on organizing
them in a structured way. Casagrande et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] collect abstracts of research publications related to a
specific system category. They then use these texts to extract goals by looking for sentences containing
goal-related keywords; from these goals a goal taxonomy is created. However, other sentences that
may contain relevant domain-specific information for creating a goal are not taken into account. Both
approaches attempt to build a complete goal model from the reference text sources. The application
designer can intervene only at the end of the process to verify the validity of the model and use or
modify (parts of) it.
      </p>
      <p>
        In contrast to these approaches, our solution in this paper aims at ofering interactive assistance to
the application designer for gradually conceiving and refining their goal model. We provide inspiration
to the designer based on existing domain knowledge. In particular, we propose leveraging domain
knowledge in the form of a Knowledge Graph (KG). Several online open KGs, such as DBpedia [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and
Wikidata [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], have been created based on Semantic Web technologies and the Linked Open Data (LOD)
paradigm. These KGs are very big and typically address the general public; nevertheless, extracting
relevant information from them for a specific domain is worth investigating. On the other hand,
domainspecific KGs are harder to find, particularly those that encompass high-level concepts or goals describing
a system domain (e.g., trafic management in a city, treatment plans in healthcare, etc.). Typically,
information coming from generalist or domain-specific KGs expresses facts. On the other hand, a goal
describes a target system condition that should be achieved (or one that should be avoided) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In our
approach, facts from a KG become or inspire target conditions related to goals. For the purposes of this
paper and to support our use case based validation, we have elaborated a compact domain-specific KG
related to flood warning.
      </p>
      <p>To efectively exploit domain knowledge, we propose an approach for exploring a KG that relies on
several Natural Language Processing (NLP) techniques based on pre-trained language models. Our
graph exploration approach includes:
• Measuring semantic textual similarity between a high-level goal formulated by the application
designer and the triples1 of the KG in order to identify anchor triples inside the KG. Anchor triples
and their neighbor triples denote KG areas that can most probably provide relevant information to
the application designer.
• Employing Natural Language Inference (NLI) to identify a textual entailment relation between
the high-level goal and one or several combined triples. If such entailment holds, these triples can
be used to refine this goal. In particular, we propose to use textual entailment to approximate the
contribution relation between a goal and one of its subgoals in which this goal is refined: satisfaction
of the subgoal contributes to satisfaction of the parent goal.
• Using Sentiment Analysis to identify positive and negative connotations in triples. Triples with
negative connotations describe facts that should be avoided. By stating explicitly this connotation,
we improve entailment detection between such triples and a formulated goal. Additionally, based
on this analysis, triples extracted from the KG are presented to the application designer with the
qualification [ACHIEVE] or [AVOID], which can facilitate the creation of related goals.
• Applying Graph-to-Text (G2T) generation to build grammatically correct, fluid and semantically
coherent text from one or more triples extracted from the KG before presenting them to the application
designer. G2T simplifies the comprehension of the entailed triples and facilitates the inspiration of
new goals.</p>
      <p>Based on these techniques and via step-by-step interaction with our solution, the designer can
gradually refine their initial goals into a goal hierarchy that encompasses all the relevant information
extracted from the KG. Certainly, this information can and should be complemented with information
coming from other sources (inputs from stakeholders, designer’s expertise) to generate a complete
goal model. To validate our approach, we demonstrate its functioning by applying it to the design of a
lfood management system, based on our flood warning use case and domain KG. Besides inspecting
the relevance of the generated goal model, we measure the amount of relevant information that was
successfully extracted from the KG as well as the time-related performance of our solution.</p>
      <p>The rest of the paper is structured as follows: Section 2 presents some background notions related to
NLI and G2T generation. Section 3 introduces our method for building a KAOS goal model. Section 4
1A RDF triple, or a semantic triple, is a representation of data from a knowledge graph composed of a subject and an object
nodes linked by a directed edge from the subject to the object called the predicate.
presents the demonstration of our approach. Section 5 mentions some threats to the validity of the
proposed approach. Section 6 discusses related works. Finally, in Section 7, we conclude and give
directions for future work.</p>
      <p>The code used in the production of this paper is available at https://github.com/ShahinAbdoulSoukour/
KG_for_goal_model_generation.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Background</title>
      <sec id="sec-2-1">
        <title>2.1. Natural Language Inference</title>
        <p>Natural Language Inference (NLI), also referred as Textual Entailment Recognition (TER), is a
task aiming at labelling a pair of natural language texts, the premise and the hypothesis, based on the
three following cases: the hypothesis can be deduced from the premise (entailment); the negation
of the hypothesis can be deduced from the premise (contradiction); neither the hypothesis nor its
negation can be deduced from the premise (neutral).</p>
        <p>
          Multiple approaches have been proposed to tackle NLI tasks, but here we will only focus on the
use of language models trained specifically for this task. This approach is generally performed using
Transformers-based models, such as BERT [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] or RoBERTa [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], since these models can leverage their
advanced language “understanding” for specific tasks including NLI, outperforming other approaches.
Multiple datasets have been proposed for the training and assessment of models on this task, such as
the Stanford NLI (SNLI) [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], Multi-genre NLI (MNLI) [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] or Adversarial NLI (ANLI) [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] corpuses.
In this paper, NLI tasks are performed using a RoBERTa model trained using the SNLI, MNLI,
ANLI and FEVER-NLI [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] corpuses2. Performances of this model on the diferent datasets used for
training are available in [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Graph-to-text generation</title>
        <p>
          Graph-to-Text generation (G2T) is a task aiming at rendering the entities in a graph and their relations
as a natural language text. The objective is generally to make the information stored in a KG readable
for non-specialist users. The most common criterion of evaluation of G2T models is the similarity of
the text generated with a reference description of the graph written by a human, using metrics such
as BLEU [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] or BERTScore [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. However, more specific metrics for G2T tasks have been proposed
to assess the factual faithfulness of the text generated to the initial data, such as Data-QuestEval [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]
or FactSpotter [18]. Currently, most state-of-the-art models for G2T are based on a Transformers
architecture [19, 20]. The pre-training and evaluation of these models is generally performed using
datasets containing pairs composed of a graph and a text summarizing its content, such as DART [21]
or WebNLG [22]. In this paper, G2T tasks are performed using a T5 [23] model trained using the
WebNLG’20 dataset3. Performances of this model on multiple metrics, including the factual faithfulness
of the generated texts in relation to the original data, are available in [18].
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Method</title>
      <p>We elaborate in this section our method for assisting the application designer in building a KAOS goal
model for a new application by relying on knowledge coming from a pre-existing domain KG. The
designer launches the method (which takes the form of an interactive tool) by formulating an initial
goal that characterizes the new application, typically a high-level one. After exploring the KG, the tool
returns one or more pieces of text that analyze or refine the submitted goal. By using directly these
texts or getting inspired from them, the designer can create one or more subgoals for the initial goal.
Our approach comprises the following steps (see Figure 1).</p>
      <sec id="sec-3-1">
        <title>2Model available at https://huggingface.co/ynie/roberta-large-snli_mnli_fever_anli_R1_R2_R3-nli 3Model available at https://huggingface.co/Inria-CEDAR/WebNLG20T5B</title>
        <p>
          1. Formulate a goal. The application designer formulates a goal. Ideally, this goal should be quite
abstract and not composite. A composite goal should be split into more elementary goals. This
allows more eficient exploration of the KG based on entailment. In particular, our experimentation
with the employed NLI model showed that in most cases an entailment is correctly identified when
the hypothesis is an abstraction of the premise.
2. Search for anchor triples in the KG. Based on the goal submitted by the application designer,
relevant triples are sought in the KG. Querying a KG in order to find elements of interest can be
tedious and time consuming. It requires knowledge of the query language (typically SPARQL) and
preferably some understanding of the concepts and structure of the KG. If the latter does not hold,
SPARQL queries return empty results and need to be reformulated. Even when trying keyword
search, a SPARQL query will not return any results, if an exact match is not found. Furthermore,
while the use of a visual representation can facilitate information retrieval for small-scale KGs, this
solution tends to be less efective at a larger scale. To tackle this issue, we use SBERT [ 24] to compute
the semantic textual similarity between each triple of the KG and the expressed goal. Using semantic
textual similarity rather than simpler methods like TF-IDF or BLEU [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] enables our method to
identify texts evoking similar topics without relying on the existence of common words. This means
that our method takes into account the semantic meaning and context, facilitating a more precise
identification of related texts. We only consider the best results, i.e., the triples whose similarity
with the goal is above  ×  , with  ∈ [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ] a confidence parameter 4. These triples are
regarded as anchor triples in the KG. The main advantage of using such a threshold for similarity
is to improve the flexibility of the number of anchor triples selected, as opposed to selecting a fixed
number  of anchor triples with the highest similarity values. For instance, opting for a high number
of anchor triples may be relevant in scenarios where the goals encompass a wide range of entities in
the KG. On the other hand, for more specific goals, it may be more appropriate to associate only a
few anchor triples. This flexibility ensures that the selection of anchor triples aligns with the desired
scope, thus improving the eficiency of the overall process.
3. Identify connotation in anchor triples by applying sentiment analysis. Triples are
distinguished based on their connotation through sentiment analysis5 (a process of tagging data according
4Higher values of  improves the quality of the retrieved triples while reducing their number.
5The model used for the demonstration of our method is available at https://huggingface.co/cardifnlp/
twitter-roberta-base-sentiment-latest. After an exhaustive evaluation of the results produced by this model on
the triples of our example KG, we obtained a F1-score of 1 (perfect annotations on the whole dataset).
to their predicted sentiment: positive, negative or neutral). Triples with a positive connotation
describe facts that we want to achieve, while triples with a negative connotation describe facts that
we want to avoid. When testing entailment between negatively connotated triples and a submitted
goal, we prefix each one with “ Prevent that”. This improves entailment detection.
4. Test entailment between anchor triples and the goal. NLI is employed to evaluate entailment
between each anchor triple as premise and the submitted goal as hypothesis. If entailment holds for
an anchor triple, the fact expressed by the triple can be considered as contributing to the goal. In
other words, this triple can be the basis for formulating a subgoal of the initial goal. The entailing
anchor triples are kept.
5. Add context to non-entailing anchor triples. If entailment does not hold between an anchor
triple and the submitted goal, this may be due to a semantic gap that NLI cannot bridge, even if
the fact expressed by the triple represents a potential contribution to the goal. To avoid missing
these cases, we try to bridge this gap by contextually enriching such triples. We look for potentially
relevant context among the neighbor triples of an anchor triple, i.e., triples that share a concept
(subject or object) with the anchor triple. We extract neighbor triples by using SPARQL, while
excluding neighbor triples that were found entailing in the previous step. An anchor triple and a
neighbor triple are concatenated into a contextualized triple.
6. Test entailment between contextualized triples and the goal. NLI is employed again to evaluate
entailment between a contextualized triple and the submitted goal. Among all the contextualized
triples resulting from an anchor triple, we retain the one with the highest entailment score. If
additionally entailment holds, we keep this triple. If entailment does not hold, we repeat Steps 5
and 6. In this case, we add one more context triple to the already contextualized triple by choosing
among its neighbor set (which is now extended as the contextualized triple comprises two triples).
We apply this process as long as the entailment score increases upon each new context addition. We
stop if we reach an entailment or if the entailment score decreases.
7. Return entailing triples and create subgoals. Both anchor triples and contextualized triples
that were found as entailing are successful outputs of the tool. Before presenting them to the
application designer, graph-to-text generation is employed to transform them into natural language
texts. Additionally, based on the result of the sentiment analysis in Step 3, the generated pieces of text
are annotated with the corresponding semantics. The prefix [ACHIEVE] is added to texts resulting
from anchor triples with a positive or neutral connotation, while the prefix [AVOID] is added to texts
resulting from anchor triples with a negative connotation. Accordingly, the application designer can
create one or more ACHIEVE or AVOID6 subgoals for the initial goal, by relying directly on the texts
returned by the tool or modifying them as they wish.
8. Repeat the process. This interaction can be repeated several times. Each time the designer submits
to the tool a goal, which can be a subgoal created from a previous iteration or a completely new goal.
When developing a specific branch in the goal hierarchy, the tool maintains a history of the triples
that have already been used by the application designer to create goals. Based on this history, a triple
cannot be used as an anchor triple to create subgoals for a goal if it has been used to produce that
goal or one of its parents. This rule aims at avoiding redundancy and facilitating the exploration of
new concepts in the KG. The refinement process concerning a specific branch in the goal hierarchy
ends when the tool returns no new information in response to a designer’s request.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Demonstration of the approach on a use case</title>
      <p>To demonstrate the approach proposed in this paper, we apply it to the creation of a goal model for a
lfood management system. We rely on the implementation of our method as a software tool (coded in
Python in the form of a Jupyter notebook) as well as on a domain KG related to flood warning that</p>
      <sec id="sec-4-1">
        <title>6These are goal types identified in KAOS [1].</title>
        <p>we have created to support our demonstration (see Figure 2). The KG is composed of 49 vertices and
54 edges describing the fundamentals of flood management – the potential causes of floods, how to
detect them, the expected impacts of a flood on people and properties, and how to prevent or mitigate
these impacts. We use a configuration of our tool with a confidence parameter  = 0.85 for semantic
similarity. We observed that the resulting threshold value limits the risk of identifying irrelevant triples
as anchor triples while returning a high enough number of triples. We demonstrate the functioning of
the tool from the point of view of a designer as follows:
a. We produce an initial high-level goal as abstract as possible. In this example, the high-level goal is
“Anticipate the impact of floods on people ”.
b. The goal is given as an input to our tool, which returns a series of natural language texts created
from entailing triples retrieved from the KG.
c. Based on the output of the tool, we propose one or multiple texts to refine our initial goal. For
demonstration purposes, we do not add any information in the goals outside of that returned by our
tool.
d. We repeat Steps b and c for each subgoal produced until the tool stops returning new information or
the information returned does not allow us to refine a goal.</p>
        <p>The resulting goal model is displayed in Figure 3. Our tool highlights a total of 19 triples, i.e., 35.2 %
of the 54 triples contained in our graph. Out of these 19 triples, 14 of them (73.7 %) helped us refine the
goal(s) they were associated with. Moreover, the two main groups of irrelevant triples – inheritance
relationships of “Property damage” and descriptions of elements related to the “Dam” node – were not
highlighted by our tool. We therefore consider that our tool did facilitate the generation of our goal
model. However, certain groups of relevant triples – inheritance relationships of the “Communication
channels” and “General public” entities – were not highlighted by our tool. This leads us to consider that
addition of inference rules for inheritance relationships could help identifying the relevance of such
triples7. Implementation of inference rules in our tool for common predicates (e.g., rdf:type, owl:sameAs)
is part of our future work toward the facilitation of goal model generation using KGs.</p>
        <p>To further characterize these results, we present the outputs produced by our tool in the diferent
steps of our method (as described in Section 3) for the goal “Use flood warning system to predict flood
using weather forecastings”. In Step 2 of our method, we search for anchor triples in the KG. We exclude
the triples “Flood warning system Predicts Flood” and “Flood warning system Analyzes Forecasting” as
they were used to create this goal.</p>
        <p>We identify the following anchor triples:
(i) Flood warning system Generates Alerts ( = 0.68)
(ii) Flood warning system Recommends Evacuation of residents ( = 0.67)
(iii) Sensors Detect Flood ( = 0.64)
(iv) Weather prediction Anticipates Heavy rainfall ( = 0.60)
(v) Weather forecasting system is a type of Weather prediction ( = 0.59)
(vi) Weather forecasting system Generates Forecasting ( = 0.59)
7For example, in the context of this graph, the rule “IF subject predicate parent AND child rdf:type parent THEN subject predicate
child” could help us produce a more complete graph.
Steps 3 and 4 inform us that each of these anchor triples is non-entailing with respect to the goal.
Consequently, we explore their neighbors to identify potentially relevant elements of context. This
graph exploration performed in Steps 5 and 6 does not lead us to identify relevant context for triples (i)
to (v). However, pairing triple (vi) with its neighbor “Flood warning system Predicts Flood” allows us to
produce an entailing contextualized triple. In Step 7, using G2T generation, we transform triple (vi) and
its relevant context into a natural language version: “[ACHIEVE] the flood warning system analyzes and
forecasts weather”. A subgoal can then be generated by the designer (see Figure 4).</p>
        <p>Finally, execution time is a key metric for our interactive tool. For the goal “Anticipate the impact of
lfoods on people ”, our tool outputs the entailing triples in 7.68 seconds on average. Additionally, text
generation from these triples is performed in 2.49 seconds per text on average. These results are based
on 5 executions of our code using an Nvidia 3080 RTX GPU with 32 GB RAM.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Threats to validity</title>
      <p>For validating our approach, we produced our own KG. While we consider that our graph accurately
represents the topic that we tackled as an example – flood prevention and mitigation at the scale of city –,
we should acknowledge that it has been produced in the context of our research and therefore may lack
certain elements which could have been included by specialists of the domain. Our approach leverages
the information stored in a KG and therefore the quality of the texts produced and consequently of the
resulting goal model relies highly on the correctness and completeness of the KG.</p>
      <p>On a diferent note, the complexity of our approach is linear with the number of triples in the graph.
While this is perfectly acceptable for relatively small graphs, it is not possible to use our tool as it is
currently implemented on open KGs such as DBpedia or private KGs containing thousands of triples
without greatly increasing the execution time. Consequently, we need to limit the number of triples
analyzed in our approach for large KGs, for example by using a subgraph containing only the nodes
within a certain distance from an entity representing a key concept for the goal model to create.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Related work</title>
      <p>
        Generating a goal model in an automatic or semi-automatic manner is a challenging task, and various
approaches have addressed this issue. Typically, these approaches apply NLP techniques on diferent
text sources (e.g., user stories [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], abstracts of research publications [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], user reviews [25]).
      </p>
      <p>
        Güneş et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] proposed an approach to automatically generate and visualize a goal model from a
set of user stories. Several heuristics are introduced to elicit goals and to organize them in a goal model.
The produced goal model is typically small given the size of user stories. Since requirements are already
formulated in the user stories, this work focuses on their structuring in the goal model.
      </p>
      <p>
        Casagrande et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] use NLP to extract goals from the abstracts of research publications related to
a specific system category by looking for sentences that contain goal-related keywords. The Stanford
parser8 is used to generate a syntax tree from sentences. Then, a rule-based syntactic pattern is used to
extract a goal from a syntax tree as a triplet. Finally, a goal taxonomy is created by taking into account
the concept of iterative centrality re-ranking (goals are positioned and linked based on the statistics
of their occurrence in the text sources). The generated goal taxonomy represents a preliminary goal
      </p>
      <sec id="sec-6-1">
        <title>8Stanford Parser, a natural language parser tool: https://nlp.stanford.edu/software/lex-parser.shtml</title>
        <p>model. However, other sentences that may contain pertinent domain-specific information for creating
a goal are not taken into account. Certain goals may be missed in the resulting goal model.</p>
        <p>
          Shimada et al. [25] proposed a systematic approach to generate a goal model from user reviews of
an application. The authors use a hierarchical clustering method, which couples the clusters by order
of distance between them and organizes them in a tree structure (reviews clustering). Clusters are
interpreted as goals in the goal model. In the next step, each cluster is labeled with a goal description. In
particular, words in a cluster are weighted and several words that characterize the reviews in the cluster
are selected as a goal description. Similarly to Güneş et al. [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], requirements are already formulated
here in the user reviews.
        </p>
        <p>Nakagawa et al. [26] proposed a method to extract goals from requirements documents and to generate
a goal model in a semi-automatic way. An analyst needs to answer a flow of questions (pre-defined)
based on the requirement documents, which are asked interactively by the tool developed by the authors.
The goal model is constructed based on the answers. The tool decides the location of goals in the goal
model. This structuring of the goal model can be interesting. However, the goals need to be already
provided in requirements documents.</p>
        <p>Watanabe et al. [27] presented an open-source editing tool for automatically generating an initial
KAOS goal model from a requirements description. The automatic construction of a goal model consists
of 3 steps: parsing sentences into words, extraction of important sentences identified based on specific
keywords, and extraction and linking goals based on word-to-word dependencies.</p>
        <p>Research has also aimed at completing an existing goal model. Shibaoka et al. [28] used a domain
ontology as domain knowledge in order to identify missing goals. The approach maps certain elements
of the goal model in-progress onto the domain ontology. After that, the ontology inference mechanism
deduces related ontological concepts that should possibly be added to the goal model. The suggested
concepts are then added to the goal model by the requirement analyst. The goal model is thus enriched
with new subgoals. However, this approach cannot be used for building an entire new goal model.</p>
        <p>Compared to these diferent approaches, we propose an interactive method that assists the application
designer at every stage of producing a goal model. In addition, while most works rely on requirements
documents to build a goal model, our approach efectively exploits knowledge from a domain KG for
suggesting or inspiring goals.</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>7. Conclusion</title>
      <p>This research focuses on the generation of goal models using domain-specific KGs. The creation of
goal models can be facilitated by highlighting relevant elements of knowledge from the KGs to refine
high-level goals. We first propose a method for identifying relevant triples in order to refine a given
high-level goal by leveraging NLI and sentiment analysis. Then, we demonstrate our method on a
particular use case using a KG that describes the fundamentals of flood management. Our demonstration
shows that our tool highlights pertinent elements of knowledge to help designers produce goal models.
However, a more systematic evaluation of the approach is needed. Therefore, we propose to perform an
empirical evaluation comparing the goal models produced using our method as well as other tools.</p>
      <p>Toward the elaboration of a framework for assisted goal model creation using KGs, we propose
several leads for future work. First, the identification of triples referenced in a goal is currently done
by the designer. This work could be automated using factual faithfulness evaluation models such as
FactSpotter [18] to assess the presence of certain triples in the goal’s text. Second, we propose to
implement inference rules in our tool to improve the understanding of semantic relationships in the
graph rather than relying only on the analysis of natural language transcriptions of the triples. Third,
we aim at improving the scalability of our tool with regard to the number of triples in the graph to allow
its use on open KGs in contexts where no domain-specific KG is available. This future work would
need the automated creation of subgraphs from open KGs to identify only relevant information for the
domain of the goal model.
linari, Data-QuestEval: A Reference-less Metric for Data-to-Text Semantic Evaluation, in:
2021 Conference on Empirical Methods in Natural Language Processing (EMNLP),
Association for Computational Linguistics, Punta Cana, Dominican Republic, 2021, pp. 8029–8036. URL:
https://hal.sorbonne-universite.fr/hal-03479905. doi:10.18653/v1/2021.emnlp-main.633.
[18] K. Zhang, O. Balalau, I. Manolescu, FactSpotter: Evaluating the Factual Faithfulness of
Graphto-Text Generation, in: Findings of EMNLP 2023 - Conference on Empirical Methods in Natural
Language Processing, Singapore, Singapore, 2023. URL: https://hal.science/hal-04257838.
[19] P. Ke, H. Ji, Y. Ran, X. Cui, L. Wang, L. Song, X. Zhu, M. Huang, JointGT: Graph-text joint
representation learning for text generation from knowledge graphs, in: Findings of the Association
for Computational Linguistics: ACL-IJCNLP 2021, Association for Computational Linguistics,
Online, 2021, pp. 2526–2538. doi:10.18653/v1/2021.findings-acl.223.
[20] L. F. R. Ribeiro, M. Schmitt, H. Schütze, I. Gurevych, Investigating pretrained language models for
graph-to-text generation, in: Proceedings of the 3rd Workshop on Natural Language Processing
for Conversational AI, Association for Computational Linguistics, Online, 2021, pp. 211–227. URL:
https://aclanthology.org/2021.nlp4convai-1.20. doi:10.18653/v1/2021.nlp4convai-1.20.
[21] L. Nan, D. Radev, R. Zhang, A. Rau, A. Sivaprasad, C. Hsieh, X. Tang, A. Vyas, N. Verma, P. Krishna,
Y. Liu, N. Irwanto, J. Pan, F. Rahman, A. Zaidi, M. Mutuma, Y. Tarabar, A. Gupta, T. Yu, Y. C.
Tan, X. V. Lin, C. Xiong, R. Socher, N. F. Rajani, DART: Open-domain structured data record
to text generation, in: Proceedings of the 2021 Conference of the North American Chapter of
the Association for Computational Linguistics: Human Language Technologies, Association for
Computational Linguistics, 2021, pp. 432–447. doi:10.18653/v1/2021.naacl-main.37.
[22] T. Castro Ferreira, C. Gardent, N. Ilinykh, C. van der Lee, S. Mille, D. Moussallem, A. Shimorina, The
2020 bilingual, bi-directional WebNLG+ shared task: Overview and evaluation results (WebNLG+
2020), in: Proceedings of the 3rd International Workshop on Natural Language Generation from the
Semantic Web (WebNLG+), Association for Computational Linguistics, Dublin, Ireland (Virtual),
2020, pp. 55–76. URL: https://aclanthology.org/2020.webnlg-1.7.
[23] C. Rafel, N. Shazeer, A. Roberts, K. Lee, S. Narang, M. Matena, Y. Zhou, W. Li, P. J. Liu, Exploring
the limits of transfer learning with a unified text-to-text transformer, Journal of Machine Learning
Research 21 (2020) 1–67. URL: http://jmlr.org/papers/v21/20-074.html.
[24] N. Reimers, I. Gurevych, Sentence-bert: Sentence embeddings using siamese bert-networks,
in: Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing,
Association for Computational Linguistics, 2019. URL: https://arxiv.org/abs/1908.10084.
[25] H. Shimada, H. Nakagawa, T. Tsuchiya, Goal model construction based on user review classification,
in: REFSQ Workshops, 2019. URL: https://api.semanticscholar.org/CorpusID:186206199.
[26] H. Nakagawa, H. Shimada, T. Tsuchiya, Interactive goal model construction based on a flow of
questions, IEICE Trans. Inf. Syst. 103-D (2018) 1309–1318. URL: https://api.semanticscholar.org/
CorpusID:145941947.
[27] K. Watanabe, H. Nakagawa, T. Tsuchiya, Kaos modeling editor: A tool for semi-automated goal
modeling (2023).
[28] M. Shibaoka, H. Kaiya, M. Saeki, Goore : Goal-oriented and ontology driven requirements elicitation
method, in: Advances in Conceptual Modeling – Foundations and Applications, Springer Berlin
Heidelberg, Berlin, Heidelberg, 2007, pp. 225–234. doi:10.1007/978-3-540-76292-8_28.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>A. van Lamsweerde</surname>
          </string-name>
          ,
          <article-title>Requirements Engineering: From System Goals to UML Models to Software Specifications</article-title>
          , 1st ed., Wiley Publishing,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>E.</given-names>
            <surname>Letier</surname>
          </string-name>
          ,
          <article-title>Reasoning about agents in goal-oriented requirements engineering</article-title>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <article-title>Towards modelling and reasoning support for early-phase requirements engineering</article-title>
          ,
          <source>in: Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering</source>
          ,
          <year>1997</year>
          , pp.
          <fpage>226</fpage>
          -
          <lpage>235</lpage>
          . doi:
          <volume>10</volume>
          .1109/ISRE.
          <year>1997</year>
          .
          <volume>566873</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Bresciani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Perini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <string-name>
            <surname>Tropos:</surname>
          </string-name>
          <article-title>An agent-oriented software development methodology, Autonomous Agents and Multi-Agent Systems 8 (</article-title>
          <year>2004</year>
          )
          <fpage>203</fpage>
          -
          <lpage>236</lpage>
          . doi:
          <volume>10</volume>
          .1023/B:AGNT.
          <volume>0000018806</volume>
          .20944.ef.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>T.</given-names>
            <surname>Güneş</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. B.</given-names>
            <surname>Aydemir</surname>
          </string-name>
          ,
          <article-title>Automated goal model extraction from user stories using nlp</article-title>
          ,
          <source>in: 2020 IEEE 28th International Requirements Engineering Conference (RE)</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>382</fpage>
          -
          <lpage>387</lpage>
          . doi:
          <volume>10</volume>
          .1109/RE48521.
          <year>2020</year>
          .
          <volume>00052</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>E.</given-names>
            <surname>Casagrande</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Woldeamlak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. L.</given-names>
            <surname>Woon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Zeineldin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Svetinovic</surname>
          </string-name>
          ,
          <article-title>Nlp-kaos for systems goal elicitation: Smart metering system case study</article-title>
          ,
          <source>IEEE Transactions on Software Engineering</source>
          <volume>40</volume>
          (
          <year>2014</year>
          )
          <fpage>941</fpage>
          -
          <lpage>956</lpage>
          . doi:
          <volume>10</volume>
          .1109/TSE.
          <year>2014</year>
          .
          <volume>2339811</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Auer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bizer</surname>
          </string-name>
          , G. Kobilarov,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lehmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Cyganiak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Ives</surname>
          </string-name>
          ,
          <article-title>Dbpedia: A nucleus for a web of open data</article-title>
          ,
          <source>in: The Semantic Web</source>
          , Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2007</year>
          , pp.
          <fpage>722</fpage>
          -
          <lpage>735</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -76298-0_
          <fpage>52</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>F.</given-names>
            <surname>Erxleben</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Günther</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Krötzsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mendez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Vrandečić</surname>
          </string-name>
          ,
          <article-title>Introducing wikidata to the linked data web</article-title>
          ,
          <source>in: The Semantic Web-ISWC 2014: 13th International Semantic Web Conference, Riva del Garda, Italy, October 19-23</source>
          ,
          <year>2014</year>
          .
          <source>Proceedings, Part I 13</source>
          , Springer,
          <year>2014</year>
          , pp.
          <fpage>50</fpage>
          -
          <lpage>65</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J.</given-names>
            <surname>Devlin</surname>
          </string-name>
          , M.-
          <string-name>
            <given-names>W.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Toutanova</surname>
          </string-name>
          , BERT:
          <article-title>Pre-training of deep bidirectional transformers for language understanding</article-title>
          ,
          <source>in: Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies</source>
          , Volume
          <volume>1</volume>
          (Long and Short Papers),
          <source>Association for Computational Linguistics</source>
          , Minneapolis, Minnesota,
          <year>2019</year>
          , pp.
          <fpage>4171</fpage>
          -
          <lpage>4186</lpage>
          . URL: https://aclanthology.org/N19-1423. doi:
          <volume>10</volume>
          .18653/v1/
          <fpage>N19</fpage>
          -1423.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ott</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Goyal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Du</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Joshi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Levy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lewis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Zettlemoyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Stoyanov</surname>
          </string-name>
          ,
          <article-title>Roberta: A robustly optimized bert pretraining approach</article-title>
          , arXiv preprint arXiv:
          <year>1907</year>
          .
          <volume>11692</volume>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S. R.</given-names>
            <surname>Bowman</surname>
          </string-name>
          , G. Angeli,
          <string-name>
            <given-names>C.</given-names>
            <surname>Potts</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. D.</given-names>
            <surname>Manning</surname>
          </string-name>
          ,
          <article-title>A large annotated corpus for learning natural language inference</article-title>
          ,
          <source>in: Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing</source>
          , Association for Computational Linguistics, Lisbon, Portugal,
          <year>2015</year>
          , pp.
          <fpage>632</fpage>
          -
          <lpage>642</lpage>
          . URL: https://aclanthology.org/D15-1075. doi:
          <volume>10</volume>
          .18653/v1/
          <fpage>D15</fpage>
          -1075.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Williams</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Nangia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bowman</surname>
          </string-name>
          ,
          <article-title>A broad-coverage challenge corpus for sentence understanding through inference</article-title>
          ,
          <source>in: Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies</source>
          , Volume
          <volume>1</volume>
          (
          <string-name>
            <surname>Long</surname>
            <given-names>Papers)</given-names>
          </string-name>
          ,
          <source>Association for Computational Linguistics</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>1112</fpage>
          -
          <lpage>1122</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Nie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Williams</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Dinan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bansal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Weston</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kiela</surname>
          </string-name>
          ,
          <string-name>
            <surname>Adversarial</surname>
            <given-names>NLI</given-names>
          </string-name>
          :
          <article-title>A new benchmark for natural language understanding, in: Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, Association for Computational Linguistics</article-title>
          , Online,
          <year>2020</year>
          , pp.
          <fpage>4885</fpage>
          -
          <lpage>4901</lpage>
          . URL: https://aclanthology.org/
          <year>2020</year>
          .acl-main.
          <volume>441</volume>
          . doi:
          <volume>10</volume>
          .18653/v1/
          <year>2020</year>
          .acl-main.
          <volume>441</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Nie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bansal</surname>
          </string-name>
          ,
          <article-title>Combining fact extraction and verification with neural semantic matching networks</article-title>
          ,
          <source>in: Proceedings of the AAAI Conference on Artificial Intelligence</source>
          , volume
          <volume>33</volume>
          ,
          <year>2019</year>
          , pp.
          <fpage>6859</fpage>
          -
          <lpage>6866</lpage>
          . doi:
          <volume>10</volume>
          .1609/aaai.v33i01.
          <fpage>33016859</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>K.</given-names>
            <surname>Papineni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Roukos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Ward</surname>
          </string-name>
          , W.-J. Zhu,
          <article-title>Bleu: A method for automatic evaluation of machine translation</article-title>
          ,
          <source>in: Proceedings of the 40th Annual Meeting on Association for Computational Linguistics</source>
          , ACL '02,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computational Linguistics, USA,
          <year>2002</year>
          , p.
          <fpage>311</fpage>
          -
          <lpage>318</lpage>
          . URL: https://doi.org/10.3115/1073083.1073135. doi:
          <volume>10</volume>
          .3115/1073083.1073135.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>T.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kishore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. Q.</given-names>
            <surname>Weinberger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Artzi</surname>
          </string-name>
          , Bertscore:
          <article-title>Evaluating text generation with bert</article-title>
          ,
          <year>2020</year>
          . arXiv:
          <year>1904</year>
          .09675.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>C.</given-names>
            <surname>Rebufel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Scialom</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Soulier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Piwowarski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Lamprier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Staiano</surname>
          </string-name>
          , G. Scoutheeten, P. Gal-
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>