6. CONCLUSIONES Y TRABAJO FUTURO
6.2. CONCLUSIONES
Dentro del proyecto se abordaron las temáticas de análisis de lenguaje natural y emparejamiento sintáctico con enriquecimiento semántico, entre etiquetas descriptoras de servicios y palabras usadas por los usuarios finales, en la formulación de consultas de servicio. El primer tema se desarrollo a partir del análisis de tareas para el procesamiento de lenguaje natural, en el cual se excluye el uso de plantillas en las solicitudes
92
de los usuarios, como se realiza en muchos de los trabajos de procesamiento de lenguaje natural orientados a procesos de recuperación de servicios. Adicionalmente se analizaron varias técnicas de emparejamiento, que empleaban tanto de etiquetas simples, como ontologías y folksonmias. Este análisis, permitió proponer un mecanismo de comparación sintáctica basado en el uso de etiquetas enriquecidas semánticamente, entre los conceptos que definen los servicios y las palabras usadas por los usuarios finales.
Al finalizar este proyecto se entregó una prototipo denominado SeRTool (Service Request Based on Natural Language Tool), el cual se basa en el mecanismo antes mencionado, el cual permite la obtención de un ranking de servicios y un flujo de su posible ejecución. Este prototipo permite recomendar a los usuarios diversas salidas del sistema que han sido almacenadas previamente, lo cual disminuye notoriamente el tiempo de procesamiento y los recursos usados.
Lo anterior, permite concluir que el trabajo realizado, facilita la recuperación de servicios, a partir del ingreso de solicitudes realizadas por usuarios finales en lenguaje informal, teniendo en cuenta propiedades funcionales y no funcionales de los servicios.
A continuación se describen las principales conclusiones que surgieron durante la ejecución del presente proyecto:
A partir del estudio de diversas técnicas, se pudo deducir que la implementación de técnicas de análisis de lenguaje natural para procesos de selección de servicios, facilita los procesos de recuperación de servicios, reduciendo el tiempo requerido, la complejidad y en este sentido ampliando el número de usuarios aptos para este tipo de procesos.
La implementación de un sistema de recomendación y autocompletado, facilita una interacción con el usuario, para obtener el flujo final del sistema, ya que se inducen elementos formales dentro de una solicitud informal, sin necesidad de establecer restricciones o limitaciones en la captura de requerimientos.
El enriquecimiento semántico de palabras de los usuarios y las etiquetas descriptoras de un servicio, permiten que el proceso de emparejamiento sintáctico sea más preciso, ya que cuando los usuarios ingresan palabras en una solicitud, muchas veces éstas no coinciden con los términos que describen los servicios en el repositorio. Por este motivo, al realizar un enriquecimiento semántico de la solicitud y de las descripciones de servicios, a través de diversas fuentes de conocimiento, permite que el emparejamiento sintáctico tenga mayor alcance, sin la necesidad de que las palabras introducidas por los usuarios coincidan exactamente con las usadas para la descripción de los servicios.
La inclusión de propiedades no funcionales en el proceso de recuperación de servicios, permite que los servicios seleccionados, no solo sean los más relacionados a las propiedades funcionales expuestas en lenguaje natural por los usuarios, sino también garantiza que estos servicios sean contengan propiedades con buenas características en cuanto a criterios de disponibilidad, tiempo de respuesta documentación entre otras. Lo anterior deriva en un mejor desempeño en ejecución por parte de los servicios recuperados y de ese modo a una mayor satisfacción en los usuarios finales.
Las pruebas de rendimiento realizadas sobre todo el sistema muestran un crecimiento exponencial, respecto al número de términos en la solicitud de entrada y el tiempo de respuesta del sistema (recuperación de servicios y flujo de control). Tomando como punto de referencia, que la mayoría de solicitudes expresadas en lenguaje natural se encuentran alrededor de 20 palabras por solicitud; el sistema en este caso tarda alrededor de un segundo (dependiente de la red de acceso a internet para el enriquecimiento con Flickr) para dar respuesta a la solicitud, tiempo suficiente y altamente satisfactorio teniendo en cuenta la magnitud de los procesos llevados a cabo al interior del sistema.
Basándose en los mecanismos de emparejamiento propuestos para el desarrollo del emparejador WSColab y el uso de tareas de PLN optimizadas por GATE, fue posible conseguir tiempos ágiles de
93
respuesta del sistema. Sin embargo es evidente que existen aspectos por mejorar con el fin de reducir los tiempos de respuesta del sistema al mínimo posible.
Las pruebas de calidad de la salida del sistema mostraron que el porcentaje más alto de conformidad fue en la selección de términos del flujo de control con un valor de 91,6% y el menor nivel de conformidad, se presentó entre los términos de comportamiento con un valor de 68,1%. Por otro lado el número de servicios identificados acordes a las solicitudes, mostró un fuerte nivel de satisfacción con un 86,1%, mientras que los términos identificados por servicio mostraron una satisfacción del 62,9%. Por lo anterior se puede deducir que frente a una solicitud informal, se puede obtener una estructura de salida de buena calidad..
En cuanto a la evaluación del sistema de refinamiento, se puede afirmar que los resultados aunque no muy buenos a nivel numérico, si representan una condición del sistema que brinda a todos los servicios un peso relevante, con el objetivo de que el refinamiento tenga en cuenta no solo aquellos elementos seleccionados por el usuario, sino, en general tenga en cuenta todos los valores de las PNF y de esta manera pueda llegar a tener servicios con mejores PNF.
En cuanto a cada una de las tareas de procesamiento de lenguaje natural, se puede mencionar que la desambiguación de sentidos de palabras fue la tarea que presentó menor calidad con un porcentaje menor al 50% en precisión y recall, mientras que el etiquetado de palabras fue el que presentó un mejor nivel de precisión y recall con un porcentaje de 80%. Es de notar que el desempeño del sistema para realizar tareas de desambiguación, no resulta tan adecuado al usar palabras comunes en varios contextos, sin embargo, en la solicitud de los usuarios generalmente los términos tienen una relación estrecha con un determinado contexto el cual da mayor relevancia a un sentido especifico de los que puede tener una palabra.
En cuanto a la calidad de los resultados en la generación inicial de ranking de servicios, se puede observar que el desempeño del sistema es de alta precisión con un porcentaje superior al 90% y un recall moderado con un promedio 48%, lo que implica que el mecanismo de recuperación es altamente selectivo, obteniendo porcentajes considerables de servicios relevantes, a partir del conjunto de servicios disponibles. Por otro lado, la baja medida de recall no es tan aceptable ya que se estarían descartando la mitad de los servicios relevantes, lo cual se debe a las variaciones en las palabras usadas por los usuarios para describir un servicio y las encontradas en la ontología léxica y en los clústeres de las folcsonomías. Sin embargo, la calidad de los resultados es mejor respecto al desempeño de sistemas similares de recuperación de servicios como el emparejador WSColab.