The project uses data of customer reviews and ratings of restaurants in Bangalore (listed on Zomato), to make a model that could predict correct sentiment from a review.
Preprocessing: Data Preprocessing for Sentiment Analysis on Zomato Reviews
Network Design and Training: Sentiment Analysis on Zomato Reviews
Reviews are related with almost every brand product or service. Sometimes it becomes necessary for a business to know how a product is being recognized by their customer. Thus, sentiment analysis which classifies text to a particular sentiment comes to help in identifying the sentiment associated with customer description of a product or service.
We divide the task for this project into:
- Preprocessing: Extract the raw text from the source, and make necessary transformation and tuning to turn it to a form which works well for our model.
- Network Architecture and Training: Design our network and set up training methods which helps in building a robust sentiment analysis model.
- The Zomato dataset has 51717 instances of 17 features/columns. Out of these, only one is numeric type.
- The corpus obtained after Preprocessing has pairs of 133896 ratings and reviews.
Preprocessing:
-
Review-Rating extraction from source data
-
Textual Noise removal
-
Text Normalization
-
Lemmatization
-
Lower frequency word removal
-
Data balancing
Network Design and Training:
-
Model Design (BiLSTM)
-
Set up Training for Model
-
Implement Batching
-
Use Pre-trained embedding(glove) to the model
-
Train and Evaluate model
Network Design and Training Notebook
- Pytorch
- pandas
- matplotlib
- numpy
- scikit learn
- nltk
The source data belongs to Zomato Ltd. and is extracted by Himanshu Poddar. Please give necessary credits if you are using the data.