jueves, 14 de agosto de 2014

Los Bots en la redes sociales

Esta página desenmascara a tus 'followers' robóticos

El diferente comportamiento entre las cuentas automatizadas y las humanas permite distinguirlas
THE PHYSICS ARXIV BLOG 11/08/2014
En 2011 un equipo de la Universidad A&M de Texas (EEUU) creó una cibertrampa para atrapar a usuarios de Twitter no humanos dedicados a contaminar la tuitesfera con spam. El método consistió en crear cuentas "cebo" con contenido sin sentido en las que ningún usuario humano podría estar interesado. Cualquier cuenta que retuiteara este contenido, o se hiciera amigo del propietario, seguramente sería un usuario no humano, o robot social.
El equipo creó 60 cebos y cosechó unas 36.000 cuentas robóticas potenciales. La gran cantidad de cuentas no humanas activas sorprendió a muchos observadores. Estos robots en general eran poco sofisticados y se limitaban a retuitear prácticamente cualquier contenido que encontraban.
Desde entonces los robots sociales han avanzado muchísimo. Analizan las redes sociales en busca de las personas más populares e influyentes, luego las siguen y captan su atención mediante el envío de mensajes. Estos robots pueden identificar palabras clave y encontrar contenido en consecuencia, y algunos incluso pueden responder a preguntas usando algoritmos de lenguaje natural.
Eso hace que la identificación de los robots sociales sea mucho más difícil. Sin embargo Emilio Ferrara y varios colegas de la Universidad de Indiana en Bloomington (EEUU) aseguran haber desarrollado una forma de detectar sofisticados robots sociales y distinguirlos de los usuarios humanos normales.
La técnica es relativamente sencilla. Empezaron reuniendo un conjunto de robots sociales del grupo original identificado en 2011. Eligieron 15.000 y recogieron sus 200 tuits más recientes, además de los 100 tuits más recientes en los que son mencionados. Eso produjo un conjunto de datos de unos 2,6 millones de tuits. Después el equipo reunió un conjunto de datos similar a partir de 16.000 usuarios humanos y consistente en más de 3 millones de tuits.
Por último los investigadores crearon un algoritmo llamado 'Bot or Not?' para analizar los datos en busca de diferencias significativas entre las propiedades de los usuarios humanos y los robots sociales. El algoritmo consideró más de 1.000 características asociadas a estas cuentas, como el número de tuits y retuits que publicó cada usuario, el número de respuestas, menciones y retuits que recibió cada uno, la longitud del nombre de usuario e incluso la antigüedad de la cuenta.
Resulta que hay diferencias significativas entre las cuentas humanas y las de robots. Los robots tienden a retuitear con mucha más frecuencia que los humanos. Además también tienen nombres de usuario largos y cuentas más recientes. Por el contrario, los seres humanos reciben más respuestas, menciones y retuits.
En conjunto estos factores crean una especie de huella digital que se puede utilizar para detectar los robots. "'Bot or Not?' tiene una precisión de detección muy prometedora", señalan Ferrara y su equipo.
Sin embargo existen algunas limitaciones. En primer lugar, el equipo tomó los robots sociales identificados originalmente en 2011 por lo que es muy posible que hoy día existan robots más avanzados y menos fáciles de detectar.
También hay casos ambiguos que contienen mensajes de seres humanos y robots sociales, por ejemplo cuando los humanos prestan sus cuentas a robots, o cuando las cuentas han sido hackeadas por robots. "Detectar estas anomalías es imposible hoy día", admite Ferrara.
Es un interesante comienzo dentro del proceso de identificación de robots sociales, aunque es una tarea que podría hacerse más difícil con el tiempo. Con sólo 140 caracteres, el tipo de comunicación posible en Twitter tiene limitaciones significativas. Por tanto es mucho más fácil para un ordenador recrear el comportamiento altamente limitado que los humanos demuestran en este espacio.
Para los interesados, Ferrara y su equipo han hecho que el algoritmo 'Bot or Not?' esté disponible en este sitio web. Después de introducir el nombre del usuario de Twitter, el algoritmo analiza sus características y mensajes más recientes para determinar la probabilidad de que sea un robot social.
No funcionaba en el momento de escribir este artículo, así que tal vez haya sido víctima de algún robot social enfadado. Pero si ves que ahora funciona, pruébalo y dinos lo que piensas en la sección de comentarios de más abajo.

Un robot se convirtió en el segundo usuario más popular de una red social italiana

La cuenta ganó su poder de influencia a base de visitar los perfiles del resto de usuarios
A veces los descubrimientos más fascinantes ocurren por casualidad. Este es un buen ejemplo. Hace unos años Luca Maria Aiello y varios compañeros de la Universidad de Turín (Italia) comenzaron a estudiar una red social llamada aNobii.com en la que los usuarios intercambian información y opiniones sobre sus libros favoritos. Cada persona tiene un sitio que cualquiera puede visitar. Los usuarios pueden establecer vínculos sociales con otros usuarios.
Para trazar la estructura de la red, Aiello y su equipo crearon un rastreador automático que empezaba visitando el perfil de una persona en la red y luego el de las personas conectadas con ese nodo. A continuación visitaba a cada una de las personas que se enlazaban con los nodos, y así sucesivamente. De esta manera el robot construía un mapa de la red.
Para obtener acceso a la red el equipo tuvo que crear una cuenta de usuario vacía para el rastreador a la que llamaron lajello.
El equipo soltó el rastreador lajello en septiembre de 2009. Por aquel momento la red era lo suficientemente pequeña como para que lajello trazara toda la estructura una vez cada 15 días aproximadamente.
Después, en julio de 2010, aNobii.com cambió su configuración de usuario por defecto para que cada usuario pudiera ver a los otros usuarios que habían visitado su sitio personal. "Como resultado, nuestro rastreador dejó huella de su paso por todos los perfiles aproximadamente dos veces al mes", afirma Aiello.
Y, curiosamente, la gente empezó a responder a las visitas del rastreador. Esto le dio una idea al equipo: "Las reacciones inesperadas provocadas por las visitas del robot nos motivaron a configurar un experimento social en dos partes para responder a la siguiente pregunta: una persona que no se haya ganado la confianza de los demás, ¿puede conseguir popularidad e influencia?".
Los investigadores se aseguraron de que la interacción del rastreador se limitara a visitar los nodos. La idea era aislar una actividad social mínima y única, y comprobar su grado de efectividad para ganar popularidad.
Comenzaron a registrar las reacciones a las visitas de lajello, incluyendo el número de mensajes que recibía, su contenido, los enlaces recibidos, cómo cambiaron con el tiempo y así sucesivamente.
Los resultados fueron sorprendentes. Cada vez que lajello comenzaba su ronda de visitas, provocaba una explosión de comentarios en su muro público. Cuando terminaba la ronda, los usuarios dejaban rápidamente de enviar mensajes pero volvían con la misma intensidad cuando el robot comenzaba a visitarlos de nuevo.
En diciembre de 2011 el perfil de lajello se había convertido en uno de los más populares en toda la red social. Había recibido más de 66.000 visitas, así como 2.435 mensajes de más de 1.200 personas diferentes. En cuanto al número de mensajes distintos recibidos, el usuario más popular de la red era un escritor de renombre, aunque lajello acabó en segunda posición.
"Nuestro experimento apoya claramente la tesis de que la popularidad se puede ganar simplemente con un "sondeo social" continuado", concluyen. "Hemos demostrado que un sencillo spambot puede atraer gran interés sin ni siquiera emular cualquier aspecto típico del comportamiento humano".
Pero esto fue sólo el comienzo del experimento. Después de haber generado toda esta popularidad, los investigadores querían averiguar el grado de influencia del robot. Así que comenzaron a utilizarlo para enviar recomendaciones a los usuarios sobre con quién conectarse.
El robot de spam podía hacer una recomendación elegida al azar o una seleccionada cuidadosamente por un motor de recomendación. A continuación hizo sus recomendaciones a usuarios que ya se habían vinculado con lajello y a otros usuarios elegidos al azar.
Una vez más, los resultados fueron sorprendentes. "Entre los 361 usuarios que crearon al menos una conexión social en las 36 horas después de la recomendación, el 52% siguió la sugerencia propuesta por el robot", señalan.
No obstante, las recomendaciones específicas dadas a los seguidores fueron mucho más eficaces que las que recibieron los no seguidores. "En otras palabras, lajello tiene un mayor poder de persuasión entre los que son más conscientes de su presencia y actividad", afirma Aiello.
Los investigadores tuvieron que poner fin al experimento cuando aNobii.com suspendió la cuenta de lajello tras una amplia discusión en la red sobre si lajello era un humano o no.
Sin embargo, es un trabajo interesante que muestra lo fácil que resulta para un robot automatizado jugar un papel importante en una red social. La popularidad parece fácil de comprar usando nada más que visitas a páginas, al menos en este experimento. Es más, esta popularidad se puede traducir fácilmente en influencia.
La importancia de este trabajo está clara. Los robots sociales son un hecho vital en casi todas las redes sociales y muchos se han vuelto tan sofisticados que son difíciles de distinguir de los seres humanos. Si el más simple de los robots creado por Aiello puede tener este tipo de impacto, nadie sabe cómo podrían influir robots más avanzados en aspectos como críticas de cine y entradas de Wikipedia, o precios de acciones y elecciones presidenciales.

Tipos de Bots

Guillermo Pérezbolde

Aunque todos los Bots simulan ser personas, hay diferentes tipos dependiendo para que se utilicen y por lo general cumplen únicamente con una función, lo cual facilita un poco su detección.
Difícilmente habría consenso para catalogar a todos los tipos de Bots que existen pero por algo hay que empezar, así que a continuación incluyo los distintos tipos de cuentas que he detectado y el nombre que considero podría describirlas mejor.
Testing Bots
Los Bots tienen muchos usos, y no todos son negativos, algunos desarrolladores utilizan cuentas creadas y administradas por ellos mismos para probar la interacción de sus aplicaciones entre varias cuentas, reproduciendo así un entorno controlado para hacer pruebas.
Following Bots
Este tipo de Bots son creados con el único objetivo de seguir a otras cuentas y son los que utilizan los servicios que ofrecen la venta de seguidores o amigos. Son usados para inflar las cifras de seguidores, generalmente para dar una idea de popularidad. En campañas políticas son muy utilizados.
Traffic Bots
Estos son de los más complejos ya que buscan generar tráfico en sitios web de manera artificial. algunos de estos Bots incluso hacen click en la publicidad para incrementar las ganancias del dueño del sitio. Actualmente ya no son tan comunes gracias a que Google hace unos años los combatió mejorando sus métodos de detección para que no afectaran a sus servicios de publicidad.
En Redes Sociales estos Bots son utilizados para simular likes o clicks en linksdentro de Facebook o incluso se utilizan para aumentar la cantidad de visitas en un video de YouTube.
Trending Bots
Estos Bots se dedican únicamente a generar volumen de conversación de forma artificial en torno a un tema o Hashtag, con la intención de convertirlo en Trending Topic en Twitter, aunque Google+ ya cuenta con estos trending topics y Facebook los está probando para lanzarlos muy pronto. Estos Bots son ampliamente utilizados en campañas políticas con la intención de simular popularidad en un candidato.
Crisis Bots
Estos Bots son los que atacan o defienden a otras cuentas o temas, son muy utilizados en paginas de Facebook para simular movimientos en contra de una marca, buscando generar una idea negativa de la empresa en la gente. También se utilizan para contrarrestar esas opiniones negativas. Algunos de estos Bots se encuentran programados para atacar en periodos de tiempo determinados para hacer el mayor daño posible.

Bots o Trolls

Otro término que se ha popularizado con las Redes Sociales es el de Troll y muchas veces se le confunde con los Bots cuando en realidad son muy diferentes; Un Troll es una persona que critica y ataca de forma sistemática a otra u otras, ejerciendo e incluso abusando de su derecho a la expresión en los medios sociales. Por lo general son molestos ya que se esconden detrás de su propia cuenta para decir lo que no se atreven en persona. La principal diferencia de los Trolls contra los Bots es que lo primeros si son personas, a diferencia de los otros que son cuentas que no son quien dicen ser.
Entre Community Managers hay una frase muy popular que dice “No alimentes al Troll” y se refiere a no hacerle caso al que se dedica únicamente a atacar.

Cómo identificar un Bot

Los Bots tienen ciertas características que nos permiten identificarlos para no confundirlos con las cuentas reales, algunos siguen una o varias de las opciones siguientes, lo importante en este caso es analizarlos en función de su comportamiento. En Mente Digital diseñamos una metodología para detectar Bots que incluye más de 12 parámetros, a continuación incluyo algunas de las formas que utilizamos actualmente para identificarlos:
Radio de seguimiento
Un usuario promedio sigue a otros usuarios y es seguido por otros tantos, en el caso de los Bots suceden varias situaciones, ya sea que siguen a mucha gente y casi no lo siguen a ellos, o que no siguen a nadie pero publican mucho.
Intensidad de publicación
Los Bots, principalmente los creados para Trending Topics o para Crisis, tienen un volumen de publicación muy superior a lo que se ve en un usuario promedio. Estos Bots publican gran cantidad de mensajes en un lapso de tiempo muy corto y todos con el mismo mensaje o hashtag. Estos Bots se pueden detectar también porque mandan varios  mensajes a una misma cuenta en un lapso corto de tiempo.
Coherencia en el perfil
Como los Bots actualmente se crean por decenas, es difícil que los creadores pongan atención a dos detalles principalmente:
Información biográfica del perfil
Es muy frecuente ver Bots que ni  siquiera tienen una descripción básica de quienes son en el perfil.
Avatar
El Avatar es algo que los usuarios reales cuidan mucho ya que es la imagen que los describe. En el caso de los Bots, la mayoría no tienen siquiera una imagen, y los que la tienen frecuentemente utilizan fotos de stock que no se ven naturales o lo que se esperaría de un usuario común.
Mapeo de propiedades
Por lo general la gente tiene al menos dos perfiles creados en Redes Sociales, los más comunes son Facebook y Twitter. Por su lado, los Bots se crean en la Red Social donde se van a emplear y por lógica no tienen cuentas en otras plataformas. Mediante herramientas de SocialGraph se puede detectar si una cuenta tiene otros perfiles para poder determinar de acuerdo con el comportamiento que sigue en todas si es o no un Bot.

¿Es legal usar Bots?

En realidad no existe actualmente ningún tipo de regulación en torno al uso de Bots, así que su utilización es una cuestión más de ética de quien los usa, y debemos apostar en este sentido a la auto regulación.
Las mismas Redes Sociales están en contra del uso de Bots, el caso más concreto es el de Twitter que desde mediados del 2011 ha estado dando de baja las cuentas que de acuerdo a la empresa son Bots y generan spam.
En conclusión, me parece que los usuarios de Redes Sociales debemos estar alertas para detectar cuando estamos hablando con una persona o con una cuenta falsa, y al detectarlas podemos ejercer nuestro derecho a denunciarla en pro de la conversación entre personas.
El conocimiento que no se comparte pierde por completo su valor
Donaciones
BTC:  1Eb6A6M3iH3eyX5Q7DVnvDWBLAmjKi3ae5

lunes, 4 de agosto de 2014

La computación cuántica y los retos para convertir teoría en realidad

2013_03_25_cuantico2.jpg

La computación cuántica. Hemos visto como la superposición de estados y el entrelazamiento nos permiten hacer varias operaciones simultáneas sobre un único qubit, que es lo que da a la computación cuántica esa potencia exponencial.
Ahora bien, eso sólo es la teoría. ¿Cómo llevamos todo a la práctica? ¿Cómo hacemos un dispositivo capad de medir y modificar estados cuánticos? ¿Qué podemos lograr con computadores cuánticos? No son preguntas triviales. En este artículo vamos a ver cuáles son esos retos actuales de la computación cuántica.

¿Qué usamos para los qubits?


La primera cuestión es qué cogemos para representar los qubits. Hasta ahora sólo hemos hablado de ellos como cosas abstractas, objetos matemáticos que pueden estar en varios estados. En la práctica, necesitamos escoger una partícula o elemento para que represente físicamente ese qubit, de la misma forma que en la computación tradicional los bits están representados por un cable por el que pasa o no electricidad.
La decisión no es fácil. Si queremos observar los efectos cuánticos necesitamos sistemas físicos pequeños, como moléculas, átomos o electrones. Pero manipular esos elementos no es fácil, como tampoco lo es obtener mediciones precisas de sus estados.
Hay muchísimas posibilidades que los científicos han estado explorando para implementar ordenadores cuánticos. Una de las que más éxito ha tenido ha sido la resonancia magnética nuclear (RMN), principalmente porque es una tecnología ya madura con la que es relativamente sencillo implementar un ordenador.
De hecho, fue con un ordenador RMN con el que se ejecutó por primera vez en 2001 el algoritmo cuántico de Shor para factorizar números. Pero como todo en la naturaleza, la facilidad por un lado viene con dificultades por otro.
alanine.png
La computación cuántica con RMN se basa en medir los estados de spin de ciertos átomos en una molécula. Por ejemplo, a veces se usa el spin de los átomos de carbono en la molécula de alanina, que tenéis en la imagen. Como hay tres átomos de carbono (los negros), tenemos un sistema de tres qubits.
Como podres imaginar, esta técnica no nos sirve mucho para varios qubits. El problema es que en moléculas grandes hay muchas interferencias que van a modificar los qubits sin que nos demos cuenta, y las computaciones que hagamos serán incorrectas. Es el fenómeno del ruido, y uno de los mayores retos a superar en la computación cuántica.

D-Wave, ordenadores con circuitos superconductores
El ruido puede llegar incluso a desentrelazar las partículas en poco tiempo, de tal forma que en un sistema mal aislado ya no sólo tendríamos un qubit erróneo de vez en cuando, sino cálculos que si tardan más de un cierto tiempo dejan de ser válidos. El tema es complejo ya que el ruido puede venir de los propios elementos que usamos como qubits, fluctuaciones que hacen que acaben cambiando su estado cuando deberían mantenerse estables.
Donde se han hecho más progresos es en la representación de qubits con circuitos superconductores. Según el tipo de circuito, lo que se mide es la carga o la dirección en la que los electrones se mueven en un bucle. Para que no haya pérdidas ni fluctuaciones debido a la temperatura (lo que comentábamos antes del ruido), hay que enfriar los circuitos a un punto muy cercano al cero absoluto (-273º).
dwaveprocessorboard.jpgUn procesador de DWave, basado en circuitos superconductores.
Con esa tecnología, en D-Wave han conseguido crear los primeros procesadores cuánticos "comerciales", con aplicaciones prácticas reales (en Google tienen uno, por ejemplo). El problema es que al necesitar enfriarse tanto, parece difícil crear un procesador pequeño basado en la misma idea.
Los científicos siguen investigando las posibilidades a su alcance para crear un ordenador cuántico universal y manejable. Pero hay un problema más.

¿Seguro que eso es un ordenador cuántico?

Sonará raro, pero no todos los ordenadores hechos con qubits son cuánticos. Si recordamos la teoría, lo que hacía especial a la computación cuántica es el entrelazamiento, el hecho de que los estados de dos partículas estén fuertemente relacionados. Con eso llegábamos a que, con n partículas teníamos 2n estados, y era lo que daba la potencia exponencial a los ordenadores cuánticos. El entrelazamiento es lo que marca la diferencia.

Por supuesto, eso no descarta totalmente que el ordenador sea cuántico. Saber si las partículas están entrelazadas o no es difícil, y es el otro reto de la computación cuántica.Pues bien, resulta que en muchos ordenadores supuestamente cuánticos, no se ha observado ese fenómeno con seguridad. Por ejemplo, en uno de los procesadores cuánticos más avanzados, el D-Wave Two,no se consiguió medir la mejora de velocidad teórica que debería haber.

Y ahora que tengo un ordenador cuántico, ¿qué hago?

Algunos avances hechos con ordenadores cuánticos, como por ejemplo Google usando uno para ayudar a Google Glass. Sin embargo,  programar para un ordenador cuántico es muy distinto a hacerlo para un ordenador normal. Aclarémonos: ¿qué es lo que se puede hacer ahora mismo con un ordenador cuántico?

Este campo de la inteligencia artificial, en realidad es más bien burdo. La mayoría de esos sistemas tan avanzados e inteligentes, capaces de reconocer caras o entender frases, en realidad han sido generados "aleatoriamente": se crea una función con ciertos parámetros, se mira cuántas veces falla, se modifican los parámetros y se repite el proceso, hasta que al final acabas con algo que parece que funciona.Lo cierto es que no hay muchos algoritmos cuánticos que exploten todas las posibilidades de un ordenador de este tipo. Uno de ellos y ha permitido avances importantes en aprendizaje automático.
Los ordenadores cuánticos pueden resolver fácilmente ese tipo de problemas de optimización gracias al algoritmo de temple, que a grandes rasgos consiste en poner a los qubits en un estado determinado (los parámetros iniciales de la función) y esperar, aplicando una perturbación constante. Al final, los qubits llegan a unos parámetros que, con alta probabilidad, minimizan el número de errores.
El análogo en el mundo real sería tirar una canica por una colina: siempre tiende a ir al punto más bajo. Sin embargo igual tienes que darle una patada de vez en cuando para asegurarte de que no se queda en puntos intermedios. Esa patada sería el equivalente al fenómeno de "túnel cuántico", que de forma simplificada consiste en pasar de un estado a otro aunque entre medias haya una "barrera" aparentemente imposible de saltar.
quantumannealing.png

Enseñando a un ordenador

El temple cuántico es como tirar una canica en una colina: va hacia el punto más bajo. Así podría decidir un ordenador cuántico cuál es la mejor dosis de radiación para luchar contra un cáncer (ejemplo simplificado, obviamente).
Dicho de otra forma: una aplicación de los ordenadores cuánticos es crear sistemas de aprendizaje automático más rápidos y más precisos que los que se pueden crear con ordenadores tradicionales.
¿Y para qué usamos el aprendizaje automático? Pues para muchos procesos que no somos capaces de recrear en un ordenador. Por ejemplo, se pueden usar sistemas de aprendizaje automático para saber cuál es la mejor forma de aplicar radioterapia a un paciente, para detectar objetos en imágenes o para crear modelos estadísticos que predigan la evolución de la bolsa. En general, se usan para procesos que no somos capaces de modelar exactamente (nadie sabe explicarle a un ordenador en qué consiste exactamente una sonrisa, por poner un ejemplo tonto) pero para los que tenemos un montón de datos que el ordenador puede usar para aprender.
dwave.jpgD-Wave Two, el segundo procesador cuántico comercial, está hecho para resolver problemas de optimización. Google y NASA tienen uno para investigar sus aplicaciones en inteligencia artificial.
La teoría dice que la computación cuántica también podría aplicarse a otros campos, como por ejemplo el de la seguridad. Hay un algoritmo cuántico diseñado para factorizar números rápidamente, lo que dejaría a RSA en un chiste y permitiría romper gran parte de la seguridad de Internet. Sin embargo, todavía no se han llegado a crear ordenadores con suficiente capacidad para ello.

¿Qué nos depara el futuro?

quantumguy.jpg
Esa es una buena pregunta. Aunque hay avances (D-Wave es la empresa a la cabeza con su D-Wave Two, un procesador de 512 qubits), todavía estamos en una fase muy, muy temprana. Como decíamos antes, ni siquiera sabemos si los ordenadores son realmente cuánticos. Hay evidencias y de hecho los sistemas de D-Wave son más rápidos que el ordenador que puedas tener en tu casa, pero todavía no superan claramente a todos los ordenadores clásicos en todas las situaciones, que es lo que se esperaría.
Uno de los campos que más se vería afectados por el avance de la computación cuántica sería el de la criptografía. Los sistemas de clave pública se basan en problemas como el de la factorización de enteros, problemas que un ordenador clásico resolvería en años. Pero, tal y como os comentábamos antes, un ordenador cuántico podría resolverlo en un tiempo muchísimo menor y romper así la seguridad de muchísimos sistemas de Internet, como HTTPS. Por suerte, ya hay avances en lo que se llama criptografía post-cuántica, sistemas seguros incluso con ordenadores cuánticos.
Sea como sea, todavía nos queda mucho tiempo hasta que la computación cuántica llegue a un mínimo punto de madurez, y muchísimo más para que se convierta en una tecnología tan extendida como la computación actual, si es que en algún momento se consigue.