<!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>Resource-based lexical approach to TWEET-NORM task</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Juan M. Cotelo Moya</string-name>
          <email>jcotelo@us.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fermn L. Cruz</string-name>
          <email>fcruz@us.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jose A. Troyano</string-name>
          <email>troyano@us.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universidad de Sevilla</institution>
          ,
          <addr-line>Avda. Reina Mercedes s/n., 41012 Sevilla</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper proposes a resource-based lexical approach for addressing the TWEET-NORM task. The proposed system exposes a simple but extensible modular architecture in which each analysis module independently proposes correction candidates for each OOV word. Each one of these analysis modules tries to address a specic problem and each one works in a very dierent way. The resources are used as the main component for the OOV detection system and they works as support for the validation and ltering of candidates.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Introduction and objectives
One of the most important challenges
facing us today is how to process and analyze
the large amount of information on the
Internet, and especially social networking sites
like Twitter, where millions of people daily
express ideas and opinions on any topic of
interest. These texts, called tweets, are
characterized by having a short length (140
characters) that is too small compared with the
size of traditional genres.</p>
      <p>Consequently, users of these networks have
developed a new form of expression that
includes SMS-style abbreviations, lexical
variants, letters repetitions, use of emoticons, etc.
The result is that current NLP tools can have
problems to process and understand these
short and noisy texts unless they are
normalized rst.</p>
      <p>The TWEET-NORM lexical
normalization task proposes the automatic cleansing
of a set amount of tweets by identifying and
normalizing, abbreviations, words with
repeated letters, and generally any out of the
vocabulary (OOV) words, regardless of
syntactic or stylistic variants.</p>
      <p>Before doing any normalization process,
we previously did a characterization of the
existing phenomena, being easier trying to
address the underlying causes of OOVs. To
perform this characterization we used a
previously collected dataset, composed of 3.1
millions of tweets related with the 2012 UEFA
European Football Championship .</p>
      <p>The table 1 shows that
characterization and provides examples for each
phenomenon.The gure 1 also shows the
phenomena ratio in a clearer way. It is observed
that most of errors t into 5 major categories
and most of errors are associated with the fast
and informal writing in Twitter, usually done
from a mobile device.</p>
      <p>The categories proposed for this task are
coarser than our characterization.
Orthographic errors, Texting language and
Character reptitions t into the Variation category,
Free Inections and correct words t into the
Correct category. Other Language and Ascii
Art would t into NS/NC category.</p>
      <p>The system proposed in this paper is based
on lexical approaches only and it is mainly</p>
    </sec>
    <sec id="sec-2">
      <title>Phenomenon</title>
      <p>Ortographic errors
Texting Language
Character repetition
Ascii Art
Free inections
Other errors
Other Language
Multiple phenomena</p>
      <p>Examples
sacalo ! sÆcalo, trapirar ! transpirar, . . .
x2 ! por dos, q ! que, aro ! claro, . . .
siiiiiiiii ! si, quiiiiieeeeroooo ! quiero, . . .
« ¤ oO._.Oo . . .
besote, gatino, bonico, . . .
htt, asdafawecas, engoriles, . . .
ow, ftw, great, lol, . . .
diass ! das, artooo ! rato, . . .</p>
      <p>In essence, our system works
straightforwardly: it examines each word at lexical
scope, determine if it is an OOV using the
knowledge, generate possible correction
candidates and select the best one.
2</p>
      <p>Architecture and components of
the system
The architechture of our system proposed for
this task is pretty straightforward. It is
composed by several main components:</p>
    </sec>
    <sec id="sec-3">
      <title>Preprocessing module</title>
    </sec>
    <sec id="sec-4">
      <title>OOV/IV detection module</title>
    </sec>
    <sec id="sec-5">
      <title>OOV analyzer modules</title>
    </sec>
    <sec id="sec-6">
      <title>Candidate generator module</title>
      <p>Candidate scoring and selection module
The gure 2 shows all the process
explained before and how the components are
interconnected in a single diagram.</p>
      <p>The preprocessing module performs the
typical initial processing step done in lexical
analysis, generating a stream of tokens from
tweets taking into account things like
hashtags and usernames, numerals, dates and
preserving emoticons during the splitting.
The detection module tries to determine
if a token is an OOV or not. This module
performs that detection using resources and
checking if a token belongs to any resource.
We used a set of lexicons, each one
providing known forms used in Twitter, the
Spanish language, well known emoticons or even
colloquial inections.</p>
      <p>Given an OOV Token, an analyzer
module perform some error guessing process and
try to estimate corrections from it. The
specic process varies for each analyzer. Every
analyzer provides some kind of basic scoring
providing some degree of condence for each
correction proposed. The analyzers used for
this task were the following:</p>
      <p>Tranformation rules : This analyzer
holds a collection of hand-crafted rules,
each one representing some kind of well
dened error and transforms that
token into candidate of correction. It is
possible to generate more than a
candidate due multiple rule matching, but the
number usually is limited to a few.</p>
      <p>These rules are intended to address
phenomena that the edit distance module
does not correctly address like
Character Repetition or Texting Language. The</p>
      <p>Edit distance: This module works
very similar to distance-based suggestion
scheme commonly found in spell
checkers. The main dierence is that it takes
into account multiple lexicons instead a
monolithic one.</p>
      <p>Language: This module tries to identify
whether language the OOV token
actually belongs to.</p>
      <p>
        Notice that the language analyzer module
does not actually perform any correction,
because if the token comes from another
language only has to be marked not corrected.
This module uses a trigram language guessing
module Python 3 implementation
        <xref ref-type="bibr" rid="ref4">(Phi-Long,
2012)</xref>
        as backend.
      </p>
      <p>The candidate generation module asks for
candidates to each analyzer, performing a
validation and ltering step, thus removing some
incorrectly generated candidates from
transformation rules according to validation rules
and used language resources. Also removes
duplicates.</p>
      <p>The candidate selector module applies a
normalizing scoring function from the
condence values provides for each candidates,</p>
    </sec>
    <sec id="sec-7">
      <title>Example</title>
      <p>kn, cn, ! con
xaval, coxe ! chaval, coche
sisisisisisi, nonononono ! si, no
tkm, tqm ! te quiero mucho
sorts them and selects the best one.</p>
      <p>The system generates a token stream from
the Tweet using the preprocessing module.
For each token, determines if a token is an
OOV or not using the detector module. If the
token is an IV, no further processing is done
because is a valid form. Otherwise, the
token is an OOV, the candidate generator
module creates a tentative list using the analyzers
previously described. As nal step, the
candidate selector module selects the best
candidate for correction.
3</p>
      <p>Resources employed
We have used several lexicons for the
detection and analyzing stages in our system. All
of them are in raw text format and one entry
per line.</p>
      <p>The table 3 shows stats about all the
lexicons used.</p>
    </sec>
    <sec id="sec-8">
      <title>Lexicon</title>
      <p>Spanish</p>
    </sec>
    <sec id="sec-9">
      <title>Entries 1250796</title>
    </sec>
    <sec id="sec-10">
      <title>Genre</title>
    </sec>
    <sec id="sec-11">
      <title>Emoticons</title>
      <p>40
320</p>
      <p>Description
Common forms
from
Spanish. Based on
LibreOffice
dictionaries.</p>
      <p>Common forms
related to Twitter.</p>
      <p>Handcrafted.</p>
      <p>Commonly used
emoticons.
Handcrafted.</p>
      <p>For the transformation rule module, we
crafted a ruleset of 71 rules. The syntax used
in the ruleset le vaguely resembles a CSV
format, being a rule per line and each line
holds information about the matching and
the transformation process.</p>
      <p>The language detector module uses a
trigram character language model
implementation as backend and uses dictionaries as
backo just in case of insucient data for
language estimation.
The table 4 shows performance values of the
system against the provided corpus and
activating dierent analyzer modules. It is
observed that the accuracy of the system
improves signicantly as more modules are
activated.</p>
      <p>However, our implementation
performance is hindered due high dierences
between the preprocessing used to build the
corpus for this task and our detection and
preprocessing system. Our preprocessing
module leads to dierent sets of OOVs to be
considered, often leading to outputs that dier
in length respect the ones provided with the
task. These discrepancies result in a high
rate of what the provided test script counts
as align errors.</p>
    </sec>
    <sec id="sec-12">
      <title>Modules</title>
      <p>Distance module
Rule module
Distance + Rule
Full system</p>
    </sec>
    <sec id="sec-13">
      <title>Accuracy</title>
      <p>0:2036
0:3307
0:3905
0:5053</p>
    </sec>
    <sec id="sec-14">
      <title>Align Error</title>
      <p>0:2526
0:3231
0:2281
0:1684</p>
      <p>It is worth mentioning that we used
threshold of k 2 for the edit distance
module because most of correct candidates are
within that threshold. Though is true that
selecting a higher k includes more candidates,
most of newly included candidates are not a
valid solution and usually they will have a low
condence score and will not be selected.
5</p>
      <p>Conclusions and future work
We provide a resource-aided lexical solution
for the proposed task using an extensible
architecture made of independent modules.
Our system has much room for improvement
like adding a ngram segmenter, including
context during analysis or using automatic
methods for improving the candidate scoring and
selection.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Han</surname>
            , Bo and
            <given-names>Timothy</given-names>
          </string-name>
          <string-name>
            <surname>Baldwin</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Lexical normalisation of short text messages: makn sens a #twitter</article-title>
          .
          <source>In Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies - Volume 1 , HLT '11</source>
          , pages
          <fpage>368378</fpage>
          , Stroudsburg, PA, USA. Association for Computational Linguistics.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Han</surname>
            ,
            <given-names>Bo</given-names>
          </string-name>
          , Paul Cook, and
          <string-name>
            <given-names>Timothy</given-names>
            <surname>Baldwin</surname>
          </string-name>
          .
          <year>2013</year>
          .
          <article-title>Lexical normalization for social media text</article-title>
          .
          <source>ACM Trans. Intell. Syst. Technol.</source>
          ,
          <volume>4</volume>
          (
          <issue>1</issue>
          ):5:
          <fpage>15</fpage>
          :
          <fpage>27</fpage>
          ,
          <string-name>
            <surname>February</surname>
          </string-name>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Pennell</surname>
            , Deana and
            <given-names>Yang</given-names>
          </string-name>
          <string-name>
            <surname>Liu</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>A character-level machine translation approach for normalization of sms abbreviations</article-title>
          .
          <source>In IJCNLP</source>
          , pages
          <fpage>974982</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Phi-Long</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>Python 3.3+ implementation of the language guessing module made by Jacob R. Rideout for KDE</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Xue</surname>
          </string-name>
          , Zhenzhen, Dawei Yin,
          <string-name>
            <surname>Brian D Davison</surname>
            , and
            <given-names>BD</given-names>
          </string-name>
          <string-name>
            <surname>Davison</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Normalizing microtext</article-title>
          . In Analyzing Microtext .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>