<!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>Lacam&amp;Int@UNIBA at the EVALITA 2016-SENTIPOLC Task</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vito Vincenzo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Covella</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Berardina De Carolis</string-name>
          <email>na.decarolis@uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Bari “Aldo Moro”</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>English. This paper describes our first experience of participation at the EVALITA challenge. We participated only to the SENTIPOLC Sentiment Polarity subtask and, to this purpose we tested two systems, both developed for a generic Text Categorization task, in the context of the sentiment analysis: SentimentWS and SentiPy. Both were developed according to the same pipeline, but using different feature sets and classification algorithms. The first system does not use any resource specifically developed for the sentiment analysis task. The second one, which had a slightly better performance in the polarity detection subtask, was enriched with an emoticon classifier in order to fit better the purpose of the challenge.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Italiano. Questo articolo descrive la
nostra prima esperienza di partecipazione
ad EVALITA. Il nostro team ha
partecipato solo al subtask inerente il
riconoscimento della Sentiment Polarity, In
questo contesot abbiamo testato due
sistemi sviluppati genericamente per la
Text Categorization applicandoli a
questo specifico task: SentimentWS e
SentiPy. Entrambi i sistemi usano la stessa
pipeline ma con set di feature e algoritmi
di classificazione differenti. Il primo
sistema non usa alcuna risorsa specifiche
per la sentment analysis, mentre il
secondo, che si è classifcato meglio, pur
mantendendo la sua genericità nella
classificazione del testo, è stato
arricchito con un classificatore per le emoticon</p>
    </sec>
    <sec id="sec-2">
      <title>Stefano Ferilli,</title>
    </sec>
    <sec id="sec-3">
      <title>Domenico Redavid</title>
    </sec>
    <sec id="sec-4">
      <title>Department of Computer Science</title>
      <p>University of Bari “Aldo Moro”, Italy
per cercare di renderlo più adatto allo
scopo della challenge.
1</p>
    </sec>
    <sec id="sec-5">
      <title>Introduction</title>
      <p>We tested two systems to analyze the Sentiment
Polarity for Italian. They were designed and
created to be generic Text Categorization (TC)
systems without any specific feature and resource to
support Sentiment Analysis. We used them in
various domains (movie reviews, opinion about
public administration services, mood detection,
Facebook posts, polarity expressed in the
linguistic content of speech interaction, etc.).</p>
      <p>
        Both systems were applied to the EVALITA
2016 SENTIPOLC Sentiment Polarity detection
subtask
        <xref ref-type="bibr" rid="ref1">(Barbieri et al., 2016)</xref>
        in order to
understand whether, notwithstanding their
“generalpurpose” and context-independent setting, they
were flexible enough to reach a good accuracy. If
so, this would mean that the Sentiment Analysis
task could be approached without creating
special resources for this purpose, which is known
to be a costly and critical activity, or that, if
available, these resources may improve their
performance.
      </p>
      <p>We present here only the results of the
constrained runs in which only the provided training
data were used to develop the systems.</p>
      <p>The first system was entirely developed by the
LACAM research group (all the classes used in
the pipeline). After studying the effect of
different combinations of features and algorithms on
the automatic learning of sentiment polarity
classifiers in Italian based on the EVALITA
SENTIPOLC 2014 dataset, we applied the best one to
the training set of EVALITA 2016 in order to
participate to the challenge.</p>
      <p>
        The second system was developed using the
scikit-learn
        <xref ref-type="bibr" rid="ref2">(Pedregosa et al., 2011)</xref>
        and NLTK
libraries
        <xref ref-type="bibr" rid="ref3">(Bird et al., 2009)</xref>
        for building the
pipeline and in order to optimize the performance on
the provided training set, classifications
algorithms and feature sets, different from those used
in SentimentWS, were tested.
      </p>
      <p>Even if initially they have been conceived as a
generic TC system, with the aim of tuning it for
the SENTIPOLC task, they considered also the
emoticons present in the tweets. In the first
system this was made by including them in the set
of features, while in the second one emoticons
were handled by building a classifier whose
result was considered to influence the sentiment
polarity detection. The results obtained by the
two systems are comparable even if the second
one shows a better overall accuracy and ranked
higher than the first one in the challenge.
2
2.1</p>
    </sec>
    <sec id="sec-6">
      <title>Systems Description</title>
    </sec>
    <sec id="sec-7">
      <title>SentimentWS</title>
      <p>
        In a previous work
        <xref ref-type="bibr" rid="ref4">(Ferilli et al., 2015)</xref>
        we
developed a system for Sentiment
Analysis/Opinion Italian. It was called SentimentWS,
since it has been initially developed to run as a
web-service in the context of opinion coming
from web-based applications. SentimentWS casts
the Sentiment Classification problem as a TC
task, where the categories represent the polarity.
To be general and context-independent, it relies
on supervised Machine Learning approaches. To
learn a classifier, one must first choose what
features to consider to describe the documents, and
what is the learning method to be exploited. An
analysis of the state-of-the-art suggested that no
single approach can be considered as the
absolute winner, and that different approaches, based
on different perspectives, may reach interesting
results on different features. As regards the
features, for the sake of flexibility, it allows to
select different combinations of features to be used
for learning the predictive models. As regards the
approaches, our proposal is to select a set of
approaches that are sufficiently complementary to
mutually provide strengths and support
weaknesses.
      </p>
      <p>As regards the internal representation of text,
most NLP approaches and applications focus on
the lexical/grammatical level as a good tradeoff
for expressiveness and complexity, effectiveness
and efficiency. Accordingly, we have decided to
take into account the following kinds of
descriptors:</p>
      <p>- single normalized words (ignoring dates,
numbers and the like), that we believe convey
most of informational content in the text;
- abbreviations, acronyms, and colloquial
expressions, especially those that are often
found in informal texts such as blog posts on
the Internet and SMS’;</p>
      <p>- n-grams (groups of n consecutive terms)
whose frequency of occurrence in the corpus
is above a pre-defined threshold, that
sometimes may be particularly meaningful;</p>
      <p>- PoS tags, that are intuitively discriminant
for subjectivity;</p>
      <p>- expressive punctuation (dots,
exclamation and question marks), that may be
indicative of subjectivity and emotional
involvement.</p>
      <p>In order to test the system in the context of
Sentiment Analysis we added emoticons in the
set of features to be considered, due to their
direct and explicit relationship to emotions and
moods.</p>
      <p>
        As regards NLP pre-processing, we used the
TreeTagger
        <xref ref-type="bibr" rid="ref5">(Schmid, 1994)</xref>
        for PoS-tagging and
the Snowball suite
        <xref ref-type="bibr" rid="ref6">(Porter, 2001)</xref>
        for stemming.
All the selected features are collectively
represented in a single vector space based on the
realvalued weighting scheme of Term Frequency
Inverse Document Frequency (TF-IDF)
        <xref ref-type="bibr" rid="ref7">(Robertson, 2004)</xref>
        . To have values into [0, 1] we use
cosine normalization.
      </p>
      <p>
        To reduce the dimensionality of the vector
space, Document Frequency (i.e., removing
terms that do not pass a predefined frequency
threshold) was used as a good tradeoff between
simplicity and effectiveness. To build the
classification model we focused on two
complementary approaches that have been proved effective
in the literature: a similarity-based one (Rocchio)
and a probabilistic one (Naive Bayes).
SentimentWS combines the above approaches in a
committee, where each classifier (i = 1,2) plays
the role of a different domain expert that assigns
a score sik to category ck for each document to
be classified. The final prediction is obtained as
class c = arg maxk Sk, considering a function Sk
= f (s1k; s2k ). There is a wide range of options
for function f
        <xref ref-type="bibr" rid="ref8">(Tulyakov et al., 2008)</xref>
        . In our case
we use a weighted sum, which requires that the
values returned by the single approaches are
comparable, i.e. they refer to the same scale. In
fact, while the Naive Bayes approach returns
probability values, Rocchio's classifier returns
similarity values, both in [0; 1].
2.2
      </p>
    </sec>
    <sec id="sec-8">
      <title>SentiPy</title>
      <p>SentiPy has been developed using the scikit-learn
and NLTK libraries for building the pipeline and,
in order to optimize the performance on the
provided training set, classifications algorithms and
feature sets, different from those used in
SentimentWS, were tested. It uses a committee of two
classifiers, one for the text component of the
message and the other for the emoticons. For the
first classifier we use a very simple set of
features, any string made at least of two chars, and
linear SVC as classification algorithm.</p>
      <p>Even if this might seem too simple, we made
some experiments in which we tested other
configurations of features taking advantage of i)
lemmatization, ii) lemmatization followed by
POS-tagging, iii) stemming, iv) stemming
followed by POS-tagging. All of them were tested
with and without removing italian's stopwords
(taken from
nltk.corpus.stopwords.words(“italian”)).</p>
      <p>We tested also other classification algorithms
(Passive Aggressive Classifier, SGDClassifier,
Multinomial Naive Bayes), but their performance
was less accurate than the one of linear SVC, that
we selected.</p>
      <p>Before fitting the classifier text preprocessing
was performed according to the following steps:
- Twitter's “mentions” (identified by the
character '@' followed by the username) and
http links are removed;</p>
      <p>- retweets special characters (“RT” and
“rt”) are removed;</p>
      <p>- hashtags are “purged”, removing the
character '#' followed by the string, which is
then left unmodified;</p>
      <p>- non-BMP utf8 characters (characters
outside the Basic Multilingual Plane), usually
used to encode special emoticons and emojis
used in tweets, are handled by replacing them
with their hexadecimal encoding; this is done
to avoid errors while reading the files.</p>
      <p>After doing the aforementioned experiments
using the training and testing sets provided by
sentipolc2014, which was also used to fine-tune
the parameters used by the LinearSVC
algorithm, we compared the most successful
approaches: tokenization done using
nltk.tokenize.TweetTokenizer followed by
stemming and feature extraction simply done by
using the default tokenizer provided by scikit (it
tokenizes the string by extracting words of at
least 2 letters).</p>
      <p>The best configurations are those shown in
Table 1 and Table 2.</p>
    </sec>
    <sec id="sec-9">
      <title>Tokenization</title>
    </sec>
    <sec id="sec-10">
      <title>Maximum document frequency CountVectorizer parameter</title>
    </sec>
    <sec id="sec-11">
      <title>Maximum number of terms for the vocabulary n-grams</title>
    </sec>
    <sec id="sec-12">
      <title>Term weights</title>
    </sec>
    <sec id="sec-13">
      <title>Vector’s normalization fit_intercept classifier parameter</title>
      <p>dual classifier
parameter</p>
    </sec>
    <sec id="sec-14">
      <title>Number of iterations over training data</title>
    </sec>
    <sec id="sec-15">
      <title>Class balancing</title>
    </sec>
    <sec id="sec-16">
      <title>Scikit-Learn default tokenizer 0.5 unlimited</title>
    </sec>
    <sec id="sec-17">
      <title>Unigrams and bigrams tf-idf l2</title>
    </sec>
    <sec id="sec-18">
      <title>False</title>
    </sec>
    <sec id="sec-19">
      <title>True</title>
      <p>1000
automatic
dual classifier
parameter</p>
    </sec>
    <sec id="sec-20">
      <title>Number of iterations over training data</title>
    </sec>
    <sec id="sec-21">
      <title>Class balancing True</title>
    </sec>
    <sec id="sec-22">
      <title>True</title>
      <p>1000
automatic</p>
      <p>These two configurations, which had the same
fine-tuned LinearSVC's parameters, were
compared observing the evaluation data obtained
testing them on sentipolc2016 training set, taking
advantage of a standard common technique:
10fold cross validation, whose results are shown in
Table 3.</p>
      <p>The obtained results were comparable
therefore we selected the configuration shown in the
first two rows of Table 3 combined with the
emoticon classifier since it was not presented in
the SentimentWS system.</p>
    </sec>
    <sec id="sec-23">
      <title>Configuration</title>
    </sec>
    <sec id="sec-24">
      <title>VotingClassifier</title>
      <p>default tokenization –
positive vs all</p>
    </sec>
    <sec id="sec-25">
      <title>VotingClassifier</title>
      <p>default tokenization –
negative vs all</p>
    </sec>
    <sec id="sec-26">
      <title>VotingClassifier stemming – positive vs all</title>
    </sec>
    <sec id="sec-27">
      <title>VotingClassifier stemming – negative vs all</title>
    </sec>
    <sec id="sec-28">
      <title>F1-score</title>
      <p>macro
averaging</p>
      <p>Accura</p>
      <p>cy
0,70388</p>
      <p>0,77383
0,70162</p>
      <p>0,70648
0,70654</p>
      <p>0,75424
0,6952
0,70351</p>
      <p>As far as the emoticons and emojis are
concerned, in this system we decided to exclude
them from the features set, solution adopted in
SentimentWS, and train a classifier according to
the valence with whom the tweet was labeled.
This approach may be useful to detect irony or
for recognizing valence in particular domains in
which emoticons are used with a different
meaning. Emoticons and emojis were retrieved using
a dictionary of strings and some regular
expressions. The emoticons and emojis retrieved are
replaced with identifiers, removing all other
terms not related to the emoticons, thus obtaining
a matrix emoticons-classes. The underlying
classifier takes this matrix as input and creates the
model that will be used in the classification
phase. The algorithm used in the experiments is
the Multinomial Naive Bayes.</p>
      <p>The committee of classifiers was built using
the VotingClassifier class, which is provided by
the Scikit-Learn framework. The chosen voting
technique is the so called “hard voting”: it is
based on the majority voting rule; in case of a tie,
the classifier will select the class based on the
ascending sort order (classifier 1 → class 2;
classifier 2 → class 1; class 1 will be the selected
class).
3</p>
    </sec>
    <sec id="sec-29">
      <title>Experiments</title>
      <p>Both systems were tested on other domains
before applying them to the SENTIPOLC subtask.</p>
      <p>In the results tables, for each class (positive
and negative) 0 represents the value “False” used
in the dataset annotations for the specific tweet
and class, 1 represents “True”, following the task
guidelines of Sentipolc 2016. Thus the cell
identified by the row positive and the column prec.0
shows the precision related to the tweets with
positive polarity annotations set to False. The
meaning of the other cells can be obtained
analogously.</p>
    </sec>
    <sec id="sec-30">
      <title>3.1 SentimentWS Results</title>
      <p>
        SentimentWS was tested initially on a dataset of
2000 reviews in Italian language, concerning 558
movies, taken from http://filmup.leonardo.it/. In
this case, classification performance was
evaluated on 17 different feature settings using a
5fold cross-validation procedure. Equal weight
was assigned to all classifiers in the
SentimentWS committee. Overall accuracy reported
in
        <xref ref-type="bibr" rid="ref4">(Ferilli et al., 2015)</xref>
        was always above 81%.
When Rocchio outperformed Naive Bayes,
accuracy of the committee was greater than that of
the components; in the other cases,
corresponding to settings that used n-grams, Naive Bayes
alone was the winner.
      </p>
      <p>Before tackling the EVALITA 2016
SENTIPOLC task, in order to tune the system on a
(hopefully) similar environment, we tested our
system on the EVALITA 2014 dataset and
determined in this way the combination of features
that had a better accuracy on this dataset.</p>
      <p>We tested the system using a subset of ~900
tweet (taken from the dataset provided in
Sentipolc 2014), in order to find the best configuration
of parameters, which resulted to be the following
one:
- term normalization: lemmatization;
- minimum number of occurrences for a
term to be considered: 3</p>
      <p>- POS-tags used:
NOUN-WH-CLI-ADVNEG-CON-CHE-DET-NPR-PRE-ARTINTADJ-VER-PRO-AUX</p>
      <p>- n-grams: unigrams</p>
      <p>With the configuration described above, the
system SentimentWS was able to classify the
whole test set of Sentipolc 2014 (1935 tweet)
obtaining a combined F-score of 0.6285.</p>
      <p>The previously mentioned best configuration
was also used in one of the two runs sent for
Sentipolc 2016, obtaining a combined F-score of
0.6037, as shown in Table 4.
With the configuration discussed above SentiPy
combined F-score was 0.6281 as shown in Table
5.</p>
      <p>We made other experiments on the Sentipolc
2016 test set after the deadline of EVALITA.
Their results, even if unofficial, show significant
improvements, since we managed to get 0.6403
as a combined F-score. We got it by making
specific changes in the positive vs all classifier: we
used lemmatization (without stopwords
removal), unigrams (no other n-grams allowed) and the
parameter fit_intercept of the LinearSVC
algorithm was set to True. The other parameters
remained unchanged. No changes have been made
to the classifier negative vs all.
4</p>
    </sec>
    <sec id="sec-31">
      <title>Conclusions</title>
      <p>Looking at the results of the Sentiment Polarity
detection subtask we were surprised of the
overall performance of the systems presented in this
paper since they were simply Text
Categorization systems. The only integrations to the
original systems, in order to tune their performance
on the sentiment polarity detection task,
concerned emoticons. In SentimentWS these were
included in the feature set and SentiPy was
enriched with a classifier created for handling
emoticons.</p>
      <p>Besides the experiments that were executed on
the SENTIPOLC dataset, we tested both systems
on a dataset of Facebook posts in Italian
collected and annotated by a group of researchers in our
laboratories. This experiment was important in
order to understand whether their performance
was comparable to the one obtained in the
SENTIPOLC challenge. Results in these cases
were encouraging since both systems had a
combined F-score higher than 0.8.</p>
      <p>
        We are currently working at the improvement
of the performance of the system by tuning it on
the Sentiment Analysis context. To this aim we
are developing a specific module to handle
negation in Italian and, in our future work we plan to
integrate the two systems by creating one
committee including all the classifiers, moreover we
plan to include an approach based on a
combination of probabilistic and lexicon
        <xref ref-type="bibr" rid="ref4 ref9">(De Carolis et
al., 2015)</xref>
        .
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Barbieri</surname>
          </string-name>
          , Francesco and Basile, Valerio and Croce, Danilo and Nissim, Malvina and Novielli, Nicole and Patti, Viviana
          <year>2016</year>
          .
          <article-title>Overview of the EVALITA 2016 SENTiment POLarity Classification Task</article-title>
          .
          <source>In Proceedings of Third Italian Conference on Computational Linguistics</source>
          (CLiC-it
          <year>2016</year>
          ) &amp;
          <article-title>Fifth Evaluation Campaign of Natural Language Processing and Speech Tools for Italian</article-title>
          .
          <source>Final Workshop (EVALITA</source>
          <year>2016</year>
          ).
          <article-title>Associazione Italiana di Linguistica Computazionale (AILC).</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Pedregosa</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Varoquaux</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gramfort</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Michel</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thirion</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grisel</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          , et al. (
          <year>2011</year>
          ).
          <article-title>Scikitlearn: machine learning in python</article-title>
          .
          <source>Journal of Machine Learning Research</source>
          ,
          <volume>12</volume>
          (Oct),
          <fpage>2825</fpage>
          -
          <lpage>2830</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <given-names>Steven</given-names>
            <surname>Bird</surname>
          </string-name>
          , Ewan Klein, and
          <string-name>
            <surname>Edward Loper</surname>
          </string-name>
          (
          <year>2009</year>
          ).
          <article-title>Natural Language Processing with Python. O'Reilly Media Inc</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>Stefano</given-names>
            <surname>Ferilli</surname>
          </string-name>
          , Berardina De Carolis, Floriana Esposito ,
          <string-name>
            <given-names>Domenico</given-names>
            <surname>Redavid</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>Sentiment analysis as a text categorization task: A study on feature and algorithm selection for Italian language</article-title>
          .
          <source>In Proceeding of IEEE International Conference on Data Science and Advanced Analytics (DSAA).</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>H.</given-names>
            <surname>Schmid</surname>
          </string-name>
          .
          <year>1994</year>
          .
          <article-title>Probabilistic part-of-speech tagging using decision trees</article-title>
          .
          <source>In Proceedings of International Conference on New Methods in Language Processing</source>
          , pp.
          <fpage>44</fpage>
          -
          <lpage>49</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>M. F. Porter</surname>
          </string-name>
          ,
          <year>2001</year>
          .
          <article-title>Snowball: A language for stemming algorithms</article-title>
          ,” [Online]. http://snowball.tartarus.org/texts/introduction.html
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <given-names>Stephen</given-names>
            <surname>Robertson</surname>
          </string-name>
          .
          <year>2004</year>
          .
          <article-title>Understanding inverse document frequency: On theoretical arguments for IDF</article-title>
          .
          <source>Journal of documentation</source>
          ,
          <volume>60</volume>
          (
          <issue>5</issue>
          ),
          <fpage>503</fpage>
          -
          <lpage>520</lpage>
          ..
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <given-names>S.</given-names>
            <surname>Tulyakov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jaeger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Govindaraju</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Doermann</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>Review of classifier combination methods,” ser</article-title>
          .
          <source>Studies in Computational Intelligence (SCI)</source>
          . Springer. vol.
          <volume>90</volume>
          , pp.
          <fpage>361</fpage>
          -
          <lpage>386</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>B. De Carolis</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Redavid</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Bruno</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>A Sentiment Polarity Analyser based on a LexicalProbabilistic Approach</article-title>
          .
          <source>In Proceedings of IT@LIA2015 1st AI*IA Workshop on Intelligent Techniques At LIbraries</source>
          and
          <article-title>Archives co-located with XIV Conference of the Italian Association for Artificial Intelligence (AI*IA</article-title>
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>