Git Product home page Git Product logo

bert-topic-sentiment's Introduction

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

bert-topic-sentiment's People

Contributors

dependabot[bot] avatar sampathkethineedi 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.