|
Grado en Ingeniería Informática |
TRABAJOS FIN DE GRADO curso: 2017-18
Detección de preguntas similares en Quora mediante ciencia de datos. |
Tecnologías Específicas
Computación
Descripcion y Objetivos
Quora es un sitio web para ganar y compartir conocimiento sobre cualquier tema. En la plataforma los usuarios ponen preguntas y otros usuarios las responden. Puesto que unos 100 millones de personas entran a Quora cada mes, es lógico que muchas de ellas pregunten por lo mismo, aunque la pregunta tenga distinta redacción. Por motivos de eficiencia, tanto para el sistema como para los usuarios, Quora prefiere tener preguntas canónicas y, de ahí, que de forma automática intenta detectar si dos preguntas distintas tienen en realidad el mismo significado.
Recientemente Quora ha puesto una base de datos en la página web de data science Kaggle, proporcionando todos los elementos necesarios para plantear un problema de ciencia de datos: conjunto de entrenamiento etiquetado, conjuntos de test, métricas de evaluación, etc. Nuestro objetivo obviamente no es ser competitivos con los ganadores de dicha competición, pero si completar un proceso de minería de datos en el cuál se evalúen distintas alternativas, para detectar las más eficaces.
Para ello describimos los siguientes objetivos:
- Estudiar, aplicar y validar técnicas de procesamiento del lenguaje natural que nos permitan transformar las consultas realizadas en lenguaje natural a vectores de términos, es decir, representaciones vectoriales.
- A partir de las representaciones estructuradas, completar un ciclo de descubrimiento de conocimiento a partir de bases de datos, con especial enfásis en las etapas de preprocesamiento y minería de datos.
- Evaluar los distintos "flujos" de proceso aplicados y realizar comparativa que nos permita seleccionar los modelos más eficientes.
Metodología y Competencias
Metodología:
- Revisar el contexto del problema y la literatura disponible.
- Aplicar técnicas de PLN para transformar la información no estructurada (texto) en información estructurada (tabular) que será la entrada de nuestro proceso de minería de datos.
- Sobre la partición de datos de entrenamiento diseñar procesos de minería de datos centrados en:
- Preprocesamiento de datos (selección de variables, construcción de variables, discretización, etc.)
- Identificación de los algoritmos de minería de datos que mejor encajen en el problema objetivo. Aplicar realizando selección de modelos en función de los parámetros.
- Validación de los modelos obtenidos.
- Iterar refinando los pasos anteriores hasta determinar uno o varios modelos exitosos.
- Documentar todo el proceso anterior para que sea repetible.
- Estimar la bondad de los modelos finales (seleccionados) sobre el conjunto de datos de test reservado a tal efecto.
- Redactar la memoria.
Competencias:
Se trabajarán principalmente (en distinto grado) las siguientes competencias específicas de la tecnología de computación:
-
Capacidad para conocer los fundamentos teóricos de los lenguajes de programación y las
técnicas de procesamiento léxico, sintáctico y semántico asociadas, y saber aplicarlas para la
creación, diseño y procesamiento de lenguajes.
-
Capacidad para evaluar la complejidad computacional de un problema, conocer estrategias
algorítmicas que puedan conducir a su resolución y recomendar, desarrollar e implementar
aquella que garantice el mejor rendimiento de acuerdo con los requisitos establecidos.
-
Capacidad para conocer los fundamentos, paradigmas y técnicas propias de los sistemas
inteligentes y analizar, diseñar y construir sistemas, servicios y aplicaciones informáticas
que utilicen dichas técnicas en cualquier ámbito de aplicación.
-
Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en una
forma computable para la resolución de problemas mediante un sistema informático en
cualquier ámbito de aplicación, particularmente los relacionados con aspectos de
computación, percepción y actuación en ambientes entornos inteligentes.
-
Capacidad para conocer y desarrollar técnicas de aprendizaje computacional y diseñar e
implementar aplicaciones y sistemas que las utilicen, incluyendo las dedicadas a extracción
automática de información y conocimiento a partir de grandes volúmenes de dato.
Medios a utilizar
Ordenadores personales, compiladores y entornos de programación. Todo disponible en la ESIIAB.
Bibliografía
Libros y manuales de aprendizaje automático, procesamiento del lenguaje natural y ciencia/minería de datos. Libros y manuales de lenguajes de programación y librerías específicas (machine learning, pln, etc.). Todo disponible en la ESIIAB y/o en internet.
Tutores GAMEZ MARTIN, JOSE ANTONIO ARIAS MARTINEZ, JACINTO | Alumno BALLESTEROS ROMÁN, JOSÉ LUIS
|
| |