<!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>GUL.LE.VER @ GhigliottinAI: A Glove based Artificial Player to Solve the Language Game “La Ghigliottina”</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nazareno De Francesco Turin</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Italy nazarenodefrancesco@gmail.com</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2012</year>
      </pub-date>
      <abstract>
        <p>The paper describes GUL.LE.VER, GUiLlottine gLovE resolVER, a Glove based system developed to solve the game “La Ghigliottina” which participated in the Evalita 2020 (Basile et al., 2020) task Ghigliottin-AI. The system described positioned #2, with 0.26 of Precision and 0.46 R@10, more than one guillotine is solved every four games, achieving results comparable to human players. The system proved to solve a different kind of guillotines compared to the first classified system 'Il Mago della ghigliottina' (Sangati et al., 2018). An approach based on these two kinds of systems may result in a boost in this field of research.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        “La Ghigliottina” is a language game in which the
gamer has to guess the word that is most
correlated with other five words, named clues. An
example is the guillotine ”Certificate, Son, Tragedy,
Star, Venus”, the solution, in this case, is ”Birth”.
The game structure is simple, but some complex
steps are required in order to solve a guillotine.
The gamer’s background knowledge has to be rich
enough to cover a large variety of fields, such as
common culture, proverbs, etc. Additionally, the
gamer’s reasoning has to be fast enough to give
the solution in less than a minute. In this
article, an artificial player for The Guillotine has been
built: GUL.LE.VER, the GUiLlotine gLovE
resolVER. It’s mostly based on the Glove
        <xref ref-type="bibr" rid="ref10">(Pennington et al., 2014)</xref>
        vector representation of the words
present in a large collected dataset, containing the
      </p>
      <p>Copyright ©2020 for this paper by its authors. Use
permitted under Creative Commons License Attribution 4.0
International (CC BY 4.0).</p>
      <p>
        Italian Wiktionary, Wikiquote, Wikipedia (only
titles), the Italian Collocations Dictionary (Tiberi,
2018), and resources scraped on the web
containing Italian polirematics, proverbs and songs titles.
The Glove algorithm was chosen for its intrinsic
power in capturing the co-occurrence correlation
between two words that are not synonyms, due to
the co-occurrence matrix that the algorithm builds
before the training. Other similar algorithms, such
as Word2Vec, do not have this characteristic. The
solution for the guillotine is searched in the vector
space near the clues, obtaining a list of solution
candidates. This list is descending reordered
using a hybrid function composed by two parts: one
part is based on the Pointwise Mutual Information
        <xref ref-type="bibr" rid="ref9">(Sangati et al., 2018)</xref>
        , the other one is based on
the weighted sum of the cosine similarity between
the solution candidate and the clues, in which the
weight is the normalized Inverse Document
Frequency of the single clue in the corpus (solutions
that are correlated with the rarest clues are more
important than others).
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Related work</title>
      <p>
        In order to find the solution for a particular game,
a player needs to know the rules that regulate
the game and, based on the game type, he also
needs to possess a background knowledge that
helps him in finding the solution. We can
distinguish two types of games based on these two
requirements: closed-world games and open-world
games. Closed-world games provide the player
with all the knowledge necessary for playing the
game (like chess), otherwise open-world games
can not be solved without additional knowledge.
A particular type of open-world games is
represented by language games in which word
meanings play a central role (like crosswords)
        <xref ref-type="bibr" rid="ref2">(Littman
et al., 2000)</xref>
        . The challenge in this type of games
is found in the intrinsic ambiguity of natural
language, in which a word with different meanings
may be connected with a word or with another
based on its interpretation, which is heavily
dependent on the context. The needs of reasoning
skills and a background knowledge to solve this
type of games is the main reason for which they
have attracted the attention of researchers. In this
field a language game like Who Wants to be a
Millionaire?, in which the player must have a wide
background knowledge in order to answer a
series of multiple-choice questions, has been shown
to be solved mining the web, with the same
performance of a human player
        <xref ref-type="bibr" rid="ref3">(Lam et al., 2003)</xref>
        .
Extract common sense human knowledge from
Wikipedia articles is another proposed solution
that is able to challenge a human player
        <xref ref-type="bibr" rid="ref4">(Molino
et al., 2013)</xref>
        . In the same category of open-world
language games is set “La Ghigliottina”, an
Italian quiz show in which five words are
submitted to the player as clues and he has to find the
unique word that is correlated with all the clues.
In order to find this hidden associations between
clues and solution, a human player must possess
a wide background knowledge and he has to be
able to perform a complex task of reasoning on
it in order of finding correlations between
different word meanings in different contexts. In
literature, a proposed solution to this problem is
OTTHO (On the Tip of my THOught)
        <xref ref-type="bibr" rid="ref5 ref6">(Semeraro et
al., 2009; Semeraro et al., 2012)</xref>
        which achieved
performance similar to humans using a network
representation of the background knowledge and a
spreading algorithm to find the solution. “Il mago
della Ghigliottina”
        <xref ref-type="bibr" rid="ref9">(Sangati et al., 2018)</xref>
        , based
on a co-occurrence matrix obtained from a
corpus of patterns mined on web scraped resources
and the Pointwise Mutual Information as measure
of word correlation, achieved super-human
performance. In order to explore a new way to solve this
game, GUL.LE.VER is built using similar web
scraped resources, Glove algorithm for word
representation and a custom word correlation
measure based on cosine similarity and inverse
document frequency (idf).
2.1
      </p>
      <sec id="sec-2-1">
        <title>Linguistic Resources</title>
        <p>Based on the previous related works, the linguistic
resources involved in this project are:
• The italian Wikipedia, only titles,
downloaded via WikiExtractor (Attardi, 2012).</p>
        <p>Wiktionary, downloaded via
• The italian</p>
        <p>WikiExtractor.
• The italian</p>
        <p>WikiExtractor.</p>
        <p>
          Wikiquote, downloaded via
• The “Dizionario delle Collocazioni” (Tiberi,
2018) containing 200.000 combinations of
words in Italian.
• A collection of 369 italian proverbs
          <xref ref-type="bibr" rid="ref11">(Dige,
2016)</xref>
          • A collection of more than 3700 common
sayings, scraped on different websites .
• A collection of more than 6000 italian
polirematics, scraped on different websites. 678
italian song titles
          <xref ref-type="bibr" rid="ref12">(Paldo, 2013)</xref>
          .
        </p>
        <p>These corpora was preprocessed, using
tokenization (single words only) and punctuation
removing, obtaining a unique corpus to feed the Glove
algorithm.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>System description</title>
      <p>The system can be described in 6 steps:
1. Glove training: the corpus is used to train
a Glove model that represents the words in
corpus in a compact vector space. The best
parameters used to train the algorithm are
empirically obtained: Vector size 600,
Vocab min count 200, Window 10, Iteration 50,
Xmax 10, Alpha 0.75, Eta 0.05. They proved
to be the best parameters for the Evalita
training dataset.
(a) The Vocab min count setted to 200
corresponds to a vocabulary of 28873
unique words represented.
2. Setting search space, ‘looking into
neighbors’: starting from the clues, a list of 5 M
solution candidates is built finding the M
most similar words to each clue in order of
cosine similarity. The result search space is
significantly smaller than the entire
vocabulary. This solution gives faster and more
accurate results than the exhaustive search on
the vocabulary.</p>
      <sec id="sec-3-1">
        <title>3. Filtering candidates: the solution candi</title>
        <p>dates list is filtered by:
(a) removing all words except Nouns and
Adjective (verbs and conjunctions are
never solutions for the game).
(b) removing Adjectives too, if one of the
clues is already an adjective.
(c) removing words that are present in a
custom blacklist and not present in a
custom whitelist. The blacklist contains
lists of non-ambiguous proper nouns,
cities names, foreign words, etc.
4. Reordering, the cosine based score
function: the filtered list is reordered in
descending order based on the following formula:
(a) F (t) =
(Pin=1(cos(s;ci) nIDF (ci))) N</p>
        <p>1+
(b) The first part of the formula are two
arbitrary weights that can be manually set
up in order to give more importance to
the weighted mean of the cosines or the
standard deviation.
(c) The second part of the formula has: as
a numerator, the weighted mean of the
cosines between the solution candidate
and clues. The weight is the
normalized Inverse Document Frequency of the
clue in the corpus. This gives a boost
to the solutions that are correlated to
the most rare clues, starting with the
assumption that a rare clue has less
possible meaningful combination in the
corpus, so a candidate solution highly
correlated with that may be corresponding
to the solution of the game. As a
denominator, there is the standard deviation of
the cosines (not weighted). This is
intended to give a boost to the solutions
that are correlated with all the clues in
a balanced way, avoiding such solutions
that are very highly correlated to a clue
but not to the others.
(d) A cosine threshold can be set in order to
discard cosines that are lower than that,
penalizing those that are too low. In this
case, the cosines lower than zero are
penalized automatically to 1 (the lower
bound of the cosine similarity function),
avoiding solutions that have opposite
meaning compared to the clues.
5. Solution certainty: if the difference between
the first and the second score result is more
than a Solution certainty threshold, the first
candidate is proposed as a solution for the
game. If not, the candidate list is reordered
again using the Pointwise Mutual
Information (pmi),calculated on the corpus proposed,
as the third multiplied part of the formula
F (t). This helps in the situation in which the
real solution is between the first three/four
results before the final reordering.
6. Solution proposed: the first candidate of the
reorder list is proposed as a solution for the
game.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>System implementation</title>
      <p>
        The system is entirely implemented in Python 3.7.
The principal libraries used are:
• gensim
        <xref ref-type="bibr" rid="ref14">( Rˇehu˚rˇek et al., 2011)</xref>
        • spacy-stanza
        <xref ref-type="bibr" rid="ref16">(Peng et al., 2020)</xref>
        • nltk
        <xref ref-type="bibr" rid="ref15">(Loper et al., 2002)</xref>
        • numba
        <xref ref-type="bibr" rid="ref13">(Lam et al., 2015)</xref>
        • numpy
      </p>
      <p>
        The Glove algorithm
        <xref ref-type="bibr" rid="ref10">(Pennington et al., 2014)</xref>
        is the C implementation provided by Stanford and
the model obtained is loaded through gensim. A
Flask python server was setup to respond to the
evaluation requests via API.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Results</title>
      <p>The table 1 shows the results obtained by
GUL.LE.VER on the Evalita-GhigliottinAI Dev
dataset and Test dataset.</p>
      <p>Set
Dev
Test
Dev*
Test*</p>
      <p>Size Precision R@5 R@10 R@100
300 pt 0,32 0,44 0,51 0,69
350 pt 0,27 0,38 0,46 0,62
300 pt 0,32 0,37 0,44 0,68
350 pt 0,28 0,40 0,48 0,65</p>
      <p>The 5% difference in the Precision between the
Dev set and the Test set is in part due to a blacklist
overfitted on the dev set. 10 solutions are found
to be erroneously in the blacklist. Putting them in
the whitelist gives a more balanced result, slightly
higher for the Test dataset and a little lower for
the Dev dataset, as shown by the Dev* and Test*
rows. The system seems biased by solutions that
are very frequent in corpus: it responded ‘uno’ 23
times and none of them were the correct solution.
Another example: it responded ‘senza’ 9 times,
only one time guessing the correct solution. An
important point to underline is that almost half of
the solutions are found in the first 10 proposed
results, with approximately 40% of them in the
first 5, with 57% and 56% in the first 20 for Test
and Dev set respectively (not reported in Table 1).
This seems very promising for future upgrading,
finding a better way to clean the candidates list
and/or fine tuning the reorder function.</p>
      <p>The last point of analysis is a brief
comparison between GUL.LE.VER and ‘Il Mago della
Ghigliottina’. Selecting only the resolved
guillotines from the Test Set and submitting them to
the Telegram version of ‘Il Mago della
Ghigliottina’, 18 guillotines were not resolved by Sangati
et al., 2018 system. These guillotines (in table 2)
represent 4.8% of the total test guillotines and can
be resolved only by the proposed solution.</p>
      <p>Clue1 Clue2 Clue3
fazzoletto alto allungare
studio vestire notte
paradiso bordo sud
vecchio cavallo end
mettere moto collo
mamma scena scuola
volo dare mezzi
idee bocca isola
finestra vestire volto
pari pace sosta
cura pietre alto
acqua onda capo
citta` tv vita
bandiera coltelli caponi
dare camera consiglio
regola parole alberi
leggero barba togliere</p>
      <p>Clue4
braccio
povero
nino
soda
baffi
re
ente
sottomarino
chiara
motivo
azzurro
sempre
oggi
marx
misura
perfetto
viso</p>
      <p>Clue5 Gullever Mago
osso collo naso
montalbano giovane panni</p>
      <p>casa benvenuti angolo
conquista west polenta
brutta piega giro
crudo nudo gonna
intervento assistenza pronto
spock vulcano porto
chiaro scuro luna
famiglia senza apparente
occhi sole cielo
essere verde andata
gioco ragazzi frenetico
italia fratelli regno
stato sicurezza deciso
fa tre quadrato
inganno trucco velo</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion and future work</title>
      <p>In this paper is described GUL.LE.VER, an
artificial player to solve the game “La Ghigliottina”,
based on the Glove word vector algorithm, whose
power is its co-occurrence matrix reduction. An
hybrid pmi approach is proposed as fallback in
case of uncertainty. The system achieved good
performance in the Evalita2020 task, with results
comparable to humans. A comparison made with
the solutions proposed by the best system, the
Sangati et al., 2018 ‘Il Mago della Ghigliottina’,
suggests that the proposed approach is capable of
solving different kinds of guillotines compared to
the first one. As future work, a even more hybrid
solution between these two kinds of approaches
should be implemented, hoping it will be result in
a boost in this field of research.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <given-names>Paola</given-names>
            <surname>Tiberii</surname>
          </string-name>
          ,
          <article-title>Dizionario delle collocazioni: le combinazioni delle parole in italiano</article-title>
          , Zanichelli,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>M. L.</given-names>
            <surname>Littman</surname>
          </string-name>
          ,
          <article-title>Review: Computer language games</article-title>
          ,
          <source>in Proc. Comput. Games, 2nd Int. Conf., Rev</source>
          . Papers,
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Marsland</surname>
          </string-name>
          and I. Frank, Eds.,
          <year>2000</year>
          , vol.
          <year>2063</year>
          , pp.
          <volume>396404</volume>
          ,
          <article-title>ser</article-title>
          .
          <source>LNCS</source>
          , Springer.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <given-names>S. K.</given-names>
            <surname>Lam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. M.</given-names>
            <surname>Pennock</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Cosley</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Lawrence</surname>
          </string-name>
          ,
          <article-title>Mining the web to play Who wants to be a millionaire?</article-title>
          ,
          <source>in Proc. 19th Conf. Uncert. Artif</source>
          . Intell.,
          <string-name>
            <given-names>C.</given-names>
            <surname>Meek</surname>
          </string-name>
          and U. Kjrulff, Eds.
          <year>2003</year>
          , pp.
          <fpage>337345</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>P.</given-names>
            <surname>Molino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Basile</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Santoro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Lops</surname>
          </string-name>
          , M. de Gemmis, and
          <string-name>
            <given-names>G.</given-names>
            <surname>Semeraro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Baldoni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Baroglio</surname>
          </string-name>
          , G. Boella, and R. Micalizio, Eds.,
          <article-title>A virtual player for who wants to be a millionaire? based on question answering</article-title>
          ,
          <source>in Proc. AI*IA 2013: Adv. Artif. Intell.13th Int. Conf. Italian Assoc</source>
          . Artif. Intell.,
          <year>2013</year>
          , vol.
          <volume>8249</volume>
          , pp.
          <volume>205216</volume>
          , ser.
          <source>Lecture Notes in Comput. Sci..</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>G.</given-names>
            <surname>Semeraro</surname>
          </string-name>
          , M. de Gemmis, P. Lops, and
          <string-name>
            <given-names>P.</given-names>
            <surname>Basile</surname>
          </string-name>
          ,
          <article-title>An artificial player for a language game</article-title>
          ,
          <source>IEEE Intell. Syst.</source>
          , vol.
          <volume>27</volume>
          , no.
          <issue>5</issue>
          , pp.
          <fpage>3643</fpage>
          ,
          <string-name>
            <surname>Sep</surname>
          </string-name>
          .Oct.
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <given-names>G.</given-names>
            <surname>Semeraro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Lops</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Basile</surname>
          </string-name>
          , and M. de Gemmis,
          <article-title>On the tip of my thought: Playing the Guillotine game</article-title>
          ,
          <source>in Proc. 21st Int. Joint Conf. Artif. Intell.</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>15431548</fpage>
          , Morgan Kaufmann.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Basile</surname>
          </string-name>
          , Pierpaolo and de Gemmis,
          <article-title>Marco and Lops, Pasquale and Semeraro, Giovanni Solving a complex language game by using knowledge-based word associations discovery</article-title>
          .
          <source>IEEE Transactions on Computational Intelligence and AI in Games 8.1</source>
          (
          <year>2014</year>
          ):
          <fpage>13</fpage>
          -
          <lpage>26</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <given-names>Valerio</given-names>
            <surname>Basile</surname>
          </string-name>
          , Danilo Croce, Maria Di Maro, and
          <string-name>
            <surname>Lucia</surname>
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Passaro</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>Evalita 2020: Overview of the 7th evaluation campaign of natural language processing and speech tools for italian</article-title>
          .
          <source>In Proceedings of Seventh Evaluation Campaign of Natural Language Processing and Speech Tools for Italian. Final Workshop (EVALITA</source>
          <year>2020</year>
          ),
          <article-title>Online</article-title>
          . CEUR.org.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <given-names>Sangati</given-names>
            <surname>Federico</surname>
          </string-name>
          , Antonio Pascucci, and
          <string-name>
            <given-names>Johanna</given-names>
            <surname>Monti</surname>
          </string-name>
          .
          <article-title>Exploiting Multiword Expressions to solve “La Ghigliottina”</article-title>
          .
          <source>Sixth Evaluation Campaign of Natural Language Processing and Speech Tools for Italian. Final Workshop (EVALITA</source>
          <year>2018</year>
          ). Vol.
          <volume>2263</volume>
          . Accademia University Press,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Pennington</surname>
            , Jeffrey, Richard Socher, and
            <given-names>Christopher D.</given-names>
          </string-name>
          <string-name>
            <surname>Manning</surname>
          </string-name>
          . Glove:
          <article-title>Global vectors for word representation</article-title>
          .
          <source>Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP)</source>
          .
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <given-names>Antonio</given-names>
            <surname>Dige</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Raccolta di proverbi e detti italiani</article-title>
          . http://web.tiscali.it/proverbiitaliani.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Paldo</surname>
          </string-name>
          , Alessandro.
          <year>2013</year>
          . http://alessandropaldo.blogspot.com/
          <year>2013</year>
          /10/1-10-1.html
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Lam</surname>
            , Siu Kwan, Antoine Pitrou, and
            <given-names>Stanley</given-names>
          </string-name>
          <string-name>
            <surname>Seibert</surname>
          </string-name>
          .
          <article-title>Numba: A llvm-based python jit compiler</article-title>
          .
          <source>Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC</source>
          .
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <article-title>Rˇ ehu˚rˇek, Radim</article-title>
          , and
          <string-name>
            <given-names>Petr</given-names>
            <surname>Sojka</surname>
          </string-name>
          .
          <article-title>Gensim-statistical semantics in python. Retrieved from genism</article-title>
          .
          <source>org</source>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Loper</surname>
            , Edward, and
            <given-names>Steven</given-names>
          </string-name>
          <string-name>
            <surname>Bird</surname>
          </string-name>
          .
          <article-title>NLTK: the natural language toolkit</article-title>
          .
          <source>arXiv preprint cs/0205028</source>
          (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Qi</surname>
          </string-name>
          , Peng and Zhang, Yuhao and Zhang, Yuhui and Bolton, Jason and Manning,
          <string-name>
            <surname>Christopher D Stanza</surname>
          </string-name>
          :
          <article-title>A python natural language processing toolkit for many human languages</article-title>
          .
          <source>arXiv preprint arXiv:2003</source>
          .
          <volume>07082</volume>
          (
          <year>2020</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>