viernes, 4 de febrero de 2011

MODELADO DEL CONTEXTO.

Las aplicaciones y servicios contextuales, entendiendo como tales a aquellos que analizan, evalúan y reaccionan de acuerdo al contexto en el que están siendo usados, son una de las áreas más prometedoras para mejorar la experiencia de usuario, ayudar a las personas a mejorar su calidad de vida y ofrecer nuevas vías de explotación del conocimiento a empresas como los operadores globales de telecomunicaciones. Por ello este artículo tratará de ofrecer una breve descripción de la generación y uso del contexto. Para facilitar su lectura se ha estructurado en forma de preguntas y respuestas, de forma que podría considerarse una PMB (Preguntas Más Básicas) sobre el contexto.

¿Qué es el contexto?

Paradójicamente esta es probablemente una de las cuestiones más difíciles, ya que la definición de lo que es contexto depende precisamente… del contexto.
Restringiéndonos al área de procesado de información, el uso del término surge relacionado con las ideas sobre computación ubicua (ubiquitous computing o pervasive computing).  Se puede definir como toda información que caracteriza al entorno en el cual se ejecuta una aplicación o servicio. Es por tanto una definición relativa (depende de qué aplicación estamos considerando, para saber qué son datos centrales y qué es contexto: los datos de una aplicación pueden ser el contexto de otra). Otro rasgo destacado del contexto, que aparece de forma recurrente, es su validez temporal. Al ser dinámico, evoluciona deprisa, luego siempre se sobreentiende que hablamos del contexto de ahora. El contexto debe ser procesado en tiempo real.

¿Para qué sirve el contexto?

De forma muy concisa, para enriquecer servicios. Los sistemas conscientes del contexto (context-aware systems) son potencialmente capaces de adaptarse mucho mejor y de forma automática a las condiciones de entorno, y por tanto proporcionar un mejor servicio. Para ello, tienen que extraer o adquirir ese contexto de forma precisa, procesarlo para obtener la información necesaria para la aplicación y usarlo para personalizar ésta.
Dentro de todo el abanico de servicios contextuales el segmento más característico hoy en día son los servicios de información en red, que presuponen una conectividad desde un dispositivo de usuario (un terminal, fijo o móvil) hacia unos proveedores de información en red. No es el único modo de uso, ya que contexto es una definición general que puede aplicarse en muchas situaciones. Aplicaciones de inteligencia ambiental reaccionan también al contexto del usuario; éste podría interactuar con el entorno en formas distintas al uso de terminales clásicos (por ejemplo mediante wearable computing). Incluso dentro del entorno tradicional es posible utilizar el contexto en formas nuevas de interacción, como en aplicaciones de realidad aumentada.

¿Qué grados de contexto hay?

Existen muchas clasificaciones de contexto (tantas como definiciones). Una posible es por grados de aplicación: Considerando sólo el contexto de personas, y en función de a quien aplica, podríamos dividirlo en:
  • Contexto individual: información contextual que concierne a o describe el entorno de una persona o entidad concreta
  • Contexto de grupo: información extraída de un grupo de personas (una familia, los pasajeros de un tren, un grupo de amigos, los asistentes a una conferencia); no se trata de la mera agregación de los contextos individuales sino que es necesario considerar qué propiedades de contexto propagar al grupo entero, y si la existencia del grupo provoca la aparición de nuevas propiedades no aplicables a título individual.
  • Contexto colectivo: se distingue del contexto de grupo en su agregación a gran escala. Son contextos de aplicación a poblaciones grandes, y en ellos lo importante es determinar qué rasgos (con el margen de error considerado) son generalizables a las poblaciones objeto de análisis.

¿Cuáles son los tipos de contexto?

Otra posible clasificación es por fuentes de contexto (de dónde se extrae) Así podemos enumerar una serie de rasgos que componen el contexto de una persona (los contextos aplicados a grupos o colectivos recolectarían estos tipos de cada uno de sus miembros):
  • Contexto espacial. Supone, en primera instancia la localización física del usuario, y en segunda instancia tanto la interpretación semántica (“está en casa”, “en el trabajo”, “en el coche”) como el marco de ese contexto espacial (qué hay alrededor, quién hay cerca del usuario).
  • Contexto temporal. De nuevo en primera instancia es el instante de tiempo actual, y una segunda evaluación tiene las dos vertientes de interpretación semántica (“es por la mañana en día laborable”, “es la hora de sacar a pasear al perro”) y de marco temporal a corto plazo (“queda media hora para que salga del trabajo”, “ha comido hace poco”).
  • Contexto ambiental: se puede considerar como una extensión del contexto físico, y engloba variables más generales como el tiempo atmosférico (temperatura, si hace sol, si llueve), iluminación, ruido ambiente, contaminación, etc
  • Contexto personal. Comprende el estado de la persona en el momento de evaluar el contexto. Se refiere por tanto a aspectos como la actividad que está desarrollando (trabajando, leyendo, practicando un deporte), el estado de ánimo (lo que se denomina “mood” en inglés), circunstancias físicas (si tiene medio de transporte propio, si va muy abrigado o poco).
  • Contexto social. Es el que extiende el contexto involucrando a la parte de la red social del usuario que está activa (o es relevante) en cada momento; cada uno de los individuos en este segmento de red social aporta su contexto (espacial, temporal, ambiental, personal) al conjunto total.

¿De dónde se adquiere el contexto?

En general hay fuentes primarias de contexto, basadas en sensores, a partir de las cuales se puede inferir contexto de más alto nivel. Entre esas fuentes primarias pueden citarse:
  • Contexto espacial. La posición del terminal (base del contexto espacial) puede obtenerse mediante varias técnicas, en orden decreciente de precisión:
    • GPS: da siempre la posición más exacta, pero a veces no está disponible (el dispositivo no lo tiene, o falla la cobertura) o activado (al consumir bastante energía, en muchos casos se desactiva).
    • Sensores inalámbricos no celulares, basados en identificación de nodos de red inalámbrica de posición conocida (por ejemplo, estaciones WiFi, o dispositivos Bluetooth).
    • Posicionamiento de celda, para dispositivos móviles: asignar la posición a partir de la estación base o triangulando entre estaciones a partir de medidas radio.
    • Posicionamiento IP (basada en bases de datos que mapean direcciones IPs o rangos a áreas geográficas, útil especialmente en terminales fijos). Tienen precisión típicamente a nivel de ciudad.
    Existen APIs estandarizadas para que las aplicaciones y los terminales puedan enviar información de posición de forma normalizada (W3C Geolocation API, GSMA OneAPI, Google Geolocation)
  • Contexto temporal: se puede recurrir a registros de actividad reciente del usuario (los mismos que para evaluar el contexto personal) para el pasado inmediato; el contexto del futuro inmediato puede extraerse de la agenda del usuario o estimarlo en función de su perfil (usando razonamientos/aprendizajes que infieran patrones temporales de comportamiento).
  • Contexto ambiental: las redes de sensores, cada vez más abundantes e interconectadas, proporcionan información ambiental convenientemente geo-posicionada. Es lo que se ha llamado recientemente Sensor Web (red de sensores interconectados, y distribuidos geográficamente).
  • Contexto personal: son fuentes primarias las interacciones del usuario con la aplicación, el terminal o con servicios de red, la información explícitamente proporcionada por el usuario, o procedimientos más avanzados como análisis facial o medida de constantes biométricas.
  • Contexto social: a partir del grafo social (red social activa del usuario) obtenible mediante distintos procedimientos, se puede llegar a los usuarios relevantes en cada momento para extraer el contexto social.

¿Cómo se usa el contexto?

Como se ha mencionado, su empleo principal es para mejorar la capacidad de los servicios de adaptarse a las necesidades de los usuarios en tiempo real (o de anticiparse a ellas).
El “punto base”  para servicios contextuales son tradicionalmente los servicios basados en localización (Location-Based Services o LBS), de popularidad creciente, sobre gracias a las capacidades de interacción avanzada ofrecidas por terminales móviles basados en iPhone o Android. De momento lo más frecuente es aprovechar información de la posición del usuario como filtro para la oferta de servicios en la zona (para localización o recomendación), pero están ya incorporando otras fuentes de contexto (como el contexto social combinado con la posición). Se espera una evolución cada vez más rápida hacia la integración de todas las fuentes de contexto posibles y en este sentido se observa una gran actividad en el mercado.

¿Cuál es la diferencia entre contexto y perfil?

Son conceptos complementarios, y muy relacionados. Dada la elasticidad de ambos términos, puede considerarse que uno engloba al otro (o al revés), pero en general puede establecerse una diferencia basada en el marco temporal de ambos:
  • Un perfil de un usuario contiene información sobre rasgos estables de una persona, que en general se supone que varían lentamente con el tiempo.
  • El contexto de un usuario, en cambio, evalúa la situación de la persona en un momento concreto (de nuevo la característica de tiempo real es básica).
Por poner ejemplos relacionados con las fuentes de contexto mencionadas, el perfil de un usuario puede indicar que es friolero (rasgo de personalidad) o que suele ir muy abrigado (rasgo de comportamiento), mientras que el contexto de ese usuario puede indicar que ahora tiene frío o que va poco abrigado. El perfil puede también indicar que va frecuentemente al cine, mientras que el contexto espacial puede señalar que justo ahora está cerca de un cine y tiene tiempo libre (luego puede ser un buen momento para una recomendación cinematográfica).
Un perfil puede aplicarse en distintos contextos, pero al hacerlo, el contexto modula qué rasgos del perfil son más útiles o apropiados para la situación concreta. Es evidente también que conocer el perfil ayuda a evaluar mejor el contexto, y que a la inversa rasgos extraídos del contexto pueden alimentar actualizaciones del perfil. La potencia y flexibilidad de enriquecimiento de servicios es máxima con ambas tecnologías en juego.

¿En qué entornos es más útil?

En cualquiera en el que la situación de diferentes entidades (incluidos los usuarios) sea dinámica y cambiante En este sentido, una de las áreas previstas de mayor crecimiento de sistemas contextuales son los entornos urbanos. Se puede considerar el tejido urbano una ciudad como un conjunto de redes superpuestas, cuyos nodos se relacionan entre sí:
  • los ciudadanos forman una red social (o un conjunto de redes sociales), cuyos nodos son los individuos;
  • las redes de infraestructuras (transportes, comunicaciones, energía, etc) interactúan con los ciudadanos;
  • redes lógicas de nivel superior (culturales, económicas) enlazan nodos de las redes anteriores
Cada uno de los nodos de estas redes aporta contexto a los nodos con los que interactúa (el conjunto global puede modelarse con la ayuda de Ciencia de Redes o Network Science). La contribución de los sistemas contextuales para extraer, evaluar y utilizar esos contextos permite crear entornos de ciudades inteligentes (Smart Cities) , una iniciativa en auge en numerosos lugares del mundo.

¿Qué implicaciones de privacidad tienen los servicios contextuales?

Muchas y de gran impacto. En general se pueden aplicar todas las consideraciones de los entornos de personalización y perfilado de usuarios, más implicaciones adicionales derivadas del hecho de adquirir información en tiempo real sobre el usuario.  Los LBS, al ser la punta de lanza, han permitido abrir ya el debate.
Los permisos que un usuario concede para que se haga uso de su información de contexto deben tener una granularidad fina, para que pueda ajustar a su gusto las preferencias. Puesto que la gran mayoría de los usuarios no se molesta en personalizar sus aplicaciones, las opciones por defecto deben ser sensatas y adaptadas los mejor posible al perfil del usuario.


Derechos: Paulo Villegas, y  Alejandro Cadenas
Publicado el Julio 15, 2010 por La Cofa 

No hay comentarios:

Publicar un comentario en la entrada