PAIDEIA XXI
Vol. 4, Nº 5, Lima, agosto 2014, pp. 113-123
Debido a la abundante información existente se hace necesario organizar,
mantener y procesar toda información disponible a partir de un conocimiento
más profundo del lenguaje. Un clasicador de textos (CT) consiste en etiquetar
un texto o documento con una o varias categorías temáticas predenidas. El
enfoque de clasicación considera que dado un conjunto de documentos D y
un conjunto de categorías C, encontrar una función haga corresponder a un
documento d tomado de D, una categoría determinada c en C. Para ello realiza
un análisis léxico que identique las subsecuencias de lexemas de d; luego, me-
diante un análisis stringkernel encuentre el grado de similitud entre dos textos.
Dos textos son más similares mientras tengan más subsecuencias en común.
Palabras clave: Categorización de textos, clasicación de textos, análisis
lexicográco.
Due to the abundant information is necessary to organize, maintain and
process all information available from a deeper understanding of language. A
text classier (CT) consists of a text label or document to one or more prede-
ned subject categories. The classication approach considers that given a set
of documents D and a set of categories C, nd a function then correspond to
a document d taken from D, a category c in C. It performs a lexical analysis to
identify the subsequences lexemes of d, and then by analyzing string kernel nd
Resumen
Abstract
CATEGORIZACIÓN DE TEXTOS UTILIZANDO
ANÁLISIS STRINGKERNEL E INDEXACIÓN
SEMÁNTICA LATENTE: APLICACIÓN DE TEXTOS
DE PROPIEDADES MEDICINALES DE PLANTAS
Augusto Cortez Vásquez
114
PAIDEIA XXI
Augusto Cortez Vásquez
INTRODUCCIÓN
Lo que la ciencia y la tecnología ha
conseguido hasta ahora ha sido real-
mente espectacular. Solo tenemos que
mirar a nuestro alrededor para ates-
tiguar lo que el extraordinario poder
de nuestra comprensión de la natu-
raleza y del conocimiento nos ha ayu-
dado a obtener. La categorización de
textos consiste en etiquetar un texto
o documento con una o varias catego-
rías temáticas preestablecidas [4,7].
El volumen de información en las di-
ferentes áreas de conocimiento crece
en un grado exponencial, de esto se
deriva que su tratamiento así como su
almacenamiento sea más complejo. A
causa de ello, se ha hecho necesario
desarrollar nuevos instrumentos y he-
rramientas que faciliten la realización
de procesos de búsqueda de forma
eciente y efectiva, así como la admi-
nistración de estos recursos. Para ca-
tegorizar textos se establece el grado
de similitud entre un texto y una clase
de textos, para ello se utiliza el méto-
do de StringKernel (SK). El método SK
establece que dos textos son simila-
res mientras tengan más subsecuen-
ticas en común. En [4,Cortez] 2013,
se presentó un estudio de Categori-
zación de textos mediante Máquinas
de Soporte Vectorial (MSV), en la que
se utilizó la técnica StringKernel (SK)
para detectar similitud de textos. La
técnica indexación semántica latente
utiliza un método numérico llamado
descomposición en valores singulares,
que permite identicar patrones en
las relaciones entre los términos con-
tenidos en una colección de textos no
estructurados [Hernández, 2009]. El
principio de ISL es que muchas pala-
bras utilizadas en textos pueden tener
signicados similares. El presente tra-
bajo tiene como objetivo construir un
modelo que permita etiquetar un texto
con una o varias categorías temáticas
predenidas. Para ello se construyó
un conjunto de clases de textos, se
denió una función que asigne a cada
documento una clase, se eligió una
técnica para representación de docu-
mentos y se construyó un prototipo
que implemente la especicación.
MARCO TEÓRICO
Clasicación de textos
La clasicación de textos es un
tema que forma parte de Recuperación
de Información RI (Information Retrie-
val) y se enmarca dentro de la discipli-
na de lenguaje de procesamiento na-
tural. Tiene como propósito etiquetar,
es decir, asignar etiquetas que indican
a qué categoría o categorías corres-
ponde el documento. La mayor parte
de los autores, entre ellos Hernández,
clasican la categorización de tex-
to como un cruce entre Máquinas de
Aprendizaje (Machine Learning - ML)
y RI. Varios investigadores en el área
the degree of similarity between two texts. Two texts are more similar while you
have more in common subsequences.
Keywords: text categorization, text classication, lexical analysis.
115
PAIDEIA XXI
Categorización de textos utilizando Análisis Stringkernel e Indexación Semántica Latente
MSV se reeren a esta área de estu-
dio como una instancia de la Minería
de Textos (Text Mining - TM) [6,8]. En
el contexto del presente trabajo, de-
niremos clasicar como distinguir las
características propias de un objeto
y establecer las diferencias con otros
objetos. En este contexto, clasicar
textos signica relacionar un texto con
clases [Russell, 2003; Palma, 2008].
Estrategias de clasicación
Existen dos estrategias para la cla-
sicación de textos: el primero consis-
te en incorporar información semán-
tica a la representación de textos. Es
conveniente destacar que, en general,
estos estudios están enfocados en do-
cumentos donde es factible, en la ma-
yoría de los casos, disponer de una co-
lección de entrenamiento para la tarea
de desambiguación del sentido de las
palabras (WSD las siglas en inglés para
Word Sense Disambiguation). La se-
gunda estrategia consiste en el uso de
métodos de WSD basados en conoci-
miento que obtienen información des-
de recursos léxicos externos. Estudios
realizados muestran que si bien este
tipo de métodos suelen mostrar resul-
tados de menor calidad que los obteni-
dos con métodos basados en corpus,
constituyen en muchos casos la única
alternativa realista, si se desea hacer
uso de información semántica en la re-
presentación de documentos [14].
Indexación semántica latente (ISL):
Para comprender más claramente
la similitud de dos textos, se utiliza un
método numérico llamado descompo-
sición en valores singulares (SVD por
sus siglas en inglés), cuya función pri-
mordial es identicar patrones en las
relaciones entre los términos conteni-
dos en una colección de textos no es-
tructurados. El principio de ISL es que
muchas palabras utilizadas en textos
pueden tener signicados similares. La
idea principal es emparejar por con-
ceptos en lugar de por términos, o sea,
un documento podría ser recuperado
si comparte conceptos con otro que es
relevante para la consulta dada.
MÉTODO Y TÉCNICAS UTILIZADAS
Metodología
Para modelar el problema P de cla-
sicación de textos, se seguirá la si-
guiente metodología:
1. Denición del dominio de todos los
documentos (D) y el dominio de to-
das las clases predenidas ( C).
2. Construcción de un analizador
léxico que detecte los lexemas y las
subsecuencias que componen al
texto.
3. Para cada clase aprenderemos una
función que decidirá si cada docu-
mento d pertenece o no a la clase
asociada.
El objetivo es aprender una función:
Ø : D→C, tal que Ø (di)=ci;
di es un documento cualquiera y ci es
el vector de las categorías a las que
pertenece el documento di.Ø (di)
C→
4. Para clasicar un documento d en
D encontraremos el grado de simili-
tud entre dos textos. Para esto uti-
lizaremos la técnica de StringKer-
nel
116
PAIDEIA XXI
Augusto Cortez Vásquez
5. Construcción de un prototipo para
hallar la similitud de un texto con
alguna clase ya creada. Cuando se
ingresa un texto se compara con
cada una de los textos de cada cla-
se. El nuevo texto se clasicará con
la clase que tenga mayor similitud.
Si no existe similitud, se creará una
nueva clase para el texto analizado.
Se utilizará la técnica de indexa-
ción semántica latente, que permi-
ta recuperar textos a partir de con-
ceptos y no solo de términos
Técnica utilizada
StringKernel: Cuando se quiere cla-
sicar un documentos di, se compara
cada subcadena del documento con
un referente. Cuanto más subcade-
nas tengan en común dos subcadenas
más similares se consideran. Cada ca-
tegoría corresponde a una clase que
tiene un referente ci.un documento di
será similar a una clase ci si tiene más
subcadenas en común.
Figura 1. Clases de textos
Ø verica a qué clase pertenece el
texto Tx
Especicación formal
Precondición: el texto Tx se en-
cuentra depurado.
FunCategoriza(Tx: secuencia de
texto) dev (Ck: clase)
Postcondición: Existe K tal que
Tkesta en Ck y similar(Tx,Tk)
Tx debe encontrarse limpio, es de-
cir se han abstraído los lexemas
irrelevantes
Función de similitud
Similar (Tx,Tk) establece que para
un g: grado de similitud, el número de
subsecuencias en común entre Tx y
Tk es mayor o igual a g
Ø:D →F,
La función Ø transforma un ejem-
plo n-dimensional en un vector deca-
racterística N-dimensional
Ø (d) = (Ø1(d), Ø2(d) ..., Øn (d)) = ( Øi
(d) ) para todo i =1,..., N
Kernel para secuencia de textos
Un núcleo para secuencias de texto
de dos documentos de texto, permite
comparar los textos por medio de las
subcadenas que contienen: las subca-
denas más en común, las más simila-
res [9]. Un aspecto importante es que
dichas subcadenas no necesitan ser
contiguas, y el grado de contigüidad
de una subcadena en un documento
determina cuál será el peso que se le
asignara en la comparación. Por ejem-
plo: la subcadena ‹r-a› está presen-
te tanto en la palabra «área» y en la
palabra pera, pero con diferente pon-
deración. Con el n de hacer frente a
subcadenas no contiguas, es necesa-
rio introducir un factor de decaimien-
to γ (0, 1) que se puede utilizar como
ponderar la presencia de una determi-
nada característica en un texto.
Denición: Sean Σ un alfabeto -
nito, Σn el conjunto de todas las ca-
117
PAIDEIA XXI
Categorización de textos utilizando Análisis Stringkernel e Indexación Semántica Latente
denas de longitud n, y el conjunto de
todas las cadenas nitas. La longitud
de una cadena s Σ* es |s|, y sus ele-
mentos son s(1), s(2),…, s(|s|); la con-
catenación de dos cadenas s y t Σ* se
escribe st.[9].
Dado un índice de secuencia i = (i1,
i2, …, i|u|) con 1 ≤ i1<…<i|u|≤ |s|
La subsecuencia se dene como u =
s(i) = s(i1),…, s(i|u|).
La longitud de la subsecuencia en s se
dene como i|u|- i1+ 1, si i no es conti-
gua entonces l(i) es mayor que la lon-
gitud de u (|u|).
El espacio de rasgos generado a par-
tir de cadenas de longitud n se de-
ne como Hn = R (Σ*) , esto signica que
dicho espacio tiene una dimensión o
coordenada por cada uno de los ele-
mentos de Σn. La proyección de todas
las coordenadas en el espacio de ras-
gos para cada subsecuencia u Σn se
describe como [Øn(s)]u = Σ γl(i)
Ejemplo
Considere las palabras cima,
imán y tina. Si tenemos en cuenta
solo k =2, obtenemos un espacio de
características 13-dimensional, donde
las palabras se asignan de la siguiente
manera:
Ci cm ca im ia ma in mn an ti tn ta na
cima γ
2
γ
3
γ
4
γ
2
γ
3
γ
2
0 0 0 0 0 0 0
imán 0 0 0 γ
2
γ
3
γ
2
γ
4
γ
3
γ
2
0 0 0 0
tina 0 0 0 0 γ
3
0γ
2
0 0 γ
2
γ
3
γ
4
γ
2
Lo sorprendente de este ejemplo es
que se identican las subsecuencias
en un espacio de características am-
plio.
Diseño del clasicador de texto ba-
sado en StringKernel:
Kernel utilizado
Se utilizara un Kernel SSK (Kernel
de subsecuencia de cadenas).
Sea un alfabeto Σ, entonces denimos
Σ0 = { λ } dene el conjunto de cadenas
de longitud 0
λ =” es la única cadena de longitud
cero
Σ1 dene el conjunto de cadenas de
longitud 1
Σ2 dene el conjunto de cadenas de
longitud 2
En general Σn dene el conjunto de ca-
denas de longitud n
Cada cadena w Σn le corresponde Ø
(w), donde los elementos de w son w1
w2 w3… wn
Si s, t Σn, entonces s.t Σn
Prototipo para clasicar un docu-
mento en función a su similitud con
los textos de las clases ya creadas.
Se denió 15 clases de propieda-
des de plantas medicinales, como se
muestra en la siguiente gura:
118
PAIDEIA XXI
Augusto Cortez Vásquez
Precondiciones: Se eliminaron los
caracteres que no ofrecen ningún tipo
de información y aumentan la dimen-
sión del espacio de rasgos:
dos puntos (:),
coma (,),
punto y coma (;),
punto (.),
comillas simples (‘) y dobles (“),
guión (-)
No se han considerado las tildes,
por lo que se sustituyeron las vocales
acentuadas por vocales no acentua-
das, con la nalidad de reducir la di-
mensión del espacio de rasgos.
Se considerará un conjunto de pa-
labras relevantes:
Sea el alfabeto ∑ y el texto
Tx = a1 a2…an Tx*
Sea la secuencia w= a1 a2…ak
subsecuencia de Tx w Tx
*
Sea X ={α / Si E w * y
w Txα = w} clase de texto
| |X =n cardinalidad de la clase
X
Sea Ø : T → ∑
Tx i
Clase Representante de clase
C1 hepática: que afecta al hígado; que contribuye a curar enfermedades del hígado
C2 antiséptica: que se opone a la putrefacción
C3 astringente: que contrae o detiene hemorragias
C4 Mucilaginosa: que alivia las partes inamadas
C5 Carminativo:ayuda a expulsar la ventosidad de las entrañas
C6 Aromatica:estimulante, sabrosa
C7 Diurética: que incrementa la secreción y el ujo de orina
C8 Febrífuga: que rebaja y elimina la ebre
C9 Litotriptica: que disuelve los cálculos de los órganos urinarios
C10 Antihelmíntico: que expulsa las lombrices
C11 Expectorante: que facilita la expectoración
C12 Antiespasmodica: que alivia y previene los espasmos
C13 Rubefaciente: que estimula la circulación, provocando la rojez de la piel
C14 Sedante: que calma los nervios
C15 Emetica: provoca vómitos
Figura 2. Muestra de textos de propiedades medicinales
119
PAIDEIA XXI
Categorización de textos utilizando Análisis Stringkernel e Indexación Semántica Latente
Para todo texto Tx , Ø le hace co-
rresponder la clase ∑ i
Sea grad(u,v) = guv grado de si-
militud de Tx y Tx
Si TuT elegir v tal que guv =
max { gu i para todo i: 1..n}
Cuando se vectoriza el texto, se
consideran solo los lexemas signica-
tivos. Para ello se creó el archivo de
lexemas no relevantes (poco signica-
tivos): el, las, en, que, por.. etc. Cuan-
do se explora el texto, por cada lexema
se busca en el archivo no relevantes,
si se encuentra, se desecha el lexema,
en otro caso se almacena en el vector.
Esto reducirá la complejidad espacial
del algoritmo. La indexación semánti-
ca latente permite que la búsqueda no
sea solo por términos sino por concep-
tos.
TX= pelotas de futbol, se asociará
con textos que incluyan balones de
fútbol o bolas de futbol.
Concepto : Pelota Textos
Conceptos relaciona-
dos: Balón
bola
Los muchachos
lanzaron la pelota.
Los muchachos
lanzaron el balón.
Los muchachos
lanzaron la bola
Concepto : muchacho Textos
Conceptos relaciona-
dos: chiquillo
joven
El muchacho es
muy inteligente
El joven es muy
inteligente.
El chiquillo es
muy inteligente
El siguiente prototipo ingresa un
texto, halla el grado de similitud con
las clases existentes:
120
PAIDEIA XXI
Augusto Cortez Vásquez
Clase Textos de la misma clase
C1 Ajenjo: antiséptico, febrífugo, antihelmíntico
El diente de león tiene propiedades hepáticas y es diurético
C2
Ajenjo: antiséptico, febrífugo, antihelmintico
Ajo: diaforético,diurético, expectorante, antiséptico, antihelmíntico
Manzanilla: antiséptica, antiespasmódica, emética, aromatica
El pimentón tiene propiedades rubefaciente, antiséptico y estimulante
C3 Fresa: diurético, astringente, laxante
La verbena es astringente y expectorante
C4
Cataplasma de semillas molidas de fenogreco(Trigonellafoenumgraecum)
tiene efecto mucilaginoso, especialmente contra los abscesos, ulceras e
hinchazones.
Una cataplasma de hojas de Malva mojadas en agua caliente es bueno para
las llagas e inamaciones
C5 La infusión de salvia tiene efecto carminativo
La valeriana previene la aparición de gases y piedras en la vejiga de la orina
C6
La manzanilla es recomendable para la dispepsia, estomago débil y desor-
denes o trastornos nerviosos
La hierbabuena es aromática y se recomienda para cólicos, gases, dispep-
sia, espasmos y náuseas
C7
Ajo: diaforético, diurético, expectorante, antiséptico, antihelmíntico
Fresa: diurético, astringente, laxante
El perejil es diurético y expectorante
El diente de león tiene propiedades hepáticas y es diurético
C8 Ajenjo: antiséptico, febrífugo, antihelmíntico
C9 La infusión de hojas de chancapiedra alivia los cálculos renales
El jugo de piña con cucharada de aceite de oliva expulsa los cálculos
C10 Ajo: diaforético, diurético, expectorante, antiséptico, antihelmíntico
C11
Ajo: diaforético, diurético, expectorante, antiséptico, antihelmíntico
El perejil es diurético y expectorante
La verbena es astringente y expectorante
C12 Manzanilla: antiséptica, antiespasmódica, emética, aromática
La valeriana tiene propiedades antiespasmódica
C13 El pimentón tiene propiedades rubefaciente, antiséptico y estimulante
El jengibre es rubefaciente
C14
C15 La manzanilla tiene propiedad estimulante y a la vez emetica
Figura 3. Tabla de textos analizados con sus respectivas categorías
121
PAIDEIA XXI
Categorización de textos utilizando Análisis Stringkernel e Indexación Semántica Latente
Se ingresa el texto1: Ajenjo: antisépti-
co, febrífugo, antihelmíntico
CONCLUSIONES
a) La clasicación de textos ha susci-
tado mucho interés en el área de
Inteligencia Articial.
b) Se consideró un analizador léxico
que identique los lexemas y las
subsecuencias formadas por estos
lexemas. La exploración se realizó
de izquierda a derecha. Es necesa-
rio, sin embargo, puntualizar que la
exploración de derecha a izquierda
adicional incrementaría las subse-
cuencias en común; sin embargo, in-
crementaría el costo computacional
c) Para establecer la similitud de dos
textos se utilizó la técnica Strin-
gKernel. Mientras más secuencias
en común tengan dos textos , más
similares son.
d) Se consideró subsecuencias de
textos de lexemas contiguos en un
orden de izquierda a derecha, y se
eliminaron los lexemas irrelevantes
que no añaden signicado al texto.
e) La indexación semántica latente
permitió que cuando se recupere
un texto, la búsqueda se realice por
conceptos y no solo por términos
f) Cuando se construye el kernel, se
consideran dos alternativas: con-
siderar subcadenas de caracteres
contiguos, o no. Sin embargo, se
debe tener en cuenta que permi-
tir la no contigüidad eleva el costo
computacional de la aplicación. Se
realiza un análisis léxico izquierda
a derecha. Un análisis que inclu-
ya la exploración derecha izquier-
da permitiría ampliar el número de
subcadenas en común, pero el cos-
to computacional se elevaría. Por
ello deberá determinarse la alter-
nativa en función de las priorida-
des y restricciones de la aplicación
a desarrollar.
122
PAIDEIA XXI
Augusto Cortez Vásquez
REFERENCIAS BIBLIOGRÁFICAS
Angulo, C. (2001). “Aprendizaje con máquinas núcleos en entornos de multi-
clasicacion”. Tesis doctoral, Universidad Politécnica de Cataluña.
Ciapuscio, G. (1994). Tipos textuales. Buenos Aires: EUDEBA.
Comesaña (2010). “Modelos de regresión de máquinas de vectores soporte
de mínimos cuadrados para la predicción de la cristalinidad de catalizadores de
craqueo por espectroscopia infrarroja”. Revista CENIC - Ciencias Químicas Re-
dalyc. Centro Nacional de Investigación Cientíca. La Habana, ISSN 0254-0525.
Cortez Vásquez, Augusto. (2013). Revista RISI (Revista de Investigaciones de
Sistema e Informática). Vol. 10 N°1. Lima. Pág.33
Gonzales, Abril. Modelos de Clasicación basados en Maquinas de Vectores
Soporte. Departamento de Economía Aplicada I, Universidad de Sevilla.
Gutiérrez Alonso, Esther. (2007). “Aplicación de las máquinas de soporte vec-
torial para reconocimiento de matrículas”. Proyecto de n de carrera, Univer-
sidad Ponticia Comillas Escuela Técnica superior de Ingeniería –Ingeniería
Industrial (ICAI). Madrid.
Hernández, José. (2008). Introducción a la minería de datos. España: Pearson
Prentice Hall.
Krikorian, Mauro. “Reconocimiento de dígitos manuscritos aplicando trans-
formadas Wavelet sin submuestreo y Máquinas de Soporte Vectorial”. Tesis de
licenciatura. Departamento de Computación. Facultad de Ciencias Exactas y
Naturales. Universidad de Buenos Aires.
Leija, Lorenzo. (2009). Métodos de procesamiento avanzado e inteligencia arti-
cial en sistemas sensores y biosensores. México. Reverse Editores.
Lodhi, Huma. et al. (2002). Text Clasication using String Kernels Royal Ho-
lloway, University of London, Egham Surrey TW20 0EX.
Mendoza , M. (2011). “Categorización de texto en bases documentales a partir
de modelos computacionales livianos”. Revista Signos Versión. Valparaíso. ISSN
0718-934 Vol. 44 N° 77.
Muller, A.; Smola, J.; Ratsch, G., Scholkopf, B., Kohlnorgen, J. & Vapnik, V.
(1997). “Predicting times series with support vector machine”. Notas de trabajo.
Muñoz, P. (2006). “Sistema para el Reconocimiento Fuera de Línea de Carac-
teres Manuscritos”. Grupo GAMA5 CEIFI, Universidad del Quindío.
Perea Ortega, José; Martín Valdivia, María Teresa; Montejo Raez, Arturo &
Díaz Galiano, Manuel Carl . Categorización de textos biomédicos usando UMLS.
ISSN 1135-5948
Palma, José (2008). Inteligencia Articial. Madrid: Edit Mc Graw Hill.
Pedroza, Juan. (2007). Aplicación de las máquinas de soporte vectorial al reco-
nocimiento de hablantes. Universidad Autónoma Metropolitana.
123
PAIDEIA XXI
Categorización de textos utilizando Análisis Stringkernel e Indexación Semántica Latente
Rosas, Marta. (2010). “Un Análisis Comparativo de Estrategias para la Ca-
tegorización Semántica de Textos Cortos”. Revista Procesamiento del Lenguaje
Natural N° 44, pp 11-18.
Russell, Stuar. (2003). Inteligencia Articial, Un enfoque moderno. México:
Edit Pearson.
Salazar Blandon, Diego Alejandro (2012). “Comparación de máquinas de so-
porte vectorial vs Regresión Logística ¿Cual es más recomendable para discri-
minar?”. Tesis de grado de Magíster en Ciencias- Estadística. Universidad de
Colombia. Facultad de Ciencias. Escuela de Estadística. Medellín.
Stitson, M.; Weston, J.; Gammerman, A.; Vovk, V. & Vapnik, V. (1996).
“Theory of support vector machines. InformeTécnico”. Bajado de http://svm.
rst.gmd.de/, 1996.
Solera Ureña, Rubén (2011). “Máquinas de vectores de soporte para recono-
cimiento robusto del habla”. Tesis doctoral. Dpto. de Teoría de la Señal y Comu-
nicaciones. Universidad Carlos III de Madrid Leganez, Madrid.
Venegas, Rene. Clasicación de textos académicos en función de su conteni-
do léxico-semántico Academic text classication base don lexical-semanticcon-
tent. Ponticia Universidad Católica de Valparaíso, Chile.
Villasana, Sergio (2008). “Categorización de documentos usando máquinas
de vectores de soporte”. Revista Ingeniería Uc. Vol. 15, No 3, 45-52. ISSN (Ver-
sión impresa): 1316-6832. Universidad de Carabobo Venezuela.