Sistema de Reglas VERSIÓN 0.3. Dirigido a: Ingeniera luisa Fernanda barrera león. Autor: Katherine Espíndola Buitrago
|
|
- Alicia Robles Suárez
- hace 5 años
- Vistas:
Transcripción
1 Sistema de Reglas VERSIÓN 0.3 Dirigido a: Ingeniera luisa Fernanda barrera león Autor: Katherine Espíndola Buitrago PONTIFICIA UNIVERSIDAD JAVERIANA Departamento de ingeniería de sistemas Bogotá, Colombia Octubre, 2015 Sistema de Reglas 1
2 Historial de cambios VERSIÓN Sistema de Reglas versión 0.1 Sistema de Reglas versión 0.1 Sistema de Reglas versión 0.2 Sistema de Reglas versión 0.2 Sistema de Reglas versión 0.3 FECHA 8 de Octubre de de Octubre de de Octubre de de Octubre de de Noviembre de 2015 SECCIÓN DEL DOCUMENTO Introducción, 1, 2, 3, 4 Cambio Regla Matriz Cambio preferencia_despliegue Adición de descripciones DESCRIPCIÓN DE CAMBIOS Creación estructura del documento. Adición Introducción Adición sección 1 Adición sección 1.1 Adición sección 1.2 Adición sección 1.3 Adición sección 1.4 Adición sección 2 Adición sección 2.1 Adición sección 2.2 Adición sección 2.3 Adición sección 2.4 Adición sección 3 Adición sección 3.1 Adición sección 3.2 Adición sección 4 Adición sección 4.1 Adición sección 4.2 Adición sección 4.3 Adición sección 4.4 Modificación Regla 10 Modificación Regla 11 Modificación Regla 12 Adición Regla 13 Modificación Regla 19 Modificación Regla 21 Modificación Regla 22 Modificación Regla 23 Adición de descripciones a todas las secciones RESPONSABLE Katherine Espíndola Katherine Espíndola Katherine Espíndola Katherine Espíndola Katherine Espíndola Sistema de Reglas 2
3 Tabla de contenido Historial de cambios... 2 Introducción Reglas de Recomendación de Conexiones Recomendación de Estudiante Recomendación de Profesor Recomendación de Egresado Generales Reglas de Recomendación de Ideas Recomendación para Estudiante Recomendación para Profesor Recomendación para Egresado Generales Reglas de Búsqueda Búsqueda de Usuarios Por Habilidad Por Área Por Nombre Búsqueda de Ideas Por Usuario Para Continuar Para Empezar Proyectos Ideas Nuevas Por Tag Reglas de Recomendación Especial Recomendación de Idea Diferente Variante Sistema de Reglas 3
4 4.2. Recomendación de Idea Diferente Variante Recomendación de Usuario Diferente Variante Recomendación de Usuario Diferente Variante Trabajos citados Sistema de Reglas 4
5 Figuras Figura 1: Ejemplo Llenar Matriz con Pesos Figura 2: Ejemplo Regla 12 Sumar Pesos por Filas Figura 3: Ejemplo Regla 13 Normalizar Pesos Reglas Regla 1: Recomendar estudiante... 7 Regla 2: Calcular distancia estudiante estudiante... 8 Regla 3: Calcular distancia profesor estudiante... 8 Regla 4: Calcular distancia egresado estudiante... 8 Regla 5: Recomendar profesor... 9 Regla 6: Calcular distancia profesor profesor... 9 Regla 7: Calcular distancia egresado profesor... 9 Regla 8: Recomendar egresado Regla 9: Calcular distancia estudiante egresado Regla 10: Calcular distancia entre Preferencias Ideas y Tags Regla 11: Llenar matriz con pesos Regla 12: Sumar pesos por filas Regla 13: Normalizar pesos Regla 14: Calcular distancia entre personalidad Regla 15: Calcular distancia entre carreras Regla 16: Calcular distancia Jaccard Regla 17: Normalizar distancia Regla 18: Calcular distancia entre énfasis Regla 19: Recomendar idea a estudiante Regla 20: Calcular distancia entre áreas de conocimiento teniendo en cuenta la experticia Regla 21: Recomendar idea a profesor Regla 22: Recomendar idea a egresado Regla 23: Ordenar ideas para recomendar de acuerdo a la preferencia de visualización Regla 24: Buscar usuario Sistema de Reglas 5
6 Regla 25: Buscar usuario por habilidad Regla 26: Buscar usuario por área de conocimiento Regla 27: Buscar usuario por nombre Regla 28: Buscar idea Regla 29: Buscar idea por usuario Regla 30: Buscar idea para continuar Regla 31: Buscar idea para empezar Regla 32: Buscar proyectos Regla 33: Buscar idea nueva Regla 34: Buscar idea por tag Regla 35: Recomendar idea diferente (variación 1) Regla 36: Recomendar idea diferente (variación 2) Regla 37: Recomendar usuario diferente (variación 1) Regla 38: Buscar usuario diferente (variación 1) Sistema de Reglas 6
7 Introducción La generación de los servicios personalizados que ofrece Know&Share es posible gracias a las reglas diseñadas en este documento, que tienen el fin asegurar la relevancia de Know&Share. Las reglas están clasificadas de acuerdo a su propósito desarrolladas en cada una de las siguientes secciones. Adicionalmente, estas reglas ayudan a solucionar uno de los problemas de los sistemas de recomendación: el problema del nuevo usuario [1] [2]. 1. Reglas de Recomendación de Conexiones Esta sección presenta las reglas de recomendación de conexiones le permiten a Know&Share recomendar posibles conexiones a sus usuarios de tal forma que puedan expandir su red de conocimiento personal Recomendación de Estudiante usuario1(this) := usuario al que se le realiza la recomendación est := u todos_los_usuarios donde u es estudiante u usuario1.conexiones recomendarestudiante(est){ if(this es Estudiante){ d = calculardistanciaentreestudiantes(this,est) else if (this es Profesor){ d = calculardistanciaprofesorestudiante(this, est) else if (this es Egresado){ d = calculardistanciaegresadoestudiante(this, est) if (d <=0.5) { return deconfianza else if (d<=0.9){ return relevante else{ usurariosparanorecomendar.add(est) return norecomendar Regla 1: Recomendar estudiante Sistema de Reglas 7
8 calculardistanciaentreestudiantes(est1, est2){ distancia = 0.0 distancia += calculardistanciapersonalidad(est1.perfil.personalidad.tipo, est2.perfil.personalidad.tipo) distancia += calculardistanciacarreras(est1.perfil.carreras, est2.perfil.carreras) distancia += calculardistanciajaccard(est1.perfil.gustos, est2.perfil.gustos) distancia = normalizardistancia(distancia, 3) return distancia Regla 2: Calcular distancia estudiante estudiante calculardistanciaprofesorestudiante(prof, est){ distancia = 0.0 distancia += calculardistanciapersonalidad(prof.perfil.personalidad.tipo, est.perfil.personalidad.tipo) distancia += calculardistanciacarreras(prof.perfil.carreras, est.perfil.carreras) distancia += calculardistanciajaccard(prof.perfil.cualidades.profesionales, est.perfil.habilidades.profesionales) distancia = normalizardistancia(distancia, 3) return distancia Regla 3: Calcular distancia profesor estudiante calculardistanciaegresadoestudiante(egr, est){ distancia = 0.0 distancia += calculardistanciapersonalidad(egr.perfil.personalidad.tipo, est.perfil.personalidad.tipo) distancia += calculardistanciacarreras(egr.perfil.carreras, est.perfil.carreras) distancia += calculardistanciaenfasis (egr.perfil.intereses.varios_enfasis, est.perfil.intereses.varios_enfasis) distancia = normalizardistancia(distancia, 3) return distancia Regla 4: Calcular distancia egresado estudiante Sistema de Reglas 8
9 1.2. Recomendación de Profesor usuario1(this) := usuario al que se le realiza la recomendación prof := u todos_los_usuarios donde u es profesor u usuario1.conexiones recomendarprofesor(prof){ if(this es Estudiante){ d = calculardistanciaprofesorestudiante(prof,this) else if (this es Profesor){ d = calculardistanciaentreprofesores(this, prof) else if (this es Egresado){ d = calculardistanciaegresadoprofesor(this, prof) if (d <=0.5) { return deconfianza else if (d<=0.9){ return relevante else{ usurariosparanorecomendar.add(prof) return norecomendar Regla 5: Recomendar profesor calculardistanciaentreprofesores(prof1, prof2){ distancia = 0.0 distancia += calculardistanciapersonalidad(prof1.perfil.personalidad.tipo, prof2.perfil.personalidad.tipo) distancia += calculardistanciacarreras(prof1.perfil.carreras, prof2.perfil.carreras) distancia += calculardistanciajaccard(prof1.perfil.intereses.areas_conocimiento, prof2.perfil.intereses.areas_conocimiento) distancia = normalizardistancia(distancia, 3) return distancia Regla 6: Calcular distancia profesor profesor calculardistanciaegresadoprofesor(egr, prof){ distancia = 0.0 distancia += calculardistanciapersonalidad(egr.perfil.personalidad.tipo, prof.perfil.personalidad.tipo) distancia += calculardistanciacarreras(egr.perfil.carreras, prof.perfil.carreras) distancia += calculardistanciaenfasis(egr.perfil.intereses.varios_enfasis, prof.perfil.intereses.varios_enfasis) distancia = normalizardistancia(distancia, 3) return distancia Regla 7: Calcular distancia egresado profesor Sistema de Reglas 9
10 1.3. Recomendación de Egresado usuario1(this) := usuario al que se le realiza la recomendación egr := u todos_los_usuarios donde u es egresado u usuario1.conexiones recomendaregresado(egr){ if(this es Estudiante){ d = calculardistanciaestudianteegresado(this, egr) else if (this es Profesor){ d = calculardistanciaegresadoprofesor(egr, this) else if (this es Egresado){ d = calculardistanciaentreestudiantes(this, egr) if (d <=0.5) { return deconfianza else if (d<=0.9){ return relevante else{ usurariosparanorecomendar.add(egr) return norecomendar Regla 8: Recomendar egresado calculardistanciaestudianteegresado(est, egr){ distancia = 0.0 distancia += calculardistanciapersonalidad(est.perfil.personalidad.tipo, egr.perfil.personalidad.tipo) distancia += calculardistanciacarreras(est.perfil.carreras, egr.perfil.carreras) distancia += calculardistanciaprefideatags(est.perfil.preferencias_ideas, egr.tg.tags) distancia = normalizardistancia(distancia, 3) return distancia Regla 9: Calcular distancia estudiante egresado La Regla 10, Regla 11, Regla 12 y Regla 13 se utiliza para calcular la distancia entre las preferencias de ideas de un usuario y las tags que el trabajo de grado del egresado. Primero se crea una matriz de forma dinámica la cual contiene la representación de los números binarios del 0 al 2 número de preferencias 1. Luego, teniendo en cuenta que cada columna representa una preferencia, la matriz es multiplicada por cada uno de sus pesos correspondientes (ver Regla 9), obteniendo una matriz con pesos como lo muestra la Figura 1, donde el peso de Personalización es 3, de CompuMovil es 4 y de DataBases es 2. Sistema de Reglas 10
11 Figura 1: Ejemplo Llenar Matriz con Pesos matrizbinaria[2 ^ preferencias_ideas +1][ preferencias_ideas ]:= matriz que tiene los numeros binarios de 0 a (2 ^ preferencias_ideas ) - 1 calculardistanciaprefideatags(preferencias_ideas, tags){ sum = 0 pesototal = 0 tagsrelacionadas = preferencias_ideas tags if( tagsrelacionadas == 0){ return 1 else{ numcol = preferencias_ideas matrizbinaria = llenarmatrizconpesos(matrizbinaria, preferencias_ideas, numcol) vectorpesos[2 ^ numcol] = sumarpesosporfilas(matrizbinaria, numcol) cuantospesosunicos = obtenernumerosunicos(vectorpesos) tuplanormalizada[cuantospesosunicos][2] = normalizarpesos(vectorpesos, cuantospesosunicos) foreach (tag tagsrelacionadas){ preferencia = buscarpreferencia(tag) pesototal += preferencia.peso pesototal = pesototal * tagsrelacionadas for(contfila = 0; contfila < cuantospesosunicos; contfila++){ if(tuplanormalizada [contfila][0] == pesototal){ return tuplanormalizada[contfila][1] Regla 10: Calcular distancia entre Preferencias Ideas y Tags llenarmatrizconpesos(matrizbinaria, atributoconpeso, numcol){ for(contfila = 0; contfila < 2 ^ numcol ; contfila++){ for(contcol = 0; contcol < numcol ; contcol++){ matrizbinaria[contfila][contcol] = matrizbinaria[contfila][contcol] * atributoconpeso[contcol].peso return matrizbinaria Regla 11: Llenar matriz con pesos Sistema de Reglas 11
12 Luego de obtener la matriz con pesos, se crea un vector con la suma de los pesos (ver Regla 12), es decir, se suma el valor de cada una de las filas y se multiplica por la cantidad de unos de cada fila, esto se ilustra en la Figura 2. Figura 2: Ejemplo Regla 12 Sumar Pesos por Filas sumarpesosporfilas(matrizbinaria, numcol){ sum = 0 contunos = 0 for(contfila = 0; contfila < 2 ^ numcol ; contfila++){ for(contcol = 0; contcol < numcol ; contcol++){ if(matrizbinaria[contfila][contcol]!= 0){ contunos++ sum += matrizbinaria[contfila][contcol] vectorpesos[contfila] = sum * contunos sum = 0 contunos = 0 return vectorpesos Regla 12: Sumar pesos por filas Luego es necesario saber cuántos pesos diferentes existen en el vector, para crear una tupla normalizada que tendrá los pesos y su normalización (ver Regla 13). Para esto se ordenan los pesos de mayor a menor, dado que el mayor representa la distancia más cercana (0), y la menor la distancia más lejana (1). La Figura 3 muestra cómo se construye la tupla normalizada. Sistema de Reglas 12
13 Figura 3: Ejemplo Regla 13 Normalizar Pesos normalizarpesos(vectorpesos, cuantospesosunicos){ tuplanormalizada[cuantospesosunicos] = elimiarpesosrepetidos(vectorpesos) tuplanormalizada= ordenarmayoramenor(tuplanormalizada) normalizacion = 1/(cuantosPesosUnicos-1) aumento = 1/(cuantosPesosUnicos-1) for(contfila = 0; contfila < cuantospesosunicos; contfila++){ if(primera iteracion){ tuplanormalizada[contfila][1] = 0 else if (ultima iteracion){ tuplanormalizada[contfila][1] = 1 else{ tuplanormalizada[contfila][1] = normalizacion normalizacion += aumento return tuplanormalizada Regla 13: Normalizar pesos Por último, se suma el peso de cada una de las tags de las ideas del egresado que son iguales a las preferencias de ideas del estudiante, y se busca ese peso total en la tupla normalizada para retornar la distancia. Sistema de Reglas 13
14 1.4. Generales Esta sección presenta algunas reglas comunes utilizadas en las secciones anteriores por otras reglas calculardistanciapersonalidad(tipo1, tipo2){ relacion = tiporelacion(tipo1, tipo2) switch (relacion){ case 'Espiritu Afin': return 0.25 case 'Diferencias Intrigantes': return 0.50 case 'Complementos Potenciales': return 0.75 case 'Opuestos Desafiantes': return 1 default: return 0; Regla 14: Calcular distancia entre personalidad calculardistanciacarreras(carreras1, carreras2){ if(carreras1.principal == carreras2.principal){ return 0 else if(carreras2.principal (carreras1 carreras2)){ return 0.5 else{ carrerasafines = carrera1.afines if( (carreras2 carrerasafines)){ return 0.5 else{ return 1 Regla 15: Calcular distancia entre carreras La distancia Jaccard compara los datos de presencia o ausencia para encontrar la similitud [3] [4] [5], es decir, tiene en cuenta los elementos que no están en ambos conjunto, por esto es más preciso saber la intersección entre ambos puntos [6]. Esta distancia está dada por: S j = M 10 + M 01 M 10 + M 01 + M 11 M 11 representa el total de atributos que están en A y en B. M 01 representa el total de atributos que no están en A pero que están B. M 10 representa el total de atributos que están en A y pero no están en B. Sistema de Reglas 14
15 calculardistanciajaccard(conj1, conj2){ return ( conj1 conj2 - conj1 conj2 )/ conj1 conj2 Regla 16: Calcular distancia Jaccard normalizardistancia(distancia, max){ min = 0 newmax = 1 newmin = 0 return ((distancia - min) * (newmax - newmin)/(max - min) + newmin) Regla 17: Normalizar distancia calculardistanciaenfasis(varios_enfasis1, varios_enfasis2){ if(varios_enfasis1.principal == varios_enfasis2.principal){ return 0 else if(varios_enfasis2.principal (varios_enfasis1 varios_enfasis2)){ return 0.5 else{ return 1 Regla 18: Calcular distancia entre énfasis Sistema de Reglas 15
16 2. Reglas de Recomendación de Ideas Esta sección presenta las reglas que permiten recomendarle ideas a los usuarios de Know&Share Recomendación para Estudiante usuario1(this) := usuario que visualiza ideas idea := i u.ideas donde u usuario1.conexiones recomendarideaaestudiante(usuario){ ideas = usuario.ideas relevancia = 0 foreach (idea ideas){ if(usuario es Estudiante){ relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, idea.tags) relevancia += calculardistanciaenfasis ( this.perfil.intereses.varios_enfasis, usuario.perfil.intereses.varios_enfasis) relevancia = normalizardistancia(relevancia, 2) else if (usuario es Profesor){ if(idea es Para Continuar idea es Para Empezar){ if(idea es Para Continuar){ tags = idea.tags else if (idea es Para Empezar){ tags = idea.tags idea.tg.tags relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, tags) relevancia += calculardistanciaareasexperticia( this.perfil.intereses.areas_conocimiento, usuario.perfil.intereses.areas_conocimiento) relevancia = normalizardistancia(relevancia, 2) else{ relevancia = -1 else if (usuario es Egresado){ if(idea es Para Continuar){ tags = idea.tags idea.tg.tags relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, tags) if (relevancia >=0 relevancia <=0.5) { ideaspararecomendar.add(idea) else if (relevancia>0.5){ ideasparanorecomendar.add(idea) return ordenar(this.preferencia_despliegue, ideaspararecomendar) Regla 19: Recomendar idea a estudiante Sistema de Reglas 16
17 matrizbinaria[2 ^ areas_conocimientop +1][ areas_conocimientop ]:= matriz que tiene los numeros binarios de 0 a (2 ^ areas_conocimientop ) - 1 calculardistanciaareasexperticia(areas_conocimientoe, areas_conocimientop){ sum = 0 pesototal = 0 areasrelacionadas = areas_conocimientoe areas_conocimientop if( areasrelacionadas == 0){ return 1 else{ numcol = areas_conocimientop matrizbinaria = llenarmatrizconpesos(matrizbinaria, areas_conocimientop, numcol) vectorpesos[2 ^ numcol] = sumarpesosporfilas(matrizbinaria, numcol) cuantospesosunicos = obtenernumerosunicos(vectorpesos) tuplanormalizada[cuantospesosunicos][2] = normalizarpesos(vectorpesos, cuantospesosunicos) foreach (areaconocimiento areasrelacionadas){ pesototal += areaconocimiento.experticia pesototal = pesototal * areasrelacionadas for(contfila = 0; contfila < 2 ^ numcol ; contfila++){ if(tuplanormalizada[contfila][0] == pesototal){ return tuplanormalizada[contfila][1] Regla 20: Calcular distancia entre áreas de conocimiento teniendo en cuenta la experticia Sistema de Reglas 17
18 2.2. Recomendación para Profesor recomendarideaaprofesor(usuario){ ideas = usuario.ideas relevancia = 0 foreach (idea ideas){ if(usuario es Estudiante){ relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, idea.tags) relevancia += calculardistanciajaccard( this.perfil.cualidades.profesionales, usuario.perfil.habilidades.profesionales) relevancia = normalizardistancia(relevancia, 2) else if (usuario es Profesor){ if (idea es Para Empezar idea es Proyecto){ relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, idea.tags) relevancia += calculardistanciajaccard( this.perfil.areas_conocimiento, usuario.perfil.areas_conocimiento) relevancia = normalizardistancia(relevancia, 2) else{ relevancia = -1 else if (usuario es Egresado){ if(idea es Nueva){ relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, idea.tags) relevancia += calculardistanciajaccard( this.perfil.cualidades.profesionales, usuario.perfil.habilidades.profesionales) relevancia = normalizardistancia(relevancia, 2) else{ relevancia = -1 if (relevancia >=0 relevancia <=0.5) { ideaspararecomendar.add(idea) else if (relevancia>0.5){ ideasparanorecomendar.add(idea) return ordenar(this.preferencia_despliegue, ideaspararecomendar) Regla 21: Recomendar idea a profesor Sistema de Reglas 18
19 2.3. Recomendación para Egresado recomendarideaaegresado(usuario){ ideas = usuario.ideas relevancia = 0 foreach (idea ideas){ if(usuario es Estudiante){ relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, idea.tags) relevancia += calculardistanciajaccard( this.perfil.habilidades.profesionales, usuario.perfil.habilidades.profesionales) relevancia = normalizardistancia(relevancia, 2) else if (usuario es Profesor){ if (idea es Proyecto){ relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, idea.tags) else{ relevancia = -1 else if (usuario es Egresado){ if(idea es Nueva){ relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, idea.tags) relevancia += calculardistanciajaccard( this.perfil.habilidades.profesionales, usuario.perfil.habilidades.profesionales) relevancia = normalizardistancia(relevancia, 2) else{ relevancia = -1 if (relevancia >=0 relevancia <=0.5) { ideaspararecomendar.add(idea) else if (relevancia>0.5){ ideasparanorecomendar.add(idea) return ordenar(this.preferencia_despliegue, ideaspararecomendar) Regla 22: Recomendar idea a egresado Sistema de Reglas 19
20 2.4. Generales ordenar (preferencia_despliegue, ideaspararecomendar){ if(preferencia_ despliegue== 'Por relevancia'){ return organizarideasporrelevancia(ideaspararecomendar) //Organiza las ideas por el tipo de Usuario: Primero deconfianza, //luego de Relevancia //Tambien tiene en cuenta el número de lights else{ return organizarideasporfecha(ideaspararecomendar) //Organiza las ideas por fecha Regla 23: Ordenar ideas para recomendar de acuerdo a la preferencia de visualización 3. Reglas de Búsqueda Las reglas de búsqueda le permiten a los usuarios de Know&Share buscar ideas y usuarios para que se puedan conectar o buscar ideas de su interés Búsqueda de Usuarios buscarusuario(filtro, parametro){ switch (filtro){ case 'por Habilidad': return buscarporhabilidad(this, parametro) case 'por Area Conocimiento': return buscarporarea(this, parametro) default: return buscarpornombre(this, parametro) Regla 24: Buscar usuario Sistema de Reglas 20
21 Por Habilidad buscarporhabilidad(usuario, parametro){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones){ if(parametro u.perfil.habilidades){ usuarioscercanos.add(u) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes){ if(parametro u.perfil.habilidades){ otrosusuarios.add(u) usuarioscercanos = ordenarporaval(usuarioscercanos) otrosusuarios = ordenarporaval(otrosusuarios) return usuarioscercanos otrosusuarios Por Área Regla 25: Buscar usuario por habilidad buscarporarea(usuario, parametro){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones){ if(parametro u.perfil.intereses.areas_conocimiento){ usuarioscercanos.add(u) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes){ if(parametro u.perfil.intereses.areas_conocimiento){ otrosusuarios.add(u) usuarioscercanos = ordenarporexperticia(usuarioscercanos) otrosusuarios = ordenarporexperticia(otrosusuarios) return usuarioscercanos otrosusuarios Regla 26: Buscar usuario por área de conocimiento Sistema de Reglas 21
22 Por Nombre buscarpornombre(usuario, parametro){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones){ if(parametro u.nombre){ usuarioscercanos.add(u) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes){ if(parametro u.nombre){ otrosusuarios.add(u) usuarioscercanos = ordenarporrelacion(usuarioscercanos) //Primero De Confianza luego Relevancia return usuarioscercanos otrosusuarios 3.2. Búsqueda de Ideas Regla 27: Buscar usuario por nombre buscaridea(filtro, parametro){ switch (filtro){ case 'por Usuario': return buscarideasporusuario(this, parametro) case 'para Continuar': return buscarideasparacontinuar(this) case 'para Empezar': return buscarideasparaempezar(this) case 'Proyecto': //Solo profesores y egresados return buscarproyectos(this) case 'Nueva': return buscarideasnuevas(this) default: return buscarideasportag(this, parametro) Regla 28: Buscar idea Sistema de Reglas 22
23 Por Usuario buscarideasporusuario(usuario, parametro){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones){ if(parametro u.nombre){ ideas.add(u.ideas) if(ideas es ){ //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes){ if(parametro u.nombre){ ideas.add(u.ideas) ideas = ordenarporlights(ideas) return ideas Para Continuar Regla 29: Buscar idea por usuario buscarideasparacontinuar(usuario){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones donde u es Profesor u es Egresado){ foreach(idea u.conexiones){ if(idea es Para Continuar){ ideascercanas.add(idea) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes donde u es Profesor u es Egresado){ foreach(idea u.conexiones){ if(idea es Para Continuar){ ideaslejanas.add(idea) ideascercanas = ordenarporlights(ideascercanas) ideaslejanas = ordenarporlights(ideaslejanas) return ideascercanas ideaslejanas Regla 30: Buscar idea para continuar Sistema de Reglas 23
24 Para Empezar buscarideasparaempezar(usuario){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones donde u es Profesor){ foreach(idea u.conexiones){ if(idea es Para Empezar ){ d = calculardistanciapersonalidad(usuario.perfil.personalidad.tipo, u.perfil.personalidad.tipo) if(d <= 0.50){ ideascercanas.add(idea) else{ ideaslejanas.add(idea) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes donde u es Profesor){ foreach(idea u.conexiones){ if(idea es Para Empezar){ d = calculardistanciapersonalidad(usuario.perfil.personalidad.tipo, u.perfil.personalidad.tipo) if(d <= 0.50){ ideaslejanas.add(idea) else{ ideasmuylejanas.add(idea) ideascercanas = ordenarporlights(ideascercanas) ideaslejanas = ordenarporlights(ideaslejanas) ideasmuylejanas = ordenarporlights(ideasmuylejanas) return ideascercanas ideaslejanas ideasmuylejanas Regla 31: Buscar idea para empezar Sistema de Reglas 24
25 Proyectos buscarproyectos(usuario){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones donde u es Profesor){ foreach(idea u.conexiones){ if(idea es Proyecto){ d = calculardistanciajaccard( usuario.perfil.intereses.areas_conocimiento, u.perfil.intereses.areas_conocimiento) if(d <= 0.50){ ideascercanas.add(idea) else{ ideaslejanas.add(idea) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes donde u es Profesor){ foreach(idea u.conexiones){ if(idea es Para Continuar){ d = calculardistanciajaccard( usuario.perfil.intereses.areas_conocimiento, u.perfil.intereses.areas_conocimiento) if(d <= 0.50){ ideaslejanas.add(idea) else{ ideasmuylejanas.add(idea) ideascercanas = ordenarporlights(ideascercanas) ideaslejanas = ordenarporlights(ideaslejanas) ideasmuylejanas = ordenarporlights(ideasmuylejanas) return ideascercanas ideaslejanas ideasmuylejanas Regla 32: Buscar proyectos Sistema de Reglas 25
26 Ideas Nuevas buscarideasnuevas(usuario){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones){ foreach(idea u.conexiones){ if(idea es Nueva){ ideascercanas.add(idea) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes){ foreach(idea u.conexiones){ if(idea es Nueva){ ideaslejanas.add(idea) ideascercanas = ordenarporlights(ideascercanas) ideaslejanas = ordenarporlights(ideaslejanas) return ideascercanas ideaslejanas Por Tag Regla 33: Buscar idea nueva buscarportag(usuario, parametro){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones){ foreach(idea u.ideas){ if(parametro idea.tags){ ideascercanas.add(u.ideas) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes){ foreach(idea u.ideas){ if(parametro idea.tags){ ideaslejanas.add(u.ideas) ideascercanas = ordenarporpreferenciaidea(ideascercanas, usuario.perfil.preferencias_ideas) ideaslejanas = ordenarporlights(ideaslejanas) return ideascercanas ideaslejanas Regla 34: Buscar idea por tag Sistema de Reglas 26
27 4. Reglas de Recomendación Especial Las reglas de recomendación especial le ofrecen la posibilidad de visualizar usuarios o ideas que no se recomendarían, pero que podrían ayudarle a crear valor en su red de conocimiento personal Recomendación de Idea Diferente Variante 1 recomendarideadiferente1(usuario){ ideas = usuario.ideasparanorecomendar if(ideas no esta ){ ideasdiferentes = ordenarporlights(ideas) return ideasdiferentes.get(0) return null Regla 35: Recomendar idea diferente (variación 1) 4.2. Recomendación de Idea Diferente Variante 2 recomendarideadiferente2(usuario){ ideas = usuario.ideasparanorecomendar if(ideas no esta ){ ideasdiferentes = ordenarporpreferenciaidea(ideas, usuario.perfil.preferencias_ideas) return ideasdiferentes.get(0) return null Regla 36: Recomendar idea diferente (variación 2) 4.3. Recomendación de Usuario Diferente Variante 1 recomendarusuariodiferente(usuario){ usuarios = usuario.usuariosparanorecomendar if(usuarios no esta ){ usuariosdiferentes = ordenarporpersonalidad(usuarios, usuario.perfil.personalidad.tipo) return usuariosdiferentes.get(0) return null Regla 37: Recomendar usuario diferente (variación 1) Sistema de Reglas 27
28 4.4. Recomendación de Usuario Diferente Variante 2 recomendarusuariodiferente(usuario){ usuarios = usuario.usuariosparanorecomendar if(usuarios no esta ){ usuariosdiferentes = ordenarporcarrera(usuarios, usuario.perfil.carrera) return usuariosdiferentes.get(0) return null Regla 38: Buscar usuario diferente (variación 1) Trabajos citados [1] G. Adomavicius and A. Tuzhilin, "Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions," IEEE Transactions on Knowledge and Data Engineering, vol. 17, no. 6, pp , [2] S. Chen, S. Owusu and L. Zhou, "Social Network Based Recommendation Systems: A Short Survey," Social Computing (SocialCom), 2013 International Conference on, pp , [3] L. Candillier, F. Meyer and F. Fessant, "Designing Specific Weighted Similarity Measures to Improve Collaborative Filtering Systems," in Advances in Data Mining: Medical Applications, E-Commerce, Marketing, and Theoretical Aspects, Berlin, Heidelberg, Springer-Verlag, [4] A. Gardner, J. Kanno, C. Duncan and R. Selmic, "Measuring Distance between Unordered Sets of Different Sizes," in Computer Vision and Pattern Recognition (CVPR), Columbus, OH, [5] K. J. Horadam and M. A. Nyblom, "Distances between sets based on set commonality," Discrete Applied Mathematics, vol. 167, no. April, pp , [6] Á. C. Carrillo Ramos, M. Y. Uribe Ríos, M. I. Brijaldo Rodríguez, L. F. Barrera León, M. L. Sabogal Modera, N. A. Mejía, J. Pavlich-Mariscal, A. Pomares Quimbaya and J. E. Carreño Vargas, ASHYI: Plataforma Basada en Agentes para la Planificación Dinámica, Inteligente y Adaptativa de Actividades Aplicada a la Educación Personalizada, Bogotá: Pontificia Universidad Javeriana: Colciencias, Sistema de Reglas 28
29 Sistema de Reglas 29
IIC Sistemas Recomendadores
Sistemas Recomendadores Híbridos IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile Page 1 of 33 Memo del Semestre Tarea 1: Deadline el Jueves 17 de Septiembre. Lecturas
Más detallesIIC 3633 - Sistemas Recomendadores
Ranking & UB-CF IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile Page 1 of 19 TOC En esta clase 1. Definición y un poco de Historia 2. Ranking No Personalizado 3. User-Based
Más detallesProtocolo de Pruebas
Protocolo de Pruebas VERSIÓN 0.3 Dirigido a: Ingeniera luisa Fernanda barrera león Autor: Katherine Espíndola Buitrago PONTIFICIA UNIVERSIDAD JAVERIANA Departamento de ingeniería de sistemas Bogotá, Colombia
Más detallesCualidades como profesor
Cualidades como profesor VERSIÓN 0.1 Dirigido a: Ingeniera luisa Fernanda barrera león Autor: Katherine Espíndola Buitrago PONTIFICIA UNIVERSIDAD JAVERIANA Departamento de ingeniería de sistemas Bogotá,
Más detallesExplotación del B2B y segmentación de la clientela
Explotación del B2B y segmentación de la clientela Algoritmos de recomendación en R Sesión 4. 24/10/2018 A.M.Mayoral (asun.mayoral@umh.es), J.Morales (j.morales@umh.es) Explotación del B2B y segmentación
Más detallesObteniendo valoraciones de ítems desde opiniones de usuarios para resolver el problema de Cold Start en sistemas recomendadores
Obteniendo valoraciones de ítems desde opiniones de usuarios para resolver el problema de Cold Start en sistemas recomendadores Silvana Aciar 1, Gabriela Aciar 1, Nestor Duque 2 1 Instituto de Informática
Más detallesVizier: un framework para recomendar productos/servicios de manera genérica y multidimensional
1 Vizier: un framework para recomendar productos/servicios de manera genérica y multidimensional Andrea Barraza-Urbina Pontificia Universidad Javeriana abarraza@javeriana.edu.co Resumen Angela Carrillo-Ramos
Más detallesSistemas Híbridos de Recomendación. IIC3633 RecSys 2do semestre 2014 23 de Sep=embre Denis Parra
Sistemas Híbridos de Recomendación IIC3633 RecSys 2do semestre 2014 23 de Sep=embre Denis Parra Resumen Mo=vacion Clasificación General Modelos de Hibridización Ejemplos Mo=vación Diferentes métodos =enen
Más detallesDISEÑO ARQUITECTURA DEL SOFTWARE
DISEÑO ARQUITECTURA DEL SOFTWARE [ZUGYM] v2.0 DIRIGIDO A: Ingeniera Alexandra Méndez Lindo AUTORA: Luisa Fernanda Barrera León PONTIFICIA UNIVERSIDAD JAVERIANA Departamento de Ingeniería de Sistemas BOGOTÁ,
Más detallesModelo de Recomendación Basado en Conocimiento y Números SVN. Modelo de Recomendación Basado en Conocimiento y Números SVN
29 Neutrosophic Computing and Machine Learning, Vol. 1, 2018 University of New Mexico Modelo de Recomendación Basado en Conocimiento y Números SVN Modelo de Recomendación Basado en Conocimiento y Números
Más detallesInstituto Tecnológico de Lázaro Cárdenas Ingeniería Electrónica. Programa en MATLAB
Instituto Tecnológico de Lázaro Cárdenas Ingeniería Electrónica Programa en MATLAB Asignatura: Análisis Numérico Docente: M.C. Julio César Gallo Sanchez Alumno: José Armando Lara Ramos 4 o Semestre Febrero
Más detallesAplicaciones. Inteligencia Computacional Carrera de Ingeniería Informática
Aplicaciones Inteligencia Computacional Carrera de Ingeniería Informática Aplicaciones de IC Unidad VIII: Configuración del problema y aplicación de las técnicas de inteligencia computacional en: clasificación
Más detallesMaribel Martínez y Ginés Ciudad-Real Fichas para mejorar la atención MATRIZ DE LETRAS
MATRIZ DE LETRAS p q d b p p b n g b n w n w n n w b p q d b p q d n w n g b n p q p q p q d b p n g n g n g b n w n d b d b b p q d b b n b n n w n g b n p q p q p q d b p n g n g n g b n w n d b d b
Más detallesControl con Lógica Difusa
Control con Lógica Difusa Dr. Fernando Ornelas Tellez Universidad Michoacana de San Nicolás de Hidalgo Facultad de Ingeniería Eléctrica Morelia, Michoacan Dr. Fernando Ornelas Tellez UMSNH-FIE División
Más detallesRecomendación Musical
Recomendación Musical IIC3633 PROFESOR: D ENIS PARRA ALUMNO: MIGUEL FADIĆ 1 Papers McFee, B., Barrington, L., & Lanckriet, G. (2012). Learning content similarity for music recommendation. Audio, Speech,
Más detallesGUIA DE EJERCICIOS N 1 LENGUAJE C# Página 1 de 5. Instructor: Ing. Néstor Raúl Suarez Perpiñan
Página 1 de 5 GUIA DE EJERCICIOS N 1 LENGUAJE C# Realizar para cada ejercicio un programa tipo consola en lenguaje C# que satisfaga con los requerimientos propuestos: PARTE I. EJERCICIOS BASICOS 1. Programa
Más detallesTEST DE DETERMINANTES
Página 1 de 7 TEST DE DETERMINANTES 1 Si A es una matriz cuadrada de orden 3 con A = -2, a qué es igual -A? A -2 B 2 C 0 D -6 2 A -144 B 44 C 88 D -31 3 Indicar qué igualdad es falsa: A B C D 4 A -54 B
Más detallesSustento numérico del Software Superdecisions en el análisis multicriterio del tipo AHP/ANP
Sustento numérico del Software Superdecisions en el análisis multicriterio del tipo AHP/ANP Agosto 2014 1. Introducción... 1 2. Estructura de un problema de multicriterio en jerarquías... 1 3. Escala de
Más detallesAnálisis de propiedades de medidas de similitud con atributos binarios
Análisis de propiedades de medidas de similitud con atributos binarios Iván Ramírez, Ildar Batyrshin Instituto Politécnico Nacional, Centro de Investigación en Computación, Ciudad de México, D.F. {ramirez.alvarez.ipn,
Más detallesIngeniería de Aplicaciones Web
Ingeniería de Aplicaciones Web Carrera: Ingeniería en Computación Profesor Responsable: Rossi, Gustavo Héctor Año: Optativa Duración: Semestral Carga Horaria Semanal: 6hs Carga Horaria Total: 96hs OBJETIVOS
Más detallesPara cada problema realizar: Análisis Diseño Diagramas de Flujo
Para cada problema realizar: Análisis Diseño Diagramas de Flujo 1. Llenar la 1ra columna de una matriz A de dimensión N*M y aplicar la rotación por columnas M-1 veces para llenar el resto de la matriz.
Más detallesIntroducción a la programación en PHP
Introducción a la programación en PHP Qué es PHP? Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en páginas HTML y ejecutado en un servidor. Qué
Más detallesCátedra I Informática Autor I Carlos Bartó
FCEFyN Departamento de Computación Informática Examen - 07-07-2008 Apellido y Nombres: Matrícula: Carrera: PROBLEMAS: 1) Especifique en el lenguaje C++ una función denominada calc_fecha() que tenga como
Más detallesUna pregunta pendiente
Una pregunta pendiente Cómo podemos construir un generador (casi) uniforme para una relación? Recuerde el problema KS definido en la sección anterior y la relación: R KS = {((~a, b), ~x) ~a 2 N n y ~x
Más detallesGestor de bases de datos MicroSoft Access (4 de 4)
Gestor de bases de datos MicroSoft Access (4 de 4) Departament d Informàtica de Sistemes i Computadors 1 Contenido Diseño de informes Ejemplos: NEPTUNO 2 Introducción a la Informática - Gestión de Bases
Más detallesCalidad de Sistemas de Información Tercer Ciclo Para el Curso académico 2004/2005 Ciudad Real, marzo de 2005
Universidad de Castilla-La Mancha Escuela Superior de Informática Calidad de Sistemas de Información Tercer Ciclo Para el Curso académico 2004/2005 Ciudad Real, marzo de 2005 Este documento contiene la
Más detallesCátedra I Informática Autor I Carlos Bartó
Cátedra I Informática Autor I Carlos Bartó FCEFyN Departamento de Computación Informática Examen - 11-02-2008 Apellido y Nombres: Matrícula: Carrera: ESPECIFICACION: Desarrollar un programa en lenguaje
Más detallesIIC Sistemas Recomendadores
Filtrado Basado en Contenido IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile Page 1 of 28 Lo que Queda del Semestre Tarea 1: Deadline el Lunes 5 de Septiembre. 2/28 Page
Más detallesESPECIFICACIÓN DE REQUERIMIENTOS
ESPECIFICACIÓN DE REQUERIMIENTOS [ZUGYM] v2.0 DIRIGIDO A: Ingeniera Alexandra Méndez Lindo AUTORA: Luisa Fernanda Barrera León PONTIFICIA UNIVERSIDAD JAVERIANA Departamento de Ingeniería de Sistemas BOGOTÁ,
Más detalles,..., a 1n. ) y B. , a 12. A B a 11 b 11 a 12 b 21 a 1n b n1
93 Operaciones matriciales 373 El producto interno Definición: Producto interno Suponga que (a 11, a 1,, a 1n ) y expresado como, es b 11 b 1 b n1 ; entonces el producto interno, a 11 b 11 a 1 b 1 a 1n
Más detallesIntroducción a la Programación
Grupo H Semana 8 Pontificia Universidad Javeriana Cali 6 y 8 de Septiembre de 2011 Recorderis Ciclos Expresiones que se repiten hasta que una determinada condición es encontrada en el sistema. Recorderis
Más detallesUniversitas Scientiarum ISSN: Pontificia Universidad Javeriana Colombia
Universitas Scientiarum ISSN: 0122-7483 revistascientificasjaveriana@gmail.com Pontificia Universidad Javeriana Colombia Castro Chadid, Iván PROGRAMACIÓN AVANZADA CON DERIVE. APLICACIONES AL ALGEBRA LINEAL
Más detallesIIC Sistemas Recomendadores
Filtrado Basado en Contenido IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile Page 1 of 27 Lo que Queda del Semestre Tarea 1: Deadline el Jueves 17 de Septiembre. Lecturas
Más detallesConceptos Preliminares
Conceptos Preliminares Igualdad de matrices Definición: Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan la misma posición en ambas son iguales. Estas matrices cumplen
Más detallesUso de Modelos de Markov para Recomendación de Actividades en la Hipermedia Adaptativa
Uso de Modelos de Markov para Recomendación de Actividades en la Hipermedia Adaptativa Estefanía Martín 1 1 Lenguajes y Sistemas Informáticos I Universidad Rey Juan Carlos c/tulipán s/n, Móstoles, Madrid,
Más detallesFundamentos de Programación Entera. A. Revisión. Carlos Testuri Germán Ferrari
Fundamentos de Programación Entera A. Revisión Carlos Testuri Germán Ferrari Departamento de Investigación Operativa Instituto de Computación Facultad de Ingeniería Universidad de la República 2012-2018
Más detallesOptimización global en espacios restringidos mediante el sistema inmune artificial.
Optimización global en espacios restringidos mediante el sistema inmune artificial. Tesista: Daniel Trejo Pérez dtrejo@computacion.cs.cinvestav.mx Director de tesis: Dr. Carlos Artemio Coello Coello CINVESTAV-IPN
Más detallesPROGRAMA DE CURSO. Herramientas Computacionales para Ingeniería y Ciencias. SCT Auxiliar. Personal Obligatorio (Requisito de FI1002)
PROGRAMA DE CURSO Código CC1000 Nombre Herramientas Computacionales para Ingeniería y Ciencias Nombre en Inglés Computer Tools for Engineering and Sciences es Horas de Horas Docencia Horas de Trabajo SCT
Más detallesSemana 2 [1/29] Matrices. 31 de julio de Matrices
Semana 2 [1/29] 31 de julio de 2007 elementales Semana 2 [2/29] Matriz de permutación Matriz de permutación Una matriz elemental de permutación tiene la siguiente estructura: 1 0 0 1 0 1 fila p 1 I pq
Más detallesPráctica 2 - Manejo de estructuras de datos y punteros
Práctica 2 - Manejo de estructuras de datos y punteros Organización del Computador 2 1er Cuatrimestre 2017 1. Estructuras estáticas: Vectores y Matrices Ejercicio 1 Para cada uno de los siguientes ítems,
Más detallesINF Investigación de Operaciones
INF 3144 - Investigación de Operaciones Rodrigo Olivares Mg. en Ingeniería Informática rodrigo.olivares@uv.cl 26 de mayo de 2017 Rodrigo Olivares (PUCV) INF 3144 - Investigación de Operaciones 26 de mayo
Más detallesIIC Sistemas Recomendadores
Filtrado Basado en Contenido II IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile Page 1 of 22 TOC En esta clase 1. Representación y Aprendizaje del Modelo de Usuario 1.
Más detallesINGENIERIA DE APLICACIONES WEB. Año 2017 UNIVERSIDAD NACIONAL DE LA PLATA FACULTAD DE INFORMÁTICA FUNDAMENTACIÓN
INGENIERIA DE APLICACIONES WEB Año 2017 Carrera/Plan: Licenciatura en Informática Plan 2003-07/ Plan 2012 Licenciatura en Sistemas Plan 2003-07/ Plan 2012 Año: 4º o 5º año Régimen de Cursada: Semestral
Más detallesQué es una RNA? Cómo surgieron y para qué? Aplicaciones? Lic. Leticia Seijas SdC Departamento de Computación - FCEyN - UBA
Para qué sirven las Redes Neuronales? SdC 2010 Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Qué es una RNA? Cómo surgieron y para qué? Aplicaciones?
Más detallesProgramación Orientada Objetos. Estructuras de control if, If else, switch
Programación Orientada Objetos Estructuras de control if, If else, switch Estructuras de control Las estructuras condicionales controlan si una sentencia o bloque de sentencias se ejecutan, en función
Más detallesSeminario 55. Excel Experto
Seminario 55. Excel Experto Contenidos 1. Introducción 2. Funciones lógicas 3. Funciones estadísticas 4. Funciones de búsqueda y referencia 5. Filtros básicos y filtros avanzados 6. Tablas dinámicas 7.
Más detallesTécnicas Avanzadas de Visión por Computador
Técnicas Avanzadas de Visión por Computador Sistemas Informáticos Avanzados Índice Introducción. Registrado basado en grises. Funciones criterio. Métodos de minimización. Registrado multimodal. Registrado
Más detallesPredictor Basado en Prototipos Difusos y Clasificación Nosupervisada
Predictor Basado en Prototipos Difusos y Clasificación Nosupervisada JIISIC-CEIS'2015 Aníbal Vásquez, Enrique Peláez y Xavier Ochoa anibal.vasquez @cti.espol.edu.ec, epelaez@cti.espol.edu.ec, xavier@cti.espol.edu.ec
Más detallesPROGRAMA DE CURSO. Personal CC3301 Programación de Software de Sistemas Resultados de Aprendizaje
PROGRAMA DE CURSO Código Nombre CC5204 Búsqueda y Análisis de Imágenes y Videos Nombre en Inglés Image and Video Retrieval SCT Unidades Horas de Horas Docencia Horas de Trabajo Docentes Cátedra Auxiliar
Más detallesIIC3633 Sistemas Recomendadores Functional Matrix Factorizations for Cold-Start Recommendation. Juan Navarro
IIC3633 Sistemas Recomendadores Functional Matrix Factorizations for Cold-Start Recommendation Juan Navarro Referencia Zhou, K., Yang, S., and Zha, H. Functional matrix factorizations for cold-start recommendation.
Más detallesTécnicas de Predicción para la Eficiencia Energética en Smart Cities
Técnicas de Predicción para la Eficiencia Energética en Smart Cities Fernando J. Isorna 1, Alicia Troncoso 1 1 Departamento de Ingeniería Informática, Universidad Pablo de Olavide fjisoret@alumno.upo.es,
Más detallesIntroducción a Matlab
Universidad de Chile Facultad de Cs. Físicas y Matemáticas Departameto de Ciencias de la Computación CC3501 - Computación Gráfica, Visualización y Modelación para Ingenieros Prof. María Cecilia Rivara
Más detallesUE#04 PROBLEMAS DE ANÁLISIS DE CASOS CONTROL DE ALTERNATIVAS
UE#04 PROBLEMAS DE ANÁLISIS DE CASOS CONTROL DE ALTERNATIVAS Índice Ruptura de control. Sentencia if y sus variantes. Sentencia switch Usos y estilo RUPTURA DE CONTROL En un bloque, la ejecución es secuencial:
Más detallesSobre Carga de Operadores
Programación Orientada o Objetos Univesidad de Los Andes - Facultad de Ingeniería Escuela de Sistemas Programación Digital II Profesor: Gilberto Diaz gilberto@ula.ve Las operaciones tradicionales que se
Más detallesSEMINARIO DE DQL CON PHP Y MYSQL
SEMINARIO DE DQL CON PHP Y MYSQL Índice del Seminario Instalación del paquete XAMPP en Windows Instalación de directorios virtuales. Creación y ejecución de la primera pagina PHP. Fundamentos de PHP Estructura
Más detallesManual de Usuario. OCLING - Organic Chemistry Learning Aplicación Para Apoyar La Enseñanza De Química Orgánica En Universidades
Manual de Usuario OCLING - Organic Chemistry Learning Aplicación Para Apoyar La Enseñanza De Química Orgánica En Universidades FACULTAD DE INGENIERIA CARRERA DE INGENIERIA DE SISTEMAS BOGOTÁ, D.C. 2016
Más detallesCapítulo 2: Introducción al lenguaje.
Capítulo 2: Introducción al lenguaje. PHP es un lenguaje no posicional, por lo que no importa la columna en la cual se comience a escribir el código. Tampoco influye sobre el código la cantidad de saltos
Más detallesPredicción de una serie de tiempo caótica
Predicción de una serie de tiempo caótica P techniques LUIS FERNANDO PEDRAZA MARTÍNEZ Ingeniero Electrónico de la Universidad Distrital Francisco José de Caldas, magister en Ciencias de la Información
Más detallesMostrar los valores en las filas de la matriz. Informes: Novedades de la última versión de. Analítica:
Novedades de la última versión de Power BI La aplicación de análisis de negocios Power BI, ha añadido nuevas caracterís cas a la matriz visual, incluyendo una opción de formato para mostrar los valores
Más detallesAnálisis de técnicas caligráficas para la mejora del reconocimiento automático de firma
Universidad Autónoma de Madrid Escuela Politécnica Superior Anteproyecto Análisis de técnicas caligráficas para la mejora del reconocimiento automático de firma Ingeniería de Telecomunicación Autor: Francisco
Más detallesRelación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2016-2017 1º Grado en Informática Práctica 3: Recursividad, Ficheros y Argumentos en Línea de órdenes Objetivos
Más detallesIntroducción a C# y la plataforma.net
Introducción a y la plataforma.net Matías Malbergier 2013 Plataforma.NET.NET provee un set de herramientas (Framework) el cual permite desarrollar programas apuntando a múltiples plataformas y utilizando
Más detallesCátedra de Base de Datos
Cátedra de Base de Datos Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Ciclo Lectivo 2018 Programa Analítico de la Materia Unidad 4: Álgebra relacional Álgebra relacional. Sintaxis
Más detallesNombre de la Unidad de Aprendizaje. Clave de la UA Modalidad de la UA Tipo de UA Valor de créditos Área de formación
Misión del Centro Universitario Somos un centro que forma parte de la Red Universitaria de la Universidad de Guadalajara. Como institución de educación superior pública asumimos el compromiso social de
Más detallesGUÍA DOCENTE HERRAMIENTAS DE PRODUCTIVIDAD PERSONAL Julio 2017
Julio 2017 DATOS GENERALES Nombre del curso: Código: 801119 (ADE) 801903 (MKCD) Curso: 2016-17 Titulación: Grado en Administración y Dirección de Empresas Grado en Marketing y Comunicación Digital Nº de
Más detallesUNA SELECCIÓN DE CANALES DE DISTRIBUCIÓN A TRAVÉS DE RELACIONES BORROSAS
UNA SELECCIÓN DE CANALES DE DISTRIBUCIÓN A TRAVÉS DE RELACIONES BORROSAS Carrizo, M.A., Casparri, M.T. y Taboada, E. En el presente trabajo nos ocupamos de uno de los aspectos relevantes de la logística.
Más detallesManual del Usuario para el programa de reconocimiento de caracteres.
Manual del Usuario para el programa de reconocimiento de caracteres. Instalación. El software no tiene programa de instalación, solo es necesario copiar el ejecutable al directorio donde usted desee. Y
Más detallesNormalización Clase Práctica SPI y SPDF
Normalización Clase Práctica Departamento de Computación - Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Base de Datos 2do. Cuatrimestre 2015 Esquema General 1 Introducción 2 Sin
Más detallesRECTIFICACIÓN DE DOCUMENTOS USANDO CONJUNTOS FUZZY Y OPERACIONES MORFOLÓGICAS.
RECTIFICACIÓN DE DOCUMENTOS USANDO CONJUNTOS FUZZY Y OPERACIONES MORFOLÓGICAS. Procesamiento Imágenes Digitales Grupo 1 Autores: María José Casuso Segovia José María Marquez Toro Víctor Zamora Roldán 1.
Más detallesViabilidad de la aplicación de Sistemas de Recomendación a entornos de e-learning
Viabilidad de la aplicación de Sistemas de Recomendación a entornos de e-learning Oscar Sanjuán Martínez 1, Enrique Torres Franco 2, Hector Castán Rodriguez 2, Rubén Gonzalez Crespo 2, B. Cristina Pelayo
Más detallesIIC Sistemas Recomendadores. Denis Parra Profesor Asistente, DCC, PUC CHile
Recomendador Slope One IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile TOC En esta clase 1. Resumen últimas clases 2. Recomendador Slope One 3. Ejemplo pequeño 2/14 Resumen
Más detallesEJERCICIOS RESUELTOS DE DETERMINANTES
EJERCICIOS RESUELTOS DE DETERMINANTES 1. Calcular los siguientes determinantes: a) - 13 b) 4-3 8 1 0 3-1 -1 1 3-4 a) - 13 = (-)(-3) 4.13 = 1 2 = -37 4-3 b) 8 1 0 3-1 -1 1 3-4 = 8(-1)(-4) + 1(-1)1 + 0 0
Más detallesOptimización por Enjambre de Partículas para resolver el problema de control óptimo inverso en Seguimiento de Trayectorias
Memorias del XVI Congreso Latinoamericano de Control Automático, CLCA 2014 Optimización por Enjambre de Partículas para resolver el problema de control óptimo inverso en Seguimiento de Trayectorias E.
Más detallesUNIVERSIDAD TECNICA LUIS VARGAS TORRES Esmeraldas - Ecuador MATRICES Y VECTORES
UNIVERSIDAD TECNICA LUIS VARGAS TORRES Esmeraldas - Ecuador MATRICES Y VECTORES Facultad de Ingenierías y Tecnologías Ing. Paúl Viscaino Valencia DOCENTE OBJETIVO Interpretar y resolver los problemas básicos
Más detallesUniversidad Nacional Santiago Antúnez de Mayolo
Universidad Nacional Santiago Antúnez de Mayolo Generación de Math Apps en Sistemas Dinámicos para Ingenieria con Maplesoft 1 1 Universidad César Vallejo Escuela de Ingeniería Civil 1 physicsleninac@hotmail.com
Más detallesPROGRAMA DE DOCTORADO
PROGRAMA DE DOCTORADO Desarrollo de familias de productos de software desde un enfoque generativo DPTO. DE INGENIERÍA DE SOFTWARE Y SISTEMAS INFORMÁTICOS Tema 1 Introducción Autor: Rubén Heradio Gil Índice
Más detalles23/10/14. Algebra Matricial $ $ ' ' ' $ & & & # # I 3 I 2 = 1 0 $ DEFINICION DE MATRIZ 2.1 CONCEPTOS DE MATRICES CONCEPTOS DE MATRICES. $ n. ! a.
/0/ Algebra Matricial. OPERACIONES DE DEFINICION DE MATRIZ Si A es una matriz de m x n (esto es una matriz con m filas y n columnas) la entrada escalar en la i-ésima fila y la j-ésima columna de A se denota
Más detallesAlgoritmos y Protocolos Criptográficos con Curvas Eĺıpticas
Algoritmos y Protocolos Criptográficos con Curvas Eĺıpticas Josep M. Miret Escola Politècnica Superior Departament de Matemàtica Universitat de Lleida e-mail: miret@eps.udl.es Murcia, 24-25 de Noviembre
Más detallesIDENTIFICACIÓN DE SISTEMAS MÉTODOS POR SUB-ESPACIOS
IDENTIFICACIÓN DE SISTEMAS MÉTODOS POR SUB-ESPACIOS Ing. Fredy Ruiz Ph.D. ruizf@javeriana.edu.co Maestría en Ingeniería Electrónica Pontificia Universidad Javeriana 2013 Introduccion La teoría de sistemas
Más detalles4- Introducción a PHP
4- Introducción a PHP Curso: Desarrollo de aplicaciones web Cris*na Puente, Rafael Palacios 2010- 1 Introducción a PHP Qué es PHP? Lenguaje de alto nivel que se ejecuta en el servidor Al ejecutarse en
Más detallesSENA SERVICIO NACIONAL DE APRENDIZAJE
PRACTICA 1 1- Crea la siguiente hoja de cálculo. 2- Calcula todos los totales; utilizando en las filas el método manual y en las columnas la función Autosuma. 3- Modifica el ancho de las columnas para
Más detallesTEST DE MATRICES. Dadas A = (-3 4 1/2) y B = (1/3 0-2), cuál es el resultado de multiplicar la matriz A por la traspuesta de B?
file://:\mis documentos\u6mattest\u6mattesttodo.htm Página 1 de 7 TEST E MTRIES 1 eterminar la matriz opuesta de la siguiente matriz: 2 Si y son dos matrices de orden 3x2, de qué orden es la matriz resultante
Más detallesCURRÍCULO INVESTIGADOR
1. DATOS DEL * RAMON ENRIQUE PEREZ PINEDA Cédula 0959948290 Género Masculino Nacionalidad Venezolana Email rperezp@ups.edu.ec Email institucional rperezp@ups.edu.ec Organización Palabra primaria Ingeniería
Más detallesMétricas para la validación de Clustering
Métricas para la validación de Clustering MINERIA DE DATOS Elizabeth León Guzmán, Profesor Asociado Universidad Nacional de Colombia Ingeniería de Sistemas y Computación Contenido Introducción Tipos de
Más detallesReconocimiento de rostros con Redes Neuronales Convolucionales
Reconocimiento de rostros con Redes Neuronales Convolucionales Redes Neuronales (66.63) FIUBA Mario Azcueta Reconocimiento de rostros DETECTAR un rostro en una escena IDENTIFICAR un rostro en particular
Más detallesMATRICES. Se denomina matriz de dimensión m n a todo conjunto cuyos elementos están dispuestos en m filas y n columnas. o simplemente A = (a.
MATRICES Se denomina matriz de dimensión m n a todo conjunto cuyos elementos están dispuestos en m filas y n columnas A= 2 1 5 0 3 8 A es de dimensión 2 3. a a a En general una matriz de dimensión 2 3
Más detallesMatemáticas 2.º Bachillerato. Matemáticas 2.º Bachillerato. Matemáticas 2.º Bachillerato. Ejemplo:
Mapa conceptual Determinante de segundo orden Dada una matriz cuadrada de segundo orden: a a 11 12 A = a a 21 22 se llama determinante de A al número real: det (A)= A = a11 a 12 = a a a a a21 a22 11 22
Más detallesSelección de atributos
Selección de atributos Series Temporales Máster en Computación Universitat Politècnica de Catalunya Dra. Alicia Troncoso Lora 1 Contenido Introducción Clasificación de las técnicas Esquema General Evaluadores
Más detallesIntroducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT
Introducción Objetivos I-2 Objetivos del Curso I-3 Oracle11g - 12cI-5 Oracle Database 11g - 12cI-6 Oracle Application Server 11g - 12cI-7 Oracle Enterprise Manager 11g - 12cGrid Control I-8 Sistema de
Más detallesINSTITUTO LA PAZ. Tutorial Paso a Paso Tablas Dinámicas
INSTITUTO LA PAZ Tutorial Paso a Paso Tablas Dinámicas Las tablas dinámicas es una de las funciones interactivas más útiles y tecnológicamente avanzadas que nos ofrece Microsoft Excel, abriendo a todos
Más detallesadaptable al contexto
Aproximación metodológica a la integración de procesos de negocio, en la industria del Café, sensible y adaptable al contexto Jorge E. Giraldo, Ph.D(c) Demetrio A. Ovalle, Ph.D Universidad Nacional de
Más detallesReglas de Asociación Difusas para la Detección
Reglas de Asociación Difusas para la Detección de Anomaĺıas M.D. Ruiz, D. Sánchez, M.J. Martin-Bautista, M.A. Vila, M. Delgado 6 de Febrero de 2014 2 Motivación Las Reglas de Asociación permiten identificar
Más detallesUniversidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México
Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México Unidad Académica Profesional Tianguistenco Ingeniería de Software Estructura de Datos
Más detallescontar con una herramienta de este tipo, cuando se trata de efectuar estudios sobre calidad de potencia.
PROGRAMA EN MATLAB PARA ANALISIS Y SIMULACION DE ARMONICOS Luis Hernando Correa Salazar Grupo de investigación en calidad de la potencia eléctrica - Universidad de La Salle Resumen: En este artículo se
Más detallesDesarrollo de un sistema para medir similitud entre clases
Desarrollo de un sistema para medir similitud entre clases R. Guzmán-Cabrera, J.C. Ruiz, M. Torres-Cisneros University of Guanajuato, Engineering Division, Irapuato-Salamanca, Guanajuato, México guzmanc@ugto.mx
Más detallesSumar números rápidamente
Sumar números rápidamente Excel proporciona varias maneras rápidas de sumar números. Por ejemplo, si no necesita mostrar el total en la hoja, puede obtener un total rápido en la barra de estado para todas
Más detallesVÍCTOR HUGO VELA PINZÓN DIRECTORA: ING. LUISA FERNANDA BARRERA LEÓN MODALIDAD: APLICACIÓN PRÁCTICA SUSTENTACIÓN TRABAJO DE GRADO
MV LIFE GYM MOBILE VÍCTOR HUGO VELA PINZÓN DIRECTORA: ING. LUISA FERNANDA BARRERA LEÓN MODALIDAD: APLICACIÓN PRÁCTICA SUSTENTACIÓN TRABAJO DE GRADO FACULTAD DE INGENIERIA INGENIERÍA DE SISTEMAS 2014-3
Más detalles