Red social georeferenciada
basada en proximidad con
mapa interactivo
Alumnos
Gastón Adrián Manoli
Matías Miguel Rizzi
Director
Oscar Nigro
Codirector
Tabla de contenido
Capítulo 1 ... 5
1.1. Introducción ... 5
1.2. Trabajo Propuesto ... 6
1.3. Organización ... 7
Capítulo 2 ... 9
2.1. Redes sociales ... 9
2.1. Representación de redes sociales ... 10
2.2 Dispositivos móviles ... 17
2.2.1 Android ... 18
2.2.2 iOS ... 18
2.2.3 Blackberry ... 19
2.3 Geolocalización ... 19
2.3.1 Triangulación de Celdas ... 20
2.3.2 Navegación GPS ... 21
2.3.3 Cell ID ... 22
2.3.4 WPS ... 22
2.3.5 Posicionamiento Híbrido ... 23
2.4 Data mining (Minería de datos) ... 23
2.5 Reality Mining (Minería de la realidad) ... 25
2.6 Resumen ... 26
Capítulo 3 ... 27
3.1 MobiFeed: Un sistema de noticias con reconocimiento de ubicación para usuarios móviles. ... 27
3.2 Minería de la realidad: detección de sistemas sociales complejos ... 30
3.3 GeoFeed: Un sistema de suministro de noticias con reconocimiento de ubicación ... 33
3.4 GeoSocialDB: Servicios de redes sociales basados en localización ... 39
3.5 Foursquare ... 42
3.6 Resumen ... 43
4.1 Tecnología y arquitectura de la aplicación ... 44
4.2 Funcionalidades del sistema ... 52
4.2.1 Ingreso y registración de usuarios ... 52
4.2.2 Agregar entidades ... 55
4.2.3 Buscador de Usuarios y Lugares ... 59
4.2.4 Configuración de Perfil de usuario ... 60
4.2.5 Filtrado de entidades por proximidad ... 61
4.2.6 Sistema de notificación de noticias ... 63
4.3 Resumen ... 64
Capítulo 5 ... 65
5.1 Pruebas Realizadas... 65
5.2 Análisis de la red social resultante ... 66
5.2.1 Indicadores de nivel individual ... 69
5.2.2 Indicadores de nivel grupal ... 73
5.3 Resumen ... 76
Capítulo 6 ... 77
6.1 Limitaciones ... 77
6.2 Trabajos futuros ... 78
Referencias ... 79
Índice de figuras
Figura 2.1 Representación con grafos. ... 10Figura 2.2 Centralidad. ... 13
Figura 2.3 Grado. ... 13
Figura 2.4 Cercanía... 14
Figura 2.5 Grado de intermediación. ... 15
Figura 2.6 Clique. ... 16
Figura 2.7 N-Clique. ... 16
Figura 2.8 Relación entre datos, información y conocimiento. ... 24
Figura 3.1 MobiFeed framework. ... 28
Figura 3.2 Alcance de noticias geolocalizadas. ... 35
Figura 3.4 Enfoque “Spatial Push”. ... 38
Figura 3.5 Enfoque “Shared Push”. ... 38
Figura 3.6 GeoSocialDB framework. ... 40
Figura 4.1 Arquitectura de la aplicación. ... 45
Figura 4.2 Registración y envío de mensajes con GCM. ... 47
Figura 4.3 Diagrama de entidades y relaciones de GeoTandil. ... 52
Figura 4.4 Ingreso y registración de usuarios. ... 53
Figura 4.5 Pantalla inicial de la aplicación. ... 54
Figura 4.6 Agregar lugar/noticia. ... 55
Figura 4.7 Nuevo lugar. ... 56
Figura 4.8 Tipo de lugar. ... 57
Figura 4.9 Nueva noticia. ... 58
Figura 4.10 Tipo de noticia. ... 58
Figura 4.11 Buscador de usuarios y lugares. ... 60
Figura 4.12 Configuración perfil usuario. ... 61
Figura 4.13 Menú de filtrado de entidades. ... 62
Figura 4.14 Filtro por tipo de lugares... 63
Figura 5.1 Grafo de la red social obtenida. ... 68
Índice de tablas
Tabla 2.1 Representación con matrices. ... 11Tabla 3.2 Noticias geolocalizadas del usuario 1. ... 35
Tabla 3.3 Noticias geolocalizadas del usuario 2. ... 35
Tabla 5.1 Matriz de representación de la red obtenida. ... 67
Tabla 5.2 Grado de los actores intervinientes en la red social obtenida. ... 69
Tabla 5.3 Cálculo de caminos más cortos entre actores. ... 71
Tabla 5.4 Cálculo de lejanía y cercanía. ... 71
Tabla 5.5 Cálculo del grado de intermediación por actor. ... 73
Tabla 5.6 Cálculo de lejanía y cercanía. ... 74
Capítulo 1
Introducción
1.1. Introducción
Los dispositivos móviles se han convertido en un artefacto de uso masivo en los últimos años. Entre sus capacidades proveen la funcionalidad de brindar su posición geográfica. A su vez, las redes sociales se han hecho cada vez más populares y variadas, transformando la forma de relacionarse y comunicarse de las personas. La posibilidad de combinar dichas funcionalidades deriva en que las personas puedan compartir información junto a su ubicación geográfica.
El uso cotidiano tanto de las redes sociales como de los dispositivos móviles es lo que permite obtener información de interés. En consecuencia, dada la consolidación y evolución constante de estas tecnologías, se da lugar al almacenamiento de un gran volumen de datos que resulta de gran utilidad en el proceso de inferir información que ayude a entender el comportamiento de los miembros de una red.
Cada usuario dentro de una red puede estar vinculado con uno o más usuarios dentro de la misma, creando de esta manera su propio círculo de relaciones. Esto permite la recolección de datos que serán almacenados en una base de datos de forma conveniente para realizar distintos tipos de análisis. Almacenar esta información de forma adecuada y orientada en ciertos puntos centrales, como son las relaciones entre las distintas entidades y su ubicación geográfica, es lo que le da gran importancia a la aplicación.
La idea fundamental de este trabajo es la generación de una aplicación fácil de usar, que ayude a un usuario particular a crear su mapa de manera interactiva a partir de otros usuarios, lugares y noticias ubicadas geográficamente, utilizando una plataforma conocida y consolidada como el Sistema Operativo Android.
1.2. Trabajo Propuesto
En este trabajo desarrollaremos e implementaremos una aplicación para dispositivos móviles que corra sobre el sistema operativo Android. Focalizando la localización geográfica de la misma en la ciudad de Tandil, dejando abierta la posibilidad de ampliar la funcionalidad a otras ciudades, y destacando la interacción entre usuarios. Esta herramienta será utilizada para capturar información de los usuarios para posterior análisis.
Los principales servicios propuestos serán la localización de usuarios y comercios, y la visualización de noticias geolocalizadas. La aplicación proveerá una plataforma de mapas la cual servirá de base para mostrar las diferentes entidades (usuarios, lugares y noticias) así como también para navegar la ciudad independientemente. Cada usuario será capaz de agregar usuarios existentes y de crear nuevos lugares o noticias a partir de su correspondiente posición geográfica. Al momento de la creación de una entidad, se destaca la posibilidad de tomar una imagen fotográfica o elegirla de la galería de imágenes, para así vincularla junto con su ubicación, además de por ejemplo una breve descripción y categoría.
Adicionalmente, se proveerá un servicio de notificaciones entre usuarios. Esta característica se utilizará para hacerle saber a quién está utilizando la aplicación cuando una nueva entidad fue creada por otro usuario y ésta se encuentra en una ubicación cercana al primero.
Para la persistencia de los datos recolectados se utilizará una base de datos, la cual constará con el esquema necesario en base al propósito de la aplicación. La información más importante a almacenar es la latitud y longitud tanto de los usuarios como de las noticias y lugares. En el caso de los usuarios es su última posición registrada ya que es una entidad dinámica, mientras que las noticias y los lugares poseen una posición estática dentro del mapa. Particularmente los usuarios también almacenan un valor de distancia mínima para controlar la frecuencia con la cual su posición será actualizada en la base de datos y también para recibir notificaciones de entidades que estén dentro de este rango de distancia.
Este último punto en el cual se indica un parámetro de distancia para un usuario, le permite definir su radio de interés sobre el cual está dispuesto a recibir notificaciones, ya sea porque sus contactos creen noticias, o porque los lugares que tienen agregados publiquen una. Esta distancia es ingresada por el usuario, y a partir de la misma y de la última posición conocida del mismo, se genera un área de interés que lo rodea constantemente y que se va desplazando por el mapa a medida que éste usuario también lo hace, obteniendo de esta manera las novedades por proximidad a su ubicación.
Finalmente, como consecuencia del uso de la aplicación, la base de datos obtenida podrá ser utilizada para realizar dos tipos análisis. El primero de ellos vinculado con la estructura estática de la red, en el cual se toma cada elemento y se analizan ciertos parámetros e indicadores en función a sus relaciones. Para ello se utilizarán conceptos básicos de las redes sociales, los cuales permitirán conocer sus características. El segundo, orientado a obtener relaciones en base a preferencias y gustos en base a los datos geográficos de las entidades mencionadas.
1.3. Organización
Este trabajo está organizado de la siguiente manera:
● En el capítulo 2 se expondrá el marco teórico sobre el cual se basa la presente tesis, el mismo se compone de conceptos de redes sociales, dispositivos móviles, geolocalización y data mining.
● En el capítulo 4 se presentará el trabajo realizado, el cual consta de la aplicación GeoTandil. Se describirán sus componentes y se detallarán sus principales funcionalidades.
● En el capítulo 5 se mostrarán las pruebas realizadas luego de utilizar la herramienta desarrollada y se analizarán los resultados obtenidos utilizando diferentes indicadores propios de redes sociales.
● Finalmente, en el capítulo 6 se mencionarán tanto mejoras como limitaciones de la herramienta desarrollada y los trabajos futuros que pueden realizarse para complementar la misma.
Capítulo 2
Marco Teórico
El uso de las redes sociales involucra la generación de gran cantidad de información a consecuencia de los diferentes tipos de interacciones entre los miembros de estas. Esta información, que en principio puede ser irrelevante o sólo de interés para un usuario en particular, puede ser de gran aporte a un posible análisis de comportamiento cuando se utilizan en su conjunto.
El desarrollo de aplicaciones interactivas en las cuales los usuarios almacenan y comparten sus datos ha demostrado ser uno de los grandes éxitos de internet. Particularmente los dispositivos móviles han evolucionado de manera tal de soportar cualquier tipo de aplicación, transformándolos en una gran fuente de generación de datos. Estos, a su vez, proveen diversas características, entre las cuales se encuentran aquellas que brindan ubicación y posicionamiento. Esta información adicional puede complementarse aportando un valor agregado.
Estructurar la información recolectada de forma conveniente permite ordenar y orientar distintos tipos de análisis en base a diversas características. Estos análisis pueden estar dirigidos a inferir ciertos patrones comportamentales implícitos, tanto a nivel individual como grupal.
En este capítulo se introducen los conceptos fundamentales asociados a este trabajo. En primera instancia se definirá el término red social, como eje principal de la aplicación, luego se introducirán los dispositivos móviles, más tarde la geolocalización (o georreferenciación), y finalmente la minería de datos (data mining) y minería de la realidad (reality mining).
2.1. Redes sociales
Las Redes Sociales pueden definirse como un conjunto bien delimitado de actores -individuos, grupos, organizaciones, comunidades, sociedades globales, etc.- vinculados unos a otros a través de una relación o un conjunto de relaciones sociales.
como la de Freeman (1992): colección más o menos precisa de conceptos y procedimientos analíticos y metodológicos que facilita la recogida de datos y el estudio sistemático de pautas de relaciones sociales entre la gente.
El rasgo más característico de las redes sociales consiste en que requieren conceptos, definiciones y procesos en los que las unidades sociales aparecen vinculadas unas a otras a través de diversas relaciones. S. Wasserman y K. Faust, (1994).
2.1. Representación de redes sociales
Las redes sociales pueden representarse a través de un grafo o de una matriz, como se muestra a continuación.
Figura 2.1 Representación con grafos.
ACTOR-1
ACTOR-2
ACTOR-3
ACTOR-4
ACTOR-5
ACTOR-6
ACTOR-1
0 1 0 0 0 0
ACTOR-2
1 0 1 1 0 0
ACTOR-3
ACTOR-4
0 1 1 0 1 1
ACTOR-5
0 0 0 1 0 1
ACTOR-6
0 0 0 1 1 0
Tabla 2.1 Representación con matrices.
2.1.1. Ventajas de la Representación con Grafos y Matrices
● Representación de una red de manera concisa y sistemática. Presentan y resumen mucha información de manera rápida y sencilla.
● El uso de métodos formales (particularmente matemáticos) en la representación permite usar computadoras para almacenar y manipular rápidamente la información y de manera más precisa que si se hiciese manualmente.
● Las técnicas de representación y las reglas de las matemáticas en sí mismas sugieren cosas que se pueden estar buscando, pero también posibilitan la aparición de preguntas que no se hubieran pensado si se hubiese presentado la información en un texto.
2.1.2. Conceptos fundamentales
Los actores sociales son entidades sujetas a los vínculos de las redes sociales. Pueden existir de diversos tipos: individuos, empresas, unidades colectivas sociales, departamentos en una empresa, agencias de servicio público en la ciudad, estados, etc.
Los lazos relacionales son los vínculos entre pares de actores. Unidad de análisis en las redes sociales. Existe una amplia diversidad:
● personales: amistad, respeto, consejo, etc.
● transferencias de recursos: bienes, dinero, información, etc. ● asociaciones, interacciones comportamentales.
● movilidad geográfica o social. ● conexiones físicas.
● relaciones formales u organizacionales.
Triada: es el conjunto de tres actores y sus relaciones. Permite el análisis de balance y consideración de propiedades transitivas.
Subgrupo: es una extensión de los conceptos anteriores. Es cualquier subconjunto de actores junto con los lazos existentes entre ellos.
Grupos: Conjunto finito de sistemas de actores con la capacidad de modelizar relaciones entre ellos.
Tamaño y Densidad de una Red
El tamaño de la red se obtiene contando el numeros de actores que posee. La densidad de la red es la cantidad de relaciones que efectivamente existen en la misma en relación con las que teóricamente pueden darse, es decir, el cociente entre el número de relaciones existentes con las posibles. Es un tipo de medida tanto para la red como para los actores.
A medida que el grupo crece, la proporción de todos los lazos que pudiesen (lógicamente) estar presentes disminuirá y muy probablemente surgirán grupos diferenciados.
Indicadores de Nivel Individual
Son los indicadores asociados a un actor en particular dentro de una red.
Centralidad
Es la medida de la importancia o de la influencia que tienen determinados actores sobre otros debido a su situación particular dentro de la red. Es el grupo de actores a los cuales un actor está directamente unido.
Esta medida se formula a través de los conceptos que serán explicados a continuación: el rango o grado de centralidad, la cercanía y el grado de intermediación.
Figura 2.2 Centralidad.
Grado
Es el número de conexiones directas que posee un actor, de manera que, si tiene un grado alto o más conexiones, estará en una posición más estratégica.
Su posición de poder proviene de su autonomía o independencia respecto a los demás actores, ya que:
○ Posee varias vías alternativas para realizar sus intercambios y comunicarse.
○ Posee distintas fuentes para obtener los recursos y para satisfacer sus necesidades
○ Puede hacer de intermediario entre otros actores.
A continuación se muestra el actor con mayor grado.
Cercanía
La centralidad de grado sólo tiene en cuenta los vínculos directos entre los actores. El actor observado puede estar relacionado, influenciar o ser influenciado por otros con los que no tiene un contacto directo sino indirecto. La cercanía básicamente consiste en conocer cuán cerca está un actor de los demás en términos relativos.
Un actor con alto índice de cercanía o alta centralidad global:
● Puede influir sobre el resto de la red en la medida en que tiene menos camino que recorrer para llegar a los demás actores.
● Se encuentra relativamente cerca de quien posee el poder o el control. A continuación se muestran los actores con mayor grado de cercanía.
Figura 2.4 Cercanía.
Grado de cercanía
El grado de cercanía mide la capacidad de un actor de alcanzar el resto de los actores de la red. Para calcular esta medida es necesario sumar todos los caminos más cortos de cada actor con el resto de actores de la red. Esto nos da la lejanía, y si calculamos la recíproca obtenemos la cercanía.
Grado de intermediación
El grado de intermediación cuenta las veces que un actor aparece en los caminos más cortos entre cada par de actores. En este indicador se tiene en cuenta el importante papel del intermediario.
posición estratégica. Donde podrá influir sobre las relaciones y los intercambios y obtendrá una serie de beneficios por permitir esa intermediación.
En conclusión, el grado de intermediación define que cuantos más actores dependan del actor en cuestión para realizar sus relaciones con otros actores a través de sus caminos más cortos, mayor será su centralidad.
A continuación se muestra el actor con mayor grado de intermediación.
Figura 2.5 Grado de intermediación.
Indicadores de Nivel Grupal
Clique
Un clique es un subconjunto de una red en el cual sus actores están más cercanamente y fuertemente conectados entre ellos respecto al resto de los integrantes de la red. Formalmente, es un determinado número de actores que tienen todos los vínculos posibles presente entre ellos.
Figura 2.6 Clique.
N-Clique
Un N-Clique se puede definir como el conjunto de actores de un subgrupo de una red que están mutuamente conectados a una distancia mayor que uno. El valor de N corresponde a la longitud de la trayectoria permitida para hacer una conexión con todos los actores del subgrupo del N-Clique. Usualmente, se usa la distancia de trayecto de dos. Esto es equivalente a ser amigo de un amigo.
La siguiente figura muestra un N-Clique con distancia de trayecto de dos.
Figura 2.7 N-Clique.
Otros indicadores
● Equivalencia estructural: determina los actore que tienen roles similares en la red.
● Vacíos Estructurales: encuentra áreas donde no existen conexiones entre nodos que puede usarse para tomar ventaja.
● Centralización de la red: la relación entre las centralidades de todos los nodos.
2.2 Dispositivos móviles
Un dispositivo móvil es un conjunto organizado de hardware y software hecho principalmente para ser fácilmente portable, por lo cual se pretende que sea compacto y liviano. Estos dispositivos son capaces de procesar, mostrar y almacenar información, brindando la posibilidad de reemplazar una computadora de escritorio típica. Estas características permiten la utilización de estos dispositivos en distintas actividades, ya sea tanto en el ámbito empresarial, como en el ocio o las comunicaciones.
Las principales características de un dispositivo móvil son:
● Portabilidad: El tamaño reducido de los dispositivos móviles facilita tanto su manipulación como su transporte.
● Usabilidad: El software debe ser intuitivo y fácil de usar. Las aplicaciones deben ser sencillas y compactas.
● Conectividad: Es la capacidad que tiene el dispositivo de establecer comunicación, ya sea a través de telefonía móvil (redes CDMA, GSM, 3G, 4G, etc), Internet mediante WiFi o conexiones de alta frecuencia como Bluetooth o infrarrojos.
● Capacidad: Generalmente cuando nos referimos a un dispositivo móvil intuimos que su capacidad es poca, aunque esto ya no es totalmente cierto. Si bien la capacidad de almacenamiento y procesamiento son reducidas en comparación con un computador de tamaño estándar, actualmente podemos encontrar en tamaños muy pequeños una gran capacidad además de las facilidades que las tarjetas Flash de expansión nos brindan para el almacenamiento de datos y multimedia.
● Accesibilidad: Actualmente los precios han bajado considerablemente, hecho que ha abierto la posibilidad de que gran parte de la población tenga acceso a un dispositivo celular y además se está trabajando en las aplicaciones y el diseño para permitir su uso a personas con algún tipo de discapacidad.
los cuales combinaban la utilidad de un teléfono celular y la de un PDA en un único dispositivo.
La telefonía celular es una parte fundamental de nuestras vidas actualmente, y en una sociedad exigente, es importante diseñar sistemas que soporten las aplicaciones que se demandan y que sean usables y amigables. Los sistemas operativos que utilizan estos dispositivos son de mucha importancia debido al avance tecnológico y de las comunicacion es.
Es por esto que las compañías móviles han competido desde los inicios en los años 90 con las versiones de EPOC32 para PDA’s hasta los más avanzados y sofisticados como Android, iOS, BlackBerry o Windows Phone. Los sistemas operativos móviles son mucho más simples que los de las computadoras tradicionales 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. Explicaremos brevemente estos 3 sistemas operativos que son lo de mayor influencia en el mercado actual.
2.2.1 Android
Android es el sistema operativo número uno en cuanto a popularidad. Con una cuota de mercado cercana al 85% el sistema operativo de Google se caracteriza por ser abierto y disponible para cualquier fabricante interesado en utilizarlo para sus dispositivos móviles.
Esta disponibilidad ha creado sin embargo una gran fragmentación, permitiendo encontrar innumerables dispositivos con diferentes distribuciones y funcionalidades para distintas versiones de Android existentes. Además la posibilidad de que cada fabricante incluya su propia capa sobre el original, propicia que la experiencia de usuario no sea siempre la deseada por Google y que las actualizaciones tarden en llegar.
La gran penetración de Android en el mercado lo ha posicionado en primer lugar respecto a la popularidad entre los desarrolladores. Por lo que éstos dedican grandes esfuerzos en diseñar aplicaciones para los usuarios de este Sistema Operativo.
2.2.2 iOS
internas del sistema más allá de las limitadas opciones que da en los ajustes. Un sistema cerrado permite, sin embargo, ofrecer siempre una experiencia más estable y segura, tal y como diseñó el fabricante en un principio. Sin embargo, a muchos usuarios que buscan una mayor personalización, le pueden resultar pocas las opciones que le da el fabricante.
Por otro lado, como también suele ser habitual en los productos de la empresa, no se licencia a terceros por lo que tan solo los iPhone disponen de este sistema operativo.
2.2.3 Blackberry
Blackberry inicialmente ofrecía terminales con teclado físico. Esta característica, con el paso a las pantallas táctiles, quedó obsoleta. Sin embargo, los esfuerzos realizados por la compañía canadiense para recuperar el terreno perdido han sido grandes y en el año 2012 lanzaron su renovado sistema operativo: el Blackberry 10. Aun así, los últimos estudios sobre cuota de mercado lo dejan en tan solo un 0,5% mundial.
Blackberry 10 tiene una interfaz más fluida, un teclado inteligente y táctil más depurado y otra serie de opciones que lo acercan a las de la competencia. Al igual que con iOS, el SO es software propietario y solamente los teléfonos de la compañía llevan su sistema instalado.
2.3 Geolocalización
La geolocalización hace referencia al conocimiento de la ubicación geográfica de modo automático. Implica el posicionamiento que define la localización de un objeto dentro de un sistema de coordenadas determinado.
A pesar de que estas características en primer momento no parecen generar inconvenientes, pueden atentar a la privacidad de las personas, ya que por diversos motivos puede ser que no deseemos compartir dónde estamos en cada momento.
Existen varias tecnologías para conseguir la localización: ● triangulación de celdas
● satélites (GPS)
● identificador de celda (Cell ID) ● Wi-Fi (WPS)
● Posicionamiento híbrido
Las tecnologías de localización en los dispositivos móviles permiten conocer dónde se encuentra el dispositivo en un momento dado (con diferentes grados de exactitud). Estas tecnologías son una combinación de hardware (antenas GPS por ejemplo) y software (cálculo de triangulaciones en función de la señal recibida de distintas antenas GSM). Cada una de estas tecnologías tienen ventajas e inconvenientes, en términos de exactitud, velocidad de localización y consumo de batería, entre otros.
2.3.1 Triangulación de Celdas
Esta tecnología se basa en los niveles de señal recibidos por el dispositivo de las torres o celdas cercanas, calculando en función de esto la distancia aproximada a cada una de las torres desde las que se recibe señal. Por geometría teórica, si se conoce la distancia a tres puntos distintos (de posición conocida), es posible conocer la localización del punto actual. Si se tienen cuatro puntos distintos, la localización mejora. La precisión mejora aún más cuando además de la distancia se conoce la dirección de donde proviene la señal.
En zonas urbanas, donde hay una mayor densidad de torres cercanas, la precisión es de alrededor de 200 metros. En zonas rurales, donde a veces sólo disponemos de la señal de una torre, la precisión empeora considerablemente, llegando a ser del orden de kilómetros.
2.3.2 Navegación GPS
Esta tecnología es actualmente la más precisa de todas, con valores de 4 metros (como mucho). Existen dos variantes de esta tecnología:
GPS estándar
El GPS estándar utiliza 24 satélites que están orbitando alrededor de la Tierra. La localización del dispositivo se determina calculando las diferencias de las señales de tiempo (reloj) provenientes de diferentes satélites. Los receptores GPS reciben y analizan continuamente la señal recibida de los satélites GPS, calculando la distancia a cada uno de los satélites visibles. La distancia se calcula teniendo en cuenta la velocidad del satélite orbitando y el tiempo que tarda su señal en llegar a la Tierra.
Teniendo en cuenta sólo la señal de un satélite, se puede restringir la posición del dispositivo a un área relativamente grande de la superficie terrestre (círculo). Si añadimos la señal proveniente de un segundo satélite, tenemos otro círculo, y podemos reducir el área efectiva a la intersección de los dos círculos. Con un tercer satélite se puede conseguir una posición bastante precisa. Añadiendo la señal de un cuarto satélite se puede conseguir incluso la información de la altura. Si el receptor no es capaz de recibir la señal de un número mínimo de satélites, entonces no podrá localizar la posición del dispositivo.
Este sistema tiene una serie de desventajas a tener en cuenta: el consumo de batería es muy alto y necesita un tiempo considerable para conseguir la primera localización (aunque una vez localizado, las siguientes localizaciones son rápidas). También tiene el problema en las zonas urbanas de zonas de poca o nula visibilidad del cielo (por ejemplo en túneles).
A-GPS (GPS asistido)
Las torres de la red móvil tienen un receptor GPS que está continuamente "visualizando" satélites en el cielo. Esta información sobre los satélites visibles en la zona se envía al dispositivo móvil y evita tener que sondear a todos los posibles satélites, centrándose sólo en los que le indica la torre, permitiendo así un arranque mucho más rápido (y un ahorro considerable de batería).
La desventaja de A-GPS es que depende de que el operador envíe o no estos datos al dispositivo, y además se incurre en una transferencia de datos, con los posibles costes para el usuario. Además, como se puede intuir de estas explicaciones, para que funcione el A-GPS debemos tener activada la red de datos.
2.3.3 Cell ID
Cell ID es la tecnología que precisa de un menor consumo de energía. Se basa en la información sobre la celda o torre a la cual está conectada el dispositivo móvil. La posición de esta torre es conocida. Además, cada celda en el mundo tiene un identificador único e irrepetible (Cell ID). La ITU asigna a cada operador un rango de identificadores que luego éste asigna individualmente a cada celda.
La precisión de este método depende del radio de la celda; en redes de telefonía móvil ésta puede variar desde decenas de metros en áreas urbanas hasta varios kilómetros en áreas rurales. Hay que tener en cuenta que el tamaño de una celda GSM puede llegar a los 18 kilómetros de radio, aunque lo normal es entre 1 y 2 kilómetros.
2.3.4 WPS
El posicionamiento por Wi-Fi (WPS) es relativamente nuevo y novedoso. La principal ventaja de WPS es que funciona en lugares cubiertos, donde el GPS no puede funcionar. Esta tecnología se basa en que los routers Wi-Fi emiten una señal con su posición.
El dispositivo escanea las redes Wi-Fi cercanas y se calcula su posición utilizando un mecanismo similar a la triangulación por celdas explicado anteriormente, con la diferencia de que ahora no depende de la emisión de los datos de posición de la celda, ya que los routers Wi-Fi emiten estos datos "gratuitamente".
2.3.5 Posicionamiento Híbrido
El posicionamiento híbrido es una tecnología que combina todas o alguna de las tecnologías descritas anteriormente para localizar el dispositivo intentando una buena precisión (tanto en exterior como interior), bajo consumo de batería y rápida respuesta. Este mecanismo se utiliza habitualmente en los dispositivos Android e iPhone.
Obtener la localización de un usuario desde un dispositivo móvil puede ser complicado. Hay varias razones por las cuales una lectura de ubicación (al margen de la fuente) puede obtener errores y no ser precisa. Algunas fuentes de error incluyen:
● Diferentes fuentes de localización: GPS, Cell-ID y Wi-Fi pueden cada una
proveer una ayuda a la ubicación del usuario. Determinar cuál usar y confiar es una cuestión de trade-offs entre precisión, velocidad y eficiencia de batería.
● Movimiento del usuario: Debido al cambio de la ubicación del usuario, se debe
tener en cuenta la re-estimación de la ubicación cada cierto tiempo.
● Precisión variable: Las estimaciones procedentes de cada fuente no son
consistentes en su exactitud. Por ejemplo, una ubicación obtenida 10 segundos atrás de una fuente podría ser más precisa que una nueva ubicación obtenida de otra o la misma fuente.
2.4 Data mining (Minería de datos)
La minería de datos, o también llamada descubrimiento de información o de conocimiento, es el proceso de analizar datos desde distintas perspectivas y transformarla en información útil, es decir, información que puede ser usada para incrementar ganancias, recortar gastos, o ambas.
Una aplicación de minería de datos es una de las tantas herramientas analíticas para analizar datos. Permite a usuarios analizarlos desde diferentes perspectivas, categorizarlos y vincular las relaciones identificadas. Técnicamente, la minería de datos es el proceso de buscar relaciones o patrones entre una gran cantidad de campos dentro de bases de datos.
almacenamiento y software estadístico, están incrementando la precisión de los análisis a la vez que disminuye el costo.
Datos, información y conocimiento
Los tres términos suelen utilizarse indistintamente y esto puede llevar a una interpretación libre del concepto de conocimiento. Quizás la forma más sencilla de diferenciar los términos sea pensar que los datos están localizados en el mundo y el conocimiento está localizado en agentes de cualquier tipo (personas, empresas, máquinas), mientras que la información adopta un papel mediador entre ambos.
Los conceptos que se muestran a continuación se basan en las definiciones de Davenport y Prusak (1999).
Figura 2.8 Relación entre datos, información y conocimiento.
Datos
Datos son cualquier hecho, número o texto que pueda ser procesado por una computadora. Son la mínima unidad semántica, y se corresponden con elementos primarios de información que por sí solos son irrelevantes como apoyo a la toma de decisiones. También se pueden ver como un conjunto discreto de valores, que no dicen nada sobre el por qué de las cosas y no son orientativos para la acción.
Los datos pueden provenir de fuentes externas o internas, pudiendo ser de carácter objetivo o subjetivo, o de tipo cualitativo o cuantitativo.
Información
transacciones de ventas de un comercio puede producir información de cuáles productos se están vendiendo y cuándo.
Conocimiento
El conocimiento se deriva de la información, así como la información se deriva de los datos. El conocimiento se logra cuando los especialistas elaboran o encuentran un modelo, haciendo que la interpretación entre la información y ese modelo represente un valor agregado, entonces se hace referencia al conocimiento.
La información puede ser convertida en conocimiento a partir de la comparación con otros elementos, la predicción de consecuencias, la búsqueda de conexiones, o la conversación con otros portadores de conocimiento. Por ejemplo, el resumen de información de ventas de un supermercado puede ser analizado desde un punto de vista promocional para proveer conocimiento del comportamiento de un cliente. De este modo, un proveedor o fabricante podría determinar cuáles productos son los más afectados por esfuerzos promocionales.
2.5 Reality Mining (Minería de la realidad)
La minería de la realidad es un término utilizado para describir la información generada a partir de objetos cotidianos y su posterior procesamiento. El objetivo es utilizar el comportamiento humano inconsciente para obtener información significativa acerca de la actitud de las personas y sus relaciones sociales. Por ejemplo, el hecho de compartir información durante un período de tiempo puede ayudar a entender problemas o a analizar tendencias en dicha información.
La minería de la realidad estudia interacciones humanas basadas en el uso de dispositivos inalámbricos tales como teléfonos celulares y sistemas GPS, los cuales proveen información más precisa de lo que la gente hace, a dónde va, y con quién se comunica. Muchos de estos nuevos dispositivos de mano tienen el poder de procesamiento de computadoras de escritorio de baja gama, pudiendo así recolectar información más variada gracias al aporte de la localización.
para más tarde ser procesados junto a los de muchos otros usuarios y definir patrones de conducta social, relaciones jerárquicas o estudios de modas y de consumo.
Sandy -Pentland (2008), profesor del MIT (Instituto de Tecnología de Massachusetts), plantea que con la ayuda de algunos algoritmos, la información podría ayudarnos a identificar cosas para hacer o personas nuevas para conocer. También podría hacer a los dispositivos más fáciles de usar, por ejemplo, mediante la determinación automática de ajustes de seguridad. Algo más significativo, es que la información de teléfonos celulares podría ayudar a conocer sobre la dinámica de trabajo y el bienestar de las comunidades. Incluso podría ayudar a proyectar el curso de brotes de enfermedades y proporcionar una idea sobre la salud de las personas.
Con el paso de los años, el concepto de minería de la realidad se ha vuelto más frecuente gracias a la proliferación y crecimiento de telefonía celular más sofisticada.
2.6 Resumen
Capítulo 3
Trabajos relacionados
En el siguiente capítulo se presentarán trabajos relacionados de los cuales se tomaron conceptos e ideas para el desarrollo de la presente tesis. Estos trabajos tienen como eje central la utilización de georeferenciación en redes sociales.
Esto se abordará mediante dos líneas, una dedicada a trabajos realizados en ámbitos académicos, en la cual se presentarán una serie de diseños de frameworks e investigaciones que tienen como objetivos la recolección de datos y la recomendación de noticias a usuarios miembros de una red social basados en conceptos de geolocalización; y la segunda línea corresponden a redes sociales masivas y populares que utilizan la georeferenciación para brindar servicios extra a sus usuarios por encima de los que son los servicios principales de la red.
3.1 MobiFeed: Un sistema de noticias con reconocimiento de ubicación para
usuarios móviles.
W. Xu et. al. (2012) presentaron MobiFeed, un framework de noticias con reconocimiento de ubicación diseñado para sistemas de redes sociales para planificar actualizaciones de noticias para usuarios móviles.
MobiFeed consiste de tres funciones principales: predicción de ubicación, medida de relevancia, y planificador de noticias.
Figura 3.1 MobiFeed framework.
Mensajes geolocalizados. Un mensaje geolocalizado generado por el usuario es definido como una tupla, donde tiene un identificador de mensaje, un identificador de a quien le corresponde el mensaje, el contenido, una marca de tiempo y un alcance espacial. Este último puede ser un punto, una región especificada por el usuario, o una región de un lugar.
Usuarios del sistema. Un usuario móvil en una posición equipado con un dispositivo móvil con GPS habilitado es capaz de (a) publicar un mensaje con un alcance espacial, y (b) recibir una determinada cantidad de mensajes dentro de un rango de distancia dada por el usuario en un tiempo determinado.
Medida de calidad. Dado un usuario y un mensaje, la función de medida de relevancia retorna un puntaje de relevancia, entre 0 y 1. Este valor permite mostrar información más relevante para el usuario, en conjunto con un peso asociado.
Predicción de ubicación. La función de predicción de ubicación puede usar cualquier algoritmo existente si este puede predecir una ubicación de un usuario en un momento específico en el futuro dentro de una red de caminos. A continuación se describe el algoritmo de predicción de caminos utilizado en MobiFeed: dada una ubicación de usuario, trayectorias históricas, el mapa de caminos, y un tiempo t en el futuro, el algoritmo estima la posición del usuario en el tiempo t. Suponemos el grafo G = (V, E) de una red de caminos, donde E es el conjunto de segmentos de caminos y V es el conjunto de intersecciones de los segmentos que son representados por círculos y líneas respectivamente. El algoritmo lleva a cabo dos pasos para predecir la dirección y la velocidad del usuario:
Planificador de noticias con reconocimiento de
ubicación Predicción de
ubicación Medida de relevancia
Paso 1. Predicción de la dirección. Cuando un usuario se está moviendo de un punto a otro, se predice cuál será el punto adyacente donde el usuario irá basado en el conjunto de trayectorias históricas del mismo.
Paso 2. Predicción de velocidad. Se estima la velocidad de viaje del usuario sobre un punto. La idea básica es calcular la velocidad mediante las velocidades históricas promedio del punto a partir del conjunto de trayectorias históricas.
Medida de relevancia del mensaje. MobiFeed sólo requiere la función de medida de relevancia para retornar un puntaje indicando la relevancia de un determinado mensaje para un determinado usuario. Se presentan tres métodos de medida de relevancia y luego se describen como combinarlos para implementar la función de medida de relevancia.
Categorización de mensajes. Se agrupan mensajes en categorías basados en su ubicación o palabras claves. Se mantiene una matriz de usuario-categoría donde cada entrada es la proporción del número de mensajes de usuario asociados con la categoría con el total de mensajes del usuario.
Contenido del mensaje. Se trata a un mensaje como un documento y se usa una técnica de recuperación de información para medir su relevancia para un usuario particular.
Distancia. La relevancia de un mensaje a un usuario puede ser medida por su distancia. Este valor se normaliza entre 0 y 1.
Función de medida de relevancia. Se emplean combinaciones de dos niveles y lineales para integrar los métodos mencionados anteriormente en la función de medida de relevancia. En un primer nivel se seleccionan las n categorías de mayor importancia. En un segundo nivel se mide la relevancia de cada mensaje candidato para el usuario utilizando el valor de importancia del contenido del mensaje y la distancia.
Planificador de noticias con reconocimiento de ubicación. Se utiliza un algoritmo de planificación de noticias donde se define un parámetro de sistema para controlar el número de ubicaciones a predecir para un usuario móvil. Como el algoritmo tiene que ser eficiente y escalable, se utiliza un algoritmo de planificación heurístico para MobiFeed.
Algoritmo. Luego que un usuario emite una consulta de noticias a MobiFeed, éste llama a la función de predicción para retornar las próximas ubicaciones del usuario. Su planificador luego encuentra un conjunto de mensajes candidatos para cada ubicación posterior e invoca a la función de medida de relevancia para filtrar los mensajes que no pertenezcan a las categorías más importantes y determinar la relevancia de los restantes mensajes candidatos. El planificador finalmente retorna aquellas noticias que poseen el mayor valor de relevancia.
3.2 Minería de la realidad: detección de sistemas sociales complejos
El Instituto Tecnológico de Massachusetts (MIT) realizó un estudio entre 2004 y 2005, cuyo objetivo fue demostrar la habilidad de los teléfonos celulares para reconocer patrones sociales en la actividad del usuario diario, inferir relaciones, identificar lugares de importancia social, y modelar los ritmos de la organización.
El estudio se realizó sobre 100 personas que utilizaron un smartphone (Nokia 6600) durante un periodo de 9 meses. El dispositivo poseía una aplicación la cual recolectaba mediante sus sensores datos relacionados con, ubicación geográfica, interacción de usuarios, y uso del dispositivo.
El software instalado registraba los datos sobre los registros de llamadas, dispositivos Bluetooth en un radio de aproximadamente cinco metros, los ID de torre celular al cual se encontraba conectado, el uso de aplicaciones y el estado del teléfono.
Para la evaluación de resultados se realizó una encuesta online, la cual completaron 94 de los 106 individuos que utilizaron la aplicación con el objetivo de comparar las respuestas con lo obtenido por la aplicación. Esta encuesta incluía preguntas tanto referidas a la cercanía promedio y amistad con el resto de los individuos, como preguntas acerca de la satisfacción con su grupo de trabajo.
Grupo utilizado para el estudio
de la universidad. Los voluntarios se volvieron parte del estudio mediante el uso del smartphone durante el tiempo que duró la experiencia.
Registro de la actividad del teléfono
La recolección de datos se realiza a través de una aplicación, la cual corre en el dispositivo en background durante todo el tiempo. La aplicación registra continuamente el comportamiento pasivo tal como los datos de posicionamiento a través de Cell ID, y la proximidad a otros dispositivos a través de Bluetooth con un intervalo de 5 minutos. Adicionalmente también registra toda la actividad realizada por el dispositivo, incluyendo llamadas de voz y mensajes de texto, aplicaciones activas como juegos, y el estado de carga del teléfono.
Los datos fueron recolectados de los teléfonos mediante dos métodos. El primero consiste en realizar el envío de datos mediante internet, para esto durante la noche el dispositivo se conecta a un servidor y realiza el envío de los datos recolectados durante el día previo. El segundo método consiste en el almacenamiento de los datos en una tarjeta de memoria, la cual puede almacenar hasta 4 meses de registro de datos antes de ser recolectados por los investigadores.
Ejemplo de registro de datos
Registro telefónico
(TIEMPO) 20060720T211505 (DESCRIPCIÓN) Voice call (DIRECCIÓN) Outgoing (DURACIÓN segundos) 23 (NÚMERO) 6175559821
Proximidad Bluetooth
(TIEMPO) 20060721T111222 dispositivos: 000e6d2a3564 [Amy’s Phone] 000e6d2b06ea [Jon’s PalmPilot]
Ubicación
(TIEMPO) 20060721T111222 (ÁREA CÉLULA) 24127, (ANTENA CÉLULA) 111, (PROVEEDOR DE SERVICIO) AT&T Wirel (NOMBRE DE LA UBICACIÓN DEL USUARIO) My Office
Precisión de las observaciones
La información que se puede perder se debe a 2 errores principales: corrupción de datos y apagado de dispositivos. En promedio se tienen registros de un 85.3% del tiempo que los teléfonos han sido utilizados.
Inferencia de ubicación a partir de las torres celulares
Un teléfono celular tiene recepción cuando se encuentra dentro de un rango determinado por la torre celular. Cada torre tiene asignado un ID que es registrado por el teléfono celular en este estudio. Usando estos IDs de las torres y sus respectivos tiempos de transición (marcas de tiempo cuando el teléfono cambia de torre), se ha demostrado que la posición de los mismos puede ser localizada dentro de los 100 y 200 metros en áreas urbanas.
Inferencia de proximidad a partir de escaneos periódicos por Bluetooth
Una característica fundamental de un dispositivo Bluetooth es la habilidad de buscar otros dispositivos Bluetooth cercanos. Cuando un dispositivo Bluetooth realiza una búsqueda, otro dispositivo Bluetooth dentro de un rango de 5 a 10 metros responde con su nombre definido por el usuario, el tipo de dispositivo, y una única dirección MAC de 12 dígitos. Una dirección MAC de un dispositivo es fijada y puede ser usada para diferenciar el teléfono de una persona con otra, independientemente del nombre de dispositivo y tipo. Cuando una MAC es descubierta por una búsqueda periódica del Bluetooth por otra persona, indica que 2 teléfonos se encuentran a 5 o 10 metros uno del otro.
Aprobación de las personas
La continua captura del comportamiento diario de las personas durante un período prolongado de tiempo tiene significativas cuestiones de privacidad. Para la aprobación del IRB (Comité formalmente designado para aprobar, monitorear y revisar la investigación del comportamiento de los humanos), se le provee a cada usuario información detallada del tipo de información que sería capturada y las instrucciones de cómo temporalmente deshabilitar los registros. A pesar de que los sujetos estaban inicialmente preocupados acerca de su privacidad, menos del 5% de ellos deshabilitaron la aplicación a lo largo de los 9 meses de estudio.
Construcción de las variables observadas
Dado que todos los dispositivos están escaneando cada 5 minutos, si dos usuarios estuvieron juntos por 100 minutos, habría un total de 40 registros de proximidad. Por lo tanto esto significa que cada evento representa una duración de 2.5 minutos. Para estimar el total de tiempo que un usuario permaneció en un lugar con otro, se realiza una multiplicación de este valor por la cantidad de eventos que ambos usuarios poseen asociados al ID de torre del lugar.
La información registrada por cada conversación de voz en el celular durante el caso de estudio incluía el tiempo en el cual la conversación empezó, la duración y dirección (entrante o saliente) de la llamada, y el otro número telefónico involucrado. Si este otro número estuvo asociado con otro individuo del estudio, se incorpora la duración de la llamada dentro de una estadística que estima el número promedio de minutos de una comunicación entre cada par.
Encuestas vs. datos recolectados
En la comparación los registros de la aplicación con datos de la encuesta se ha obtenido una idea de la capacidad del conjunto de datos para mapear con precisión la estructura de la red social. A través de los resultados de las encuestas se ha validado que la frecuencia reportada de la interacción está fuertemente correlacionada con los datos registrados por los dispositivos.
Curiosamente, las encuestas no correlacionaron significativamente con los registros de proximidad de los alumnos ingresantes.
3.3 GeoFeed: Un sistema de suministro de noticias con reconocimiento de
ubicación
GeoFeed, Jie Bao et al. (2012), es una plataforma que provee a sus usuarios la obtención de mensajes por proximidad provistos por sus contactos o sus fuentes de noticias favoritas. GeoFeed se distingue de todos los sistemas de alimentación de noticias existentes ya que permite a los usuarios enviar mensajes con un radio de alcance, en lugar de mensajes cuyas ubicaciones corresponde a puntos estáticos.
GeoFeed provee tres enfoques distintos de suministro de noticias a sus usuarios
De forma contraria a los sistemas convencionales de alimentación de noticias, GeoFeed tiene en cuenta el aspecto espacial de los mensajes por encima del aspecto temporal.
Una vez que un usuario se loguea a su red social favorita equipada con GeoFeed, este será provisto por un el conjunto de noticias más relevantes relativas a su ubicación actual. Para realizar esta selección de noticias se toma del conjunto de contactos de un usuario y del conjunto de fuentes de noticias al cual el usuario está siguiendo, y se selecciona un subconjunto de “N” noticias que coincidan con un rango de interés definido por el usuario o noticias que coincidan con la ubicación exacta del usuario. Esto último dependiendo de las preferencias establecidas previamente por el usuario.
El proceso de búsqueda de noticias debe ser realizado en un tiempo considerable, evitando demoras excesivas.
GEOFEED: Conceptos generales
● Mensajes geolocalizados: Los usuarios de GeoFeed pueden recibir y enviar mensajes geolocalizados de y hacia sus amigos. Un mensaje geolocalizado es representado por una tupla: (MensajeID, Contenido, Marca de tiempo, Alcance), donde MensajeID y Contenido representan el identificador de mensaje y el contenido del mismo respectivamente, Marca de tiempo es la fecha y hora en las cuales se generó el mensaje, y Alcance indica la extensión espacial del mensaje. Las tablas 2 y 3 muestran un ejemplo de seis mensajes generados, los mensajes M2, M3, y M5 emitidos por el usuario U1 y; M1, M4, y M6 emitidos por el usuario U2 . La extensión espacial de los 6 mensajes está representada por las áreas de S1 a S6 en la figura 3.2.
Figura 3.2 Alcance de noticias geolocalizadas.
Tabla 3.2 Noticias geolocalizadas del usuario 1.
Tabla 3.3 Noticias geolocalizadas del usuario 2.
y otro para U2 devolviendo M4 y M6. El usuario puede agregar un filtro adicional para obtener los más recientes dos mensajes, es decir, M5 y M6.
● Métodos de evaluación de consultas: GeoFeed está provisto con tres diferentes enfoques para evaluar cada una de los consultas, denominados, “spatial pull”, “spatial push”, y “shared push”. Cada uno de estos selecciona los mensajes utilizando un algoritmo diferente, los cuales se detallarán más adelante.
● Formulación del problema: El modelo de decisión de GeoFeed puede ser formulado como sigue: Para cada consulta de noticias geolocalizadas planteada por un usuario, encontrar el mejor enfoque previamente mencionado para evaluar la consulta, cada vez que el usuario se loguee en el sistema tal que: el desempeño computacional de GeoFeed para todas los consultas sea mínimo, y el tiempo de respuesta que se necesita para obtener las noticias está dentro del tiempo umbral requerido.
Evaluación de consultas de Geofeed
Geofeed emplea los tres enfoques mencionados anteriormente, evalúa su costo, y luego utiliza su modelo de decisión para determinar cuál usar para cada consulta. Para comprender esta evaluación se deben explicar las estructuras subyacentes y cómo son utilizadas por cada enfoque.
Estructuras de Datos
Para soportar los tres enfoques de evaluación de consultas, GeoFeed mantiene la información típica para cada usuario que incluye ID, nombre y ubicación. Adicionalmente mantiene las siguientes 2 estructuras de datos para cada usuario:
● Lista de amigos: Cada usuario mantiene una lista de amigos, donde cada amigo es otro usuario del sistema que tiene identidad, nombre, ubicación, rango de interés, lista de amigos, y una estructura de grilla.
celda. Si un mensaje se solapa con varias celdas de la cuadricula, su ID se almacenarán en cada celda de la cuadrícula.
Enfoque “Spatial Pull”
Mediante este enfoque, cuando un usuario solicita los N mensajes más relevantes de un amigo, el usuario envía su ubicación y su consulta de noticias a su amigo. Este último explora su estructura de índice para averiguar las celdas que incluyen la ubicación del primero, y recupera todos los mensajes almacenados en dicha celda. Luego se aplica un filtro para solo seleccionar aquellos que están realmente superpuestos. Si la cantidad de mensajes resulta mayor que el N solicitado se filtran los N más reciente para entregar al usuario que hace la solicitud. Luego el usuario realizará la misma solicitud para el resto de sus amigos.
Figura 3.3 Enfoque “Spatial Pull”.
Enfoque “Spatial Push”
El enfoque de empuje espacial en GeoFeed, pre-calcula y almacena la respuesta de la consulta de noticias basado en la ubicación en una vista materializada mantenida por cada amigo. Luego cuando un usuario se loguea en el sistema, sólo recupera las noticias de la vista materializada. Aunque este enfoque es muy atractivo, plantea una gran sobrecarga sobre los recursos del sistema para mantener continuamente las vistas mientras el usuario está desconectado.
Este enfoque está conformado de dos partes las cuales son ortogonales entre sí, denominadas “procesamiento de consultas” y “mantenimiento de vistas”:
Procesamiento de consultas: Cuando un usuario solicita los N mensajes más
Mantenimiento de Vistas: Los usuarios utilizan sus estructuras de grilla para mantener cada una de las vistas materializadas de sus contactos empleando el enfoque “spatial push” para recibir mensajes hacia él. Cualquier mensaje producido por un usuario, genera una consulta sobre su propia grilla, la cual localiza los usuarios que se superponen con el rango del mensaje. Luego éste es almacenado en cada una de las vistas materializadas de los usuarios seleccionados.
Figura 3.4 Enfoque “Spatial Push”.
Enfoque Shared Push
Este enfoque está diseñado para tomar ventaja de la ubicación del usuario sobre el enfoque “spatial push” para reducir la sobrecarga del sistema, con solo un pequeño aumento en el tiempo de respuesta. La idea principal de este enfoque es mantener una vista materializada compartida entre diferentes usuarios. El beneficio es reducir la cantidad de vistas, teniendo como consecuencia la complejización del algoritmo y la utilización de filtros adicionales.
Figura 3.5 Enfoque “Shared Push”.
Modelo de decisión
reduzca al mínimo la sobrecarga del sistema, garantizando el mismo tiempo de respuesta.
Para tomar estas decisiones el modelo realiza una evaluación en base a los costos teóricos de cada enfoque.
3.4 GeoSocialDB: Servicios de redes sociales basados en localización
GeoSocialDB es un sistema integral de redes sociales basadas en localización, el cual está bajo desarrollo de la Universidad de Hong Kong y la Universidad de Minnesota. Provee los siguientes tres nuevos servicios de redes sociales basados en localización:
● Noticias geolocalizadas. Cada mensaje entregado por un usuario es etiquetado con la ubicación de este por el dispositivo. Cuando un usuario se loguea en GeoSocialDB a través de su interfaz web o refresque la interfaz de usuario, el sistema genera una consulta de inicio (Q1) pidiendo aquellos mensajes ingresados por amigos, etiquetados con una ubicación dentro de un rango dado por su propia ubicación. Luego, GeoSocialDB procesa la consulta y retorna un conjunto de mensajes que son social y espacialmente relevantes para el usuario.
● Clasificación de noticias geolocalizadas. Como la consulta Q1 puede retornar un gran número de mensajes a un usuario, GeoSocialDB permite limitar el número de mensajes recibidos, por ejemplo pidiendo sólo los N más relevantes a través de una consulta de clasificación (Q2) pidiendo los N mensajes más relevantes ingresados por amigos, etiquetados con una ubicación dentro de un rango dado por su propia ubicación.
● Recomendación geolocalizada. GeoSocialDB ofrece recomendaciones no sólo respecto a sus intereses y preferencias, sino también según sus preferencias de espacio y sociales. El usuario puede emitir una consulta
de recomendación (Q3) pidiendo la recomendación de los N mejores
restaurantes dentro de un rango dado por su propia ubicación, basada en las opiniones de sus amigos.
realización de un práctico y escalable sistema de bases de datos para servicios de redes sociales basados en localización. Estos desafíos son:
1. Diseñar operadores de consulta geolocalizados y/o de clasificación que tengan en cuenta tanto aspectos sociales como espaciales.
2. Investigar cómo reducir el costo del sistema y mejorar los tiempos de respuesta de las consultas.
3. Soportar las constantes consultas que aparecen en ambientes móviles. 4. Proveer privacidad en el procesamiento de consultas para preservar la
ubicación de usuario.
La figura 3.6 muestra la arquitectura del sistema GeoSocialDB:
Figura 3.6 GeoSocialDB framework.
Hay 3 módulos principales: Noticias geolocalizadas, Clasificación de noticias geolocalizadas, y Recomendación geolocalizada. GeoSocialDB también mantiene 3 tipos de datos: Mensajes, Perfiles de usuario, y Sugerencias, y toma 3 tipos de entradas del usuario: Actualizaciones de usuario, Consulta inicial, y Consulta de recomendación.
A continuación se presentan detalles de la arquitectura del sistema según los 3 tipos principales de entrada del usuario.
● Actualizaciones de usuario. Las flechas delgadas indican información almacenada correspondiente a cada entrada de usuario.
ingresa un mensaje a GeoSocialDB, el mensaje es automáticamente marcado por el dispositivo con la ubicación del usuario. Luego de que el mensaje es almacenado, este puede ser entregado a los amigos del usuario cuando ellos se registren con una consulta de inicio con una distancia de rango cubierta por la localización del mensaje.
○ Los perfiles de usuario incluyen información personal del usuario, por ejemplo, identidad e información de contacto, lista de amigos, y las preferencias para el servicio de clasificación de noticias. El usuario puede actualizar su perfil en cualquier momento. Esta información es almacenada como Perfiles de Usuario.
○ La clasificación de objetos son las opiniones de usuarios de objetos o lugares, por ejemplo, restaurantes y hoteles. El usuario puede dar un puntaje de cualquier objeto o lugar almacenado en la base de datos de GeoSocialDB. Esta clasificación es almacenada como Sugerencia.
● Consulta inicial. Las flechas gruesas indican el flujo de consultas de inicio para las noticias geolocalizadas y para los servicios de clasificación de noticias geolocalizadas. Cuando un usuario inicia sesión en GeoSocialDB, el sistema genera una consulta de inicio con la ubicación del usuario y un rango de distancia especificado al módulo de noticias geolocalizadas. Luego, el módulo obtiene un conjunto de mensajes que son social y espacialmente relevantes al usuario, donde cada mensaje obtenido es enviado por un amigo (social) y es marcado con la ubicación dentro del rango de distancia del usuario (espacial). Si un usuario quiere limitar el número de mensajes recibidos, el conjunto de mensajes obtenidos es derivado al módulo de clasificación de noticias geolocalizadas. Éste módulo obtiene las preferencias del usuario para el servicio de clasificación a partir de los perfiles de usuario almacenados y clasifica los resultados según las mismas. Finalmente, los mensajes más relevantes son devueltos al usuario y mostrados en el mapa según su geolocalización.
brindados por los amigos a partir de las sugerencias almacenadas. Luego, el módulo predice un puntaje para cada objeto seleccionado basado en la clasificación obtenida para determinar cuán relevante es para el usuario y aquellos de mayor puntajes son los retornados al usuario. Finalmente, los objetos relacionados son mostrados al usuario según su ubicación en el mapa.
3.5 Foursquare
Foursquare es una red social especializada en la geolocalización en la cual el usuario, a través de un dispositivo móvil, es capaz de obtener su posición y mostrar los lugares o establecimientos cercanos a ésta, como por ejemplo un restaurante. Cabe la posibilidad de que el usuario no quiera visualizar todos aquellos puntos cercanos, sino un conjunto de ellos según categorías. En este caso, Foursquare permite mediante un conjunto de filtros, obtener el listado de aquellas localizaciones que cumplen con las características indicadas, las cuales pueden mostrarse sobre un mapa.
Posteriormente, Foursquare permite realizar check-in en estos establecimientos, lo cual indica que el usuario se encuentra en dicho lugar, y comentar sus impresiones y valoraciones acerca de estos lugares. Además, también muestra publicidad o promociones de aquellos establecimientos cercanos a la posición del usuario. Esto permite a las empresas promocionarse mediante el uso de las redes sociales a un gran número de clientes potenciales. Asimismo, Foursquare cuenta también con aplicaciones móviles para casi cualquier dispositivo como iPhone, Blackberry y Android, siendo éstas gratuitas. Esto permite a Foursquare abarcar un gran número de usuarios.
Una de las ventajas de Foursquare es la posibilidad de introducir un nuevo lugar o establecimiento a su red. Por ejemplo, si un usuario tiene la costumbre de visitar un determinado lugar, y este no se encuentra en Foursquare, rellenando un formulario es añadido a la red social. Con esto, se crea una sensación de participación que da a entender al usuario que éste no es meramente un cliente más, si no un miembro de la comunidad que hace crecer el contenido de la red social.
Foursquare también incluye una funcionalidad dedicada a mostrar cosas que el usuario tenga por hacer, mostrando aquellas actividades añadidas recientemente o de lugares cercanos. De este modo se le permite llevar un recordatorio de todo aquello que puede o debe realizar en cada momento.
Otro de los atractivos de Foursquare, el cual le ha dado más fama es que ha convertido su red en un juego. El usuario puede acceder a distintos premios simbólicos, como por ejemplo las medallas, que se otorgan a los usuarios cuando se han cumplido una serie de objetivos. Otro premio simbólico consiste en convertirse en el mayor de un lugar. El mayor es aquella persona que ha realizado más check-ins en ese lugar. Por último destacar que Foursquare cuenta con integración para las redes sociales Twitter y Facebook, permitiendo publicar en otras redes sociales la actividad realizada en ella.
3.6 Resumen
A lo largo de este capítulo se presentaron diferentes trabajos y aplicaciones que usan conceptos de redes sociales y geolocalización, de los cuales se describió su propósito y los aspectos más relevantes para el presente trabajo.
Se comenzó con una serie de trabajos desarrollados en ambientes académicos, tales como MobiFeed, GeoFeed y GeoSocialDB, los cuales están centrados en la recomendación y/o planificación de noticias según la ubicación del usuario de un dispositivo móvil. Por otro lado, se incluyó un trabajo del MIT que utiliza dispositivos móviles en la detección de sistemas sociales complejos, como por ejemplo inferir relaciones o identificar lugares de interés.
Capítulo 4
Trabajo Realizado
En este capítulo se describirá GeoTandil, el sistema desarrollado en el presente trabajo. Se explicará su funcionalidad, su arquitectura y las herramientas que se utilizaron en el desarrollo del mismo.
El capítulo será dividido en dos partes. En primer lugar, se explicarán las tecnologías, algoritmos y la arquitectura del mismo. En segundo lugar, se definirán las principales funcionalidades de GeoTandil, y se mostrarán diferentes escenarios utilizando diagramas y capturas de pantalla de la aplicación.
4.1 Tecnología y arquitectura de la aplicación
Para el desarrollo de la aplicación se utilizaron un conjunto de tecnologías y se eligió una arquitectura 3-Tier. A continuación se explicará cómo han sido utilizadas cada una de las tecnologías en la instanciación de la arquitectura.
Arquitectura
La arquitectura elegida para la aplicación es 3-Tier, la cual divide a la aplicación en tres capas, cada una con una funcionalidad bien definida. Esta arquitectura fue elegida porque se adapta perfectamente con las características de la aplicación desarrollada. En primer lugar, la naturaleza distribuida de la aplicación hace que sea fundamental elegir un tipo de arquitectura en la cual existan varios clientes independientes que interactúan con un servidor de aplicaciones, y en segundo lugar la necesidad de persistir los datos en un modelo de datos apropiado, dado que el objetivo fundamental de la aplicación es la recolección de datos proveniente de la interacción de usuarios.
La primer capa es la de presentación y corre en cada uno de los dispositivos Android utilizado por cada usuario. La capa intermedia se utiliza para proveer servicios correspondientes a la lógica de negocios. La última capa es la de persistencia, la cual se encarga de gestionar y almacenar los datos que son obtenidos en la aplicación.