Natural Language Processing (NLP) is the field that enables machines to understand, read, and gain insights from human language. NLP involves the automatic handling of human languages and is flourishing thanks to the availability of vast data and computational power. NLP has applications in healthcare, media, finance, human resources, and more. It continues to grow with each passing day.
The primary objective of this project is to understand basic text preprocessing and build a classification model using logistic regression.
The dataset contains over a thousand reviews about an application that is openly available to the public. The data includes reviews, sentiments (positive or negative), and various other variables.
- Language:
Python
- Libraries:
pandas
,seaborn
,matplotlib
,sklearn
,nltk
-
Data Description and Visualization
-
Introduction to the NLTK library
-
Data Preprocessing: a. Conversion to lowercase b. Tokenization c. Stopwords removal d. Punctuation removal e. Stemming
-
Bag of Words: a. Binary b. Non-binary c. N-grams
-
TF-IDF
-
Model Building and Accuracy
-
Predictions on New Reviews
-
Input: Contains the data used for analysis, including:
Canva_reviews.xlsx
-
Source: Contains modularized code for all the project steps, including:
model.py
processing.py
utils.py
These Python files contain functions used in the
Engine.py
file. -
Output: Contains pre-trained models and vectorizers required for the project, including:
- [List of pre-trained models and vectorizers]
-
config.py: Contains project configurations.
-
Engine.py: The main file to run the entire project, which trains the model and saves it in the output folder.