ABSTRACT
The proposed system is a dynamic model of social media monitoring tool with sentiment analysis. Social media platforms contain a lot of data which might be considered ambiguous to businesses/organizations. Most organizations make use of social media platforms for advertisement as they reach a large crowd in a short period of time and are also more affordable compared to other options. Businesses find it difficult to have a clear vision/insight on how well their business has grown after each advertisement or product release. The aim of the project is to provide various relevant analysis including sentiment analysis on real-time data from social media platforms for specified keywords or social media accounts defined by registered users. Sentiment analysis is a process in which an algorithm is used to determine the emotion of texts i.e. positive, negative or neutral. Sentiment analysis helps businesses understand how their customers feel about their product. Businesses can also compare their products with their competitors to have a clearer insight on how their services are doing online compared to other businesses. This application was developed using the increment methodology and successfully produced the desirable results for the first iteration of the project. To accomplish this project Python language and PostgreSQL database are used. The end-result of the first iteration is focused on Twitter data. It performs all the requirements specified. At the end the application passed through different types of tests and the obtained accuracy was 98%. The application will continue with future enhancements and the other iterations.
TABLE OF CONTENTS
ABSTRACT vi
LIST OF TABLES IX
LIST OF FIGURES X
LIST OF ABBREVIATIONS XI
CHAPTER 1: INTRODUCTION 1
1.1 OVERVIEW 1
1.2 BACKGROUND AND MOTIVATION 1
1.3 STATEMENT OF THE PROBLEM 2
1.4 AIM AND OBJECTIVES 3
1.5 SIGNIFICANCE OF THE PROJECT 4
1.6 PROJECT RISKS ASSESSMENT 5
1.7 SCOPE/PROJECT ORGANIZATION 7
CHAPTER 2: LITERATURE REVIEW 8
2.1 INTRODUCTION 8
2.2 HISTORICAL OVERVIEW 8
2.3 RELATED WORK 9
2.4 SUMMARY 13
CHAPTER 3: REQUIREMENTS ANALYSIS AND DESIGN 14
3.1 OVERVIEW 14
3.2 PROPOSED METHODOLOGY 14
3.3 APPROACH TO CHOSEN METHODOLOGY/METHODS 19
3.4 TOOLS AND TECHNIQUES 21
3.5 ETHICAL CONSIDERATION 22
3.6 REQUIREMENT ANALYSIS 23
3.7 REQUIREMENTS SPECIFICATIONS 24
3.7.1 Functional Requirement Specifications 24
3.7.2 Non-Functional Requirement Specifications 26
3.8 SYSTEM DESIGN 26
3.8.1 Application Architecture 26
3.8.2 Use Case 27
3.8.3 Activity Diagrams 30
3.8.4 Data Flow Diagram 31
3.8.5 Entity-Relationship Diagram (ERD) 34
3.8.6 User Interface Design 35
3.9 Summary 39
CHAPTER 4: IMPLEMENTATION AND TESTING 40
4.1 OVERVIEW 40
4.2 MAIN FEATURES 40
4.3 IMPLEMENTATION PROBLEMS 43
4.4 OVERCOMING IMPLEMENTATION PROBLEMS 44
4.5 TESTING 44CH
viii
4.5.1 Tests Plans (for Unit Testing, Integration Testing, and System Testing) 45
4.5.2 Test Suite (for Unit Testing, Integration Testing, and System Testing) 46
4.5.3 Test Traceability Matrix (for Unit Testing, Integration Testing, and System Testing) 74
4.5.4 Test Report Summary (for Unit Testing, Integration Testing, and System Testing) 76
4.5.5 Error Reports and Corrections 76
4.6 USE GUIDE 77
4.7 SUMMARY 77
CHAPTER 5: DISCUSSION, CONCLUSION, AND RECOMMENDATIONS 78
5.1 OVERVIEW 78
5.2 OBJECTIVE ASSESSMENT 78
5.3 LIMITATIONS AND CHALLENGES 78
5.4 FUTURE ENHANCEMENTS 78
5.5 RECOMMENDATIONS 79
5.6 CONCLUSION 80
5.7 SUMMARY 80
REFERENCES 81
APPENDICES 83