CENTRO DE INVESTIGACIN EN COMPUTACIN LABORATORIO DE LENGUAJE NATURAL Y PROCESAMIENTO DE TEXTO CONSTRUCCIN AUTOMTICA DE DICCIONARIOS SEMNTICOS USANDO LA SIMILITUD DISTRIBUCIONAL
T E S I S QUE PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS DE LA COMPUTACIN PRESENTA L. I. MOISES EDUARDO LAVN VILLA
DIRECTORES DE TESIS: DR. GRIGORI SIDOROV DR. ALEXANDER GELBUKH MXICO, D. F. 14 d E!"# d $%1%
G !d&' d F#"012(3 @7RMULA K1L C;LCULO DE LA @RECUENCIA RELATI8A DE UN TJRMINO $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 1C @7RMULA K2L C;LCULO DE LA @RECUENCIA POR DOCUMENTO$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 1C @7RMULA K3L C;LCULO DE LA @RECUENCIA RELATI8A DE UN TJRMINO$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 1C @7RMULA K4L C;LCULO DE T@$ID@ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 1B @7RMULA K+L C;LCULO DE LOS 8ALORES ESPERADOS EN UN CORPUS$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 1B @7RMULA K6L C;LCULO DE LOGALIDELIIOOD$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 1G @7RMULA KCL CALCULO DE LOS 8ALORES ESPERADOS EN 2 CORPUS $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 1G @7RMULA KBL CALCULO DE LOGALIDELIIOOD PARA 2 CORPUS$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 2H @7RMULA KGL COE@ICIENTE DE DICE$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 23 @7RMULA K1HL COE@ICIENTE DE JACCARD$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 23 @7RMULA K11L DISTANCIA EUCLIDIANA$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 23 @7RMULA K12L DISTANCIA MANIATTAN $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 24 @7RMULA K13L DISTANCIA MINDOMSDI$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 24 @7RMULA K14L DISTANCIA POR COSENO$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 24 @7RMULA K1+L C;LCULO DE @RECUENCIA ESPERADA$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 42 @7RMULA K16L CALCULO DE LOGALIDELIIOOD $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 43 @7RMULA K1CL DISTANCIA POR COSENO$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 44
1H !d&' d T(42(3 TABLA 2A1 TABLA DE CONTINGENCIA PARA EL C;LCULO DE LOGALIDELIIOOD$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 1G TABLA 2A2 TABLA DE CONTINGENCIA DE EJEMPLO$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 2H TABLA 2A3 C;LCULO DE 8ALORES ESPERADOS $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 21 TABLA 2A4 C;LCULO DE LOGALIDELIIOOD$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 21 TABLA 2A+ AJUSTE AL C;LCULO DE LOGALIDELIIOOD$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 22 TABLA 2A6 ALGORITMO DAMEANS$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 26 TABLA 3A1 @RAGMENTO DE LA TABLA DE @RECUENCIAS$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 41 TABLA 3A2 @RAGMENTO DE LA TABLA DE C;LCULO DE LOGALIDELIIOOD$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 42 TABLA 3A4 @RAGMENTO DE LA TABLA DE SIMILARIDAD ENTRE PALABRAS KPOR ORDEN AL@ABJTICOL$$$$$$$$$$$$$$$$$$$$$ 4+ TABLA 3A+ @RAGMENTO DE ALGUNOS CLNSTERES DEL DOMINIO DE IN@ORM;TICA$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 4C TABLA 4A1 LOS 1+ TJRMINOS M;S RELE8ANTES EN EL ;REA DE IN@ORM;TICA$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 4G TABLA 4A2 EJEMPLO DE LOS CLNSTERES OBTENIDOS $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 4G TABLA 4A3 LOS 1+ TJRMINOS M;S RELE8ANTES EN EL DOMINIO DE IN@ORM;TICA$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ +1 TABLA 4A4 CLNSTERES DE LA PRUEBA 2$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 61
11 RESUMEN
El desarrollo de ontologas, teniendo como entrada slo documentos de texto es muy importante, ya que la construccin manual de ontologas es una labor extensa y costosa, sin embargo ya existe una gran cantidad de informacin en formato electrnico. En esta tesis se presenta un mtodo para la construccin automtica de diccionarios semnticos, teniendo como entrada solamente documentos de textos, usando una serie de mtodos estadsticos, entre ellos, la extraccin de trminos usando el algoritmo Log-Likelihood, la medida de similaridad coseno y el agrupamiento por medio del algoritmo K-Means.
12 ABSTRACT
The development of ontologies, taking as input only text documents is very important because the manual construction of ontologies is a labor extensive and expensive, however there is already a wealth of information in electronic format. This thesis presents a method for automatic construction of semantic dictionaries, taking as input only text documents using a variety of statistical methods, including term extraction algorithm using the Log-Likelihood, the cosine similarity measure and clustering via K-Means algorithm.
13 1 INTRODUCCIN 1$1 D#s-"ip-i>2 !#) p"'3)#m La generacin de diccionarios semnticos (ontologas) para un dominio, representa un desafo, ya que para generarlas se requiere de los servicios de uno o varios expertos en el dominio, con experiencia en el tema, y experiencia en la construccin de diccionarios semnticos (Uschold & Grunninger, 1996). El mtodo que se presenta en esta tesis, no requiere la intervencin del usuario y es mucho ms rpido que hacer un diccionario semntico manualmente. 1$2 O3i/'s 1.$.1 O45)&6# 7!"(2 Crear un sistema que genere diccionarios semnticos automticamente usando textos de un dominio en especfico. El sistema utilizar mtodos estadsticos para la bsqueda de los conceptos y las relaciones entre ellos. 1.$.$ O45)&6#3 38'9:&'#3 Crear los mdulos pertinentes al sistema automtico de generacin de diccionarios semnticos. Mdulo para anlisis de frecuencias de palabras. Mdulo para extraccin de conceptos.
14 o Implementar mtodo para clculo de Log-Likelihood. o Implementar mtodo para clculo de Tf.Idf. Modulo para clculo de Similaridad entre 2 palabras. o Implementar mtodo del coseno del ngulo. Mdulo para clusterizacin de trminos. o Implementar el mtodo K-Means. Hacer los Siguientes Experimentos: Experimentos con un corpus de Informtica, descargados de www.wikipedia.com, comparndolo con un corpus general que sern las noticias del peridico Exclsior. Al terminar la tesis se esperan obtener los siguientes productos: o Metodologa de construccin de diccionarios semnticos a partir de los textos especializados, utilizando un conjunto de mtodos estadsticos. o Extraccin de trminos. Utilizando el algoritmo Log-Likelihood. o Extraccin de ciertas relaciones semnticas. Utilizando el mtodo del coseno del ngulo. o Construccin del diccionario semntico. o Prototipo de software que toma como entrada un conjunto de textos y construye un diccionario semntico tipo ontologa en modo automtico (sin alguna intervencin del usuario).
1+ 1$3 O"*2i=-i>2 !# ) 5#sis En el captulo 2 se describe el estado del arte, se definen los conceptos a utilizar en esta tesis, se explican las herramientas existentes para la definicin de diccionarios semnticos, se explican tambin los lenguajes para definir diccionarios semnticos y se hace una breve resea de los trabajos actuales sobre la generacin de diccionarios semnticos. En el captulo 3 se presenta la metodologa utilizada para atacar el problema, se describe detalladamente los pasos a seguir. En el captulo 4 se detallan los experimentos realizados son el software, los resultados obtenidos, se hace un anlisis de precisin y recall para tener una visin general de los resultados obtenidos.
16 $ ESTADO DEL ARTE 2$1 C'2-#p5's 3Fsi-'s Para poder entender los siguientes captulos de esta tesis es necesario introducir los conceptos bsicos con los que trabajaremos. $.1.1 S)#8;#"d Las las palabras denominadas stopwords son las que no incluyen informacin al dominio, para esta tesis, consideramos que las palabras que no son sustantivos, verbos, adjetivos o adverbios, son stopword. Estas palabras no sern tomadas en cuenta al construir el diccionario semntico. $.1.$ L0()&<('&=! Las palabras con el mismo lema sern contabilizadas como una sola palabra (el lema), de modo que palabras como trabaja, trabajar, trabajamos, suman a la frecuencia de la palabra trabajar que es el lema de todas ellas. $.1.- E>)"(''&=! d T?"0&!#3 R26(!)3 E1is5#2 m,-%'s m'!#)'s p" p'2!#"" 5?"mi2's #2 ,2 -'"p,s$ E) mFs -'2'-i!' #s T($I!($ $.1.-.1 TF.IDF Esta medida, permite comprobar el peso de un trmino (unidad lxica) en un documento (unidad de contexto).
1C 2.1.3.1.1 2.1.3.1.1 2.1.3.1.1 2.1.3.1.1 Frecuencia de Trminos Frecuencia de Trminos Frecuencia de Trminos Frecuencia de Trminos Se puede considerar para ponderar un trmino en un documento, la frecuencia absoluta (tf i ) de ste, es decir, el nmero de veces que un trmino aparece en un documento. Un refinamiento de esta medida es considerar la frecuencia relativa en lugar de la frecuencia absoluta.
F="012( @1A CB2'12# d 2( :"'1!'&( "2()&6( d 1! )?"0&!# 2.1.3.1.2 2.1.3.1.2 2.1.3.1.2 2.1.3.1.2 Frecuencia por Documento (DF Frecuencia por Documento (DF Frecuencia por Documento (DF Frecuencia por Documento (DFi ii i) )) ) A veces tambin es importante considerar el nmero de documentos (df i ) donde aparece el trmino i, se puede escribir como:
F="012( @$A CB2'12# d 2( F"'1!'&( 8#" D#'10!)# 2.1.3.1.3 2.1.3.1.3 2.1.3.1.3 2.1.3.1.3 Inversa de la Frecuencia por Documento (IDF Inversa de la Frecuencia por Documento (IDF Inversa de la Frecuencia por Documento (IDF Inversa de la Frecuencia por Documento (IDFi ii i) )) ) Esta medida penaliza a los trminos que aparecen en muchos documentos. Su frmula es la siguiente:
F="012( @-A CB2'12# d 2( :"'1!'&( "2()&6( d 1! T?"0&!# Donde es el total de documentos en el corpus.
1B 2.1.3.1.4 2.1.3.1.4 2.1.3.1.4 2.1.3.1.4 TF.IDF TF.IDF TF.IDF TF.IDF La frecuencia de trminos (tf) y la inversa de la frecuencia en el documento (idf) se combinan para obtener una medida conocida como tf.idf.
F="012( @4A CB2'12# d T:.Id: Donde: tf ij = nmero de ocurrencias del trmino i en el documento j. df i = nmero de documentos que contienen i. = nmero de documentos en una coleccin (corpus). $.1.-.$ L#7CL&D2&E##d Log-likelihood es una medida para comparar 2 corpus y ver que tan parecido es uno de otro (Rayson & Garside, 2000). Para hacer el clculo de Log-Likelihood, se toman en cuenta los valores observados (O) de cada palabra en los 2 corpus, el corpus de dominio y el corpus general, aplicando la frmula 1 para calcular los valores esperados (E), es decir las ocurrencias que se esperara que cada palabra tuviera en cada corpus.
F="012( @*A CB2'12# d 2#3 V(2#"3 E38"(d#3 ! 1! '#"813. Con estos valores observados y los valores esperados podemos calcular el Log- Likelihood con la siguiente frmula:
1G
F="012( @+A CB2'12# d L#7CL&D2&E##d Como en nuestro caso solamente usamos 2 corpus, uno de dominio y otro general, entonces el Log-Likelihood es calculado construyendo una tabla de contingencia como la siguiente: C'"p,s 1 C'"p,s 2 T'5) @"#-,#2-i !# ,2 P)3" 3 O3 @"#-,#2-i !# '5"s p)3"s -A !A3 -O!AA3 T'5) - ! -O! T(42( $C1 T(42( d C#!)&!7!'&( 8("( 2 'B2'12# d L#7CL&D2&E##d Donde c corresponde al total de palabras en el corpus uno y d corresponde al total de palabras en el corpus dos (estos son los valores de N para la formula (1)). Los valores a y b sern los valores observados (O); considerando que necesitamos calcular los valores esperados (E), de acuerdo a la siguiente Frmula (1), en nuestro caso N 1 = c y N 2 =d, Entonces para una palabra cualquiera los valores esperados se calculan con las siguientes formulas: (Valores esperados para el corpus uno). (Valores esperados para el corpus dos). F="012( @FA C(2'12# d 2#3 V(2#"3 E38"(d#3 ! $ '#"813 El clculo de los valores esperados (E) toma en cuenta el tamao de ambos corpus, por lo que no es necesario normalizar los datos antes de aplicar la frmula.
2H Entonces podemos calcular el Log-Likelihood de acuerdo con la frmula 2. Esto equivale a calcular el Log-Likelihood G 2 de la siguiente manera:
F="012( @.A C(2'12# d L#7CL&D2&E##d 8("( $ '#"813 Veamos un ejemplo: Supongamos que tenemos 2 corpus, El corpus uno (C1) con 1000 palabras y otro (C2) con 20000 palabras. En estos corpus tenemos las palabras A, B, C, D, E y F entre otras, con los valores observados que se muestran en la siguiente tabla de contingencia: P)3" C'"p,s 1 KC1L C'"p,s 2KC2L T'5) A + +H ++ B + 2HH 2H+ C + +HH +H+ D 1H +H 6H E 1H 2HH 21H @ 1H +HH +1H T'5) 1HHH 2HHHH 21HHH T(42( $C$ T(42( d C#!)&!7!'&( d 5082# Calculamos los valores esperados para cada palabra con las formulas E 1 y E 2 de la frmula (2-7) en la siguiente tabla: P)3" C1KO 1 L C2 KO 2 L T'5) E 1 E 2
A + +H ++ 2$61GH4B +2$3BHG+2 B + 2HH 2H+ G$C61GH+ 1G+$23BHG+ C + +HH +H+ 24$H4C61G 4BH$G+23B1 D 1H +H 6H 2$B+C143 +C$142B+C
21 P)3" C1KO 1 L C2 KO 2 L T'5) E 1 E 2
E 1H 2HH 21H 1H$HHHHHH 2HH$HHHHHH @ 1H +HH +1H 24$2B+C14 4B+$C142B6 T'5) 1HHH 2HHHH 21HHH T(42( $C- CB2'12# d V(2#"3 E38"(d#3 Ntense los siguientes hechos entre los valores observados y esperados: o El valor O 1 puede ser menor que el valor E 1 y el valor O 2 mayor que E 2 . (palabras A, C y F). o El valor O 1 puede ser igual que el valor E 1 y el valor O 2 igual que E 2 . (palabra E). o El valor O 1 puede ser mayor que el valor E 1 y el valor O 2 menor que E 2 . (palabras B y D). Ahora calculamos el Log-Likelihood con la formula (2-8). P)3" O1 O2 T'5) E1 E2 L'*ALi4#)i%''! A + +H ++ 2$61GH4B +2$3BHG+2 1$B142CH B + 2HH 2H+ G$C61GH+ 1G+$23BHG+ 2$G4B+24 C + +HH +H+ 24$H4C61G 4BH$G+23B1 23$133B+3 D 1H +H 6H 2$B+C143 +C$142B+C 11$CH212H E 1H 2HH 21H 1H$HHHHHH 2HH$HHHHHH H$HHHHHH @ 1H +HH +1H 24$2B+C14 4B+$C142B6 11$2414C3 T'5) 1HHH 2HHHH 21HHH T(42( $C4 CB2'12# d L#7CL&D2&E##d Ntense los siguientes hechos: o Los valores de log-likelihood siempre son valores positivos. o Las palabras F y D tienen un valor de Log-Likelihood similar a pesar de que sus valores observados y esperados son muy distintos.
22 La palabra D debera de tener un Log-Likelihood superior a la palabra F y la palabra E debera de tener un Log-Likelihood superior a la palabra F; por lo tanto la palabra F debera de tener un valor negativo. o Para hacer este ajuste, debemos de hacer el clculo de las frecuencias relativas, es decir, aplicar la frmula (2-1): C'"p,s 1 C'"p,s 2 T'5) @R1 @R2 @"#-,#2-i !# ,2 P)3" 3 O3 KP-L Q 1HH K3P!L Q 1HH @"#-,#2-i !# '5"s p)3"s -A !A3 -O!AA3 T'5) - ! -O! T(42( $C* A513) (2 'B2'12# d L#7CL&D2&E##d Si la frecuencia relativa es mayor en el corpus 2, indica un mayor porcentaje de uso en el corpus 2, es decir, es menos relevante en el corpus de dominio, en este caso, el valor se multiplica por (-1) para que no aparezca como relevante en el dominio. $.1.4 Md&d(3 d S&0&2("&d(d La medida de similaridad se define usualmente por proximidad en un espacio multidimensional (Cimiano, 2006). La formula de las medidas ms utilizadas son: $.1.4.1 Md&d(3 d 3&0&2("&d(d B&!("&(3 Las medidas ms conocidas para asignar similaridad entre vectores binarios, por ejemplo, conteniendo slo valores entre 0 y 1, son el coeficiente de DICE y el coeficiente de Jaccard.
23 2.1.4.1.1 2.1.4.1.1 2.1.4.1.1 2.1.4.1.1 Coeficiente de DICE Coeficiente de DICE Coeficiente de DICE Coeficiente de DICE
F="012( @,A '#:&'&!) d DICE 2.1.4.1.2 2.1.4.1.2 2.1.4.1.2 2.1.4.1.2 Coeficiente de Jaccard Coeficiente de Jaccard Coeficiente de Jaccard Coeficiente de Jaccard
F="012( @1%A C#:&'&!) d G(''("d $.1.4.$ Md&d(3 d 3&0&2("&d(d G#0?)"&'(3 La medida de similaridad geomtrica que utilizaremos en esta tesis es el coseno del ngulo entre 2 vectores, es del rango de 1 para vectores que apuntan en la misma direccin, hasta -1 para vectores que apuntan en la direccin opuesta, en aplicaciones de minera de textos, donde las dimensiones de los vectores corresponden a conteos de frecuencias de palabras, los vectores nunca apuntan en direccin opuesta. Las medidas de similaridad geomtricas ms conocidas son: 2.1.4.2.1 2.1.4.2.1 2.1.4.2.1 2.1.4.2.1 Distancia Euclidiana: Distancia Euclidiana: Distancia Euclidiana: Distancia Euclidiana:
F="012( @11A D&3)(!'&( E1'2&d&(!(
24 2.1.4.2.2 2.1.4.2.2 2.1.4.2.2 2.1.4.2.2 Distancia Distancia Distancia Distancia Manhattan: Manhattan: Manhattan: Manhattan:
F="012( @1$A D&3)(!'&( M(!E())(! 2.1.4.2.3 2.1.4.2.3 2.1.4.2.3 2.1.4.2.3 Distancia Distancia Distancia Distancia Minkowski Minkowski Minkowski Minkowski: :: :
F="012( @1-A D&3)(!'&( M&!D#;3D& Donde, si q = 1 estamos hablando de la distancia Manhattan y si q = 2 entonces estamos hablando de la distancia Euclidiana. 2.1.4.2.4 2.1.4.2.4 2.1.4.2.4 2.1.4.2.4 Similaridad Similaridad Similaridad Similaridad por Coseno por Coseno por Coseno por Coseno
F="012( @14A D&3)(!'&( 8#" '#3!# $.1.* C213)"&!7 El Agrupamiento, o Clustering, es el proceso de agrupar datos en clases (clsteres) de manera que los elementos de un clster tengan una similaridad alta entre ellos, y baja similaridad con objetos de otros clsteres. La medida de similaridad est basada en los atributos que describen a los objetos. En nuestro caso, la medida de similaridad est basada en las ocurrencias de cada trmino en los diferentes documentos del corpus de dominio.
2+ Existen muchos algoritmos de clustering, he aqu dos de ellos: o Mtodos basados en particiones: En estos mtodos se construyen k particiones del conjunto de datos, donde cada particin representa un grupo o clster. Cada grupo tiene como mnimo un elemento (centro) y cada elemento pertenece a un solo clster. Estos mtodos, crean una particin inicial e iteran hasta un criterio de paro. Los ms populares son k-means y k-medoids. o Mtodos jerrquicos: crean descomposiciones jerrquicas. Y existen de 2 tipos: o El mtodo aglomerativo o bottom-up, empieza con un grupo por cada objeto y une los grupos ms parecidos hasta llegar a un solo grupo u otro criterio de paro. o El mtodo divisorio o top-down, empieza con un solo grupo y lo divide en grupos ms pequeos hasta llegar a grupos de un solo elemento u otro criterio de paro. Para los fines de esta tesis elegimos el algoritmo k-means que es del tipo de algoritmos de agrupamiento basado en particiones. $.1.*.1 KC0(!3 Su funcionamiento es el siguiente (MacQueen, 1967): Toma como parmetro k que es el nmero de clsteres que forma. Selecciona k elementos aleatoriamente, los cuales representan el centro o media de cada clster. A cada objeto restante se asigna al clster con el cual ms se parece, basndose en una medida de similaridad entre el objeto y la media del clster.
26 Despus se calcula el nuevo centro del clster y se itera hasta no cambiar de centro. Selecciona k objetos aleatoriamente Repetir Reasigna cada elemento al clster ms similar Actualiza el valor de las medias de los clsteres Hasta no hay cambio T(42( $C+ A27#"&)0# KCM(!3 2$2 Simi)i5,! !is5"i3,-i'2) En la similitud distribucional una palabra puede ser representada por un vector de coocurrencia, en donde cada entrada corresponde a otra palabra. El valor de una entrada especifica la frecuencia de la ocurrencia de las dos palabras en el corpus, es decir, la frecuencia en la cual ellas coocurren con alguna relacin particular en el texto. El grado de similaridad entre un par de palabras es computado por alguna similaridad o medida de distancia en que es aplicada al correspondiente par de vectores. Tomaremos esta similaridad para crear una ontologa. 2$3 D#(i2i-i>2 !# '25')'*9 En la documentacin consultada para esta tesis la definicin ms utilizada es la de Gruber, quien en su definicin corta de ontologa dice que una ontologa es una especificacin explicita de una conceptualizacin (Gruber, 1993). Donde una conceptualizacin es una abstraccin, una visin simplificada del mundo que deseamos representar para algn propsito. Esto es; una ontologa es una descripcin de los conceptos y relaciones que pueden existir entre un agente o una comunidad de agentes. En wikipedia. Se define el trmino ontologa (en informtica) como a la formulacin de un exhaustivo y riguroso esquema conceptual dentro de un dominio dado, con la
2C finalidad de facilitar la comunicacin y la comparticin de la informacin entre diferentes sistemas. Una ontologa define los trminos a utilizar para describir y representar un rea de conocimiento. Las ontologas incluyen definiciones de conceptos bsicos del dominio, y las relaciones entre ellos, que son tiles para los ordenadores. Se usa la palabra "dominio" para denotar un rea especfica de inters o un rea de conocimiento. Las ontologas consisten de trminos, sus definiciones y axiomas que los relacionan con otros trminos que estn organizados en una taxonoma. Estos axiomas permiten realizar bsquedas con inferencias. Las ontologas definen conceptos y relaciones de algn dominio, de forma compartida y consensuada; y esta conceptualizacin debe ser representada de una manera formal, legible y utilizable por las computadoras. Para El Consorcio World Wide Web (W3C), una ontologa define los trminos que se usan para describir y representar un cierto dominio. Uso la palabra "dominio" para denotar un rea especfica de inters o un rea de conocimiento. Las ontologas que desarrollaremos en esta tesis abarcan las palabras clave de un dominio dado, y un grado de similaridad entre ellas. $.-.1 R(<#!3 8("( d3(""#22(" d&''&#!(" 30B!)&'#3 Hay varias razones para desarrollar diccionarios semnticos. Para tener una mejor comprensin de algn rea del conocimiento. Para que otros comprendan algn rea del conocimiento. Para hacer consensos en la interpretacin del conocimiento. Para permitir que las mquinas utilicen el conocimiento en alguna aplicacin.
2B Para permitir el intercambio de conocimiento entre las mquinas. $.-.$ U3#3 d 2#3 d&''&#!(" 30B!)&'#3 Los diccionarios semnticos tienen diferentes usos, entre ellos podemos mencionar los siguientes: Favorecer la comunicacin entre personas, organizaciones y aplicaciones, porque proporcionan una comprensin comn de un dominio, de modo que se eliminan confusiones conceptuales y terminolgicas. Lograr la interoperabilidad entre sistemas informticos. Razonar automticamente. Partiendo de unas reglas de inferencia, un motor de razonamiento puede usar los datos de los diccionarios semnticos para inferir conclusiones de ellos. Entender cmo diferentes sistemas comparten informacin. Descubrir ciertas distorsiones presentes en los procesos de aprendizaje en un mismo contexto. Formar patrones para el desarrollo de Sistemas de Informacin. Por lo tanto, el uso de diccionarios semnticos en el desarrollo de Sistemas de Informacin permite establecer correspondencia y relaciones entre los diferentes dominios de entidades de informacin. $.-.- O45)&6#3 d 2#3 d&''&#!(" 30B!)&'#3 Se puede decir de los diccionarios semnticos que tienen los siguientes objetivos principales: Compartir la comprensin comn de la estructura de informacin entre personas o agentes de software, lo que debe revertir de forma positiva y casi necesaria en la
2G extraccin y recuperacin de informacin, en pginas web, de contenidos conectados temticamente. Permitir la reutilizacin del conocimiento perteneciente a un dominio. Por ejemplo, a la hora de iniciar la elaboracin de una ontologa. Permite hacer explcitos los supuestos de un dominio. Esta aseveracin puede conducir a conclusiones muy interesantes para la representacin del conocimiento ms all de consideraciones tcnicas, operativas e informticas. Separa el conocimiento de un dominio del conocimiento que se puede denominar operacional. Con esto se alude a que, en ocasiones, el conocimiento que se est representando se puede implicar en diferentes reas al pertenecer ms a un conocimiento relacionado con procesos. Hace posible analizar el conocimiento de un campo, por ejemplo en lo que se refiere al estudio de los trminos y relaciones que lo configuran ya sea formalmente o no. $.-.4 ONTOLOGASH D3'"&8'&=! G!"(2. En este apartado se explica muy brevemente una tecnologa imprescindible para conseguir la Web Semntica: las ontologas. Con las ontologas, los usuarios organizan la informacin de manera que los agentes de software podrn interpretar el significado y, por tanto, podrn buscar e integrar datos mucho mejor que ahora. Con el conocimiento almacenado en las ontologas, las aplicaciones podrn extraer automticamente datos de las pginas web, procesarlos y sacar conclusiones de ellos, as como tomar decisiones y negociar con otros agentes o personas. Por ejemplo: mediante las ontologas, un agente encargado de comprar viviendas se podr comunicar con agentes hipotecarios (de entidades bancarias) y con agentes inmobiliarios (de empresas constructoras e inmobiliarias).
3H Las ontologas proceden del campo de la Inteligencia Artificial; especifican vocabularios comunes para las personas y aplicaciones que trabajan en un dominio. Toda ontologa representa cierta visin del mundo con respecto a un dominio. Cualquier persona tiene en su cabeza ontologas mediante las que representa y entiende el mundo que lo rodea. Estas ontologas no son explcitas, en el sentido de que no se detallan en un documento ni se organizan de forma jerrquica o matemtica. Las mquinas carecen de las ontologas con las que nosotros contamos para entender el mundo y comunicarse entre ellas; por eso necesitan ontologas explcitas. Las ontologas explcitas se pueden expresar de muchas maneras. Como mnimo, deben incluir un vocabulario de trminos, con la definicin de cada uno. Las ontologas sencillas suelen representarse como una jerarqua de conceptos relacionados y ordenados. 2$4 T"3&'s -5,)#s s'3"# *#2#"-i>2 !# '25')'*9s Existen algunos trabajos sobre la generacin de diccionarios semnticos. Bsicamente existen 3 tipos de generacin de ontologas. $.4.1 G!"('&=! 0(!1(2 d #!)#2#79(3 Este tipo de generacin de ontologas resulta ser muy caro en cuanto a recursos, ya que para generar una ontologa manualmente es necesario contar con uno o varios expertos en el dominio donde se pretende generar la ontologa, estos expertos tambin deben conocer los lenguajes de definicin de ontologas y saber utilizar las herramientas para la construccin de diccionarios semnticos (Guarino, 1997).
31 $.4.1.1 H""(0&!)(3 En los ltimos aos han aparecido muchos entornos para la construccin de ontologas. Estas se organizan en las siguientes categoras (Asuncion, 2002): Desarrollo de ontologas. Evaluacin de ontologas. Combinacin e integracin de ontologas. Herramientas de anotacin basadas en ontologas. Almacenamiento y consulta de ontologas Aprendizaje sobre ontologas. Dentro del primer grupo de herramientas (Desarrollo de ontologas) las mas importantes son las siguientes: 2.4.1.1.1 2.4.1.1.1 2.4.1.1.1 2.4.1.1.1 Ontolingua Ontolingua Ontolingua Ontolingua Esta herramienta fue creada por el Knowledge Software Laboratory (KSL) de la Universidad de Stanford, OntoLingua provee de un medio ambiente para buscar, crear, editar, modificar, y usar ontologas. Soporta ms de 150 usuarios activos (Sitio web de Stanford). Tambin incluye una API para integrar ontologas del servidor con agentes preparados para internet. 2.4.1.1.2 2.4.1.1.2 2.4.1.1.2 2.4.1.1.2 Protg Protg Protg Protg Protg es una plataforma de cdigo abierto y libre que proporciona herramientas para construir diccionarios semnticos a partir de modelos de un dominio, para aplicaciones basadas en conocimiento (Sitio web de Protege). Protg implementa un gran conjunto de estructuras para el modelamiento del conocimiento que soportan la creacin, visualizacin, y manipulacin de diccionarios semnticos
32 representndolos en varios formatos. Adems, Protg puede ser extendido por medio de una arquitectura de plug-ins y una interfaz de programacin de aplicaciones basada en Java, para la construccin de herramientas y aplicaciones. Protg soporta dos maneras de modelar diccionarios semnticos: el editor Protg-Frames y el editor Protg-OWL. El primero permite construir diccionarios semnticos basados en frames o estructuras de modelamiento, de acuerdo con el protocolo abierto de conectividad basado en conocimiento OKBC (Open Knowledge Base Connectivity). El segundo permite construir los diccionarios semnticos para la Web Semntica, en particular en el lenguaje de Ontologas Web OWL (Ontology Web Language) de la W3C (World Wide Web Consortium). El Editor Protg-OWL permite: Cargar y guardar diccionarios semnticos OWL. Editar y visualizar clases, propiedades y reglas. Definir caractersticas de clases lgicas como expresiones OWL. Ejecutar razonadores como clasificadores lgicos de descripcin. $.4.1.$ L!71(53 2.4.1.2.1 2.4.1.2.1 2.4.1.2.1 2.4.1.2.1 OWL OWL OWL OWL Este lenguaje de definicin de diccionarios semnticos fue creado por el World Wide Web Consortium (W3C), OWL (Lenguaje de ontologas Web) est diseado para usarse en aplicaciones que necesitan procesar el contenido de la informacin en lugar de la simple presentacin de informacin para los humanos (sitio web de W3C). OWL facilita la interpretacin de contenido web a maquinas que soportan XML, RDF y RDF-Shema (RDF-S) dndole un vocabulario adicional con una semntica formal. OWL cuenta con 3 sub-lenguajes: OWL Lite, OWL DL y OWL Full.
33 OWL es un lenguaje para representar el conocimiento de manera descriptiva, basado en lgica. OWL nos permite definir un diccionario semntico expresndose en lenguaje XML (Sitio web de OWL). Un diccionario semntico OWL puede incluir clases, propiedades y sus instancias. La semntica formal de OWL especifica como derivar sus consecuencias lgicas. Por ejemplo, hechos no presentados literalmente en el diccionario semntico, pero detallada en la semntica, estos detalles pueden estar en un solo documento, o en mltiples documentos que fueron combinados usando mecanismos definidos con OWL. $.4.1.- M)#d#2#79(3 d '#!3)"1''&=! Existen tambin muchas metodologas de desarrollo que los expertos en ontologas deben conocer para desarrollar eficientemente una ontologa. Mencionaremos algunas. 2.4.1.3.1 2.4.1.3.1 2.4.1.3.1 2.4.1.3.1 TOVE (Tor TOVE (Tor TOVE (Tor TOVE (Toronto Virtual Enterprise) onto Virtual Enterprise) onto Virtual Enterprise) onto Virtual Enterprise) Esta metodologa est inspirada en el desarrollo de sistemas basados en conocimiento usando el Primer Orden Lgico (Grninger & Fox, 1995). Se propone que se sigan lo siguientes pasos: 1. Identificar intuitivamente los principales escenarios de uso, es decir, posibles aplicaciones donde se usar la ontologa. 2. Identificar un conjunto de preguntas en lenguaje natural (llamadas preguntas de aptitud), que sern usadas para determinar el alcance de la ontologa. 3. Estas preguntas y sus respuestas son usadas para extraer los conceptos principales y sus propiedades, relaciones y axiomas en la ontologa.
34 4. Definir las definiciones y limitaciones en la terminologa, de ser posible. Las especificaciones son representadas en Primer Orden Lgico e implementadas en Prolog. 5. Probar la competencia de la ontologa generando teoremas de integridad con respecto a las preguntas de aptitud. 2.4.1.3.2 2.4.1.3.2 2.4.1.3.2 2.4.1.3.2 Methontology Methontology Methontology Methontology Methontology es una metodologa creada en el Laboratorio de Inteligencia Artificial de la Universidad Tcnica de Madrid. La creacin de la ontologa puede empezar desde cero o en base a la reutilizacin de otras existentes. Methontology incluye la identificacin del proceso de desarrollo de la ontologa (calendario, control, aseguramiento de calidad, adquisicin de conocimiento), un ciclo de vida basado en la evolucin de prototipos, para lo cual se sigue -los pasos definidos en el estndar IEEE 1074 de desarrollo de software (Corcho, Fernndez-Lpez, & Gmez-Prez, 2003): que son: Especificacin.- Definir el alcance y granularidad de la ontologa. Conceptualizacin.- Permite organizar y estructurar el conocimiento adquirido mediante tablas, lenguaje UML, jerarquas etc. Implementacin.- Representa la formalizacin de la ontologa; es decir pasar la conceptualizacin de la ontologa a un lenguaje como RDF, OWL, etc. Evaluacin.- Comprobar el funcionamiento de la ontologa. 2.4.1.3.3 2.4.1.3.3 2.4.1.3.3 2.4.1.3.3 Otras metodologas Otras metodologas Otras metodologas Otras metodologas Las reglas generales para el diseo de ontologas pueden ser las siguientes (Noy & McGuinness, 2000):
3+ 1. No existe una manera correcta de modelar un dominio, siempre hay varias alternativas, la mejor solucin siempre depende en cmo se va a usar la ontologa. 2. El desarrollo de ontologas es un necesariamente un proceso iterativo. 3. Los conceptos en la ontologa deben ser objetos (fsicos o lgicos) cercanos a las relaciones en el dominio de inters. Los conceptos pueden ser sustantivos y las relaciones verbos, en oraciones que describan el dominio. Y los pasos generales para generar las ontologas pueden ser los siguientes (Noy & McGuinness, 2000): 1. Determinar el dominio y alcance de la ontologa. 2. Considerar reutilizar ontologas. 3. Enumerar los trminos importantes en la ontologa. 4. Definir las clases y las jerarquas de clases. 5. Definir las propiedades de las clases. 6. Definir la cardinalidad de las propiedades. 7. Crear instancias. $.4.$ G!"('&=! 30&(1)#0B)&'( d #!)#2#79(3. Existen varios trabajos sobre generacin semiautomtica de diccionarios semnticos, en este apartado mencionaremos algunos. $.4.$.1 T>)C)#CO!)# Soporta la creacin de semiautomtica de diccionarios semnticos usando algoritmos de minera de textos (Sitio de TexttoOnto). Extrae las estructuras
36 conceptuales usando la frecuencia de trminos del texto, la jerarqua de conceptos es extrada usando unos algoritmos de agrupacin jerrquica y las relaciones no taxonmicas son extradas usando algoritmos de minera de asociacin de reglas. Este sistema requiere la verificacin del usuario en cada etapa del proceso de extraccin de ontologas. Este trabajo funciona con textos escritos en alemn. $.4.$.$ H(3)& Opera de modo cooperativo y no supervisado. En el modo cooperativo el usuario decide la seleccin o rechazo en cada etapa del proceso. Por ejemplo: el usuario tiene que seleccionar conceptos de los candidatos. En el modo no supervisado el sistema automticamente selecciona cada componente de la ontologa. Inicialmente acepta unos cuantos conceptos y relaciones taxonmicas como elementos centrales y posteriormente extiende estas semillas agregando ms conceptos. Este trabajo funciona con textos escritos en persa. $.4.- G!"('&=! (1)#0B)&'( d #!)#2#79(3 $.4.-.1 M?)#d# d P1!1"1. Punuru J., desarrolla un conjunto de tcnicas para la extraccin automtica de componentes ontolgicos de textos de un dominio. Estas tcnicas combinan bases de conocimientos lxicos como WordNet, estadsticas y heursticas, procesamiento de texto entre otros mtodos de adquisicin de conocimiento. Estos mtodos son independientes del dominio en el que se est trabajando y extrae cada componente automticamente. En su trabajo una frase es considerada como relevante si alguna o todas las palabras estn en la lista inicial de trminos. Dependiendo de la cantidad de sentidos (segn WordNet) de un trmino, entre menor sea esa cantidad el trmino pertenece ms al dominio. Si ya se encontr una frase que pertenece al dominio, todas las que tengan la misma palabra de terminacin tambin se considera del dominio. Si ya se encontr una frase que
3C pertenece al dominio todas las frases que tengan una o ms palabras de esta frase tambin se consideran del dominio. Una palabra tiene varios sentidos o significados dependiendo el contexto. $.4.-.$ O!)#L("! Es un mtodo de extensin de ontologas basado en minera de textos y tcnicas de aprendizaje automatico. OntoLearn empieza con una ontologa genrica existente como WordNet u otras, y un conjunto de documentos de un dominio dado. Produce una extensin de la ontologa original pero aplicada al dominio dado (Gmez-Prez, Fernandez-Lpez, & Corcho, 2004).
3B - MTODO PROPUESTO 3$1 A"R,i5#-5," !#) m?5'!' p"'p,#s5' El mtodo que proponemos en esta tesis consta de 3 fases, tal como se muestra en el siguiente diagrama.
F&71"( 1 D&(7"(0( d2 0?)#d# 8"#813)#
3G La arquitectura del mtodo propuesto es la siguiente: Se toma como entrada al sistema el corpus de un dominio. Siendo un corpus una serie de documentos referentes a un dominio en particular. A este corpus se le hace un pre-procesamiento, en el cual hacemos un anlisis morfolgico, es decir, se obtiene la informacin gramatical de las palabras, luego se eliminan las palabras denominadas stopwords, es decir, palabras que no incluyen informacin al ningn dominio, y a las palabras restantes les hacemos una lematizacin, por ejemplo, las palabras, trabaja, trabajamos, trabaj, en su informacin gramatical tienen como lema a la palabra trabajar, as que al momento de hacer los conteos de frecuencias, estas palabras solo a cuentan a la palabra trabajar. Con base con las frecuencias de las palabras lematizadas, hacemos unos clculos y comparaciones con un corpus general previamente pre-procesado, para encontrar los trminos relevantes en el dominio dado. Estos trminos, los agrupamos en clsteres, donde los trminos pertenecientes a un clster tienen alta similaridad y los trminos tienen baja similaridad con trminos de otros clsteres. 3$2 P"#p"'-#smi#25' La fase de pre-procesamiento es el proceso de extraer los trminos que contienen significado para el dominio dado, y se hace un conteo de frecuencias mientras leemos los archivos de entrada. En este proceso se reformatea y se filtra la informacin para hacer un mejor anlisis estadstico. Para los fines de esta tesis tomaremos en cuenta las siguientes restricciones para el anlisis de textos: No se toman en cuenta los nmeros, y marcas de puntuacin.
4H Los signos de puntuacin al final de una palabra se deben eliminar, por ejemplo: cuando en el texto se encuentre procesador, solo tomar en cuenta procesador. No se toman en cuenta las letras en maysculas, es decir, todo el texto ser cambiado a minsculas. Por ejemplo: Procesador ser transformado en procesador. Se eliminan las palabras que no aportan informacin para un dominio, tales como artculos, preposiciones, etc. Se hace el conteo de frecuencias en base a las palabras con el mismo lema (lematizacin) de modo que palabras como trabaja, trabajar, trabajamos, suman a la frecuencia de la palabra trabajar. Al finalizar esta fase tenemos una tabla conteniendo, para cada palabra lematizada, su frecuencia por documento (Term Frecuency). P)3" D'-,m#25' @"#-,#2-i s'(5<"# 14 3 s'(5<"# 16 3 s'(5<"# 2H 12 s'(5<"# 21 6 s'(5<"# 24 C s'(5<"# 2+ 1 s'(5<"# 2B 2 s'(5<"# 3H 3 s'(5<"# 31 1 s'(5<"# 33 1 s'(5<"# 3+ 1 s'(5<"# 3B 1 s'(5<"# 3G 2
41 s'(5<"# 41 + s'(5<"# 42 2 s'(5<"# 43 1 s'(5<"# 4+ 2 s'(5<"# 4C 64 s'(5<"# 4B 4 s'(5<"# 4G 3 s'(5<"# +H 1 s'(5<"# +2 2 s'(5<"# +4 2 T(42( -C1 F"(70!)# d 2( )(42( d F"'1!'&(3 En la tabla 3-1 se muestra un fragmento de la tabla de frecuencias del Corpus de dominio en informtica, donde se puede apreciar que la palabra software no est contenida en todos los documentos y que en algunos documentos aparece varias veces. 3$3 E15"--i>2 !# -'2-#p5's El trabajo de preprocesamiento se aplica a 2 corpus, uno general y otro de dominio, para tener informacin estadstica de frecuencias de palabras cuando el corpus es un corpus de manera general (tal como se habla normalmente), y frecuencias de palabras cuando el corpus es referente a un dominio (tal como hablan los expertos en un domino especifico). La idea de los 2 corpus es debido a que en un documento informal o en una pltica normal, se utiliza un vocabulario distinto que cuando se est escribiendo un documento de un tema especfico, o se est impartiendo una conferencia. Con esta informacin estadstica se obtienen frecuencias de palabras y se aplica el algoritmo de likelihood explicado en el captulo 2.
42 P)3" @"#-$ D'mi2i' @"#-$ G#2#") @"#-$ E$ D'mi2i' @"#-$ E$ G#2#") L'*ALi4#)i%''! s'-4#5 1 H H$H1H2B6C44 H$GBGC132+2 G$1+3CGB1H3 s'(is5i-!' + 16G 1$CBGBG3+HB 1C2$21H113+ 3$G12CGB4H+ s'(5 1 12 H$133C2C6C 12$B662C1GC 2$3+1H3+11B s'(5<"# 43H B31 12$GC1+B432 124B$H2B442 2334$G611B2 s'(5<"#s 2 1 H$H3HB6H232 2$G6G13GB14 14$+HG1G1+1 s'(<"# 2 2 H$H41146GC+ 3$G+BB+3HH6 12$BH3CCG6 s') 2 G33 G$61B1H+BBB G2+$3B1BGC AG$H166BC3G3 s')m#25# 2H 1C14 1C$B3C213+2 1C16$162B42 H$2+4B46+C3 T(42( -C$ F"(70!)# d 2( )(42( d 'B2'12# d L#7CL&D2&E##d En la tabla 3-2 se muestra un conjunto de palabras, con los clculos correspondientes para el dominio de informtica. Donde: El campo Frec. Dominio y Frec. General son las frecuencias observadas (Term Frecuency) de una palabra en el corpus de dominio y en el Corpus General respectivamente. El campo Frec. E. Dominio y Frec. E. General son las frecuencias esperadas de una palabra en el corpus de dominio y en el Corpus General respectivamente. Estos valores fueron calculados con las siguientes frmulas: Y F="012( @1*A CB2'12# d F"'1!'&( 38"(d(
Donde: E d y E g son los valores esperados en el corpus de dominio y en el corpus General respectivamente.
43 c y d es el total de palabras en el corpus de dominio y en el corpus General respectivamente. a y b es la Frecuencia (Term Frecuency) de la palabra en el corpus de Dominio y en el corpus General respectivamente. El campo Log-Likelihood es la ponderacin obtenida al aplicar la formula de Log-Likelihood.
F="012( @1+A C(2'12# d L#7CL&D2&E##d
Donde: E d y E g son los valores esperados en el corpus de Dominio y en el corpus General respectivamente. a y b es la Frecuencia (Term Frecuency) de la palabra en el corpus de Dominio y en el corpus General respectivamente. Ntese que en la tabla 3-2 la palabra software tiene un Log-Likelihood de 2334.3961182, la palabra sol tiene un log-Likelihood de -9.01668793, es decir las palabras muy relacionadas al dominio, resultan con una ponderacin alta. La palabra sofware" que est mal escrita tambin tiene su propia ponderacin, esto refleja el hecho de que este mtodo es sensible a faltas de ortografa y a la mala eleccin de los elementos del corpus. 3$4 M#!i!s !# simi)"i!! La medida de similaridad utilizada en esta tesis es la similaridad por coseno del ngulo. Esta medida de similaridad la utilizaremos al momento de hacer el clustering. En la documentacin revisada en el estado del arte, la medida de
44 similaridad es una matriz cuadrada, donde estn todas las palabras y en la diagonal todos los valores son 1, porque es donde se intersectan una palabra con ella misma. Para esta tesis simulamos esta matriz con una tabla con 3 campos, donde los primeros 2 campos son de palabras y el ultimo campo es el valor de la similaridad entre estas 2 palabras, calculando en base a las frecuencias en el corpus de dominio. Utilizando la siguiente frmula:
F="012( @1FA D&3)(!'&( 8#" '#3!# Donde: n es la cantidad de documentos en el dominio. x i es la frecuencia de la palabra x en el documento i. y i es la frecuencia de la palabra y en el documento i.
4+ S'(5<"# 3s" H$11G S'(5<"# 3i'i2('"mF5i- H$HC3 S'(5<"# -F)-,)' H$H++ S'(5<"# -"-5#"9s5i- H$22H S'(5<"# -i#2-i H$HC1 S'(5<"# -i"-,i5' H$H1B S'(5<"# ->!i*' H$C+G S'(5<"# -'mpi)!'" H$1B+ S'(5<"# -'mp'2#25# H$1C1 T(42( -C- F"(70!)# d 2( )(42( d S&0&2("&d(d !)" 8(2(4"(3 @8#" #"d! (2:(4?)&'#A En la tabla (3-4) se aprecia la similaridad por coseno del ngulo entre la palabra software y otras del dominio de informtica, se observa que entre software y cdigo es de 0.759238513 y entre software y bioinformtica es de slo 0.073920062. 3$+ A*",pmi#25'$ El mtodo utilizado en esta tesis para agrupar los trminos, es el llamado algoritmo k-means. Este algoritmo recibe como parmetro un numero k, que es la cantidad de grupos que se obtendrn al final del algoritmo. El procedimiento es el siguiente: Elegimos k trminos como centro de los k clster. Cada trmino restante es asignado al clster cuyo centro tenga un mayor ndice de similaridad con ste trmino (Vase apartado anterior). Se hace un reajuste para encontrar el nuevo centro del clster. Se repiten los 2 pasos anteriores hasta que el centro no cambie.
46 Al final se obtienen clsteres con la siguiente estructura: C#25"' E)#m#25's Simi)"i!! -'2 #) C#25"' !#s-"i3i" describir solucionar(0.72958144294236), arquitectura(0.530256444275185), matemtica(0.509922398646436), interfaces(0.449127543840738), patrn(0.439137655344973), disear(0.427533841333521), patrona(0.367712282463181), diseador(0.335131368552743), 1
T(42( -C4 F"(70!)# d (271!#3 '2I3)"3 d2 d#0&!&# d &!:#"0B)&'(.
4B 4 EXPERIMENTOS / RESULTADOS 4$1 E1p#"im#25' 1: 4.1.1 D3'"&8'&=! Para este experimento se utilizaron los siguientes corpus: Corpus de comparacin: son las noticias del peridico Exclsior, 247 archivos, con 11, 936,114 palabras en total. Corpus de dominio: utilizamos algunas pginas de wikipedia relacionadas al rea de informtica, tales como, informtica, software, programacin, etc. Son 72 archivos con 142,132 palabras. Por lo tanto, el diccionario semntico resultante ser para el dominio de Informtica.
4.1.$ R312)(d#3 En la segunda fase, la de extraccin de trminos, los 15 trminos ms relevantes del dominio de informtica, y su respectiva ponderacin con el algoritmo log- likelihood, fueron los siguientes. P)3" L'*A)i4#)i%''! D5' 2+43 Sis5#m 234+ S'(5<"# 22CG C'mp,5!'" 1C13 L#2*,&# 143B MR,i2 13C1
+H 4$2 E1p#"im#25' 2: 4.$.1 D3'"&8'&=! Para este experimento se utilizaron los siguientes corpus: Corpus de comparacin: son las noticias del peridico Exclsior, 39 archivos, con 1,365, 991 palabras en total. Corpus de dominio: utilizamos algunas pginas de wikipedia relacionadas al rea de informtica, tales como, informtica, software, programacin, etc. Son 26 archivos con 44, 495 palabras. Por lo tanto, el diccionario semntico resultante ser para el dominio de Informtica. Se toma el dominio de informtica porque el autor de esta tesis es el tema que ms domina, para que al momento de evaluar el mtodo, esto sea ms sencillo. Pero se puede tomar cualquier otro conjunto de textos de otros dominios. 4.$.$ C#!:&71"('&=! L -'2(i*,"-i>2 p" #s5# #1p#"im#25' (,# ) si*,i#25#: E25"!: 26 "-%i/'s !#) F"# !# i2('"mF5i- 5'm!'s !# <i4ip#!iS R,# ('"m"'2 #) -'"p,s !# !'mi2i'$ 3G "-%i/'s 5'm!'s !# )s 2'5i-is !#) p#"i>!i-' E1-?)si'"S R,# ('"m"'2 #) -'"p,s *#2#") C'2-#p5's: S# 5'm"'2 s>)' )'s 4HH -'2-#p5's m#&'" p'2!#"!'s p'" #) )*'"i5m' L'*A)i4#)i%''! C)Us5#"#s: #) )*'"i5m' 4Am#2s (,# -'2(i*,"!' p" p"'p'"-i'2" 1G -)Us5#"#s -'2 )'s -'2-#p5's s#)#--i'2!'s$ 4.$.- P#!d"('&=! 8#" 2#7C2&D2&E##d En la segunda fase, la de extraccin de trminos, obtuvimos 400 trminos relacionados con el rea de informtica al ordenarlos por la ponderacin obtenida con el mtodo log-likelihood de mayor a menor, listarlos todos abarca mucho
+1 espacio, por esta razn la tabla 4-3 slo muestra los 15 trminos ms relevantes del dominio de informtica, y su respectiva ponderacin con el algoritmo log-likelihood. Palabra Log-likelihood Dato 1506 Computador 863 Circuito 467 Memoria 384 Seal 372 Secuencia 353 Computacin 351 Informacin 346 Dispositivo 342 Algoritmos 341 Electrnico 322 Basar 319 Disear 307 Algoritmo 288 Utilizar 282 T(42( 4C- L#3 1* T?"0&!#3 0B3 "26(!)3 ! 2 d#0&!&# d &!:#"0B)&'( Al observa la tabla 4-3 y ver los resultados obtenidos, podemos observar que los trminos seleccionados estn relacionados al rea de informtica. 4.$.4 C213)"&<('&=! En la tercera fase, la extraccin de relaciones semnticas, aplicamos el algoritmo con los siguientes parmetros, una k de 19 para el algoritmo k-means, es decir 19 clsteres, y utilizando los 400 trminos extrados con el algoritmo log-likelihood, con estos parmetros se obtuvo los siguientes clsteres:
+2 Centro Elementos Similaridad con el Centro algoritmo algoritmo for algoritmos implementacin array implementar rbol 1 0.963 0.860 0.781 0.774 0.681 0.255 analgica analgica voltaje binario 1 0.849 0.472 as as if int integer pseudocdigo return vtemp diagrama descripcin turing end 1 1 1 1 1 1 1 0.981 0.946 0.894 0.801 b2b b2b business hosting cliente servidor internet to electrnico consistir 1 1 1 0.928 0.928 0.872 0.872 0.849 0.686
++ Centro Elementos Similaridad con el Centro conjunto conjunto notacin problema finito binaria complejidad np np-completo nmero tamao elemento coste lineal comnmente montculo 1 0.945 0.906 0.881 0.862 0.845 0.824 0.824 0.822 0.787 0.759 0.735 0.684 0.616 0.103 cdigo cdigo compilador compiladores lenguaje mquina programa compuesto 1 0.969 0.956 0.841 0.845 0.614 0.404 descifrar descifrar criptografa cifrar mtodo texto denominar 1 0.999 0.999 0.760 0.700 0.645
+6 Centro Elementos Similaridad con el Centro dimensin dimensin cubo espacial almacn marts metadato middleware warehouse data olap tabla operacional variable definicin especificar usuario poseer almacenar dato coleccin arquitectura registro 1 0.996 0.977 0.995 0.995 0.995 0.995 0.995 0.994 0.968 0.891 0.890 0.875 0.846 0.773 0.765 0.758 0.747 0.739 0.687 0.519 0.201 disear disear diseador objetar funcional procesar proceso 1 0.988 0.816 0.765 0.723 0.696 formato formato avi compresin especificacin formatos mov archivar vdeo audio archivo informtico codificar estndar 1 0.993 0.993 0.993 0.993 0.993 0.992 0.985 0.968 0.946 0.802 0.686 0.551
+C Centro Elementos Similaridad con el Centro perifrico perifrico mouse memoria cpu microprocesador disco ram procesador usb discar porttil tarjeta hardware monitor almacenamiento placa isbn dram pines celda procesamiento
+B Centro Elementos Similaridad con el Centro potencia potencia1 vlvula analgicos semiconductor corriente alternar analizador electrnica conmutacin elctrico sonido pila supercomputadoras 1 0.979 0.952 0.927 0.921 0.917 0.898 0.861 0.798 0.790 0.439 0.223 0.168
+G Centro Elementos Similaridad con el Centro red red1 principal artculo permitir utilizar vario aplicacin informacin travs tipo sistema ejemplo caracterstica interfaz forma gestin operativo acceder diferente basar contener operacin funcin clasificar ordenador ejecutar programador clculo modelar relacionales interfaces objeto relacional 1 0.876 0.872 0.864 0.855 0.849 0.833 0.801 0.797 0.785 0.781 0.759 0.746 0.730 0.725 0.724 0.716 0.714 0.713 0.682 0.673 0.663 0.656 0.618 0.614 0.569 0.56 0.552 0.548 0.516 0.461 0.434 0.406 rpido rpido acceso sencillo soportar web especfico central fiabilidad paralelismo 1 0.902 0.802 0.787 0.734 0.559 0.351 0.295 0.209
6H Centro Elementos Similaridad con el Centro seal seal transductores transductor impedancia filtrar conversin acondicionamiento convertidor daq adquisicin analgico conectar adaptacin frecuencia medir tensin sensores digital cable control fsica entrada medicin fsico salida normalmente bus datar 1 0.989 0.980 0.949 0.940 0.968 0.90 0.908 0.908 0.907 0.891 0.885 0.882 0.881 0.845 0.825 0.823 0.805 0.783 0.761 0.760 0.757 0.739 0.727 0.721 0.655 0.617 0.385 trmico trmico ci cpsula integration scale chip circuito chips integrar hbrido silicio reproductor amplificador fabricacin 1 0.980 0.980 0.980 0.980 0.942 0.921 0.921 0.919 0.895 0.891 0.815 0.784 0.778
61 T(42( 4C4 C2I3)"3 d 2( 8"14( $
62 * CONCLUSIONES +$1 C'2-),si'2#s Se presenta un sistema para la construccin automtica de diccionarios semnticos usando la similitud distribucional observada en los textos de un dominio. Este sistema construye diccionarios semnticos de un dominio en especfico con las siguientes caractersticas: Contiene los trminos ms utilizados dentro de ese dominio. Pondera la semejanza entre los trminos encontrados. Estos trminos estn agrupados en grupos con al menos un elemento, cuyos elementos tienen un alto grado de similitud. Estos trminos tienen baja similaridad con los trminos de otros clsteres.
Sustainable Hotels - Environmental Reporting According To Green Globe 21, Green Globes Canada / Gem Uk, Ihei Benchmarkhotel and Hilton Environmental Reporting