Very often, a company's biggest issues is the inability to grow and earn more revenue. By finding what consumers like and dislike about products and services, a company can gain valuable information about possible steps and paths for improvement in the future. Machine learning is one of the fastest growing skills to know, and implementing AI to automatically analyze the positives and negatives about a certain product or service they provide allows the company to grow faster. We decided to fast-track the guess work about if a consumer enjoys or detests a product by simply finding all relevant information on social media and analyzing their sentiments, as well as to provide an easy way for companies to analyze trends.
What it does
SocialSentiment is a webapp that utilizes Google Cloud's Natural Language API to quickly determine the sentiment of a social media post. Given a keyword it displays a graph that shows the distribution of posts along the sentiment magnitude. An average rating is calculated and displayed as an at-a-glance. The app was built for JetBlue but can be modified for a wider range of use.
How we built it
The front-end was built with the help of a template from Bootstrap and the back-end was developed with NodeJS, ExpressJS and Multer,. The main processing was performed by using Google Cloud\s Natural Language Processing. The data was visualized at the end using Charts.js. The webapp consists of two pages. One page allows for input of a keyword and a date range, and the next displays the summary of the data analyzed as well as a graph showing the distribution of ratings.
Challenges we ran into
Accomplishments that we're proud of
This project was two of the team member's first hackathon's and we successfully implemented our idea. There were a lot of challenges to overcome, and although it is incomplete, there was still a lot of stuff we learned and a lot of little cool things that we were able to make. One of the things we accomplished was taking the data from an API and generating the list of objects to analyze. Another was generating the graph from this information. One of the more major accomplishments was figuring out asynchronous code.
What we learned
What's next for SocialSentiment
What's next is cleaning up code, and adding more social media websites that can be scanned through. There are a lot of planned analysis features that didn't end up making it in, such as clicking bars on the graph to find a more detailed view of posts that fit that sentiment range, and sorting posts by both negative to positive sentiment or intensity of sentiment. There were also some planned search features that didn't make it in, such as varying the amount of samples to take. Another feature is to select which social media sites the user wants to browse. All these features would make the app easily scalable, which would be useful for a company like JetBlue to move into the future with.