Avances en Informatica y Automatica Sept
Avances en Informatica y Automatica Sept
Avances en Informatica y Automatica Sept
Automática
Séptimo Workshop
Avances en Informática y
Automática
Séptimo Workshop
Editores:
Juan Cruz Benito
Alicia García Holgado
Sergio García Sánchez
Daniel Hernández Alfageme
María Navarro Cáceres
Roberto Vega Ruiz
Publicado en España por:
Departamento de Informática y Automática
Facultad de Ciencias
Universidad de Salamanca
Plaza de los Caídos s/n
37008, Salamanca, España
Tel.: + 34 923294653
Fax: + 34 923294514
Web: http://mastersi.usal.es
Email: [email protected]
ISBN - 10 84-695-8670-X
ISBN - 13 978-84-695-8670-9
Editores:
Juan Cruz Benito
Alicia García Holgado
Sergio García Sánchez
Daniel Hernández Alfageme
María Navarro Cáceres
Roberto Vega Ruiz
Program Committee
Belén Curto Diego
José Rafael García-Bermejo Giner
Vivian F. López Batista
Luis Antonio Miguel Quintales
Belén Pérez Lancho
Ángel Luis Sánchez Lázaro
Pastora Isabel Vega Cruz
Índice general
1. Introducción
El proceso de reconocimiento automático del habla (RAH) dota a las máqui-
nas de la capacidad de recibir mensajes orales. Tomando como entrada la señal
acústica recogida por un micrófono, el proceso de reconocimiento automático
del habla tiene como objetivo final descodificar el mensaje contenido en la onda
acústica para realizar las acciones pertinentes. Para lograr este fin, un sistema de
RAH necesitaría conjugar una gran cantidad de conocimientos acerca del sistema
auditivo humano, sobre la estructura del lenguaje, la representación del signifi-
cado de los mensajes y sobre todo el autoaprendizaje de la experiencia diaria.
Actualmente estamos lejos de lograr un sistema completo que pueda compren-
der cualquier mensaje oral en cualquier contexto tal y como lo podría hacer un
ser humano. Sin embargo, la tecnología actual si que permite realizar sistemas
de RAH que pueden trabajar, con un error aceptable, en entornos semánticos
restringidos. Básicamente, el reconocimiento del habla es un proceso de clasifica-
ción de patrones, cuyo objetivo es clasificar la señal de entrada (onda acústica)
en una secuencia de patrones previamente aprendidos y almacenados en unos
diccionarios de modelos acústicos y de lenguaje. Este proceso de clasificación
2
supone, en primer lugar que la señal de voz puede ser analizada en segmentos
de corta duración y representar cada uno de los segmentos mediante su conte-
nido frecuencial, de forma análoga al funcionamiento del oído, en segundo lugar
que mediante un proceso de clasificación podemos asignar a cada segmento o
conjuntos consecutivos de segmentos una unidad con significado lingüístico y
finalmente, en tercer lugar, que mediante un procesador lingüístico podemos dar
significado a las secuencias de unidades. Este último paso del sistema supone
incorporar al sistema de RAH conocimiento acerca de la estructura sintáctica,
semántica y pragmática del lenguaje. Sin embargo, los sistemas actuales de RAH
solo incorporan estas fuentes de conocimiento sobre tareas muy restringidas y
controladas, estando la mayoría de ellos en experimentación en condiciones de
laboratorio.
Con este objetivo mas o menos en mente, se lanzan grandes proyectos de in-
vestigación en los que se pretende llegar a las menores restricciones gramaticales
posibles de las frases a reconocer, así como del léxico utilizado. Son varios los
países en los que se comienza a trabajar en proyectos de ésta índoles (Japón,
Francia, etc.), pero en EE.UU. donde se lanza, en 1971, el mayor proyecto co-
nocido en la historia del reconocimiento del habla. Se trata del «ARPA-SUR»
4
por las ondas de presión producidas por el aparato fonador humano. Los objetos
externos de este universo son los constituyen las diferentes formas acústicas del
habla. La parte inicial de todo subsistema de preproceso de la señal vocal estará
siempre construida por:
Un micrófono, que convertirá la onda sonora de presión en una señal eléctrica.
Un amplificador, que extenderá hasta nivel manejable la débil señal que
proporciona el micrófono.
Un filtro activo para bajas, que eliminará la altas frecuencias indispensables
según el teorema de muestreo de Nyquist.
Fast Fourier Trasform A partir de la señal eléctrica que produce el am-
plificador seria teóricamente posible construir un sistema de reconocimiento por
medios totalmente analógicos. Sin embargo, en el estado actual de la tecnología,
resulta mas conveniente utilizar técnicas digitales: sobre todo para las partes del
sistema involucradas en la decisión [2]. Básicamente un convertidor A/D debe
realizar dos tareas:
Muestrear la señal analógica: Es decir, medir la amplitud de dicha señal,
cierto intervalo de tiempo.
Cuantificar la señal muestreada; es decir, codificar numéricamente el resul-
tado de cada una de las medidas.
6
De esta manera, una función continua en el tiempo quedará representada por una
serie discreta de valores numéricos. Al proceso de combinado de transducción,
muestreo y cuantificación se le llama adquisición.
2
⌦0 = (4)
T
Expresión que representa la superposición del espectro de s(t) con las su-
cesivas versiones del mismo desplazadas en el eje de las frecuencias con pe-
riodicidad 1/T . Resulta evidente que si el ancho de banda de la señal a
muestrear es excesivo con relación a la frecuencia de muestreo, se producirá
un solapamiento irreversible de los espectros sucesivos, haciendo imposible
la reconstrucción de la señal original. Este solapamiento (aliasing) ocurre
siempre que la máxima frecuencia (Fb) del espectro no nulo de la señal a
muestrear sea superior a la mitad de la frecuencia de muestreo (Fm) (fre-
cuencia Nyquist).
FM > 2Fb (5)
Antes de muestrear una señal será pues necesario limitar la frecuencia máxi-
ma de ésta a la mitad de la de muestreo, lo que se puede conseguir mediante
un filtro analógico de paso bajo previo al convertidos A/D, cuya frecuencia
de corte sea la de Nyquist como máximo. La anchura de banda de la se-
ñal resultante deberá preservar la información relevante necesaria para una
adecuada descripción de los objetivos acústicos a tratar.
2. Cuantificación: En cada impulso de muestreo, el convertidor A/D compara
la señal muestreando con cosa dado un conjunto de entradas, podemos usar
unidades sumadoras con nivel de disparo (Threshold) como simples compuer-
tas AND, OR, y NOT poniendo apropiadamente el nivel de cuantificación
predefinidos. El número de niveles (N) determina la precisión del análisis y,
por tanto, el número de bits (b) necesarios para la presentación digital de
cada muestra:
b = log2 N (6)
7
Servidor: Al iniciarse espera a que le lleguen las peticiones de los clientes. Tras
la recepción de una solicitud, la procesa y luego envía la respuesta al cliente. Por
lo general, acepta conexiones desde un gran número de clientes y no es frecuente
que interactúa directamente con los usuarios finales.
A los puntos finales de una comunicación entre dos sistemas que intercambian
información a través de una red de comunicaciones se les llama sockets. Un socket
queda definido por la dirección IP del dispositivo en el que se encuentra y un
número de puerto de 16 bits. Una conexión está determinada por un par de
sockets, el del cliente y el del servidor. En la Figura se muestra un modelo típico
de comunicación por sockets en una arquitectura cliente-servidor. Hay dos tipos
de sockets: socket stream y socket datagram.
Socket stream: Utilizan el protocolo TCP (Transmission Control Protocol),
por lo que también son conocidos como sockets orientados a conexión. El utilizar
el protocolo TCP implica que antes de enviar la información se debe establecer la
conexión entre los dos sockets, y ofrece la ventaja de que incorpora la corrección
de errores de forma transparente al programador [6].
Socket datagram: Utilizan el protocolo UDP (User Datagram Protocol), por
lo que también son conocidos como sockets sin conexión. Al utilizar dicho pro-
tocolo se puede enviar la información sin necesidad de haber establecido la co-
municación entre los sockets. La ventaja de este tipo de sockets es que produce
una menor sobrecarga sobre la información transmitida, a cambio de no tener
incorporada la corrección de errores. Esto lo hace más rápido y por tanto más
interesante en una red en la que se pierdan pocos paquetes y para aplicaciones
de tiempo real.
2.5. Análisis
3. Dispositivos Móviles
Los dispositivos móviles son aparatos de pequeño tamaño, con algunas capa-
cidades de procesamiento, con conexión permanente o intermitente a una red,
con memoria limitada y diseñados específicamente para una función, aunque
pueden llevar a cabo otras más generales [7].
Definición:
Dispositivo móvil de datos mejorado: Dispositivos que tienen pantallas de
medianas a grandes (por encima de los 240 x 120 pixels), avegación de tipo
stylus, y que ofrecen las mismas características que el “dispositivo móvil de datos
básico”, más aplicaciones nativas y corporativas usuales, en versión móvil. Este
tipo de dispositivos utilizan un sistema operativo como iOS, Windows Phone,
Symbian, Android, etc.
o Linux entre otros. Sin embargo, los sistemas operativos móviles son bastante
más simples y están más orientados a la conectividad inalámbrica, los formatos
multimedia para móviles y las diferentes maneras de introducir información en
ellos.
En el estudio realizado por Gartner Inc. se muestra una comparativa entre los
dispositivos móviles vendidos a nivel mundial en el segundo trimestre del 2011
respecto al mismo periodo del 2010 [8]. Presenta los resultados por empresas fa-
bricantes y por sistemas operativos. De los resultados de este estudio, podemos
concluir que los usuarios prefieren dispositivos móviles con los sistemas operati-
vos Android e iOS, mientras que los dispositivos con Symbian y BlackBerry OS
12
como Windows Phone reconocen perfectamente cuándo dejas de hablar. iOS no,
con lo que añade más ruido a los comandos y empeora más todavía los resultados.
La última versión del sistema operativo iOS de Apple, iOS 5, presente en los
dispositivos portátiles de la marca, incluye Siri como una de sus novedades. Este
es un asistente personal por voz que, por ahora, solo es compatible con el iPhone
4S, el modelo más actual de smartphone de Apple.
Siri permite a los usuarios realizar tareas mediante comandos de voz que
comprenden el habla natural, es decir, no es necesario indicar frases cortas y
directas a la aplicación, sino que también se puede hablar de forma coloquial, de
igual modo que nos comunicamos con las personas de nuestro entorno mediante
frases como "¿Qué tiempo va a hacer mañana por aquí?.o "¿Cuál es mi agenda
para hoy?". En el primer caso, Siri interactúa con el GPS para saber la posición
del usuario y luego busca en la Red el pronóstico para, en consecuencia, ofrecér-
selo. En el segundo, muestra la agenda que tiene el usuario en iCalendar o en
Google Calendar.
Este asistente virtual permite realizar otras funciones que no son solo de
búsqueda de información en el teléfono del usuario o recopilación de datos en
Internet. También está capacitado para realizar pequeñas tareas como escribir
mensajes de texto y correo electrónico, organizar reuniones, tomar notas o reali-
zar llamadas telefónicas. Por ahora, Siri solo está disponible en inglés de Estados
Unidos, Reino Unido y Australia, así como en francés y alemán (actualmente ya
dispone de español en tres tipos: España, Méjico y Estados Unidos).
rrollo para soportar otros dispositivos tales como tabletas, reproductores MP3,
netbook, PC, televisores, lectores de libros electrónicos e incluso se han mostra-
do microondas y lavadoras funcionando con Android en la Feria Internacional
de Electrónica de Consumo de Las Vegas en enero del 2010 [9].
Fué desarrollado inicialmente por Android Inc., una firma comprada por
Google en 2005.
El anuncio del sistema Android se realizó el 5 de noviembre de 2007 junto
con la creación de la Open Handset Alliance, un consorcio de 84 compañías de
hardware, software y telecomunicaciones, que han hecho de Android su princi-
pal producto [10]. Este conglomerado de compañías se dedica al desarrollo de
estándares abiertos para dispositivos móviles, con el objetivo de acelerar la in-
novación en estos dispositivos y ofrecer a los usuarios una experiencia móvil más
rica, barata y mejor.
En el 2008 Google liberó la mayoría del código de Android bajo la licencia
Apache, una licencia libre y de código abierto. Android tiene la mayor cuota
de mercado desde enero del 2011, con más de un tercio del cómputo global de
ventas. En los dos últimos años ha pasado a ser el sistema operativo móvil más
utilizado [5].
Android también incluye reconocimiento de voz, aunque en algunos casos
necesitaréis descargar alguna aplicación adicional, como “Búsqueda por voz”.
Como sólo ofrece transcripción, para usarlo simplemente hay que pulsar en el
botón de micrófono que aparece cuando podamos dictar al teléfono.
La primera diferencia con iOS y Windows Phone es que no hay comandos para
abrir aplicaciones o llamar a nadie. Sólo podemos hablar y el teléfono transcribe
lo que decimos. Esto sería útil a la hora de escribir mensajes o textos un poco
largos, ya que hablar suele ser más cómodo que escribir mucho en los teclados de
móvil. Hay dos opciones para activarlo: usar la búsqueda por voz manteniendo
pulsado el botón de Búsqueda del teléfono o transcribir la voz a texto pulsando
el botón del micrófono en el teclado virtual.
Con este sistema de reconocimiento por voz podemos, a través de comandos
sencillos, controlar ciertas funciones, como enviar mensajes, llamar a contactos
o negocios, usar Google Maps y navegar por Internet.
Con la salida del Samsung Galaxy S3 Samsung lanza su propia versión del
popular asistente por reconocimiento de voz de Apple. Desde que Apple lanzó al
mercado el iPhone 4S en octubre de 2011, numerosos desarrolladores de aplica-
ciones Android quedaron prendados de Siri, una herramienta que ha dado mucho
que hablar durante los últimos meses.
Meses después Samsung lanza S Voice, su propio asistente por reconocimiento
de voz, disponible en el Samsung Galaxy S3. El hecho de que sea Samsung
el primer fabricante de smartphones Android que desarrolle su propia versión
del Siri de Apple echará mas leña al fuego en la constante guerra entre ambas
empresas. Apple y Samsung llevan tiempo enzarzadas en una batalla legal debido
a continuas denuncias por infracción de patentes.
A pesar de estar inspirado en Siri, Samsung ha desarrollado S Voice de una
manera mucho más completa. Mientras que Siri aún sigue en la versión beta,
16
4. Arquitectura
El sistema es distribuido con una arquitectura cliente-servidor. El programa
está compuesto por una aplicación cliente que corre en un dispositivo móvil que se
comunica mediante sockets con un servidor de google, de modo que el dispositivo
móvil sólo se encarga de la interacción con el usuario. Dicho dispositivo digitaliza
la voz del usuario y le muestra la respuesta del sistema, mientras que en el
servidor se realizan las tareas que requieren mayor nivel de procesado y memoria:
el reconocimiento del habla y la traducción.
0: 5 más 3
1: cinco más 3
2: 5 o más 3
3: cinco más tres
4: cinco mas tres
Podríamos continuar así con los demás resultados... Como podemos observar te-
nemos que el comportamiento del reconocimiento es mostrar los números como
texto en casi todos los casos. Así que nuestro programa siempre hace una con-
versión previa del texto recibido y modifica los números en texto (palabras) por
dígitos. Lo mismo haría con los signos que se encuentre como texto como “más”
o “mas” a +.
5.2. Conclusiones
6. Conclusiones
Astrid Paola Bográn1 , José Luis Alonso Berrocal1 y Luis Carlos García de
Figuerola Paniagua1
1
Departamento de Informática y Automática - Facultad de Traducción y
Documentación, Universidad de Salamanca. Calle de Francisco Vitoria 6-16. 37008
Salamanca, España
{abogran,berrocal,figue}@usal.es
1. Introducción
En la actualidad las redes sociales han llegado a ser de gran importancia
para la sociedad, es el caso de Twitter que actualmente cuenta con más de 500
millones de personas conectadas en tiempo real alrededor del mundo, gracias a
esta red que más que un microblogging se ha convertido en una fuente de noticias
al último minuto, los empresarios, famosos, investigadores, instituciones guber-
namentales y privadas además de un sinfín de usuarios que también se conectan
a esta red para compartir sus experiencias e inquietudes o noticias de última
hora; con toda esta gran cantidad de información que se encuentra en la red y
con su rápido crecimiento hacen que muchos quieran indagar un poco más sobre
algunos perfiles que pudieran ser importantes para la investigación moderna y
también ser parte de nuevos descubrimientos, soluciones o simplemente por en-
contrar su potencial dentro de la red. Pensamos entonces frente a tanta cantidad
de datos, crear una herramienta que ayude a analizar lexicalmente el contenido
presente en tiempo real, agregando diversas características para que el usuario
pueda clasificar el contenido. Cuando hablamos de Análisis léxico se nos viene a
22
la cabeza una gran cantidad de palabras; de eso se trata, analizar todo el con-
tenido que encontramos en una o varias cuentas especificas pertenecientes a la
famosa red social Twitter. Para ello se ha creado una aplicación web la cual nos
ayudará a descubrir las características de un tweet, permitiendo que las personas
con diversos intereses o conocimientos la utilicen involucrando los patrones de
sus propias áreas de trabajo.
Sin todo este estudio de fondo no hubiera sido posible la obtención de los
resultados y descubrimientos que se puedan realizar sobre alguna cuenta espe-
cífica. El desarrollo de un sitio web como este supone, hoy en día, un avance
tecnológico de alta calidad y a gran escala con expectativas futuristas referentes
al manejo del contenido web pero específicamente sobre las redes sociales tales
como Twitter.
2. Conocimiento Previo
quien dispuso que la longitud máxima de cada mensaje fuera de 140 caracteres.
Twitter permite a la gente a seguir y comunicarse con los demás. Con el tiem-
po, esto ha demostrado ser un medio de comunicación de gran alcance debido
a su funcionamiento y simplicidad. Actualmente Twitter cuenta con 500 millo-
nes de usuarios esto para el 2012, según un estudio realizado por semiocast [2].
Se ha convertido en uno de los principales canales de comunicación e informa-
ción a nivel mundial, se calcula que alrededor de 400 millones de tweets son
enviados cada día. Hoy en día existen muchos estudios sobre las redes sociales,
especialmente centrados en el comportamiento de las personas, en la mayoría
de los casos basados en los sentimientos, en donde también se utilizan técnicas
de minería de texto utilizando una serie de algoritmos que ayudan a determinar
ciertos patrones en el comportamiento de los humanos, aquí encontramos el caso
del algoritmo Naïve Bayes que ayuda en la clasificación.
3. Análisis léxico
Se refiere al proceso de convertir una serie de caracteres en una secuencia de
tokens agrupados que se leen de izquierda a derecha. El programa que realiza esta
función se llama analizador léxico [3]. Para una clasificación automática de texto
es importante recalcar que el Análisis léxico ayudará a extraer características
que detallarán a cada documento, así como, sus clases o categorías. También
en la definición de reglas que por lo general consisten en expresiones regulares,
y definen el conjunto de posibles secuencias de caracteres que se utilizan para
formar los tokens o los lexemas individuales [3].
La secuencia de caracteres que forman un token se llama lexema. El token es
el símbolo general a la que un lexema pertenece. Existen dos métodos principales
principales para el Análisis de una palabra:
Tokens: Son secuencias de caracteres con un significado colectivo, [3] el pro-
ceso de formación de los tokens que permite el flujo de entrada de caracteres
se llama tokenización, y el analizador léxico les clasifica de acuerdo con un
tipo de símbolo.
Stemming: Es un procedimiento que se utiliza para reducir una palabra a
su raíz. Existen hoy en día diversos algoritmos que realizan stemming, como
el caso del Snowball. Un stem (lema) es la porción que queda de una palabra
después de retirar los afijos (es decir, los prefijos y los sufijos). Consiste en
convertir todas las palabras parecidas a una forma común [4]. Entre algunas
ventajas que proporciona el stemming es que reduce el tamaño del índice
ya que el número de palabras es reducido y las variantes de la palabra se
reducen a un concepto común eso mejora la importancia de la recuperación
de información.
o descubrimiento de nuevos patrones que siguen los usuarios, uno de los objetivos
de Twitter es lograr un equilibrio entre el fomento de desarrollo interesante y
protección de los derechos tanto de Twitter y los usuarios. Para conceder un
ambiente de desarrollo recto ha creado ciertas características para la utilización
de esta tecnología en su versión 1.1 encontramos los siguientes puntos de interés:
4. Trabajo Propuesto
Una vez conocidas las herramientas, librerías, algoritmos y términos rela-
cionados con la lexicografía, podremos comenzar a crear una herramienta que
propone el desarrollo de una aplicación que sea capaz de realizar un análisis
léxico sobre los tweets de Twitter, en este caso para validar el sistema nos enfo-
caremos en la selección de los tweets basados en noticias relacionadas con ciencia
y tecnología, a fin de efectuar sobre ellos diversos Análisis tanto cuantitativos
como cualitativos. El elevado número de documentos de prensa disponibles hace
inviable una selección manual, por lo que se decide aplicar un clasificador que
seleccione de forma automática las noticias o documentos que traten de una u
otra forma sobre temas relacionados en estas dos áreas. Asimismo se propone al
usuario la creación de nuevas categorías descubriendo las características sobre
algún perfil relacionado a una cuenta de Twitter.
que ayude a clasificar las noticias en Twitter. Por esta razón se pretende dise-
ñar y construir una aplicación que permita obtener todos los datos públicos que
están involucrados en una cuenta; en este caso se proyecta recoger todos aque-
llos tweets que involucren las áreas de ciencia y tecnología, de forma masiva e
individual, esto con el fin de poder procesar el tweet haciendo uso de tćnicas de
stemming, tokenización, y clasificación del tweet descubriendo la correcta cate-
gorización entre las dos áreas. Se trata también de que el mismo usuario pueda
crear y generar su propia clasificación dependiendo el área de su interés.
Se trabajará con cada una de las palabras contenidas dentro de un tweet, consi-
derando como palabra una secuencia ininterrumpida de letras [11]. Se removerán
las palabras contenidas en una lista estándar denominada palabras vacías para
el español. El sistema realizara esta limpieza que es necesaria para la extracción
de palabras de un tweet, lo que aplicaremos en nuestro Análisis y que se detalla
a continuación:
Eliminación de acentos.
Conversión a minúsculas.
Eliminación de cualquier carácter que no sea alfanumérico.
Análisis léxico. Esta pantalla detalla una parte de nuestro objetivo principal.
En ella encontraremos varias características que nos ayudaran a identificar el
proceso que debemos seguir para realizar el Análisis léxico sobre un tweet que
podremos seleccionar para posteriormente ser evaluado.
Gestión de Tweets. Esta sección de la aplicación web cuenta con una serie
de características donde se puede trabajar con diferentes cuentas de usuario aún
sin estar autenticados donde podrán buscar los tweets sobre cualquier perfil que
no sea privado.
diccionarios han sido creados con la ayuda de WordNet, que contiene una gran
base de datos léxica en el idioma Inglés donde encontramos sustantivos, verbos,
adjetivos y adverbios que se agrupan en conjuntos de sinónimos cognitivos (syn-
sets), cada uno expresando un concepto distinto. Los términos en Synsets están
vinculados entre sí mediante relaciones conceptuales, semánticas y léxicas [12].
Gracias a esta herramienta se logró la extracción de las palabras relacionadas
con ciencia y tecnología que a su vez han pasado por un proceso de traducción
de forma manual, y para poder ser utilizadas en nuestro sistema se realizo la
construcción de los diccionarios en formato XML.
5. Resultados
Los resultados están basados en el estudio de un total de 3690 tweets que han
sido almacenados en la base de datos creada. Para comprobar que el algoritmo
de clasificación de texto Naïve Bayes y las técnicas léxicas funcionan correcta-
mente en el sistema, se decidió realizar dos estudios, uno sin utilizar la técnica
de emphstemming y el segundo basándonos en esta técnica y al mismo tiempo
utilizando todo el tratamiento de limpieza que realiza la aplicación.
Clasificación de tweets:
Finalmente en los tweets sin clasificación se obtuvo una precisión del 42 %. Es-
to quiere decir que de 1013 tweets únicamente se clasificaron exitosamente 427
tweets. La Tabla 3 puntualiza el resultado según la precisión y el recall.
Ciencia 88 %
Tecnología 80 %
Ninguno 81 %
F1 83 %
Tabla 7. Resultados utilizando Stemming.
Ciencia 61 %
Tecnología 38 %
Ninguno 46 %
F1 48 %
Tabla 8. Resultados sin Stemming.
6. Conclusiones
De los resultados obtenidos podemos concluir que la utilización del Stem-
ming como técnica de preprocesamiento de los datos mejora considerablemente
el desempeño del clasificador, el Análisis léxico para analizar tweets resulta de
gran utilidad para determinar a que categoría pertenece la información publica-
da por los usuarios.
35
1. Introducción
Las tecnologías interactivas online o disponibles a través de Internet ofrecen
la posibilidad de llegar a multitud de personas, sin importar la edad, cultura o
nivel social. Una de esas tecnologías, es la conocida como Mundos Virtuales, o
Entornos Virtuales Multi-Usuario (EVMU o MUVEs). En un ellos, el usuario
dispone de alter ego virtual o avatar que le representa en este entorno simulado.
A través de estos avatar, al usuario se le proporcionan una serie de posibilidades
de comunicación, colaboración, e interacción casi de cualquier tipo, tanto con
el entorno virtual 3D como con el resto de usuarios que tienen presencia en
dichas plataformas. Además, ofrecen un entorno inmersivo, donde los usuarios
experimentan una sensación de estar dentro de las situaciones y los eventos que
ocurren, de un modo totalmente distinto a cómo se perciben en otras plataformas
como la Web, u otros servicios informáticos en la Red.
El uso de este tipo de plataformas da lugar a la generación de grandes cantidades
38
2. Objetivos
cualquier momento ese arco exterior, se pasa a una vista general, como se ve en
la figura 1. El nivel inmediatamente inferior a este que engloba todos los datos,
es el que se corresponde con los distintos terrenos o islas que componen el Mun-
do Virtual; que en el caso del Mundo Virtual USALSIM, son siete territorios.
Por debajo de ese nivel de la jerarquía y arcos de la representación visual, se
presentan las distintas instancias de grupos de usuarios que existen en el Mundo
Virtual. Cada una de las instancias de grupo se sitúa bajo el arco que representa
la región o isla que sirve como base o localización de las actividades de apren-
dizaje y prácticas que realizan los usuarios de dicho grupo. Por último, el nivel
más bajo de la jerarquía de datos, y nivel más bajo en la estructura radial, es
para los arcos que representan a los distintos usuarios. En el caso de los usuarios
hay un pequeño detalle a tener en cuenta: un usuario puede pertenecer a varios
grupos, con lo cual, en una misma isla un usuario puede representarse varias
veces, en función de la cantidad de grupos que pertenecen a esa región en los
cuales se encuentra inscrito.
Como se observa en la figura 1, la interfaz de la aplicación cuenta con diversos
elementos visuales que se organizan por toda la pantalla [13]. En la zona central
se encuentra la visualización HEBATT propiamente dicha, la cual cambiará en
función de la interacción que se de con el usuario. En la zona derecha de la
interfaz se encuentran diversos elementos que permiten distintos tipos de inter-
acción con la visualización, entre estos elementos se observan distintos grupos de
botones, sliders, sliders con funcionalidades de rango, o un campo que permite
introducir texto y realizar búsquedas en los datos. El uso de estos elementos se
explicarán de forma más detallada en el apartado Mecanismos de Interacción en
la Visualización HEBATT (4.9).
La zona izquierda de la visualización se ha reservado para la visualización de
información textual relacionada con los datos que se estén mostrando dentro del
HEBATT. Este texto se codificará mediante colores, que ayuden al usuario a
la relación de los elementos visuales (mediante la característica de etiquetado,
como se explicará en el punto 4.8.
En los siguientes sub-apartados se comentará qué tareas de análisis soporta la
visualización y cómo es el comportamiento de la visualización en función de los
datos que se quieran visualizar.
fecha u hora de los teleports, y agrupar por cada tipo de teleport (definido
por origen, destino y usuario), para así dibujar una sola línea resumen, que
pueda expresar visualmente la cantidad de líneas que componen esta línea
resumen. Esta representación visual se expresa también mediante la transpa-
rencia u opacidad de la línea, y esta opacidad se calcula de la siguiente forma:
Figura 3. Visualización de los teleport de salida relacionados con una isla o región del
Mundo Virtual
Figura 4. Visualización de los teleport de salida de las regiones a las que pertenece un
usuario
opción de ver los teleport de entrada, se muestra una vista donde aparecen
distintas líneas codificada con los colores de las regiones de los que partan los
teleport. Por lo tanto, a la región seleccionada llegarán una serie de líneas que
parten de las distintas regiones del Mundo Virtual desde donde se haya llegado
a la región seleccionada.
Figura 7. Visualización de los patrones de movimiento entre regiones del Mundo Vir-
tual
Figura 8. Vista detalle sobre la codificación del color en la información textual de cada
tipo de elemento de la jerarquía de datos
se ha hecho uso de la capacidad de Etiquetado que posee (Ware [17]). Esta ca-
pacidad implica que un color es un buen recurso para asociar objetos visuales, y
hace que el usuario pueda relacionar distintos atributos de objetos a simple vista
y sin tener que realizar un complejo proceso mental de emparejado de entidades
visuales. En cuanto a esta característica de etiquetado, cabe destacar que se ha
aplicado de forma que un mismo color representa siempre la misma semántica
en los datos, es decir, cada isla o región del entorno virtual, así como los grupos
y usuarios que pertenecen a ella, tienen un único color de etiquetado, de modo
que el usuario sea capaz de, sólo visualizando el color, relacionar el concepto con
la isla, grupo o usuario del que se está mostrando la información (en la figura
8 se observa como incluso la información textual de cada tipo de datos se co-
difica por los colores correspondientes). Cada teleport que salga de la jerarquía
de datos de una región, tendrá asociado un color, de modo que, por ejemplo, es
posible distinguir la dirección de un teleport en función del color de la línea que
representa el teleport.
En cuanto a la paleta o gama de colores disponibles en la visualización (#1f77b4,
#ff7f0e, #2ca02c, #d62728, #9467bd, #8c564b, #e377c2, #c2c2c2, #bcbd22,
50
5. Conclusiones
En este trabajo de investigación se ha desarrollado un nuevo tipo de repre-
sentación visual de los movimientos de los usuarios entre regiones de un Mundo
Virtual de Aprendizaje y Prácticas, con lo cual se ha cumplido el objetivo que se
planteaba inicialmente. En cualquier caso, no se puede asegurar que esta visua-
lización sea totalmente válida, ya que no ha sido probada por usuarios reales, ni
analistas de datos. Ese es un aspecto de los que se realizaría en futuras iteracio-
nes en el proceso de investigación, ya que es fundamental validar la herramienta
52
mediante el uso, de modo que se pueda comprobar si los conceptos teóricos apli-
cados son lo suficientemente claros como para que un usuario del tipo que sea
(experto, no iniciado, etc.) sea capaz de usar la visualización sin ayuda y con un
tiempo de entrenamiento lo más corto posible.
Esta visualización se ha desarrollado para el uso concreto en el caso de los
teleports en un Mundo Virtual, pero de igual forma se podría aplicar a cualquier
tipo de movimiento migratorio, ya sea generado en un sistema digital o en la
realidad. Por ejemplo, un esquema similar al que se presenta en este trabajo, se
podría proponer para visualizar los flujos migratorios (de personas, de animales,
etc.) entre regiones y países del mundo, ya que mientras se cumpla en parte la
jerarquía de datos la visualización se puede adaptar a otros casos.
Bibliografía
1. Introducción
La constante evolución de la tecnología en el ámbito de la computación,
más concretamente de las redes de información y los dispositivos que acceden a
dichas redes, ha supuesto una evolución en el desarrollo de soluciones software.
La aparición en 2004 de la Web 2.0 [1] supuso un cambio radical en la forma de
percibir el uso de Internet. Las páginas web con contenido estático creadas por
unos pocos usuarios con los conocimientos de HTML necesarios dejaban paso a
una web dinámica en la que el espectador se convierte en creador, ya que puede
aportar sus propios contenidos de manera sencilla.
56
no muestra los logros conseguidos, las mejoras en las que invierte sus esfuerzos,
tiene fecha de caducidad.
Las empresas e instituciones están realizando una fuerte apuesta por la orien-
tación 2.0 y el software Open Source como pilares fundamentales para cubrir sus
necesidades tecnológicas, tanto para su funcionamiento interno como para su
visibilidad de cara al público.
Existe un gran abanico de soluciones Open Source que cubren las necesidades
TIC básicas de una entidad, desde aplicaciones para la gestión de contenidos o
de la formación hasta herramientas para la toma de decisiones o la planificación
temporal. Por tanto, el problema no reside en el desarrollo de dichas soluciones,
sino en la elección e integración de las mismas para que los flujos de información
se adapten a las peculiaridades propias de cada entidad. Este tipo de soluciones,
denominadas ecosistemas tecnológicos y cuya definición se plantea a continua-
ción, permiten centrarse en la información, en el conocimiento, para dejar de
lado la tecnología subyacente.
El término ecosistema tecnológico se utiliza para definir un conjunto de com-
ponentes software que se relacionan entre sí mediante flujos de información en un
medio físico que proporciona el soporte para dichos flujos. Si se toma la defini-
ción más sencilla de ecosistema natural se habla sobre un conjunto de organismos
vivos y un medio físico donde se relación. Si se observa ambas definiciones se ve
una clara analogía entre un ecosistema natural y un ecosistema tecnológico, los
componentes software desempeñan la labor de organismos vivos del ecosistema
tecnológico, interactuando con otros organismos y viéndose condicionados por
el medio físico que les rodea. Al igual que ocurre en un ecosistema natural, el
ecosistema tecnológico cumple los tres principios básicos de la ética ecológica:
En un ecosistema todos los seres vivos son interdependientes y se necesitan
entre sí. Lo mismo ocurre en un ecosistema tecnológico, donde cada compo-
nente se relaciona con otros componentes. Si un componente es totalmente
independiente entonces no forma parte del ecosistema.
La estabilidad de los ecosistemas depende de su diversidad. Un ecosistema
tecnológico es más estable cuantas más posibilidades y opciones ofrezca, pero
manteniendo una armonía, unidad, seguridad y coherencia entre sí.
Todas las materias primas son limitadas y existen límites en el crecimiento
de todos los sistemas vivos. El ecosistema tecnológico debe crecer de manera
controlada. Su evolución sin un fin concreto puede llevar a tener un ecosis-
tema insostenible que no cumple con la finalidad para la que se desarrolló.
Cabe destacar que una de las características fundamentales de un ecosistema
tecnológico es la capacidad del sistema para soportar los cambios y adaptarse a
las necesidades de los usuarios a lo largo del tiempo. Para que esto ocurra los
componentes software que forman el ecosistema deben ser capaces de adaptarse
a los cambios. Según Darwin “It is not the strongest of species that survive, nor
the most intelligent, but the ones most adaptable to change.” [10]. Traducido al
contexto tecnológico, no pervive en el ecosistema aquel componente que es más
robusto, o que aporta la funcionalidad clave, sino el que mejor se adapta a los
cambios del conjunto de componentes con los que coexiste.
58
de forma que este rol se le atribuye a los agentes inteligentes que, a pesar de
poder llevar a cabo diferentes tareas y poseer características que les distinguen
unos de otros, tienen un comportamiento predefinido y aunque puedan apren-
der a lo largo del tiempo y evolucionar no dejan de ser un componente software
más. La interacción entre usuarios es un elemento fundamental en el ecosistema,
deben existir tareas automatizadas, flujos de información que se adapten a las
necesidades cambiantes del usuario, pero la interacción del usuario y la detección
de necesidades, permiten que el ecosistema evolucione y se adapte más rápida-
mente a su contexto. Los agentes inteligentes pueden adaptarse, pero les falta la
visión de una parte del sistema, la evolución de la propia entidad.
Basándose en la definición de Chang, Pata [18] elimina el concepto de agente
inteligente como especies del ecosistema y plantea una definición mucho más bio-
lógica dentro del contexto tecnológico: “Es un entorno abierto, auto-organizado,
que conecta ubicaciones geográficas y basadas en web, individuos, servicios de
información basados en herramientas sociales, interacción en la red y herramien-
tas de intercambio del conocimiento junto con recursos que ayudan a mantener
las sinergias entre las personas, donde cada sujeto es proactivo y responsable de
su propio beneficio.”
Aunque existen diferencias entre unos autores y otros, todos están de acuerdo
en un punto fundamental, hay una clara relación entre las características de un
ecosistema natural y un ecosistema tecnológico en cualquiera de sus variantes.
De esta forma, la mayoría de los autores respaldan la definición de ecosistema
tecnológico o de ecosistema de aprendizaje con la definición de ecosistema natural
con diferentes matices.
Cabe destacar la manera en la que Laanpere [19] aborda el tema. Este autor
se centra en los conceptos y deja de lado la funcionalidad o la naturaleza de los
elementos que representan estos conceptos. Laanpere representa los ecosistemas
naturales y los ecosistemas digitales mediante conceptos relacionados entre sí,
de tal manera que el ecosistema digital es una extensión del ecosistema natural.
Todos los conceptos que se utilizan para describir un ecosistema natural per-
miten describir un ecosistema digital. De esta forma, según lo expresado en el
propio diagrama, un ecosistema eLearning digital estará formado por elementos
bióticos, elementos abióticos, el entorno y los agentes.
Si se observan estas y otras definiciones, hay tres elementos que forman parte
de todo ecosistema natural y que están presentes en todas las definiciones [20]:
Organismos, cada uno de los cuales intenta cubrir sus funciones básicas:
comer, reproducirse y respirar.
El medio físico en el cual los organismos llevan a cabo sus funciones básicas.
El conjunto de relaciones entre los organismos, entre sí y con el medio.
3. Casos de estudio
Se introducen someramente tres casos de estudios que sirven como expe-
riencia acumulada y evolución tecnológica del concepto de ecosistema digital de
64
aprendizaje. En cada uno de los casos ha realizado el análisis DAFO cuyo resu-
men comparativo se recoge en la Fig. 2 y que servirá de base para la definición
de la propuesta arquitectónica objeto del presente trabajo.
las debilidades de las fortalezas, y poder ver la evolución del sistema de manera
algo más visual, se ha utilizado el color rojo para indicar las debilidades y el
negro para las fortalezas.
El análisis de las diferentes características a lo largo de los diferentes ecosis-
temas tecnológicos estudiados proporciona el marco adecuado para definir una
serie de puntos en común que debe tener un ecosistema tecnológico:
Tomando como punto de partida las características que debe tener un buen
ecosistema tecnológico, se ha definido un patrón arquitectónico de cinco capas
que permita sentar las bases del ecosistema teniendo siempre presente la flexibili-
dad y adaptabilidad de sus componentes con el objetivo de permitir la evolución
de todos ellos (Fig. 3).
5. Conclusiones
Los casos de estudio que se han analizado en este trabajo han permitido
obtener una visión global de los ecosistemas tecnológicos, tanto desde un punto
de vista teórico como práctico. Poder estudiar y analizar estas experiencias desde
todas las perspectivas proporciona una visión que no se tenía antes de realizar
69
6. Agradecimientos
[1] T. O’Reilly, “What Is Web 2.0. Design Patterns and Business Models for the
Next Generation of Software,” Communications & Strategies, vol. 1, p. 17,
2007.
[2] R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, and I. Brandic, “Cloud com-
puting and emerging it platforms: Vision, hype, and reality for delivering
computing as the 5th utility,” Future Generation computer systems, vol. 25,
no. 6, pp. 599–616, 2009.
[3] A. Weiss, “Computing in the Clouds,” netWorker, vol. 11, pp. 16–25, De-
cember 2007.
[4] S. Subashini and V. Kavitha, “A survey on security issues in service delivery
models of cloud computing,” Journal of Network and Computer Applica-
tions, vol. 34, no. 1, pp. 1–11, 2011.
[5] R. M. Stallman and G. E. Manual, “Free Software Foundation,” El proyecto
GNU-Fundación para el software libre, 1999.
[6] O. S. Initiative, “The Open Source Definition.” http://opensource.org/
osd.
[7] E. Commission, “European Union Public Licence (EUPL).” http://
joinup.ec.europa.eu/software/page/eupl.
[8] E. C. D.-G. for Informatics (DIGIT), “Strategy for internal use of OSS at the
EC.” http://ec.europa.eu/dgs/informatics/oss_tech/index_en.htm.
[9] E. y. T. Ministerio de Industria and J. de Extremadura, “Centro Nacional
de Referencia de Aplicación de las TIC basadas en fuentes abiertas.” http:
//www.cenatic.es.
[10] C. Darwin and G. Beer, The origin of species. Oxford University Press,
1951.
[11] M. A. Conde, F. García-Peñalvo, M. J. Rodríguez-Conde, M. Alier, and
A. García-Holgado, “Perceived openness of Learning Management Systems
by students and teachers in education and technology courses,” Computers
in Human Behavior, 2013.
[12] L. Uden, I. T. Wangsa, and E. Damiani, “The future of E-learning: E-
learning ecosystem,” in Digital EcoSystems and Technologies Conference,
2007. DEST’07. Inaugural IEEE-IES, pp. 113–117, IEEE, 2007.
[13] F. J. García-Peñalvo, M. J. Rodríguez Conde, A. M. Seoane Pardo, V. Zan-
grando, and A. García Holgado, “GRIAL (GRupo de investigación en Inter-
Acción y eLearning), USAL,” Revista Iberoamericana de Informática Edu-
cativa, 2012.
[14] C. Ferran and R. Salim, “Enterprise resource planning for global economies,”
Idea Group Inc (IGI), 2008.
[15] J. Esteves and J. Pastor, “An ERP lifecycle-based research agenda,” in First
International workshop in Enterprise Management and Resource. Planning:
Methods, Tools and Architectures-EMRPS, vol. 99, 1999.
71
[16] E. Commission, “Digital Ecosystems: The New Global Commons for SMEs
and local growth.” http://www.digital-ecosystems.org/doc/papers/
d5-intro-for-the-press.pdf, 2006.
[17] E. Chang and M. West, “Digital Ecosystems A Next Generation of the Co-
llaborative Environment,” the Eight International Conference on Informa-
tion Integration and Web-Based Applications & Services, vol. 214, pp. 3–23,
2006.
[18] K. Pata, “Meta-design framework for open learning
ecosystems.” http://tihane.wordpress.com/2011/06/09/
meta-design-framework-for-open-learning-ecosystems-at-mupple-lecture-series/,
2011.
[19] M. Laanpere, “Digital Learning ecosystems: rethinking virtual learning
environments in the age of social media.” http://es.slideshare.net/
martlaa/digital-learning-ecosystems, 2012.
[20] M. Berthelemy, “Definition of a learning ecosystem.” http:
//www.learningconversations.co.uk/main/index.php/2010/01/
10/the-characteristics-of-a-learning-ecosystem?blog=5, 2013.
[21] C. Pirie, “E-learning Ecosystems: The Future of Learning Techno-
logy.” http://clomedia.com/articles/view/e_learning_ecosystems_
the_future_of_learning_technology/2, 2004.
[22] J. Brodo, “Today’s Ecosystem of eLearning.” http://www.enewsbuilder.
net/salesmarketing/e_article000615779.cfm, 2006.
[23] I. K. Ficheman and R. d. D. Lopes, “Digital Learning Ecosystems: Aut-
horing, Collaboration, Immersion and Mobility,” in Advanced Learning
Technologies, 2008. ICALT ’08. Eighth IEEE International Conference on,
pp. 371–372, 2008.
[24] A. Littlejohn, “The Dynamics of Learning Ecosystems: literacies and resour-
ces.” http://littlebylittlejohn.com/learning-ecosystem/, 2011.
[25] T. V. Ark, “From LMS to Learning Ecosystem.” http://gettingsmart.
com/2012/06/from-lms-learning-ecosystems/, 2012.
[26] G. Adomavicius, J. C. Bockstedt, A. Gupta, and R. J. Kauffman, “Tech-
nology roles in an ecosystem model of technology evolution,” International
Journal of Information Technology and Management - IJITM, 2005.
[27] T. Haymes, “Toward a Model for a Technology Ecosystem.” http://www.
nmc.org/news/toward-model-technology-ecosystem, 2012.
[28] G. Briscoe and A. Marinos, “Digital ecosystems in the clouds: towards com-
munity cloud computing,” in Digital Ecosystems and Technologies, 2009.
DEST’09. 3rd IEEE International Conference on, pp. 103–108, 2009.
[29] Q. Zhang, L. Cheng, and R. Boutaba, “Cloud computing: state-of-the-art
and research challenges,” Journal of Internet Services and Applications,
vol. 1, no. 1, p. 718, 2010.
[30] D. Bo, Z. Qinghua, Y. Jie, L. Haifei, and Q. Mu, “An E-learning Ecosystem
Based on Cloud Computing Infrastructure,” in Advanced Learning Tech-
nologies, 2009. ICALT 2009. Ninth IEEE International Conference on,
pp. 125–127, 2009.
72
1. Introducción
Una de las tareas más difíciles, sin tener en cuenta su física, a la hora de
llevar a cabo el estudio de un dispositivo electrónico a través de una simulación
Monte Carlo [1] consiste en determinar cada una de sus regiones donde se debe
74
@2 @2 ⇢(x, y)
+ = , (2)
@x2 @y 2 ✏0 ✏s
donde ✏s es constante en cada malla. Nuestro sistema tendrá n⇥m mallas de dis-
tintos tamaños y (n+1)⇥(m+1) nodos. La resolución de la ecuación de Poisson
se lleva a cabo en dos fases. Una primera de asignación de carga, donde se calcu-
lan las densidades de carga eléctrica que se atribuyen a los nodos del dispositivo
[7], las cuales se emplearán en la segunda fase, que consiste en la resolución del
sistema de ecuaciones resultantes de la discretización de la Ecuación 2. Aplican-
do la discretización (método de diferencias centradas) y resolviendo el sistema
resultante se determinan los potenciales asociados a cada uno de los nodos. En
la Figura 1 se observa el esquema que se emplea para resolver la ecuación de
Poisson. Con esta técnica se calcula el potencial asociado a cada uno de los nodos
del mallado y el campo eléctrico asociado a cada una de las celdas. Aplicando la
76
Es de resaltar que los potenciales son magnitudes asociadas a los nodos (sub-
índices i, j ) mientras que las permitividades y las densidades de carga se co-
rresponden con las celdas (subíndices n, m) de la discretización. Aplicando esta
discretización a todos los nodos de la red se obtienen (n+1)⇥(m+1) ecuaciones
lineales.
Métodos de relajación.
Método de Jacobi
El siguiente método considerado será el que Carl Gustav Jacobi (1804-1851)
desarrolló en 1845 [4], [13]. Su mecánica es muy sencilla donde los vectores
en cada iteración (para un sistema cuadrado n ⇥ n, suponiendo que aii 6= 0
y que 1 i n) se generan de la forma siguiente:
n (k)
!
X aij xj bi
k+1
xi = + . (5)
j=1
a ii a ii
j6=i
Figura 4. Self-switching diode de GaAs. (a) Imagen SEM del dispositivo , (b) definición
del dispositivo mediante la interfaz Jersecín
Figura 5. Self-switching diode de GaAs. (a) Pocos nodos, (b) caso óptimo.
Figura 6. (a) Característica I V bajo las hipótesis de pocos nodos, caso óptimo y
muchos nodos. Se representa también la curva experimental de la corriente. (b) Tiempo
de simulación requerido en cada caso.
85
Figura 7. (a) Característica I V frente a la longitud (V1), (b) campo eléctrico medio
frente a la longitud (V1). Se consideran las hipótesis: (1) mallado con pocos (968)
nodos, (2) mallado óptimo (2431) nodos, (3) mallado con 3480 nodos, (4) mallado con
4304 nodos y (5) mallado con 4950 nodos
87
n+
se pasa de tener mallas de x 1 = 3,125 nm a tener mallas de nx = 27,778 nm y
en la frontera n n se pasa de tener mallas de nx = 27,778 nm a tener mallas
de nx = 13,265 nm. Para la frontera n n el campo eléctrico no es el mismo
para las tres hipótesis, Figura 7 (b). Esto es debido a que no se está resolviendo
la ecuación de Poisson correctamente, y se encuentra que para el caso óptimo
los electrones van a tener que superar una barrera mayor para poder acceder a
la zona n en comparación con la barrera que tienen que superar en el caso de
muchos nodos, donde se obtiene una densidad de corriente mayor. En la frontera
n+1 n tampoco se está resolviendo la ecuación de Poisson correctamente ya
que existe un salto muy brusco en el tamaño de las mallas. Un comportamiento
análogo sucede en la frontera n n+ 2 , donde para el caso de mallado óptimo
n+
se pasa de tener mallas de nx = 13,265 nm a tener mallas de x 2 = 3,125
nm. La discretización con muchos nodos proporciona un resultado correcto pero
a costa de perder tiempo introduciendo nodos en zonas donde no es necesario:
t3480 = 5,17 h, t4304 = 5,24 h y t4950 = 5,32 h.
Por lo tanto, es necesario diseñar un nuevo algoritmo óptimo (C2) para evitar
en las regiones frontera cambios demasiados bruscos en el tamaño de las mallas
y obtener la solución correcta de la ecuación de Poisson en cualquier región del
diodo.
5. Conclusiones
[1] C. Jacoboni and P. Lugli, The Monte Carlo method for semiconductor device
simulation. Springer-Verlag, New York, 1989.
[2] M. Cerrolaza, El método de los elementos finitos para ingeniería y ciencias
aplicadas: teoría y programas. Universidad Central de Venezuela. Consejo
de Desarrollo Científico y Humanístico, Venezuela, 2007.
[3] A. Carnicero, Introducción al Método de los Elementos Finitos. Escuela
Técnica Superior de Ingeniería ICAI. Universidad Pontificia Comillas, Ma-
drid, 2001.
[4] W. H. Press, B. P. Flannery, S. A. Teukolsky and W. T. Vetterling, Nume-
rical recipes. The Art of Scientific Computing. Cambridge University Press,
New York, 1989.
[5] A. D. Boardman, Computer simulation of hot electron behavior in semi-
conductors using Monte Carlo methods, in Physics Programs. Physics Pro-
grams, Edited by A. D. Boardman, New York, 1980.
[6] T. Kurosawa, “Proceedings of the international conference on the physics of
semiconductors,” J. Phys. Soc. Japan Suppl, vol. 49, p. 345, 1966.
[7] T. González, “Análisis del ruido electrónico en materiales y dispositivos
semiconductores unipolares mediante el método de monte carlo,” tech. rep.,
Tesis Doctoral, (Universidad de Salamanca), Salamanca, 1994.
[8] H. Rodilla, “Estudio de hemts basados en semiconductores de gap estrecho.
desde los materiales al dispositivo,” tech. rep., Tesis Doctoral, (Universidad
de Salamanca), Salamanca, 2010.
[9] A. Íñiguez-de-la-Torre, “Nanodispositivos de gan para generación de señales
de thz. simulación monte carlo y experimental,” tech. rep., Tesis Doctoral,
(Universidad de Salamanca), Salamanca, 2012.
[10] R. W. Hockney and J. W. Eastwood, Computer simulation using particles.
IOP, Bristol, 1988.
[11] S. Tiwari, Compound semiconductor device physics. Academic Press, New
York, 1992.
[12] J. Mateos, “Modelización microscópica del ruido electrónico en estructuras
mesfet y hemt submicrométricas. análisis numérico y experimental,” tech.
rep., Tesis Doctoral, (Universidad de Salamanca), Salamanca, 1997.
[13] J. L. De la Fuente, Técnicas de cálculo para Sistemas de Ecuaciones, Progra-
mación lineal y Programación Enteran. Editorial Reverté, S.A., Barcelona,
1998.
[14] D. Vasileska, Numerical Solution of Poisson’s Equation. nanoHUB.org, on-
line simulations and more, 2006.
[15] S. García, “Desarrollo de una interfaz gráfica para la definición de la topo-
logía de dispositivos electrónicos en un simulador monte carlo,” tech. rep.,
Proyecto fin de carrera, ITIS (Universidad de Salamanca), Salamanca, 2011.
92
1. Introducción
2. Objetivos
3. Marco teórico
3.1. Agentes, Sistemas Multi-Agente y Organizaciones Virtuales
Los agentes han sido empleado en numerosas áreas de la ciencia de la compu-
tación desde la segunda mitad del siglo XX (Inteligencia Artificial, Ingeniería del
Software, Sistemas Distribuidos, Bases de Datos, etc.). Una de las primeras de-
finiciones del término “agente” se debe a [7]: Sistema computacional basado
en hardware o (más habitualmente) basado en software que disfruta de las pro-
piedades de autonomía, habilidades sociales, reactividad y proactividad.. Para
unificar todas las definiciones existentes, se ha decidido definir el término agente
como una entidad que posee las siguientes características: Autonomía, Situa-
ción, Reactividad, Pro-Actividad o Racionalidad, Habilidad social, Inteligencia,
Organización, Movilidad y Aprendizaje.
Los agentes pueden colaborar entre ellos. En este momento surge el concepto
de Sistema Multiagente (SMA), definido como “la unión de dos o más agentes
colaborando en su trabajo con el objetivo de resolver un problema” [8]. Los siste-
mas multiagente poseen una computación asíncrona dado su carácter distribuido
(descentralizado). No existe un control global, por lo que cada agente se centra
en su conducta individual. Cada agente decide libre y dinámicamente, utilizando
su autonomía y pro-actividad qué tareas debe efectuar y a quién asigna estas
tareas [9], definiendo metas y planes que le permitan alcanzar sus objetivos.
Por otra parte, la analogía entre sociedades de agentes y sociedades humanas
es clara. Por ello, aparece el concepto de Organización Virtual (OV), defi-
nido como “un conjunto de individuos e instituciones que necesitan coordinar
96
Software como servicio (SaaS). Constituye la capa más alta de los siste-
mas Cloud, y consiste en una serie de aplicaciones ejecutadas bajo demanda.
Plataforma como servicio (PaaS). Se compone de un conjunto de he-
rramientas o servicios de producción y desarrollo tales como Interfaces de
Programación de Aplicaciones (API’s) para las aplicaciones de la capa SaaS.
Infraestructura como Servicio (IaaS) o Hardware como Servicio: com-
prende todos los servidores (máquinas físicas y virtuales), sistemas de alma-
cenamiento, conexiones, dispositivos de red, etc.
mínimo que contiene todas las aristas de un grafo conexo, repitiendo únicamente
aquellas aristas que sea preciso. Este problema se conoce como Problema del
cartero chino.
Existen diferentes implementaciones que tratan de solucionar este problema.
En [22] se propone una solución basada en algoritmos genéticos. Por otra parte,
en [23] se plantea otra solución basada en redes neuronales estocásticas. En
[24] se propone la solución de este problema utilizando para ello computación
molecular. En [25] idearon una solución para un problema multi-objetivo donde
cada eje del grafo puede tener varios valores para los pesos.
El algoritmo requiere emparejar los vértices de grado impar, de tal modo
que la suma de los pesos (distancias) asociados a las parejas formadas sea mí-
nimo. Dicho problema es un problema NP-hard o NP-complejo [26] (es decir,
actualmente no se conocen algoritmos que lo resuelvan en tiempo polinomial) y
se conoce como problema de emparejamiento mínimo (Minimum Weight Mat-
ching, MWM ). Existen diversos algoritmos para lograr solucionar este problema.
El algoritmo Blossom V [27] se emplea para resolver el problema de Minimum
Weight Matching utilizando colas de prioridad y teoría del espacio dual. Para
resolver el problema utilizan teoría de optimización y programación lineal.
Manager aparcamiento. Este rol tiene un control específico sobre los apar-
camientos realizados en un instante, sus ubicaciones, tiempos de estancia.
Cobro. Este rol se encarga de realizar, periódicamente, el cobro de los apar-
camientos
Gestión Vigilancia. Este rol se encarga de realiza las labores de gestión
de vigilancia (gestion de rutas, localización).
De todas las operaciones anteriores, falta todavía por aclarar cuál es el mé-
todo de resolución del problema de MWM. Para ello, en lugar de utilizar uno
de los algoritmos existentes (Blossom V ), se propone crear una solución propia,
que supone uno de los principales puntos de investigación de este trabajo.
En la Fig. 2 se puede ver un diagrama de flujo del procedimiento a seguir
con la solución aportada (para el subproblema de MWM). Este procedimiento
corresponde al paso 2 del algoritmo global presentando unas líneas atrás.
La secuencia de pasos a seguir se describe a continuación. En primer lugar, se
ha diseñado un algoritmo A* para la resolución del problema de emparejamiento
mínimo. Las diferentes operaciones realizadas en el plan consisten en la realiza-
ción de parejas de nodos. Este algoritmo utiliza la matriz de pesos para construir
la función heurística h0 (x) sobre la que se construye el algoritmo, detallada en
el Algoritmo 1.
5. Conclusiones
La parte central de la investigación realizada, además del diseño y desarrollo
de un SMA integrado en una plataforma Cloud y haciendo uso de técnicas de
visualización, ha sido la creación de un algoritmo específico de optimización de
rutas para el problema en cuestión.
El algoritmo A* diseñado inicialmente para la resolución del problema de
emparejamiento mínimo (MWM) tiene la problemática de resultar ineficiente
para la solución de problemas de tamaño medio/elevado. Por ello, se tomó la
decisión de aplicar algoritmos de mínería de datos, como es el clustering K-medias
para simplificar el problema en subproblemas (divide y vencerás). Al aplicar
el procedimiento de clustering y ser necesario obtener clusters de tamaño par,
se optó por aplicar recursivamente el algoritmo A* de resolución del problema
MWM (pero con una semántica diferente) a los cluster de tamaño impar.
Los resultados obtenidos muestran que es posible reducir una ejecución inicial
de horas de duración a apenas unos segundos aplicando el algoritmo diseñado.
Las técnicas empleadas son heurísticas y no garantizan una solución óptima,
pero sí aportan una solución eficiente, y muchas veces óptima a un problema
NP-hard para el que no existe una solución algorítmica.
1. Introducción
Hoy en día, el coche es una parte fundamental de nuestras vidas, no sólo para
viajar, sino también para tareas cotidianas como ir al trabajo, ir de compras,
etc. Frente a este aumento del uso de los vehículos, existen las limitaciones de
tiempo y espacio de aparcamiento. Podemos considerar que el sistema de aparca-
miento en zonas azules que tenemos hoy en día es poco eficiente e incómodo. El
proyecto que se propone tratará de solventar estas dificultades para así mejorar
la eficiencia.
Sin embargo, pese a la importancia de esta nueva aplicación que proponemos,
el objetivo principal será la innovación en el propio desarrollo del software. A lo
largo de este proceso se ha realizado un estudio exhaustivo sobre las diferentes
tecnologías y sobre el comportamiento y la integración de agentes, base para
futuros trabajos de investigación. Debido a la gran amplitud de este trabajo, se
tuvo la necesidad de dividirlo en dos partes. En este artículo nos centraremos
en la recogida, procesamiento y presentación de los datos, y con la interacción
directa entre agentes internos y agentes externos como el usuario o el vigilante.
De forma general, el sistema desarrollado consiste en facilitar la tarea al
usuario cliente y al vigilante. Así pues, existen dos posibles subdivisiones, según
estemos pensándolo desde el punto de vista del cliente o del vigilante. El cliente
108
de estas, destacamos los trabajos realizados en GAIA [5] y GORMAS [6]. Nos
centraremos en GORMAS por ser la metodología que se presenta en el artículo.
Esta metodología propone un nuevo modelo de Organización que permite
describir la estructura, funcionalidad, normalización, dinamicidad y entorno de
las organizaciones. Para ello, hace uso principalmente de los conceptos de unidad
organizativa, servicio, entorno y norma. Este modelo de Organización Virtual
(VOM) está compuesto por cuatro dimensiones:
2.1. NFC
NFC son las siglas para referirse al concepto Near Field Communication. El
NFC consiste en una interfaz de comunicación inalámbrica con una distancia de
trabajo limitada a unos 10 cm, generalmente. La interfaz puede funcionar en
varios modos. Los modos se distinguen si un dispositivo crea su propio campo
de radio-frecuencia (RF) o un dispositivo recupera el poder desde el campo de
RF generado por otro dispositivo. Si el dispositivo genera su propio campo se
llama un dispositivo activo, de lo contrario se denomina un dispositivo pasivo.
El número de aplicaciones de este protocolo es muy amplio, y va desde la mera
lectura de datos para conocer un teléfono o una dirección, hasta el intercambio
de datos entre dos dispositivos NFC activos.
En el ámbito de la investigación, existen diversos estudios acerca de la posi-
bilidad de aplicar la tecnología NFC para monitorización de ciertos parámetros
relacionados con la medicina [8], o trabajos relacionado con el bienestar de las
personas es el campo de la inteligencia ambiental [9] o estudios centrados en la
seguridad, como las vulnerabilidades que el protocolo NFC puede presentar y
sus posibles soluciones [10].
110
Supervisor: Un agente que ejerza este rol tendrá el control general del sis-
tema. Analiza la estructura y sintaxis de todos los mensajes de entrada y
salida del sistema.
destacar que se han suprimido las cinco vocales, y las letras Ñ, Q (por ser fácil su
confusión con la letra N y el número 0, respectivamente). Al ser una placa blanca
con letras en negro, nos facilita en cierta medida el tratamiento de la imagen.
El objetivo del preproceso es obtener una imagen binarizada, donde sólo existan
los colores negros y blancos.
Existen muchas técnicas para mejorar la calidad de la imagen y binarizarla.
De hecho, muchas veces el éxito del algoritmo de reconocimiento depende en gran
medida de este pre-proceso y de la extracción de dígitos. En este estudio se han
probado diversas formas de procesar la imagen, aunque la que mejor resultados
ha dado ha sido la que describiremos a continuación.
Para minimizar la carga dentro del dispositivo móvil, el primer paso es reali-
zar una transformación de la imagen a color a la imagen en escala de grises, para
posteriormente, estudiar la eliminación de ciertas imperfecciones en la imagen
o ruido. Para ello, se utilizó una técnica de suavizado de contornos, de forma
el color de un punto dependiera de forma parcial de los puntos de alrededor.
Así, podríamos eliminar manchas u otras imperfecciones que dificulten la iden-
tificación de la placa. Además de este suavizado, es necesario aplicar alguna
trasformación morfológica. Existen varias, que se han estudiado y se ha elegido
la que mejores resultados nos ha dado. El proceso total se muestra en la Figura
2.
4. Resultados
El grado de precisión a la hora de identificar el vehículo con NFC siempre
es del 100 %. Las pruebas han sido realizadas con cuatro tipos de tags NFC de
distintas tecnologías, según la capacidad (0’5K, 1K o 2K), siempre con idénticos
resultados. Los posibles problemas de seguridad no se han tenido en cuenta, de-
bido a la brevedad de la comunicación entre el tag y el dispositivo móvil. Aun
así, es conveniente estudiar las nuevas innovaciones para proteger este tipo de
comunicación. Este estudio queda ya en líneas futuras. Hubo dos dificultades
a la hora recoger los datos. La primera fue desarrollar un agente que recogiera
correctamente los datos mediante los protocolos necesarios de forma eficiente.
Afortunadamente, existen interfaces que facilitaron este intercambio de infor-
mación entre el dispositivo activo y el pasivo. La segunda dificultad fue estudiar
115
cuál era la distancia máxima a la que el dispositivo móvil detectaba el tag. Esto
era importante a nivel funcional, pues el vigilante quiere la mayor comodidad
posible para poder leer las etiquetas. Por ello, se investigó acerca de diferentes
formas para aumentar la distancia de reconocimiento. Al final, la conclusión a
la que llegamos fue que dependíamos mayoritariamente del hardware y del tipo
de dispositivo activo que utilizáramos.
Para estudiar los resultados obtenidos con reconocimiento de la matrícula
en una imagen, poniendo especial atención en el tipo de iluminación y caracte-
rísticas, y en el tipo de algoritmo o estructura implementada. Se han realizado
pruebas con diversas imágenes de matrículas, y posteriormente se estudió cómo
es el reconocimiento de los caracteres de la imagen.
El algoritmo del vecino más cercano se configuró para que considerara 50
vecinos a la hora de clasificar cada carácter. Por su parte, las redes neuronales
fueron un poco más complejas de definir y entrenar. Se consideró sólo una red de
perceptrón multicapa, con una capa oculta. El primer problema fue precisamente
determinar la estructura más adecuada de la red. Desde un primer momento,
consideramos una red con una entrada por píxel. Se determinó que cada imagen
debía tener 12 píxeles de alto por 12 píxeles de ancho, lo cual nos dejaba con una
red neuronal de 144 entradas. El número de salidas tenía que ser igual al total de
las letras (28 neuronas de salida, una por cada letra). Tras varias pruebas, se fijó
el número de neuronas de la capa oculta en 150, con una función de activación
tangencial (las más utilizadas para reconocer caracteres (Holley, 2009)).
Presentamos a continuación una tabla ilustrativa (Tabla 1) con los resultados
obtenidos al utilizar el algoritmo del vecino más cercano, comparándolos con las
redes neuronales. También se presenta el porcentaje de acierto a la hora de
reconocer la placa de la matrícula y cada uno de los dígitos. Los datos han sido
calculados al probar 25 matrículas cualesquiera.
Tabla 1. Tabla comparativa de los resultados obtenidos en cada fase del reconocimiento
5. Conclusiones
puede venir dado por una retroalimentación del set de entrenamiento. Una posi-
bilidad sería que el sistema, después de que el usuario compruebe si ha sido bien
reconocida la matrícula, guarde la imagen de cada dígito en algún sistema de
almacenamiento dentro del servidor para engrosar así el set de entrenamiento.
Cada cierto tiempo con estos nuevos datos se pueden re-entrenar los algoritmo
para mejorar la tasa de aciertos.
Además de estas mejoras, esta aplicación puede ser analizada para futuras
investigaciones en otros campos de investigación. Por ejemplo, se podría indicar
al usuario qué plazas están libres, buscando un nuevo algoritmo de lógica difusa
que decida en función del tráfico y de una serie de parámetros determinados,
cuánta probabilidad tiene de encontrar una plaza libre en una calle determinada.
Este algoritmo estaría dentro de un campo de investigación que en esta memoria
y en este trabajo no se ha explorado aún.
Bibliografía
1. Introducción
Los guiones cinematográficos son documentos que contienen una gran can-
tidad de información. La lectura y análisis de los mismos es una tarea larga y
compleja que requiere, en muchos casos, más de una lectura. Sin embargo, la
lectura es un proceso que no favorece el análisis porque no mantiene una visión
global de la historia y la estructura, si no que es necesario recordarla a medida
que se avanza en la lectura.
Las técnicas de visualización de la información proporcionan una manera
útil y eficaz de realizar análisis sobre los datos de los guiones, ofreciendo una
visión global de los mismos y favoreciendo la búsqueda de patrones, estructuras
y relaciones entre personajes al margen de la lectura del guion.
El presente trabajo propone una representación visual de guiones cuyo obje-
tivo es proporcionar una manera eficaz de transmitir la información subyacente
en los datos presentando a la vez un aspecto estético agradable. La representa-
ción propuesta pone especial énfasis en la información estructural, incluyendo
las escenas, los personajes y sus relaciones, validándolos con la teoría narrativa
desarrollada por analistas de guiones profesionales.
2. Visualización de la Información
La visualización de la información, cuyas primeras infografías [1, 2] datan del
siglo XVII, ha evolucionado notablemente hasta la actualidad. La incorporación
120
3. Teoría Narrativa
inherente de dichas estructuras y sienten que algo “no va bien” en una película
si é no se ajusta, en mayor o menor medida, a ellas.
A grandes rasgos, Calvisi [8] define la forma del guion como una estructura
en cuatro actos (en realidad tres actos con el segundo acto dividido en dos) que
ocupan, aproximadamente, el 25 % de la película cada uno:
Acto uno: Se plantea el tema central de la historia y ocurre una crisis sobre
la que el protagonista debe tomar una decisión.
Acto dos-A: El protagonista entra en acción. Crecen el conflicto y los pro-
blemas.
Acto dos-B: Las cosas se desmoronan, el conflicto alcanza el punto máximo
y el protagonista toca fondo.
Acto tres: Todas las subtramas convergen y se produce el enfrentamiento
final y la resolución de la historia.
5. Decisiones de Diseño
Color
Matiz 7 7 3
Intensidad – 3 7
Forma
Orientación – – 7
Longitud 3 – 7
Ancho – – 7
Tamaño – – 7
Colinearidad 7 7 7
Curvatura – – 7
Agrupamiento 7 7 7
Marcas 7 7 3
Forma 7 7 3
Numerosidad 3 3 7
Posición espacial
Posición 2D 3 3 –
Profundidad 7 7 7
Concavidad/convexidad – – 7
Movimiento
Parpadeo 7 7 –
Movimiento – – 7
124
Atributos de Personaje:
• Personaje: Cada personaje aparece como una línea que recorre hori-
zontalmente la representación y cuyo color la distingue de las líneas de
otros personajes.
• Nombre: Representado mediante etiquetas textuales al inicio y al fin
de la línea de personaje.
• Relevancia del personaje: Se indica mediante el grosor de la línea de
personaje, siendo más gruesa cuanto más importante es el personaje en
función del número de escenas en que aparece.
Atributos de Escena:
• Escena: Representadas por elipses que se van sucediendo horizontal-
mente en el mismo orden en que aparecen en el guion.
• Número de escena: Están indicadas mediante etiquetas numéricas en
la parte superior de la representación, coincidiendo verticalmente con la
escena asociada.
• Datos de cabecera: Fundamentalmente los datos de localización. Se
muestran en una vista de detalle de la escena mediante una etiqueta
textual (lugar) y un icono (interior/exterior).
• Número de personajes: Se muestran mediante puntos contenidos en
la elipse de la escena. Esto afecta también a la altura de la escena,
consiguiendo un efecto interesante y perceptible a simple vista donde
las escenas más altas tienen más personajes.
• Duración: Codificado en la vista de duración, descrita más adelante, a
través de la anchura de la elipse de la escena.
5.3. El Color
La elección de los colores de la representación no es una tarea trivial e influye
directamente en la capacidad de transmitir información. Brewer et al. [19] y Bos-
tock et al. [20] proponen una lista de colores adecuados para la representación de
atributos categóricos y que minimizan las dificultades de identificación para las
personas con problemas de percepción de colores como el daltonismo. La elección
de los colores, tanto de las escenas como de las líneas de personaje, está basada
en esos trabajos con el objetivo de mejorar la eficiencia de la representación,
consiguiendo además un aspecto estético más agradable.
126
return solucion
6. Análisis de Guiones
6.1. Babel
6.2. Rocky
La segunda representación (Fig. 4) muestra el guion de Rocky, dirigida por
John G. Avildsen. En este caso, se pueden ver algunas otras características in-
teresantes extraídas directamente de la representación:
Personajes principales: La representación mostrada tiene los personajes
filtrados, de tal manera que solo se muestran 5 personajes. El algoritmo em-
pleado para este filtrado es capaz de elegir los personajes más importantes.
En este caso, los personajes mostrados corresponden precisamente a los per-
sonajes más relevantes y que representan los roles comentados en la Sección 3
y analizados para esta película por Sayler [22]:
• Protagonista: Rocky, línea azul. Personaje principal. Se puede ver como,
siendo el protagonista, interviene en casi la totalidad de las escenas. Su
línea es la más gruesa, ayudando a resaltar su importancia.
• Atractor: Adrian, línea roja.
• Mentor: Mickey, línea morada.
• Némesis: Apollo, línea verde.
• Trickster : Paulie, línea naranja.
Localizaciones: En esta representación se pueden apreciar de manera bas-
tante visual los cambios de localización del guion. La imagen muestra di-
ferentes series de escenas juntas representadas a diferentes alturas. Estos
saltos, que son seguidos por la línea azul del protagonista, se corresponden
casi en su totalidad con cambios en el lugar donde sucede la acción de las
escenas, ofreciendo esa información de manera intuitiva y eficaz.
1. Introduction
Biological visual systems are easily able to recognize objects. However, com-
puter systems still have great difficult performing the same task, primarily due
to viewpoint dependent differences that greatly impact the numerical representa-
tion of the visual stimulus perceived by these systems. For this reason, computer
vision and image recognition continue to be an active research priority in ma-
chine learning.
Over time, multiple solutions have been proposed to this problem. One of the
most successful of these has been biologically inspired deep networks [1], where
input images are processed through several layers of feature extractors and are
eventually classified as one out of several target labels. These works are based on
the findings by Hubel & Wiesel [2] where two main types of cells were identified
in the primary visual cortex of cats, the so called simple cells and complex cells,
connected through a cascading hierarchical model. The first functional model to
be inspired by these findings was the Neocognitron, introduced by Fukushima [3],
wherein two types of cells similarly take on the roles of local feature extractors
and deformation toleration.
Later work by Yann LeCun [4] introduced the convolutional neural network
(CNN) as a more robust system for the identification of handwritten characters
in scanned documents. Again, a similar dual cell type system is used, where a
convolutional layer extracts features and a subsampling layer reduces the input
134
space to tolerate space-wise variations in these features. CNNs form the foun-
dation for most modern image recognition systems based on hierarchical deep
learning techniques as they have proven to be a powerful solution when applied
to a large variety of vision tasks. Traditionally, these systems are deployed over
multiple GPUs to leverage the power of parallelism provided by this kind of
hardware[5].
The problem, however, becomes much more challenging when one attempts
to fit the demanding algorithms required by this task into a mobile environment
where computing capacity is limited. The main focus of this work is an attempt
to alleviate some of these issues by deploying a full CNN within a mobile device
for real time image recognition. Mobile Image Recognition (MIR) is thus defined
as an umbrella term under which to group the various technological components
involved in such a system.
The task involves the recognition of 2D planar images within a full 3D envi-
ronment to provide a solid framework upon which to base the results observed
and onto which apply the techniques detailed herein. Such a system would have
considerable real world usage applications, and it is quite evident how a mo-
bile device equipped with such capabilities can be exploited in a commercially
successful fashion.
As is well known, there currently exist various other systems capable of doing
similar tasks. Historically, the needs of these applications has been met by using
either simplified targets – as with the 2D markers usually seen in augmented
reality applications – or simply by offloading the required computations to a
remote server when full image recognition is required, thereby introducing a
certain latency in the results.
This work attempts to solve this problem by presenting a method where the
recognition occurs in real time within the device itself, to provide immediate
feedback to the user and to take advantage of the recognition on a live video
feed to increase the responsiveness of the MIR system.
voltage. An inhibitory synapse, on the other hand, will act in the opposite man-
ner by further lowering the neuron’s potential – thereby making it more difficult
for other incoming transmissions to overcome it and reach the required threshold
value needed to trigger a spike. As there may be both types of synapses present
on the receiving end of each cell, complex patterns of excitatory and inhibitory
stimulations can result in different behaviors altering the signals this cell itself
transmits to others.
This is the basic method by which cells communicate with one another, thus
providing a mechanism through which information can be either forwarded or re-
strained throughout the connected network – depending on the unique behavior
governing the actions of individual neurons.
Hubel & Wiesel Visual Cortex Model. The work by Hubel & Wiesel [2]
played an important role in understanding the operation of the visual cortex
– a specialized section of the brain responsible for interpreting visual stimuli.
Of particular interest are the cells in control of orientation selectivity and edge
detection of visual information in the V1 visual cortex. Two main types of cells
were identified in this area, which have elongated receptive fields and therefore
a better response to elongated stimuli – such as lines and edges. These cells
received the names of simple and complex cells.
Simple cells have distinct excitatory and inhibitory regions, both forming
elementary elongated patterns in one particular direction, position and size for
each cell. If visual stimulation reaches the cell in the exact same orientation
and position such that it aligns itself perfectly with the patterns created by
the excitatory regions, and at the same time the inhibitory regions do not get
stimulated – the neuron gets activated and responds accordingly.
Complex cells operate in a similar manner. Like simple cells, they have a par-
ticular orientation they are sensitive to. However, they lack position sensitivity.
Therefore, a visual stimulation needs only arrive in the correct angle to activate
this neuron, regardless of the exact position in the visual field it falls upon.
Another important fact about the cells in the visual cortex is the structure
that they form. Along the cortex hierarchy, proceeding from the V1 region of the
visual cortex and proceeding to the V2, V4, and IT regions, one finds that the
complexity of the ideal stimuli for each cell increases in complexity. Simultane-
ously, the activations of neurons become less sensitive to position and size. This
happens as cells activate and propagate their own stimuli to other cells they are
connected to in this hierarchy, primarily due to alternating simple and complex
cell layers.
Convolutional Layer. In the feature extraction stage, the single value neurons
forming a traditional multi layer perceptron are replaced by matrix processors
which perform an action over the 2D image data passing through them, instead
of a single scalar value. The output of each convolutional neurons is given by:
!
X
Y j = g bj + Kij ⌦ Yi (1)
i
to extract composite features which may have non-trivial purposes within the
feature extraction stage of the neural network system.
Linear Classifier. The last stage in a CNN is that of a linear classifier, which
is exactly identical to the latter stages of a typical MLP.
The input of this classifier is given by the output of the last step in the CNN
feature extractor. By the time the data reaches this stage, the input images
should have been distilled into a lower size representation of multiple extracted
features, having been reduced several times over the course of several convolu-
tional and max-pooling layers. This last stage should now be able to do a final
non-linear classification over the feature vector to finally recognize the original
input image. Therefore, the output layer of the classifier consists of one neuron
for each of the target labels over which the data is being classified.
3. CNN Architecture
This chapter reviews the architecture of the CNN implemented in the MIR
system and the reason behind these decisions – not only for practical reasons –
but also for optimization and performance enhancement.
The input image size is the first, and possibly most important parameter
that must be set in the CNN architecture. It defines the data size over which the
network will run, requiring all tested images to first be resized to match these
dimensions.
A fine balance must be found when selecting the input data size, the reason
being that this setting will affect both the performance and the accuracy of
the model. If the size is too small, the model will be fast, but it won’t have
enough pixel data to make correct decisions on what exactly it is viewing, so
classification accuracy will drop. if the size is too big, there will be a lot of data
138
to work with which will aid the model’s accuracy rating but more calculations
will be required and performance may be too slow for real time usage.
Table 1 shows a few different values for possible image input sizes. The clas-
sification accuracy on the test dataset can be seen in the last column. This
provides sufficient evidence that a 32⇥32 input image size is an optimal value
for this particular system by balancing both needs in an appropriate manner.
Table 1. Multiple input size configuration values and its effect on the DCNN perfor-
mance
Parameters Performance
Input Kernel Pooling No. of Computation Mean
Size Size Size Operations Time Error
16⇥16 3⇥3 2 110,954 3.2 ms 12.54 %
24⇥24 5⇥5 2 481,418 8.5 ms 1.32 %
32⇥32 5⇥5 2 1,121,418 17.1 ms 0.44 %
48⇥48 7⇥7 2 4,907,882 54.9 ms 0.15 %
64⇥64 7⇥7 4 10,038,378 147.3 ms 0.18 %
Historically, the RGB color space is the preferred color model when dealing
with digital imaging. The question arises if there is a better way to represent the
image data such as to help with the neural network’s learning process, making as
efficient use as possible of the given data distribution. As usual, we look to the
biological visual system for inspiration on how to better treat this information.
It is well known that the human visual cortex is much more sensitive to changes
in luminance than to changes in color [7]. Therefore, it would be beneficial to
have a system where the intensity can be treated with the attention it demands,
while still making use of chromatic data as supporting information.
There exist various color models which follow such a structure, such as the
well known YUV color model, where the image intensity is represented in one
channel (Y) and the color information is given in two supporting channels (U
and V). The YUV method is chosen for the system presented in this work for
one particular reason: the MIR device camera.
In accordance to digital video standards, most hardware cameras output im-
age data in YUV format, and it therefore makes perfect sense to make use of this
data directly, thus avoiding the computationally expensive step of continuously
transforming a full HD video signal frame from one color space to another.
139
C S (I, K) = I K T ⌦ (K ⌦ I)
I
C D (I, K) = p
K T ⌦ (K ⌦ (I I))
N D
C (I, K) = C C S (I, K), K
Where I is the input image at each operation, usually modified with the 1D
gaussian kernel K and its corresponding transposed kernel K T to convolve in
both the horizontal and vertical directions of the image.
The C S (I, K) function is a subtractive operation, where the dual convolu-
tions have the effect of generating a localized mean representation of the input
image, thus, subtracting this mean from the original input image yields a zero-
centered normalized image.
The C D (I, K) function is a divisive operation, where the dual convolutions
operate on the input image squared (element-wise matrix multiplication by it-
self). The square root of this amount represents a localized standard deviation of
the input image, thus, dividing the input by its own standard deviation results
in a normal distribution with = 1.
The final C N (I, K) function to implement the contrast normalization op-
eration, then, is that of the previous two operations applied sequentially with
the same kernel, resulting in a normalized image with values centered around 0,
and a standard deviation of 1 – priming it for a machine learning algorithm to
process. The localized convolutions applied throughout the process also have the
140
effect of flattening gradients over the image, while enhancing the ever important
edge outlines describing the object contours, both of which are ideal for easier
recognition.
Figure 1 shows the mean classification error over 10 training epochs of two
learning runs, one using the contrast normalization preprocessing algorithm,
and the other without. It is clear from these results that contrast normalization
applied on the Y channel data achieves better recognition performance.
Figure 1. The effect of contrast normalization on the mean error learning curves.
between the first two layers. By doing this, the prior knowledge of assymetrical
channel influence can be embedded into system. A connection map is thus formed
between the input neurons and the first convolutional layer in such a way that
the Y channel input neuron fully connects to eight convolutional layer neurons,
whereas each of the U and V channel input neurons connect to only 2 other
convolutional neurons each. Assigning more connections to one neuron greatly
increases the effect its stimulus information has over the entire system state. It
is important to note here that each channel will be processed separately on this
first convolutional layer of the CNN, and it is not until the next stage where the
information from all channels is finally mixed together.
The two convolutional stages serve as a form of feature extractor that reduce
the input image to a lower dimensional representation. By repeated convolutions
and max-pooling operations, the data is reduced from a tensor of size 32⇥32⇥3
= 3072 data points, to one of size 5⇥5⇥32 = 800. These 800 data points serve as
the input for the final stage of the CNN, a simple MLP which is able to classify
the 800 non-linear features extracted from the input image into the final number
of target classes the recognizer is trained upon.
The output layer in the linear classifier has as many neurons as there are
classes in the problem to solve, plus one. The extra output neuron corresponds
to a catch-all background class.
3.5. Training
The training targets are ideal one-vs-all vectors, where the i-th element of the
vector corresponding to the class index takes on a value of +1, while all other el-
ements are assigned a -1 value instead. The (-1,+1) interval, being zero-centered,
helps in the training phase by having evenly and symmetrically distributed target
values.
The network is trained through Stochastic Gradient Descent, where the con-
figuration parameters are updated after every single training image. This requires
the image data set to be previously shuffled so as to avoid any biasing that may
occur from training over the same class for too many sequential steps.
The decision was made to use Torch [10], which is a library that implements
many features related to deep neural networks. The MIR system itself is built as a
hybrid Java and C++ mobile application for the Android OS. The API provided
by the Android Software Development Kit is used for the application’s outer UI
and the high level logic of the program, while the low level core computations
dealing with the CNN implementation are all custom built in C++ and interfaced
with the Java program via the Java Native Interface, and compiled with the
Android Native Development Kit.
142
Figure 2. A screen capture of the application showing the artificial fovea overlay,
wherein three of the foveal regions have detected one of the images the system has
been trained to recognize
143
This method of operation can be compared to the way the fovea centralis
works in the human eye. The fovea is the region of the eye where there is a greater
concentration of photoreceptor cells [11]. It is located in the center of the retinal
surface and it accounts for the greater visual acuity at the the middle of the eye’s
field of vision. As the human eye is free to rotate and look around, there only
needs to be such a concentration of cone cells at its center, as additional detail
can easily be obtained by looking towards a different direction. This mechanism
then, allows allocating resources more efficiently where they are truly needed as
opposed to having a dense concentration of photoreceptors throughout the eye.
The same idea applies in the artificial fovea proposed here, where the costly
CNN computations are concentrated towards the center of the field of vision, as
the freedom of movement given by the device diminshes the need for full frame
scanning. By reducing the required computational time needed to analyze each
image frame, the system can be released sooner and thus be able to scan the
camera view with much greater frequency.
Table 2 shows the results of using an artificial fovea in this manner, where
the input image fed to the network is classified through a simple winner-takes-
all approach over multiple CNNs using the arrangement described above. This
run was made over 32,000 image samples, each of which consisting of a target
trained-for image, overlaid over a random background at a random scale – in
such a way that different images will have different CNNs activated for each of
the ten analyzed scales. In this case, the neuron with the highest output over
all ten foveal views wins and the full image frame is classified with this output
neuron’s label.
Table 2. Confusion matrix and global mean error of the CNN, using a winner takes
all strategy
Classes Error
BG C1 C2 C3 C4 C5 C6 C7 C8 C9
BG - 148 57 36 18 26 102 96 1 53 6.781%
C1 7 - 1 2 1 11 0 7 0 2 0.969%
C2 10 0 - 3 1 0 4 0 1 14 1.021%
C3 9 26 19 - 16 0 15 261 0 41 12.084%
C4 0 4 0 0 - 0 0 0 0 0 0.130%
C5 8 6 2 0 0 - 0 0 0 0 0.500%
C6 15 1 5 4 0 3 - 0 0 13 1.281%
C7 20 0 0 71 0 1 3 - 0 0 2.969%
C8 4 0 0 0 0 0 1 0 - 0 0.156%
C9 0 4 23 0 0 0 3 0 2 - 1.000%
Global Misclassification Error 3.691 %
144
The practice of using neural network committees starts from the Hypothesis
Boosting Problem [12], which when simply stated asks if a set of weak learners
can form a single strong learner, where the strength of a learner is an informal
measure of its prediction or classification accuracy. Many algorithms have shown
this to be the case and various boosting meta-algorithms have been developed
based on this idea.
Implementing such a procedure naively into the MIR system would involve
the execution of multiple CNNs for every single viewed input. Unfortunately, this
is something that must be avoided as it would obviously increase computational
demand linearly by a factor proportional to the number of concurrent networks
being executed. The fact that concentric viewing squares are being extracted
from the camera view, however, gives the opportunity of reusing the existing
knowledge from each of these foveal view outputs as a weak learner itself, and
thus it is possible to combine them all into a stronger learner with a higher
recognition accuracy than what any of the individual recognizers would be able
to achieve.
Unlike regular classifier ensembles, however, a straightforward average op-
eration will not work properly as every network being sampled is looking at a
different input scale (different foveal view). As can be seen in figure 2, various
networks will recognize their corresponding input differently – and naturally all
networks will never concurrently agree on the same output. Therefore, a new
mechanism is introduced where the ensemble takes into account the probability
that each of the CNNs is viewing a non-recognizable image (background class).
This probability is used to weight that network’s influence over the averaging
calculation.
This is implemented by first normalizing the output values of each CNN
with a softmax activation function, which basically scales the output into a
probability-like distribution with all values summing to 1. This activation is
defined as follows:
eyjn
ŷjn = PM
yin
i=1 e
Where yjn is the output value of neuron j for network n, M is the total num-
ber of output neurons or classes in a network, and ŷjn is the softmax activated
output of this neuron. Note that this function looks at the outputs of all other
neurons in the current network to calculate what this neuron’s activated output
should be.
Next, a weighted ensemble average over the outputs of all networks is applied.
This is defined by:
N
X
ỹj (↵) = ↵jk ŷjk
k=1
145
Where ỹj is the averaged value of the output neuron for class j over all
networks. The weight ↵jk is the influence network k has over the average, and
this is defined by:
⇢
(ŷ1k + ) 1 if j > 1
↵jk =
1 if j = 1
Here, is a small positive number that not only helps to avoid dividing
by zero, but also plays a regulatory role by modulating the influence of small
BG-class probabilities over the end results. Essentially, this definition of ↵jk
weights the output of class j in network k by the inverse of ŷ1k . This ŷ1k value is
the probability of the output neuron with index 1, that is, the probability that
network k has detected a background (or non-recognizable) image. An exception
is made for the background class itself, where the averaging weight is left as 1
in order to avoid compounding the effect of this class on itself.
The basic idea behind this is to give greater influence to neural networks that
have not defaulted to the backgound target output in the current foveal view
region they are analyzing. Table 3 shows an updated confusion matrix, trained
in the same manner as the previous run as in Table 2 above, and over the same
data – with the only change being the use of the proposed algorithm for weighted
ensemble classification. It is evident that there is a strong improvement by using
this type of meta-algorithm to unify the outputs of multiple networks in a more
intelligent manner.
Table 3. Confusion matrix and global mean error of the CNN, using the proposed
algorithm for weighted ensemble classification
Classes Error
BG C1 C2 C3 C4 C5 C6 C7 C8 C9
BG - 14 6 16 0 8 15 20 0 3 2.562%
C1 6 - 0 0 0 0 0 0 0 0 0.969%
C2 2 0 - 2 0 0 0 0 0 0 0.125%
C3 3 0 0 - 0 0 0 19 0 0 0.687%
C4 0 0 0 0 - 0 0 0 0 0 0.000%
C5 4 0 0 0 0 - 0 0 0 0 0.125%
C6 8 0 0 0 0 0 - 0 0 0 0.250%
C7 21 0 0 6 0 0 0 - 0 0 0.844%
C8 0 0 0 0 0 0 0 0 - 0 0.000%
C9 0 0 0 0 0 0 0 0 0 - 0.000%
Global Misclassification Error 0.478 %
5. Conclusions
In this work, a mobile image recognition system based on convolutional neu-
ral networks was presented. Many of the steps involved in the development of
this application were reviewed in detail, although there were many other imple-
mentation issues which for brevity were not mentioned here. A lot of background
information was also seen in order to fully understand the operation of this type
of neural network, including much of the neuroscience that provides the support
upon which this branch of deep learning is built upon.
The effects of the chosen CNN architecture were reviewed, reviewing the
choices on colorspace model and normalization algorithm. The meta-algorithm
proposed in this work for multiple neural network ensemble averaging over dif-
ferent input scales proved to be quite valuable in strengthening the classification
performance of the overall system. It was seen how it boosts the performance of
individual networks, but perhaps the most important contribution is the reduc-
tion of false positives in the detection.
The final performance obtained by the system when deployed on a mobile
device was quite surprising. Although a simple use of the system was reviewed
here, the fast response of the system opens up the door to a large amount of
other applications on which this system can be used, such as augmented reality
and possibly even motion analysis applications.
Bibliography
1. Introducción
La gran evolución de la tecnología hace que los sistemas que hay en el mercado
cada vez sean mejores y más capaces de facilitar la vida de las personas. Con la
alta velocidad de internet y el alto avance de las cámaras web se puede visualizar
en tiempo real lo que está pasando al otro lado de la cámara.
Esto ha supuesto que empresas de seguridad o de marketing quieran utilizar
esta tecnología para hacer que su trabajo sea mucho más sencillo y amplio que
sin estos sistemas, para evitar, por ejemplo, accidentes como el que surgió en el
Madrid Arena el pasado 1 de Noviembre.
El problema de la visión artificial, ha recibido una considerable atención du-
rante muchos años desde el punto de vista psicofísico, y en los últimos años en
la comunidad científica preocupada por el estudio de la visión artificial. Se ha
producido un considerable aumento de interés en los temas de procesado de ima-
gen, lo que ha conllevado la necesidad y aparición de nuevos métodos teóricos y
desarrollos prácticos para el diseño de este tipo de sistemas. Las aplicaciones del
150
2. Objetivos
4. Servicios ofrecidos
Todos los agentes realizan una tarea específica y esta puede ser finalizada
por ellos mismos o con ayuda de otro agente. Algunos agentes necesitan de otros
para finalizar su requerimiento, por lo que se creó una serie de comandos los
cuales proveen comunicación entre ellos para lograr los objetivos previamente
planteados por cada Agente.
5. Resultados y conclusiones
Como apunte de futuro final decir que la información del color aporta una
fuente de importante peso. Los resultados de todos los métodos mencionados en
las secciones anteriores pueden mejorarse considerablemente añadiendo informa-
ción del color. La calidad de los resultados del algoritmo basado en bordes puede
mejorarse grandemente usando imágenes en color.
Bibliografía
Roberto Vega Ruiz1 , Héctor Quintián Pardo1 and Emilio Corchado Rodríguez1
1
Department of Computer Science, University of Salamanca. Plaza de los Caídos s/n.
37008, Salamanca, Spain
{rvegaru,hector.quintian,escorchado}@usal.es
1. Introduction
Soft Computing [1, 2] has been succesfully used for industrial process mod-
elling. Recently, different paradigms of Soft Computing have been applied to
different industrial problems [3]. System identification [1, 5] has made possi-
ble to model, simulate and predict the behavior of many industrial applications
successfully and in different areas, such as control [6], robotics [8], energy pro-
cesses [8], milling machine [9], high precision [10], etc. A novel and economically
advantageous application is the optimization process in the area of Odonto-
Stomatology. Improved processing and optimization of parameters, such as time
processing, for the development of dental pieces are the focus of rigorous studies
today.
The optimization process of machine parameters, such as the time parameter
and accuracy, permits significant saving money due to the high number of dental
pieces produced daily by the same high precision dental milling machine centre.
One way to achieve this optimization is based in the use of emerging method-
ologies, such as neural netwoks [11], nature-inspired smart systems[9], fuzzy logic
[10], support vector machine [11], data mining [15], visualization [16], genetic al-
gorithms [17], case-based reasoning [18], among others.
164
(a) Applying CMLHL from MacBook Pro (b) Applying PCA from iPhone
(EPP) [25] which it is a recent statistical method aimed at solving the difficult
problem for identifying structure in high dimensionality data. However, not all
projections will reveal this structure well.
MLHL identifies interestingness by maximizing the probability of the resid-
uals under specific probability density functions that are non-Gaussian.
Let have an N -dimensional input vector, x, and M -dimensional output vec-
tor, y, with Wij being the weight linking the j th output. The learning rate, ⌘
is a small value which will be annealed to zero over the course of training the
network and p is a parameter related to the energy function. The activation
passing from to output through the weights is described by Eq. 2.
MLHL can be expressed [5] as:
Weight change:
4Wij = ⌘yi sign(ej )|ej |p 1 (1)
Feed-forward step:
N
X
Yi = Wij xj , 8i (2)
j=1
Feedback step:
M
X
ej = xj Wij yi , 8j (3)
i=1
Feedback step:
M
X
ej = xj Wij yi , 8j (6)
i=1
precision drills and bits, by optimizing the time error detection for manufacturing
dental metal.
The material (Cr–Co, Ti), the tools and the feed rates affect the conformation
times. Since the processing involves polishing and milling the piece, the time of
conformation determines its size.
The milling process in the preparation of dental pieces is currently the most
modern processing prosthesis in existence. When it finished, the completed crown,
bridge or veneer is cut away from the blank, hand-finished to remove coping and
runner marks, polished and attached to the patient’s damaged tooth using dental
cement or affixed to a previously installed implant.
The advantages of 5-axis machines are numerous allowing complete multilat-
eral machining in a single cycle, reducing non-productive time, eliminating the
lack of precision arising from the multiple ties of the piece and allowing better
access to restricted areas difficult to reach. The angle adjustment can be freely
defined and it is possible to use shorter and more rigid tools, which results in
improved surface finish.
The main parameter to estimate and optimize in this research is the time
error for manufacturing. It is the difference between the estimated time by the
machine itself and real work time. Negative values indicate that real time exceeds
estimated time.
types (plane, toric, spherical, and drill) characterized by 12 input variables (see
Table 1). The input variables are the type of work, the thickness, the number of
pieces, the radius of the tool, the tool, the revolutions per minute of the drill,
the feed rate (X, Y and Z), the initial tool diameter, the initial temperature and
the estimated duration of the work.
Variables Values
Work 1 to 7
Disk thickness (mm) 8 to 18
Pieces 1 to 4
Radius (mm) 0.25 to 1.5
Plane (1), Toric (2),
Type of tool
Spherical (3), Drill (4)
Revolutions per minute (RPM) 7,500 to 38,000
Feed X (mm) 0 to 3000
Feed Y (mm) 0 to 3000
Feed Z (mm) 50 to 2000
Initial Diameter (mm) 91.061 to 125.57
Initial Temperature (ºC) 21.6 to 31
Theoretical Working Time (s) 6 to 2,034
Difference between Theoretical and Real Time (s) -3 to 565
Weathering (mm) -8 to 22
Temperature Variation (ºC) -5 to 6.7
This multidisciplinary research analyzed the data set to obtain the variables
that are most important to optimize the time error in the manufacturing process.
In the first step, PCA and some unsupervised learning algorithms as MLHL
and CMLHL were applied to identify the internal data sets structure and com-
pare the results obtained by every algorithm.
In the case of PCA, the model is looking for those directions where variance
is the biggest. An internal structure appears in the data set due to feed X, feed Y
and feed Z increase when the X-axis values grow up and revolutions per minute
170
(RPM) increase when the Y-axis values decrease. In addition, five clusters are
identified (Fig.4).
Once the internal structure of the data set is analysed it has been concluded
that the most relevant variables are revolutions per minute (RPM), feed X, feed
Y and feed Z variables.
MLHL identifies five clusters as PCA projection but in this case the number of
relevant variables is six instead of five as it can be seen in (Fig.5). Revolutions per
minute (RPM), feed X, feed Y, feed Z, temperature, type of tool and difference
between theoretical and real time are the most representative variables in this
projection. It also has an internal structure in all clusters where revolutions per
minute decrease when the Y-axis values increase and temperature values increase
when the X-axis values increased.
171
Figure 5. MLHL projections with iters = 10, 000, lrate = 0.05, m = 4 and p = 0.02.
In the last case, CMLHL algoritm was applied to improve MLHL results and
it got the best representation as it was showed in (Fig.6).
CMLHL projection is showed in (Fig.6). The results obtained were better
than the others projections by PCA and MLHL. The clusters were well defined.
Six clusters were identified and the most important variables were revolutions
per minute (RPM), feed X, feed Y, feed Z, temperature, type of tool, difference
between theoretical and real time and radius. It also has an internal structure
in all clusters where revolutions per minute decrease when the Y-axis values
increase and temperature values decrease when the X-axis values increased.
It has been concluded that the most relevant variables of the data set are
eight: revolutions per minute (RPM), feed X, feed Y, feed Z, temperature, type
of tool, theoretical working time and radius.
In the second step, these eight variables were selected to model the system.
ANN and SVR are applied and compared.
The models are trained using an initial data set of 190 samples obtained
by the dental scanner in the manufacturing of dental pieces. These samples are
formed by 8 input variables (revolutions per minute (RPM), feed X, feed Y, feed
Z, temperature, type of tool, theoretical working time and radius) and 1 output
variable (difference between theoretical and real time).
172
Figure 6. CMLHL projections with iters = 100, 000, lrate = 0.008, m = 4, p = 0.25,
⌧ = 0.1.
The number of samples in the data set is small, for this reason a 12-fold cross-
validation schema is used. This technique reduces variability, multiple rounds of
cross-validation are performed using different partitions, and the validation re-
sults are averaged over the rounds. The final model is obtained using the full
data set. Crossvalidation is applied to ANN and SVR.
MLP was tested with several difference structures, getting the best result
using 4 hidden layers. The structure was made up by 12 neurons in the first
layer, 3 neurons in the second layer, 10 neurons in the third layer and 6 neurons
in the fourth layer. The selected activation function in the hidden layers was the
tangent sigmoidal. The results applying MLP using all variables and the 8 main
variables are shown in Table 2. It can be appreciated how the results using only
the most relevant variables are better (67.5723%) than the ones which use all
the variables (40.9975%).
LS-SVR was tested through Matlab toolbox. In this toolbox, the tuning of the
parameters is conducted in two steps. First, a state-of-the-art global optimiza-
tion technique, Coupled Simulated Annealing (CSA) [28], determines suitable
parameters according to specific criterion. These parameters were then given
to a second optimization procedure simplex to perform a fine-tuning step and
173
Radial Basis Function (RBF) kernel was selected. The optimal adjustment pa-
rameters are 2 and .
Table 2. Results for ANN applying all variables and the 8 main variables
Table 3. Results for SVM applying all variables and the 8 main variables
The results applying SVM are shown in Table 3. It can be appreciated how
the results are similar applying feature selection (75.0069%) and selecting all
variables (75.1545%). These results justify that feature selection allows to discard
the variables that are not relevant and reduce the computational cost.
Feature selection is necessary to identify the most relevant variables and
reduce the computational cost. The results are also better applying SVM because
the Fit Test parameter (75.1545%) is greater than ANN (67.5723%) and the
variance is also more reduced for SVM (1.3554). For this reason, it has been
concluded that SVM model is better than ANN model.
5. Conclusions
This contribution has been presented to prove the advantages of the combi-
nation of statistical and connectionist unsupervised models with identification
systems, providing a two steps model characterized by indicating the relevance
of the data. It avoids wasting time attempting to model a system with data that
do not represent the system dynamics.
Feature selection has reduced the number of variables to be considered in
the modeling process, with the least loss of information about the system. This
reduces the complexity of the model and computational cost.
174
An intelligent two steps model has been presented which has allowed analyz-
ing the real data set formed by 190 samples where every sample has 15 variables.
In the first step, some visualization techniques such as PCA, MLHL and
CMLHL were applied. It has allowed to find the internal structure of the data
set. At the first moment, an internal structure was found by applying PCA.
MLHL and CMLHL are also applied and the most importante variables were
identified.
In the second step, ANN and SVM were applied to model the system. It has
been concluded that SVM is better than ANN because SVM Fit Test is greater
in a 7.5822% and SVM Variance Test is less than ANN model in a 6.8966.
Future research lines will be based on the analysis of some other features
selection models as wrappers, filters and hybrid models. Also the application of
other optimization models will be studied.
Finally the application of this intelligent model will be tested under the frame
of some other industrial use cases.
1. Introducción
En la vida social actual, todo el mundo tiene sus propias relaciones personales;
este tipo de relaciones existen entre las personas que constituyen la red social[1]
de la vida real. En los últimos años, con la evolución de Internet, han comenzado
a aparecer sitios web promocionando las redes de círculos de amigos en línea. El
término se empleaba para describir las relaciones en las comunidades virtuales y
se hizo popular en 2003 con la llegada de sitios tal como MySpace, y continúan
avanzando en Internet a pasos agigantados, especialmente dentro de lo que se
ha denominado Web 2.0.
Twitter [2] es uno de los sitios más relevantes hoy en día; en la actualidad,
tiene más de 200 millones de usuarios activos y se publican más de 400 millones
de mensajes de texto cada día [3]. Las informaciones que contiene en su sitio
web son muy enriquecidas, significativas e importantes, por lo tanto nos interesa
recoger datos desde este sitio web y hacer análisis y visulalización para descubrir
nuevos conocimientos.
teoría de grafos sobre el Análisis de Redes Sociales (ARS). Las propiedades que
presentan las redes sociales se pueden representar en base a su forma, distribu-
ción y similaridad entre los conjuntos de nodos y relaciones que existen en la
red.
Cohesión: es una fuerza de atracción entre los individuos, que puede ser
medida por el número de intercambios entre dos actores, el promedio de las
distancias geodésicas, el tamaño de la red, etc.
GET users/lookup: Este método es casi igual que GET users/show, la úni-
ca diferencia es que este método devuelve información de hasta 100 usuarios
por una petición.
La visualización de las redes sociales sirve como método para descubrir pro-
piedades en las redes, aunque tiene menos peso teórico en el análisis, pero tiene la
ventaja de alimentar rápidamente la intuición del investigador [9]. En la actua-
lidad existen diversas herramientas desarrolladas para el análisis y visualización
de redes, tales como Pajek, NodeXL o UCINET. Gephi [10] es una de las más
relevantes.
Gephi es una herramienta de código abierto multiplataforma bajo la licencia
GNU GPL 3 y gratuita. Es una de las herramientas más completas para ma-
nejar todo tipo de datos y gráficos y con un desempeño bastante considerable,
incluso al manejar y procesar datos sumamente grandes, ofreciendo los cálculos
de ARS tales como Grado, Diámetro, Centralidad y Modularidad. También está
disponible una variedad de disposiciones para la visualización de grafos.
180
3. Desarrollo de la Aplicación
Crawl por seguidores o seguidos: para crear un grafo con los seguidores
o seguidos de uno o varios usuarios de Twitter, necesitamos hacer al crawler
caminar desde los primeros usuarios, recoger y seguir por sus seguidores o
seguidos, hasta un nivel de profundidad deseado. Es necesario establecer
alguna regla al crawler. En el Twitter crawler v1 implementamos el nivel de
profundidad de crawl y el número mínimo y máximo de seguidores de un
usuario para una mejor recogida de datos.
mucho más alta que los demás, y su grado de entrada también es alto en la red,
es fácil de encontrar este nodo en la figura de visualización (ver Fig. 2).
5. Conclusiones
crawl para conseguir una mejor recogida de datos. Hemos realizado un análisis
y visualización de los datos obtenidos con las herramientas de análisis, hemos
hecho una prueba con el Twitter de la Universidad de Salamanca y conseguimos
un resultado muy interesante, que significa conseguimos el método para resolver
el problema y la necesidad que planteamos al principio del trabajo. Desde este
punto de vista, podemos decir hemos alcanzado los objetivos del trabajo.
Sin embargo, no hay que olvidar las deficiencias que existen en este trabajo,
hay muchos aspectos que serán susceptibles de mejora, por ejemplo el límite
impuesto por Twitter API es el mayor problema que nos acompaña durante
toda la realización de trabajo, especialmente en el Twitter API v1.1, dónde que
se ha reducido considerablemente el límite. Deberíamos encontrar una manera
para resolver esta problemas evitando gastar mucho más tiempo en la espera de
recogida de datos que en el proceso más importante de análisis de los datos.
Para el trabajo futuro, podemos desarrollar un crawler de tipo distribuido
para solucionar el problema de límite de API, podemos mejorar el presente tra-
bajo en diferentes aspecto como una interfaz gráfica más estable, un algoritmo
de crawl más eficiente o añadir más funciones en el crawler. Además, aparte
de Twitter existen muchos sitios de redes sociales en Internet, pudiendo aplicar
el método que aprendimos en este trabajo a otros sitios dependiendo sus APIs
disponibles.
Bibliografía
beca para cursar sus estudios de Maestría obteniendo el título, “Máster en Siste-
mas Inteligentes” en la Universidad de Salamanca, España. Actualmente reside
en la ciudad de New Orleans, Estados Unidos de Norte América, continuando
sus estudios como complemento al área de Ingeniería en el Máster “Engineering
management” de la Universidad de New Orleans.