<!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>Character{position arithmetic for analogy questions between word forms</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yves Lepage?</string-name>
          <email>yves.lepage@waseda.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>IPS, Waseda University 2-7 Hibikino</institution>
          ,
          <addr-line>Wakamatsu-ku, Kitakyushu-shi, 808-0135 Fukuoka-ken</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <fpage>23</fpage>
      <lpage>32</lpage>
      <abstract>
        <p>We show how to answer analogy questions A : B :: C : D of unknown D between word forms, by essentially relying on the basic arithmetic equality D[iB iA + iC ] = B[iB] A[iA] + C[iC ] on characters and positions at the same time. We decompose the problem into two steps: speci cation and decoding. We examine several techniques to implement each of these two steps. We perform experiments on a set of positive and negative examples and assess the accuracy of combinations of techniques. We then evaluate the performance of the best combination of techniques on a large set of more than 40 million analogy questions from the training data of a shared task in morphology. We obtain the correct answer in 94 % of the cases.</p>
      </abstract>
      <kwd-group>
        <kwd>Formal analogy</kwd>
        <kwd>analogy questions</kwd>
        <kwd>character{position arithmetic</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>In this paper, we address the problem of answering analogy questions of the type
A : B :: C : D between word forms where the unknown is D. Our proposal
consists in relying essentially on the intuitive basic arithmetic equality D =
B A + C: We propose to write this arithmetic equality using characters and
positions at the same time:</p>
      <p>D[iB
iA + iC ] = B[iB]</p>
      <p>
        A[iA] + C[iC ]
(1)
The use of this arithmetic equality is directly inspired by the famous equality
between vectors proposed in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] to answer analogy questions between words in
the framework of distributional semantics. This is now referred to as vector
arithmetic and is always exempli ed with:
que!en
kin!g
ma!n + woma!n
(man : king :: woman : queen)
(2)
? This work was supported by a JSPS Grant, Number 15K00317 (Kakenhi C), entitled
Language productivity: e cient extraction of productive analogical clusters and their
evaluation using statistical machine translation.
      </p>
      <p>Copyright © 2017 for this paper by its authors. Copying permitted for private and
academic purpose. In Proceedings of the ICCBR 2017 Workshops. Trondheim, Norway</p>
      <p>This paper gives empirical support for the use of Equality (1) to answer
analogy questions (which only involve commutation1) between word forms (not
meaning). For relevance to morphology, no knowledge other than equality of
characters is used, i.e., order of letters in an alphabet, or the like, is not used.</p>
      <p>The rest of the paper is structured as follows. Section 2 shows how the answer
to an analogy question can be speci ed by a character{position matrix computed
using Equality (1). Speci cation re nements are introduced to solve problematic
cases. Section 2 shows that decoding the answer from the character{position
matrix can be viewed as an assignment problem and thus solved using a standard
algorithm. Section 4 summarises the two previous sections by giving an algorithm
for the proposed method. This proposed method is validated by two series of
experiments in Section 5.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Specifying the answer of an analogy question</title>
      <sec id="sec-2-1">
        <title>Known features of the answer to an analogy question</title>
        <p>
          From previous research [
          <xref ref-type="bibr" rid="ref10 ref2 ref3 ref4">4,10,2,3</xref>
          ], it is known that the answer D to A : B ::
C : D is partially determined. In particular, its length, which characters it
contains, and their number of occurrences, are known. In mathematical notations:
A : B :: C : D
)
( jDj = jBj
        </p>
        <p>
          jAj + jCj
jDjc = jBjc
jAjc + jCjc; 8c
where jXj stands for the length of string X and jXjc for the number of
occurrences of character c in string X. The above equations are yet another instance
of the general arithmetic equality D = B A + C. In addition, some work [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]
states that the LCS distance, noted d below, between the pair of terms is equal:
1 See [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] or [6, middle of p. 161]. We exclude analogies of repetition, e.g.,
Indonesian guru : guru-guru :: pelajar : pelajar-pelajar; reduplication, e.g., Ancient Greek
lÔw : lèluka :: paÔw : pèpauka; and mirroring, e.g., abc : wxyz :: cba : zyxw.
(3)
(4)
(5)
the pieces `heart', common to A and B, and `luck', common to C and D,
correspond. They are exchanged on each side of the symbol ::. We can write
A[1 : : : 5] = B[3 : : : 7] = heart and C[1 : : : 4] = D[3 : : : 6] = luck; and further
D[3 : : : 6] = luck =
where 3 = 3 1 + 1 and 6 = 7 5 + 4. This equality combines several instances of
Equation (1) for several instances of indices (iA; iB; iC ; iD): (1; 3; 1; 3), (2; 3; 2; 3),
: : : ; (5; 7; 4; 6)
        </p>
        <p>To summarise the previous remarks, Proposition (6), which embeds
Equality (1), can be laid as a hypothesis to be tested. Importantly, it only makes sense
if either A[iA] = B[iB] or A[iA] = C[iC ] holds, i.e., if either (iA; iB) or (iA; iC )
are match points in the matrices representing A : B and A : C (see Figure 1).
Enforcing Proposition (6) allows to specify the solution of an analogy question as
illustrated in Figure 1. For each index in the string D, all possible combinations of
indices in A, B and C corresponding to match points in matrices A : B and A : C
are examined and the number of instances of Equality (1) for that index in D
is memorised in matrices B : D and C : D. By adding up these values for each
character that we know will appear in D, and for each index in D, a character{
position matrix can be built, from which the answer can ultimately be decoded.
b
a
Fig. 1. Speci cation of the answer of the analogy question ab : ac :: db : x using
character{position arithmetic. The characters in the answer and their number of
occurrences are known: f c : 1; d : 1g. The black squares ( ) in the upper part on the left
visualise the match points in the matrices A : B and A : C. The lower part gives the
number of instances of Equality (1) in each cell of matrices B : D and C : D using the
match points and character{position arithmetic. In the middle, the character{position
matrix summarises the evidence for each character and position (. stands for zero).
This character{position matrix can be decoded into the answer dc on the right.
2.4</p>
      </sec>
      <sec id="sec-2-2">
        <title>Virtual beginning and end match points</title>
        <p>We now turn to a rst problematic case where Proposition (6) is not veri ed,
although it should be: work : sing :: you work : you sing. In this case, no triple
of indices in A, B and C can be found for the rst position in D corresponding to
the character y. The character y in D can only come from the same character in
C in the rst position, as it does not appear in B. However, no character in A is
equal to any character in B, so that there is no match point. So Proposition (6)
does not hold.</p>
        <p>
          Now, Proposition (6) holds for `worka : `singa :: `you worka : `you singa
where beginning and end markers are added in the previous example. In that
case, for position iD = 1 in D corresponding to character y, the triple of indices
(iA = 0; iB = 0; iC = 1) in A, B and C is such that: D[1 = 0 0 + 1] = C[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] = y
and A[0] = B[0] = ` : The addition of such markers is tantamount to the
insertion of virtual match points in the matrices representing A : B and A : C.
On our set of positive examples (see Section 5), Proposition (6) holds for all
examples when adding such virtual match points
2.5
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Match points inside diagonal bands</title>
        <p>
          We turn to a second problematic case for Proposition (6). Taking all possible
match points into account may give too much weight for some of them, leading
to wrong answers. This is the case for leaf : leaves :: wolf : D. Taking into
account all possible match points in the matrices A : B and A : C leads to 10
instances of Equation (1) voting in favour of D[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] = l, and only 7 in favour of
D[
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] = l (while the situation is balanced for D[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] = w and D[
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] = w with 8
equations each). This leads to the incorrect answer `lowves' instead of `wolves'.
        </p>
        <p>
          The work in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] considers only match points lying on the edit distance traces
in A : B and A : C, to create the answers to analogy questions. We follow this
idea, but not as strictly. In [9, p. 106, illustrated on Figure 3], it is proven that
the match points on edit distance traces between strings X and Y lie inside a
diagonal band in the edit distance matrix. This diagonal band can be equivalently
de ned by Inequality (7) which uses the notion of similarity between two strings,
i.e., the length of their longest common subsequence, noted s below, instead of
the notion of edit distance.
        </p>
        <p>
          jXj + s(X; Y )
iY
iX
jY j
s(X; Y )
(7)
On the previous example, restricting to match points inside diagonal bands
delimited by Inequality (7) in all matrices yields more instances of Equality (1)
favouring D[
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] = l (4 equalities) over D[
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] = l (1 equality only), and no more
equalities to support D[
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] = w; this leads to the correct answer `wolves'.
2.6
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>Re-estimating values in the character{position matrix</title>
        <p>
          We turn to a third and last problematic case for Proposition (6). For the analogy
question in German setzen : setzte :: lachen : D, the character{position matrix
built as described above somehow hesitates for the but last position between t
and e: 2 instances of Equality (1) support D[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] = t, 6 support D[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] = e, 1
supports D[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] = t, and 4 support D[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] = e. This leads to the incorrect answer
`lachet ' instead of `lachte'.
        </p>
        <p>
          The situation is similar to the one encountered in statistical machine
translation where word-to-word correspondence probabilities should be re-estimated
from the mere evidence that they appear in corresponding sentences. The answer
consists in using the expectation{maximisation (EM) algorithm to estimate a
probability distribution that will maximise the entropy over all possible
word-toword correspondences. The problem here is similar. Words in the source and
target languages in machine translation correspond to character and positions in the
character{position matrix. When applying the EM algorithm to the character{
position matrix on the previous example, the probabilities for the previous
characters and positions are re-estimated as follows: p(D[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] = t) = 0:29 now exceeds
p(D[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] = e) = 0:25, and p(D[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] = e) = 0:32 exceeds p(D[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] = t) = 0:28. This
leads to the correct solution `lachte'.
3
3.1
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Decoding the answer of an analogy question</title>
      <sec id="sec-3-1">
        <title>Solving an assignment problem</title>
        <p>
          In the previous section, we showed how a character{position matrix can be built
which assigns a probability to each character and position in the answer D of
an analogy question A : B :: C : D. The nal problem is thus an optimal
assignment problem where each position should receive a character and each
character should go to a position in D without con ict. This problem can be
solved by the Hungarian method, or Kuhn's algorithm [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. In our setting, we
look for a solution of the assignment problem with a maximal cost.
        </p>
        <p>
          It has also been shown that the Hungarian method is in fact the limit of
an entropy maximisation problem [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. So, we implement a naive and imperfect
algorithm which works as follows. We assign each (possibly repeated) character
to a position by scanning all characters in increasing order of entropy over all
available positions. We assign a character to the position where it gets its highest
probability. As several characters may have the same entropy simultaneously,
we choose positions so as to avoid con icts. If con icts cannot be avoided, we
simply stop the process and output no solution for the analogy question. Else, the
characters and positions just assigned are removed, the entropies are computed
again for the remaining characters and positions, and the process is repeated
until all characters have been assigned to a position. If some remaining character
cannot be assigned to any position, no solution is output.
        </p>
        <p>This strategy is more prone to fail than the Hungarian method, and should
thus be considered as a loose baseline.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Plurality of answers</title>
        <p>There may be no answer, one answer or several answers to an analogy question.
For instance, the analogy question abcabc : gh :: mnkl : D has no solution; the
analogy question easy : uneasy :: known : D has only one possible answer: D =
unknown; and the analogy question aa : ab :: aaa : x has two possible answers
only, aab or aba, if considered as an analogy of commutation (see Footnote 1).</p>
        <p>From the solution delivered by the Hungarian method, it is possible to look
in the character-position matrix and enumerate all other solutions of same cost
by performing all possible exchanges between characters and positions.
4
4.1</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Overview of the proposed method</title>
      <sec id="sec-4-1">
        <title>Sketch of the method</title>
        <p>Algorithm 1 Solving an analogy question A : B :: C : x:
def Solve(A, B, C):
# 1. Specify the answer by a character-position matrix, M .
ComputeKnownFeatures(A, B, C)
M [iD][cD] = 0 for all cD 2 D and iD 2 f1; : : : ; jDjg
for each (iA; iB) / InsideDiagonal(iA; iB) and A[iA] == B[iB]:
for each (iC, iD = iB iA + iC) / InsideAllDiagonals(iA, iB, iC, iD):</p>
        <p>M [iD][ C[iC] ] += 1</p>
        <p>Do same thing as above by exchanging B and C.
#
...</p>
        <p>M = ExpectationMaximisation(M )
# 2. Decode the character-position matrix.
list of pairs (iD; cD) = HungarianMethod(M )
return EnumerateAllSolutions(M, list of pairs (iD; cD)))
def ComputeKnownFeatures(A, B, C):
s(A; B); s(A; C) = similarity(A; B), similarity(A; C)
s(B; D); s(C; D) = s(A; C) jAj + jBj; s(A; B) jAj + jCj
jDj = jBj jAj + jCj
for each character c:</p>
        <p>occ]_in_D[c] = occ]_in_B[c] - occ]_in_A[c] + occ]_in_C[c]
def InsideDiagonal(iX , iY ):
return jXj + s(X; Y ) iY
iX</p>
        <p>jY j s(X; Y )
def InsideAllDiagonals(iA, iB, iC, iD):
return all(InsideDiagonal(iX ; iY ) for (X; Y ) in [(A; C), (B; D), (C; D)])
Algorithm 1 sketches the method as already illustrated in Figure 1. After
computing the features of the answer, a character{position matrix is built and
its cells are lled using the character-position arithmetic. The values in the
character{position matrix are then re-estimated using the
expectation{maximisation algorithm. Decoding is performed using the Hungarian method. This
outputs one answer. An enumeration of all character{position exchanges of same
cost yields all possible answers.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Complexity analysis of the method</title>
        <p>We give a very rough analysis of the complexity of the method. Computation
of similarities or enumeration of the match points are basically square in the
length of the strings, so that the most costly component in the algorithm is
solving the assignment problem by the Hungarian method, known to be cubic in
the size of the square matrix, i.e., cubic in the length of the solution in its best
implementation. The convergence of the EM algorithm is di cult to estimate2.</p>
        <p>It is interesting to observe that the method is linear in the size of D in the
best case, i.e., when A = B. In that case, the diagonal band is reduced to the
main diagonal in the matrix A : B. Consequently, the character{position matrix
exhibits a degenerated form where each character in C is assigned the same
position in D as in C. Such a matrix is a degenerated case for the Hungarian
method, which returns a solution in one pass over the matrix.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Experiments</title>
      <p>To inspect the accuracy of our proposed method, we use an in-house data set
of 160 examples, 113 positive examples and 47 negative examples. Most of the
positive examples are from various languages: Arabic, Chinese, English, German,
etc. They address complex phenomena, like parallel in xing, as in:
(German) sprechen : ihr aussprachet :: nehmen : ihr ausnahmet
In addition, some formal positive examples address incrementing problems:
abc : abcabc :: abcabcabc : abcabcabcabc
ab : aabb :: aaaaaabbbbbb : aaaaaaabbbbbbb
The purpose of the negative examples is to test the ability of our method not to
deliver an incorrect answer. The negative examples are of the type:
ab : aabb :: aaabbb : aaabbbba
where the answer proposed, aaabbbba, is incorrect; the only correct answer, when
restricting to analogies of commutation, is aaaabbbb. In this case, an algorithm
that would blindly output all possible combinations of four a's and four b's in
any order would have the incorrect answer in its set of solutions; it would thus
fail the test.</p>
      <p>We test di erent combinations of components: for the speci cation of the
answer, use of all possible match points vs. only those inside diagonal bands
2</p>
      <p>We set the convergence threshold to the reciprocal of the number of cells in the
character{position matrix, i.e., 1=jDj2. In general we observe convergence after a
very small number of steps.
(Sect. 2.5), and use of the EM algorithm to re-estimate values in the character{
position matrix vs. no use (Sect. 2.6); for decoding, use of the Hungarian method
vs. our loose baseline (increasing entropies) (Sect. 3.1).</p>
      <p>The results in Table 1 show that each of the components contributes to
accuracy. Considering only match points inside diagonal bands allows to jump
from below 66 % accuracy to almost 80 % and above. The EM algorithm may
be of no utility or may add around 5 % in accuracy. As expected, the Hungarian
method always beats our loose baseline by at least 5 % in accuracy. The best
accuracy obtained is 91 % when decoding using the Hungarian method.</p>
      <p>Match points
inside
diagonal band</p>
      <p>No
Yes</p>
      <p>EM algorithm Decoding method Recall Precision Accuracy</p>
      <p>No
Yes
No
Yes</p>
      <p>Increasing entropies
Hungarian method
Increasing entropies
Hungarian method
Increasing entropies
Hungarian method
Increasing entropies
Hungarian method</p>
      <p>This relatively low precision will now be nuanced by results on a much larger
dataset which supposedly re ects more real analogy questions. This dataset is
from Task 1 of Track 1 of SIGMORPHON 2016 Shared Task: Morphological
Rein ection. We use all the o ered languages: Arabic, Finnish, Georgian,
German, Hungarian, Maltese, Navajo, Russian, Spanish and Turkish.3 We extract
analogy questions from such data by considering all analogies of form ltered by
morphological features. For each analogy, four di erent analogy questions can be
asked, each of the four terms becoming the answer.4 As an example in Spanish,
the four following questions correspond to the same analogy:
alterado : alterada :: adeudados : x
alterada : alterado :: adeudadas : x
adeudadas : adeudados :: alterada : x
adeudados : adeudadas :: alterado : x
) x = adeudadas
) x = adeudados
) x = alterado
) x = alterada
The number of analogy questions obtained in each language is given in Table 3.
The total number over all languages exceeds 40 million analogy questions. For
half of the languages, the percentage of correct answers is equal to or higher than
95 %. The total number of correct answers over all questions in each language
reaches 94 %.</p>
      <p>Number of anal- % of correct
Language ogy questions answers
Arabic
Finnish
Georgian
German
Hungarian
Maltese
Navajo
Russian
Spanish
Turkish
Total
We showed how to answer analogy questions A : B :: C : D of unknown D
between strings of characters, by essentially relying on an intuitive basic arithmetic
equality: D[iB iA + iC ] = B[iB] A[iA] + C[iC ]: We decomposed the problem
into two steps: speci cation and decoding. We performed experiments on a set
3 https://github.com/ryancotterell/sigmorphon2016/tree/master/data/. We
use all the les of the type &lt;language&gt;-task1-train.
4 This is not the task proposed in SIGMORPHON Shared Task, which consists in
a machine learning task: predicting a word form given a lemma and morphological
features after having learnt from the training data.
of positive and negative examples and measured the contribution of each of the
components in accuracy. We further assessed the precision of the method on a
very large set of more than 40 million analogy questions from the dataset of a
shared task in morphology. We obtained the correct answer in 94 % of the cases.</p>
      <p>As future direction, we want to carry on in testing the e ciency of the
character{position arithmetic. For instance, it remains to inspect whether
restricting further to those match points lying on edit distance traces helps or
harms and whether we can dispense with the EM algorithm.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Kuhn</surname>
            ,
            <given-names>H.W.:</given-names>
          </string-name>
          <article-title>The Hungarian method for the assignment problem</article-title>
          .
          <source>Naval Research Logistic Quarterly</source>
          <volume>2</volume>
          ,
          <issue>83</issue>
          |
          <fpage>97</fpage>
          (
          <year>1955</year>
          ), http://onlinelibrary.wiley.com/doi/10. 1002/nav.3800020109/epdf
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Langlais</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patry</surname>
            ,
            <given-names>A.</given-names>
          </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>
          . pp.
          <volume>877</volume>
          {
          <issue>886</issue>
          (
          <year>2007</year>
          ), https://www.aclweb.org/anthology/D/D07/D07-1092.pdf
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Langlais</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yvon</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Scaling up analogical learning</article-title>
          .
          <source>In: Proceedings of the 22nd International Conference on Computation Linguistics (Coling</source>
          <year>2008</year>
          ). vol.
          <source>Posters</source>
          , pp.
          <volume>51</volume>
          {
          <fpage>54</fpage>
          .
          <article-title>Coling 2008 Organizing Committee</article-title>
          , Manchester,
          <string-name>
            <surname>UK</surname>
          </string-name>
          (
          <year>August 2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Lepage</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Solving analogies on words: an algorithm</article-title>
          .
          <source>In: Proceedings of the Association for Computational Linguistics (ACL'98) and 17th International Conference on Computational Linguistics (COLING'98)</source>
          . vol. I, pp.
          <volume>728</volume>
          {
          <fpage>735</fpage>
          .
          <string-name>
            <surname>Montreal</surname>
          </string-name>
          (Aug
          <year>1998</year>
          ), https://aclweb.org/anthology/P/P98/P98-1120.pdf
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Lepage</surname>
          </string-name>
          , Y.:
          <article-title>De l'analogie rendant compte de la commutation en linguistique. Memoire d'habilitation a diriger les recherches</article-title>
          , Universite de Grenoble (May
          <year>2003</year>
          ), https://tel.archives-ouvertes.fr/tel-00004372/document
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lepage</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Proportional analogy in written language data</article-title>
          . In: Gala,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Rapp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Bel-Enguix</surname>
          </string-name>
          ,
          <string-name>
            <surname>G</surname>
          </string-name>
          . (eds.) Language, Production,
          <source>Cognition and the Lexicon</source>
          , pp.
          <volume>1</volume>
          {
          <fpage>23</fpage>
          .
          <string-name>
            <surname>Text</surname>
          </string-name>
          ,
          <source>Speech and Language Technology 48</source>
          , Springer International Publishing Switzerland (
          <year>2014</year>
          ), http://link.springer.com/chapter/10.1007%
          <fpage>2F978</fpage>
          -
          <fpage>3</fpage>
          -
          <fpage>319</fpage>
          -08043-7_
          <fpage>10</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Mikolov</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yih</surname>
          </string-name>
          , W.T.,
          <string-name>
            <surname>Zweig</surname>
          </string-name>
          , G.:
          <article-title>Linguistic regularities in continuous space word representations</article-title>
          .
          <source>In: Proceedings of the</source>
          <year>2013</year>
          <article-title>Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL-HLT</article-title>
          <year>2013</year>
          ). pp.
          <volume>746</volume>
          {
          <fpage>751</fpage>
          . Association for Computational Linguistics, Atlanta, Georgia (
          <year>June 2013</year>
          ), http://www.aclweb.org/anthology/N13-1090
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Sharify</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gaubert</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grigori</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Solution of the optimal assignment problem by diagonal scaling algorithms</article-title>
          . ArXiv e-prints (
          <year>Apr 2011</year>
          ), https://arxiv.org/ pdf/1104.3830.pdf
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Ukkonen</surname>
          </string-name>
          , E.:
          <article-title>Algorithms for approximate string matching</article-title>
          .
          <source>Information and Control</source>
          <volume>64</volume>
          ,
          <issue>100</issue>
          {
          <fpage>118</fpage>
          (
          <year>1985</year>
          ), http://www.sciencedirect.com/science/article/pii/ S0019995885800462
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Yvon</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stroppa</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miclet</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Delhay</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Solving analogical equations on words</article-title>
          .
          <source>Technical report ENST2004D005</source>
          , ENST (Jul
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>