Sobre o Projeto

Dados

As bases de dados utilizadas foram SIRENE-news e Fake.br-Corpus.

Agregação de dados

Com o script get_data.py os dados são agregados em um dataframe no pandas, com classificações true ou false e um arquivo csv é criado.

Modelo

Um modelo é criado e descrito nesse notebook. É utilizado uma vetorização Tf–idf nos textos das notícias e um modelo LightGBM. Os hiperparâmetros são tunados utilizando o scikit-optimize utilizando a função desse tutorial (muito bom!) do Mario Filho.

Os modelos de vetorização e de machinelearning foram salvos em arquivos .pkl utilizando a biblioteca Joblib.

API

Uma API foi criada utilizando Flask no Heroku. A API recebe um request em Json no formato {url: url_da_noticia} e retorna um Json no formato:

{results: 
        {resultado: (true/fake)
        , probabilidade: (float)
        }

O resultado indica se a notícia foi considerada verdadeira ou falsa para o modelo e probabilidade é a probabilidade de que a notícia seja falsa.

A api pode ser acessada no endereço https://detector-fake-news.herokuapp.com/, que retorna resultados através de requests de aplicativos.

Página

Foi criada uma página que recebe uma URL de notícia e envia à API, recebendo seu resultado e enviando apresentando de forma mais amigável utilizando JavaScript.