2011-12-05 15 views
21

Tuve una buena idea para implementar. Lo llamo¿Cómo analizar los mensajes de twitters? (mejorando mi algoritmo)

FixTheUnFixed

La idea es la siguiente, imagine que usted está conduciendo o viajando por todo el mundo y cuando vea algún obstáculo o daños - roto luz, basura que cubren toda la calle o cualquier otro problema que desee que la autoridad responsable lo solucione.

todo lo que tienes que hacer es tuitear algo así, y puedes agregar una foto y, por supuesto, la ubicación, utilizando el servicio heredado de ubicación de las aplicaciones de Twitter o Facebook.

Tweet como esta:

@FixTheUnFixed there is a broken fire hydrant here 
@FixTheUnFixed my cellular company charged me 18,572$ 
    for using my iPhone aboard. 

pensé mucho acerca de cómo obtener el procesamiento de los mensajes. la mayoría de los problemas que surgirán son preocupaciones del municipio y me gustaría obtener la ubicación y re-twittear al municipio correspondiente o enviarles un correo electrónico.

mis dos ideas para obtener esta dirección son por google (con google API).

el algoritmo seudo es:

1. get the location the Twitter's or Facebook's status sent from. 
2. look for key words such as trash, cats, animals etc. 
3. finding the relevant authority e-mail , twitter or Facebook account. 
4. send the message to the authority account and re-tweet it to the public 
    world so they can follow if there is any change. 
  • En 3. @ algo ¿hay alguna manera inteligente para ponerlo en práctica?
  • No quiero enviar correos no deseados a las autoridades y tampoco publicar spam de personas furtivas.
  • ¿Cómo puedo mejorar el algoritmo anterior?
  • ¿Cómo puedo buscar los recursos de comunicación de las autoridades de relvent ?
+0

Bueno, no recomendaría que compartas ideas en esos lugares o que tus ideas cobren vida en otros sitios web. – Tarik

+1

Una gran idea, de verdad. Creo que algo como el patrón observador/oyente podría funcionar. Por lo tanto, diferentes autoridades ('registradas') podrían suscribirse a palabras clave. En cuanto a la prevención de enfrentamientos, podría implementar algún tipo de 'subasta' de palabras clave. Claro, eso es solo un comentario de adivinanza. –

+4

@Braveyard El éxito proviene de una gran implementación, no de buenas ideas – rds

Respuesta

0

Creo que lo correcto es utilizar la biblioteca existente NLP como Stanford nlp library.

, que incluye:

  • Stanford CoreNLP
  • Stanford Analizador
  • Stanford clasificador

Como alternativa, puede utilizar opennlp o nltk. Si el marco NLP está en java y desea usar python o ruby ​​como OP deseado, marque jruby y jython.

8

Mi sugerencia es comenzar utilizando Amazon Mechanical Turk - pague a las personas reales una pequeña tarifa por cada tweet que procesen. Tendrían que determinar si era correo no deseado o no, entonces, si fuera legítimo, buscarían la información de contacto del municipio correcta. Mientras tanto, reúna estadísticas detalladas sobre cada tweet que se procesa, desde el cual puede construir una base de datos. Por ejemplo, podría ver que todos los tweets que contienen "Basura" y "Chicago" generan una respuesta con un cierto número de teléfono. Una vez que haya obtenido suficientes datos, puede usarlos para automatizar los tweets entrantes comunes/bien especificados y, a partir de ahí, ir construyendo gradualmente, refinando constantemente sus asociaciones de datos & utilizando la investigación realizada por los trabajadores de Turk.

También sugeriría implementar únicamente el servicio para áreas limitadas para comenzar, por ejemplo, Nueva York o Londres. (O la ciudad más grande cerca de donde sea que esté) De esa manera, la información necesaria para comenzar es mucho más pequeña.

+0

@ J.F. Sebastian - Sí, exactamente, gracias por ponerlo tan claro y vincularlo a esa biblioteca. – mongiesama

+0

Mejor aún, en cambio el uso de la base de datos de Turk más los datos de tweets (ubicación, palabras clave, etc.) para capacitar a Neural Network para hacer predicciones para futuros tweets. Si todo va bien, usarás cada vez menos turco con el paso del tiempo. – maximdim

4

Como un primer paso hacia su solución, sugeriría enchufar la latitud/longitud en SimpleGeo (tienen una biblioteca IOS): http://simplegeo.com

Usando algo como "Encuentra los límites que rodean una ubicación", podría recuperar la información sobre el condado, el municipio, el distrito legislativo, etc.que podría dar apoyo a los metadatos, así como un par de puntos de venta para excavar en busca de información de contacto:

https://simplegeo.com/docs/api-endpoints/simplegeo-context#find-boundaries-surrounding-location

Por ejemplo, estoy seguro de que podría convertir el distrito legislativo en la dirección de correo electrónico de un miembro del Congreso a través un sitio web/API disponible públicamente ¿Quizás envíe a su oficina un correo electrónico por lotes quincenal o mensual de todos los asuntos reportados en su distrito y presione a los funcionarios electos para que promulguen el cambio apropiado?

Otra opción podría ser mostrar su base de datos de problemas informados en un sitio web disponible públicamente y recopilar la información de contacto adecuada a través de crowdsourcing. Permita que los miembros del sitio web agreguen/actualicen direcciones de correo electrónico que se pueden usar para los problemas y problemas informados actualmente que puede recibir para la misma ubicación en el futuro.

2

ifttt.com podría ser usado para esto? es un servicio para automatizar una acción según sus criterios personalizados.

tal vez podría conectar con ellos?

Cuestiones relacionadas