Feelsbot is a machine learning experiment built using React, GraphQL and IBM Watson. Feelsbot can assess the average mood of any city based on the Tweets there, and can also assess the average mood of any Twitter user.
How Feelsbot Works
Feelsbot uses a machine learning model from IBM to analyze emotions in tweets. Using this algorithm, Feelsbot put tweets into five categories: joy, sadness, anger, fear, and disgust. This algorithm only works in English, so Feelsbot can only analyze tweets that are in English. Each tweet receives a confidence level of how strongly it matches one of those categories. Feelsbots puts tweets that have a confidence level higher than 65% into each category. Once the tweets have been categorized, the joy meter is calculated as the percentage joyful tweets versus every other emotion.
When using the map, Feelsbot uses Twitter’s API to fetch the last 100 tweets that are geotagged near the location entered. Often, there are not many recent geotagged tweets. When this happens Twitter fetches tweets of users whose profile locations are near the location entered into the map. When analyzing tweets by a specific Twitter account, Feelsbot fetches the last 150 tweets by that account. Twitter profiles need to be public for Feelsbot to work.