Experimental Evaluation
5.1 Test Collection Design
Las descripciones de servicios web son documentos técnicos que no solo contienen descripciones textuales, sino también definiciones de operaciones, tipos de paráme- tros y detalles de invocación. Para buscar en el espacio de documentos y encontrar la descripción adecuada para el usuario, estas descripciones deben transformarse en re- presentaciones matemáticas que permitan que los algoritmos de búsqueda funcionen.
2.3. REGISTROS DE SERVICIOS En general, los documentos se transforman en vectores de números reales que con- forman un Espacio Vectorial (VS) [Salton et al., 1975]. El método que se utiliza para transformar documentos en sus representaciones vectoriales definirá la efectividad y las capacidades del sistema de indexación. Las siguientes subsecciones describirán las técnicas más comunes que se utilizan para este propósito.
2.3.1.1. Modelo de espacio vectorial
VSM es una de las técnicas más sencillas y más utilizadas para recuperar documen- tos. VSM modela un espacio vectorial continuo en el que los documentos se ven como una colección de términos, mientras que cada dimensión del espacio corresponde a un término separado (generalmente palabras individuales). Por ejemplo, la Figura 2.5 representa un documento que contiene los términos "currency" y "exchange". Como re- sultado, los documentos que tienen contenidos similares se representan como vectores ubicados uno cerca de otro en el espacio vectorial, por lo tanto, la búsqueda de docu- mentos relacionados se traduce en la búsqueda de vecinos más cercanos en el espacio. VSM se puede dividir en dos pasos: creación del VS y comparación de documentos. Una de las técnicas más populares que permite crear representaciones vectoriales efec- tivas a partir de una colección de documentos es TF-IDF. TF-IDF involucra dos con- ceptos principales; frecuencia de término (Ecuación 2.1), que mide el número de veces que un término aparece en el documento, y frecuencia de documento inversa (Ecua- ción 2.2), que evalúa los términos según la cantidad de veces que aparecen en la to- talidad colección. Por un lado, esto hace que los términos comunes que usualmente aparecen muchas veces en el conjunto de documentos sean considerados menos im- portantes. Por otro lado, los términos que aparecen muchas veces en el documento pero son menos frecuentes en la colección se consideran relevantes, ya que probable- mente definen el contenido del documento. La ecuación 2.3 representa la fórmula final para calcular TF-IDF.
t f(t,d) =0,5+0,5∗ ft,d
max{ft0,d:t0∈d}
(2.1) , donde t es un término, d es un documento y ft,d es el número de veces que aparece
un término en el documento. id f(t,D) =log N | {d∈D:t∈d} | (2.2) , donde Nes el número total de documentos en el corpus yD es la colección de docu-
2.3. REGISTROS DE SERVICIOS Curr ency Exchange "currency exchange" Figura 2.5:Representación document 1 document 2 t t i j Figura 2.6:Comparación
Listado de código 2.1:Ejemplo bolsa de palabras
swagger p e t s t o r e simple p e t s t o r e example r e t u r n s a l l p e t s system u s e r a c c e s s t a g s t a g s f i l t e r l i m i t maximum numbers r e s u l t s r e t u r n pet response
mentos.
t f −id f =t f(t,d)∗id f(t,D) (2.3) Buscar documentos en un VS consiste en encontrar los vectores que son más similares a la consulta. La forma estándar de comparar vectores de documentos es utilizar la similitud de coseno. La Figura 2.6 representa dos vectores y su ángulo Ω, y la Ecua- ción 2.4 representa el cálculo de la similitud del coseno dados los dos vectores A y
B. Dado que todo la colección de documentos está representada en un VS, las consul- tas deben transformarse en vectores también. El vector que representa una consulta se compara con los vectores en el espacio (es decir, los servicios disponibles). Se recupera el servicio cuyo vector maximiza la proximidad espacial al vector de consulta.
similarity=cos(Ω) = A.B kAkkBk = n ∑ i=1 AiBi s n ∑ i=1 A2i s n ∑ i=1 B2i (2.4)
Como ejemplo, consideremos el servicio Swagger definido en la Figura 2.4. Después del paso de tokenización, se crea una bolsa de palabras que contiene todas las palabras relevantes menos las palabras vacías (Listado 2.1). Luego, se calcula el vocabulario y el vector TF-IDF que representa el servicio. En este caso, el vocabulario tiene un tamaño de 19 elementos (todas las palabras únicas). Esto significa que los vectores TF-IDF serán de 19 dimensiones para este caso específico. Cuando se agregan nuevos servicios al corpus, el vocabulario debe recalcularse y, por lo tanto, también los vectores TF-IDF. Si
2.3. REGISTROS DE SERVICIOS se agregan nuevas palabras al vocabulario, la dimensión de los vectores aumentará de tamaño.
2.3.1.2. Reducción de la dimensionalidad
A pesar de ser ampliamente utilizado, el modelo clásico de VSM solo considera las fre- cuencias de término para crear vectores de documentos. Esto hace que el VSM tenga un rendimiento deficiente cuando los términos de la consulta no están presentes en los documentos [Custis and Al-Kofahi, 2007]. El problema con la recuperación de docu- mentos que son relevantes para el usuario reside en descifrar las necesidades de los usuarios y en desarrollar técnicas que puedan encontrar el significado subyacente de las palabras, lo cual es clave para mejorar la capacidad de descubrimiento. Idealmente, diferentes palabras deberían estar directamente relacionadas con diferentes conceptos, como se muestra en la Figura 2.7. Desafortunadamente, los lenguajes naturales tienen múltiples palabras que están asociadas con los mismos conceptos que muestra la Figu- ra 2.8, ocultando el significado real o el concepto detrás de las palabras. Un intento de resolver este problema es LSA [Kontostathis and Pottenger, 2006], que funciona anali- zando la co-ocurrencia de palabras en los documentos. La idea proviene del hecho de que si dos palabras aparecen generalmente en el mismo contexto, probablemente esta- rán relacionadas. Por ejemplo, las palabras "moneda" y "dólar" generalmente aparecen en los documentos relacionados con las finanzas. Para hacer esto, LSA utiliza una téc- nica matemática conocida como Descomposición del valor singular (SVD) [Golub and Reinsch, 1970] que busca encontrar una factorización de la matriz original. Esta factori- zación se puede usar para reducir la dimensionalidad de la matriz original al elegir los componentes o conceptos más importantes que pueden representar, con un nivel alto de confianza, la información original. Más formalmente, para cualquier matriz real M
de dimensionesm,nexiste un valor singular de descomposición de la forma:
M=UΣVT (2.5)
dondeUes una matrizm,r(mdocumentos yrconceptos),Σes una matriz diagonalr,r que representa la importancia de cada concepto, V es n,r (n términos yr conceptos). ComoΣrepresenta la importancia de los componentes, generalmente se elijen los pri- meros N componentes más importantes y los otros se pueden establecer en 0. Luego,
U,ΣyVse pueden multiplicar para crear una nueva matrizMque solo representa los conceptos más importantes.
2.4. CONCLUSIONES