<!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>Una cascada de transductores simples para normalizar tweets</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>In~aki Alegria</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Izaskun Etxeberria</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gorka Labaka IXA Taldea</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>UPV/EHU</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Postakutxa</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Donostia i.alegria@ehu.es</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>izaskun.etxeberria@ehu.es</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>gorka.labaka@ehu.es</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>A system where several transducer or FST are combined in cascade is presented. Each transducer manages a simple step: learned examples, named-entities, basic misspellings, collapsed words, onomatopoeia words, more complex changes, lowercase/uppercase letters.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>El sistema que desde el grupo IXA de la
UPV-EHU presentamos para la resolucion de
la tarea de normalizacion de tweets se basa
fundamentalmente en la concatenacion de
varios transductores o FSTs. Cada uno de los
transductores se encarga de completar un
hito mas o menos simple y la solucion nal llega
de la suma de todos esos hitos. Las
caracter sticas de la tarea y los datos utilizados,
as como el estado del arte, no se detallan por
falta de espacio pero pueden ser consultados
en el sitio web del workshop1.</p>
      <p>
        La tarea de normalizacion de los tweets
tiene cierta similitud con otras tareas en
las que nuestro grupo de investigacion viene
trabajando
        <xref ref-type="bibr" rid="ref1">(Alegria, Etxeberria, y Leturia,
2010)</xref>
        , especialmente con la de normalizacion
de variantes diacronicas o dialectales en
euskera
        <xref ref-type="bibr" rid="ref7">(Hulden et al., 2011)</xref>
        .
      </p>
    </sec>
    <sec id="sec-2">
      <title>Metodos y arquitectura</title>
      <p>Tal y como se ha comentado en el
apartado anterior, el sistema que se propone
consiste en la concatenacion de diversos
transductores simples, cada uno con una funcion muy</p>
      <p>Este trabajo ha sido parcialmente nanciado por
el Ministerio de Econom a y Competitividad;
proyecto Tacardi (TIN2012-38523-C02-011). Gracias a Josef
Novak por su ayuda en el uso de Phonetisaurus, y a
Mans Hulden por su ayuda con foma.</p>
      <p>1http://komunitatea.elhuyar.org/tweet-norm/
concreta. La arquitectura del sistema consta
as de una serie de etapas secuenciales,
cada una de las cuales da respuesta a nuevos
casos. Las etapas en las que se divide el
sistema son las siguientes: (1) Aprendizaje de
los ejemplos disponibles en el corpus de
desarrollo; (2) Reconocimiento de entidades; (3)
Tratamiento de cambios ortogra cos basicos;
(4) Tratamiento de palabras adyacentes
unidas; (5) Tratamiento de onomatopeyas; (6)
Resolucion de casos mas complejos.</p>
      <p>Como veremos, en la ultima etapa se
proponen soluciones alternativas que
posteriormente se intentan combinar: distancia de
edicion, cambios morfofonologicos mas
complejos y modelo noisy-channel.</p>
      <p>
        En varios de los transductores que
describiremos hemos utilizado la herramienta foma
        <xref ref-type="bibr" rid="ref6">(Hulden, 2009)</xref>
        . Se trata de una version
libre equivalente a las herramientas de Xerox
        <xref ref-type="bibr" rid="ref2">(Beesley y Karttunen, 2002)</xref>
        que permite
describir y generar transductores.
      </p>
      <p>Si tras la concatenacion de todas las
respuestas, nalmente hay palabras
nonormalizadas para las que no se tiene
propuesta alguna, el sistema dara como
respuesta la propia palabra de entrada.</p>
      <p>El tema de las mayusculas y su variacion
tambien se ha demostrado importante.
Debido a esa variacion y al pequen~o taman~o del
corpus de desarrollo se decidio que, salvo en
las dos primeras etapas, las palabras a
normalizar se transforman a minusculas y que al
nal del proceso se hace un tratamiento
especial de la mayuscula que se describe en la
seccion 4.3.
2.1.</p>
      <sec id="sec-2-1">
        <title>Ejemplos aprendidos</title>
        <p>El primer transductor ha aprendido las
parejas de palabras (pal. no-normalizada,
pal. normalizada) anotadas a mano y
proporcionadas en el corpus de desarrollo, de modo
que si se le pregunta por alguna de ellas,
devuelve la respuesta anotada.</p>
        <p>Si una misma palabra no-normalizada
aparece mas de una vez en el corpus se
optara por la anotacion mas frecuente.
2.2.</p>
      </sec>
      <sec id="sec-2-2">
        <title>Reconocimiento de entidades nombradas</title>
        <p>
          Hay un conjunto importante de entidades
nombradas que por su novedad o por otras
razones Freeling
          <xref ref-type="bibr" rid="ref4">(Carreras et al., 2004)</xref>
          no
etiqueta y deben permanecer sin propuesta
de normalizacion. Se decidio construir un
reconocedor de estas entidades basado en la
coleccion no anotada de tweets propuesta por
la organizacion (ver seccion 3).
2.3.
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Cambios ortogra cos basicos</title>
        <p>Basandonos en el conocimiento del idioma
y en los ejemplos del corpus de desarrollo
hemos obtenido una gramatica de cambios
basicos mediante la herramienta libre foma, que
nos permite compilar las reglas en un
transductor.</p>
        <p>Las reglas incluidas en esta gramatica
tratan los cambios relativos a tildes,
repeticion de vocales al nal de la palabra
(enfasis), perdida de la letra \d" en participios
y cambios fonologicos/ortogra cos frecuentes
(qu!q, qu!k, h!0, b!v, ll!y...). Estas
reglas se componen con un lexico obtenido
procesando mediante Freeling la ya mencionada
coleccion de tweets ademas de la lista propia
de Freeling.</p>
        <p>Como la mayor a de los transductores
siguientes, este transductor tiene una
caracter stica resen~able: en caso de obtener mas
de una respuesta se escoge la mas frecuente
(modelo de lenguaje de unigramas).
2.4.</p>
      </sec>
      <sec id="sec-2-4">
        <title>Palabras adyacentes unidas</title>
        <p>En el corpus de desarrollo aparecen varios
ejemplos de palabras adyacentes que
aparecen unidas y que deben ser normalizadas. Por
ejemplo Alomejor o lasombradelolivo. El
tratamiento de este tipo de palabras se ha
llevado a cabo concatenando el lexico y
an~adiendo ciertas restricciones para evitar
sobregeneracion extrema; principalmente, limitando
la aparicion de palabras cortas en la
combinacion.</p>
        <p>A falta de un corpus mas extenso para
este tipo de variantes, la gramatica parece
reconocer bastante bien estos casos, pero tiende a
corregir como multipalabra palabras que son
otro tipo de variantes. Para limitar este
problema se ha realizado un ajuste basado en
frecuencias (ver seccion 3).
2.5.</p>
      </sec>
      <sec id="sec-2-5">
        <title>Onomatopeyas</title>
        <p>
          Tambien se deben normalizar las
onomatopeyas que aparecen frecuentemente en los
tweets. Por ejemplo jajajaja o uhuhuh.
Para ello se ha generado un pequen~o lexico de
s labas habituales en las onomatopeyas y una
gramatica simple que permite la repeticion de
las mismas. Esta gramatica se basa en la
solucion al conocido fenomeno morfologico de
reduplicacion
          <xref ref-type="bibr" rid="ref3">(Beesley y Karttunen, 2000)</xref>
          .
Finalmente ha habido que an~adir mayor
exibilidad ya que a menudo las repeticiones no
son perfectas. Por ejemplo jajajajaa.
2.6.
        </p>
      </sec>
      <sec id="sec-2-6">
        <title>WFST: Modelo de canal</title>
        <p>ruidoso (noisy-channel )</p>
        <p>
          Para obtener un transductor siguiendo
este modelo habitual en reconocimiento de voz
se ha utilizado la herramienta
Phonetisaurus2. Esta herramienta open source
desarrollada por J. Novak permite crear de
manera sencilla sistemas de conversion
grafema/fonema (G2P) o fonema/grafema (P2G)
basandose en automatas de estados nitos
con pesos o WFSTs
          <xref ref-type="bibr" rid="ref8">(Novak, Minematsu, y
Hirose, 2012)</xref>
          . En la tarea de normalizacion
de tweets, sin embargo, se ha utilizado
para construir un sistema de conversion
grafema/grafema, siguiendo los pasos que la
herramienta exige.
        </p>
        <p>Aunque no hay espacio para describir en
detalle la herramienta, merece la pena
comentar la simplicidad de su uso, que
consta basicamente de dos pasos: (1) alinear las
palabras para crear un diccionario de
entrenamiento; (2) entrenar un modelo en base a
pares de palabras ya conocidas que
posteriormente permitira dar respuesta a nuevas
palabras.</p>
        <p>Las respuestas del sistema pueden ser
palabras no normalizadas que deben ser
elimi2http://code.google.com/p/phonetisaurus/
nadas. Para esto se usa el lexico descrito en
la seccion 3 y que se utiliza en varios de los
transductores.</p>
        <p>En cualquier caso la primera palabra
normalizada propuesta por G2G puede no ser
la palabra mas frecuente y ser a interesante
combinar la probabilidad de transiciones
calculada por G2G con la frecuencia. Esto queda
como tarea pendiente.
2.7.</p>
      </sec>
      <sec id="sec-2-7">
        <title>Distancia de edicion y cambios complejos</title>
        <p>Una primera aproximacion que puede
verse como un baseline es obtener las palabras
que estan a la m nima distancia de edicion y
elegir la mas frecuente. Esto se realiza
facilmente usando la opcion med de la citada
herramienta foma.</p>
        <p>Otra opcion que hemos explorado es
enriquecer y exibilizar la gramatica de
cambios basicos 2.3 an~adiendo fenomenos
morfofonologicos mas complejos (p. ej. la
perdida de caracteres, principalmente vocales) y
exibilizando la aplicacion de las reglas
para permitir varios cambios en la misma
palabra. Compilando estas reglas y
componiendolas con el lexico como se hace en la gramatica
referenciada en 2.3, se obtiene un transductor
de mayor taman~o capaz de corregir variantes
mas alejadas de la forma normalizada.
3.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Recursos externos</title>
      <p>Para la realizacion de nuestro sistema se
han utilizado varios recursos externos
basados en un amplio corpus de tweets y en un
buscador.
3.1.</p>
      <sec id="sec-3-1">
        <title>Corpus de tweets</title>
        <p>Se han recuperado los mas de 200.000
tweets identi cados por la organizacion y se
han procesado mediante Freeling. Las
palabras reconocidas son almacenadas
consiguiendo as un diccionario de frecuencias en el
dominio. Para solucionar la falta de
cobertura de palabras poco frecuentes, son an~adidas
con frecuencia 1 las entradas del diccionario
de Freeling. Con estos datos se genera el
lexico, con sus frecuencias, que es utilizado en
varias de las etapas descritas en la seccion 2.</p>
        <p>Las palabras no reconocidas se pueden
considerar como variantes habituales en el
dominio. Fueron examinadas y se llego a la
conclusion de que la mayor a eran entidades.
Tras un repaso y seleccion de las que ten an
una frecuencia mayor que 10 se construyo el
diccionario de entidades nombradas que se
usa en la segunda etapa del sistema (ver
apartado 2.2).
3.2.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Buscador Bing</title>
        <p>A la hora de determinar la posibilidad
de proponer varias palabras adyacentes como
forma de normalizar un caso (seccion 2.4), es
importante evitar falsos positivos. Aunque se
dispone de la probabilidad de cada palabra
se decidio que era necesario conocer la
frecuencia de la colocacion, para lo que se ha
utilizado la API del buscador Bing 3. Se
debe tener en cuenta que la probabilidad de los
terminos multipalabra es baja y muchas
veces es cero en el corpus de tweets utilizado,
por lo que tras una evaluacion cualitativa se
decidio basar la decison en el numero de
apariciones en un buscador.
4.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Ajustes y pruebas</title>
      <p>Las gramaticas se fueron ajustando en
base a los ejemplos del corpus de desarrollo,
pero siempre tendiendo a generalizar las reglas
en base a morfofonolog a. Tambien se
ajustaron los umbrales de frecuencia para el
modulo de palabras adyacentes unidas mencionado
en 2.4.</p>
      <p>Por otro lado, debido a que el modulo de
ejemplos aprendidos (2.1) y el modulo WFST
(2.6) se basan en aprendizaje, y que el
corpus de desarrollo de los 500 tweets no es muy
grande (se cuenta con un total de 775 pares
de palabras anotadas), para testear y ajustar
el sistema en desarrollo se ha utilizado
crossvalidation, dividiendo los datos en 5 carpetas.</p>
      <p>El principal objetivo perseguido en las
pruebas realizadas ha sido dar con la
combinacion idonea de las respuestas obtenidas
en cascada tratando de conseguir la union de
todas las respuestas correctas. Las pruebas
realizadas y los resultados obtenidos se
describen a continuacion.
4.1.</p>
      <sec id="sec-4-1">
        <title>Comparacion de los 3 subsistemas</title>
        <p>La primera evaluacion midio los
resultados de unir las respuestas de las 5 primeras
etapas con cada una de las respuestas
obtenidas por los tres transductores que resuelven
casos mas complejos y que se han descrito en
2.6 y 2.7. Los resultados se re ejan en la
tabla 1. Tal y como puede observarse el mejor
resultado lo obtiene la concatenacion con el
3http://www.bing.com/developers/s/APIBasics.html
transductor PHON (descrito en 2.6), seguido
muy de cerca por el transductor foma mas
complejo (RULES) y quedando en ultimo
lugar, como preve amos, el transductor MED
(los dos ultimos se describen en 2.7).</p>
        <sec id="sec-4-1-1">
          <title>Transductor</title>
          <p>PHON
RULES
MED
Cuadro 1: Precision obtenida con cada
transductor de casos mas complejos.
4.2.</p>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>Combinacion de las respuestas</title>
        <p>Combinar las respuestas puede mejorar los
resultados ya que hay diferencias entre ellas.
Pero no es evidente como hacer la
combinacion. Primero probamos a combinar los 3
transductores mediante un sistema de
votacion simple en el que se establece una
prioridad entre los transductores para los casos de
empate. Se han hecho dos pruebas variando
la prioridad entre ellos y los resultados
obtenidos son los que re eja la tabla 2. Tal y como
puede apreciarse, la votacion obtiene peores
resultados que antes, excepto en el caso del
transductor MED.</p>
        <p>Se han vuelto a analizar las diferencias de
los resultados de los transductores PHON y
RULES y al ver que cada uno resuelve casos
que el otro no, se ha tratado de a nar mas
la combinacion de respuestas de los mismos.
As , se ha hecho que el transductor PHON
no proporcione una unica respuesta sino tres
posibles (elegidas segun diferencias entre
probabilides y teniendo en cuenta ademas la
frecuencia de cada una) y despues se ha
intentado combinar esas respuestas con las de los
otros dos transductores mediante un sistema
de votacion algo mas complejo. Los
resultados, sin embargo, no han mejorado. Esta
combinacion queda como trabajo futuro.</p>
        <sec id="sec-4-2-1">
          <title>Votacion</title>
          <p>PHON-RULES-MED
RULES-PHON-MED</p>
        </sec>
        <sec id="sec-4-2-2">
          <title>Precision</title>
          <p>63,48
63,74
Cuadro 2: Precision obtenida estableciendo
un sistema de votacion simple entre los 3
transductores de casos mas complejos.</p>
          <p>A la vista de los resultados, y dado que
las diferencias entre los dos primeros casos
de la tabla 1 son muy pequen~os, se han
enviado dos resultados del test para ser
evaluados: uno obtenido utilizando en la etapa nal
el transductor PHON y el otro utilizando el
transductor RULES.
4.3.</p>
        </sec>
      </sec>
      <sec id="sec-4-3">
        <title>Mayusculas</title>
        <p>Otro aspecto que se ha tratado de
ajustar en el proceso de pruebas ha sido el
tratamiento de las letras mayusculas y
minusculas, puesto que acertar en ese aspecto puede
mejorar los resultados notablemente.
Excepto los transductores de las dos primeras
etapas, el resto trabajan siempre en minusculas.
Para decidir nalmente si una palabra debe
comenzar con mayuscula o no se han
probado dos estrategias sencillas: (1) la
respuesta se proporciona en mayuscula si la entrada
comienza con mayuscula; (2) comienzan por
mayuscula aquellas respuestas que
corresponden a una palabra no-normalizada que es
comienzo de un tweet. Las pruebas realizadas
con el corpus de desarrollo son algo mejores
para la segunda opcion, que nalmente se ha
seguido al realizar el test.
5.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Resultados de test y mejoras posibles</title>
      <p>Los resultados obtenidos sobre el test se
re ejan en la tabla 3, logrando el quinto lugar
entre los 13 sistemas presentados.</p>
      <sec id="sec-5-1">
        <title>Sistema</title>
        <p>PHON
RULES</p>
      </sec>
      <sec id="sec-5-2">
        <title>Precision</title>
        <p>61,9
60,9
Cuadro 3: Precision sobre el corpus de test.</p>
        <p>Teniendo en cuenta que es un sistema
formado por componentes muy simples, creemos
que es un resultado satisfactorio.</p>
        <p>En relacion con las mejoras posibles, lo
cierto es que a pesar de las pruebas
realizadas no se ha conseguido acertar con la
combinacion nal idonea que aune las respuestas
correctas de los transductores nales creados
para la resolucion de los casos mas
complejos. Esta es la proxima tarea que debemos
afrontar.</p>
        <p>
          Adicionalmente deber amos a nar mas en
decidir cuando no se debe modi car la
palabra. En el art culo de referencia para el ingles
          <xref ref-type="bibr" rid="ref5">(Han y Baldwin, 2011)</xref>
          esto se resuelve
mediante un clasi cador.
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Bibliograf a</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Alegria</surname>
          </string-name>
          , In~aki, Izaskun Etxeberria, y Igor Leturia.
          <year>2010</year>
          .
          <article-title>Errores ortogra cos y de competencia en textos de la web en euskera</article-title>
          .
          <source>Procesamiento del lenguaje natural</source>
          ,
          <volume>45</volume>
          :
          <fpage>137</fpage>
          {
          <fpage>144</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Beesley</surname>
          </string-name>
          ,
          <string-name>
            <surname>K. R y L. Karttunen</surname>
          </string-name>
          .
          <year>2002</year>
          .
          <article-title>Finitestate morphology: Xerox tools and techniques</article-title>
          .
          <source>Studies in Natural Language Processing</source>
          . Cambridge University Press.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Beesley</surname>
          </string-name>
          , Kenneth R y Lauri Karttunen.
          <year>2000</year>
          .
          <article-title>Finite-state non-concatenative morphotactics</article-title>
          .
          <source>En Proceedings of the 38th Annual Meeting on Association for Computational Linguistics</source>
          , paginas
          <volume>191</volume>
          {
          <fpage>198</fpage>
          .
          <article-title>Association for Computational Linguistics</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Carreras</surname>
          </string-name>
          , Xavier, Isaac Chao, Lluis Padro, y Muntsa Padro.
          <year>2004</year>
          .
          <article-title>Freeling: An opensource suite of language analyzers</article-title>
          .
          <source>En LREC.</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Han</surname>
          </string-name>
          , Bo y Timothy Baldwin.
          <year>2011</year>
          .
          <article-title>Lexical normalisation of short text messages: Makn sens a# twitter</article-title>
          .
          <source>En ACL</source>
          , paginas
          <volume>368</volume>
          {
          <fpage>378</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Hulden</surname>
          </string-name>
          , Mans.
          <year>2009</year>
          .
          <article-title>Foma: a nite-state compiler and library</article-title>
          .
          <source>En Proceedings of the 12th Conference of the European Chapter of the Association for Computational Linguistics: Demonstrations Session, paginas</source>
          <volume>29</volume>
          {
          <fpage>32</fpage>
          , Athens, Greece. Association for Computational Linguistics.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Hulden</surname>
          </string-name>
          , Mans, In~aki Alegria, Izaskun Etxeberria, y Montse Maritxalar.
          <year>2011</year>
          .
          <article-title>Learning word-level dialectal variation as phonological replacement rules using a limited parallel corpus</article-title>
          .
          <source>En Proceedings of the First Workshop on Algorithms and Resources for Modelling of Dialects and Language Varieties</source>
          , DIALECTS '
          <volume>11</volume>
          , paginas
          <volume>39</volume>
          {
          <fpage>48</fpage>
          ,
          <string-name>
            <surname>Stroudsburg</surname>
          </string-name>
          , PA, USA. Association for Computational Linguistics.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>Novak</surname>
          </string-name>
          , Josef R.,
          <source>Nobuaki Minematsu, y Keikichi Hirose</source>
          .
          <year>2012</year>
          .
          <article-title>WFST-based grapheme-to-phoneme conversion: Open source tools for alignment, model-building and decoding</article-title>
          .
          <source>En Proceedings of the 10th International Workshop on Finite State Methods and Natural Language Processing</source>
          , paginas
          <volume>45</volume>
          {
          <fpage>49</fpage>
          ,
          <string-name>
            <surname>Donostia</surname>
          </string-name>
          {San Sebastian, July. Association for Computational Linguistics.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>