Natural Language Processing is one of the growing domains for research and development. Loads of theories and applications are being made from the basic concepts of Natural Langauge Processing. One of the derivatives or sub-domains is Sentiment and Emotion Analysis.
Our project was given as a part of academic learning. We had a subject Artificial Intelligence which had these concepts. We had to implement the whole Natural Language Processing life cycle. A data was provided to us by our faculty teacher. I along with my fellow colleagues had to create a back-end for an application. This back-end will take in data maybe in text format i.e. sequential data, and predict the sentiment & emotion behind that textual data.
This then would be used in an application which will put out output in the form of a graphical user interface.
There were many valuable lessons learnt from this project.
- Firstly, never perform heavy computation on a laptop that does not support. I myself have had this experience.
- Secondly, LSTM, Bi-LSTM, GRU and Bi-GRU can work well on data which is balanced. Imbalanced dataset is a problem.
- Lastly, ultimately learn how to implement the back-end and front-end by implementing both together rather than working differently all the time.
Back-End: Python, Google Colaboratory Notebook
Exploratory Data Analysis: NumPy, Pandas
Data Visualizations: Matplotlib, Seaborn
Data Preprocessing: re, string, nltk
Model Building & machine learning: sklearn
Deep Learning Libraries: TensorFlow, Keras
Computational Power: NVIDIA CUDA