<!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>Resolution of Analogies Between Strings in the Case of Multiple Solutions</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Xulin Deng</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yves Lepage</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Waseda University</institution>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The verification and resolution of formal analogies between strings focuses on the character sequences, disregarding the underlying semantics of the sequences. Our approach to these two tasks employs an algorithm based on edit distance. A previous version was limited in that it provided only a single solution for an analogy equation, even when multiple valid solutions existed. We enhance the algorithm to generate all possible solutions. The previous algorithm traversed edit distance matrices only once. Consequently, it could only yield one solution for an analogy puzzle, even in cases of multiple solutions were viable. In order to deliver all possible solutions for analogies, we introduce a recursive approach. By recursively exploring all traces in the edit distance matrices, our newer version is capable of generating and outputting all feasible solutions.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Analogy</kwd>
        <kwd>Multiple solutions</kwd>
        <kwd>Data Generation</kwd>
        <kwd>Strings</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Background</title>
      <p>
        In this paper, we deal with formal analogies between strings, i.e., sequences of characters, like
the ones described in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. We do not address analogy learning, nor semantic analogies [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. An
analogy is a relation between four terms; it is noted by A : B :: C : D, commonly read as “
is to  as  is to ”. As said above, in this paper, the terms will be strings.
      </p>
      <p>
        Analogy between strings can be applied in the field of natural language processing for tasks
like transliteration [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ], morphology [
        <xref ref-type="bibr" rid="ref5 ref6 ref7">5, 6, 7</xref>
        ] or even machine translation [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ]. Methods
to solve analogies are basic functions in such previous work. Several approaches have been
proposed [
        <xref ref-type="bibr" rid="ref10 ref11 ref4">4, 10, 11</xref>
        ].
      </p>
      <p>
        In the previous work by [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], which serves as the foundation of this paper, the algorithm
demonstrated a high level of accuracy in providing precise answers for the majority of cases,
with the exception of instances involving reduplication and permutation because this algorithm
lacked the capability to address these particular linguistic phenomena [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. But, in addition, in
scenarios where analogy puzzles have multiple potential solutions, the algorithm was limited to
generating a single answer. Consequently, this limitation introduced inaccuracy was a handicap
for comparison with other proposals.
      </p>
      <p>
        In the work conducted by [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], a complexity-based algorithm for solving analogies is
introduced. The authors provide a comprehensive table presenting the proportion of correct solutions
Language
for a dataset of analogy equations, compiled by [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] from the Sigmorphon Analogy Dataset,
and recognized as the most extensive dataset available for this purpose. Table 1 reproduces this
table. It gives the accuracy per language.
      </p>
      <p>
        The Shufle algorithm proposed by [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] is another algorithm employed for solving analogies.
On the other hand, the Distance algorithm being referred to is the baseline of our paper.
      </p>
      <p>In Table 1, it is evident that the complexity algorithm outperforms the Distance algorithm in
terms of accuracy. This may be attributed to the fact that the Distance algorithm fails to deliver
certain solutions, which results in a lower overall performance.</p>
      <p>By correcting the limitation of the Distance algorithm, it is hoped that an increase in accuracy
will be obtained.</p>
      <p>In the Sigmorphon Analogy Dataset, the provided answers for certain analogy puzzles do
not encompass all potential solutions. This is illustrated by the following example.
asked : ask :: seemed :</p>
      <p>⇒  = seem or seme</p>
      <p>The dataset suggests that the correct answer to this analogy is “seem”. It does not consider
“seme” as a solution. However, theoretically, “seme” satisfies the criteria for solving analogies
adopted by the Distance algorithm and should be identified as a potential answer. The previous
version of the Distance algorithm outputs only one of the solutions. Consequently, there is a
need to propose an algorithm that would generate the two possible answers for this analogy,
including the one that is not recognized by the dataset as a solution.</p>
      <p>⇒  = ?</p>
    </sec>
    <sec id="sec-2">
      <title>2. Proposal: Recursive version for the Distance algorithm</title>
      <p>In order to deliver all possible solutions for an analogy puzzle, we first examine why the previous
algorithm delivers only a single solution. Let us consider an example analogy puzzle:</p>
      <p>
        The processing of the Distance algorithm involves several steps. Firstly, it checks whether
the analogy puzzle satisfies a specific constraint, namely whether all the letters in the string
 appear either in the string  or teh string . Once this constraint is met, the algorithm
proceeds to compute edit distance matrices [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] between the strings  and , as well as
between the strings  and . The result is illustrated below. The string  appears as a
vertical axis around which the matrices are built. Notice that, consequently, the string  is
written from right to left for symmetry reasons.
      </p>
      <p>
        Then the algorithm computes the edit distance traces [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] in each of the edit distance matrices,
so as to deliver an answer by establishing a correspondence between the two traces found.
      </p>
      <p>The established correspondence can be visualised in the following table, where actions
that consist in outputting one character at a time in the solution, are taken according to the
correspondence between the two traces, relying on the directions followed along the traces.</p>
      <p>diagonal
diagonal
diagonal</p>
      <p>diagonal
horizontal
diagonal</p>
      <p>do
copy 
copy 
copy</p>
      <p>As a result, the algorithm delivers the solution . The algorithm explores the traces only
once and stops. Consequently, it does not output other possible solutions:  and .</p>
      <p>To get the solution , the algorithm needs to follow the following steps, indicated in the
following table, similar to the previous one above.</p>
      <p>diagonal
diagonal
diagonal</p>
      <p>do
horizontal copy a
diagonal copy b
diagonal copy a</p>
      <p>The traces that have been followed in this table, are other paths that allow to still get the
minimal edit distances between  and  on the one hand, and between  and  on the
other hand. The edit distance matrices are the same matrices as above, but the traces are
diferent. Here, in fact, only the trace between  and  is diferent.</p>
      <p>The new trace shown here is not computed by the algorithm, although it corresponds to
a minimal edit distance between the strings involved in the analogy puzzle. The reason for
the algorithm to provide only one solution is that it simply does not produce and explore all
possible traces within the matrices.</p>
      <p>To address this limitation, we propose to implement a recursive version of the Distance
algorithm. By adopting a recursive approach, the algorithm will go beyond the initial trace it
ifnds and backtrack to the beginning, thereby exploring alternative traces. This modification
will allow the algorithm to consider multiple traces and generate a other solutions for the same
analogy puzzle.</p>
      <p>It is important to note that while the main idea of the algorithm remains the same, the
proposed change lies in the implementation of the algorithm. The recursive version enhances
the algorithm’s capability to explore and generate a more comprehensive set of traces, thus
improving the overall solution output for the analogy puzzle, that is its recall.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Generation of Data for the Experiments</title>
      <p>We evaluate our work by performing experiments on the previously introduced Sigmorphon
Analogy Dataset. In addition, we use automatically generated data, for which we control the
number of solutions, so as to ensure that the new version of the Distance algorithm actually
outputs the exact number of possible solutions for a given analogy puzzle and that the solutions
are exact.</p>
      <p>
        The Distance algorithm relies on a definition of analogy given in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. By noting the distance
between two strings  and  by (, ) and the count of a character  in a string  by ||,
this definition is as follows:
 :  ::  :  ⇒
⎧
⎨
(, ) = (, )
(, ) = (, )
⎩ || + || = || + ||, ∀
In order to cross-check the validity of our new recursive version of the Distance algorithm, we
choose to generate our additional test data based on another definition of analogy between
strings, namely the one given in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. According to this definition,  is a solution to the analogy
puzzle  :  ::  : ? if  is a string that belongs to the shufle string of the strings  and
, from which all the characters of string  have been discarded in the same order. If we
denote with  ∙  the shufle of strings  and , and the discarding operation with ∖, then
this definition states:
 ∈ ( ∙ ) ∖ 
(1)
(2)
      </p>
      <sec id="sec-3-1">
        <title>3.1. Analogy puzzles with no solution</title>
        <p>Based on the observation at the foundation of the definition of analogy between strings by
distance [10, p. 731], and similarly, based on the definition by shufle [ 16, p. 123], we can state
that, if an analogy has solutions, all the characters in  should appear in  and  at least once.
Consequently, generating analogy puzzles which have no solution can be done by the following
procedure which basically enforces a character in  to appear in neither  nor in .
– Step 1: Randomly generate a string .
– Step 2: Randomly select a character, delim, in  which will not appear in  or .
– Step 3: Randomly generate strings  and  that do not contain the character selected in –</p>
        <p>Step 2:.</p>
        <p>Below is an instance of the above generation process to get an analogy without any solution.
– Step 1:  ←</p>
        <p>abcd.
– Step 2: delim ←
– Step 3: ,  ←</p>
        <p>bc, efgc ( and  do not contain delim = a).</p>
        <p>With these values, the following analogy puzzle has no solution:
abcd : bc :: efgc :</p>
        <p>⇒  = no solution</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Analogy puzzles with only one solution</title>
        <sec id="sec-3-2-1">
          <title>3.2.1. Analogy puzzles with only one solution, the empty string</title>
          <p>As mentioned earlier, in the case of an analogy with solutions, every character present in string
 must also appear in either string  or string . Consequently, to create an analogy with
only one solution that is the empty string, it sufices to create  and  from  by distributing
each character in  either in  or in , in the same order. As a result, all characters from  are
found in  or . In this setting, for the shufle explanation,  ∙  =  ∙  implies that  is
the empty string. For the distance explanation, because of the counts of characters in  and 
being equal to those in  and , this also implies that  is the empty string.</p>
          <p>A degenerated case of the above is to split  into two parts, the left and the right parts, i.e., 
is a prefix of  and  is the remaining sufix of . This makes the analogy . :  ::  : .</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>3.2.2. Analogy puzzles with only one solution, which is not the empty string</title>
          <p>Drawing upon the approach of generating analogy puzzles with an empty string solution, it
becomes feasible to incorporate additional sub-strings within both  and . These sub-strings
are concatenated in the sequential order of their insertion into  and , ultimately forming the
solution to the analogy puzzle, denoted as .
• Divide  into a prefix and a sufix</p>
          <p>′ and ′, i.e.,  = ′.′.
• Create additional sub-strings that do not share any character with .</p>
          <p>• Insert the additional sub-strings into ′ or ′.</p>
          <p>In the last step, the following constraints are crucial in guaranteeing the uniqueness of the
solution:
• No additional sub-string should be added as a sufix of ′;
• No additional sub-string should be added as a prefix of ′.</p>
          <p>To justify these constraints, consider the following analogy puzzle:
abcd : ab :: cd : 
Here, the prefix is ′ =  and the sufix is ′ = . Let us denote the additional sub-strings
by  and  . We insert  into the middle of string ′. We insert  at the beginning of string
′, which does not respect the constraint given above. Clearly, because of that, the obtained
analogy puzzle has possibly several solutions:
abcd : aMb :: Ncd :</p>
          <p>⇒  = any string in M ∙ N</p>
          <p>Hence, the procedure for generating analogy puzzles that possess a unique solution can be
outlined as follows:
• no sub-string is inserted as a sufix of the prefix
• no sub-string is inserted as a prefix of the sufix
′.
′.</p>
          <p>Here is a generation instance following the above procedure:
– Step 1: Generate a string  = abcd. Select the position of a character, for instance, "c" to
divide  into prefix abc and sufix d.
– Step 2: Create three sub-strings op, mn and opmn.
– Step 3: Insert the sub-strings respecting the constraints. For instance, get  = amnbopc
and  = dopmn.
 is necessarily the concatenation of the sub-strings in the order they have been inserted in the
prefix and sufix of , which is unique. Hence,  is unique. As a result the obtained analogy
puzzle has only one unique solution:
abcd : amnbopc :: dopmn :</p>
          <p>⇒  = mnopopmn</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Analogy puzzles with several solutions</title>
        <p>As explained in the section regarding the generation of analogy puzzles with only one solution,
certain constraints serves as a means of ensuring solution uniqueness. However, in the absence
of such constraints, alternative methodologies can be employed to generate analogy puzzles
with multiple solutions.</p>
        <p>There are primarily two constraints we previously mentioned, which are:
1. Position:</p>
        <p>No additional sub-string should be added as a sufix of ′, and no additional sub-string
should be added as a prefix of ′.
2. Character:</p>
        <p>Create additional sub-strings that do not share any character with .</p>
        <sec id="sec-3-3-1">
          <title>3.3.1. Without the position constraint</title>
          <p>Let us consider a slight variation of the example given in section 3.2.2 that ignores the constraint
on position:
abcd : abM :: Ncd :</p>
          <p>⇒  = any string in M ∙ N</p>
          <p>In this analogy puzzle, we denote the additional sub-strings by  and  . We add  as the
sufix of ′ and  as the prefix of ′, which has the consequence that the analogy puzzle has
potentially several solutions.</p>
          <p>Hence, a first possible procedure for generating analogy puzzles that possess several solutions
can be outlined as follows:
– Step 1: Randomly generate a string  and select a position to divide  into prefix ′ and
sufix ′.
– Step 2: Create two sub-strings randomly, each without any of the characters in . To ensure
that . contains two or more elements, we impose that each of the two sub-strings
contains at least two diferent characters.
– Step 3: Add one sub-string as the sufix of ′ and another as the prefix of ′ to get  and .</p>
        </sec>
        <sec id="sec-3-3-2">
          <title>3.3.2. Without the character constraint</title>
          <p>Here is an example that ignores the character constraint:
abcd : aOb :: cMdNcMdN :</p>
          <p>⇒  = any string in OcMdNcMdN ∖ cd</p>
          <p>In this analogy puzzle, we denote the additional sub-strings by ,  , and  . We insert 
into string ′, insert  and  into string ′ and repeat ′ several times to get . This creates
an analogy puzzle with several solutions because of the multiple possibilities to erase  from
.</p>
          <p>Hence, a second procedure for generating analogy puzzles that possess several solutions can
be outlined as follows:
– Step 3: Insert the sub-strings into ′ and ′ and get  and ′′, respecting the constraints:
• no sub-string is inserted as a sufix of the prefix
• no sub-string is inserted as a prefix of the sufix
′.
′.
– Step 4: Repeat ′′ any number of times to get .</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Experiments</title>
      <p>We run both the previous version of the Distance algorithm and its new recursive version on
the above-mentioned data sets, i.e., the Signmorphon ananlogy datatset and the datasets of
analogy puzzles with zero, one only or several solutions. We measure their processing time,
precision, recall, and F-measure.</p>
      <p>The results given in Table 2 show that, while the recursive version may exhibit a longer
processing time in average compared to the previous version, its recall is 100% on the automatically
generated testsets, and higher (98.5%) than the previous version (92.2%) on the Sigmorphon
Analogy Dataset. We conclude that the recursive version successfully delivers almost all of the
solutions of the analogy puzzles contained in our datasets.</p>
      <p>
        We also compare the results to the methods in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], and [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. For that we add the results
of the new recursive version on the Sigmophon Analogy data set to Table 1 to obtain Table 1.
      </p>
      <p>The comparative analysis on the Sigmorphon Analogy Dataset reveals that, except for one
language, Spanish, the new version of the Distance algorithm introduced in this paper
consistently outperforms the three alternative methods. Thanks to its higher recall, this new version
demonstrates superior performance.</p>
      <p>This observation suggests that the relatively poorer performance of the previous Distance
algorithm can be attributed to its failure to capture all the possible solutions for certain analogy
previous
recursive
previous
recursive
previous
recursive
previous
recursive</p>
      <p>Sigmorphon
Zero solution
One solution
Several solutions</p>
      <p>Average
time ( s)
Algorithm</p>
      <p>Dataset</p>
      <p>Precision (%) Recall (%) F-measure
puzzles. The absence of these solutions significantly impacted the recall. Conversely, the
new recursive algorithm addresses this limitation by delivering a more comprehensive set
of solutions, resulting in a higher recall for almost all languages, and consequently a higher
average recall.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Limitations: Precision</title>
      <p>The precision of the new recursive algorithm on the Sigmorphon Analogy Dataset is not 100%
due to the nature of the approach, which outputs multiple solutions in many cases, whereas the
Sigmorphon Analogy Dataset only expects a single solution.</p>
      <p>For instance, consider the following analogy:
fakura¯tu : ustra¯liyya¯tu :: faku¯run :</p>
      <p>⇒  = ustra¯liyyun or ustrliyya¯un</p>
      <p>According to the Sigmorphon Analogy Dataset, the expected answer for this analogy is
ustra¯liyyun. However, theoretically, the answer ustrliyya¯un is also a possible solution. Although
it satisfies the definition of analogy on which our algorithm is based, it is not considered a valid
solution within this particular linguistic context.</p>
      <p>As mentioned in the section discussing the production of the automatically generated analogy
puzzles, these additional solutions can be seen as “noise” since they do not align with the general
notion of what constitutes a solution. Evaluating the efectiveness of our approach becomes
problematic when using only the Sigmorphon Analogy Dataset, as it primarily focuses on a
single expected solution rather than capturing the full scope of potential solutions. Testing
solely on the Sigmorphon Analogy Dataset may not provide a comprehensive evaluation of
whether our goals have been achieved.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>In this paper, we built upon an existing algorithm for solving analogies. Our objective was
to make this algorithm deliver all solutions for an analogy puzzle when there are multiple
solutions. To accomplish this, we introduced recursivity to systematically explore all possible
edit distance traces in the representation of analogy puzzles by edit distance matrices. Thanks
to this we are able to enumerate all possible solutions of an analogy puzzle.</p>
      <p>To evaluate the efectiveness of our proposal, we generated a dataset comprising analogies
with diferent characteristics, i.e., cases with no solution, cases with one solution, and cases
with multiple solutions. We presented the methods adopted to automatically produce analogy
puzzles in all these diferent cases. The generated dataset allowed us to conduct an analysis on
specific cases and ascertain the ability of our recursive version of the algorithm to deliver all
existing solutions. Experiments demonstrated that our proposed new version of the algorithm
successfully achieves this goal.</p>
      <p>To summarize, by introducing a recursive approach we could expand the scope in solutions
and could increase the performance of the Distance algorithm on the dataset of analogy puzzles
extracted from the Sigmorphon Analogy Dataset.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This paper has been partially supported by the JSPS project Kakenhi Kiban C no 21K12038
entitled “Theoretically founded algorithms for the automatic production of analogy tests in
Natural Language Pocessing”.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D. R.</given-names>
            <surname>Hofstadter</surname>
          </string-name>
          ,
          <article-title>Fluid Concepts and Creative Analogies: Computer Models of the Fundamental Mechanisms of Thought, Basic Books, Inc</article-title>
          ., New York, NY, USA,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R. R.</given-names>
            <surname>Hofman</surname>
          </string-name>
          , Monster analogies,
          <source>AI</source>
          magazine
          <volume>16</volume>
          (
          <year>1995</year>
          )
          <fpage>11</fpage>
          -
          <lpage>11</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Langlais</surname>
          </string-name>
          ,
          <article-title>Mapping source to target strings without alignment by analogical learning: A case study with transliteration</article-title>
          ,
          <source>in: Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics (Volume</source>
          <volume>2</volume>
          :
          <string-name>
            <surname>Short</surname>
            <given-names>Papers)</given-names>
          </string-name>
          ,
          <year>2013</year>
          , pp.
          <fpage>684</fpage>
          -
          <lpage>689</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Langlais</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Zweigenbaum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Yvon</surname>
          </string-name>
          ,
          <article-title>Improvements in analogical learning: application to translating multi-terms of the medical domain</article-title>
          ,
          <source>in: Proceedings of the 12th Conference of the European Chapter of the Association for Computational Linguistics (EACL</source>
          <year>2009</year>
          ),
          <article-title>Association for Computational Linguistics</article-title>
          , Athens, Greece,
          <year>2009</year>
          , pp.
          <fpage>487</fpage>
          -
          <lpage>495</lpage>
          . URL: https: //www.aclweb.org/anthology/E09-1056.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>R.</given-names>
            <surname>Fam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lepage</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gojali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Purwarianti</surname>
          </string-name>
          ,
          <article-title>Indonesian unseen words explained by form, morphology and distributional semantics at the same time</article-title>
          ,
          <source>in: Proceedings of the 23rd Annual Meeting of the Japanese Association for Natural Language Processing (NLP</source>
          <year>2017</year>
          ), Tsukuba, Japan,
          <year>2017</year>
          , pp.
          <fpage>178</fpage>
          -
          <lpage>181</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>R.</given-names>
            <surname>Fam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lepage</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gojali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Purwarianti</surname>
          </string-name>
          ,
          <article-title>A study of explaining unseen words in Indonesian using analogical clusters</article-title>
          ,
          <source>in: Proceedings of the 15th International Conference on Computer Applications (ICCA-17)</source>
          , Yangon, Myanmar,
          <year>2017</year>
          , pp.
          <fpage>416</fpage>
          -
          <lpage>421</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>P.</given-names>
            <surname>Langlais</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Patry</surname>
          </string-name>
          ,
          <article-title>Translating unknown words by analogical learning</article-title>
          ,
          <source>in: Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning (EMNLP-CoNLL)</source>
          ,
          <year>2007</year>
          , pp.
          <fpage>877</fpage>
          -
          <lpage>886</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Nagao</surname>
          </string-name>
          ,
          <article-title>A framework of a mechanical translation between japanese and english by analogy principle</article-title>
          ,
          <source>Artificial and human intelligence</source>
          (
          <year>1984</year>
          )
          <fpage>351</fpage>
          -
          <lpage>354</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lepage</surname>
          </string-name>
          , E. Denoual,
          <article-title>Purest ever example-based machine translation: Detailed presentation and assessment</article-title>
          ,
          <source>Machine Translation</source>
          <volume>19</volume>
          (
          <year>2005</year>
          )
          <fpage>251</fpage>
          -
          <lpage>282</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lepage</surname>
          </string-name>
          ,
          <article-title>Solving analogies on words: an algorithm</article-title>
          ,
          <source>in: Proceedings of the 17th International Conference on Computational Linguistics and 36th Annual Meeting of the Association for Computational Linguistics (COLING-ACL'98)</source>
          , volume I, Montréal,
          <year>1998</year>
          , pp.
          <fpage>728</fpage>
          -
          <lpage>735</lpage>
          . doi:
          <volume>10</volume>
          .3115/980845.980967.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>P.-A.</given-names>
            <surname>Murena</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Al-Ghossein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-L.</given-names>
            <surname>Dessalles</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cornuéjols</surname>
          </string-name>
          , et al.,
          <article-title>Solving analogies on words based on minimal complexity transformation</article-title>
          .,
          <source>in: Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI)</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>1848</fpage>
          -
          <lpage>1854</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lepage</surname>
          </string-name>
          , Analogy and formal languages,
          <source>Electronic Notes in Theoretical Computer Science</source>
          <volume>53</volume>
          (
          <year>2004</year>
          )
          <fpage>180</fpage>
          -
          <lpage>191</lpage>
          . URL: https://www.sciencedirect.com/science/article/ pii/S1571066105825824. doi:https://doi.org/10.1016/S1571-
          <volume>0661</volume>
          (
          <issue>05</issue>
          )
          <fpage>82582</fpage>
          -
          <lpage>4</lpage>
          ,
          <source>proceedings of the joint meeting of the 6th Conference on Formal Grammar and the 7th Conference on Mathematics of Language.</source>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lepage</surname>
          </string-name>
          ,
          <article-title>Character-position arithmetic for analogy questions between word forms</article-title>
          .,
          <source>in: Proceedings of the International Conference on Case-Based Reasonong (ICCBR) (Workshops)</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>23</fpage>
          -
          <lpage>32</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>E.</given-names>
            <surname>Ukkonen</surname>
          </string-name>
          ,
          <article-title>Algorithms for approximate string matching</article-title>
          ,
          <source>Information and control 64</source>
          (
          <year>1985</year>
          )
          <fpage>100</fpage>
          -
          <lpage>118</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>R. A.</given-names>
            <surname>Wagner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Fischer</surname>
          </string-name>
          ,
          <article-title>The string-to-string correction problem</article-title>
          ,
          <source>Journal of the ACM (JACM) 21</source>
          (
          <year>1974</year>
          )
          <fpage>168</fpage>
          -
          <lpage>173</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>N.</given-names>
            <surname>Stroppa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Yvon</surname>
          </string-name>
          ,
          <article-title>An analogical learner for morphological analysis</article-title>
          ,
          <source>in: Proceedings of the 9th Conference on Computational Natural Language Learning (CoNLL</source>
          <year>2005</year>
          ), Ann Arbor, MI,
          <year>2005</year>
          , pp.
          <fpage>120</fpage>
          -
          <lpage>127</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>