项目作者: sampathkethineedi

项目描述 :
Topic Based Sentiment Detection using BERT
高级语言: Python
项目地址: git://github.com/sampathkethineedi/bert-topic-sentiment.git
创建时间: 2020-07-29T16:22:25Z
项目社区:https://github.com/sampathkethineedi/bert-topic-sentiment

开源协议:GNU General Public License v3.0

下载


Topic Based Sentiment Detection using BERT

alt text

Jump to this document to understand the data, approach and further improvements

Stack

  • transformers
  • torch
  • streamlit
  • fastapi
  • pandas

Setup

  • Clone the repo
  • Install requirements: conda create --name topicsentiment --file requirements.txt or pip install -r requirements.txt in your env
  • Download pre-trained model files here
  • Copy the files to model_dir in config

Running the demo

  • Run uvicorn prediction_api:app
  • Run streamlit run st_app.py
  • Go to http://localhost:8501/

Training

Pandas and Torch dataset classes in topicsentiment/dataset.py

Model Class and Trainer Class in topicsentiment/model.py

Jump to topicsentiment for detailed info

Configuration in config.py

Run python train.py --data sentisum-evaluation-dataset.csv for full pipeline - preprocess and train

Run python train.py --data sentisum-evaluation-dataset.csv --preprocess saves the preprocessed dataset to model_dir in config

Run python train.py --data final_data.pkl --train trains the preprocessed dataset

Prediction API

Built using FastAPI

Code in prediction_api.py

Run uvicorn prediction_api:app

Swagger Docs at http://127.0.0.1:8000/docs

Streamlit Interface

Simple Interface built using streamlit

Code in st_app.py

Run streamlit run st_app.py

App at http://localhost:8501/

Planned Additions

  • Alternative approaches
  • Notebook for data exploration
  • Docker image