Improve user defaults on flexible databases using machine learning algorithms

Giménez Álvaro, Javier (2018). Improve user defaults on flexible databases using machine learning algorithms. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Description

Title: Improve user defaults on flexible databases using machine learning algorithms
Author/s:
  • Giménez Álvaro, Javier
Contributor/s:
  • Muñoz Hernández, Susana
Item Type: Final Project
Degree: Grado en Matemáticas e Informática
Date: July 2018
Subjects:
Freetext Keywords: Fuzzy Logic; Ciao-Prolog; FleSe; RFuzzy; Machine Learning; Cluster
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Lenguajes y Sistemas Informáticos e Ingeniería del Software
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview

Abstract

El objetivo de este proyecto ha sido la mejora del algoritmo de autogeneración de valores predeterminados en FleSe, para que estos esten personalizados al usuario. FleSe es una aplicación web diseñada para la busqueda en bases de datos, con el objetivo de recomendar elementos en función de las búsquedas actuales. Esta aplicación, tiene la capacidad de insertar por cada usuario los valores que le definen a él(no confundir con valores predefinidos). Para las busquedas borrosas, se utiliza Ciao, un interprete de Prolog con la capacidad de instalarle paquetes que expandan el standar ISO Prolog. En concreto, en estos momentos hace uso de las librerias Fuzzy Prolog y mas concretamente, RFuzzy, la cual se utilizará para definir los rangos de los elementos predeterminados. La idea principal del algoritmo consiste en comprobar el usuario que ha definido para el resto de funciones en el sistema, para asi elegir cual es el valor predeterminado que mas se le asemeja para finalmente devolverle al usuario el valor predeterminado del grupo mas parecido al suyo, aunque no sea el que le corresponda segun sus valores de usuario. Durante el desarrollo del proyecto se ha tenido que reestructurar el algoritmo, al igual que corregir un par de errores no contemplados en el ultimo cambio. Con esto se ha expandido el proyecto a la vez de mejorarlo y optimizarlo, ya que previamente tenia un tiempo de ejecucion muy extenso. La mayor problematica del proyecto es las diferencias con los enfoques clasicos en estos, ya que normalmente se plantean como recomendaciones por uso, mientras que en este caso hay que plantearlo como definir conceptos. Como posibles mejoras futuras, se necesita un nuevo sistema de almacenamiento de los usuarios. en estos momentos el guardado de los datos de los usuarios se encuentran en los propios ficheros Prolog. seria conveniente crear un metodo "getCaracsUser" que en vez de recoger la información del nombre como se hace en este momento, haga una llamada al sistema para recuperar los datos asociados. Otra posible mejora relacionada con el mismo sistema es el de crear un sistema que de opcion al usuario a imputar/generar automaticamente sus caracteristicas, ya que en este instante las caracteristicas son bastante limitadas.---ABSTRACT---he main objective of this project has been to improve the default values generator algorithm in the application FleSe, so that they are personalized to the user. FleSe is a web application designed for database search, so that the user would get recommended elements that he had searched for in a general manner. In this application the user can define his own defining values(not to be mistaken with default values). For fuzzy searches, the Ciao-Prolog interpreter is being used, as it has the ability to expand the standard ISO-Prolog by instally packages. At the moment the Fuzzy Prolog and, most importantly, RFuzzy packages are being used, the second one being used to create the predefined functions. The main idea on this algorithm is on comparing the defining values of the users with the default values of the groups, so that, if the user tends to align more to a different group, he retrieves the that group’s default values, even if it isn’t the same as his original group. During the project development, the original algorithm had to be restructured, as well as fixing a couple of errors not contemplated in the last version. With this, the project has grown, as well as improving it and optimize it, as the last version had an extremely long execution process. the biggest hurdle in the project has been the differences with classical search engines, as these tend to only be based on actual searches, while in this case it has to be thought of as concept definitions. For future improvements, a new user characteristics storage mechanism needs to be implemented. At the moment, this storage is only in the actual Prolog files, this also implies that the current "getCaracUser" methods will have to be changed to get the information outside the names of the users. A different improvement would be to create a system that lets the user input/generate his characteristics, as the current ones are extremely limited.

More information

Item ID: 52281
DC Identifier: http://oa.upm.es/52281/
OAI Identifier: oai:oa.upm.es:52281
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 17 Sep 2018 10:20
Last Modified: 17 Sep 2018 10:20
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM