Skip to content
This repository has been archived by the owner on Nov 7, 2024. It is now read-only.
/ sara_public Public archive

Sara - Framework de Análise de Dados de Redes Sociais Online

License

Notifications You must be signed in to change notification settings

LabmicUFSJ/sara_public

Repository files navigation

SARA

! Projeto Arquivado

experimental version labmic Build Python Package Tests and Linter Coverage

A SARA é um framework semi-automatizado para coleta e análise de dados de redes sociais online (RSO), utilizando redes complexas, aprendizagem de máquina e mineração de texto.

Desenvolvido no Laboratório de Modelagem Computacional e Inteligência Computacional (LABMIC) da Universidade Federal de São João del-Rei (UFSJ)

Estado : Em desenvolvimento / Experimental

Site : https://labmicufsj.github.io/sara_public/

Guias

Grafo dependencias

Instalação

Crie um ambiente virtual com o comando a seguir:

python3.8 -m venv <nome_ambiente>

Agora ative o ambiente virtual

source <nome_ambiente>/bin/activate

Após a criação e ativação do ambient execute:

pip install --upgrade wheel setuptools pip

Instalando com Wheel

Método de instalação recomendado

python setup.py bdist_wheel && pip install --force-reinstall dist/*.whl

Instale utilizando setup.py

python3 setup.py install

Pós-instalação

Após a instalação pode ser necessário realizar o download de alguns recursos da biblioteca NLTK:

python -m nltk.downloader punkt
python -m nltk.downloader stopwords

Você também pode instalar os recursos do NLTK executando o script nltk.

Um segundo passo após a instalação é a atualização das credências de acesso:

credentials - Credênciais do Twitter

Como terceiro passo a instalação do modelo utilizado no pré-processamento:

pip install https://github.com/explosion/spacy-models/releases/download/pt_core_news_sm-3.4.0/pt_core_news_sm-3.4.0.tar.gz

Módulos

Coletor

O módulo de coleta utiliza a API do Twitter.

Scripts associados:

Core:

Os dados coletados são salvos em um banco de dados não relacional (MongoDB).

Exemplo

Exemplo de como criar um script para coleta e armazenamento de dados:

from sara.core.collector import SaraCollector
from sara.core.sara_data import SaraData


database = "brasileirao"
colecao = "futebol"
termo = "cruzeiro"
limite_coleta = 0
storage = SaraData(colecao, database)
data_collector = SaraCollector(storage)
data_collector.real_time_collector(termo, limite_coleta)

Geração da Rede

A geração da rede é realizada utilizando o módulo network_generators.

Scripts:

A rede gerada é salva no diretório redes/.

Core:

Análise de Centralidade

O framework identifica os vértices de maior importância de acordo com as seguintes métricas de centralidade:

  • Betweenness, PageRank, Degree

A detecção de centralidade é realizada por meio da utilização do script:

Script:

Core:

O resultado deste script é salvo no diretório resultados_importancia/.

Detecção de Comunidades

A detecção de comunidades neste framework é realizada utilizando o módulo de overlap e o algoritmo de Louvain.

Esta ferramenta procura encontrar ego-comunidades formada em torno de determinados usuários.

  • Detecção de comunidades sobrepostas - Utilize o resultado da centralidade ou outra sequência de importância para detecção de comunidades.

Modulo associado

Análise de conteúdo

A análise de conteúdo presente nos tweets é realizada por meio de modelagem de tópicos, distribuição inversa de frequência e nuvem de palavras.

Script:

  • sara_content: Responsável pela geração da nuvem de palavras.

Core:

Scripts

O diretório scripts contém uma série de scripts construídos utilizando o SARA. O SARA pode ser modificado e expandido.

Detecção de contas automatizadas

  • SaraBotTagger

Testes

Este projeto possui testes unitários implementados, podendo ser executados com o seguinte comando:

python setup.py pytest

Requerimentos

Testado em ambientes Ubuntu, CentOS 7

Apoio

Este trabalho foi desenvolvido com apoio financeiro das seguintes agências de fomento e universidade:

  • Capes
  • CNPq
  • FAPEMIG
  • UFSJ

Orientador

  • Orientador: Vinícius da Fonseca Vieira
  • Coorientadora: Carolina Ribeiro Xavier

Agradecimentos e Pesquisadores envolvidos

  • Lucas Félix
  • Antônio Pedro Santos Alves

Artigos associados

Trabalhos relacionados a esta pesquisa que foram publicados em conferências:

About

Sara - Framework de Análise de Dados de Redes Sociais Online

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published