an´alisis morfosint´actico y clasificaci´on de entidades...

8
An´ alisis morfosint´ actico y clasificaci´ on de entidades nombradas en un entorno Big Data * PoS tagging and Named Entitiy Recognition in a Big Data environment Pablo Gamallo, Juan Carlos Pichel, Marcos Garcia Centro de Investigaci´on en Tecnolox´ ıas da Informaci´on (CITIUS) {pablo.gamallo, juancarlos.pichel, marcos.garcia.gonzalez}@usc.es Jos´ e Manuel Abu´ ın y Tom´ as Fern´ andez-Pena Centro de Investigaci´on en Tecnolox´ ıas da Informaci´on (CITIUS) {tf.pena, josemanuel.abuin}@usc.es Resumen: Este art´ ıculo describe una suite de m´ odulos ling¨ ısticos para el caste- llano, basado en una arquitectura en tuber´ ıas, que incluye tareas de an´ alisis mor- fosint´acticoas´ ı como de reconocimiento y clasificaci´on de entidades nombradas. Se han aplicado t´ ecnicas de paralelizaci´ on en un entorno Big Data para conseguir que la suite de m´ odulos sea m´ as eficiente y escalable y, de este modo, reducir de forma signiticativa los tiempos de c´omputo con los que poder abordar problemas a la escala de la Web. Los m´ odulos han sido desarrollados con t´ ecnicas b´asicas para facilitar su integraci´on en entornos distribuidos, con un rendimiento pr´oximo al estado del arte. Palabras clave: An´ alisis morfosint´actico, Reconocimiento y clasificaci´on de enti- dades nombradas, Big Data, Computaci´on Paralela Abstract: This article describes a suite of linguistic modules for the Spanish lan- guage based on a pipeline architecture, which contains tasks for PoS tagging and Named Entity Recognition and Classification (NERC). We have applied run-time parallelization techniques in a Big Data environment in order to make the suite of modules more efficient and scalable, and thereby to reduce computation time in a significant way. Therefore, we can address problems at Web scale. The linguistic mo- dules have been developed using basic NLP techniques in order to easily integrate them in distributed computing environments. The qualitative performance of the modules is close the the state of the art. Keywords: PoS tagging, Named Entity Recognition, Big Data, Parallel Computing 1 Introducci´on En la sociedad digital moderna, se estima que cada d´ ıa creamos alrededor de 2,5 trillones de bytes de datos (1 exabyte), de tal forma que el 90 % de los datos en todo el mundo han si- do creados en los ´ ultimos dos a˜ nos 1 . As´ ı por ejemplo, Twitter genera unos 8 terabytes de datos al d´ ıa, mientras que Facebook captura unos 100 terabytes 2 . Una de las principales caracter´ ısticas de esta informaci´ on es que, en * Este trabajo ha sido subvencionado con cargo a los proyectos HPCPLN - Ref:EM13/041 (Programa Emergentes, Xunta de Galicia), Celtic - Ref:2012- CE138 y Plastic - Ref:2013-CE298 (Programa Feder-Innterconecta) 1 IBM, Big Data at the Speed of Business: http://www-01.ibm.com/software/data/bigdata/ 2 http://hadoopilluminated.com/- hadoop illuminated/Big Data.html muchos casos, se encuentra sin estructurar, ya que se trata en un porcentaje alto de in- formaci´on textual. Dado el ingente volumen de informaci´ on textual generado a diario, se hace cada vez m´ as necesario que el procesa- miento y an´ alisis ling¨ ıstico de esta informa- ci´ on se efect´ ue de manera eficiente y escala- ble, lo que provoca que las tareas de PLN requieran de soluciones paralelas. Por consi- guiente, el uso de la Computaci´on de Altas Prestaciones (HPC) y de su derivaci´ on en el paradigma Big Data, se hace indispensable para reducir de forma notable los tiempos de c´omputo y mejorar la escalabilidad de los sis- temas de PLN. En este mismo sentido, cabe rese˜ nar que la filosof´ ıa de los enfoques m´ as recientes de la ling¨ ıstica de corpus se basan en la Web As Corpus, l´ ınea de investigaci´on donde se postula que con m´ as datos y m´ as Procesamiento del Lenguaje Natural, Revista nº 53, septiembre de 2014, pp 17-24 recibido 14-04-14 revisado 02-06-14 aceptado 10-06-14 ISSN 1135-5948 © 2014 Sociedad Española para el Procesamiento del Lenguaje Natural

Upload: others

Post on 25-Feb-2020

24 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An´alisis morfosint´actico y clasificaci´on de entidades ...proxectos.citius.usc.es/hpcpln/images/documents/gamallo14PLN.pdf · An´alisis morfosint´actico y clasificaci´on

Analisis morfosintactico y clasificacion de entidades nombradasen un entorno Big Data ∗

PoS tagging and Named Entitiy Recognition in a Big Data environment

Pablo Gamallo, Juan Carlos Pichel, Marcos GarciaCentro de Investigacion en Tecnoloxıas da Informacion (CITIUS)

{pablo.gamallo, juancarlos.pichel, marcos.garcia.gonzalez}@usc.es

Jose Manuel Abuın y Tomas Fernandez-PenaCentro de Investigacion en Tecnoloxıas da Informacion (CITIUS)

{tf.pena, josemanuel.abuin}@usc.es

Resumen: Este artıculo describe una suite de modulos linguısticos para el caste-llano, basado en una arquitectura en tuberıas, que incluye tareas de analisis mor-fosintactico ası como de reconocimiento y clasificacion de entidades nombradas. Sehan aplicado tecnicas de paralelizacion en un entorno Big Data para conseguir quela suite de modulos sea mas eficiente y escalable y, de este modo, reducir de formasigniticativa los tiempos de computo con los que poder abordar problemas a la escalade la Web. Los modulos han sido desarrollados con tecnicas basicas para facilitar suintegracion en entornos distribuidos, con un rendimiento proximo al estado del arte.Palabras clave: Analisis morfosintactico, Reconocimiento y clasificacion de enti-dades nombradas, Big Data, Computacion Paralela

Abstract: This article describes a suite of linguistic modules for the Spanish lan-guage based on a pipeline architecture, which contains tasks for PoS tagging andNamed Entity Recognition and Classification (NERC). We have applied run-timeparallelization techniques in a Big Data environment in order to make the suite ofmodules more efficient and scalable, and thereby to reduce computation time in asignificant way. Therefore, we can address problems at Web scale. The linguistic mo-dules have been developed using basic NLP techniques in order to easily integratethem in distributed computing environments. The qualitative performance of themodules is close the the state of the art.Keywords: PoS tagging, Named Entity Recognition, Big Data, Parallel Computing

1 Introduccion

En la sociedad digital moderna, se estima quecada dıa creamos alrededor de 2,5 trillones debytes de datos (1 exabyte), de tal forma queel 90% de los datos en todo el mundo han si-do creados en los ultimos dos anos1. Ası porejemplo, Twitter genera unos 8 terabytes dedatos al dıa, mientras que Facebook capturaunos 100 terabytes2. Una de las principalescaracterısticas de esta informacion es que, en

∗ Este trabajo ha sido subvencionado con cargo a los

proyectos HPCPLN - Ref:EM13/041 (ProgramaEmergentes, Xunta de Galicia), Celtic - Ref:2012-CE138 y Plastic - Ref:2013-CE298 (ProgramaFeder-Innterconecta)

1IBM, Big Data at the Speed of Business:http://www-01.ibm.com/software/data/bigdata/

2http://hadoopilluminated.com/-hadoop illuminated/Big Data.html

muchos casos, se encuentra sin estructurar,ya que se trata en un porcentaje alto de in-formacion textual. Dado el ingente volumende informacion textual generado a diario, sehace cada vez mas necesario que el procesa-miento y analisis linguıstico de esta informa-cion se efectue de manera eficiente y escala-ble, lo que provoca que las tareas de PLNrequieran de soluciones paralelas. Por consi-guiente, el uso de la Computacion de AltasPrestaciones (HPC) y de su derivacion en elparadigma Big Data, se hace indispensablepara reducir de forma notable los tiempos decomputo y mejorar la escalabilidad de los sis-temas de PLN. En este mismo sentido, caberesenar que la filosofıa de los enfoques masrecientes de la linguıstica de corpus se basanen la Web As Corpus, lınea de investigaciondonde se postula que con mas datos y mas

Procesamiento del Lenguaje Natural, Revista nº 53, septiembre de 2014, pp 17-24 recibido 14-04-14 revisado 02-06-14 aceptado 10-06-14

ISSN 1135-5948 © 2014 Sociedad Española para el Procesamiento del Lenguaje Natural

Page 2: An´alisis morfosint´actico y clasificaci´on de entidades ...proxectos.citius.usc.es/hpcpln/images/documents/gamallo14PLN.pdf · An´alisis morfosint´actico y clasificaci´on

texto se obtienen mejores resultados (Kilga-rriff, 2007). Y para procesar mas corpus a laescala de la Web se requieren soluciones HPC.

En este artıculo, nuestro principal objeti-vo es aplicar tecnicas Big Data a un conjuntode tareas linguısticas integradas en una sui-te de modulos PLN para el castellano y decodigo abierto, llamada CitiusTool, que in-cluye la etiquetacion y desambiguacion mor-fosintactica (PoS tagging), ası como el reco-nocimiento y clasificacion de entidades nom-bradas (NERC). De esta manera, consegui-mos que la suite de modulos de PLN sea maseficiente y escalable permitiendo reducir demanera signiticativa los tiempos de compu-to y abordar problemas de un tamano aunmayor.

La arquitectura de la suite de modulos sebasa en el paradigma de tuberıas (o pipeline),y cada modulo linguıstico de la suite es unafuncion escrita en Perl. La ventaja de este en-foque es que cada componente esta directa-mente conectado con los otros a traves de lostubos (o pipes), de tal modo que no es necesa-rio esperar hasta que finalice un proceso an-tes de comenzar el siguiente de la pipeline. Adiferencia de las arquitecturas PLN basadasen el flujo de trabajo (workflow), como GA-TE3 (Tablan et al., 2013) o UIMA4, en unatuberıa cuando un modulo comienza a pro-ducir algun tipo de salida esta se transmitecomo entrada del siguiente modulo sin pro-ducir ficheros de datos intermediarios. Unasuite de modulos similar a la descrita en es-te artıculo, para castellano e ingles, ha sidoimplementada en el proyecto opeNER (Age-rri, Bermudez, y Rigau, 2014), y que ha dadolugar a IXA pipes (Agerri, Bermudez, y Ri-gau, 2014), cuyos modulos linguısticos estanbasados en Java.

La simplicidad de los modulos PLN que seconsideran en este trabajo, ası como la claraindependencia de las unidades linguisticas deentrada de dicho modulos (frases, parrafos,textos, etc.), son factores que facilitan su in-tegracion en una arquitectura para Big Dataque usa el modelo de programacion MapRe-duce. En concreto, se utilizara la herramientade codigo abierto Hadoop5 que implementadicho modelo. Por otro lado, debemos des-tacar que a pesar de la gran simplicidad denuestros modulos linguısticos, la calidad de

3https://gate.ac.uk/4https://uima.apache.org/5http://hadoop.apache.org/

sus resultados esta muy proxima a la ofreci-da por los sistemas considerados estado delarte.

Una vez integrados en una plataformadistribuida, nuestros modulos linguısticos sepodran utilizar en aplicaciones mas comple-jas y de alto nivel que veran ası mejorar sueficiencia. Concretamente, las aplicaciones deingenierıa linguıstica que pueden beneficiarsede estos modulos son: traduccion automati-ca, recuperacion de informacion, busqueda derespuestas, sistemas inteligentes de vigilanciatecnologica y, en general, sistemas relaciona-dos con el paradigma de la analıtica de textos(text analytics), tan en voga con el auge delas redes sociales.

El resto del artıculo se organiza del si-guiente modo. En la siguiente seccion (2), seintroduce la arquitectura de los modulos. Acontinuacion, en las secciones 3 y 4, se descri-ben los modulos de analisis morfosintactico yclasificacion de entididades, respectivamente.En ambas secciones se describen tambien ex-perimentos y evaluaciones cualitativas de losmodulos. Seguidamente, la seccion 5 se centraen los experimentos realizados con la plata-forma Hadoop y finalizamos con las conclu-siones y trabajo futuro (seccion 6).

2 Arquitectura

CitiusTool6 es una herramienta linguıstica delibre distribucion (licencia GPL) concebidapara ser facil de usar, instalar y configurar.La figura 1 muestra la arquitectura en tuberıade los diferentes modulos de la suite linguısti-ca. La herramienta consta de varios modulosde analisis basico, un reconocedor de entida-des (NER), un analizador morfologico (PoStagger), que incluye un lematizador, y un cla-sificador de entidades (NEC). Hasta ahora,hemos adaptado los modulos al castellano,aunque estamos trabajando en su adaptaciona otras lenguas peninsulares.

3 Herramientas de analisis

3.1 Analisis basico

Como se puede observar en la figura 1, el sis-tema consta de varios modulos de procesa-miento basico del lenguaje:

Separador de frases: toma en cuenta lospuntos finales, lıneas en blanco y un fi-chero externo de siglas y abreviaturas.

6Disponible para descarga en:http://gramatica.usc.es/pln/tools/CitiusTools.html.

Pablo Gamallo, Juan Carlos Pichel, Marcos Garcia, José Manuel Abuín, Tomás Fernández-Pena

18

Page 3: An´alisis morfosint´actico y clasificaci´on de entidades ...proxectos.citius.usc.es/hpcpln/images/documents/gamallo14PLN.pdf · An´alisis morfosint´actico y clasificaci´on

Figura 1: Arquitectura de la suite de moduloslinguısticos CitiusTool

Tokenizador: separa las frases en tokens.

Splitter: separa las contracciones ensus correpondientes tokens, por ejemplo,“del” = “de el”, “comerlo = “comer lo”.

El analisis basico sirve de entrada al Re-conocedor de Entidades Nombradas (NER),que aplica un conjunto de reglas para la iden-tificacion de nombres propios formados pormas de un token. Por ejemplo: Universidaddel Paıs Vasco, Real Club Celta de Vigo,etc. El formato de intercambio entre moduloses similar al de la suite linguıstica FreeLing(Padro y Stanilovsky, 2012).

3.2 Analisis morfosintactico

Hemos desarrollado un desambiguador mor-fosintactico o PoS tagger, llamado CitiusTag-ger, utilizando el mismo lexico y etiquetarioque FreeLing. Se fundamenta en un clasifi-cador de bigramas bayesiano que asigna laetiqueta mas probable a cada token ambiguotomando en cuenta su contexto a la izquier-da y a la derecha. Para desambiguar un tokenambiguo, calculamos la probabilidad de cadaetiqueta ei asociada a ese token, dado un con-junto de atributos contextuales A1, ...An:

P (ei | A1, ...An) = P (ei)

N∏

i=0

P (Ai | ei) (1)

El conjunto de atributos que, en experi-mentos preliminares, nos dieron mejores re-sultados es el formado por:

ei−1 : la etiqueta que aparece inmediata-mente a la izquierda de ei

ei+1 : la etiqueta que aparece inmediata-mente a la derecha de ei

(ti, ei−1) : la copresencia del token ambi-guo ti junto con la etiqueta que apareceinmediatamente a la izquierda de ei

(ti, ei+1) : la copresencia del token ambi-guo ti junto con la etiqueta que apareceinmediatamente a la derecha de ei

Tomando en cuenta estos cuatro atributosespecıficos, similares a los utilizados en (Ban-ko y Moore, 2004), el producto de atributosgenericos de la ecuacion 1 se puede especificarde esta manera:

P (ei−1 | ei)P (ei+1 | ei)P (ti, ei−1 | ei)P (ti, ei+1 | ei)(2)

Finalmente, se selecciona la etiqueta con elvalor maximo de todas las posibles asignadasa un token ambiguo. Optamos por un algorit-mo que desambigua los tokens de izquierda aderecha, lo que significa que el contexto a laizquierda de una palabra ambigua es un to-ken ya desambiguado. Solo los contextos a laderecha pueden contenener tokens ambiguossusceptibles de asociarse a varias etiquetas, elconjunto de las cuales forma parte de los atri-butos contextuales de la etiqueta a desambi-guar.

La estrategia bayesiana descrita aquı seencuentra conceptualmente proxima al for-malismo de los modelos de Markov ocultos(HMM) (Brants, 2000), formalismo en el quese basa el desambiguador morfosintactico dela suite linguıstica FreeLing (Carreras et al.,2004; Padro y Stanilovsky, 2012), con el quecomparamos nuestro sistema. La principal di-ferencia es que, en nuestro modelo, la desam-biguacion se hace token a token (como unproblema de clasificacion), en vez de buscarla mejor secuencia de etiquetas asociada ala frase de entrada mediante programaciondinamica (algoritmo Viterbi). El motivo quenos ha llevado a utilizar un simple clasificadorbayesiano como desambiguador es su eficien-cia computacional.

3.3 Experimentos y evaluacion

Para conocer la calidad de los resultadosde nuestro sistema de analisis morfosintacti-co, CitiusTagger, lo comparamos con otras

Análisis morfosintáctico y clasificación de entidades nombradas en un entorno Big Data

19

Page 4: An´alisis morfosint´actico y clasificaci´on de entidades ...proxectos.citius.usc.es/hpcpln/images/documents/gamallo14PLN.pdf · An´alisis morfosint´actico y clasificaci´on

dos herramientas, FreeLing y Tree-Tagger(Schimd, 1995), entrenados con el mismo cor-pus de entrenamiento, el mismo lexico y elmismo conjunto de etiquetas (tagset). El cor-pus de entrenamiento utilizado fue generadocon los primeros 300 mil tokens del corpusanotado Ancora (Taule, Martı, y Recasens,2008). El lexico es el utilizado por FreeLing,cuyo tagset coincide con el del corpus Ancora.El corpus de test consiste en otros 90 mil to-kens extraıdos del mismo corpus. El modulode desambiguacion morfosintactica de Free-Ling se basa en Modelos Ocultos de Markov(HMM), a partir de trigramas. El metodo deanalisis de Tree-Tagger, por su parte, se basaen arboles de decision.

La precision se calcula dividiendo el nume-ro de tokens etiquetados correctamente porcada sistema entre el numero total de tokensdel corpus de test. La evaluacion se llevo acabo teniendo en cuenta las dos primeras le-tras de las etiquetas (o tres para algunas cate-gorıas), que fueron las unicas utilizadas en elproceso de entrenamiento. La tabla 1 mues-tra los resultados obtenidos por los tres siste-mas. FreeLing alcanza la precision mas altasuperando en 0,4 puntos a nuestro sistema,que a su vez, supera en 0,93 a Tree-Tagger.Estos resultados estan muy proximos a otrosexperimentos descritos en (Gamallo y Gar-cia, 2013) para el portugues, donde FreeLingsupera en 1,6 puntos a Tree-Tagger, usandotambien ambos sistemas el mismo corpus deentrenamiento y el mismo lexico.

Cabe destacar que hemos realizado otraprueba con la version de Tree-Tagger origi-nal para espanol7, adaptando las etiquetasde salida a nuestro corpus de test. Los resul-tados de esta version son significativamentemas bajos, alcanzando apenas el 92,13% deprecision.

Sistemas Precision (%)CitiusTagger 96,45FreeLing 96,85Tree-Tagger 95,52

Tabla 1: Precision de tres sistemas de anali-sis morfosintactico con el mismo corpus deentrenamiento y lexico

7http://www.cis.uni-muenchen.de/-∼schmid/tools/TreeTagger/

4 Clasificacion de Entidades(NEC)

Otra de las herramientas de nuestra suitelinguıstica es un modulo de clasificacion deentidades nombradas (CitiusNEC). En la ver-sion actual, este modulo esta configurado pa-ra clasificar cuatro tipo de entidades: perso-nas, lugares, organizaciones y otras (o mis-celaneo). El sistema se basa principalmenteen consultas a ficheros de recursos extraıdosde fuentes enciclopedicas y en un conjuntode reglas de desambiguacion semantica. Losficheros de recursos utilizados por el modulofueron construidos utilizando como principa-les fuentes las grandes bases de informacionenciclopedica FreeBase8 y DBpedia9. Las re-glas de desambiguacion se aplican a las en-tidades previamente identificadas por el re-conocedor de entidades (NER), con el fin deresolver problemas de entidades ambiguas (alas que se asocian varias clases semanticas) odesconocidas (que no existen en los recursos).Para el caso de entidades conocidas no ambi-guas, la clasificacion es trivial, pues la claseasignada es la que se encuentra en el recursoenciclopedico correspondiente.

4.1 Reglas de desambiguacion

La entrada del sistema NEC es texto eti-quetado con entidades previamente identifi-cadas por el sistema NER. Ademas, se re-quieren dos tipos de recursos: gazetteers ytriggers. Los primeros son entidades clasifica-das que fueron extraıdas de FreeBase y DB-pedia. Se construyeron tres ficheros de ga-zetteers (para personas, lugares y organiza-ciones), dejando fuera la categorıa mas hete-rogenea: “miscelaneo”. Los triggers son sus-tantivos que pueden subclasificar cada unade las tres categorıas utilizadas. Por ejemplo,para la categorıa “organizacion”, selecciona-mos como triggers, en base al arbol de ca-tegorıas de la Wikipedia, lemas tales como:institucion, partido, asociacion, federacion,sindicato, club, entidad, empresa, cooperati-va, etc.

Dada una Entidad Nombrada (EN), el al-goritmo de desambiguacion procede de estamanera:

Consulta a los gazetteers: Si la EN se en-cuentra solo en una clase de gazetteers,

8http://www.freebase.com/9http://dbpedia.org

Pablo Gamallo, Juan Carlos Pichel, Marcos Garcia, José Manuel Abuín, Tomás Fernández-Pena

20

Page 5: An´alisis morfosint´actico y clasificaci´on de entidades ...proxectos.citius.usc.es/hpcpln/images/documents/gamallo14PLN.pdf · An´alisis morfosint´actico y clasificaci´on

entonces se considera que no es ambiguay se le asigna la clase encontrada.

Busqueda de triggers: Si la EN apareceen varios gazetteers (ambigua) o si esdesconocida (no se encuentra en los ga-zetteers), entonces se busca en el contex-to linguıstico la aparicion de triggers re-levantes. El contexto se define como unaventana de N lemas a la izquierda y a laderecha de la EN a desambiguar, sien-do la instanciacion N = 3 la que mejo-res resultados devuelve en expermientospreliminares.

Ordenamiento de clases: Si la EN es am-bigua y no puede desambiguarse por me-dio de la busqueda contextual (etapa an-terior), se selecciona la clase mas pro-bable (prior probability). Calculamos laprobabilidad calculando la distribucionde los gazetteers en la Wikipedia.

Verificacion interna: Si la EN es descono-cida y no puede desambiguarse por me-dio de la busqueda contextual, entoncesse verifica si la primera expresion consti-tuyente de la EN coincide con la primeraexpresion de una EN en los gazetteers, osi es un nombre comun que se encuen-tra en alguna de las listas de triggers.En caso de que se den varias opciones,se da preferencia a los gazetteers sobrelos triggers y, cuando hay ambiguedad,utilizamos el ordenamiento de clases, taly como se ha descrito arriba.

Else: Si ninguna regla se aplica, la EN seclasifica como “miscelaneo”.

Cabe destacar que las reglas en sı mismasson independientes de la lengua. Lo que esdependiente de una lengua concreta son losrecursos utilizados. En (Gamallo y Garcia,2011; Garcia, Gonzalez, y del Rıo, 2012) sedescribe un sistema similar para el portuguesy gallego, respectivamente, basado en reglasy dependiente de recursos externos.

4.2 Experimentos y evaluacion

A continuacion, comparamos el modulo Ci-tiusNEC descrito arriba con dos sistemasNEC de aprendizaje supervisado:

El modulo NEC de FreeLing, el cual ob-tuvo los mejores resultados en la compe-ticion CoNLL-2002 shared task (Tjong y

Erik, 2002). Este sistema se basa en el al-goritmo AdaBoost que consiste en com-binar varios clasificadores basicos (Ca-rreras et al., 2002). Tambien utiliza re-cursos externos (gazetteers y triggers)para definir atributos especıficos. El mo-delo utilizado en los experimentos descri-tos en esta seccion es el que se encuentraen la ultima version estable del paqueteFreeLing (version 3.1).

Apache OpenNLP (Apache SoftwareFoundation, 2014), cuyo modulo NECpermite entrenar modelos con dos algo-ritmos de aprendizaje: uno basado en re-des neuronales (perceptron) y otro basa-do en el principio de maxima entropıa.Hemos entrenado un modelo para NECcon la siguiente configuracion: algoritmode maxima entropıa y Cutoff = 1, quefue la que nos proporciono mejores resul-tados.

Es importante resenar que los modelos es-tadısticos de estos dos sistemas fueron en-trenados con el corpus de entrenamientode CoNLL-2002 shared task. En el caso deOpenNLP hemos anadido el corpus de desa-rrollo de dicha competicion. Nuestro sistema,en cambio, no depende de ningun corpus deentrenamiento anotado, ya que se basa en re-cursos externos (supervision distante).

Para llevar a cabo la evaluacion cualita-tiva, nos servimos de dos corpus de test: elutilizado en CoNLL-2002 shared task paraevaluar los sistemas en competicion, y otroque llamamos Hetero, construido por noso-tros a partir de diferentes fuentes: la Wikipe-dia y noticias de periodicos online (Gamalloy Garcia, 2011). Las tablas 2 y 3 muestran laprecision, cobertura y f-score obtenidos porlos tres sistemas en ambos corpus de test.

Los resultados muestran que los dos siste-mas entrenados con el corpus de CoNLL-2002shared task, FreeLing y OpenNLP, consiguenmejores resultados que CitiusNEC cuando seevaluan con el corpus de test de CoNLL-2002shared task, y por lo tanto, de caracterısticassemejantes al corpus de entrenamiento. Laprecision de estos dos sistemas baja significa-tivamente cuando se evaluan con un corpusde naturaleza distinta a la del corpus de en-trenamiento, como es el corpus de test Hete-ro. Nuestro modulo, CitiusNEC, mantiene re-sultados estables independientemente del ti-po de corpus utilizado en la evaluacion e, in-

Análisis morfosintáctico y clasificación de entidades nombradas en un entorno Big Data

21

Page 6: An´alisis morfosint´actico y clasificaci´on de entidades ...proxectos.citius.usc.es/hpcpln/images/documents/gamallo14PLN.pdf · An´alisis morfosint´actico y clasificaci´on

Sistemas Precision (%) Cobertura (%) F-score (%)CitiusNEC 67,47 66,33 66,89FreeLing 75,08 76,90 75,98OpenNLP 78,96 79,09 79,02

Tabla 2: Resultados de tres sistemas NEC utilizando el corpus de test CoNLL-2002 shared task

Sistemas Precision (%) Cobertura (%) F-score (%)CitiusNEC 67,47 65,37 66,40FreeLing 65,67 65,44 65,56OpenNLP 64,50 66,84 65,65

Tabla 3: Resultados de tres sistemas NEC utilizando el corpus de test Hetero

cluso, supera ligeramente en f-score a estosdos sistemas con el corpus Hetero. Cabe des-tacar que en el trabajo descrito en (Gamalloy Garcia, 2011), se observo la misma tenden-cia al evaluar FreeLing y una version anteriora CitiusNEC para el portugues.

5 Paralelizacion en la ejecucionde los modulos

Una tuberıa de modulos como la descrita eneste artıculo puede adaptarse para su pro-cesamiento en paralelo mediante el modelode programacion MapReduce, y usando Apa-che Hadoop. Desde la publicacion por partede Google del modelo de programacion Ma-pReduce (Dean y Ghemawat, 2004), surgie-ron un conjunto de herramientas, muchas deellas de codigo abierto, que utilizan este algo-ritmo distribuido. MapReduce divide el pro-cesamiento de un algoritmo en etapas para-lelizables que se ejecutan en muchos nodos(mappers), ası como en etapas de agregaciondonde los datos obtenidos en la fase previason procesados en un unico nodo (reducers).De esta manera se facilita el almacenamientoy procesamiento del llamado Big Data. La he-rramienta mas extendida basada en el modeloMapReduce es Hadoop, desarrollada inicial-mente por Yahoo y despues publicada comoproyecto Apache. Hadoop permite almacenary procesar de manera distribuida enormescantidades de datos no estructurados hacien-do uso de clusters de computadores de bajocoste (commodity hardware), proporcionandoal mismo tiempo facilidad de programacion,escalabilidad y tolerancia a fallos. De hecho,su modelo de programacion es simple y ocultaal desarrollador detalles de bajo nivel. Segunestimaciones de Shaun Connolly lanzadas enel Hadoop Summit 2012, en el ano 2015 alre-dedor del 50% de todos los datos mundiales

seran almacenados y procesados en clustersbasados en Apache Hadoop10.

La integracion de nuestra suite linguısticaen Hadoop permite que los textos de entradase particionen en subconjuntos, y que cadauno de ellos se procese en un nodo del clusteren paralelo con el resto de nodos. Con el obje-tivo de evitar cualquier tipo de modificacionsobre los modulos PLN originales aprovecha-mos tambien un servicio que ofrece Hadoop,llamado “Hadoop streaming”, que permite eluso de cualquier ejecutable como mapper oreducer, independientemente del lenguaje deprogramacion en el que este escrito.

5.1 Datos sobre eficiencia

En la figura 2 mostramos los resultados derendimiento de los modulos CitiusNEC y Ci-tiusTagger una vez integrados en la infraes-tructura de Hadoop. Los experimentos se hanllevado a cabo en un cluster del Centro deSupercomputacion de Galicia (CESGA) com-puesto por 68 nodos, cada uno de los cua-les a su vez consiste en un procesador IntelXeon E5520. Como texto de entrada de am-bos modulos para los tests se ha utilizado laWikipedia en espanol, cuyo tamano en textoplano es de 2,1 GB.

En la figura 2(a) mostramos una compa-racion entre los tiempos de ejecucion de losmodulos originales cuya ejecucion es secuen-cial (es decir, usando un unico procesador), ylos modulos una vez integrados con Hadoopusando en la ejecucion paralela 34 y 68 no-dos. Los modulos en su ejecucion secuencialtardan en torno a unas 425 horas para pro-cesar la Wikipedia en espanol, lo que suponealgo mas de 2 semanas. Estos tiempos de eje-cucion hacen inviable la aplicacion de estos

10http://www.biganalytics2012.com/resources/Shaun Connolly-HadoopNowNextBeyond-v10.pdf

Pablo Gamallo, Juan Carlos Pichel, Marcos Garcia, José Manuel Abuín, Tomás Fernández-Pena

22

Page 7: An´alisis morfosint´actico y clasificaci´on de entidades ...proxectos.citius.usc.es/hpcpln/images/documents/gamallo14PLN.pdf · An´alisis morfosint´actico y clasificaci´on

1 34 6810

1

102

103

Número de Nodos

Tie

mpo

(H

oras

)

CitiusNECCitiusTagger

(a)

CitiusNEC CitiusTagger0

5

10

15

20

25

30

35

Ace

lera

ción

34 nodos68 nodos

(b)

Figura 2: Rendimiento de los modulos PLNdespues de su integracion con Hadoop: tiem-pos de ejecucion (a) y aceleracion (b).

modulos PLN a problemas de gran tamanocomo el que abordamos aquı. Sin embargo,cuando usamos la version paralela con Ha-doop los tiempos se reducen de forma nota-ble. Ası, por ejemplo, usando 68 nodos, losmodulos CitiusNEC y CitiusTagger necesi-tarıan 13 y 12,1 horas respectivamente. Aun-que este tiempo sigue siendo elevado debemostener en cuenta que si usasemos un mayornumero de nodos en nuestro cluster Hadoop,el tiempo seguirıa escalando y reduciendose.

Para comprobar la escalabilidad de nues-tros modulos PLN mostramos en la figura2(b) los resultados de aceleracion con respec-to al caso secuencial. La aceleracion se calculacomo el cociente entre el tiempo de ejecucionsecuencial y el tiempo de ejecucion paralelo.En el caso ideal, usando un cluster de N pro-cesadores, obtendrıamos una aceleracion deN . Sin embargo, esta situacion es difıcilmen-te alcanzable, puesto que siempre hay tiem-pos necesarios para la inicializacion, ademasde partes no paralelizables del codigo (Leyde Amdhal). En nuestro caso obtenemos ace-leraciones superiores a 30 usando 68 nodos.Esto indica que los modulos integrados en lainfraestructura Hadoop obtienen los resulta-dos 30 veces mas rapido que los modulos ensu version secuencial.

5.2 Trabajo relacionado

A diferencia de los algoritmos de minerıa dedatos donde existen herramientas especıficasque explotan las capacidades analıticas deHadoop (p.ej. Apache Mahout para clasifica-dores, recomendadores y algoritmos de clus-tering y Apache Giraph para el procesamien-to de grafos), no conocemos a dıa de hoy nin-guna herramienta que emplee de forma inte-grada soluciones de PLN en Big Data.

Recientemente, el paradigma MapReducese ha comenzado a aplicar a algunas tareasde PLN, como por ejemplo la traducion es-tatıstica (Ahmad et al., 2011; Dyer, Cordora,y Lin, 2008), la construcion de matrices de co-ocurrencias (Lin, 2008), la minerıa de textos(Balkir, Foster, y Rzhetsky, 2011), la compu-tacion de similaridades semanticas (Pantel etal., 2009), o la adquisicion de parafrasis (Met-zel y Hovy, 2011).

6 Conclusiones

Hemos presentado una suite de moduloslinguısticos escritos en Perl y organizadosen una simple arquitectura en tuberıas, cu-yo desempeno esta proximo al estado del ar-te. Los datos de entrada pueden particionarseen varios tubos ejecutados en paralelo en uncluster con la ayuda de Hadoop Streaming.

Cabe destacar que el modulo de clasifica-cion de entidades nombradas puede extender-se con facilidad a un conjunto mayor de cla-ses semanticas, puesto que no depende de laconstruccion de un corpus anotado. Al ba-sarse en la tecnica de la supervision distan-te, solo depende de las fuentes externas enci-clopedicas. En estos momentos, estamos ex-tendiendo los recursos para dar cuenta denuevas categorıas semanticas especıficas liga-das al dominio de la informatica.

Actualmente, hemos desarrollado una ver-sion de los modulos para portugues y estamostambien desarrollando nuevas versiones paragallego e ingles, con el proposito de crear unasuite multilingue adaptada para su uso contecnologıas Big Data.

Bibliografıa

Agerri, R., J. Bermudez, y G. Rigau. 2014.Efficient and easy nlp processing with ixapipeline. En Demo Sessions of the 14thConference of the European Chapter of theAssociation for Computational Linguistics(EACL 2014), Gothenburg, Sweden.

Análisis morfosintáctico y clasificación de entidades nombradas en un entorno Big Data

23

Page 8: An´alisis morfosint´actico y clasificaci´on de entidades ...proxectos.citius.usc.es/hpcpln/images/documents/gamallo14PLN.pdf · An´alisis morfosint´actico y clasificaci´on

Ahmad, R., P. Kumar, B. Rambabu, P. Sajjaanda M.K. Sinha, y P. Sangal. 2011. En-hancing throughout of a machine transla-tion system using mapreduce framework:An engineering approach,. En 9th Inter-national Conference on Natural LanguageProcessing ICON-2011, Hyderabad, India.

The Apache Software Foundation, 2014.Apache OpenNLP.

Balkir, A.S., I. Foster, y A. Rzhetsky. 2011.A distributed look-up architecture for textmining applications using mapreduce. EnInternational Conference for High Per-formance Computing, Networking, Stora-ge and Analysis.

Banko, Michele y Robert Moore. 2004. Partof speech tagging in context. En CO-LING’04, 20th international conferenceon Computational Linguistics.

Brants, Throrsten. 2000. Tnt: A statisticalpart-of-speech tagger. En 6th Conferenceon Applied Natural Language Processing.ANLP, ACL-2000.

Carreras, X., I. Chao, L. Padro, y M. Padro.2004. An Open-Source Suite of LanguageAnalyzers. En 4th International Confe-rence on Language Resources and Evalua-tion (LREC’04), Lisbon, Portugal.

Carreras, X., L. Marquez, L. Padro, yM. Padro. 2002. Named entity extrac-tion using adaboost. En COLING-02 pro-ceedings of the 6th Conference on NaturalLanguage Learning.

Dean, J. y S. Ghemawat. 2004. Mapreduce:Simplified data processing on large clus-ters OSDI-04. En Sixth Symposium onOperating System Design and Implemen-tation, San Francisco, CA, EE.UU.

Dyer, C., A. Cordora, y J. Lin. 2008. Fast,easy and cheap: Construction of statisti-cal machine translation model with ma-preduce. En 3rd Workshop on StatisticalMachine Translation, Columns, Ohio.

Gamallo, Pablo y Marcos Garcia. 2011.A resource-based method for named en-tity extraction and classification. LNCS,7026:610–623.

Gamallo, Pablo y Marcos Garcia. 2013.Freeling e treetagger: um estudo com-parativo no ambito do portugues. EnProLNat Technical Report, vol. 01, URL:

http://gramatica.usc.es/∼gamallo/artigos-web/PROLNAT Report 01.pdf.

Garcia, M., I. Gonzalez, y I. del Rıo. 2012.Identificacao e classificacao de entidadesmencionadas em galego. Estudos de Lin-guıstica Galega, 4:13–25.

Kilgarriff, Adam. 2007. Googleology isbad science. Computational Linguistics,31(1):147–151.

Lin, J. 2008. Scalable language processingalgorithms for the masses: A case studyin computing word co-occurrence matri-ces with mapreduce. En 2008 Conferenceon Empirical Methods in Natural Langua-ge Processing, Honolulu, USA.

Metzel, D. y E. Hovy. 2011. Mavuno: a sca-lable and effective hadoop-based paraph-rase acquisition system. En LDMTA-11,Third Workshop on Large Scale Data Mi-ning: Theory and Applications.

Padro, Lluıs. y Evgeny Stanilovsky. 2012.Freeling 3.0: Towards wider multilingua-lity. En Language Resources and Evalua-tion (LREC’12), Istanbul, Turkey.

Pantel, P., E. Crestan, A. Borkovsky, A.M.Popescu, y V. Vyas. 2009. Web-scale dis-tributional similarity and entity set expan-sion. En Conference on Empirical Met-hods in Natural Language Processing, Sin-gapur.

Schimd, Helmut. 1995. Improvements inpart-of-speech tagging with an applicationto german. En ACL SIGDAT Workshop,Dublin, Ireland.

Tablan, V., I. Roberts, H. Cunningham, yK. Bontcheva. 2013. Gatecloud. net:a platform for large-scale, open-sourcetext processing on the cloud. Philosophi-cal Transactions of the Royal Society A:Mathematical, Physical and EngineeringSciences, 371.

Taule, M., M.A. Martı, y M. Recasens. 2008.Ancora: Multilevel annotated corpora forcatalan and spanish. En The 6th Interna-tional Conference on Language Resourcesand Evaluation (LREC)., Marrakesh, Mo-rocco.

Tjong, Kim Sang y F. Erik. 2002. Introduc-tion ot the CoNLL-2002 shared task: Lan-guage independent named entity recogni-tion. En Conference on Natural LanguageLearning.

Pablo Gamallo, Juan Carlos Pichel, Marcos Garcia, José Manuel Abuín, Tomás Fernández-Pena

24