Titre : | Sentiment Analysis Machine Learning & Deep Learning based approach |
Auteurs : | Salah eddine Nacer, Auteur ; Belkacem Abdelli, Directeur de thèse |
Type de document : | Monographie imprimée |
Editeur : | Biskra [Algérie] : Faculté des Sciences Exactes et des Sciences de la Nature et de la Vie, Université Mohamed Khider, 2020 |
Format : | 1 vol. (65 p.) / ill. / 29 cm |
Langues: | Anglais |
Mots-clés: | Sentiment Analysis,Recurrent neural networks,Natural language processing,Deep learning,Machine learning. |
Résumé : | With the huge amount of data being generated since the emergence of technology and the appearance and growth of social networks. the need to analysis this large scale data has became a necessity for different types of businesses, as getting feedback or opinions from customers will make a hug impact in improving products.Many researches in the fields of AI and NLP has been done, and techniques like SVM,decision trees and recurrent neural networks were implemented, all of these techniques gave different accuracy results according to how they were implemented and what type of data was used.In this work we have tried to implement different techniques based on machine learning and deep learning specifically Recurrent neural network and Long short term memory , and comparing it also to svm technique to see the improvment acheived wth lstm, all of this was analyze English reviews provided by different users for multiple consumable products like mobiles and cinema products like movies,and eventually extract relevant sentiments with maximum accuracy. |
Sommaire : |
1 Introduction 1
1.1 Key Insights on sentiment analysis . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Problems and research challenges . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Structure of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Sentiment Analysis and Natural Language Processing 5 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Natural Language Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.1 Overview on NLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.2 Applications of NLP . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Sentiment Analysis and Opinion Mining . . . . . . . . . . . . . . . . . . . . . 8 2.3.1 Sentiments and emotions . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.2 Opinions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.3 Different Types of Opinions . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.3.1 Regular and Comparative Opinions . . . . . . . . . . . . . . 9 2.3.3.2 Explicit and Implicit Opinions . . . . . . . . . . . . . . . . . 10 2.3.4 Sentiment analysis vs Opinion Mining . . . . . . . . . . . . . . . . . . 10 2.4 Sentiment analysis levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.1 Document level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.2 Sentence level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.4.3 Entity and Aspect level . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.5 Sentiment analysis applications . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.6 Sentiment analysis approaches . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.6.1 Machine Learning approach . . . . . . . . . . . . . . . . . . . . . . . 13 2.6.1.1 Supervised . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.6.2 Lexicon-Based approach . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.6.2.1 Dictionary based approach . . . . . . . . . . . . . . . . . . . 15 2.6.2.2 Corpus based approach . . . . . . . . . . . . . . . . . . . . . 15 2.6.3 Hybrid approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.6.4 Summarization of different SA techniques . . . . . . . . . . . . . . . . 15 2.7 Sentiment analysis Related Work . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3 Machine Learning and Deep Learning classification algorithms 19 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2 Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.2 Machine Learning Classification Algorithms . . . . . . . . . . . . . . . 21 3.2.2.1 Support Vector Machine . . . . . . . . . . . . . . . . . . . . 21 3.2.2.2 Logistic Regression . . . . . . . . . . . . . . . . . . . . . . 23 3.2.2.3 Decision Tree . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.2.2.4 Naive Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2.2.5 KNN (k-Nearest Neighbors) . . . . . . . . . . . . . . . . . . 27 3.3 Deep Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.2 Feed-forward neural networks . . . . . . . . . . . . . . . . . . . . . . 30 3.3.3 Recurrent neural networks . . . . . . . . . . . . . . . . . . . . . . . . 31 3.3.3.1 Long short-term memory . . . . . . . . . . . . . . . . . . . . 33 3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4 System Design 35 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.2 General System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.3 Detailed System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.3.2 Data Collection/Gathering . . . . . . . . . . . . . . . . . . . . . . . . 37 4.3.3 Data Preprocessing and preparing . . . . . . . . . . . . . . . . . . . . 38 4.3.4 Training the Machine Learning Classifier and Building The model . . . 42 4.3.5 Visualization of results and Implementation . . . . . . . . . . . . . . . 43 4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5 System Implementation 45 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.2 Work Environment and Development Tools . . . . . . . . . . . . . . . . . . . 46 5.2.1 programming languages . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.2.1.1 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.2.1.2 Javascript . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.2.2 Machine learning kit . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.2.2.1 Tensorflow . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.2.2.2 Keras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.2.2.3 Gensim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.2.2.4 NumPy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.2.2.5 NLTK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.2.2.6 Matplotlib . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.2.3 Frameworks and tools . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.2.3.1 Flask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.2.3.2 Google Colaboratory . . . . . . . . . . . . . . . . . . . . . . 49 5.3 Preparing collected data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.3.1 Preprocessing data: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.3.2 Merging data: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.3.3 Combined Dataset stats: . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.3.4 Splitting Dataset: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.4 Sentiment analysis in SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.4.1 Feature Extraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.4.2 Training model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.4.3 Model evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.5 Sentiment analysis in RNN-LSTM . . . . . . . . . . . . . . . . . . . . . . . . 54 5.5.1 Vectoring data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.5.2 Building and Training RNN-LSTM model . . . . . . . . . . . . . . . . 56 5.5.3 Model evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.6 Result Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.7 Implementation and deployment . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.7.1 Exporting models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.7.2 Sentiment analysis web interface . . . . . . . . . . . . . . . . . . . . . 59 5.7.2.1 User interface preview . . . . . . . . . . . . . . . . . . . . . 59 5.7.2.2 User interface Detailed Explanation . . . . . . . . . . . . . . 60 5.7.2.3 A Simple Usage Scenario . . . . . . . . . . . . . . . . . . . 60 5.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 6 Conclusion and Future work 63 |
Type de document : | Mémoire master |
Disponibilité (1)
Cote | Support | Localisation | Statut |
---|---|---|---|
MINF/557 | Mémoire master | bibliothèque sciences exactes | Consultable |