Sentiment Analysis is the method of 'computationally' defining if a piece of writing is positive, negative or neutral. It’s also known as opinion mining, deriving the opinion of a presenter.
-
Business: In marketing field companies use it to develop their strategies, to understand customers’ feelings towards products or brand, how people respond to their campaigns or product launches and why consumers don’t buy some products.
-
Politics: In political field, it is used to keep track of political view, to detect consistency and inconsistency between statements and actions at the government level. It can be used to predict election results as well!
-
Public Actions: Sentiment analysis also is used to monitor and analyse social phenomena, for the spotting of potentially dangerous situations and determining the general mood of the blogosphere. Currently COVID19 is the hottest topic.
While working on this challenge, you will gain the following skills (and hopefully be curious to learn more).
- Finding information from the web about the machine learning and text analytics. Good source of information such as Kaggle, Stackoveflow, Medium, etc.
- What is text analysis and why it is useful?
- What is NLP and why it is in so demand?
- Learn to use basic built-in features available in Python Packages, for example to processing text in natural language.
- Thinking about what functionalities do APIs provide.
- Using Google Colab for programming in Python.
- Training a basic machine learning model.
- Testing your machine learning model on the real-time tweets.
- Thinking about additional features you would like to have (for example, making the sentiment analysis more interactive, maybe make the prediction more meaningful by presenting percentages or ratio) or creating a dashboard.
- Working as a team, allocating tasks to team members, monitoring progress, taking actions if things don’t work as expected
- Presenting your work to an audience
The hope is that some of these skills are quite general and may apply to any other task/project you undertake in the future. Of course, don’t worry if you get stuck- you can always speak to your team mentor or contact Dr Haider Raza (h.raza@essex.ac.uk) for suggestions.
-
For this challenge you will be working in groups of 6. You will need to come up with the design, discussing and working together as a team. Also, you will need to allocate tasks to team members (who will do what, when, how), monitor progress, take actions if something does not work as expected and so on. It is all about team management and working in a team.
-
In general, every team member is expected to put around 20 hours of work.
-
And don’t forget to shoot videos, take pictures (both for your presentation and the 10 seconds a day video)
-
I would suggest using Google Colab. Colaboratory is a Google research project created to help disseminate machine learning education and research. It's a Jupyter notebook environment that requires no setup to use and runs entirely in the cloud. You are only required to have a google account.
Following are the suggested steps that you need to follow before you can scrape tweets from Twitter:
Step 1: First see what is Twitter
Step 2: Create a Twitter Account and Twitter developer account to get your API keys and tokens. Step by step guide is available here Click me
Step 3: If you have a diffculty in reading and understanding Step 2, please see this Video about how to create and get API keys and tokens.
-
Use Google Colab for Python Programming. Links for help about using Colab Link 1, Link 2, and Link 3.
-
Search which libraries to use for Twitter Sentiment Analysis Example: Tweepy, NLTK,….
Follow a few suggestions as given below:
- Find tutorials on web with the keyword “Twitter Sentiment Analysis”
- See what Python Packages are available and how you can use them in your product.
- How each package is different from others and how you can use them to make your product best in the market.
- Now go to section 5: Thinking/Designing Twitter Sentiment Analysis System on paper. Make sure you have Twitter Developer APIs key before going to Section 5.
Once you become familiar with the building blocks, how to trigger them you need to start thinking about the overall design of your Twitter Sentiment Analysis-
- What building blocks are needed?
- How to connect them?
- What parameters need to be passed?
- How will the demo look like?
- Any additional features you can think of?
- Come up with a block diagram in the paper?
First basic Twitter Sentiment Analysis model for your help. Please use this as a base model to develop more advanced model and try to improve the performance of the model.
-
A lot of students gets confused about what does it mean by improving the model. To read more, please click me an article from analyticsvidhya.com.
-
3 Building Blocks of Machine Learning you Should Know as a Data Scientist. To read more, please click me
Make sure that you test individual subsystems separately before you test the full system- it always helps when you are designing a complex system, makes debugging easier. When you are ready to test on the real time tweets, contact the GLA or Dr Raza if you need any help.
In addition to the basic Twitter Sentiment Analysis, you may think of other features that will make your demo more impressive, such as
- Make Sentiment Analysis working on current issues such COVID19 or any other live news topic such as US Elections.
- Give an alert when the sentiments of population change during any activity such as Football match.
- Any other novel ideas are most welcome.