TextLynx Plus: Ampliación para un analizador avanzado de ...

77
TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 1 DE 77 UNIVERSIDAD CENTRAL DE LAS VILLAS FACULTAD DE MATEMÁTICA, FISICA Y COMPUTACIÓN CARRERA DE CIENCIA DE LA COMPUTACIÓN TRABAJO DE DIPLOMA TEXTLYNX PLUS: AMPLIACIÓN DE FUNCIONES PARA UN ANALIZADOR AVANZADO DE TEXTOSAUTOR: VÍCTOR ANNIER BARRIOS CAÑIZARES TUTOR: LIC. MANUEL LLANES ABEIJÓN CURSO 2006-2007

Transcript of TextLynx Plus: Ampliación para un analizador avanzado de ...

Page 1: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 1 DE 77

UNIVERSIDAD CENTRAL DE LAS VILLAS

FACULTAD DE MATEMÁTICA, FISICA Y COMPUTACIÓN

CARRERA DE CIENCIA DE LA COMPUTACIÓN

TRABAJO DE DIPLOMA

“TEXTLYNX PLUS: AMPLIACIÓN DE FUNCIONES PARA UN ANALIZADOR AVANZADO DE

TEXTOS”

AUTOR: VÍCTOR ANNIER BARRIOS CAÑIZARES

TUTOR: LIC. MANUEL LLANES ABEIJÓN

CURSO 2006-2007

Page 2: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 2 DE 77

Agradecimientos

A, Yisel. El por qué es innombrable.

A mi mamá Lourdes y mi abuela Georgelina, que siempre me llevaron por buen

camino.

Page 3: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 3 DE 77

Dedicatoria

A Jesucristo, quien me enseña las maravillas de las posibilidades.

Page 4: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 4 DE 77

RESUMEN

El sistema TextLynx Plus realiza el análisis lingüístico de un corpus de textos. Para

esto permite realizar el reconocimiento morfológico (tagging) y sintáctico (parsing) de

los textos (usando software libre adicional al que provee de una interfaz más

amistosa), así como la caracterización y clasificación del léxico por su frecuencia y

distribución. Elabora tablas enmarcadas en los siguientes tipos: grafémica, léxicas,

textuales descriptivas y textuales relacionales. En la implementación de gran parte de

sus algoritmos para procesar los datos textuales se hace uso de la memoria en disco

de la máquina para poder manipular corpora de gran tamaño sin recurrir a un uso

excesivo de la RAM. Se aplican transformaciones en la representación léxica del

corpus que permiten comparar los corpora de forma más efectiva por sus rasgos

esenciales, así como la comparación y clasificación de los textos que los componen.

El sistema permite representar léxicamente al corpus de forma tal que se superan

algunas de las limitaciones del enfoque de ―saco de palabras‖ al considerarse la

combinatoria léxica y las relaciones sintácticas en el marco oracional al representar el

contenido de los textos. La codificación óptima de representaciones de corpus muy

grandes permite usar dichas representaciones en el procesamiento con software de

minería de texto como el CorpusMiner.

Page 5: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 5 DE 77

ABSTRACT

The TextLynx Plus system is designed to perform the linguistic analysis of text

corpora. The system allows for the POS tagging and parsing of the texts in the corpus

(using additional free software for which it provides a user friendly interface) , as well

as the characterization and distribution of the lexicon based on its frequency and

distribution. The system produces graphemic, lexical, textual (descriptive and

relational) tables. In the implementation of many of its algorithms for textual data

processing use is made of memory in the disk to make the system capable of

manipulating larger corpora without incurring in excessive use of RAM.

Transformations in the lexical representation of the corpus allows for corpus

comparison of higher efficiency based on essential features, as well as the

comparison and classification of texts. The system provides for the lexical

representation of the corpus beyond the ―bag of words‖ paradigm by including lexical

combinatory and syntactical relations within the sentential framework to represent the

contents of the texts. Optimum codification of very large corpus representations

enables processing with text mining software such as CorpusMiner.

Page 6: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 6 DE 77

ÍNDICE

RESUMEN ........................................................................................................................................................ 4

ABSTRACT ...................................................................................................................................................... 5

ÍNDICE .............................................................................................................................................................. 6

INTRODUCCIÓN ............................................................................................................................................. 7

CAPÍTULO 1: LINGÜÍSTICA COMPUTACIONAL, LINGÜÍSTICA DE CORPUS Y MINERÍA DE TEXTOS .......................................................................................................................................................... 12

1.1 LA LINGÜÍSTICA COMPUTACIONAL ................................................................................................. 12 1.2 LA LINGÜÍSTICA DE CORPUS ......................................................................................................... 15 1.3 MINERÍA DE TEXTO ........................................................................................................................ 16

1.3.1 ETAPAS DE LA MINERÍA DE TEXTO ............................................................................................ 17 1.3.2 DESCRIPCIÓN DE LAS ÁREAS QUE SE RELACIONAN CON LA MINERÍA DE TEXTOS:.................. 20

1.4 ANÁLISIS DE TEXTOS ..................................................................................................................... 21 1.4.1 CUBRIMIENTO METODOLÓGICO DEL ANÁLISIS DE TEXTO SIMPLE............................................ 21

1.4.1.1 TIPOS DE ANÁLISIS DE TEXTO ............................................................................................................... 21 1.4.1.2 APLICACIÓN DE ESTAS TÉCNICAS A TEXTOS POCO CONOCIDOS .......................................................... 22 1.4.1.3 CONOCIMIENTO PREVIO ......................................................................................................................... 23 1.4.1.4 PASOS EN EL ANÁLISIS ........................................................................................................................... 24

1.4.2 APLICACIONES DEL ANÁLISIS DE TEXTO.................................................................................... 25 1.4.2.1 AYUDA EN PREPARACIÓN DE TEXTOS (ALEXANDER GELBUKH, 2000) ............................................... 25 1.4.2.2 BÚSQUEDA DE TEXTO............................................................................................................................. 26

CAPÍTULO 2: DISEÑO E IMPLEMENTACIÓN DEL PROGRAMA................................................... 28

2.1 HERRAMIENTAS USADAS DURANTE LAS FASES DE DISEÑO E IMPLEMENTACIÓN. ......................... 28 2.2 CONCEPCIÓN Y DESARROLLO DEL SISTEMA TEXTLYNX PLUS. ................................................... 29 2.3 DESCRIPCIÓN DE LOS EJECUTABLES UTILIZADOS EN TEXTLYNX PLUS. ...................................... 30 2.4 USO DE FICHEROS DE DATOS ....................................................................................................... 39 2.5 CREACIÓN DE LOS FICHEROS DE ÍNDICES..................................................................................... 40 2.6 FUNCIONALIDAD DEL SISTEMA ...................................................................................................... 41

2.6.1 OPERACIONES BÁSICAS SOBRE LOS CORPUS. ......................................................................... 41 2.6.2 OBTENCIÓN DE TABLAS ............................................................................................................ 43 2.6.3 OBTENCIÓN DE REPORTES ...................................................................................................... 47

CONCLUSIONES .......................................................................................................................................... 49

RECOMENDACIONES................................................................................................................................. 50

REFERENCIA BIBLIOGRÁFICA ............................................................................................................... 51

ANEXO I - DESCRIPCIÓN DE FICHEROS GENERADOS POR TEXTLYNX PLUS. SU

EXPLICACIÓN Y UTILIDAD. .................................................................................................................... 53

ANEXO II - DIAGRAMAS UML ................................................................................................................... 65

Page 7: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 7 DE 77

INTRODUCCIÓN

La utilización de programas de computación para el procesamiento de textos en

lenguas naturales ha sido una de las tareas que tempranamente asumió la ciencia de

la computación. En primer lugar se vinculó a la actividad bibliotecaria y las ciencias

de la información a través del área de investigación que recibió el nombre de

Recuperación de Información (Information Retrieval) en la que se incluyeron todos

los problemas relacionados con la búsqueda de información en bases de datos y en

texto no estructurado. La recuperación de la información normalmente implica que el

que busca la información, el usuario, tiene una idea de la forma en que se expresa

esa información, y que una vez obtenida la información este tiene la capacidad de

interpretarla adecuadamente según sus fines. El interés del usuario de estos

sistemas está fundamentalmente en el contenido informativo de los documentos o

registros que se procesan.

Más tarde con el surgimiento de la lingüística computacional se trató de resolver el

problema de la modelación de las lenguas naturales para su análisis y síntesis

automatizada.

El análisis se desarrolló mediante algoritmos que automáticamente permitieran la

identificación y clasificación de las unidades lingüísticas de una lengua natural,

generalmente las unidades léxicas, mediante los llamados identificadores de las

partes del habla (POS taggers) y la determinación de unidades sintácticas más

complejas como las frases y las cláusulas, y la determinación automática de sus

funciones en la oración mediante los analizadores sintácticos (parsers). Para lograr

estos objetivos se han utilizado diferentes enfoques, incluyendo el aprendizaje

automatizado (machine learning) y los procesamientos estadísticos. Estos también

se han utilizado en el reconocimiento del habla, o sea, la conversión de una señal

acústica codificada en una lengua natural en una representación gráfica convencional

según un sistema ortográfico determinado; y en el proceso inverso de síntesis del

Page 8: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 8 DE 77

habla que produce una señal acústica conformada por los fonemas de una lengua

natural a partir de una representación ortográfica convencional.

Para la producción del lenguaje natural es necesario tener una representación de la

realidad y de las intenciones comunicativas que luego se transfiere a una

representación convencional ortográfica o fonológica. Esto se conoce como síntesis

del habla. En la comprensión se sigue el camino inverso y se alcaza alguna

representación abstracta de conocimientos e intenciones a partir de una entrada

acústica en una lengua natural. Esta área es la menos desarrollada en la actualidad

y es la que más se asocia a la inteligencia artificial y recibe el nombre de

procesamiento del lenguaje natural. El procesamiento de textos escritos (word

processing) con la ayuda de revisores ortográficos y de gramática es un caso

relativamente simple, en el que se ha avanzado considerablemente. El caso más

complejo es el de la traducción automática, este es muy particular, ya que ha recibido

históricamente mucha atención y en la actualidad, aunque muy alejada de las

enormes e infundadas expectativas de los primeros años, ha alcanzado relevantes

avances.

De manera más reciente se han desarrollado dos nuevas disciplinas que vinculan la

ciencia de la computación al procesamiento del lenguaje natural, la minería de textos

y la lingüística de corpus. Ambas disciplinas están relacionadas fundamentalmente

por el hecho de que ambas usan grandes colecciones de textos, llamadas corpora

(corpus en plural), para obtener sus resultados pero difieren en que el objetivo de la

primera es el descubrimiento de conocimientos acerca de las realidades que están

representadas en los textos, mientras que la segunda se interesa en obtener

conocimientos acerca de las regularidades de los sistemas lingüísticos que se

manifiestan en los textos procesados.

La minería de textos surge de la necesidad objetiva de poder correlacionar y

simplificar la información contenida en un número gigantesco y creciente de

documentos electrónicos que se vinculan con áreas cruciales de la vida económica,

Page 9: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 9 DE 77

política, social, científica e incluso militar de los estados, mientras que la lingüística

de corpus surge de la necesidad de describir de forma más detallada las lenguas

naturales en sus diferentes usos sociales para facilitar su aprendizaje más completo y

eficiente por parte de los seres humanos y eventualmente de las propias

computadoras.

Un ejemplo pudiera servir para ilustrar los puntos de convergencia y de divergencia

de estas dos disciplinas en las que lingüística y computación confluyen. Supongamos

que una empresa de producción de efectos electrodomésticos tiene un servicio, de

atención a sus clientes, basado en la recepción de sus quejas y sugerencias para

mejorar las prestaciones que ofrece. El conjunto de documentos que recibe

semanalmente puede ser bastante amplio, tanto que sería muy costoso pagarle un

salario a un grupo de personas para que leyera las cartas de los clientes. Es por tanto

más beneficioso instalar un servicio de minería de textos capaz de clasificar los

documentos recibidos, resumirlos y enviar los resúmenes a los ejecutivos

correspondientes dentro de la empresa para que tomen las decisiones necesarias.

Por otra parte, el corpus ya formado pudiera servir de base para un estudio que

permitiera caracterizar detalladamente el lenguaje utilizado por los usuarios para

expresar sus quejas o sugerencias a la empresa, y de este modo servir para la

creación de materiales docentes para enseñar a hablantes nativos o de otra lengua a

escribir textos que sirvan dichos propósitos comunicativos.

Debemos notar que la minería de textos tiene su campo de aplicación más natural en

la búsqueda de conocimientos nuevos sobre la realidad (en este caso opiniones de

los usuarios), mientras que la lingüística de corpus busca conocimientos nuevos, más

detallados, acerca de la lengua. Mientras que la minería de textos da resultados que

son (en mayor o menor medida) inmediatamente útiles para los que toman las

decisiones en la empresa, el conocimiento que aporta la lingüística de corpus

requiere de un procesamiento adicional para convertirse en información úti l para el

usuario final (el estudiante de la lengua), pues requiere que alguien convierta el

conocimiento lingüístico alcanzado en actividades para el aprendizaje.

Page 10: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 10 DE 77

En el Departamento de Ciencias de la Computación de la Facultad de Matemática,

Física y Computación de la Universidad Central ―Marta Abreu‖ de las Villas existe un

grupo de investigación que estudia e investiga en el campo de la inteligencia artificial

y que ha incursionado en el campo de la minería de textos con logros notables.

Dentro de este esfuerzo en el curso 2002-2003 se desarrolló un programa, llamado

TextLynx, como Trabajo de Diploma de Eddy Saura y que fue tutorado por la Lic.

Leticia Arco del Departamento de Ciencias de la Computación, con la consultoría del

Lic. Manuel Llanes del Departamento de Lengua Inglesa de la UCLV. El programa

TextLynx incorporó un conjunto de facilidades para conformar un corpus,

segmentarlo en oraciones, realizar el reconocimiento morfológico (tagging) y

sintáctico (parsing) de los textos (incorporando software de uso libre) y contar la

frecuencia y el rango del léxico en los diferentes textos que conforman el corpus. Se

implementaron funciones para transformar el corpus un extractor de segmentos a

partir de combinaciones booleanas de palabras y un extractor de líneas de

concordancias (KWIC concordancer) Además se crearon funciones para describir

los textos a partir de la frecuencia y la distribución del léxico gramatical y lexical

(nuclear) y determinar las palabras claves de un texto mediante la comparación de su

léxico con el del total del corpus usando el estadígrafo del logaritmo de la

probabilidad. Sin embargo, no se pudieron desarrollar herramientas que permitieran

el establecimiento de los vínculos entre textos mediante la comparación de corpus, el

agrupamiento (clasificación de los textos) y la clasificación del léxico por sus

propiedades distributivas en el corpus. Posteriormente en los Trabajos de Diploma de

Libernys Valdés y José Manuel Rodríguez en 2005 tutorados por Leticia Arcos, se

desarrolló el programa CorpusMiner que representaba el corpus mediante un

modelo espacio-vectorial e incorporaba un conjunto de herramientas para reducir la

dimensionalidad de la matriz del VSM, clusterizar los textos del corpus aplicando

diferentes algoritmos (duros y borrosos) encontrados en la literatura y extraer las

palabras claves y las oraciones principales (más informativas) de un conjunto de

textos, o sea, crea resúmenes extractos de un conjunto de textos.

Page 11: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 11 DE 77

El problema científico que se aborda en esta tesis es: ¿Cómo aumentar la

funcionalidad de TextLynx para obtener los vínculos entre textos mediante la

comparación de corpus, el agrupamiento (clasificación de los textos) y la clasificación

del léxico por sus propiedades distributivas en el corpus?

Para solucionar este problema nos hemos propuesto como objetivo general aumentar

la funcionalidad de TextLynx a través de la implementación de herramientas que

permitan un análisis exhaustivo del texto, lo que nos ha permitido planificarnos las

siguientes tareas:

1. Revisar la bibliografía actualizada relacionada con la lingüística de corpus, la

minería de textos y el procesamiento del lenguaje natural.

2. Estudiar el código de los programas TextLynx y CorpusMiner.

3. Definir las funciones que debe desarrollar cada herramienta.

4. Probar e implementar cada herramienta.

Page 12: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 12 DE 77

CAPÍTULO 1: LINGÜÍSTICA COMPUTACIONAL, LINGÜÍSTICA DE CORPUS Y MINERÍA DE

TEXTOS

TextLynx Plus ha sido concebido con el propósito de permitir la caracterización

lingüística de un corpus de textos que tienen un propósito comunicativo común, para

de esta forma determinar cuáles formas lingüísticas (especialmente léxicas) se

emplean para lograr este propósito. En líneas generales un programa de este tipo es

un auxiliar en el tipo de estudio que se realiza dentro de la lingüística de corpus, sin

embargo requiere de incursiones en procedimientos y técnicas presentes en la

lingüística computacional, la recuperación de la información y la minería de textos.

En este capítulo se ofrecerá una visión general de las características fundamentales

de estas disciplinas y su implicación para el desarrollo del programa TextLynx Plus.

1.1 LA LINGÜÍSTICA COMPUTACIONAL

La lingüística computacional es un campo interdisciplinario dedicado a la

modelación computacional de las lenguas naturales ya sea por medios

estadísticos o mediante la aplicación de reglas de manipulación simbólica. La

Asociación para la Lingüística Computacional define la lingüística computacional

como el estudio científico del lenguaje desde una perspectiva computacional. Los

lingüistas computacionales están interesados en proporcionar modelos

computacionales de varios tipos de fenómenos lingüísticos.

La modelación de las lenguas se realiza a diferentes niveles: modelación de la

actividad investigativa del lingüista, modelación de la actividad del habla, y la

modelación de la adecuación descriptiva de los modelos lingüísticos del primer y

segundo tipos.(Apresian, 1985)

Page 13: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 13 DE 77

Los modelos de la actividad lingüístico-investigativa (modelos investigativos)

buscan obtener una descripción del sistema de la lengua a partir de una muestra

de textos de esa lengua. Esto normalmente implica obtener un listado de sus

unidades elementales en cada nivel de organización, definir y obtener un conjunto

de clases de unidades elementales, y expresar las leyes de asociación de las

unidades elementales de cada clase y entre las clases correspondientes.

Los modelos investigativos pueden ser, según los datos que utilizan como punto

de partida, modelos investigativos de codificación, que usan sólo los textos y los

modelos investigativos experimentales que usan los textos y hacen variaciones en

estos para determinar, con la ayuda de un informante si lo que resulta del cambio

existe en la lengua o no, o si el resultado de un cambio determinado es igual a

algo ya existente o no.

Los modelos de la actividad del habla se dividen en modelos de análisis y modelos

de síntesis, los cuales se materializan en todos los niveles lingüísticos: fonológico,

morfológico, léxico y sintáctico.

Tradicionalmente la lingüística computacional fue el resultado de la actividad de

especialistas en el campo de la computación que se interesaron en la solución de

los problemas de análisis y síntesis lingüísticas que surgen en el campo de la

traducción automática.

Las investigaciones más recientes han demostrado que las lenguas humanas son

mucho más complejas de lo que se había pensado inicialmente por lo que los

lingüistas computacionales trabajan a menudo como miembros de equipos

interdisciplinarios, que incluyen lingüistas (específicamente preparados en la

lingüística), expertos del idioma en cuestión que se analiza (las personas con

algún nivel de habilidad en los idiomas pertinentes a un proyecto dado), y

especialistas en ciencia de la computación. La lingüística computacional utiliza la

Page 14: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 14 DE 77

colaboración de lingüistas, científicos de la computadora, los expertos en

inteligencia artificial, psicólogos cognoscitivos, matemáticos, y lógicos, entre otros.

La lingüística computacional como campo es anterior a la inteligencia artificial, un

campo en el cual a menudo se incluye. La lingüística computacional se originó

en los Estados Unidos en los años cincuenta con los esfuerzos para lograr que

las computadoras automáticamente tradujeran los textos de otros idiomas al

inglés, particularmente la información científica en ruso.

Como la traducción automática (también conocida como la traducción mecánica)

inmediatamente no brindó las traducciones exactas, el proceso automatizado de

idiomas humanos se reconoció como más complejo de lo que había sido

originalmente supuesto. La lingüística computacional nació como un nuevo campo

de estudio consagrado a los algoritmos en vías de desarrollo y software para

procesar los datos del idioma inteligentemente.

Para traducir un idioma en otro, fue observado que se tenía que entender la

gramática de ambos idiomas. Era necesario entender la morfología (la forma de

las palabras) y la sintaxis (combinación de palabras para formar frases). Para

entender la sintaxis, también se tenía que entender la semántica y el léxico. Así, lo

que empezó como un esfuerzo para traducir entre los idiomas evolucionó en una

disciplina entera consagrada a entender cómo representar y procesar idiomas

naturales.

Áreas relacionadas con la lingüística computacional.

La lingüística Computacional puede ser dividida en áreas que dependen del medio

del idioma a procesarse, si es hablado o textual; y en la tarea a realizarse, si es

análisis del idioma o generación del idioma. El reconocimiento del discurso y

síntesis del discurso, el análisis y la generación del discurso y la traducción

automática son tareas de la lingüística computacional.

Page 15: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 15 DE 77

Como algunas de las áreas de investigación utilizadas en la lingüística

computacional están:

- El uso de parsers para los idiomas naturales.

- El uso de taggers como POS-taggers.

- La definición de lógicas especializadas como las lógicas del recurso

para NLP.

- La investigación de la relación entre los idiomas formales y naturales en

general.

- La traducción automática.

1.2 LA LINGÜÍSTICA DE CORPUS

La lingüística de corpus es el estudio del idioma como este se manifiesta en los

textos tomados del "mundo real". Las grandes colecciones de textos auténticos

son conocidas como corpus. El método de la lingüística basada en corpus

representa un enfoque empírico al problema de la obtención de las reglas

abstractas que describen el funcionamiento de una lengua o un subconjunto de

ella. Aunque algunos de los procedimientos que asociamos en la actualidad a la

lingüística de corpus fueron utilizados anteriormente de forma manual, es

indudable que el despegue y gran auge de esta forma de estudiar la lengua sólo

ha sido posible con el advenimiento de las computadoras, e incluso, su

popularización ha sido solo posible con la utilización de las computadoras

personales con alta capacidad de procesamiento y almacenamiento que

comenzaron a hacerse comunes en el último lustro del siglo pasado.

Page 16: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 16 DE 77

El enfoque de la lingüística basada en corpus es contrario a la concepción de las

lenguas y el lenguaje humanos sostenida por el famoso lingüista norteamericano

Noam Chomsky, cuya dicotomía de competencia y performancia (ejecución)

reduce el objeto de estudio de la lingüística a la primera pues la segunda está

plagada de ―errores‖ de diversa índole. Los defensores del enfoque empírico creen

que es mucho más conveniente estudiar las muestras reales del lenguaje humano

tal y como se usa en los diferentes ámbitos de la interacción social y no mediante

ejemplos inventados por los lingüistas para sustentar o criticar una concepción

teórica determinada sobre la organización de las lenguas.

1.3 MINERÍA DE TEXTO

La minería de textos es una tecnología poderosa que facilita la explotación efectiva

de grandes cantidades de datos textuales no estructurados (free text) que existen en

varias fuentes, tales como la Web y que hasta el momento no se pueden usar

eficientemente. Además, la identificación de conocimiento oculto en datos no

estructurados disponibles, es un asunto crucial.

En la organización y manipulación de ese exceso de información se debe considerar

en gran medida la aplicación de las herramientas que automáticamente asistan a los

usuarios, pues las herramientas podrían separar la información relevante o

interesante de la información no relevante, acorde a los intereses especificados por

los usuarios. La información puede ser resumida y visualmente presentada. Mediante

la aplicación de esta tecnología los textos no estructurados pueden ser

automáticamente analizados y se puede extraer de ellos los conceptos más

importantes, etiquetar los documentos con términos claves, resumirlos y hacerlos

disponibles en una forma normalizada y explotable.

La minería de textos, también conocida como minería de datos textuales o

descubrimiento de conocimiento desde bases de datos textuales, pretende algo

Page 17: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 17 DE 77

similar a la minería de datos: identificar relaciones y modelos en la información no

cuantitativa. En pocas palabras, proveer de una visión selectiva y perfeccionada de la

información contenida en documentos escritos y sacar consecuencias para la acción,

así como detectar patrones no triviales e incluso información sobre el conocimiento,

almacenado en las mismas.

La minería de textos es mucho más compleja que la minería de datos porque tiene

que trabajar con datos textuales que son inherentemente no estructurados y

borrosos. La minería de textos es un campo multidisciplinario que incluye

recuperación de información, análisis de textos, extracción de información,

agrupamiento, resumen, categorización, clasificación, visualización, tecnología de

bases de datos, aprendizaje automático y minería de datos.

1.3.1 ETAPAS DE LA MINERÍA DE TEXTO

El proceso de minería de texto consiste de dos etapas principales: una etapa de

preprocesamiento y una etapa de descubrimiento. En la primera etapa, los textos se

transforman a algún tipo de representación estructurada o semi-estructurada que

facilite su posterior análisis, mientras que en la segunda etapa las representaciones

intermedias se analizan con el objetivo de descubrir en ellas algunos patrones

interesantes o nuevos conocimientos. Entonces, en dependencia del tipo de métodos

aplicados en la etapa de preprocesamiento estará el tipo de representaciones

intermedias construidas, y en función de dicha representación se determinan los

métodos usados en la etapa de descubrimiento, y en consecuencia, el tipo de

patrones descubiertos.

Etapa de Preprocesamiento: En la etapa de preprocesamiento los textos

se transforman a una representación estructurada o semi-estructurada de su

contenido. Estas representaciones intermedias de los textos deben ser, por

una parte, sencillas para facilitar el análisis de los textos, pero por otra parte,

completas para permitir el descubrimiento de patrones interesantes, e incluso

Page 18: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 18 DE 77

de nuevos conocimientos. Las representaciones intermedias más usadas en la

minería de texto son básicamente de dos tipos: A nivel documento, donde

cada representación se refiere a un texto diferente de la colección o a nivel

concepto, donde cada representación indica un objeto, tema o concepto

interesante para el dominio específico de aplicación. La construcción de estas

representaciones sigue diferentes estrategias. Por ejemplo, las

representaciones a nivel documento se construyen típicamente usando

información de texto completo e indexamiento. Por su parte, las

representaciones a nivel de concepto se obtienen básicamente aplicando

métodos dependientes del dominio tales como la extracción de términos

importantes y la extracción de información.

Etapa de Descubrimiento: Típicamente, los descubrimientos de minería

de texto y por consecuencia sus métodos y sus tareas se clasifican en:

descriptivos y predictivos, aunque también se han usado otras clasificaciones.

Una clasificación alternativa de la minería de texto considera que estos son

una descripción de situaciones y objetos del mundo, y que las

representaciones intermedias de dichos textos obtenidas en la etapa de

preprocesamiento son una descripción estructurada del contenido. Basándose

en esta consideración, los descubrimientos de la minería de texto se pueden

clasificar en tres enfoques:( i) descubrimientos a nivel de representación, (ii)

descubrimientos a nivel de texto, y (iii) descubrimientos a nivel de descripción

del mundo.

o Descubrimientos a nivel de representación: Los métodos de este

enfoque intentan construir o ―descubrir‖ una representación estructurada

o semi-estructurada de los textos. Los más comunes se encargan de la

clasificación, categorización e indexamiento de los textos.

o Descubrimientos a nivel de texto: Los métodos de este enfoque son de

dos tipos: métodos que descubren patrones de lenguaje a partir de una

colección de textos, y métodos que descubren la organización ―oculta‖

de una colección de textos. Los métodos relacionados con la

identificación de patrones de lenguaje se distinguen por considerar

Page 19: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 19 DE 77

todas las palabras de los textos y mantener su orden relativo, es decir,

usar representaciones de texto completo (full- text, en inglés). Estos

métodos detectan secuencias frecuentes de palabras, y en ocasiones

también construyen, con base en estas secuencias, un conjunto de

reglas asociativas que expresan combinaciones de palabras de uso

común. Por su parte los métodos relacionados con el agrupamiento de

textos se caracterizan por utilizar diversos tipos de métodos, desde los

tradicionales basados en una medida euclidiana de la distancia entre los

textos, hasta los sofisticados que se sustentan en redes neuronales. En

particular estos métodos enfatizan la visualización e interpretación de

los resultados; algunos emplean interfaces gráficas para analizar los

agrupamientos, otros determinan una etiqueta descriptiva del contenido

de cada grupo, y otros determinan el documento representativo de cada

clase. Adicionalmente, el agrupamiento de los textos se usa en el

análisis exploratorio de las colecciones de textos, en la generación de

resúmenes multidocumento, y en otras tareas de descubrimiento tales

como la detección de asociaciones y desviaciones.

o Descubrimientos a nivel de descripción del mundo: Este enfoque

considera distintas tareas, entre ellas el descubrimiento de

asociaciones, la detección de desviaciones y el análisis de tendencias.

Los métodos de este enfoque comparten las siguientes características:

(i) emplean tanto representaciones de los textos a nivel de concepto

como a nivel de documento; (ii) usan conocimientos de dominio,

generalmente expresados en jerarquías de conceptos o conjuntos de

predicados, y (iii) permiten que el usuario guíe el proceso de

descubrimiento, especificando principalmente las regiones y los

conceptos de mayor interés. Entre los trabajos de descubrimiento de

asociaciones se destacan aquellos que plantean la detección de

asociaciones temáticas no-exactas, y el uso de los elementos

estructurados y no estructurados para la obtención de dichas

relaciones. Por su parte, los métodos de detección de desviaciones

Page 20: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 20 DE 77

consideran la detección de los textos raros con temática diferente al

promedio de una colección, así como la detección de los nuevos temas

en una colección dinámica, por ejemplo en un flujo de noticias. El

análisis de tendencias se encarga de la descripción de la evolución de

una colección de textos. Entre sus métodos descuellan los siguientes

enfoques: la detección de temas de discusión con un comportamiento

preestablecido, y la comparación de la temática de una colección en

dos tiempos diferentes.(Gómez, 2005)

1.3.2 DESCRIPCIÓN DE LAS ÁREAS QUE SE RELACIONAN CON LA MINERÍA DE TEXTOS:

Recuperación de información: Se encarga de recuperar documentos que puedan ser

considerados relevantes para la tarea a realizar. Típicamente los usuarios del sistema

pueden especificar conjuntos de documentos, pero el sistema debe ser capaz de

filtrarlos y dejar fuera aquellos irrelevantes.

Extracción de la información: Es el proceso de filtrar la información a partir de

documentos ya seleccionados y de las especificaciones de los usuarios a través de

consultas complejas.

Análisis de textos: Involucra todas las técnicas relacionadas con el análisis léxico,

morfo-sintáctico y semántico de los textos.

Resumen: Es el proceso de extraer conocimiento a partir de una fuente de

información y presentar el contenido más importante al usuario en una forma

condensada y adecuada a las necesidades de la aplicación o del usuario.

Agrupamiento: Consiste en encontrar grupos de documentos que están relacionados

por tópicos similares y extraer las palabras claves más importantes que son

consideradas en esa clasificación.

Categorización: Es el proceso de clasificar los documentos por sus contenidos.

Page 21: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 21 DE 77

Clasificación: Se usa como un término más amplio que la categorización, para incluir

cualquier asignación de documentos a clases, no necesariamente basados en el

contenido.(Valdés, 2005)

1.4 ANÁLISIS DE TEXTOS

Minería de Texto puede ser definida, de modo general, como un proceso de análisis

de texto para extraer información que es útil para propósitos particulares.(Witten,

2003)

La frase ―Minería de Texto‖ es generalmente usada para denotar un sistema que

analiza grandes cantidades de texto en lenguaje natural y detecta patrones de uso

léxicos o lingüísticos en un intento de extraer información útil.(Witten, 2003)

1.4.1 CUBRIMIENTO METODOLÓGICO DEL ANÁLISIS DE TEXTO SIMPLE

A continuación proponemos un breve esquema sobre la metodología para realizar

análisis de textos,

1.4.1.1 TIPOS DE ANÁLISIS DE TEXTO

En lo adelante "análisis de texto" debe ser entendido como "el análisis de textos por

métodos algorítmicos". Un algoritmo es la descripción abstracta de lo que una

computadora debe hacer. Antes de que el algoritmo pueda ejecutarse en una

computadora, este debe ser creado en un lenguaje de programación. El punto es,

que debido a que el algoritmo es una descripción de aquello que se debe hacer, este

nos puede guiar para realizar nuestro análisis de texto. Para analizar un texto es

esencial elaborar un tipo de análisis de texto, llamado codificación de texto

("markup"), pues para que una computadora procese eficazmente un texto, este debe

contar con una estructura o formato adecuados.

Page 22: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 22 DE 77

Además de la codificación de textos, el análisis de texto puede ser dirigido en otros

diferentes aspectos:

1. Concordancia y transformaciones relacionales de los datos textuales.

2. Análisis de Contenido. Este tema puede encontrarse en ocasiones bajo el

título de ―análisis cualitativo‖. Esta es "una técnica sistemática y repetible para

compactar muchas palabras del texto a unas pocas clasificaciones basadas en

reglas predefinidas de codificación. Para esto generalmente se utiliza y aplica

el llamado "diccionario conceptual" o vocabulario compartido de términos

utilizados, para saber cuáles palabras serán usadas para calcular su

concordancia o para procesarlas estadísticamente.

3. Análisis estadístico. Este tema involucra el conteo de características

particulares de los datos textuales y la aplicación de una o más

transformaciones matemáticas. El tipo más simple produce listas de

frecuencias a partir de las palabras extraídas del texto, generalmente

ordenadas de más a menos frecuentes. Existen muchas técnicas de análisis

de texto más complejas que estas como las utilizadas para el análisis de estilo

de los documentos y para la identificación de los autores.

1.4.1.2 APLICACIÓN DE ESTAS TÉCNICAS A TEXTOS POCO CONOCIDOS

Existen dos razones principales que respaldan el uso de técnicas de análisis de texto

sobre textos no conocidos. Primero, la cantidad de documentos es tan abundante que

ninguna persona pudiera leerlos durante todo el transcurso de su vida, más aún si

consideramos la inmensa cantidad de colecciones no literarias que satisfacen

necesidades históricas o con propósitos lingüísticos; también está el inmenso tamaño

de ciertas colecciones de libros que resulta muy tediosa su lectura. Segundo, y más

importante, el análisis de texto es fundamentalmente diferente de los métodos

Page 23: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 23 DE 77

manuales y revela aspectos de incluso textos bien conocidos que nunca hubiesen

sido considerados. Si los textos se analizan con estos algoritmos, habrán de ser

entendidos en mayor medida.

1.4.1.3 CONOCIMIENTO PREVIO

Asumimos que la aplicación del primer tipo de análisis (concordancia) se puede

reflejar en la obtención de listas de frecuencia para textos no conocidos.

Aún así, recomendamos que para procesar cualquier técnica de análisis sobre un

texto se deba tener un conocimiento previo de este, conocimiento generado por las

interrogantes a continuación:

1. Género: ¿Qué tipo de texto usted tiene? ¿Novela, poesía, política, leyes?

¿Está escrito originalmente o simplemente es un comentario?

2. Retórica y vocabulario: El género define una manera particular de hablar y

escribir, por tanto, también un vocabulario específico. Incluyendo cuán

frecuentemente aparecen palabras particulares.

3. Circunstancias sociales o psicológicas. El conocimiento de las circunstancias

sociales circundantes a la escritura del texto puede ser importante. También si

conocemos las características psicológicas del autor.

4. Circunstancias Históricas. Mientras más se conocen las circunstancias

históricas bajo las cuales se escribió el texto mayor entendimiento se tendrá

sobre este.

5. Naturaleza del objeto. El objeto físico sobre el cual ha sido tomado el texto,

generalmente un libro impreso, puede ser relevante. Por ejemplo, si tomamos

el texto a partir de una revista es claramente visible que este deba ser muy

diferente al texto tomado de un libro.

Queda claro que aun cuando los textos digitales luzcan igual, tienen diferentes

contextos y significados. Mientras más conocimientos se tenga de estos, mejor será,

Page 24: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 24 DE 77

pues el especialista podrá cotejar los resultados que obtenga del análisis, con lo que

ya había observado. Por otro lado, aun sin conocimiento previo, esta técnica que

proponemos permitirá adquirir información sobre los textos rápidamente.

1.4.1.4 PASOS EN EL ANÁLISIS

Al analizar un texto desconocido, o poco conocido, tenemos acceso a todo un

cúmulo de información inesperada. Si la búsqueda se dirige hacia una cuestión

específica, esto determinará, la particular diferencia con las búsquedas generales, y

obviamente, un tipo de análisis distinto. Incluso en un análisis dirigido, muchas

aplicaciones permiten que el usuario interrogue el texto en busca de cualquier otra

información valiosa que pueda escapar a su percepción. Entre los datos que se

pueden utilizar para estas interrogantes están:

Palabras más frecuentes: Una técnica muy sencilla pero muy útil es revisar la lista de

las palabras más frecuentes buscando en ellas información sobre el contenido y las

principales características del texto.

Por supuesto, existen muchas limitaciones sobre lo que se puede hacer con una lista

de frecuencias; si el interés está en las palabras primitivas (léxicos de encabezado

como ―know‖ o ―i‖) y no en otras palabras derivadas como (―knows‖, ―knew‖, ―me‖,

―we‖) estas listas resultarán más funcionales.

Concurrencias: Una forma más desarrollada para relacionar palabras con sus

significados utiliza la concurrencia de palabras. La idea aquí es que las concurrencias

repetidas son indicadores más fiables que las palabras sencillas.

Concordancia. La idea que respalda la concordancia es que dirige la atención a la

circunstancia lingüística que rodea una palabra. Por lo tanto cuando se encuentra una

palabra potencialmente interesante, el paso a seguir es extraerle la concordancia a

esta, y luego buscar la lista de concordancias para interpretar los patrones

encontrados.

Page 25: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 25 DE 77

1.4.2 APLICACIONES DEL ANÁLISIS DE TEXTO

Consideramos a continuación algunas de estas aplicaciones, desde las simples

hasta las complejas. Con cada una, mencionaremos los problemas lingüísticos que

presenta esta tarea, es decir, en qué puede aprovechar el avance de la ciencia y la

tecnología.

1.4.2.1 AYUDA EN PREPARACIÓN DE TEXTOS (ALEXANDER GELBUKH, 2000)

Este tipo de aplicaciones es conocido hoy día, quizá por todas las personas que al

menos una vez ha usado la computadora. Hablamos de las herramientas que

proporcionan los procesadores de palabras como Microsoft Word. En el presente

trabajo sólo nos interesan las herramientas que emplean el procesamiento complejo

de texto y requieren conocimiento lingüístico.

Guiones: La tarea de determinar los lugares donde las palabras se pueden romper

para empezar una nueva línea es una de las más simples en procesamiento de

textos. Por ejemplo, se puede romper la palabra como mara-villoso o maravillo-so,

pero no maravil-loso o maravillos-o.

A pesar de ser un problema simple, en ocasiones requiere una información bastante

profunda. Por ejemplo, se debe saber cuáles son el prefijo y la raíz de la palabra: su-

bir y sub-urbano, pero no sub-ir o su-burbano. O bien, en ocasiones se debe saber el

idioma del origen de la palabra: Pe-llicer, pero Shil-ler. También se debe saber la

estructura que requiere cada documento pues quizás no se deben usar guiones en

los títulos y encabezados.

Ortografía. La tarea de averiguar si una palabra está escrita correctamente o con un

error ortográfico es un poco más difícil que la de los guiones. Por lo menos se debe

saber todas las palabras del idioma dado. Ya que no es posible saber literalmente

Page 26: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 26 DE 77

todas las palabras, se debe saber en primer lugar las formas de palabras, como

inteligentísimas, satisfechos, piensen, etc.

Pero para detectar los errores de ortografía, o simplemente de escritura, se debe

considerar el contexto de la palabra de una manera a veces bastante complicada.

Ejemplos: Sé que piensen en el futuro. El terremoto causó una gran hola en el mar.

Se iba a cazar con su novia .Para detectar este tipo de errores, la computadora

necesita hasta entender en cierto grado el sentido del texto.

Gramática. Los correctores de gramática detectan las estructuras incorrectas en las

oraciones aunque todas las palabras en la oración estén bien escritas en el sentido

de que son palabras legales en el idioma, por ejemplo: Quiero que viene mañana. El

maestro de matemáticas, se fue. Me gusta la idea ir a Europa. Fuera magnífico si él

venía a la fiesta.

El problema de detectar los errores de este tipo es que hay una gran variedad de

estructuras permitidas, y enumerarlas todas resulta muy difícil. Para describir las

estructuras de las oraciones en el idioma, se usan las llamadas gramáticas formales

– los conjuntos de reglas de combinación de palabras y su orden relativo en las

oraciones.

Estilo. Una tarea ya más complicada es detectar los problemas en el texto cuando las

palabras correctamente escritas y las oraciones correctamente estructuradas, son

poco legibles, ambiguas o inconsistentes en el uso de palabras de diferentes estilos.

Por ejemplo, el texto científico no debe usar las palabras de jerga; una carta a un

amigo no debe usar las oraciones muy largas, profundamente estructuradas, con

muchas palabras científicas.

1.4.2.2 BÚSQUEDA DE TEXTO

La búsqueda y el uso de la información contenida en el texto es una de las

aplicaciones principales del análisis de texto. Las aplicaciones de este tipo varían

desde las herramientas de búsqueda que simplemente ayudan al usuario a encontrar

Page 27: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 27 DE 77

los documentos probablemente relevantes hasta las computadoras investigadoras

que descubren el conocimiento nuevo que no está escrito en ninguno de los

documentos disponibles.

Búsqueda de documentos. Los motores de búsqueda permiten encontrar en un grupo

de documentos aquellos que satisfagan una necesidad del usuario descrita en su

petición. En el caso simple, la petición contiene las palabras clave, como «pensar y

futuro», esto quiere decir que el usuario necesita los documentos que contengan

ambas palabras. Hasta en este caso simple, se necesita un análisis bastante

complejo: los documentos que contienen las palabras futuras, piensan y

probablemente pensador y pensamiento también son relevantes. Si el usuario indica

que necesita los documentos que indica sobre la acción «pensar en futuro», entonces

el documento que contiene la frase como «piensan en las futuras aplicaciones»

probablemente es relevante, mientras que «en el futuro próximo voy a pensarlo»

probablemente no lo es. Para tomar esta decisión, es necesario un análisis profundo

del texto.

Además de los problemas lingüísticos, la búsqueda eficaz de documentos depende

de las soluciones técnicas. No es posible analizar todos los documentos cada vez

que el usuario hace su pregunta. Entonces, se hace y se maneja un índice de los

documentos, es decir, una representación corta, simple y formal de los documentos.

La representación de este índice, el tipo de información incluida en él, y los métodos

matemáticos que se emplean en la búsqueda en él afectan mucho los resultados y

eficiencia del proceso.

Extracción de información: Lo que es más práctico hacer en el estado actual es

encontrar en el texto proposiciones elementales, bastante simples, para compilar una

base de datos a partir de un conjunto grande de texto. Por ejemplo, a partir de los

periódicos, compilar una base de datos de las compras y ventas de compañías, o de

los precios de abarrotes en las diferentes ciudades del país, etc. Para esta tarea, es

necesario cierto entendimiento del lenguaje.

Page 28: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 28 DE 77

CAPÍTULO 2: DISEÑO E IMPLEMENTACIÓN DEL PROGRAMA

Diseño del programa: Básicamente el programa procesa un documento de texto

que contiene el corpus que va a analizarse. El programa tiene la funcionalidad

necesaria para llegar a este documento fundamental a partir de un conjunto de

documentos aislados. Esta funcionalidad permite unir los diversos documentos de

texto individuales en un solo documento y darle el formato en términos de

delimitadores de texto necesario para su procesamiento ulterior. A partir de este

documento de texto se producen un conjunto de transformaciones del corpus que

este contiene.

2.1 HERRAMIENTAS USADAS DURANTE LAS FASES DE DISEÑO E IMPLEMENTACIÓN.

Para generar los diagramas de casos de uso y clases se empleó el software Rational

Suite 2003 Enterprise Edition, debido a que el mismo contiene todos los elementos

para la modelación en UML, permitiendo realizar dicha modelación de una manera

automatizada, rápida y a la vez de manera intuitiva.

En cuanto al lenguaje se decidió usar el Object Pascal, que implementa los principios

y estructuras fundamentales de la POO, teniendo como característica adicional la

comprensibilidad del código escrito en dicho lenguaje, cualidad esta deseable para

asegurar la extensibilidad del sistema.

Como herramienta de programación se utilizó el Delphi 6, pues en opinión de muchos

programadores a nivel mundial el ambiente Delphi ‖[...]constituye la mejor

combinación de programación orientada a objetos y programación visual para

Windows‖ [CAN01]. Siendo como es un entorno para el desarrollo rápido de

aplicaciones (Rapid Application Development), con una plataforma de clases de gran

funcionalidad como la Visual Component Library y un compilador muy rápido.

Page 29: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 29 DE 77

Consideraciones para el desarrollador:

Para la implementación de este Sistema se contó con la asistencia de dos

componentes de Delphi que no vienen con el paquete original, estos son: el paquete

MultiGrid y el paquete VCLSkin .Para llevar a cabo cualquier modificación será

necesario tener instalados ambos paquetes.

2.2 CONCEPCIÓN Y DESARROLLO DEL SISTEMA TEXTLYNX PLUS.

El sistema está compuesto por la aplicación principal y varios módulos ejecutables

secundarios, lo que constituye una apreciable ventaja pues se pueden reemplazar

por otros que resultarán más eficientes o del gusto del usuario con cambios mínimos

en el código de la aplicación principal. Estos ejecutables son mencionados más

adelante y también se podrá saber sus principales características y la funcionalidad

que brinda al sistema. La aplicación principal está desarrollada de un modo con tres

formas independientes y ajustables:

FProject: Forma en la que se mantiene visualizado constantemente el arbol del

proyecto en el que se trabaja.

FStatistics: Forma que contiene la tabla. Aquí se cargarán y visualizarán varias

tablas obtenidas en el TextLynx Plus.

FLogs: Forma que informa al usuario de cada operación realizada por el

Sistema.

Cada forma tiene funcionalidades inherentes a ella que han sido enumeradas

detenidamente en el manual de Usuario del Sistema.

Las clases principales con las que cuenta el sistema están reflejadas en la figura del

Anexo II. A continuación se ofrece una breve descripción de las mismas:

Page 30: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 30 DE 77

TDocument: Representa al corpus que se está analizando. Está formada

por cuatro clases: TTxtFile, TTknFile, TTknSrtFile y TTypFile. De esta

forma, se garantiza el saber para cada corpus abierto en qué estado de

procesamiento se encuentra.

TTxtFile: Clase que cuenta con los atributos inherentes a un fichero texto

tales como fHandle, que guarda el manipulador del fichero y

fNameAndPath, que almacena el nombre y el camino absoluto del mismo.

TTknFile: Representa el fichero de tokens creado por el sistema a partir del

corpus. Contiene atributos tales como fDelimHandle, que es un

manipulador para el fichero de delimitadores, necesario para poder realizar

el proceso de tokenización.

TTknSrtFile: Es el fichero de tokens ordenado alfabéticamente.

TTypFile: Clase que posibilita trabajar sobre el fichero donde se incluyen

todos los tipos del corpus, generado a partir del anterior.

TAdvancedSearch: Es la encargada de realizar las extracciones de

oraciones que contienen una determinada combinación lógica de palabras.

Para esto cuenta con métodos como Find, BoolAnd, BoolOr y BoolNot.

TFileQuery: Clase que brinda la capacidad necesaria para construir las

tablas cuyos datos se almacenan y se procesan en el atributo fResults.

2.3 DESCRIPCIÓN DE LOS EJECUTABLES UTILIZADOS EN TEXTLYNX PLUS.

Las operaciones y facilidades de este sistema serían imposibles de lograr sin la

amplia gama de funcionalidades que brindan los programas que dinámicamente

utiliza este software. Como se aprecia en la gráfica anterior, estos programas o

ejecutables se encuentran en una carpeta llamada Plugins y a continuación nos

referiremos a ellos:

1. Lexical Corpus Classifier

Como su nombre lo indica, este software clasifica los tipos de un corpus. Para

realizar esta operación se parte de un fichero texto (TB1) creado por el

Page 31: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 31 DE 77

TextLynx, y a partir de esto se obtiene un fichero de clasificación (TCF). Este

programa depende totalmente del TextLynx pues su fichero de entrada

necesita un formato que hasta el momento solo este puede crearlo. La

clasificación consiste en 6 caracteres, donde cada uno denota una

característica del tipo. Para más información referente a este tipo de

clasificación ver el Anexo I. Luego de obtenido el fichero de clasificación este

se puede usar junto a otro fichero de clasificación de algún corpus para

obtener una comparación. El resultado de esta comparación nos indica cuán

parecidos son los textos de ambos corpus.

2. Minipar

MINIPAR es un analizador sintáctico (parser) para el idioma inglés. Una

evaluación con corpus importantes muestra que este programa tiene un 88%

de precisión y hace uso un 80% de veces de sus datos con respecto a la

dependencia de relaciones. Minipar es un programa eficiente, capaz de

analizar alrededor de 300 palabras por segundo en una Pentium II a

trescientos MHz con 128MB de RAM. Su autor es Dekang Li's y permite el uso

de este programa siempre que sea para fines no comerciales. (2003, Nalante,

1998, Lin, 2003)

3. Tagger

El etiquetador de clases léxico-sintácticas (TAGGER) es una implementación

del Brill-Tagger (Wikipedia, 2007, Valencia, 2003) que funciona por

etiquetamiento estadístico a partir del entrenamiento con un corpus. Este

programa sigue la metodología de Eric Brill, quien es además su autor.

4. Append

Se utiliza para la construcción de un corpus a partir de una serie de textos

localizados por el usuario.

5. Attach

Este ejecutable se utiliza para poner en correspondencia línea a línea

diferentes representaciones del Corpus. Es utilizado en la unión vertical.

Page 32: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 32 DE 77

6. AttachEqual

Se utiliza para poner en correspondencia línea a línea diferentes

representaciones del Corpus. Es utilizado en la unión horizontal.

7. Concord

Es un programa de concordancia. Este programa ha sido creado por

Hamaguchi y publicado para uso libre. Sus especificidades pueden ser

analizadas en la referencia. (Hamaguchi, 1995)

8. Detach

Permite separar los textos que forman parte de un corpus. Se tiene acceso

mediante la función desunir (unjoin) del menú Corpus.

9. MPDetach

Este ejecutable brinda un formato adecuado al fichero devuelto por el

programa Minipar y a su vez este programa devuelve como resultado el

archivo (PAR). Gracias a este programa obtenemos un fichero mucho más

reducido que a su vez contiene la información útil eliminando todo tipo de

repeticiones y demás aspectos indeseables del fichero original.

10. Rep , Repl

Programa utilitario que permite reemplazar cadenas de texto, es utilizado en la

función normalizar del menú Corpus.

11. Sorter

Con la ayuda de este programa podemos ordenar un fichero en orden

ascendente o descendente con la opción extra de escoger a partir de qué

columna comenzar el ordenamiento. Es meritorio mencionar que solo se utiliza

una vez en el programa.

12. Token

Este software recibe como entrada un archivo de texto y devuelve otro con las

siguientes características: cada token del texto inicial se encuentra rodeado de

espacios a menos que se encuentre en el final o al principio de la línea. Para

lograr esto el programa hace una revisión sencilla del texto inicial y cuando

Page 33: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 33 DE 77

encuentra un carácter no alfanumérico lo sitúa entre espacios. La utilidad de

esta herramienta se debe a que muchas veces buscamos una determinada

palabra en un texto y la podemos encontrar como subcadena de otra palabra,

por lo que los resultados no son óptimos. Para lograr buscar una palabra de

forma que el resultado no incluya aquellas oraciones que contienen lo que se

busca en forma de subcadena, primero se corre el ejecutable token.exe y en el

resultado de este se busca la palabra esta vez rodeada de espacios, de este

modo garantizamos que no aparezca ninguna oración con la palabra como

subcadena.

13. SentSpliter

Divide el corpus en oraciones.

14. Complex Corpus Transformation

Plataforma: Windows XP o superior.

Implementado en: Borland Delphi 6.

Objetivo Alcanzado: La lengua es un sistema que no puede ser siempre

analizado literal y estructuralmente. Dos frases iguales pueden tener diferentes

significados en dependencia del contexto en el cual se encuentran insertadas.

Lo expuesto anteriormente evidencia que tratar de representar documentos del

lenguaje natural por el significado de un conjunto de índices de términos es un

reto. Diferentes enfoques lingüísticos intentan capturar, o ignorar, una cierta

extensión del significado con respecto al contexto. Estos enfoques se dividen

en cinco niveles (Valdés, 2005):

1. Nivel de grafema: Análisis sobre un nivel de sub-palabra, comúnmente

concerniente a las letras.

2. Nivel léxico: Análisis concerniente a palabras individuales.

3. Nivel sintáctico: Análisis concerniente a la estructura de oraciones.

4. Nivel semántico: Análisis relativo al significado de palabras y frases.

Page 34: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 34 DE 77

5. Nivel pragmático: Análisis relativo al significado, tanto dependientes del

contexto como independientes del contexto, e.g. aplicaciones específicas,

contextos.

Actualmente la herramienta CorpusMiner y TextLynx trabajan al nivel 2 por lo

que se desea incursionar en técnicas y mecanismos para lograr que trabajen

en un nivel superior. Una forma efectiva de lograr que los programas antes

mencionados logren un análisis a nivel sintáctico y hasta semántico es

transformando el corpus original. Esta transformación posibilitará que en cada

palabra sea expresada no sólo la información léxica sino también información

de otras palabras en la oración y las palabras que la rodean, alcanzando así

nuevos niveles en el análisis de textos. A continuación se explica cada

transformación permitida.

1. N-Grams.

Esta transformación consiste en transformar cada línea del texto original en

otra donde cada palabra sea un conjunto de n palabras originales. Con esta

transformación se puede lograr que el texto obtenido tenga información

semántica en cada palabra; pues se obtendría por cada palabra la original y

las que la rodean, para facilitar su entendimiento ejemplificamos:

Dada la línea Pedro construye una casa

El resultado sería:

Para N=2 Pedro—construye construye—una una—casa

Para N=3 Pedro—construye—una construye—una—casa

Para N=4=5-9 Pedro—construye—una—casa

Como se ha podido apreciar, cuando la cantidad de palabras es menor que el

número N seleccionado se representan todas las palabras de la oración de

forma que no exista pérdida de información.

2. Combinations:

Page 35: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 35 DE 77

Esta transformación pretende imprimir un significado sintáctico al resultado ya

que para cada oración del texto original, se conforma otra oración que es el

resultado de unir cada palabra de la oración con todas las diferentes a ella de

esa oración:

Dada la línea: Pedro construye una casa

Obtendríamos: Pedro—construye Pedro—una Pedro—casa construye—una

construye—casa una—casa

Si tomamos como objeto de comparación las líneas resultas en este ejemplo

del corpus transformado, podemos intuir que es mucho mayor en tamaño que

el del corpus original, por lo que se recomienda usar técnicas de reducción de

dimensionalidad usando el CorpusDRT.

3. MinMax Markers

Esta transformación convierte el texto original en otro cuando reduce cada

línea por otra representada por las palabras más importantes para el texto o el

corpus, según se seleccione. Esto posibilita que las dimensiones del corpus

inicial sean reducidas y el corpus transformado solo presente la información

más importante. El algoritmo para esta transformación consiste en:

a. Determinar las palabras más importantes para el texto o el corpus

―según se seleccione‖. Donde una palabra es más importante que otra cuando

su frecuencia es mayor en el texto o el corpus.

b. Cuando exista alguna oración sin asignar palabra en este ciclo

entonces asignar la palabra más importante a la oración donde esta aparece .

c. Este último paso se repetirá tantas veces como ciclos haya

seleccionado el usuario.

Explicación Técnica: Para la implementación de esta aplicación fueron creadas

un conjunto de clases y estructuras que serán analizadas detenidamente en el

diagrama de clases correspondiente. Solo cabe resaltar que la estructura de

Page 36: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 36 DE 77

representación del corpus usada fue la de Árbol de caracteres (Valdés, 2005)

por las ventajas explicadas en el material referenciado.

Estructura física:

Diagramas: Ver Anexo II.

15. Corpus CODEC

Plataforma: Windows XP o superior.

Implementado en: Borland Delphi 6.

Objetivo Alcanzado: Ante la imposibilidad de CorpusMiner. (Valdés, 2005) de

procesar corpus específicos debido a su tamaño, CorpusCODEC brinda una

opción donde traduce cada palabra del corpus por otra, de modo que el

espacio en disco requerido por el corpus codificado sea aproximadamente un

40% del corpus original.

Explicación Técnica: Este software garantiza una codificación máxima sin

pérdida de información, proporcionando una traducción en la que las palabras

más frecuentes se traducen por cadenas de caracteres de longitud 1, luego

cuando esto es imposible, se traducen por cadenas de caracteres de longitud

2, y así sucesivamente.

El tamaño del corpus original solamente influirá en la cantidad de espacio de

disco duro necesario para la operación y en la demora en obtener la solución,

ya que mientras más grande sea el corpus más lento será el proceso de su

codificación y decodificación; pero nunca debido al tamaño del corpus original

será imposible su codificación y decodificación. La solución obtenida será el

corpus ideal para ser procesado en CorpusMiner; ya que la representación en

Page 37: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 37 DE 77

el árbol de caracteres (Valdés, 2005) alcanza sus valores mínimos en cuanto a

memoria se refiere.

Para lograr la traducción eficiente de los textos, el sistema crea dos archivos

claves de codificación y decodificación, estos constituyen el núcleo de todo el

proceso. El sistema tiene implementada una vía de reanudación del proceso

de modo que si falla el fluido eléctrico o cualquier otro tipo de fallo, el proceso

de codificación-decodificación pueda continuarse a partir del momento en que

fue interrumpido, ahorrándose así importantes intervalos de tiempo.

Recomendaciones de Uso: Se recomienda usar esta herramienta solo cuando

las características de la computadora no permitan procesar el corpus. Siempre

se deben guardar cuidadosamente los archivos claves de decodificación o

codificación, ya que de perderse éstos será imposible decodificar el corpus a

menos que se ejecute nuevamente el proceso de codificación partiendo del

mismo corpus original a través del cual se crearon los archivos perdidos.

Estructura física:

Diagramas: Ver Anexo II.

16. Corpus DRT

Plataforma: Windows XP o superior.

Implementado en: Borland Delphi 6.

Objetivo Alcanzado: En la actualidad existen varios reductores de

dimensionalidad para corpus de textos implementados y funcionando

correctamente. Como ejemplo de estos reductores están los reductores de

dimensionalidad implementados en la anterior versión de TextLynx y en

CorpusMiner, pero sucede que estos algoritmos necesitan el uso de memoria

Page 38: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 38 DE 77

RAM, por lo que mientras más grande sea el corpus del que se quiere reducir

la dimensionalidad, más grandes serán los requerimientos del sistema y por

ende muchos corpus habrán de ser irreductibles con las computadoras que

tenemos a nuestro alcance. CorpusDRT brinda la posibilidad de reducir la

dimensionalidad de un corpus sin importar cuán grande este sea; además de

brindar la posibilidad de eliminar las palabras que no aparezcan en un rango

determinado de frecuencia total, reducción también conocida como Ley de

Zpif.

Explicación Técnica: Para la reducción de dimensionalidad este software

utiliza la información almacenada en los archivos que se encuentran en el

directorio DATA; en este directorio se encuentran las tablas de sinónimos,

palabras de la familia, palabras gramaticales, etc. Estos archivos de datos se

encuentran en formato texto ―.txt‖ por tanto pueden ser editados en

dependencia de la necesidad de la reducción. Para su edición se debe

entender la forma en que han sido escritos: Existen dos tipos de formatos para

estos ficheros, un formato es el del fichero de palabras gramaticales que

presenta las mismas en una lista, por otra parte, y en otro tipo de formato los

ficheros de sinónimos, palabras de la familia, etc. presentan el siguiente

formato; word1 tab word2, word3,…, wordn lo cual significa que las palabras

word2,.., wordn serán sustituidas por word1. Si la lista de sinónimos o cualquier

otra no satisface sus necesidades se puede editar fácilmente.

¿Si CorpusDRT brinda la posibilidad de reducir la dimensionalidad de un

corpus sin importar cuán grande este sea, cómo lo hace? Para reducir la

dimensionalidad se crea un archivo clave y a partir de este se crea la

traducción del corpus original. Este archivo clave ha sido necesario debido a

que en él se basa el proceso de reducción en memoria externa y no interna,

siendo este el factor que nos permite poder reducir cualquier tipo de corpus

considerando un hardware específico. Se podrá reducir en corpus de cualquier

tamaño siempre que la memoria externa lo permita

Estructura física:

Page 39: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 39 DE 77

Diagramas: Ver Anexo II.

2.4 USO DE FICHEROS DE DATOS

Para su correcto funcionamiento TextLynx Plus depende de la información

almacenada en le ficheros de Datos. Estos ficheros en su totalidad pueden ser

modificados por los usuarios expertos pero no nos responsabilizamos por las

consecuencias pues muchas funcionalidades dependen directamente de esta

información y un pequeño cambio puede ocasionar grandes diferencias. Por lo tanto

se recomienda antes de hacer cualquier cambio salvarlos en un lugar seguro, de

forma tal que si el funcionamiento posterior no resulta el esperado se pueda regresar

al estado anterior.

Los ficheros de Datos que utiliza TextLynx Plus son los siguientes:

1. Delim02.txt y delim.txt. estos ficheros se encuentran en Data\Delims\ y

contienen la lista de delimitadores de tokens

2. Todos los ficheros contenidos en Data\Lists\ presentan listas de información

que son necesarias para el desarrollo de procesos como el de transformar

corpus. Estas listas son perfectamente editables, de forma que si se desea

agregar alguna abreviación, sinónimo, etc., editando estos documentos lo

puede conseguir perfectamente.

3. TextLynx.ini localizado en \Data\. Este archivo nos permite inicializar el

programa con características seleccionadas por el usuario. En este momento

se utiliza para el uso de skins del programa.

Page 40: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 40 DE 77

2.5 CREACIÓN DE LOS FICHEROS DE ÍNDICES.

Un paso importante para el análisis de un corpus es su tokenización, es decir el

proceso que se encarga de reconocer los tokens del lenguaje, en este caso del

idioma inglés. Es necesario destacar que el sistema debía ser capaz de analizar

corpus que frecuentemente contienen dos millones o más de tokens.

Durante el desarrollo de la primera versión de TextLynx se intentó guardar toda la

información extraída del corpus en bases de datos. Se llevaron a cabo varios intentos

al respecto, utilizando los componentes de las paletas BDE y ADO en Delphi, pero no

fue posible la utilización de una base de datos para almacenar toda esta información

porque el proceso de inserción mediante consultas o adicionando directamente los

registros en las tablas de los tokens en la base de datos consumía gran cantidad de

tiempo. Este aspecto no representaba una limitación inaceptable, sin embargo la

manipulación de la base de datos desde el programa también se hacía

extremadamente lenta y producía una sobrecarga en el sistema. Por otra parte, la

estabilidad de la base de datos creada se vio afectada por el hecho de tener que

transformar su contenido con mucha frecuencia como resultado de la necesidad del

procesamiento lingüístico. Por tanto se llegó a la conclusión de que con estas

herramientas no nos era posible manipular adecuadamente el corpus y en su lugar se

debía crear ficheros de índices en formato texto a partir del corpus original. Los

ficheros creados finalmente son los siguientes:

Fichero de tokens: Destinado a almacenar todos los tokens de las palabras del

corpus (uno en cada línea), junto a un índice que expresa su posición absoluta en

el corpus y su posición relativa en el texto, el párrafo y la oración.

Fichero de tokens ordenado: Es el resultado del ordenamiento alfabético de la

primera columna (que contiene los tokens) del fichero anterior. El propósito de

esta transformación es facilitar la generación del fichero de tipos. Como el tamaño

del fichero es muy grande se hacía necesario garantizar un método de

ordenamiento eficiente en memoria externa. La solución más práctica para ganar

Page 41: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 41 DE 77

en eficiencia fue usar el programa sort.exe que está disponible en el sistema

operativo Windows.

Fichero de tipos: Se genera a partir del fichero de tokens ordenado, contiene los

tipos encontrados en el corpus, la información de si es lexical o gramatical y la

cantidad de tokens de cada tipo.

Una vez que quedan conformados estos ficheros, toda la información del corpus

queda organizada de manera que se puedan confeccionar diversas tablas y reportes.

Para más información acerca de estos ficheros ver el Anexo I.

2.6 FUNCIONALIDAD DEL SISTEMA

2.6.1 OPERACIONES BÁSICAS SOBRE LOS CORPUS.

El sistema TextLynx Plus permite dos grandes tipos de operaciones con los corpus,

las que podemos llamar operaciones de conformación y operaciones de

transformación. El primer tipo incluye las operaciones que tienen el objetivo de

conformar el propio corpus mediante la adición de textos, el ordenamiento de estos

en el corpus, y su delimitación y segmentación. El segundo tipo de operaciones, las

de transformación, se realizan sobre un corpus ya conformado y se dividen en dos

Page 42: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 42 DE 77

clases: las transformaciones genéricas y las transformaciones específicas. Las

transformaciones genéricas consisten en la adjunción al final de cada línea del fichero

del corpus de otra línea de otro fichero. Esta transformación permite añadir

descripciones, codificaciones, u otras transformaciones al final de cada línea. Las

transformaciones específicas incluyen dos sub-clases: las transformaciones

descriptivas y las transformaciones sustitutivas:

las transformaciones descriptivas añaden una descripción a cada token del

corpus

las transformaciones sustitutivas cambian ciertos conjuntos de tokens por otros

según se especifica en ficheros de texto

Las transformaciones descriptivas incluyen dos procesos diferentes: el etiquetamiento

de los tokens con la clasificación según las partes del habla (POS tagging) y la

identificación de la función sintáctica que cada token desempeña en la oración

(parsing). Ambas transformaciones se realizan mediante programas autónomos

implementados por otros autores y que se incluyen como aditamentos (plug-ins).

Las transformaciones sustitutivas incluyen la lematización (sustitución de cada forma

lingüística por el lexema correspondiente), la sustitución de las contracciones por sus

expansiones, de las abreviaturas por sus formas completas, la homogeneización de

las convenciones ortográficas (según las normas británicas o las norteamericanas),

así como la reexpresión de símbolos numéricos (dígitos) y otros símbolos

(monetarios y tipográficos) con las palabras correspondientes. También la sustitución

incluye la eliminación o el etiquetado de las palabras gramaticales.

Todas estas operaciones de transformación se realizan a través de la ejecución de

varias aplicaciones auxiliares de consola, las cuales se ejecutan a partir de un fichero

por lotes (.bat), cuya salida se redirige hacia un fichero texto.

Page 43: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 43 DE 77

2.6.2 OBTENCIÓN DE TABLAS

Comúnmente se utiliza, para describir corpus, la información tabular que combina la

identificación de los textos, la información léxica que estos contienen y la

especificación numérica de su frecuencia, distribución y correlación. Las tablas

descriptivas generadas por TextLynx Plus son de cuatro tipos fundamentales:

Tabla grafémica. Esta tabla muestra la frecuencia de aparición de cada

grafema (carácter ortográfico) o carácter de control en el corpus.

Tablas léxicas. Contienen en la primera columna el listado de los tipos léxicos

que aparecen en el corpus (o un subconjunto de ellos) y en las columnas

restantes ofrecen la especificación numérica de la frecuencia de aparición por

cada uno de los textos que componen el corpus, o la categorización nominal

de dicha frecuencia basada en algún criterio de umbral cuantitativo o de

distribución.

Tablas Textuales Descriptivas. Contienen en la primera columna una

identificación del texto y en las columnas restantes la especificación numérica

de la frecuencia de aparición de diversas clases léxicas (distributivas o de

frecuencia).

Tablas Textuales Relacionales. Contienen una identificación del texto en las

dos primeras columnas y en la tercera columna presentan la especificación de

un índice numérico que expresa la relación entre los textos identificados.

El Sistema genera las siguientes tablas:

Tabla grafémica:

Character Profile. Esta tabla de perfiles muestra, para cada carácter

del código ASCII, la cantidad de veces que aparece dentro del

corpus que se está analizando. Ayuda en el proceso de

delimitación del texto y puede hacerse incluso como proceso

previo a la tokenización para determinar qué caracteres deberán

usarse como delimitadores entre los tokens.

Page 44: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 44 DE 77

Tablas Léxicas:

Word Form Profile. Muestra un resumen muy completo acerca de la

composición y distribución del léxico del corpus. Para cada forma

tipo se indica su frecuencia en cada texto y su frecuencia total, así

como el modo en que se distribuyen los tipos léxicos por cada

texto; indica y permite determinar la singularidad de los tipos y su

clasificación en lexicales o gramaticales.

Text Keyword Profile. Muestra los tipos que constituyen palabras

claves en cada texto. Para determinarlos el programa se basa en

la frecuencia con que aparecen los mismos dentro del texto al que

pertenecen, descartando los tipos gramaticales, los cuales no

aportan información significativa en estos casos. Los tipos que

aparecen con mayor frecuencia son considerados claves. Existen

dos algoritmos posibles para escoger las palabras claves. El

primer algoritmo implementado ―Highest Fifty Percent Sampling‖

se basa en ordenar a los tipos de cada texto según la cantidad de

tokens que de ellos contiene el texto (frecuencia). Así los que

mayor cantidad de tokens presenten en un texto determinado,

quedarán primeros en el ranking. Se escogerá entonces a los de

mayor ranking, hasta que la suma total de la frecuencia de los

tokens de los tipos elegidos sobrepase el 50% de los tokens del

texto que se está analizando. El segundo algoritmo ―Above Mean

frecuency of Repeated Words‖ consiste en escoger aquellas

palabras lexicales repetidas en el texto, de tal manera que para

cada texto del corpus se calcula el promedio de frecuencia de

tipos y todos aquellos tipos cuya frecuencia sea mayor que la

promedio entonces constituyen parte de la lista de palabras claves

del texto y por ende del corpus. La importancia de la tabla de

palabras clave radica en que sobre la base de la información que

brinda se puede determinar el tema de cada texto. Los algoritmos

implementados difieren de otros utilizados en programas similares

Page 45: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 45 DE 77

(e.g. WordSmith Tools) en que no requieren un corpus externo

para la selección de las palabras claves.

Log-likelihood Scale. Esta tabla calcula para cada palabra (tipo

léxico) en cada texto, el valor que tiene el logaritmo de la

probabilidad de su frecuencia con respecto a la totalidad del

corpus. Este valor puede ser 0 si la palabra no aparece en el

texto, negativo si aparece en el texto con una frecuencia menor

de la esperada al considerarse su frecuencia en el corpus,

positivo si aparece en el texto con una frecuencia mayor de la

esperada al considerarse su frecuencia en el corpus. Mientras

mayor es este valor, más específica es la palabra del texto en

cuestión.

Emblematic Classification from Word LogLikelihood Categorization.

Esta, incluye en una categoría a cada tipo léxico del corpus por

el signo del valor que se le asigna en la tabla Log-likelihood

Scale. Si es positivo en la mayor parte de los textos en que

aparece, se clasifica el tipo como emblemático. Utilizamos este

término para referirnos a palabras que son muy específicas de

los textos en que aparecen, independientemente de la frecuencia

con que aparezcan en estos. Esto último las diferencia de las

palabras claves.

Schematic Classification from Word Profile in Texts. Esta tabla

muestra para cada texto si cada palabra en la primera columna

es relativamente más importante para el corpus que para el texto.

Indica con ‘S‘ si este es el caso y con ‗N‘ si no lo es.

Schematic Classification from Word Profile in Corpus. Esta tabla

resume, con relación a la totalidad del corpus, cuál es el

comportamiento que predomina en la tabla anterior y clasifica

como esquemáticas aquellas palabras que tienen el valor ‗S‘ en

la mayor parte de los textos.

Tablas Textuales Descriptivas

Page 46: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 46 DE 77

Text Lexical Profile. En la misma se muestran las cantidades de

entidades léxicas (tipos y tókenes) presentes en cada texto, en

total, y según las categorías léxico-semánticas (lexical versus

gramatical). Las categorías usadas son:

Cant. Tipos

Cant. Tókenes

Cant. Tipos gramaticales

Cant. Tipos gramaticales exclusivos

Cant. Tókenes gramaticales

Cant. Tipos lexicales

Cant. Tipos lexicales exclusivos

Cant. Tókenes lexicales

Además calcula las proporciones entre las cantidades presentes

en las diferentes categorías anteriores para dar las siguientes

medidas:

Medida de densidad lexical total (Cantidad de tókenes /

Cantidad de Tipos)

Medida de densidad gramatical (Tókenes gramaticales / Tipos

gramaticales)

Medida de densidad lexical nuclear (Tókenes lexicales / Tipos

Lexicales

Proporción léxico-gramatical a nivel de tókenes (Tókenes

lexicales / Tókenes gramaticales)

Proporción léxico-gramatical a nivel de tipo (Tipos lexicales /

Tipos gramaticales)

Text Detailed Lexical Profile. Muestra la frecuencia de aparición en

cada texto de las clases léxicas distributivas siguientes:

Tókenes Repetidos Exclusivos Gramaticales

Tókenes Repetidos Exclusivos Nucleares

Tókenes Repetidos Compartidos Gramaticales

Tókenes Repetidos Compartidos Nucleares

Page 47: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 47 DE 77

Tókenes Únicos Exclusivos Gramaticales

Tókenes Únicos Exclusivos Nucleares

Tókenes Únicos Compartidos Gramaticales

Tókenes Únicos Compartidos Nucleares

Tipos Repetidos Exclusivos Gramaticales

Tipos Repetidos Exclusivos Nucleares

Tipos Repetidos Compartidos Gramaticales

Tipos Repetidos Compartidos Nucleares

Tipos Únicos Exclusivos Gramaticales

Tipos Únicos Exclusivos Nucleares

Tipos Únicos Compartidos Gramaticales

Tipos Únicos Compartidos Nucleares

Word Distributional Class Categorization. Esta tabla indica para cada

palabra la cantidad de textos en los que aparece incluida en

alguna de las categorías de tipos anteriormente mencionadas.

Representativeness Scale. Esta Tabla muestra la medida asignada a

cada texto en función de su léxico clave, como proporción del

léxico del corpus; de este modo los valores más altos indican un

grado de representatividad mayor.

Tablas Textuales Relacionales

Text-Text Comparison based on frequency percentage of shared

keywords. En esta tabla se ofrece un índice de la diferencia entre

el conjunto del léxico clave de cada texto con relación al de todos

los demás.

2.6.3 OBTENCIÓN DE REPORTES

Los reportes constituyen un método excelente para recolectar información dispersa en

los corpus de textos. TextLynx Plus permite generar tres tipos de reportes:

Extracción de oraciones: Mediante esta facilidad es posible extraer del corpus las

oraciones que presenten cualquier combinación lógica de palabras especificada, es

Page 48: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 48 DE 77

decir palabras relacionadas mediante los operadores básicos del Álgebra de Boole

(and, or, not). Por cada palabra a buscar se hace una llamada al programa Find del

Ms-Dos, incluido en Windows XP y versiones anteriores. De este modo en el

resultado quedan solo aquellas oraciones que cumplen con los requisitos pedidos.

Extracción de concordancia: Este reporte permite la extracción de fragmentos del

corpus que contienen una palabra especificada por el usuario. Se brinda la

posibilidad de definir un horizonte, o sea la cantidad de caracteres antes y después

de la palabra a buscar que mostrará el programa en su salida, así como una

palabra contextual (que deberá acompañar a la principal en el fragmento). Esta

facilidad se logra también mediante el uso de una aplicación de consola

especializada e independiente del módulo principal.

Concurrencia de una palabra: A través de este, obtenemos la lista de las palabras

que concurren con una palabra origen. Esta lista aparece ordenada en orden

descendente con respecto a las frecuencias de concurrencia de las palabras. De

modo que la primera palabra concurrente es la que más aparece junto a la palabra

origen.

Page 49: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 49 DE 77

CONCLUSIONES

1. Se corrigió todo el funcionamiento de TextLynx incluyendo las operaciones que

supuestamente el software realizaba en su primera versión.

2. Se ha aumentado la funcionalidad de TextLynx diseñando y programando las

herramientas: Complex Corpus Transformations, Corpus CODEC, Corpus DRT,

y Corpus Classiffier.

3. Se ha duplicado el número de tablas generadas por TextLynx entre las que se

incluye Text-Text comparisson. Esta tabla añade al software comparaciones

entre textos de un corpus y funciona como primer eslabón para la obtención de

novedosos resultados.

Page 50: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 50 DE 77

RECOMENDACIONES

1. Mejorar la interacción de TextLynx Plus con los ficheros que crea. La

creación del fichero de tokens y del fichero de tipos es necesaria para

muchos algoritmos utilizados en la construcción de tablas; Cada vez que se

reinicia la aplicación estos ficheros son creados sin tener en cuenta si ya

existen o no.

2. Agregar graficas. Los graficas pueden ser una manera muy efectiva de

devolver los resultados del análisis de texto realizado por TextLynx Plus y

además permitirá dar una mayor claridad a los resultados.

Page 51: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 51 DE 77

REFERENCIA BIBLIOGRÁFICA

RAYSON, P. (2003) Log-likelihood calculator.

(2003) How can I use Dekang Li's Minipar as a NE Tagger?

HAMAGUCHI, T. (1995) KWIC UTILITY.

LIN, D. (2003) Dependency-based evaluation of minipar. Edmonton, Alberta, Canada,

Department of Computing Science, University of Alberta.

NALANTE, I. (1998) MiniPar.

VALENCIA, U. D. (2003) Part-of-Speech Tagging.

WIKIPEDIA (2007) Brill Tagger.

Aprendiendo UML en 24 horas.

(2001) OMG Unified Modeling Language Specification.

(2003) How can I use Dekang Li's Minipar as a NE Tagger?

(2005) Method in text-analysis: An introduction.

ALARCÓN, R. (2000) UML. diseño orientado a objetos con UML.

ALEXANDER GELBUKH, I. B. (2000) Avances y Perspectivas de Procesamiento

Automático de Lenguaje NAtural. México D.F.

APRESIAN, I. D. (Ed.) (1985) Ideas y métodos de la lingüística estructural

contemporánea., La Habana, Cuba.

GÓMEZ, M. M. Y. (2005) Minería de Texto empleando la Semejanza entre

Estructuras Semánticas. Computación y Sistemas, 9, 63-81.

H., D. H. Introducción al UML.

HAMAGUCHI, T. (1995) KWIC UTILITY.

JULIETA NOGUEZ M., R. V. B. (2003) Lenguaje Unificado de Desarrollo (UML).

Cátedra de Robótica Móvil, Tecnológico de Monterrey.

LIN, D. (2003) Dependency-based evaluation of minipar. Edmonton, Alberta,

Canada, Department of Computing Science, University of Alberta.

Page 52: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 52 DE 77

NALANTE, I. (1998) MiniPar.

RAYSON, P. (2003) Log-likelihood calculator.

VALDÉS, L. (2005) Implementación de una herramienta de minería de texto.

Departamento de Inteligencia Artificial, Centro de Estudios Informáticos.

Villa Clara, Cuba, Universidad de las Villas.

VALENCIA, U. D. (2003) Part-of-Speech Tagging.

WIKIPEDIA (2007) Brill Tagger.

WITTEN, I. H. (2003) Text Mining. Hamilton, New Zeland, Computer

Science,University of Waikato.

Page 53: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 53 DE 77

ANEXO I - DESCRIPCIÓN DE FICHEROS GENERADOS POR TEXTLYNX PLUS. SU EXPLICACIÓN Y

UTILIDAD.

REPRESENTACIÓN DEL CORPUS CON LAS ETIQUETAS DE LAS CLASES LÉXICO-SINTÁCTICAS

CORRESPONDIENTES A CADA FORMA LÉXICA [TAG] USANDO EL PROGRAMA ―BRILL

TAGGER‖

======/NN

001/CD -/: Don't/VB tell/VB it/PRP to/TO the/DT Spartans/NNPS (nor,/NN indeed,/NN to/TO anyone/NN else)/NN

A/DT Spartan/NN with/IN a/DT secret/JJ to/TO send/VB knew/VBD how/WRB to/TO keep/VB it/PRP safe:/VB he/PRP wound/NN

his/PRP$ parchment/NN around/IN a/DT tapered/JJ baton,/NN called/VBD a/DT scytale,/NN before/IN writing/VBG on/IN it./NN

Off/RB the/DT scytale,/VBG the/DT parchment/NN was/VBD gobbledygook,/VBG safe/JJ in/IN the/DT hands/NNS of/IN any/DT

messenger./NN

Rewrapped/VBD around/IN an/DT identical/JJ scytale/NN at/IN the/DT intended/VBN destination,/NN it/PRP was/VBD

readable/JJ again./NN

The/DT method/NN was/VBD safe,/VBG but/CC it/PRP meant/VBD that/DT everyone/NN needed/VBD a/DT scytale./NN

Caesar's/JJ legions,/NN on/IN the/DT other/JJ hand,/NN used/VBD a/DT different/JJ method./NN

LAS CLASES LÉXICO-SINTÁCTICAS SE IDENTIFICAN MEDIANTE LAS SIGUIENTES ETIQUETAS:

Page 54: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 54 DE 77

REPRESENTACIÓN DEL CORPUS CON LAS ETIQUETAS DE LAS RELACIONES SINTÁCTICAS

ENTRE PARES DE PALABRAS USANDO EL PROGRAMA MINIPAR [PAR]

A_det_researcher

1 researcher_

1 there_subclass

1 Graham_lex-mod_Graham-Moore

1 Moore_appo_there

1 together_mod_data

1 these_nn_data

LA INFORMACIÓN QUE SE ENCUENTRA EN ESTE FICHERO TIENE EL SIGUIENTE ORDEN: ÍNDICE DE ORACIÓN + TAB

+SINTAGMA. EL SINTAGMA ES UN CONJUNTO DE VARIAS PALBRAS SEPARADAS POR _. Y EN ELLAS SE PUEDE

ENCONTRAR LA INFORMACION QUE CONTINÚA DEBAJO, DE MODO QUE SI ENCONTRAMOS LA ORACIÓN: 1

this_det_year SIGNIFICA: THIS APARECE COMO DETERMINANTE DE YEAR EN LA ORACIÓN #1.

Categorías gramaticales

Det: Determinantes

PreDet: PRE-determinantes

PostDet: Post-Determinantes

NUM: Números

C: Cláusulas

I: Frases inflectivas

V: Verbo y frases verbales

N: Nombre y Frases nominales

NN: modificador nominal

P: Preposición y frase preposicional

PpSpec: Especificadores de Frases preposicionales

A: Adjetivo/Adverbio

Have: El verbo ―Have‖

Aux: Verbos auxiliares

Be: Diferentes formas del verbo ―BE‖

COMP: Complemento

VBE: Verbo copulativo

V_N Verbo con un argumento

V_N_N Verbo con dos argumentos

V_N_I Verbo con cláusula como complemento

Relaciones gramaticales

appo Aposición

aux Auxiliar

be Forma del Verbo ―BE‖

c Cláusula

comp1 complemento

det determinante

gen genitivo

have forma del verbo ―have‖

i relación entre cláusula subordinada y cláusula

independiente

inv-aux auxiliar invertido

inv-be verbo ―BE‖ invertido

inv-have verbo ―have‖ invertido

mod modificador adjunto

pnmod modificador posnominal

p-spec especificador de frase preposicional

pcomp-c complemento de nombre

pcomp-n complemento nominal de preposición

post post determinante

pre pre determinante

pred predicado de una cláusula

rel cláusula relativa

vrel verbo pasivo como modificador

wha, whn, whp: pronombre y adverbios ínter relativos

obj complemento directo del verbo

obj2 complemento indirecto del verbo

subj sujeto del verbo

s sujeto superficial

Page 55: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 55 DE 77

REPRESENTACIÓN DEL CORPUS CON UNA ORACIÓN POR CADA LÍNEA. [SPL]

======

001 - Don't tell it to the Spartans (nor, indeed, to anyone else)

A Spartan with a secret to send knew how to keep it safe: he wound his parchment around a tapered baton, called a scytale,

before writing on it.

Off the scytale, the parchment was gobbledygook, safe in the hands of any messenger.

Rewrapped around an identical scytale at the intended destination, it was readable again.

The method was safe, but it meant that everyone needed a scytale.

Caesar's legions, on the other hand, used a different method.

Their secret messages were just shifted up three letters: AS became DS.

Caesar could send a secret to anyone who knew the trick, but if word got out the code would be worthless.

The choice was between more controllable but limiting hardware and more flexible but crackable software.

REPRESENTACIÓN DEL CORPUS NORMALIZADO [NRM]

======

DO NOT tell it to the SPARTAN nor indeed to anyone else

A Spartan with a secret to send KNOW how to keep it safe he WIND his parchment around a TAPER baton CALL a scytale

before WRITE on it

Off the scytale the parchment BE gobbledygook safe in the HAND of any messenger

REWRAP around an identical scytale at the INTEND destination it BE readable again

The method BE safe but it MEAN that everyone NEED a scytale

Caesar's LEGION on the other hand USE a different method

ESTE FICHERO ES EL RESULTADO DE LA NORMALIZACIÓN DE UN CORPUS. EL PROCESO DE NORMALIZACIÓN

CONSISTE EN UNA SERIE DE TRANSFORMACIONES, ESCOGIDAS POR EL USUARIO, ENTRE LAS CUALES ESTÁN:

STEMMING, ELIMINACIÓN DE PALABRAS GRAMATICALES, ETC.

Page 56: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 56 DE 77

TABLA CONTENIDA EN LOS FICHEROS DE TÓKENES ORDENADOS

TEXTUALMENTE [TKN]

Token del

corpus en

orden

textual

Ordinal

del token

en el

corpus

Ordinal

en el

corpus

del texto

que

incluye

al token

Ordinal en el

texto de la

oración que

incluye al

token

Ordinal

del token

en la

oración

que lo

incluye

En

posición

final del

texto

En posición

final de la

oración

En oración

larga con

respecto a la

media

A 1 1 1 1 0 0 1

SPARTAN 2 1 1 2 0 0 1

WITH 3 1 1 3 0 0 1

A 4 1 1 4 0 0 1

SECRET 5 1 1 5 0 0 1

TO 6 1 1 6 0 0 1

TABLA CONTENIDA EN LOS FICHEROS DE TÓKENES ORDENADOS

ALFABÉTICAMENTE [SRT]

Toke

n d

el co

rpus

Ord

inal d

el to

ken e

n e

l corp

us

Ord

inal e

n e

l corp

us d

el te

xto

que inclu

ye

al to

ken

Ord

inal e

n e

l te

xto

de la o

ració

n

que inclu

ye

al to

ken

Ord

inal d

el to

ken e

n la

ora

ció

n

que lo inclu

ye

En p

osic

ión fin

al d

el te

xto

En p

osic

ión fin

al d

e la o

ració

n

En o

ració

n larg

a c

on r

esp

ecto

a

la m

edia

Dis

tancia

xim

a p

osib

le e

ntr

e

los tókenes d

e u

n m

ism

o tip

o e

n

el te

xto

Dis

tancia

calc

ula

da

entr

e e

l

token

y e

l to

ke

n d

e s

u m

ism

o

tipo q

ue lo a

nte

ce

de e

n e

l te

xto

En p

osic

ión c

erc

ana a

l to

ken d

e

su m

ism

o tip

o q

ue le a

nte

cede

en e

l te

xto

ÖRJAN 999664 913 20 24 1 1 1 0 0 0

ÊTRE 491735 474 42 8 0 1 0 0 0 0

ÜBERWORMS 234151 237 155 5 1 0 1 0 0 0

Page 57: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 57 DE 77

TABLA CONTENIDA EN LOS FICHEROS DE TIPOS POR TEXTO DEL CORPUS

ORDENADOS ALFABÉTICAMENTE [TIP]

Tipo del texto en

orden alfabético

Cantidad

de

tókenes

del tipo en

el texto

Ordinal en

el corpus

del texto

que

incluye al

tipo

Más de la

mitad de

los

tókenes de

ese tipo en

el texto

están en

posición

final del

texto

Más de la

mitad de los

tókenes de

este tipo en

el texto

están en

posición

final de la

oración

Más de la

mitad de los

tókenes de

ese tipo en

el texto

están en

oraciones

más largas

que la media

de longitud

oracional

para el texto

Más de la

mitad de los

tókenes de

ese tipo en

el texto

están a una

distancia

menor que

la mitad de

la DMP del

token de su

mismo tipo

que lo

precede en

el texto

ÖRJAN 1 913 1 1 1 0

ÊTRE 1 474 0 1 0 0

ÜBERWORMS 1 237 1 0 1 0

A 65 1 1 0 1 0

A 16 2 1 1 1 0

A 11 3 0 0 1 1

Page 58: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 58 DE 77

TABLA CONTENIDA EN LOS FICHEROS DE TIPOS DEL CORPUS ORDENADOS

ALFABÉTICAMENTE [TCP]

Tipo del corpus en

orden alfabético

Cantidad de

tókenes del

tipo en el

corpus

Cantidad de

textos del

corpus que

incluye al

tipo

Más de la

mitad de los

textos del

corpus

incluyen la

mayoría de

los tókenes

de este tipo

en posición

final del

texto

Más de la

mitad de los

textos del

corpus

incluyen la

mayoría de

los tókenes

de este tipo

en posición

final de la

oración

Más de la

mitad de los

textos del

corpus

incluyen la

mayoría de los

tókenes de

ese tipo en

oraciones más

largas que la

media de

longitud

oracional para

el texto

Más de la

mitad de los

textos del

corpus

incluyen la

mayoría de los

tókenes de

ese tipo a una

distancia

menor que la

mitad de la

DMP del token

de su mismo

tipo que lo

precede en el

texto

ÖRJAN 1 1 0 0 0 0

ÊTRE 1 1 0 0 0 0

ÜBERWORMS 1 1 0 0 0 0

A 36013 1199 0 0 1 0

AA 1 1 0 0 0 0

TABLA CONTENIDA EN LOS FICHEROS DE TABLA DE CARACTERES [TB0]

Número ASCII Carácter Cantidad

32 4985

33 ! 0

34 20

35 # 0

36 $ 1

37 % 3

38 & 1

Page 59: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 59 DE 77

TABLA CONTENIDA EN LOS FICHEROS DE TIPOS DEL CORPUS

DISTRIBUCIONALMENTE CODIFICADOS Y FUNCIONALMENTE CLASIFICADOS,

ORDENADOS ALFABÉTICAMENTE [TCF]

Tipo del corpus en

orden alfabético

Cantidad

de

tókenes

del tipo

en el

corpus

Cantidad

de

textos

del

corpus

que

incluyen

al tipo

Cantidad

Total de

tókenes

del tipo

que

aparecen

por encima

de la

media de

frecuencia

de

repetición

de tókenes

en cada

texto

Cantidad

Total de

textos con

tókenes

del tipo

que

aparecen

por

encima de

la media

de

frecuencia

de

repetición

de

tókenes

de cada

texto

Codificación

del tipo

según su

distribución

(frecuencia

en el corpus

y en cada

texto,

posición

textual y

oracional,

proximidad

de los

tókenes y

tamaño de

la oración

relativos al

texto)

Clasificación

del tipo

(como

palabra

léxica o

gramatical)

ÖRJAN 1 1 0 0 ccccbbbb L

ÊTRE 1 1 0 0 ccccbbbb L

ÜBERWORMS 1 1 0 0 ccccbbbb L

A 36013 1199 36008 1194 aaaabbab G

AA 1 1 0 0 ccccbbbb L

AAAI 3 1 3 1 bcbcbbbb L

AAAS 9 7 2 1 bbbcbbab L

Page 60: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 60 DE 77

TABLA CONTENIDA EN LOS FICHEROS DE TABLA DE DISTRIBUCIÓN DE LAS

FORMAS LÉXICAS [TB1]

Form

a léxic

a

longitu

d

Cla

sific

ació

n g

ram

atical o

lexic

al

Fre

cue

ncia

Tota

l en

el

Corp

us

Rango

de

Te

xto

s

Texto

1

Texto

2

Texto

3

Texto

4

Texto

5

A 1 G 128 5 65 16 11 25 11

ABERDEEN 8 L 2 1 0 2 0 0 0

ABILITY 7 L 4 2 2 0 0 2 0

ABLE 4 L 5 4 2 1 1 1 0

TABLA CONTENIDA EN LOS FICHEROS DE TABLA DEL LOGARITMO DE LA

PROBABILIDAD [TB5]

Tipos Text 1 Text 2 Text 3 Text 4 Text 5

ABERDEEN 0 2,7708 0 0 0

ABILITY 0,1367 0 0 0,9353 0

ABLE 0,0151 0,0188 0,0829 -0,0006 0

ABSORBED 0 0 1,6394 0 0

ABSORPTION 0 0 0 1,1406 0

ACCEPTABLE 0 0 0 0 1,9463

El valor positivo indica que la palabra aparece de manera destacada en ese texto (tiene mayor frecuencia de la esperada). Tiene

valor negativo cuando la palabra tiene una frecuencia de aparición menor de la esperada en el texto, pero aparece con bastante

frecuencia en el resto de los textos. Tiene valor 0 cuando no aparece en el texto. Para mayor información sobre el procedimiento

de cálculo ver: (Rayson, 2003)

Page 61: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 61 DE 77

TABLA CONTENIDA EN LOS FICHEROS DE COMPOSICIÓN LÉXICA DE LOS

TEXTOS [TB2]

Texto

#

Cant. T

ipos

Cant. T

ókenes

Cant. T

ipos g

ram

aticale

s

Cant. T

ipos g

ram

aticale

s ú

nic

os

Cant. T

ókenes g

ram

aticale

s

Cant. T

ipos lexic

ale

s

Cant. T

ipos lexic

ale

s ú

nic

os

Cant. T

ókenes lexic

ale

s

Medid

a d

e d

ensid

ad lexic

al to

tal (C

antida

d d

e tókene

s /

Cantid

ad d

e T

ipos)

Medid

a d

e d

ensid

ad g

ram

atical (T

ókene

s g

ram

aticale

s /

Tip

os g

ram

aticale

s)

Medid

a d

e d

ensid

ad lexic

al nucle

ar

(Tóken

es lexic

ale

s /

Tip

os L

exic

ale

s

Pro

po

rció

n léxic

o-g

ram

atical a n

ivel d

e tókene

s (

Tókenes

lexic

ale

s /

Tóken

es g

ram

aticale

s)

Pro

po

rció

n léxic

o-g

ram

atical a n

ivel d

e tip

o

(Tip

os lexic

ale

s /

Tip

os g

ram

aticale

s)

1 659 1811 137 21 951 522 415 860 3 7 2 1 4

2 405 862 85 4 424 320 231 438 2 5 1 1 4

3 327 724 92 6 373 235 175 351 2 4 1 1 3

4 393 1031 95 8 529 298 211 502 3 6 2 1 3

5 314 593 86 4 282 228 155 311 2 3 1 1 3

TABLA CONTENIDA EN LOS FICHEROS DE TABLA DE PALABRAS CLAVES [TB3]

Palabras Claves Texto 1 Texto 2 Texto 3 Texto 4 Texto 5

AIR 0 5 0 0 0

ANTIBODIES 0 0 0 0 4

ANTIBONDING 0 0 0 4 0

ATOMS 0 0 0 9 0

BACK 4 0 0 0 0

En cada columna aparece la frecuencia de la palabra clave en el texto indicado si es clave en ese texto, el 0 indica que el t ipo no

existe en el texto y si existe no es palabra clave.

Page 62: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 62 DE 77

TABLA CONTENIDA EN LOS FICHEROS DE TABLA DE REPRESENTATIVIDAD

[TB4]

Texto Representatividad

Text 1 247,3931488

Text 4 162,6048596

Text 2 99,92770364

Text 3 81,07130054

Text 5 76,3302131

El texto con mayor índice de representatividad es el que comparte mayor cantidad de léxico relevante con los demás textos.

TABLA CONTENIDA EN LOS FICHEROS DE TABLA DE CLASIFICACIÓN [TB6]

COMPOSICIÓN LÉXICA DETALLADA DE LOS TEXTOS

Texto

Tóke

nes R

ep

etidos E

xclu

siv

os G

ram

aticale

s

Tóke

nes r

epetid

os E

xclu

siv

os N

ucle

are

s

Tóke

nes R

ep

etidos C

om

pa

rtid

os G

ram

aticale

s

Tóke

nes R

ep

etidos C

om

pa

rtid

os N

ucle

are

s

Tóke

nes Ú

nic

os E

xclu

siv

os G

ram

aticale

s

Tóke

nes Ú

nic

os E

xclu

siv

os N

ucle

are

s

Tóke

nes Ú

nic

os C

om

pa

rtid

os g

ram

aticale

s

Tóke

nes Ú

nic

os C

om

pa

rtid

os n

ucle

are

s

tipos R

epetidos E

xclu

siv

os G

ram

aticale

s

tipos r

ep

etido

s E

xclu

siv

os N

ucle

are

s

tipos R

epetidos C

om

part

idos G

ram

aticale

s

tipos R

epetidos C

om

part

idos N

ucle

are

s

tipos Ú

nic

os E

xclu

siv

os G

ram

aticale

s

tipos Ú

nic

os E

xclu

siv

os N

ucle

are

s

Tip

os Ú

nic

os C

om

pa

rtid

os g

ram

aticale

s

Tip

os Ú

nic

os C

om

pa

rtid

os n

ucle

are

s

1 15 326 893 159 14 318 29 57 7 97 87 50 14 318 29 57

2 2 120 391 61 3 189 28 68 1 42 53 21 3 189 28 68

3 11 112 319 56 3 140 40 43 3 35 46 17 3 140 40 43

4 9 195 488 83 5 162 27 62 3 49 60 25 5 162 27 62

5 0 78 238 50 4 128 40 55 0 27 42 18 4 128 40 55

PARA ESTA TABLA Y LA SIGUIENTE SE DEBE TENER EN CUENTA LAS SIGUIENTES CLASIFICACIONES DE

FRECUENCIA Y DISTRIBUCIÓN:

ÚNICO: APARECE UNA SOLA VEZ EN EL TEXTO CONSIDERADO.

REPETIDO: APARECE MÁS DE UNA VEZ EN EL MISMO TEXTO.

EXCLUSIVO: APARACE UNA O MÁS VECES PERO SOLO EN UN TEXTO.

COMPARTIDO: APARECE EN VARIOS TEXTOS.

NUCLEAR: PERTENECIENTE AL INVENTARIO LÉXICO ABIERTO, NO GRAMATICAL.

GRAMATICAL: PERTENECIENTE AL INVENTARIO LÉXICO CERRADO.

Page 63: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 63 DE 77

TABLA CONTENIDA EN LOS FICHEROS DE TABLA DE CLASIFICACIÓN DEL

LÉXICO SEGÚN CLASES DE FRECUENCIA Y DISTRIBUCIÓN [TB7]

T

ipo

Repetido E

xclu

siv

o

Gra

matical

Repetido E

xclu

siv

o

Nucle

ar

Repetido

Com

part

ido

Gra

matical

Repetido

Com

part

ido

Nucle

ar

Únic

o E

xclu

siv

o

Gra

matical

Únic

o E

xclu

siv

o

Nucle

ar

Únic

o C

om

part

ido

Gra

matical

Únic

o C

om

part

ido

Nucle

ar

A 0 0 5 0 0 0 0 0

ABERDEEN 0 1 0 0 0 0 0 0

ABILITY 0 0 0 2 0 0 0 0

TABLA CONTENIDA EN LOS FICHEROS DE CLASIFICACIÓN EMBLEMÁTICA

REALIZADA A PARTIR DE LA TABLA DEL LOGARITMO DE LA PROBABILIDAD

[TB8]

Tipo Negativo Cero Positivo Clasificación

ABERDEEN 0 4 1 Emblemático

ABILITY 0 3 2 Emblemático

ABLE 1 1 3 Emblemático

SI EL VALOR DEL LOGARITMO DE LA PROBABILIDAD ES MÁS VECES POSITIVO QUE NEGATIVO PARA EL TIPO

CONSIDERADO ENTONCES LA CLASIFICACIÓN ES EMBLEMÁTICA, SI NO, ES ESQUEMÁTICA .

TABLA CONTENIDA EN LOS FICHEROS DE CLASIFICACIÓN DE LAS PALABRAS

EN ESQUEMÁTICAS O NO EN CADA TEXTO [TB9]

Tipo Texto1 Texto2 Texto3 Texto4 Texto5

A S S S S S

ABERDEEN N N N N N

ABILITY S S S S S

ABLE S S S S S

Page 64: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 64 DE 77

TABLA CONTENIDA EN LOS FICHEROS DE CLASIFICACIÓN ESQUEMÁTICA DE

LAS PALABRAS EN EL CORPUS [TB10]

Tipo Clasificación

Frecuencia en

el Corpus Rango Esquemática

No

Esquemática

A S 128 5 5 0

ABERDEEN N 2 1 0 5

ABILITY S 4 2 5 0

TABLA CONTENIDA EN LOS FICHEROS DE COMPARACIÓN TEXTO-TEXTO

USANDO LAS PALABRAS CLAVES [TB11]

Text Text Diferencia

1 1 0

2 1 0,8762887

3 1 0,86075953

4 1 0,97484281

5 1 0,81081085

1 2 0,95850623

MIENTRAS MENOR ES LA DIFERENCIA MÁS SE PARECEN LOS TEXTOS. LA DIFERENCIA ES DIRECCIONAL Y SE

CALCULA TENIENDO EN CUENTA LAS PALABRAS CLAVES COMPARTIDAS Y LA IMPORTANCIA DE CADA UNA DE

ESTAS EN CADA TEXTO A COMPARARSE.

Page 65: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 65 DE 77

ANEXO II - DIAGRAMAS UML

Page 66: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 66 DE 77

Page 67: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 67 DE 77

Page 68: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 68 DE 77

Page 69: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 69 DE 77

Page 70: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 70 DE 77

En el diagrama de estados a continuación, todos los sub-estados del estado ‗Reduciendo Dimensionalidad‘ serán

ejecutados solo si han sido seleccionados previamente.

Page 71: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 71 DE 77

Page 72: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 72 DE 77

Page 73: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 73 DE 77

Page 74: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 74 DE 77

Page 75: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 75 DE 77

Page 76: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 76 DE 77

Page 77: TextLynx Plus: Ampliación para un analizador avanzado de ...

TEXTLYNX PLUS: UN ANALIZADOR AVANZADO DE TEXTOS. PÁG. 77 DE 77

La realización de estos diagramas está fundamentada en el conocimiento adquirido

en los siguientes materiales:(Alarcón, 2000, H., Julieta Noguez M., 2003)