Este repositório faz parte do projeto de ACH2018, funcionando em conjunto com o review-automation-scripts e python-webhook. Aqui estão os códigos utilizados para o machine learing, também estão as funções que criaram alguns dos gráficos usados.
- Postgres >= 10.14
- Python >= 3.7
Bibliotecas
- Scikit-learn
- NLTK
- WordCloud
- psycopg2 == 2.8.6
- Unicode == 1.1.1 (Se for usar o pip, existe unicode e Unicode, escolha o último)
- SO: Ubuntu 18.04.5 LTS
- Memória: 8 GB
- Processador: Intel i5
-
A primeira coisa a fazer é criar um 'database' chamado 'reviews-classifier'. Então criar as tabelas do reviews_data.sql.
-
É possível começar o treino de máquina com os reviews do Kaggle. No README da pasta csv estão as fonte dos três bancos de dados usado. É só baixar e colocar os arquivos nas pastas correspondentes. São arquivos grandes, por essa razão, a inserção pode demorar bastante.
-
Se você for utilizar os datasets do item 2, então execute os códigos: google_apps_reader.py, python3 google_apps_extended_reader.py, python3 android_app_dataset_reader.py. É só "descomentar" no run.
-
Ainda no run, preencha as variáveis do Postgres com as informações da sua máquina!
-
Com o dataset já carregados no bd, agora é só executar o unsupervised.py ou supervised.py, para obter os resultados. Execute-os, assim como os códigos do item 3, pelo run, que carregará as variáveis. Exemplo:
$ bash run
ou
$ chmod +x run
$ ./run
Observação: é importante destacar que independente de utilizar ou não os dataset do Kaggle, os dados do bd estarão "crus", isto é, não terão sido avaliados por humanos! É preciso utilizar o python-webhook para classificar manualmente para fornecer dados para o treino da máquina! Caso queira testar com alguns dados já classificados, mais especificamente com os que serviram de base para a monografia, baixe o dump da seção abaixo e utilize o comando de carregar no postgres, dentro do database 'reviews-classifier'. Deve ficar mais ou menos assim:
psql -h hostname -d databasename -U username -f reviews_classifier_dump.sql
Após algum tempo, a classificação manual dos reviews foi encerrada e então foram feitos o cálculos apresentados na monografia. Para que os testes possam ser repetidos, foi feito um dump do db. O link está abaixo.