GithubHelp home page GithubHelp logo

resilientools's Introduction

RESILIENTools

Instruções de uso

Motivação

Este ferramental foi criado pra coletar e rotular tweets relacionados a desastres naturais de maneira a dar um ponto adicional de análise para a tese de doutorado "título da tese", de Rodolfo Strauss Nunes. O objetivo foi automatizar a coleta de posts que pudessem ter relação com os desastres buscados para extrair dados que possibilitassem a análise da resiliência de diferentes municípios a destres naturais.

Coleta de dados

Para a coleta inicial dos dados, fui utilizada a ferramenta Twint, criada para facilitar a extração de dados brutos do twitter sem depender da API disponibilizada pela rede social (e sofrer bloqueios pela limitação de requisições permitidas). Com base nela, foi criado um script (query.sh) em bash para fazer chamadas à ferramenta passando parâmetros como a data do desastre, sua localidade e as palavras-chave a serem buscadas.

Após a execução da coleta, os posts ficam separados em pastas, com o nome da cidade, com arquivos JSON, nomeados com as datas dos desastres buscados, contendo todos os resultados encontrados para cada uma das palavras-chave no período do desastre.

Para melhor exemplificar a representação dos dados, o seguinte tweet

Tweet do Diário Catarinense

gera este objeto JSON

{
  "id": 1061713294,
  "conversation_id": "1061713294",
  "created_at": 1229471469000,
  "date": "2008-12-16",
  "time": "21:51:09",
  "timezone": "-03",
  "user_id": 13642662,
  "username": "dconline",
  "name": "Diário Catarinense",
  "place": "",
  "tweet": "câmara dos deputados aprova créditos para socorro às vítimas da enchente  http://tinyurl.com/578ao9",
  "mentions": [],
  "urls": [],
  "photos": [],
  "replies_count": 0,
  "retweets_count": 0,
  "likes_count": 0,
  "hashtags": [],
  "cashtags": [],
  "link": "https://twitter.com/dconline/status/1061713294",
  "retweet": false,
  "quote_url": "",
  "video": 0,
  "near": "",
  "geo": "",
  "source": "",
  "user_rt_id": "",
  "user_rt": "",
  "retweet_id": "",
  "reply_to": [
    {
      "user_id": "13642662",
      "username": "dconline"
    }
  ],
  "retweet_date": "",
  "translate": "",
  "trans_src": "",
  "trans_dest": ""
}

Rotulamento dos posts

Para possibilitar o tratamento posterior dos posts a serem analisados, os posts recebem um novo campo de dados (palavras_chave) contendo os termos buscados presentes naquela postagem específica ao serem processados pelo programa auto_rotulador.py. Também pode se perguntar ao operador se o post é relevante ao estudo, de forma a reduzir o tamanho do conjunto de dados, e realizar uma revisão manual das tags aplicadas. Estas funções são tratadas pelo programa rotulador_simples.py.

Além disso, a ferramenta rotulador.py permite definir perguntas (contidas no arquivo perguntas.json) a serem respondidas por um operador humano capaz de interpretar o post, com suas possíveis imagens e links, de forma a criar campos personalizados e rótulos resposta. Infelizmente, devido ao grande volume de dados coletados, não foi viável realizar em tempo hábil esta forma de rotulamento para o estudo em questão.

Interface

Versão mais completa do rotulador

Versão mais completa do rotulador

resilientools's People

Contributors

sp0oks avatar whoisroot avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.