<!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>
      <journal-title-group>
        <journal-title>Barcelona, Catalunya, Spain, April</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Comparing general purpose pre-trained Word and Sentence embeddings for Requirements Classification</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Federico Cruciani</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Samuel Moore</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chris Nugent</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Computing, Ulster University</institution>
          ,
          <addr-line>2-24 York Street, Belfast, BT15 1AP</addr-line>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <volume>17</volume>
      <issue>2023</issue>
      <fpage>0000</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>The recent evolution of NLP has enriched the set of DL-based approaches to include a number of generalpurpose Large Language Models (LLMs). Whereas new models have been proven useful for generic text handling, their applicability to domain-specific NLP tasks still remains doubtful, particularly because of the limited amount of dataset available in certain domains, such as Requirements Engineering. In this study, diferent pre-trained embeddings were tested in three requirements classification tasks, in search of a tradeof between accuracy and computational complexity. The best F1-score results were obtained with BERT (90.36% and 84.23%), with DistilBERT identified as optimal tradeof (90.28% and 82.61%).</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Requirements Engineering</kwd>
        <kwd>NLP</kwd>
        <kwd>Large Language Models</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        of high-quality software which meets the expectations of customers and end-users. Given the
importance of this part of the software development lifecycle, it is necessary to ensure that
requirements are stated clearly, adhere to quality criteria, are appropriately classified, and are free
from errors. While it is possible, and often the norm, to carry out the requirements engineering
processes manually, automated NLP approaches stand to ofer significant improvement to the
process [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Within requirements engineering, there are several areas where NLP approaches
may be employed, including; elicitation, quality analysis, error detection, category classification,
and traceability [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Although LLMs ofer a general purpose approach to language modelling,
they were not trained on the task of classifying requirements. In order to classify requirements
into a given set of categories, a model must be trained to detect these categories, which is not
typically the case for LLMs. As such, in order to develop an NLP solution for requirements
classification, it is necessary to expose a model to a range of requirements and their
associated categories during training, thereby requiring the development of a task-specific language
model. This can be achieved either by fine-tuning the LLM on the specific task of requirements
classification, as done in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], or by using the LLM to provide a semantic representation of the
requirement, and combining it with more traditional classifiers [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The first solution is more
resource-consuming, while the second one is more eficient. To our knowledge, the literature
does not provide a systematic comparison between diferent LLMs in this second scenario.
      </p>
      <p>This paper seeks to assess the efectiveness of LLMs in accurately classifying requirements
into their respective categories. In doing so, this paper considered pre-trained language models
and evaluated their ability to create semantic representations from requirements specifications.</p>
      <p>The contribution of this work can be summarized as follows:
• comparison of the semantic representational power from available pre-trained LLM with
application to RE.
• an explorative study trying to optimize the tradeof between computational resources
and accuracy</p>
      <p>The remainder of this paper is organized as follows. Section 2 summarizes the state of the art
and related work in NLP tasks for RE. Section 3 describes the experiment design, the research
questions, and the evaluation methodology. Results and discussion are reported in Sections 4
and 5 respectively. Finally, conclusions are drawn in Section 6.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        Among NLP tasks in RE, requirement classification is one of the most common [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In most
cases, classification is applied to the binary case discriminating between functional (F) and
non-functional requirements (NF) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Other studies have also considered specific classes of
NF requirements (e.g., usability, security)[
        <xref ref-type="bibr" rid="ref2 ref5 ref6 ref7">5, 2, 6, 7</xref>
        ]. In the earliest examples of requirements
classification [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], sets of keywords obtained from manually labeled requirements were used to
classify unseen data. More recently, studies started to explore the use of ML and DL approaches.
In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], BERT [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] was used in combination with a Graph Attention Network (GAT) and an
Multilayer perceptron (MLP) classifier. The method was compared with other ML approaches,
(including Naive Bayes, Random Forest (RF)) in two classification tasks: (i) the binary case F vs
NF requirements, and (ii) for detecting four types of NF requirements. For an in-depth literature
review on ML for requirement classification readers can refer to [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], which provides a holistic
overview of the progress of NLP for performing RE tasks. On the other hand, this paper is more
focused on identifying optimum representational power and analysing the computing resources
required to achieve the task efectively.
      </p>
      <p>
        Similar to [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], in this work we evaluated the use of BERT [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] for requirement classification
extending the comparison to include other embeddings, such as GloVE [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], DIstilBERT [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ],
SBERT [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and Universal Sentence Encoder (USE) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. It should be noted that, unlike other
studies like [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], we did not retrain or fine-tuned the models used for embeddings, but simply
aimed at comparing them in some classification tasks.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. The experiment</title>
      <p>
        The experiment aimed at comparing diferent pre-trained models for word and sentence
embeddings to verify their suitability for requirements classification. Evaluation was conducted on
the PROMISE-NFR dataset [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The dataset includes a set of 625 functional and non-functional
requirements. The non-functional requirements set includes 11 diferent subclasses. Table 1
summarizes all the 12 classes, the number of requirements, sentences and words available per
class. Despite being fairly balanced for the binary case F/NF requirements, the dataset presents
a great challenge in terms of class imbalance when including all 12 classes (some consisting
only of 1-20 requirements).
      </p>
      <p>
        The word embeddings used in the experiments were GloVE [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], BERT [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], DIstilBERT [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ],
with dimension of 300, 768 and 768 respectively. The sentence embeddings were SBERT [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
and Universal Sentence Encoder (USE) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] with size 3841 and 512 respectively.
      </p>
      <p>1SBERT was used with the all-MiniLM-L6-v2 model. See https://www.sbert.net/docs/pretrained_models.html
As illustrated in Fig. 1, the aim was to train a small size classifier (&lt;10M parameters) on a
domain-specific context with limited amount of data, relying on pre-trained language models
for semantic representation of words/sentences.</p>
      <p>All embeddings were tested under the same conditions, using two MLP structures (≃100k
parameters and 2M parameters)2. The MLP models were implemented using dense layers, with
ReLU activation function and Stochastic Gradient Descent (SGD) optimizer. Learning rate values
of 0.1 and 0.01 (default) were used. The embeddings and the MLP structures were evaluated in
three diferent tasks:</p>
      <sec id="sec-3-1">
        <title>Task 1 Binary classification Functional / Non Functional Requirements</title>
      </sec>
      <sec id="sec-3-2">
        <title>Task 2 Classification of most frequent classes</title>
      </sec>
      <sec id="sec-3-3">
        <title>Task 3 Classification of all classes (except portability)</title>
        <p>Task 1 compares these general-purpose embeddings without an extreme imbalance. Tasks 2 and
3 allow the evaluation to be made on the impact of class imbalance in the more complex cases
distinguishing 6 and 12 classes. The 6 classes of Task 2 were chosen as the most frequent classes
(comprised of at least 50 sentences and 500 words) as indicated in Table 1. The experiment
aimed at answering the following research questions:
RQ 1 Which embedding provides better accuracy in requirement classification?
RQ 2 Which embedding provides the best trade-of between accuracy and model’s complexity?</p>
        <sec id="sec-3-3-1">
          <title>3.1. Evaluation Methodology</title>
          <p>The dataset was split into train and test set, 70% and 30% respectively. With the training set
further split into train and validation (10%). The splits were done using the stratify options, i.e.
preserving class imbalance, and preventing from separating sentences appearing in the same
requirement. The evaluation was done using a 5-fold procedure comparing the embeddings
with the two MLP structures on the three tasks. Models were trained with early stopping using a
patience of 25 epochs and saving only the models with highest accuracy in the validation set. The
data imbalance was handled using weighted loss. Finally, a k-Nearest Neighbors (kNN) classifier
was used as a baseline. Since kNN makes direct use of embeddings for classification, and
because of its non-parametric nature, it is therefore a suitable approach to measure how well the
embeddings obtained from pre-trained models could be used directly to classify requirements.</p>
        </sec>
      </sec>
      <sec id="sec-3-4">
        <title>2The complete source code is available at: https://github.com/fcruciani/reqclass</title>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Results</title>
      <p>In the experiment, results covering all combinations between the large and small MLP
classiifers were calculated on the three tasks. For the sake of conciseness only some combinations
are reported. Additional results including confusion matrices are available in the published
repository. Table 2 reports results obtained using the large MLP structure on Task 1 and the
small MLP architecture on Task 2.</p>
      <p>Additional combinations were tested considering the cased and uncased versions of
pretrained BERT and DistilBERT models. Table 3 report results obtained with the best performing
model on Task 2, the small MLP architecture using the uncased version of BERT. Fig. 2 illustrates
the confusion matrix and the normalized confusion matrix obtained in Task 2 using BERT
uncased and the small MLP.</p>
      <p>Table 4 summarizes results obtained in Task 3, including the baseline results using kNN as a
classifier. Table 5 reports precision, recall and f-score values for all classes obtained with the
best performing combination on Task 3. Fig. 3 illustrates the normalized confusion matrices
obtained with the diferent embeddings on Task 3. Finally, Fig. 4 summarizes the macro-average
F1 score obtained with all the embeddings on Task 2 and Task 3.
* Macro-average +Weighted - in () are the baseline values obtained using kNN</p>
      <p>Precision*
MLP kNN</p>
    </sec>
    <sec id="sec-5">
      <title>5. Discussion</title>
      <p>Results on Task 1 highlight BERT and DistilBert as the best performing embeddings (RQ1),
however results obtained with the other embeddings are comparable and might be considered
for resource constrained cases. In particular, SBERT is the fastest model (except for GloVe) for
generating vectors of 384 dimensions, which also reduces the complexity of the final classifier.
Similarly, GloVe embeddings are obtained by simple lookup on a dictionary data structure
and are 300 dimensions embeddings. GloVe, however, is exposed to out-of-dictionary (OOD)
words limiting its working ability in the presence of OOD words. Similarly, in Task 2 and 3,
BERT and DistilBERT were the best performing models, with DistilBERT a good candidate to
reduce the computational overhead of BERT without causing detrimental efects on the accuracy
performance (RQ2). No major diferences were observed when using the small and the large
MLP classifiers, possibly due to the limited size of the dataset that does not allow to maximize
the benefit of using a classifier with a higher number of trainable parameters. The lack of data
is further exacerbated in the case of sentence embeddings with the MLP trained on fewer data
points. The comparison with the baseline highlighted how, despite the limited amount of data,
training an MLP classifier outperforms the baseline kNN approach of using embeddings to
classify new data. The worst performing baseline results were obtained with GloVe, possibly
attributable to out-of-dictionary words. MLP classifiers trained on GloVe vectors, however,
appear to reduce the gap, leading to results comparable with SBERT and USE.</p>
      <sec id="sec-5-1">
        <title>5.1. Limitations</title>
        <p>
          Construct Validity Standard evaluation metrics were used as macro-averages to prevent majority
classes from masking less represented ones. All mandatory steps of the ECSER pipeline for
evaluating classifiers were performed [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. Optional steps, e.g. significance tests, were not
performed due to the preliminary nature of this work.
        </p>
        <p>Internal Validity One major factor afecting internal validity is the correctness of the
annotation of the dataset that authors have questioned in the past. Nevertheless, it still represents
the most widely used dataset for requirements classification, facilitating the comparison with
previous work. Since this type of ML tasks typically include a high degree of randomness, 5-fold
cross-validation was used to calculate results.</p>
        <p>External Validity The dataset includes requirements written by students, which may not be
representative of industrial requirements and the evaluation of the language models is limited to
the three examined tasks. Diferent results may be obtained when other classification schemes
are used, or other types of requirements-related information (e.g., user stories, or app reviews)
are adopted. Concerning the coverage of possible pre-trained embeddings, we have considered
a representative set of basic and deep learning-based ones, not only limited to those derived
from BERT. Therefore, we argue that our analysis can be considered representative of the usage
of diferent embeddings for requirements classification. As for the classification algorithm, we
use two MLP structures and a kNN as a baseline. Diferent results may be obtained when using
other classifiers (e.g., SVM, Naive Bayes).</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>This paper reported on the evaluation of pre-trained embeddings for RE. Some of the most
common embeddings were tested under the same circumstances on a public dataset. Results
obtained identify BERT and its smaller variant DistilBERT as the best performing embeddings,
with the latter being an optimal tradeof between accuracy and model complexity. GloVE and
SBERT despite a slightly lower accuracy were found to be the fastest in prediction time and could
be suitable for cases in which time represents a key factor or resource constrained environments.
Future work will aim to extend the evaluation on additional datasets to verify the validity of
these results on diferent RE tasks and datasets.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This research is supported by the ARC (Advanced Research Engineering Centre) project, funded
by PwC3 and Invest Northern Ireland.</p>
      <p>3PricewaterhouseCoopers LLP a limited liability partnership incorporated in England with its registered ofice
ofice at 1 Embankment Place, London WC2N 6RH</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>L.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Alhoshan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ferrari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. J.</given-names>
            <surname>Letsholo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Ajagbe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.-V.</given-names>
            <surname>Chioasca</surname>
          </string-name>
          , R. T. BatistaNavarro,
          <article-title>Natural language processing for requirements engineering: A systematic mapping study</article-title>
          ,
          <source>ACM Computing Surveys (CSUR) 54</source>
          (
          <year>2021</year>
          )
          <fpage>1</fpage>
          -
          <lpage>41</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>T.</given-names>
            <surname>Hey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Keim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Koziolek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. F.</given-names>
            <surname>Tichy</surname>
          </string-name>
          , Norbert:
          <article-title>Transfer learning for requirements classification</article-title>
          ,
          <source>in: 2020 IEEE 28th International Requirements Engineering Conference (RE)</source>
          , IEEE,
          <year>2020</year>
          , pp.
          <fpage>169</fpage>
          -
          <lpage>179</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M. E.</given-names>
            <surname>Peters</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ruder</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. A.</given-names>
            <surname>Smith,</surname>
          </string-name>
          <article-title>To tune or not to tune? adapting pretrained representations to diverse tasks</article-title>
          ,
          <source>in: Proceedings of the 4th Workshop on Representation Learning for NLP (RepL4NLP-2019)</source>
          ,
          <year>2019</year>
          , p.
          <fpage>7</fpage>
          -
          <lpage>14</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>F.-L.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Horkof</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. S.</given-names>
            <surname>Guizzardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Guizzardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Borgida</surname>
          </string-name>
          , L. Liu,
          <article-title>Nonfunctional requirements as qualities, with a spice of ontology</article-title>
          , in: 2014 IEEE 22nd International Requirements Engineering Conference (RE), IEEE,
          <year>2014</year>
          , pp.
          <fpage>293</fpage>
          -
          <lpage>302</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Cleland-Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Settimi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Zou</surname>
          </string-name>
          , P. Solc,
          <source>Automated classification of non-functional requirements, Requirements engineering 12</source>
          (
          <year>2007</year>
          )
          <fpage>103</fpage>
          -
          <lpage>120</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Zheng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <article-title>Automatic requirements classification based on graph attention network</article-title>
          ,
          <source>IEEE Access 10</source>
          (
          <year>2022</year>
          )
          <fpage>30080</fpage>
          -
          <lpage>30090</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>O.</given-names>
            <surname>AlDhafer</surname>
          </string-name>
          , I. Ahmad,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mahmood</surname>
          </string-name>
          ,
          <article-title>An end-to-end deep learning system for requirements classification using recurrent neural networks</article-title>
          ,
          <source>Information and Software Technology</source>
          <volume>147</volume>
          (
          <year>2022</year>
          )
          <fpage>106877</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <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>
          , arXiv preprint arXiv:
          <year>1810</year>
          .
          <volume>04805</volume>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J.</given-names>
            <surname>Pennington</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Socher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. D.</given-names>
            <surname>Manning</surname>
          </string-name>
          , Glove:
          <article-title>Global vectors for word representation</article-title>
          ,
          <source>in: Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP)</source>
          ,
          <year>2014</year>
          , pp.
          <fpage>1532</fpage>
          -
          <lpage>1543</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>V.</given-names>
            <surname>Sanh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Debut</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Chaumond</surname>
          </string-name>
          , T. Wolf,
          <article-title>Distilbert, a distilled version of bert: smaller, faster, cheaper and lighter</article-title>
          , arXiv preprint arXiv:
          <year>1910</year>
          .
          <volume>01108</volume>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>N.</given-names>
            <surname>Reimers</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Gurevych</surname>
          </string-name>
          ,
          <article-title>Sentence-bert: Sentence embeddings using siamese bert-networks</article-title>
          , arXiv preprint arXiv:
          <year>1908</year>
          .
          <volume>10084</volume>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>D.</given-names>
            <surname>Cer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yang</surname>
          </string-name>
          , S.-y. Kong,
          <string-name>
            <given-names>N.</given-names>
            <surname>Hua</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Limtiaco</surname>
          </string-name>
          ,
          <string-name>
            R. S. John,
            <given-names>N.</given-names>
            <surname>Constant</surname>
          </string-name>
          , M. GuajardoCespedes, S. Yuan,
          <string-name>
            <given-names>C.</given-names>
            <surname>Tar</surname>
          </string-name>
          , et al.,
          <source>Universal sentence encoder</source>
          , arXiv preprint arXiv:
          <year>1803</year>
          .
          <volume>11175</volume>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>H. L. J.</given-names>
            <surname>Cleland-Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mazrouee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Port</surname>
          </string-name>
          ,
          <article-title>Promise-nfr dataset</article-title>
          , https://doi.org/10.5281/ zenodo.268542,
          <fpage>1007</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>D.</given-names>
            <surname>Dell'Anna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. B.</given-names>
            <surname>Aydemir</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Dalpiaz</surname>
          </string-name>
          ,
          <article-title>Evaluating classifiers in se research: the ecser pipeline and two replication studies</article-title>
          ,
          <source>Empirical Software Engineering</source>
          <volume>28</volume>
          (
          <year>2023</year>
          )
          <fpage>1</fpage>
          -
          <lpage>40</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>