<!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>Syllabs Team at CLEF MC2 Task 1: Content Analysis</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Olivier Hamon</string-name>
          <email>hamon@syllabs.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chloé Monnin</string-name>
          <email>monnin@syllabs.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Claude de Loupy</string-name>
          <email>loupy@syllabs.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Syllabs</institution>
          ,
          <addr-line>35 rue Chanzy, 75011 Paris</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper describes the participation of the Syllabs Team in the content analysis task of the CLEF MC2 Evaluation lab. In the current state of our work, we offer preliminary solutions to first detect the language of the microblogs used within the task, then extract the named entities that will be later used to recognize Wikipedia entities and finally, detect microblogs that deal with festivals.</p>
      </abstract>
      <kwd-group>
        <kwd>Language Detection</kwd>
        <kwd>Named Entity Recognition</kwd>
        <kwd>Clustering</kwd>
        <kwd>Festival Detection</kwd>
        <kwd>Wikipedia Entity Recognition</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>The presence of festivals on the social media is constantly increasing. An analysis1 of
the 30 biggest festivals in France made in 2015 was already showing that 97% of them
were holding a Twitter account, while the number of followers was larger77% than in
2014. Tweets are a wonderful mean to be visible for events such as festivals. However,
there are a few limitations about using Twitter: first of all, a single tweet may provide
partial information due to the limitation of 140 characters; secondly, there is a lot of
noise on Twitter (advertising, close events, etc.), or thirdly, important information may
be drawn among the huge volume of tweets produced.</p>
      <p>
        The first task – Content Analysis – of the MC2 evaluation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] consists in analysing
tweets so as to prepare their understanding by a festival participant. Therefore, building
context is particularly important to help filtering relevant information.
      </p>
      <p>Our goal2 when participating in the MC2 evaluation task is threefold: firstly, by
evaluating the Syllabs in-house technologies we hope to improve their performance,
especially regarding linking data and Wikipedia recognition. Secondly, by experimenting
festival detection we try to settle a method for event detection, based on data gathering,
and that could lead to event analysis or specific information retrieval. Lastly, by
working on microblogs we continue our exploration on limited content data that can be rich
in relevant information and usable data.</p>
      <p>In Section 2, we describe our current approaches regarding the different subtasks of
CLEF MC2 Lab we participated in.
1 http://www.socialband.fr/docs/les_festivals_et_les_reseaux_sociaux_en_2015.pdf
2 http://www.agence-nationale-recherche.fr/?Project=ANR-14-CE24-0022</p>
    </sec>
    <sec id="sec-2">
      <title>Objectives</title>
      <p>We participated in three tasks of the MC2 Lab:
- Task 1.1: Filtering microblogs dealing with festivals;
- Task 1.2: Language Detection;
- Task 1.5: Wikipedia Entity Recognition.</p>
      <p>Our main stream is starting with Task 1.2, since Language Detection is the precondition
to the two other tasks as it helps us focus on the analysis of a specific language.
3
3.1</p>
    </sec>
    <sec id="sec-3">
      <title>Data Preparation and Preprocessing</title>
      <sec id="sec-3-1">
        <title>Used data</title>
        <p>Specific data used for the training of Language Detection is detailed in Section 4.1.</p>
        <p>Regarding the MC2 data, and due to time constraints, we only worked on text and
kept aside metadata. Thus, we reduced the tuning work, but also the performance gains
that metadata could have provided. Test data is of course processed to submit the
results, and we also used the full stream of June 2016 for Task 1.1 to help the filtering of
tweets dealing with festivals. While the test set is composed of 1,100 tweets, the June
2016 set is much bigger with more than 4.3 million tweets.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Preprocessing</title>
        <p>Analyzing microblogs needs specific context and treatment due to the peculiar nature
of the data. Information is reduced to its simplest concept and the shortness of each
microblog makes this information hard to retrieve.</p>
        <p>Noise is one of the most relevant characteristics to filter. In microblogs, noise usually
prevails over relevance but the few pieces of useful information can have a strong
impact.</p>
        <p>Thus, data preparation, noise filtering and preprocessing are essential parts of the
full process, and vital for the following subtasks.</p>
        <p>Basically, we prepared the input data using the following steps:
- Removing hashtags and nicknames, specifically for language detection:
although they convey meaning, we suppose that most of the hashtags and
nicknames do not disambiguate languages (in French, for instance, there are plenty
of them written in English or pseudo-English);
- Removing all symbols and punctuation marks: although some of those
characters could help for language detection, such as “¿” used in Spanish, our tests
showed that they were not relevant;
- Keeping one character when it is duplicated more than twice (“okkkkkk” for
instance) so as to better fit the “traditional” language models;
- Not considering case.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Tasks and methodology</title>
      <p>Many methods and studies exist to detect the language of textual contents, including
microblog-oriented data. The specific nature of tweets, through their size and specific
vocabulary, makes the task particularly complex. Microblogs are usually coming with
metadata but language is generally not reliable, firstly because the language of a given
writer is not always the same, secondly because the geolocalization cannot determine
the language of a tweet. Therefore, we need to apply other methods to detect the
language of a given microblog.</p>
      <p>We used, adapted and tested four different methods (cf. Sections 4.1.1 to 4.1.4) that
are not specific to microblogging. The main difficulty is to find a training corpus that
would simulate microblogging. We describe the corpus in the following section and the
results of our experimentations are detailed below.
In our first experiment we tested a very simple method using microblog n-grams,
implemented from scratch. Microblogs being, by definition, short, we took away the
possibility to use word n-grams, and thus we focused on letter n-grams.</p>
      <p>
        Then, we first built a small microblogs training corpus, composed of 3 sources:
- The corpus from the SEPLN Workshop 2014 [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], representing 70k tweets
written in Basque, Catalan, Galician, Spanish, English and Portuguese. At first, we
used the full corpus for our tests, but finally we only kept Spanish, English and
Portuguese, the size of the other languages being too small.
- More than 50k English tweets coming from the Crisilex corpus [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
- An internal Syllabs corpus containing more than 80k tweets in French and
English.
      </p>
      <p>Thus, the whole corpus represents more than 200k annotated tweets. 95% of this
corpus was arbitrarily used for the model training, the other 5% being used for testing
purposes. Table 1 shows the results obtained using from 2-grams to 7-grams on the test
corpus.</p>
      <p>
        After those tests, we determined that using 4-grams gives the best results.
4.1.2
LangID [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] uses a naïve Bayesian model that computes n-grams from one to four letters.
Training is done on several corpora such as the JRC-Acquis, ClueWeb 09, Wikipedia,
Reuters RCV2, Debian i18n and for 97 languages. Thus, there is no specific training
corpus for microblogs. We did not make additional training.
4.1.3
      </p>
      <sec id="sec-4-1">
        <title>Compact Language Detection 2 (CLD2)</title>
        <p>
          CLD2 [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] is the available language detection tool coming from Google and using a
naïve Bayesian classifier too. It is based on 4-grams and is available for 83 languages.
4.1.4
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>Guess Language</title>
        <p>
          Guess Language [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] is a method using 3-grams for 60 languages.
4.1.5
        </p>
      </sec>
      <sec id="sec-4-3">
        <title>Evaluation and results</title>
        <p>The test corpus was filtered to keep 5 languages: French, Catalan, English, Portuguese
and Spanish. Table 2 shows the associated figures.
The low number of French tweets can be explained by both the lack of data and the
need to keep part of the French tweets for training.</p>
        <p>We computed precision so as to estimate the performance of the method. We also
tracked the computation time for all the methods. Results can be found in Table 3.</p>
        <p>Our basic method obtains good results despite of its simplicity, and we guess that
with more training data, results could be comparable to other methods. On the other
hand, our method is more adapted to the test since it was trained with the same limited
languages while other methods were trained with more languages.</p>
        <p>Higher results are obtained by LangID with more than 92% correctly identified.
Considering the low quality of some tweets, this result is quite good.</p>
        <p>The cleaning we apply to the tweets shows a slightly improvement of the
performance, except for the Guess Language method, while the timing remains similar.</p>
        <p>One last interesting result is the timing of our method, although CLD2 obtains way
better results, with a comparable precision and more languages available.</p>
        <p>In the context of the CLEF MC2 Lab, we use the LangID method with cleaning,
since it obtains a higher performance.
4.2</p>
        <p>(Wikipedia) Entity Recognition (Task 1.5)
We have used the named entity recognition system that was developed by Syllabs in
this task. It is a rule-based system which has been used for years but not adapted to
tweets. Since tweets are short, uppercase is not a relevant clue to find named entities.
So, we had to improve our lexicon. We added a large number of organisms, places and
persons. In the last few months, more than 1,5M entries have been added to our system,
plus a few rules regarding new extractions for specific contexts, adaptation to new entry
features.</p>
        <p>Regarding the specific task of the CLEF MC2 Lab, we have simply used the
Wikipedia API3 to link our entities to the encyclopedia and translate them into other
languages, for English, French, Portuguese and Spanish.</p>
        <p>For each tweet in a given language, we provide the original entity extracted, and the
translation for the other languages.
4.3</p>
      </sec>
      <sec id="sec-4-4">
        <title>Filtering Microblogs dealing with Festivals (Task 1.1)</title>
        <p>Filtering contents to a certain type of event is particularly complex especially when
dealing with microblogs. Most of the time, in microblogs, the information given is not
relevant enough to do that filtering. Hashtags may help, as well as specific keywords,
but we cannot count on them for most of the microblogs.</p>
        <p>Moreover, the concept of festival and how people write about a given festival are
hard to define. A person who is happy to be in Cannes during the festival may be in
Cannes for another reason. Depending on the context, we may, or may not, keep that
kind of microblog.</p>
        <p>Our method to filter microblogs works on a full microblog corpus (vs a single
microblog) and is based on clustering the microblogs. It applies the following steps:
3 https://www.mediawiki.org/wiki/API:Main_page</p>
        <p>
          Removing duplicates and retweets, while keeping track of them: We then avoid
biasing the clustering by using similar tweets, as well as giving very large
weights to the information given;
Detecting the languages (from Task 1.2) on the remaining microblogs: The
language detection is twofold, first by reducing the clustering process on a large
data set, second by doing a first gathering of similar linguistic information;
Clustering for a first time the microblogs on a time frame (i.e. a month or a
week), per language: A DBSCAN clustering is applied that, according to our
experiments, gathers similar (i.e. very close to duplicates) tweets and thus
reduces our data set again [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ];
Clustering for a second time the microblogs on a time frame (i.e. a month or a
week), per language: Another pass of a DBSCAN clustering is applied that tends
to gather similar topics;
Using a lexicon to extract clusters which are supposed to be dealing with
festivals: By this and the previous steps, we extend the context of single tweets and
hope to find more tweets related to festivals;
Extracting the microblogs of the test set from the clusters: We only keep those
tweets from the test corpus that deal with the festival topic.
        </p>
        <p>By regrouping topics on the fourth step, we increase the possibility of finding tweets
related to festivals that could not have been found by simply extracting festival-related
ones.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Results on the test set</title>
      <p>We submitted results on the three tasks presented above. Although evaluation results
are not available yet, we provided a few statistics below.
5.1</p>
      <sec id="sec-5-1">
        <title>Language Detection (Task 1.2)</title>
        <p>The 1,100 tweets from the test corpus have been preprocessed, then analyzed using
LangID. Results are shown in Table 4:</p>
        <p>Tweets are mainly written in English (more than half of the test corpus), then
Spanish, Portuguese, French, Italian, Japanese, etc. More unusual languages are also present
in the corpus, such as Aragonese, Bengalî or Bokmål.
The Wikipedia Entity Recognition has been processed on English, French, Portuguese
and Spanish. Table 5 shows the entities found per language.
339 tweets contain at least one Wikipedia entity and a total of 550 entities (for 414
unique entities) have been found. Translation is possible only when the link in
Wikipedia is available.</p>
        <p>Unfortunately, our Entity Recognition system has found many more Entities that do
not exist in Wikipedia. This is certainly due to the less well-known events or specific
information included in the corpus.</p>
      </sec>
      <sec id="sec-5-2">
        <title>Filtering Microblogs dealing with Festivals (Task 1.1)</title>
        <p>By using our method, we have found that 734 tweets are dealing with festivals. Most
of them are tweets in English (439), then Spanish (124), Portuguese (36), French (31),
etc.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusions</title>
      <p>This article describes the first experimental results on three tasks of the MC2
evaluation Lab. We mainly enhanced our stream system by adding preprocessing that
allowed us to improve the results of the Language Detection slightly.</p>
      <p>Wikipedia Entity Recognition and Microblogs filtering are both basic methodologies
and, although first results seem promising, they can be improved in many ways. Our
rule-based system for Entity Recognition requires more lexicon and further work
should be done on the rules, while the linking with Wikipedia could be done using
disambiguation or word variation techniques. The clustering process shows limitations
to filter microblogs, especially because we need a large amount of tweets, which leads
to performance decrease.</p>
      <p>We will continue this preliminary work within the “gallery of festival” project
(GaFes) so as to extract proper content and to be able to represent festivals in a social
context.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Ermakova</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goeuriot</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mothe</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mulhem</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nie J</surname>
            .-Y., and
            <given-names>SanJuan E.</given-names>
          </string-name>
          ,
          <article-title>CLEF 2017 Microblog Cultural Contextualization Lab Overview, International Conference of the CrossLanguage Evaluation Forum for European Languages Proceedings</article-title>
          , LNCS volume, Springer, CLEF
          <year>2017</year>
          , Dublin (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Zubiaga</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , San Vicente, I. n.,
          <string-name>
            <surname>Gamallo</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pichel</surname>
            ,
            <given-names>J. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alegria</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aranberri</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ezeiza</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Fresno</surname>
          </string-name>
          , V.:
          <article-title>Overview of TweetLID: Tweet language identification at SEPLN 2014</article-title>
          .
          <article-title>TweetLID@SEPLN (</article-title>
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Olteanu</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castillo</surname>
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Diaz</surname>
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vieweg</surname>
            <given-names>S.:</given-names>
          </string-name>
          <article-title>CrisisLex: A Lexicon for Collecting and Filtering Microblogged Communications in Crises</article-title>
          .
          <source>In: Proceedings of the AAAI Conference on Weblogs and Social Media (ICWSM'14)</source>
          . AAAI Press, Ann Arbor, MI, USA (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Marco</surname>
            ,
            <given-names>L</given-names>
          </string-name>
          and Baldwin, T.:
          <article-title>Cross-domain Feature Selection for Language Identification</article-title>
          .
          <source>In: Proceedings of the Fifth International Joint Conference on Natural Language Processing (IJCNLP</source>
          <year>2011</year>
          ), Chiang Mai, Thailand, pp.
          <fpage>553</fpage>
          -
          <lpage>561</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>5. CLD2 Homepage, https://github.com/CLD2Owners/cld2</mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Guess</given-names>
            <surname>Language</surname>
          </string-name>
          <string-name>
            <surname>Homepage</surname>
          </string-name>
          , https://github.com/kent37/guess-language
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Ester</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kriegel</surname>
            ,
            <given-names>H.-P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sander</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          <article-title>A density-based algorithm for discovering clusters in large spatial databases with noise</article-title>
          .
          <source>In: Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96)</source>
          . AAAI Press. pp.
          <fpage>226</fpage>
          -
          <lpage>231</lpage>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>