Idea: sistema de recomendación de contactos en Twitter

Desde hace un tiempo he estado dándole vueltas a un sistema de recomendación de contactos en twitter.

Filtrar por listas es efectivo para seguir las actualizaciones de las personas que más me interesa lo que suelen decir, pero de vez en cuando suelo consultar el stream del resto para captar nuevos contactos o enterarme de cosas que no veo en estas listas privadas.

He observado que podría automatizar el flujo de entrada y salida de contactos en las listas que he creado, para ello necesitaría crear un sistema que en base a ciertos patrones me sugiriese qué usuarios debo dejar de seguir en mis listas y cuales debo agregar.

Existen herramientas como http://www.muuter.com/ (gracias César por la recomendación), que permiten silenciar actualizaciones que contengan palabras que no quiero leer. Esto no me termina de convencer, ya que es posible que no me moleste que puntualmente un contacto diga “goool” (no me gusta el fútbol), o que mencione lo bueno que es su trabajo como SEO/socialmedia (bueno quizá en estos casos si que me vería tentado a dejar de seguirle :)

El sistema que propongo se basaría principalmente en lo contrario, es decir sería un sistema de recomendación basado principalmente en listas blancas.

De entrada se me ocurren los siguientes requisitos:

  • Dado que el sistema no me podría dar la información nada más registrarme, debería guardar mis contactos en su base de datos y evaluar sus updates cada cierto tiempo para compararlos a los criterios que he especificado en mis listas blancas y negras. Cada semana me podría sugerir nuevos cambios en mis listas privadas es decir, si debo agregar o quitar a alguien de las mismas.
  • Ya que la aplicación seguiría updates de mis contactos, y de los contactos de los demás usuarios, no estaría mal que me recomendase contactos que no esté siguiendo actualmente.
  • La aplicación analizaría mis propios updates, extrayendo las palabras que más repito usando estas como un criterio para distinguir una posible afinidad con respecto a otros usuarios. Podría tomar dichas palabras como criterios para una lista blanca y las que estén tageadas (es decir con #) en un update con la etiqueta #ironic en una lista negra.
  • La aplicación me permitiría poner una serie de filtros basados en expresiones regulares. Las expresiones regulares, aunque son difíciles para un usuario normal, permiten una mayor precisión de filtrado, que es lo que más me interesa. Gracias a ellas podría filtrar mucho más fácilmente usuarios que les guste el fútbol, hagan retweets sin aportar nada sobre temas que no quiero seguir o al revés, el sexo del contacto en base a las terminaciones sintácticas de ciertas palabras e infinidad de filtros mucho más flexibles que pudiese tener con simples palabras clave o la api del propio twitter. Estos filtros podría aplicarlos tanto en listas blancas como en listas negras.
  • Para dar más precisión a las listas blancas, la aplicación me permitiría especificar palabras clave y otros criterios más típicos en una aplicación de este tipo.

El algoritmo que evalúe qué contactos de twitter deben estar en las listas que sigo o cuales no, deberá calcular estas prioridades según los criterios descritos anteriormente y su recurrencia en los updates de estos usuarios. Es decir, si un usuario tiene muchos updates seguidos con criterios en una lista negra, se irá antes de mi bandeja de entrada que un usuario que tenga los mismos updates pero en intervalos de tiempo más largos y con otros updates de por medio que sí me interesen.

Pienso que podría ser una aplicación muy útil, si tenéis alguna sugerencia u os parece una tontería, dejad comentario.

Domo-kun and devil ducks

Siempre es interesante ver otros puntos de vista y aportaciones :)

3 comentarios en “Idea: sistema de recomendación de contactos en Twitter”

  1. No voy a evaluar si la idea es buena o no. Veo que no has tocado el tema de monetización o cómo obtener beneficios con esa aplicación, donde no me voy a meter. Pero yo voy a tratar el tema de los costes.

    Imaginemos que ya has desarrollado la aplicación y que cada usuario que se registra de media sigue a 50 personas en Twitter y envía 15 tweets al día. Tirando de calculadora me salen los siguientes números:

    50 seguidores x 15 tweets al día = 750 tweets al día que mi sistema debe analizar para cada usuario que esté registrado en mi aplicación.

    Supongamos que lanzo la aplicación y consigo tener 1.000 usuarios. Eso implica analizar 750.000 tweets al día para ofrecer el sistema de recomendación que propones. ¿Has evaluado el coste de procesamiento que debe tener éso?

    Si el sistema de recomendaciones de Twitter es malo, me imagino que por algo será.

  2. Hola,

    El problema no es la cantidad de actualizaciones a procesar, sino la cantidad de llamadas al api de twitter. Lidiar con los límites de la api sería el auténtico reto de la aplicación, he indicado en la descripción de la idea que los cambios en las listas se efectúen cada semana, no cada día.
    Pero aun cada semana, cuanto más éxito tenga la aplicación, se necesitarán más ips desde las que se hagan consultas a la api y que twitter no te meta en lista negra. El procesamiento al principio no creo que sea un problema relevante en este escenario.

    Sobre el rendimiento económico, no lo he desarrollado precisamente porque no lo veo rentable y tiene una dependencia total de twitter.
    Lo único que desde mi punto de vista se puede hacer es que los usuarios puedan pagar por el servicio. Podría ser una herramienta muy potente para gente de recursos humanos o de marketing o personas que quieran quitarse ruido de twitter.

    ¿Cuánto cobrar? Eso ya requiere una labor de marketing decente y unos números de costes mínimos que no he realizado.

    Un saludo!

  3. Hola Asier.

    Yo dejo un comentario no anónimo. Para mi este tipo de proyectos que tratan de explotar información o servicios que ya existen son siempre interesantes por dos motivos.

    a) Siempre se aprende cuando se innova.
    b) Puede darte la suficiente visibilidad, como para que una empresa importante o un inversor se fije en tí.

    En cuanto a monetizarlo, no tiene sentido ni plantearselo de salida. Si algún dia se puede explotar, ya se vera.

    En cuanto a la escalabilidad un poco de lo mismo.

    Suerte.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *