El campo de la psicología y todo lo relacionado con los fenómenos
socio-culturales siempre me han parecido muy interesantes en los que
creo que hay mucho por hacer, especialmente desde el punto de vista de
la informática, ya que estamos hablando de un campo del conocimiento que
aun no ha alcanzado el grado madurez que tienen otros campos del
conocimiento humano. No obstante, existen muchos documentos y
herramientas que permiten comprender mejor la naturaleza de las
emociones humanas y la forma en la que pueden afectar el comportamiento
de una persona. La ingeniería social es una de dichas herramientas y se
basa en una serie de principios generales que son transculturales y que
suelen aplicar a un porcentaje de la población bastante alto, sin
embargo su enfoque, como seguramente ya lo sabes, consiste
principalmente en detectar las vulnerabilidades que pueda tener una
persona en varios niveles, así como también para la detección del
engaño. Los ingenieros sociales suelen conocer bastante bien los
principales rasgos psicológicos y culturales de las personas con las que
tratan, tal es su conocimiento sobre el comportamiento y la psique
humana que son capaces de “cambiar” su modo de hablar, de expresarse y
de transmitir ideas a las personas con las que se comunican con el fin
de generar un sentimiento de confianza y conexión a su interlocutor. Se
trata de una habilidad que en muchas ocasiones es innata en una persona,
es simplemente su forma de ser y suelen generar un ambiente amigable y
jovial allí donde vayan. Muchas personas son así por naturaleza,
inmediatamente nos generan sentimientos agradables y nos sentimos más
relajados y dispuestos a transmitir información. Los mejores ingenieros
sociales son aquellos no fuerzan las cosas y que con una habilidad
asombrosa controlan el flujo de los acontecimientos y las
conversaciones, dando lugar a situaciones que les resultan favorables y
muy ventajosas. Si bien suelen ser habilidades que son innatas en la
mayoría de ingenieros sociales, no significa que no puedan ser
desarrolladas comprendiendo cada uno los puntos vitales del Social
Engineering Framework, solamente hace falta practica y mucha paciencia,
pero al hablar de practica, no me refiero a utilizar SET desde casa y
crear el típico Applet malicioso, me refiero a hablar con la gente que
te rodea y tratar de conocer su “mindset” o conjunto de habilidades,
características y rasgos psicológicos.
Ahora bien, como resulta evidente, las emociones juegan un papel
central cuando hablamos de relaciones humanas. Lo que sentimos por otras
personas impactan directamente en nuestro comportamiento y además, con
el tremendo auge de las redes sociales, parece ser que hoy en día todo
el mundo se siente mucho más a gusto expresando lo que piensan o sienten
en Facebook, Twitter o otro cualquier sitio en Internet como blogs o
foros que hablando personalmente con la gente. Es algo que siempre me ha
parecido de lo más curioso y desde hace varios años, aprovechando la
abrumadora cantidad de frases cargadas con diferentes tipos de
sentimientos de personas que escriben en Internet, se ha creado un
proyecto que desde mi punto de vista es uno de los mejores proyectos
informáticos relacionados con el estudio y categorización de las
emociones humanas, se trata de wefeelfine.org
Wefeelfine es una plataforma muy completa que se encarga de analizar
blogs, foros, redes sociales con perfiles públicos y otros tipos de
espacios personales en los que las personas transmiten sus ideas y se
expresan, se trata de una herramienta de exploración de emociones a
escala global. Además de recolectar información, su plataforma puede ser
consultada en cualquier momento y admite varios tipos de filtros
relacionados con el genero de las personas, edad, ciudad, o incluso una
serie de emociones muy concretas, tal como se puede apreciar en las
siguientes imágenes.

Nube de sentimientos recolectados por wefeelfine.org

Aplicando los filtros: Sentimiento=tense, Genero=Femenino,
Edad=Entre 30 y 39 años, Condiciones climáticas=Todas, País=España,
Fechas=Todas
Por otro lado, cuenta con varias vistas que permiten visualizar la
información de la forma en la que resulte más cómoda para el usuario,
tal como se indica en el apartado “movements”: http://wefeelfine.org/movements.html
Personalmente, la característica que me parece más interesante de la
plataforma son los servicios REST que se encuentran definidos para que
cualquier desarrollador pueda consultarlos. La API para poder invocar a
dichos servicios de forma correcta se encuentra definida en el siguiente
enlace: http://www.wefeelfine.org/api.html
y no requiere ningún tipo de autenticación y/o autorización, son
servicios abiertos que cualquiera puede utilizar en un momento dado.
Tal como se aprecia en la siguiente imagen, es posible utilizar un
navegador web para invocar a cualquiera de los servicios disponibles e
inspeccionar la respuesta para ver los datos que ha devuelto.

Invocación a la API de wefeelfine desde un navegador web
Ahora bien, lo más común es crear rutinas que invoquen a dichos
servicios para automatizar el proceso de consulta y en ese sentido, es
posible utilizar cualquier lenguaje de programación ya que solamente es
necesario realizar una petición HTTP y parsear la respuesta. El
siguiente script es un buen ejemplo del uso de Python para consultar y
parsear algunos de los servicios disponibles en la API de wefeelfine.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import requests
from bs4 import BeautifulSoup
def search(api, text):
response = requests.get(api)
soup = BeautifulSoup(response.content, 'lxml' )
feelings = soup.feelings.find_all( "feeling" )
print text
for feeling in feelings:
if feeling.has_key( "feeling" ):
print "[*] Sentimiento: %s " % (feeling[ 'feeling' ])
if feeling.has_key( "sentence" ):
print "[*] Sentencia: %s " % (feeling[ 'sentence' ])
if feeling.has_key( "postdate" ):
print "[*] Fecha: %s " % (feeling[ 'postdate' ])
if feeling.has_key( "posturl" ):
print "[*] URL Origen: %s " % (feeling[ 'posturl' ])
print "
"
search( "http://api.wefeelfine.org:8080/ShowFeelings?display=xml&returnfields=imageid,feeling,sentence,posttime,postdate,posturl,gender,born,country,state,city,lat,lon,conditions&limit=10" , "[*] Consultando los ultimos 10 sentimientos registrados" ) search( "http://api.wefeelfine.org:8080/ShowFeelings?display=xml&returnfields=imageid,feeling,sentence,posttime,postdate,posturl,gender,born,country,state,city,lat,lon,conditions&feeling=sad&city=madrid&limit=10&gender=female" , "[*] Consultando los ultimos 10 sentimientos registrados de personas con genero 'femenino' que se sienten 'felices'" ) |
La función “search” es la que se encarga de utilizar la librería
“requests” para ejecutar una petición HTTP contra el servicio REST
indicado y parsear la respuesta utilizando la librería BeautifulSoup, la
cual se encuentra en formato XML.
Es un script muy simple y que refleja la cantidad de información que
se puede extraer de la plataforma. Aunque muchos de los sentimientos
registrados se encuentran en ingles, los sentimientos expresados en
castellano en blogs, redes sociales y cualquier otro sitio web en
Internet, quedan prácticamente excluidos de la plataforma, ¿Acaso os
estoy dando ideas para un próximo proyecto? ;-).
Es una plataforma muy interesante y el estudio realizado por los
investigadores que han montado la plataforma es simplemente brillante y
para aquellas personas a las que nos interesan los temas relacionados
con la informática, el hacking y las ciencias humanas como la filosofía y
la psicología, puede resultar muy entretenido. Os recomiendo su
lectura: http://wefeelfine.org/wefeelfine.pdf
Fuente http://thehackerway.com/2014/12/09/registro-y-analisis-de-emociones-con-wefeelfine-ingenieria-social-automatizada/