para reconocimiento de mensaj

Anuncio
UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS
ESCUELA ACADEMICO PROFESIONAL DE INFORMÁTICA
DISEÑO DE UNA PROPUESTA DE SISTEMA INTELIGENTE
UTILIZANDO PROCESAMIENTO DE LENGUAJE NATURAL (PLN)
PARA RECONOCIMIENTO DE MENSAJES EXTORSIVOS.
Autores
Argomedo Pflücker Kevin Christian
Cóndor Ruiz Alexander Tito
Asesor
Ing. Jorge Luis Gutiérrez Gutiérrez
17 de Diciembre de 2014
Trujillo, La Libertad
INDICE
INTRODUCCIÓN ................................................................................................................................... 1
CAPÍTULO I .......................................................................................................................................... 4
MARCO TEÓRICO ................................................................................................................................. 4
1.1.
Mensajes SMS extorsivos ................................................................................................... 4
1.1.1. Definición ............................................................................................................................ 4
1.1.1.1.Mensaje SMS .......................................................................................................... 4
1.1.1.2.Extorsión ................................................................................................................. 4
1.1.2. Características ..................................................................................................................... 4
1.1.3. Arquitectura para la red SMS ............................................................................................. 6
1.2.
PLN ....................................................................................................................................... 7
1.2.1. Definición ............................................................................................................................ 7
1.2.2. Problemas en PLN ............................................................................................................... 7
1.2.2.1.La variación y la ambigüedad lingüística ............................................................... 7
1.2.2.2.Detección de separación entre las palabras ........................................................ 10
1.2.2.3.Complejidad del conocimiento Lingüístico .......................................................... 10
1.2.2.4.Complejidad del conocimiento extra lingüístico ................................................. 11
1.2.2.5.Recepción imperfecta de datos ............................................................................ 12
1.2.3. Tipos de PLN ...................................................................................................................... 12
1.2.3.1.Procesamiento de Voz .......................................................................................... 12
1.2.3.2.Procesamiento de Texto ....................................................................................... 13
1.2.4. Componentes Principales ................................................................................................. 13
1.2.4.1.Análisis Morfológico ............................................................................................. 13
1.2.4.2.Análisis Sintáctico ................................................................................................. 14
1.2.4.3.Análisis Semántico ................................................................................................ 15
1.2.4.4.Análisis Pragmático .............................................................................................. 17
1.2.5. Aplicaciones....................................................................................................................... 18
1.2.5.1.Recuperación de información .............................................................................. 18
1.2.5.2.Interfaces en lenguaje natural ............................................................................. 19
1.2.5.3.Traducción Automática ........................................................................................ 21
1.2.5.4.Reconocimiento del Habla ................................................................................... 23
1.2.5.5.Generación de Lenguajes Naturales .................................................................... 24
1.2.6. Ejemplos ............................................................................................................................ 27
1.2.6.1 Traducción Informática ........................................................................................ 27
1.2.6.2 Clasificación de Textos ......................................................................................... 28
1.2.6.3 Recuperación de Información .............................................................................. 29
1.2.6.4 Entendimiento/Generación de lenguaje Natural ................................................ 30
1.2.6.5 Otros...................................................................................................................... 30
1.3.
Clasificador Bayesiano Ingenuo ........................................................................................ 30
1.3.1. Definición .......................................................................................................................... 30
1.3.2. Modelo Probabilístico ....................................................................................................... 31
1.3.3. Estimación de Parámetros y modelo de eventos............................................................. 32
1.3.4. Corrección de Muestras .................................................................................................... 33
1.3.5. Construcción de un clasificador del modelo probabilístico ............................................. 33
CAPÍTULO II ....................................................................................................................................... 34
MATERIALES Y MÉTODOS.................................................................................................................. 34
2.1.
Tipo de Estudio .................................................................................................................. 34
2.2.
Población ........................................................................................................................... 34
2.3.
Muestra ............................................................................................................................. 34
2.4.
Técnica de Recolección de Datos ...................................................................................... 35
2.5.
Instrumento de Recolección de Datos ............................................................................. 35
2.6.
Procedimiento de Investigación ....................................................................................... 35
CAPÍTULO III ...................................................................................................................................... 36
RESULTADOS ..................................................................................................................................... 36
3.1.
Descripción ........................................................................................................................ 36
3.2.
Modelo Propuesto de PLN ................................................................................................ 36
3.3.
Elementos del Software .................................................................................................... 37
3.3.1. Análisis léxico .................................................................................................................... 37
3.3.2. Análisis sintáctico .............................................................................................................. 37
3.3.3. Análisis semántico............................................................................................................. 37
3.3.4. Análisis estadístico ............................................................................................................ 38
REFERENCIAS BIBLIOGRÁFICAS ......................................................................................................... 41
INTRODUCCIÓN
La presente investigación tiene por objetivo el diseño de un sistema inteligente para el
reconocimiento de mensajes de texto extorsivos utilizando Procesamiento del Lenguaje Natural
(PLN). Los datos sobre los que hemos trabajados son una muestra de mensajes de texto tanto
extorsivos como no extorsivos.
En la actualidad, PLN es una rama de la inteligencia artificial desarrollada en su mayoría para el
idioma inglés, no existen muchos estudios que se enfoquen en el idioma español, tanto la riqueza
de este idioma y su ambigüedad hacen que el tratamiento sea mucho más complejo. Este trabajo
nos permite brindar un pequeño aporte al estudio de PLN enfocado al idioma español.
En nuestro país, la seguridad ciudadana se ve amenazada por bandas criminales que amedrentan a
las personas y “solicitan” un pago para que no se atente contra sus vidas; día a día encontramos
en las noticias un nuevo caso de extorsión, de personas que ven como el fruto de su trabajo, su
vida y la de sus seres queridos se ve riesgo si es que no entregan la suma de dinero que se les
exige.
Este proyecto se enfoca en los mensajes de texto extorsivos, es decir, analizar estos mensajes
antes de que la persona afectada los reciba; de esta manera el usuario evita recibir este tipo de
amenazas y extorsiones, además de tener la posibilidad de identificar al emisor de estos mensajes.
Es por ello que consideramos que nuestro proyecto se justifica socialmente ya que permite evitar
que una persona reciba mensajes extorsivos, ayudando a mantener su tranquilidad; además se
justifica académicamente porque pondremos en práctica técnicas de procesamiento del lenguaje
natural, gramáticas de libre contexto e investigación en el área de la lingüística española que es un
área poco trabajada.
1
Con relación a nuestra investigación nos hemos topado con trabajos realizados como:
El trabajo (F. Gelbukh, N. Galicia Haro, & A. Bolshakov, 1998) que tuvo como finalidad realizar
análisis sintácticos a textos en español y además colaborar con la enseñanza del idioma al
extranjero. Los patrones de manejo sintáctico son una colección completa de descripciones de
todos los posibles "objetos" de una palabra específica. Del trabajo, utilizaremos la forma en que
clasifica una palabra por su ambigüedad gramatical, sea esta sustantiva, adjetival, entre otras.
Egresados de la escuela de Informática (Bautista & Tuesta, 2004) desarrollaron una aplicación, la
cual consiste en ingresar una consulta en lenguaje natural (idioma español ) y ésta, luego de emitir
avisos para que el usuario corrija las palabras mal escritas; transforma esa consulta a una
sentencia SQL y devuelve el resultado de dicha consulta. Definen una gramática muy útil para el
idioma español, la cual usaremos en el proyecto.
En el trabajo realizado en la Universidad Nacional de Colombia (Ovalle, 2002) se consideró la tarea
de la clasificación de frases del lenguaje natural, utilizando redes neuronales recurrentes. Se
obtuvo como resultado la clasificación de las frases por su estado gramatical. En este trabajo se
logró en un porcentaje aceptable esta clasificación, utilizando como ejemplos para entrenar a la
red neuronal recurrente, frases codificadas del lenguaje natural, basándose esta codificación en la
teoría lingüística de Reacción y Ligamiento. Bajo la salvedad que, se aplica en frases correctas
gramaticalmente, utilizaremos el entrenamiento de esa red neuronal como un referente para
entrenar la nuestra.
El trabajo realizado en la Universidad de Sevilla (L. Cruz, A. Troyano, Enríquez, & Ortega, 2008)
abordo la tarea de determinar si en el texto se expresan opiniones negativas o positivas, esta
aplicado al idioma español aplicándolo a un corpus de críticas de cine en español de construcción
propia, se planteó además una versión supervisada del clasificador que mejora significativamente
la precisión. Para la parte de pruebas se seleccionaron 400 criticas aleatorias del corpus (mitad
consideradas positivas y la mitad de negativas), de los resultados obtenidos usando el proceso
supervisado son mucho mejores que los obtenidos a partir del proceso no supervisado. De este
trabajo tomaremos como referencia la metodología usada para el tratamiento de los textos en
español.
2
Por todo lo antes mencionado la pregunta es: ¿Cómo reconocer mensajes de texto extorsivos?,
ante esta pregunta la hipótesis que consideramos es que, mediante un sistema inteligente
utilizando procesamiento del lenguaje natural podemos reconocer dichos mensajes.
Finalmente el objetivo que perseguimos es lograr el diseño de una propuesta de sistema
inteligente para el reconocimiento de mensajes extorsivos.
Este trabajo presenta los siguientes capítulos:
En el capítulo I se presenta el marco teórico donde analizaremos aspectos básicos relacionados
con nuestro proyecto, aspectos como la tecnología que se usa para el envió de los mensajes de
texto, un visión general de PLN y algunas de sus aplicaciones.
El capítulo II se refiere a los Materiales y Métodos, aquí exponemos cuestiones propias de la
investigación tales como: tipo de estudio, población, muestra, técnicas e instrumentos usados en
la recolección de datos y el procedimiento de la investigación.
En el capítulo III se presentan los resultados obtenidos en la investigación, describimos tales
resultados, además presentamos el modelo de PLN propuesto y el software implementado.
El capítulo IV aborda la discusión de los resultados mostrados en el capítulo III, considerando
aspectos como la determinación y los factores críticos que afectan a la eficacia, además se habla
sobre trabajos futuros.
Finalmente presentamos las conclusiones obtenidas a lo largo de la investigación y las
recomendaciones que a nuestro modesto entender pueden ser consideradas para futuras
investigaciones.
3
CAPÍTULO I
MARCO TEÓRICO
1.1. Mensajes SMS extorsivos
1.1.1. Definición
1.1.1.1. Mensaje SMS
SMS son las siglas de Servicio de Mensaje Corto. Disponible en redes
digitales GSM permitiendo enviar y recibir mensajes de texto de hasta 160
caracteres a teléfonos móviles vía el centro de mensajes de un operador
de red.
También se pueden enviar mensajes cortos a través de Internet, usando
un sitio web de SMS.
Si el teléfono al que se envía el mensaje está apagado o fuera de
cobertura, el mensaje se almacena en la red y se entrega en cuanto el
teléfono se conecta de nuevo a la red. (Diccionario de Informática y
Tecnología)
1.1.1.2. Extorsión
Presión que se hace a una persona, mediante el uso de la fuerza o la
intimidación, para conseguir de ella dinero u otra cosa. (Real Academia
Española)
1.1.2. Características

Un mensaje corto puede tener una longitud de hasta 160 caracteres. Esos 160
caracteres pueden ser palabras, números o una combinación alfanumérica. Los
mensajes cortos basados en No-texto (por ejemplo, en formato binario)
también se utilizan.

Los mensajes cortos no se envían directamente del remitente al receptor, sino
que se envían a través de un centro de SMS. Cada red de telefonía móvil que
utiliza SMS tiene uno o más centros de mensajería para manejar los mensajes
cortos.
4

El servicio de mensajes cortos se caracteriza por la confirmación de mensaje de
salida. Esto significa que el usuario que envía el mensaje, recibe
posteriormente otro mensaje notificándole si su mensaje ha sido enviado o no.

Los mensajes cortos se pueden enviar y recibir simultáneamente a la voz y
datos. Esto es posible porque mientras que la voz o los datos asumen el control
de un canal de radio dedicado durante la llamada, los mensajes cortos viajan
sobre un canal dedicado a señalización independiente de los de tráfico.

Hay formas de enviar múltiples mensajes cortos. La concatenación SMS (que
encadena varios mensajes cortos juntos) y la compresión de SMS (que consigue
más de 160 caracteres de información dentro de un solo mensaje corto) han
sido definidas e incorporadas en los estándares del GSM SMS.

Para utilizar el servicio de mensajes cortos, los usuarios necesitan la suscripción
y el hardware específico:
-
Una suscripción a una red de telefonía móvil que soporte SMS.
-
Un teléfono móvil que soporte SMS
-
Conocimiento de cómo enviar o leer mensajes cortos usando su terminal
móvil.
-
Un destino para enviar el mensaje, o dónde recibir el mensaje. Éste es
generalmente otro teléfono móvil, una PC o un buzón de e-mail.
(Interactividad GSMspain)
5
1.1.3. Arquitectura para la red SMS
La figura, muestra la estructura básica de la red SMS.

SME (Short Messaging Entity) : Entidad que puede enviar o recibir mensajes
cortos, pudiendo estar localizada en la red fija, una estación móvil, u otro
centro de servicio.

SMSC (Short Message Service Center): Es el responsable de la transmisión y
almacenamiento de un mensaje corto, entre el SME y una estación móvil.

SMS-Gateway/Interworking MSC (SMS-GMSC): es un Centro de Intercambio
de Mensajería capaz de recibir el mensaje corto, interrogando al HLR (Home
Location Register) sobre la información de encaminamiento y enviando el
mensaje corto al MSC visitado de la estación móvil receptora. Está
normalmente integrado en el SMSC.

HLR (Home Location Register): Es una base de datos usada para el
almacenamiento permanente y gestión de los usuarios y el perfil del servicio.
Sobre la interrogación del SMSC, el HLR le proporciona la información de
encaminamiento para el usuario indicado. El HLR, también informa al SMSC,
el cual previamente inició un intento de envío de SMS fallido a una estación
móvil específica, que ahora la estación móvil es reconocida por la red y es
accesible.

MSC (Mobile Switching Center): Lleva a cabo funciones de conmutación del
sistema y el control de llamadas a y desde otro teléfono y sistema de datos.

VLR (Visitor Location Register): Es una base de datos que contiene
información temporal de los usuarios. Esta información, la necesita el MSC
para dar servicio a los usuarios de paso (que están de visita).
6

BSS (Base Statio System): Formada por el BSCs(base-station controllers) y por
BTSs (base-transceiver strations), su principal responsabilidad es transmitir el
tráfico de voz y datos entre las estaciones móviles. (Información Técnica
GSMspain)
1.2. PLN
1.2.1. Definición
Es la disciplina que pertenece al campo de la inteligencia artificial; cuál a su vez al
campo de la informática; que asume como objetivo básico el tratamiento
automático de la información lingüística. De hecho, a este campo de estudio
también se le denomina Lingüística computacional.
Se ocupa de la formulación e investigación de mecanismos computacionales para
la comunicación entre personas y maquinas mediante el uso de lenguajes
naturales. (Conference on Intelligent Text Processing and Computational
Linguistics)
1.2.2. Problemas en PLN
1.2.2.1. La variación y la ambigüedad lingüística
El lenguaje natural, entendido como la herramienta que utilizan las
personas para expresarse, posee propiedades que merman la efectividad
de los sistemas de recuperación de información textual. Estas
propiedades son la variación y la ambigüedad lingüística. Cuando
hablamos de la variación lingüística nos referimos a la posibilidad de
utilizar diferentes palabras o expresiones para comunicar una misma
idea. En cambio, la ambigüedad lingüística se produce cuando una
palabra o frase permite más de una interpretación.
Ambos fenómenos inciden en el proceso de recuperación de información
aunque de forma distinta. La variación lingüística provoca el silencio
documental, es decir la omisión de documentos relevantes para cubrir la
necesidad de información, ya que no se han utilizado los mismos
términos que aparecen en el documento. En cambio, la ambigüedad
implica el ruido documental, es decir la inclusión de documentos que no
7
son significativos, ya que se recuperan también documentos que utilizan
el término pero con significado diferente al requerido. Estas dos
características dificultan considerablemente el tratamiento automatizado
del lenguaje. A continuación se muestran algunos ejemplos que ilustran
la repercusión de estos fenómenos en el proceso de recuperación de
información:
A nivel morfológico una misma palabra puede adoptar diferentes roles
morfo-sintácticos en función del contexto en el que aparece,
ocasionando problemas de ambigüedad (ejemplo 1).
Ejemplo 1. Deja la comida que sobre, sobre la mesa de la cocina, dijo
llevando el sobre en la mano.
La palabra sobre es ambigua morfológicamente ya que puede ser un
sustantivo masculino singular, una preposición, y también la primera o
tercera persona del presente de subjuntivo del verbo sobrar.
A nivel sintáctico, centrado en el estudio de las relaciones establecidas
entre las palabras para formar unidades superiores, sintagmas y frases,
se produce ambigüedad a consecuencia de la posibilidad de asociar a una
frase más de una estructura sintáctica. Por otro lado, esta variación
supone la posibilidad de expresar lo mismo pero cambiando el orden de
la estructura sintáctica de la frase (ejemplo 2).
Ejemplo 2. María vio a un niño con un telescopio en la ventana.
La
interpretación
de
la
dependencia
de
los
dos
sintagmas
preposicionales, con un telescopio y en la ventana, otorga diferentes
significados a la frase:
(i)
María vio a un niño que estaba en la ventana y que tenía un
telescopio.
(ii)
María estaba en la ventana, desde donde vio a un niño que tenía
un telescopio
(iii)
María estaba en la ventana, desde donde miraba con un
telescopio, y vio a un niño.
A nivel semántico, donde se estudia el significado de una palabra y el de
una frase a partir de los significados de cada una de las palabras que la
8
componen. La ambigüedad se produce porque una palabra puede tener
uno o varios sentidos, es el caso conocido como polisemia (ejemplo 3).
Ejemplo 3. Luís dejó el periódico en el banco.
El término banco puede tener dos significados en esta frase:
(i)
Entidad bancaria
(ii)
Asiento.
La interpretación de esa frase va más allá del análisis de los componentes
que forman la frase, se realiza a partir del contexto en que es formulada.
Y también hay que tener en cuenta la variación léxica que hace
referencia a la posibilidad de utilizar términos distintos a la hora de
representar un mismo significado, es decir el fenómeno conocido como
sinonimia (ejemplo 4):
Ejemplo 4: Coche / Vehículo / Automóvil.
A nivel pragmático, basado en la relación del lenguaje con el contexto en
que es utilizado, en muchos casos no puede realizarse una interpretación
literal y automatizada de los términos utilizados. En determinadas
circunstancias, el sentido de las palabras que forman una frase tiene que
interpretarse a un nivel superior recurriendo al contexto en que es
formulada la frase (ejemplo 5).
Ejemplo 5. Se moría de risa.
En esta frase no puede interpretarse literalmente el verbo morirse si no
que debe entenderse en un sentido figurado.
Otra cuestión de gran importancia es la ambigüedad provocada por la
anáfora, es decir, por la presencia en la oración de pronombres y
adverbios que hacen referencia a algo mencionado con anterioridad
(ejemplo 6).
Ejemplo 6. Ella le dijo que los pusiera debajo
La interpretación de esta frase tiene diferentes incógnitas ocasionadas
por la utilización de pronombres y adverbio: ¿quién habló?, ¿a quién?,
¿qué pusiera qué?, ¿debajo de dónde? Por tanto, para otorgar un
9
significado a esta frase, debe recurrirse nuevamente al contexto en que
es formulada.
Con todos los ejemplos expuestos queda patente la complejidad del
lenguaje y que su tratamiento automático no resulta fácil ni obvio.
(Valles & Pedraza, 2007)
1.2.2.2. Detección de separación entre las palabras
Este suele ser un gran problema, especialmente cuando se recepcionan
los datos en forma oral; y es que en la lengua hablada no se suelen hacer
pausas entre palabra y palabra.
El lugar en el que se debe separar las palabras a menudo depende de
cuál es la posibilidad que mantenga un sentido lógico, tanto gramatical
como contextual; lo cual tiende a realizarse utilizando técnicas
probabilísticas. Esto es debido a nuestro idioma, ya que, por ejemplo, en
la lengua escrita, idiomas como el chino mandarín tampoco tienen
separaciones entre las palabras. (Carboneli, 1992)
1.2.2.3. Complejidad del conocimiento Lingüístico
Hay dos tipos de conocimiento necesario para el reconocimiento de las
estructuras en el texto y para la resolución de ambigüedades:
 Conocimiento general
Son los algoritmos y las gramáticas, es decir, lo que se aplica a todo el
lenguaje, a cualquier oración o texto. Gramáticas detalladas y
algoritmos muy sofisticados, con una profunda base matemática
pueden mejorar mucho la eficiencia de análisis de texto. Pero aunque
los buenos algoritmos pueden aumentar la rapidez del proceso, en
pocos casos pueden ellos mejorar la calidad de los resultados. Jamás
un algoritmo astuto podrá entender el lenguaje sin un inmenso
conocimiento sobre las palabras individuales.
 Conocimiento léxico.
Es específico para cada palabra, o a veces para grupos de palabras.
Dependiendo de la calidad de análisis necesario, se puede requerir
mucha información: cómo se conjuga la palabra, qué significa y qué
10
relaciones impide a otras palabras en la oración, qué preposiciones
usa para marcar sus objetos, cuáles palabras se usan para expresar los
sentidos como ‘muy’, ‘hacer’, ‘resultado’, etcétera. La mayoría de esta
información es específica para cada idioma: por ejemplo, casarse en
español requiere la preposición “con”, en inglés el equivalente de “a”,
en ruso de sobre; papel (rol) en español usa desempeñar para
expresar el sentido de ‘hacer’, y en inglés el equivalente de jugar.
Uno de los problemas contemporáneos del procesamiento de texto es
que la cantidad del conocimiento léxico necesario es tan inmensa que
resulta muy difícil alcanzar el grado necesario de conocimiento en un
sistema específico.
La compilación, ya sea manual o semiautomáticamente, de los
diccionarios de varios tipos –morfológicos, sintácticos, semánticos– es
una de las más importantes tareas de hoy en la lingüística
computacional. (Gelbukh & Bolshakov, 2000)
1.2.2.4. Complejidad del conocimiento extra lingüístico
Los diccionarios de las propiedades gramaticales de las palabras no son el
único conocimiento necesario para entender el lenguaje. Lo que falta es
el conocimiento de las propiedades de las cosas y de las situaciones en el
mundo real. El problema es que el texto no comunica toda la información
necesaria para entenderlo, sino que omite muchas ideas obvias, las
cuáles se pueden simplemente restaurar por el humano que escucha,
pero no por la computadora.
Consideremos una analogía. Cuando explicamos a alguien cómo ir al
Metro, le decimos algo como esto:
«Del Ángel vas por Reforma dos paradas en la dirección opuesta a la
Diana, bajas en el Caballito y das vuelta a la derecha».
Tenemos en nuestra mente un mapa, y estamos seguros que el que oye
también tiene en su mente un mapa igual al nuestro; lo único que
necesitamos es darles unas pistas sobre su trayectoria en este mapa,
unos puntos clave. Ahora bien, ¿qué sucederá si el que oye es un
extranjero y no sabe ni qué son el Angel o la Diana, ni cómo llegar allá, ni
11
siquiera cómo usar los peseros, cómo se ven, dónde subir, ni que hay que
pagar y cuánto? Ésta es la situación de las computadoras: son extranjeras
en nuestro mundo, no saben cómo usarlo, cómo se comportan las cosas
en él. Las personas lo aprenden observando las cosas y participando en
las situaciones. Las computadoras no tienen esta oportunidad. (Arreiza
Londoño & Henao Restrepo, 2000)
1.2.2.5. Recepción imperfecta de datos
Acentos extranjeros, regionalismos o dificultades en la producción del
habla, errores de mecanografiado o expresiones no gramaticales, errores
en la lectura de textos mediante Reconocimiento Óptico de Caracteres
(OCR). (Carboneli, 1992)
1.2.3. Tipos de PLN
1.2.3.1. Procesamiento de Voz
En inglés se denomina Voice/Speech Recognition (o con sus siglas SR).
Es la fase de la aplicación que recibe los sonidos, mediante el clásico y
conocido micrófono (de mejor o peor calidad) transformándolos,
luego de un largo proceso interno, en conjuntos de palabras
conocidas, es decir, en una presunta frase. Esta frase puede tener o
no sentido, pero es la interpretación que el módulo hace de los
sonidos recibidos vía micrófono. El procesamiento de voz se puede
dividir en las siguientes categorías:
-
Reconocimiento de Voz:
Trata con el análisis del contenido lingüístico de una señal de
voz
-
Codificación de Voz:
Técnicas de compresión de las señales de voz
-
Análisis de Voz:
Estudio de los sonidos y la voz para propósitos de contenido
lingüístico, médico, forense, etc.
-
Síntesis de Voz:
Creación de voz artificial por medio de la computadora.
-
Mejoramiento de Voz:
12
Técnicas para el mejoramiento de la inteligibilidad y/o la
calidad en la percepción de las señales de voz.
Una vez obtenida la frase; se sigue con el análisis de lenguaje natural.
(Larios)
1.2.3.2. Procesamiento de Texto
El procesamiento de texto es más sencillo que el procesamiento de
voz; ya que se procesa una frase que ya se encuentra escrita, sólo
recepciona; evitándonos el procesamiento
de sonidos para
decodificar la misma.
Una vez obtenida la frase, se procede a realizar su estudio de
lenguaje. El estudio del lenguaje natural se estructura normalmente
en 4 niveles de análisis:
-
Morfológico.
-
Sintáctico.
-
Semántico.
-
Pragmático.
Además se pueden incluir otros niveles de conocimiento como es el
análisis del discurso, que estudia cómo la información precedente
puede ser relevante para la comprensión de otra información; y,
finalmente, lo que se denomina conocimiento del mundo, referente al
conocimiento general que los hablantes han de tener sobre la
estructura del mundo para mantener una conversación. (Larios)
1.2.4. Componentes Principales
1.2.4.1.Análisis Morfológico
Su función consiste en detectar la relación que se establece entre las
unidades mínimas que forman una palabra, como puede ser el
reconocimiento de sufijos o prefijos. Este nivel de análisis mantiene una
estrecha relación con el léxico.
13
El léxico es el conjunto de información sobre cada palabra que el sistema
utiliza para el procesamiento. Las palabras que forman parte del
diccionario están representadas por una entrada léxica, y en caso de que
ésta tenga más de un significado o diferentes categorías gramaticales,
tendrá asignada diferentes entradas.
En el léxico se incluye la información morfológica, la categoría gramatical,
irregularidades sintácticas y representación del significado.
Normalmente el léxico sólo contiene la raíz de las palabras con formas
regulares, siendo el analizador morfológico el que se encarga de
determinar si el género, número o flexión que componen el resto de la
palabra son adecuados. (Sosa)
1.2.4.2.Análisis Sintáctico
Tiene como función etiquetar cada uno de los componentes sintácticos
que aparecen en la oración y analizar cómo las palabras se combinan para
formar construcciones gramaticalmente correctas. El resultado de este
proceso consiste en generar la estructura correspondiente a las categorías
sintácticas formadas por cada una de las unidades léxicas que aparecen en
la oración.
Las gramáticas, tal como se muestra en la siguiente figura, están formadas
por un conjunto de reglas:
O --> SN, SV
SN --> Det, N
SN --> Nombre Propio
SV --> V, SN
SV --> V
SP --> Preposición, SN
14
Dónde:
O= Oración
SN = Sintagma nominal
SV = Sintagma verbal
Det = Determinante
Ejemplo de una gramática simple: las reglas tiene como función la
composición de estructuras
El resultado del análisis se puede expresar en forma arbórea. Los árboles
son formas gráficas utilizadas para expresar la estructura de la oración,
consistentes en nodos etiquetados (O, SN, SV, etc.) conectados por ramas:
1.2.4.3.Análisis Semántico
En muchas aplicaciones del PLN los objetivos del análisis apuntan hacia el
procesamiento del significado. En los últimos años las técnicas de
procesamiento sintáctico han experimentado avances significativos,
resolviendo los problemas fundamentales.
15
Sin embargo, las técnicas de representación del significado no han
obtenido los resultados deseados, y numerosas cuestiones continúan sin
encontrar soluciones satisfactorias.
Definir qué es el significado no es una tarea sencilla, y puede dar lugar a
diversas interpretaciones. A efectos funcionales, para facilitar el
procesamiento, la modularidad es una de las propiedades más deseables.
Haciendo uso de esta concepción modular es posible distinguir entre
significado independiente y significado dependiente del contexto.
El primero, tratado por la semántica, hace referencia al significado que las
palabras tienen por sí mismas sin considerar el significado adquirido según
el uso en una determinada circunstancia. La semántica, por tanto, hace
referencia a las condiciones de verdad de la frase, ignorando la influencia
del contexto o las intenciones del hablante. Por otra parte, el componente
significativo de una frase asociado a las circunstancias en que ésta se da,
es estudiado por la pragmática y conocido como significado dependiente
del contexto.
Atendiendo al desarrollo en el proceso de interpretación semántica, es
posible optar entre múltiples pautas para su organización, tal como se
determinan en los siguientes párrafos.
En referencia a la estructura semántica que se va a generar, puede
interesarnos que exista una simetría respecto a la estructura sintáctica, o
por el contrario que no se dé tal correspondencia entre ellas. En el primer
caso, a partir del árbol generado por el análisis sintáctico se genera una
estructura arbórea con las mismas características, sobre la cual se realizará
el análisis semántico. En el segundo caso, en la estructura generada por la
sintaxis se produce un curso de transformaciones sobre las cuales se
genera la representación semántica.
Cada una de las dos opciones anteriores puede implementarse de forma
secuencial o paralela. En la interpretación secuencial, después de haber
finalizado la fase de análisis sintáctico, se genera el análisis semántico. En
16
cambio, desde un procedimiento en paralelo, el proceso de análisis
semántico no necesita esperar a que el analizador sintáctico haya acabado
toda su tarea, sino que puede ir realizando el análisis de cada
constituyente cuando éste ha sido tratado en el proceso sintáctico.
Finalmente en combinación con cada una de las opciones anteriores,
podemos escoger un modelo en el que exista una correspondencia entre
reglas sintácticas y semánticas o, contrariamente, podemos optar por un
modelo que no cumpla tal requisito. En caso afirmativo, para cada regla
sintáctica existirá una regla semántica correspondiente.
El significado es representado por formalismos conocidos por el nombre
de knowledge representation. El léxico proporciona el componente
semántico de cada palabra en un formalismo concreto, y el analizador
semántico lo procesa para obtener una representación del significado de
la frase. (Sosa)
1.2.4.4.Análisis Pragmático
Añade información adicional al análisis del significado de la frase en
función del contexto donde aparece. Se trata de uno de los niveles de
análisis más complejos, la finalidad del cual es incorporar al análisis
semántico la aportación significativa que pueden hacer los participantes, la
evolución del discurso o información presupuesta.
Incorpora así mismo información sobre las relaciones que se dan entre los
hechos que forman el contexto y entre diferentes entidades. (Sosa)
17
1.2.5. Aplicaciones
Entre las tareas principales del procesamiento de lenguaje natural se puede
mencionar:
1.2.5.1. Recuperación de información
La aplicación del procesamiento de lenguaje natural más obvia y una de
las más importante en el momento actual es la búsqueda de información
(se llama también recuperación de información). Por un lado, en Internet
y en las bibliotecas digitales se contiene una cantidad enorme de
conocimiento que puede dar respuestas a muchísimas preguntas que
tenemos. Por otro lado, hay tanta información que no sirve porque ya no
se puede encontrarla. Hoy en día la pregunta ya no es “¿si se sabe
cómo...?” sino “ciertamente se sabe, pero ¿dónde está esta
información?”.
Técnicamente, rara vez se trata de decidir cuáles documentos (así se
llaman archivos o textos en la recuperación de información) son
relevantes para la petición del usuario y cuáles no. Usualmente, una
cantidad enorme de documentos se puede considerar como relevantes
en cierto grado, siendo unos más relevantes y otros menos. Entonces, la
tarea se entiende cómo medir el grado de esta relevancia para
proporcionar al usuario primero el documento más relevante; si no le
sirvió, el segundo más relevante, etc.
El problema más difícil de la recuperación de información es, sin
embargo, no de índole técnica sino psicológica: entender cuál es la
necesidad real del usuario, para qué formula su pregunta. Este problema
se complica ya que no existe un lenguaje formal en el cual el usuario
podría
formular
claramente
su
necesidad.
(La
dirección
más
prometedora de resolver este problema es, nuevamente, el uso de
lenguaje natural.)
Las técnicas más usadas actualmente para la recuperación de
información involucran la búsqueda por palabras clave: se buscan los
18
archivos que contengan las palabras que el usuario teclee. Es decir, la
representación formal usada es el conjunto de las cadenas de letras
(palabras), usualmente junto con sus frecuencias en el texto (en número
de ocurrencias). La claridad matemática de la tarea causó mucho avance
en la teoría de estos métodos. Las ideas más usadas son los modelos
probabilísticos y los procedimientos iterativos e interactivos: tratar de
adivinar qué necesita el usuario preguntándolo cuáles documentos le
sirven).
Sin embargo, los métodos que involucran sólo las palabras (como
cadenas de letras) pero no el sentido del texto son muy limitados en su
capacidad de satisfacer la necesidad informática del usuario, es decir, de
hallar la respuesta a la pregunta que tiene en mente. Se puede mejorar
mucho aplicado las siguientes operaciones, desde las más sencillas hasta
más complejas:

Coincidencia
de
las
formas
morfológicas
de
palabras:
buscando pensar, encontrar piénsalo.

Coincidencia de los sinónimos, conceptos más generales y más
específicos:
buscando cerdo,
encontrar puerco, mascota, animal,
etc.

Tomar en cuenta las relaciones entre las palabras en la petición del
usuario y en el documento: buscando estudio de planes, rechazar
como no relevante planes de estudio.
(Conference on Intelligent Text Processing and Computational
Linguistics)
1.2.5.2. Interfaces en lenguaje natural
Las computadoras están entrando en todos los aspectos de nuestra vida
cotidiana: en las oficinas, en las tiendas, en las escuelas, en los servicios
públicos. Sin embargo, la gran mayoría del pueblo no tiene la
preparación adecuada para usarlas ya que se requiere saber cómo se
usan. Y nunca va a tener esta preparación, por el simple hecho:
19
económicamente, más conviene que las máquinas se adapten al modo
de la comunicación de las personas y no que todas las personas (las
cuales sólo en el mundo hispanohablante son 400 millones), generación
tras generación, aprendan cómo usar las máquinas –por ejemplo,
aprendan el SQL para formular con precisión sus preguntas.
De esto surge la idea ya muy conocida de las películas de fantaciencia: las
personas debemos poder hablar con las máquinas (o sea, los robots)
como hablaríamos con nuestros sirvientes, dándoles órdenes en la forma
cotidiana y escuchando sus respuestas.
Hablando de darles órdenes, no se trata de pronunciar los comandos
especiales que de otra manera escogeríamos del menú: abrir, edición,
copiar, guardar, salir (de modo similar a como se habla al perro pastor).
En lugar de esto, se trata de hablar a la máquina como hablaríamos al ser
humano.
Un tipo específico de las interfaces en lenguaje natural son preguntas
complejas a una base de datos. Como un ejemplo, podemos mencionar
el sistema TRAINS desarrollado en la Universidad deRochester en los
EE.UU. por James Allen. Este sistema vende los boletos de tren. El cliente
–que puede ser cualquier persona sin ningún conocimiento sobre las
máquinas– llama por teléfono a la estación de trenes y formula su
necesidad: tengo que ir mañana en la tarde a Nueva York. El programa –
sin siquiera darse cuenta el cliente de que habla con una máquina y no
con una persona– trata de entender su pregunta e internamente la
traduce a SQL, para ejecutar la búsqueda en su base de datos. Después,
el programa conduce (por teléfono) el diálogo con el usuario,
explicándole los precios y las condiciones, escuchando sus preguntas o
comentarios sobre cuál boleto más le conviene, etc. Finalmente, si llegan
al acuerdo, le reserva el boleto. Todo eso, nuevamente enfatizamos, no
requiere del cliente ningún conocimiento previo sobre el manejo de los
20
programas sino sólo el manejo natural de lenguaje que cotidianamente
usa para hablar con otras personas.
El problema más importante de este tipo de aplicaciones es que –a
diferencia de las aplicaciones en la recuperación de información– se
requiere entender exactamente la intención del usuario, ya que el costo
de error puede ser muy alto. Realmente, si el robot entiende
incorrectamente el comando, pude hacer alguna acción destructiva o
peligrosa. Si se malentiende la pregunta a la base de datos, la
información proporcionada resultará incorrecta, lo que puede causar
consecuencias graves.
Entonces, las interfaces en lenguaje natural en muchos casos requieren
de las representaciones de información más detalladas y complejas, así
como del análisis lingüístico más preciso y completo. (Conference on
Intelligent Text Processing and Computational Linguistics)
1.2.5.3. Traducción Automática
Históricamente, el sueño de la traducción automática motivó las
primeras investigaciones en lingüística computacional. A la primera vista,
la traducción parece ser un trabajo bastante mecánico y aburrido, que
puede fácilmente hacer la máquina: sustituir las palabras en un lenguaje
con sus equivalentes en el otro.
Sin embargo, con los avances en los programas de traducción se hizo
cada vez más obvio que esta tarea no es tan simple. Esto se debe, en una
parte, a las diferencias entre los lenguajes las cuales varían desde muy
obvias (por ejemplo, el orden de palabras es diferente en inglés y en
español) hasta más sutiles (el uso de diferentes expresiones y diferente
estilo).
21
El esquema general de prácticamente cualquier traductor automático es
(en acuerdo con el esquema expuesto en la introducción a este artículo)
el siguiente:

El texto en el lenguaje fuente se transforma a una representación
intermedia,

De ser necesario, se hacen algunos cambios a esta representación,

Luego, esta representación intermedia se transforma al texto en el
lenguaje final.
En algunos sistemas, al texto generado con este esquema también se
aplican algunos ajustes previstas por las heurísticas de traducción.
De la calidad esperada de traducción y de la proximidad de los dos
lenguajes depende qué tan profundas son las transformaciones entre las
dos representaciones, es decir, que tan diferente es la representación
intermedia del texto en el lenguaje humano.
En algunos casos (se puede mencionar los traductores entre los lenguajes
tan parecidos como español y catalán, portugués y gallego, etc.) basta
con la representación morfológica: el análisis y generación de las
palabras fuera del contexto. Por ejemplo, la palabra española hijas se
analiza como HIJO-femenino-plural, se transforma (usando una tabla de
correspondencias) a la representación FILHA-femenino-plural, de la cual
se genera la palabra portuguesa filhas (aqui, HIJA y FILHA son claves de
acceso a la base de datos que contiene las propiedades de las palabras
en los lenguajes correspondientes).
En otros casos, cuando hay diferencias estructurales más profundos
entre los lenguajes (que es el caso de casi cualquier par de idiomas,
incluidos español–inglés, español–francés, etc.), se usan como la
representación intermedia (que en este caso se llama interlingua) las
estructuras formales de predicados lógicos o sus equivalentes, por
ejemplo, redes semánticas (véase más abajo). Esta representación
22
independiente de lenguaje es en realidad el sentido del mensaje que
comunica el texto. Es decir, la transformación del texto a esta
representación formal es comprensión del texto, y la transformación en
el sentido contrario es generación: teniendo una idea, decirla en el
lenguaje humano. (Conference on Intelligent Text Processing and
Computational Linguistics)
1.2.5.4. Reconocimiento del Habla
Es una disciplina de la inteligencia artificial que tiene como objetivo
permitir la comunicación hablada entre seres humanos y computadoras.
El problema que se plantea en un sistema de este tipo es el de hacer
cooperar un conjunto de informaciones que provienen de diversas
fuentes de conocimiento (acústica, fonética, fonológica, léxica, sintáctica,
semántica y pragmática), en presencia de ambigüedades, incertidumbres
y errores inevitables para llegar a obtener una interpretación aceptable
del mensaje acústico recibido.
Un sistema de reconocimiento de voz es una herramienta computacional
capaz de procesar la señal de voz emitida por el ser humano y reconocer
la información contenida en ésta, convirtiéndola en texto o emitiendo
órdenes que actúan sobre un proceso. En su desarrollo intervienen
diversas disciplinas, tales como: la fisiología, la acústica, la lingüística, el
procesamiento de señales, la inteligencia artificial y la ciencia de la
computación.
Un aspecto crucial en el diseño de un sistema de RAH es la elección del
tipo de aprendizaje que se utilice para construir las diversas fuentes de
conocimiento. Básicamente, existen dos tipos:

Aprendizaje deductivo: Las técnicas de Aprendizaje Deductivo se
basan en la transferencia de los conocimientos que un experto
humano posee a un sistema informático. Un ejemplo
paradigmático de las metodologías que utilizan tales técnicas lo
23
constituyen los Sistemas Basados en el Conocimiento y, en
particular, los Sistemas Expertos.

Aprendizaje inductivo: Las técnicas de Aprendizaje Inductivo se
basan en que el sistema pueda, automáticamente, conseguir los
conocimientos necesarios a partir de ejemplos reales sobre la
tarea que se desea modelizar. En este segundo tipo, los ejemplos
los constituyen aquellas partes de los sistemas basados en los
modelos ocultos de Márkov o en las redes neuronales artificiales
que son configuradas automáticamente a partir de muestras de
aprendizaje.
En la práctica, no existen metodologías que estén basadas únicamente
en el Aprendizaje Inductivo, de hecho, se asume un compromiso
deductivo-inductivo en el que los aspectos generales se suministran
deductivamente y la caracterización de la variabilidad inductivamente.
(Congreso de Sevilla: La lengua española y las nuevas tecnologías, 2011)
1.2.5.5. Generación de Lenguajes Naturales
Es el proceso de la construcción de un texto en lenguaje natural para la
comunicación con fines específicos. Texto se refiere aquí a un término
general y repetitivo aplicable a expresiones, o partes de ellas, de
cualquier tamaño, tanto habladas como escritas. En el ser humano, el
que sea hablado o escrito tiene consecuencias en el nivel deliberativo y
de edición que ha tenido lugar; si el lenguaje es hablado puede faltar
revisión ya que la mayoría de los programas actuales pueden hablar, si
bien casi todos sólo presentan palabras en una pantalla. La decisión de
revisar o usar la palabra escrita o hablada no es una opción para la
generación del programa en la actualidad; pero se debe abordar el tema
en el diseño de un programa en particular.
El principal énfasis de la generación de lenguajes naturales no es sólo el
facilitar el uso del ordenador sino también el desarrollar una teoría
24
computacional de la capacidad del lenguaje humano. En este sentido
constituye una herramienta para extender, aclarar y verificar teorías que
se han formulado en lingüística, psicología y sociología acerca de la
comunicación entre humanos.
Un generador de lenguaje natural típicamente tiene acceso a un gran
conjunto de conocimiento del cual ha de seleccionar información para
presentar a los usuarios en varias formas. El generar texto es, pues, un
problema de toma de decisiones con múltiples restricciones: de
conocimiento proposicional, de herramientas lingüísticas disponibles, de
los objetivos de la comunicación del usuario a quien se dirige el texto, y
de la situación y del discurso pasado. Se trata de identificar los factores
involucrados en este proceso y de determinar la mejor forma de
representar estos factores y sus dependencias.
Para generar un texto, un sistema debe escoger cierta información de la
base de conocimiento, decidir cómo organizarla, y determinar cómo
producir el texto en lenguaje natural, lo cual incluye el decidir acerca de
la entrada del léxico y de las estructuras sintácticas.
Esto hace que el proceso de generación se divida en dos partes: una
componente de planificación del texto y una componente de generación
propiamente dicha. Ésta a su vez se divide en dos tareas: la de escoger
los objetos del léxico y la de efectuar selecciones gramaticales. En todo
esto se trata de escoger apropiadamente para expresar lo mejor posible
el significado deseado.
Planificación de textos
Cuando se hace de arriba a abajo, se generan textos para sistemas
complejos, en sistemas expertos para dialogar con una gran variedad de
usuarios. El proceso de planificación es algo restrictivo ya que no puede
alcanzar planificación oportunista. En algunos casos se incorporan
25
métodos de abajo a arriba, para aprovecharse de planificación
oportunista.
Generación de textos

Elección de léxico. En este campo se trabaja desde los puntos de
vista lingüísticos y computacionales. Este problema es difícil. En
algunos casos se trata al nivel de la representación conceptual sobre
cuya base opera el generador. Este método puede resultar en una
arquitectura de procesamiento más simple. En otros casos se trata
de que la elección de léxico no ocurra de una forma aislada sino
como parte del problema de la elección léxico gramatical. En otros
casos se han desarrollado generadores basados en la teoría
significado-texto, donde el léxico desempeña un papel central, que
influye en el proceso de generación.

Recursos gramaticales. En este campo la gramática a utilizar es una
componente importante del sistema, y toma decisiones de cómo
expresar sintácticamente la información deseada. En algunos casos
se trata de una gramática que tenga en cuenta las correferencias del
discurso. En otros casos la gramática se diseña para manejar las
necesidades de la generación de oraciones incrementalmente.

Morfología. Este campo trata de la formación de la palabra
(inflexión, palabras derivadas, palabras compuestas). Se basa en un
léxico que contiene entradas para un conjunto de palabras y reglas
para las inflexiones. (Ángel G. Jordán, 1992)
1.2.5.6. Respuestas a Preguntas
Llamado en inglés Question Answering (QA) es un tipo de recuperación
de la información. Dada una cierta cantidad de documentos (tales como
World Wide Web), el sistema debería ser capaz de recuperar respuestas
a preguntas planteadas en lengua natural. QA es observado como un
método que requiere una tecnología de Procesamiento de lenguaje
natural más compleja que otros tipos de sistemas para la Recuperación
26
de documentos, y, en algunos casos, se le observa como un paso por
delante de la tecnología del buscador.
Un sistema de question answering es uno de los sistemas más complejos
en torno a la recuperación de información. Debemos de tener en cuenta
que un sistema basado en el question-answering es mucho más difícil
que un sistema normal que se encarga de buscar una información en una
cantidad más o menos grande de documentos, ya que estos debe extraer
de dichos documentos un fragmento de texto (mínimo) que responda a
una pregunta dada en lenguaje natural. Estos sistemas están muy ligados
a los buscadores web.
Un sistema de question-answering intenta reconocer un amplio rango de
tipos de cuestiones, incluyendo hechos, listas, definiciones, cómo,
cuándo, dónde, por qué, etc. Dichas búsquedas pueden variar desde
pequeñas colecciones de documentos locales, organizaciones internas de
documentos, hasta la web entera (o una parte de ella). (Computació)
1.2.6. Ejemplos
1.2.6.1 Traducción Informática

Systran
Es
uno
de
los
sistemas
comerciales
de traducción
automática más veteranos.
Es utilizado de manera gratuita en las múltiples instalaciones
accesibles por Internet: AOL, AltaVista, o el Instituto Cervantes.
La empresa ofrece módulos preparados para más de 40 idiomas.
Systran además integra funciones multilingües muy útiles para
aplicaciones como el comercio electrónico, CRM, bases de
datos, correo electrónico, mensajería instantánea, SMS, WAP.
Todas desarrolladas bajo fundamento de PLN. (Systran)
27

Google Translate
Es un sistema de traducción automática gratuito proporcionado
por Google Inc, basado
en procesamiento estadístico del
lenguaje para traducir un texto, documentos y páginas web a
otras lenguas. Google introdujo su propio software de traducción
en 2007, antes Google utilizaba el traductor SYSTRAN, que es
utilizado por otros servicios de traducción, tales como Babel
Fish, AOL y Yahoo.
(Traductor
Google)
1.2.6.2 Clasificación de Textos
 Filtro Spam.
Algunas
han
sido
incorporadas
en
productos,
servicios
y software para aliviar la carga que cae sobre usuarios y
administradores. No existe la fórmula perfecta para solucionar el
problema del spam por lo que entre las múltiples existentes unas
28
funcionan mejor que otras, rechazando así, en algunos casos, el
correo deseado para eliminar completamente el spam, con los
costes que conlleva de tiempo y esfuerzo.
 Clasificación de temas.
Tratan
de
establecer
una
división
lógica
y
sistemática
del conocimiento, que permita representar el contenido de
manera sintética. Ordenación o disposición por clases o grupos
 Análisis Sentimental.
Es el uso de PLN, análisis de textos y lingüística computacional para
identificar y extraer información subjetiva en materiales fuente.
Determina la actitud de un sujeto respecto a algún tema. Su
actitud será su juicio o evaluación de estado afectivo; o la
comunicación emocional que pretenda expresar.
(Antispam)
1.2.6.3 Recuperación de Información

Search Engines : Google Search, Lucene
Diseñados para buscar información. Los resultados de búsqueda
son presentados generalmente en una línea de resultados. La
información es una mezcla de diferentes fuentes ( páginas web,
imágenes, otro tipo de archivos ). A diferencia de los directorios,
que son supervisados sólo por editores humanos; los engranes
de búsqueda presentan información en tiempo real. (Apache
Lucene)
29

Text Databases: MongoDB, CouchDB.
Son aquellas que gestionan datos semi estructurados. Es decir
documentos. Estos datos son almacenados en algún formato
estándar como puede ser XML, JSON o BSON. Son las bases de
datos NoSQL más versátiles. Se pueden utilizar en gran cantidad
de
proyectos,
incluyendo
muchos
que
tradicionalmente
funcionarían sobre bases de datos relacionales. (Bases de Datos
Textuales)
1.2.6.4 Entendimiento/Generación de lenguaje Natural
Chatbots
1.2.6.5 Otros

Corrección Automática

Compiladores

Intérpretes

Resúmenes Automáticos

Scraping
1.3. Clasificador Bayesiano Ingenuo
1.3.1. Definición
Un clasificador Bayesiano Ingenuo es un clasificador probabilístico simple, basado
en la aplicación del teorema de Bayes con fuertes supuestos de independencia. Un
término más descriptivo para el modelo de probabilidad subyacente es "modelo
de producción independiente".
El clasificador asume que la presencia o ausencia de una característica particular,
no está relacionada con la presencia o ausencia de cualquier otra característica,
teniendo en cuenta la variable de clase. Por ejemplo, una fruta puede ser
considerada como una manzana si es rojo, redondo, y alrededor de 3cm. de
30
diámetro. Un clasificador de Bayes Ingenuo considera cada una de estas funciones
para contribuir de manera independiente a la probabilidad de que esta fruta es
una manzana, independientemente de la presencia o ausencia de las otras
características.
Para algunos tipos de modelos de probabilidad, clasificadores de Bayes ingenuo se
puede entrenar de manera muy eficiente en un entorno de aprendizaje
supervisado. En muchas aplicaciones prácticas, la estimación de parámetros para
los modelos Bayes naive utiliza el método de máxima verosimilitud, es decir, se
puede trabajar con el modelo Bayes naive sin creer en la probabilidad bayesiana o
el uso de cualquiera de los métodos bayesianos.
Una ventaja de Bayes Ingenuo es que sólo se requiere una pequeña cantidad de
datos de entrenamiento para estimar los parámetros necesarios para la
clasificación. Porque se supone que las variables independientes, sólo las
varianzas de las variables para cada clase tienen que ser determinados y no a toda
la matriz de covarianza. (Clasificador bayesiano.)
1.3.2. Modelo Probabilístico
El modelo de probabilidad para un clasificador es:
Sobre una variable dependiente C, con un pequeño número de resultados (o
clases). Esta variable está condicionada por varias variables independientes desde
a
.
El problema es que si el número n de variables independientes es grande (o
cuando éstas pueden tomar muchos valores), entonces basar este modelo en
tablas de probabilidad se vuelve imposible. Por lo tanto el modelo se reformula
para hacerlo más manejable usando el teorema de Bayes, quedando de ésta
forma:
31
En la práctica sólo importa el numerador, ya que el denominador no depende de
y los valores de
son datos, por lo que el denominador es, en la práctica,
constante.
El numerador es equivalente a una probabilidad compuesta:
Que puede ser reescrita como sigue, aplicando repetidamente la definición de
probabilidad condicional:
Y así sucesivamente. Ahora es cuando la asunción “ingenua" de independencia
condicional entra en juego: se asume que cada
otra
para
es independiente de cualquier
. Esto significa que:
(Drakos & Moore, 2001)
1.3.3. Estimación de Parámetros y modelo de eventos
Todos los parámetros del modelo se pueden aproximar con frecuencias relativas
del conjunto de entrenamiento. Estas son las estimaciones de máxima
verosimilitud de las probabilidades. Una clase 'antes se puede calcular suponiendo
clases equiprobables, o calculando una estimación de la probabilidad de clase del
conjunto de entrenamiento. Para estimar los parámetros para la distribución de
una característica, uno debe suponer una distribución o generar modelos no
paramétricos para las características del conjunto de entrenamiento.
Las hipótesis sobre la distribución de funciones se llaman el modelo de eventos
del Clasificador bayesiano. Por características discretas como las encontradas en la
clasificación de documentos, las distribuciones multinomiales y Bernoulli son
populares. Estos supuestos conducen a dos modelos distintos, que a menudo se
32
confunden. Cuando se trata de los datos continuos, un supuesto típico es que los
valores continuos asociados con cada clase se distribuyen según una distribución
de Gauss.
En general, el método de distribución es una mejor opción si hay una pequeña
cantidad de datos de entrenamiento, o si se conoce la distribución precisa de los
datos. El método de discretización tiende a hacer mejor si hay una gran cantidad
de datos de entrenamiento, ya que va a aprender para adaptarse a la distribución
de los datos. Desde Bayes ingenuo se utiliza típicamente cuando una gran cantidad
de datos está disponible, se prefiere generalmente el método de discretización
sobre el método de distribución.
(Clasificador bayesiano.)
1.3.4. Corrección de Muestras
Si el valor de la clase y de la función dada no ocurren juntas en los datos de
entrenamiento, entonces la estimación basada en la probabilidad de frecuencia
será cero. Esto es un problema, ya que acabará con toda la información de las
otras probabilidades cuando se multiplican. Por lo tanto a menudo es necesario
incorporar una pequeña corrección de muestreo, llamada pseudocontador, con
toda la probabilidad estimada, de tal manera que no hay probabilidad alguna para
que dé exactamente cero. (Clasificador bayesiano.)
1.3.5. Construcción de un clasificador del modelo probabilístico
Hasta ahora la discusión ha derivado del modelo de características
independientes, es decir, el modelo de probabilidad de Bayes ingenuo. El
clasificador Naïve Bayes combina este modelo con una regla de decisión. Una regla
común es para recoger la hipótesis de que es más probable, esto se conoce como
el máximo de una regla de decisión a posteriori o MAPA.
El clasificador correspondiente, un clasificador de Bayes, es la función definida de
la siguiente manera: (Drakos & Moore, 2001)
33
CAPÍTULO II
MATERIALES Y MÉTODOS
2.1. Tipo de Estudio
Es una investigación de diseño no experimental, toda vez que los resultados se obtienen
con datos de prueba.
2.2. Población
La población para el presente estudio, dada la complejidad del idioma español estaría
formada un número infinito de formas distintas de escribir un mensaje.
2.3. Muestra
Dado que la población de mensajes es infinita optamos por usar un muestreo aleatorio
simple para poblaciones desconocidas con un nivel de confianza del 95% y un error de
muestreo del 5%
Dónde:
-
n = Tamaño de muestra
-
z = Coeficiente de confiabilidad (1,96)
-
p = 0.50
-
e = Error (0, 05)
Aplicando la formula obtenemos que la muestra es de tamaño 384 mensajes.
34
2.4. Técnica de Recolección de Datos
Los mensajes fueron recolectados a través de un formato de monitoreo realizado por la
policía; dicho monitoreo consiste en el proceso sistemático de recolectar y utilizar la
información para hacer un seguimiento al progreso de un particular, en nuestro caso, los
casos de extorsión.
2.5. Instrumento de Recolección de Datos
En este caso, será el software de sistema inteligente, en la que se ejecute el programa, el
encargado de recolectar los datos.
2.6. Procedimiento de Investigación
En primer lugar vamos a separar la muestra de los mensajes que constituyen a ese estudio
Luego diseñaremos un diccionario (corpus) que contendrá las palabras escritas
correctamente que aparecen generalmente en los mensajes extorsivos; y sus funciones
gramaticales respectivas.
Luego vamos a diseñar la gramática de libre contexto para el análisis sintáctico.
Se analizara el texto obtenido del análisis sintáctico usando el clasificador de Bayes
iIngenuo, este resultado será considerado dentro del vector de características necesario
para la red neuronal.
Después vamos a diseñar una red neuronal tomando en consideración la base de
conocimientos de los patrones que requiere la misma (vector de características).
Finalmente, desarrollaremos un sistema inteligente para hacer las pruebas del caso con los
mensajes de la muestra.
35
CAPÍTULO III
RESULTADOS
3.1. Descripción
El software recibirá como entrada una frase, la cual será evaluada. En primer lugar se
revisará si cada palabra está correctamente escrita, de no ser así, se procederá a su
corrección individual. Luego, se determinará si el mensaje tiene sentido (análisis
sintáctico, análisis semántico); para la red neuronal es necesario obtener un vector de
características, dicho vector tendrá como primer parámetro el resultado obtenido del
clasificador de bayes ingenuo, el cual es aplicado a la frase luego de ser analizada
sintácticamente, el segundo parámetro del vector de características es el resultado
obtenido del análisis semántico. Del resultado de la red neuronal, conoceremos si el
mensaje ingresado es amenazante o no.
3.2. Modelo Propuesto de PLN
36
3.3. Elementos del Software
3.3.1. Análisis léxico
Se analiza cada una de las palabras de la frase verificando que estas se
encuentren bien escritas, en caso contrario corregir su escritura.
3.3.2. Análisis sintáctico
A partir de las palabras obtenidas en el análisis léxico, asociaremos estas a la
figura gramatical que le corresponda obteniendo posibles frases, las cuales
serán analizadas para elegir una sintácticamente correcta.
Para esto se emplea un corpus de figuras gramaticales, que contiene las
palabras y sus respectivas figuras gramaticales.
Una primera parte de este análisis consiste en generar las frases candidatas
como en el siguiente ejemplo:

Entrada:
Mensaje: “tu pagaras o yo mato a tu familia”

Salida: arreglo de frases según su figura gramatical
['pronombre', 'verbo', 'pronombre', 'verbo', 'pronombre', 'sustantivo']
['pronombre', 'verbo', 'sujeto', 'verbo', 'pronombre', 'sustantivo']
3.3.3. Análisis semántico
El desarrollador semántico tendrá como parámetro de entrada la frase ya
procesada en el análisis sintáctico y determinara si esta tiene sentido.
37
3.3.4. Análisis estadístico
Para este análisis hemos usado el clasificador Naive Bayes que está basado en
el teorema de bayes, para lo cual se implementado las siguientes funciones:

Lista_palabra(texto): esta función recibe una frase, la cual separara
palabra por palabra y devuelve otro arreglo donde se almacenan todas las
palabras que tienen 3 letras o más.

Entrenar(textos) : esta función recibe un arreglo de frases como parámetro
de entrada, estas frases además ya están clasificadas como extorsivas y no
extorsivas, como retorno tendremos los siguientes datos:
o
Cantidad de palabras, es un arreglo donde se guarda la palabra
además de la cantidad de veces que esta palabra ocurre tanto en los
mensajes extorsivos como en los no extorsivos.
o
Cantidad de categorías, en nuestro caso siempre es dos ya que solo
clasificamos entre extorsivo y no extorsivo.
38
o
Cantidad de textos, es la cantidad de frases que se están usando para
el entrenamiento.
o
Cantidad total de palabras en las frases, sin tomar en cuenta las
repeticiones ni las palabras de longitud menor a tres.

Clasificar(texto,c_palabras,c_categorias,c_textos,c_tot_palabras)
Esta función toma los datos obtenidos por la función entrenar, además de
la frase que será evaluada y devuelve la categoría a la que pertenece. En
esta función se usa el clasificador bayes ingenuo.
39
40
REFERENCIAS BIBLIOGRÁFICAS
Congreso de Sevilla: La lengua española y las nuevas tecnologías. (2011). Obtenido de
http://cvc.cervantes.es/obref/congresos/sevilla/tecnologias/mesaredon_moreno.htm
Ángel G. Jordán. (1992). Lenguas y tecnologías de la información. Sevilla.
Antispam. (s.f.). Obtenido de http://heptagrama.com/deteccion-spam.htm
Apache Lucene. (s.f.). Obtenido de http://lucene.apache.org/
Arreiza Londoño, R., & Henao Restrepo, L. M. (2000). Implicaciones extralingüísticas e
intertextuales en la lectura. Colombia.
Bases de Datos Textuales. (s.f.). Obtenido de
http://institutos.filo.uba.ar/ravignani/biblioteca/bases-de-datos-en-texto-completo
Bautista, Y., & Tuesta, R. (2004). Implementacion de un Spanish Query para una base de datos
financiera. Trujillo: UNT.
Carboneli, J. (1992). El procesamiento del lenguaje natural, tecnología en transición. Sevilla.
Clasificador bayesiano. (s.f.). Obtenido de http://centrodeartigo.com/articuloseducativos/article_4294.html
Computació, C. d. (s.f.). Lingüística Computacional. Barcelona.
Conference on Intelligent Text Processing and Computational Linguistics. (s.f.). Obtenido de
http://www.cicling.org/ampln/NLP.htm
Diccionario de Informática y Tecnología. (s.f.). Obtenido de
http://www.alegsa.com.ar/Dic/sms.php
Drakos, N., & Moore, R. (2001). Computer Based Learning Unit. Sydney: Cambridge University
Press.
F. Gelbukh, A., N. Galicia Haro, S., & A. Bolshakov, I. (1998). Diccionario de Patrones de Manejo
Sintactico para análisis de texto en español. Mexico D.F.
Gelbukh, A., & Bolshakov, I. (2000). AVANCES Y PERSPECTIVAS DE PROCESAMIENTO AUTOMÁTICO
DE LENGUAJE NATURAL. Mexico.
Información Técnica GSMspain. (s.f.). Obtenido de
http://www.gsmspain.com/info_tecnica/sms/pagina3.php
Interactividad GSMspain. (s.f.). Obtenido de
http://www.gsmspain.com/info_tecnica/sms/pagina1.php
41
L. Cruz, F., A. Troyano, J., Enríquez, F., & Ortega, J. (2008). Clasificación de documentos basada en
la opinión: experimentos con un corpus de criticas de cina en español. Sevilla.
Larios, E. (s.f.). Pontificia Universidad Católica del Perú. Obtenido de Trabajo Sistemas Operativos
para Telecomunicaciones: http://blog.pucp.edu.pe/item/54702/introduccion-a-lastecnologias-de-reconocimiento-de-voz
Ovalle, S. R. (2002). Clasificacion de frases del lenguaje natural usando redes neuronales
recurrentes. Bogota.
Real Academia Española. (s.f.). Obtenido de
http://buscon.rae.es/drae/srv/search?id=boA0vUoQFDXX2LHCD71v
Sosa, E. (s.f.). Procesamiento del lenguaje natural: revisión del estado actual, bases teóricas y
aplicaciones . Obtenido de
http://www.elprofesionaldelainformacion.com/contenidos/1997/enero/procesamiento_d
el_lenguaje_natural_revisin_del_estado_actual_bases_tericas_y_aplicaciones_parte_i.ht
ml
Systran. (s.f.). Obtenido de http://www.systran.es/
Traductor Google. (s.f.). Obtenido de http://www.traductorgoogle.es/
Valles, M., & Pedraza, R. (2007). El Procesamiento del Lenguaje Natural en la Recuperación de
Información Textual y áreas afines.
42
Descargar