Árbol de páginas

Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.


Este módulo cognitivo es la parte innovadora de este subproyecto de HÉRCULES. Esta librería proporcionará el poder desarrollar procesos mucho más completos y detallados. Por ejemplo, en el caso de encaje entre convocatorias del Módulo B, este proceso se apoyará en el uso del módulo cognitivo, ya que seremos capaces de obtener una colección de investigadores a quienes ofrecer convocatorias, únicamente pasando como parámetro el palabras clave y el área temática de dicha convocatoria, o solamente uno de los dos, para que sea más efectiva es recomendado que se tiene como objetivo hacer minería de datos explotando los datos de los distintos subsistemas Hércules, en concreto sobre los datos de grupos de investigación y su producción con objeto  de  realizar  clasificación  y categorización que permitan identificar agrupaciones y similitudes. Para ello, se apoya en técnicas de procesamiento de lenguaje natural (NLP) y técnicas de aprendizaje automático (Machine Learning).

Este componente se puede resumir en los siguientes pasos pasen ambos parámetros.A continuación, se detallará el funcionamiento de esta librería, que podemos dividirlo en:

  1. Extracción de datos de los subsistemas HÉRCULES.
  2. Tratamiento de datos.
  3. Agrupación
  4. Datos de salida
  5. .
  6. Generador de vocabulario (NLP).
  7. Reducción de la Dimensionalidad (Machine Learning).
  8. Clustering (Machine Learning).Planificación

Extracción de datos de los subsistemas HÉRCULES.

La extracción de datos que se busca es aquella donde se relacione:  investigador, área temáticas categoría y descriptortag. Para ello, haremos se hará uso del lenguaje SPARQL, realizando la siguiente queryconsulta:

Bloque de código
themeRDark
titleQuery SPARQL
select ?person ?tag  ?nombreCategoria ?nombrePersona ?email from <http://gnoss.com/document.owl> from <http://gnoss.com/person.owl> from <http://gnoss.com/taxonomy.owl> where {
?doc a <http://purl.org/ontology/bibo/Document>.
?doc <http://purl.org/ontology/bibo/authorList> ?autor.
?autor <http://www.w3.org/1999/02/22-rdf-syntax-ns#member> ?person.
?person <http://xmlns.com/foaf/0.1/name> ?nombrePersona.
?person <https://www.w3.org/2006/vcard/ns#email> ?email.
?doc <http://vivoweb.org/ontology/core#freeTextKeyword> ?tag.
?doc <http://w3id.org/roh/hasKnowledgeArea> ?area.
?area <http://w3id.org/roh/categoryNode> ?nodo.
?nodo <http://www.w3.org/2008/05/skos#prefLabel> ?nombreCategoria.
}

Esta query nos consulta devolverá la siguiente información:

NombreDescripción
tag
TagDescriptor/palabra clave
nombreCategoria 
NombreCategoria 
área
Área temática relacionada
nombrePersona
NombrePersonaNombre completo del investigador
Email
email
Email del investigador


Una vez obtenemos obtenidos los datos, el orden natural en el análisis de datos es hacer un preprocesadopre-procesado, donde limpiamos se limpiarán aquellos datos que pueden entorpecer el entendimiento de los mismos.

...

Los datos principalmente se encuentran ya tratados, pues vienen de los subsistemas HÉRCULES donde ya se hace lleva a cabo un preprocesamiento, únicamente debemos borrar columnas que no nos interesen analizar (por ejemplo: nombre), categorizar aquellos datos que sean strings y agrupar por investigador, tag y área temática. Por lo tanto, lo único que el sistema hará, será limpiar el texto de los tag y las categorías, es decir, eliminar caracteres extraños, transformar las palabras en minúsculas y eliminación de "stopwords" (in, a, the, etc...), este último paso es necesario para la generación de vocabulario utilizando la librería Gensim. Además, se borrarán aquellas columnas que el sistema no necesita. El siguiente paso será la agrupación de las columnas categoría y tag, el objetivo es poder obtener una colección de investigadores a través del descriptor y el área temática, por lo que, los datos que se pasarán a los algoritmos de agrupación son: tag, nombreCategoria y email. En las siguientes secciones se detallará como se llevará esto a cabo.

Agrupación

de esta forma el vocabulario que se generará a través de técnicas de lenguaje natural (NLP) será más rico. Posteriormente, el sistema buscará las N similitudes (por defecto) más grandes entre los distintos tags que las técnicas de NLP determinen con el objetivo de tener una columna más llamada "similitud" que facilitará al sistema a agrupar los N investigadores. El objetivo principal es poder vectorizar las palabras que relacionan los trabajos de los investigadores con el fin de obtener relaciones (clústeres) entre los distintos investigadores utilizando técnicas de Machine Learning y NLP

Clustering 

La clusterización se utilizará La clusterización se usará para encontrar aspectos en común entre los investigadores para y encontrar grupos . Así, si un porcentaje significativo de los investigadores tiene ciertos aspectos en común (áreas temáticas o tag/descriptores) los podremos agrupar, con el objetivo de enfocar y justificar la entrega de anuncios que puedan ser de interés, por ejemplo: convocatorias.El objetivo principal es conseguir n clusters, donde podamos agrupar a los investigadores. Para ello, haremos uso del entre ellos, pero antes de generar N clúster, se procederá a utilizar algoritmos de Machine Learning para la reducción de la dimensionalidad en los vectores generados por el vocabulario (NLP) usando el algoritmo UMAP, el cual es un algoritmo de el elegido para la reducción de dimensión ya que se utiliza normalmente para explorar relaciones multivariantes entre variables , y para reducir el coste de cálculo de algoritmos de aprendizaje automático en los que la memoria requerida y el tiempo de procesamiento dependen del número de dimensiones de los datos. Posteriormente, se podrá intentar aplicar aplicarán técnicas de clústeringclustering, ya que estas son compatibles con el pre-procesamiento de UMAP, en concreto, haremos uso de HDBSCAN. La decisión de utilizar HDBSCAN frentre frente a otros algoritmos de clustering, es porque debido a que HDBSCAN puede trabajar con grandes conjuntos de datos y no necesita de la especificación del número de clusters, existen más ventajas al igual que desventajas que no se van a e enumerar en este apartado, pues se entiende que no es necesarioclústeres.

Por último, la salida del algoritmos HDBSCAN nos proporcionará n clustersN clústeres, por lo que nuestro el conjunto de datos quedaría de la siguiente forma: tag, nombreCategoria, email, hdbscan_label_cluster.

De esta forma, ya tenemos agrupados se agrupará a los investigadores por sus áreas temáticas categorías y tags.

Datos de salida

Los datos de salida podrán ser consultados vía API REST o utilizando la librería, con el objetivo de que cualquiera pueda obtener un conjunto de investigadores, que esten estén agrupados en cierta área temáticauna categoría, tag o ambas. Por otro lado, también se trabaja en la posibilidad de obtener los diferentes clusters junto con los investigadores pertenecientes.

Planificación

El algoritmo de clustering, no es un algoritmo que se deba estar ejecutando constantemente, debido a que puede demorarse su ejecución mucho tiempo impidiendo al robot que lo ejecute realizar otra tarea, ya que estos algoritmos son dependientes de los datos y de la capacidad de computo. Por tanto, este algoritmo se debe ejecutar únicamente una vez al dia, a la semana o mensual, ya que una vez ejecutado podremos almacenar los datos de salida para poder consultarlos en cualquier momento.