Integración de Tecnologías
Este módulo incluye todas las actividades asociadas con la construcción de soluciones informáticas que implementan los algoritmos o técnicas que se identificaron y diseñaron a nivel teórico, y al mismo tiempo integra tecnologías o herramientas de terceros para el desarrollo de demostradores finales.
Tarea 4.1. Implementación de Técnicas y Herramientas
El desarrollo de soluciones de software a partir de técnicas y nuevos algoritmos generalmente requiere una evaluación de diferentes lenguajes, bibliotecas, recursos lingüísticos, conjuntos de datos o plataformas que sirven como infraestructura para su construcción. Además, debemos considerar la viabilidad de estas tecnologías con respecto a los recursos de hardware disponibles. Tecnologías como Python NLTK, CoreNLP o Freeling son muy útiles para el procesamiento de texto, mientras que Gensim, TensorFlow, Keras o ScitKit Learn permiten la creación de soluciones avanzadas para el aprendizaje automático. La implementación de soluciones algorítmicas, así como el formateo y el soporte de los nuevos recursos creados en el proyecto son necesarios para las tareas de programación que generalmente requieren la integración de diversas tecnologías de terceros. Este proceso de desarrollo utilizará plataformas de programación colaborativas y plataformas de gestión de código fuente como Git, y herramientas de control de configuración como Gitlab o GitHub.
El proyecto propone el uso de fuentes internas que también requieren la integración e implementación de interfaces de comunicación con estas fuentes. Esto se puede hacer mediante API (RestFul + JSON) o mediante recopilación a través del rastreo web, accediendo a puntos de acceso finales en bases de conocimiento externas (puntos finales SPARQL), o descargando estas bases de conocimiento abiertas en sistemas de gestión de contenido (GraphDB, MongoDB o Neo4J).
Tarea 4.2. Desarrollo de Prototipos de Demostración
Para observar la usabilidad y utilidad de las técnicas y herramientas implementadas, desarrollaremos diferentes prototipos o demostradores. Cada prototipo implementado integrará un subconjunto de estas herramientas para resolver algunos de los problemas descritos en el uso de los casos definidos en la Tarea 2.1.
Se puede usar una de las siguientes opciones, dependiendo de la tarea realizada por el demostrador:
- Plataforma web pública o plataforma web con acceso identificado (dependiendo de la naturaleza crítica de la información usada).
- APIs (RestFul + JSON)
- Intalación y uso local de packetes de software.
- Bibliotecas de desarrollo disponibles para otros investigadores que desean utlizar las técnicas desarrolladas.
- Tutoriales interactivas sobre el uso de distintas técnicas utilizadas, como el Jupyter Notebook.
Al difundir y distribuir la información de esta manera, nuestro objetivo es llegar a la mayor audiencia posible en un intento por maximizar el uso de las herramientas y técnicas desarrolladas. Por otro lado, al hacer que estos prototipos estén disponibles, podemos crear registros de su uso y utilidad, lo que nos permite analizar posteriormente qué dominios y escenarios son más necesarios o cuáles generan el mayor interés.
También consideraremos la posibilidad de publicar prototipos de las herramientas intermedias desarrolladas para lograr los objetivos definidos en el proyecto, tales como: rastreadores/raspadores específicos, sistemas de etiquetado manual y herramientas de filtrado de contenido web, entre otros.
Hitos
- Implementación de soluciones de software para los diferentes algoritmos, técnicas y recursos resultantes de la investigación en el núcleo del proyecto.
- Construcción de demostradores para los escenarios identificados y que integran las nuevas soluciones en otras tecnologías para su uso como plataformas de evaluación.