## Inspiration

It is a data-feeding world and we need to sift through data and get what we need and we could use. Sentiment and topic analysis are the tools that used for companies to collect and analyze the customer feedback in order for them to better understand the data trend and make associated plannings for improvement.

## What it does

The data we use is scraped online directly to ensure that the data we get are fresh and insightful. By running through about 5000 training examples, we are able to get the topic of each predicted answer very right with the help of machine learning and topic analysis. In doing so, we make full use the twitter API online to achieve the goal like data cleaning. In the end, we are able to visualize it to get a pie chart about the costumers' feedbacks on twitter and provide a clear results to the company. The graph is about the major reasons for the company's negative sentiments and how they are distributed through out the social media online.

## How I built it

First of all, we did research on how to do a sentiment analysis on customer feedback which leads us to data mining, pre-processing data, data classifying, and data analyzing.
For the data mining, we wanted to go for web-scraping the keywords from the website directly. However, we found out that Twitter has its own API for sentiment analysis and we requested for approval for twitter developers. Once we got the consumer key, we downloaded a dataset with customer feedback with the keyword, twitter ID, and its associated address and wrote the relevant ones into a new corpus file.
After we extracted the data with the input keyword, we started to clean the data by tokenizing and removing punctuations of the text.
After classifying the data using Naive Bayes classifier and then predict for the new dataset, we were able to get the labels (positive/negative/neutral) and get the accuracy result for the model.

## Challenges I ran into

For web-scraping, it was hard to filter the the meaningful data we need and convert from HTML format to CSV file. For the labels, in this case, we only introduce the sentiment label in the training which is classified into positive, negative, and neutral. It was difficult to create more labels/topics through the comments from each twitter ID.

## Accomplishments that I'm proud of

We are able to use topic and sentiment analysis to classify different topics. We classified it by airline time issues, costumers' baggage issues, costumers service issues. After having obtained the percentage of each of the component, we are bale to plot it down and have a better visualizaion about the results for the customers of our project.

## What I learned

We have learned that except for apply functions for web scraping, we could use APIs directly which solves a lot of hassles for us. By implementing machine learning algorithms and and topic and sentiment analysis, we get a better understanding of how machine learning is applied to the business planning and operations. Sentiment and topic analysis methods are something totally new to us and we had to learn from scratch off the algorithms and the applications.

## What's next for JetBlue Sentiment Analysis

We hope to create more labels such as year, season, time, region, country, etc. In doing so, we can have a more detailed and specific picture about how customers feel about this company or under which strategies that Jetblue has made, we can find out about the business trends.
## Inspiration

A common skill one needs in business management is the ability to know how the customer feels and reacts to a system of services provided by the business in question. Thus, having computers in this day and age make it an essential tool for analyzing these important sources of customer feedback. Automatically making a machine gather uncoerced customer "feedback" data can easily indicate how the last few interactions were for the customer. Making this tool accessible was our inspiration behind this project.

## What it does

This web application gathers data from Twitter, Reddit, Kayak, TripAdvisor and Influenster at the moment with room to expand into many more social review websites. The data it gathers from these websites are represented as graphs, ratios and other symbolic representations that help the user easily conclude how the company is perceived by its customers and even compare it to how customers perceive other airline companies as well.

## How we built it

We built it using languages and packages we were familiar with, along with packages we did not know existed before yHacks 2019. An extremely careful design process was laid out well before we started working on the implementation of the webApp and we believe that is the reason behind its simplicity for the user. We prioritized making the implementation as simple as possible such that any user can easily understand the observations of the data.

## Challenges we ran into

Importing and utilizing some packages did not play well with our implementation process, thus we had to make sure we covered our design checklist via working around the issues we ran into. This includes building data scrapers, data representers and other packages from scratch. This issue increasing became prominent the more we pressed on making the webApp user-friendly as more functions and code had to be shoveled in the back-end.

## Accomplishments that we're proud of

The data scrapers and representative models for collected data are accomplishments we're most proud of as they are simple yet extremely effective when it comes to analyzing customer feedback. In particular, getting data from giant resources of customer reactions such as TripAdvisor, Reddit and Twitter make the application highly relevant and effective. This practical idea and ease of access development we implemented for the user is what we are most proud of.

## What we learned

We learned a lot more about several of the infinite number of packages available online. There is so much information out on the internet that these 2 continuous days of coding and research have not even scratched the surface in terms of all the implementable ideas out there. Our implementation is just a representation of what a final sentiment analyzer could look like. Given there are many more areas to grow upon, we learned about customer feedback analysis and entrepreneur skills along the way.

## What's next for feelBlue

Adding more sources of data such as FaceBook, Instagram and other large social media websites will help increase the pool of data to perform sentiment analysis. This implementation can even help high-level managers of JetBlue decide which area of service they can improve upon! Given enough traction and information, feelBlue could even be used as a universal sentiment analyzer for multiple subjects alongside JetBlue Airlines! The goals are endless!
## Inspiration

Students often do not have a financial background and want to begin learning about finance, but the sheer amount of resources that exist online make it difficult to know which articles are good for people to read. Thus we thought the best way to tackle this problem was to use a machine learning technique known as sentiment analysis to determine the tone of articles, allowing us to recommend more neutral options to users and provide a visual view of the different articles available so that users can make more informed decisions on the articles they read.

## What it does

This product is a web based application that performs sentiment analysis on a large scope of articles to aid users in finding biased, or un - biased articles. We also offer three data visualizations of each topic, an interactive graph that shows the distribution of sentiment scores on articles, a heatmap of the sentiment scores and a word cloud showing common key words among the articles.

## How we built it

Around 80 unique articles from 10 different domains were scraped from the web using scrapy. This data was then processed with the help of Indico's machine learning API. The API provided us with the tools to perform sentiment analysis on all of our articles which was the main feature of our product. We then further used the summarize feature of Indico api to create shorter descriptions of the article for our users. Indico api also powers the other two data visualizations that we provide to our users. The first of the two visualizations would be the heatmap which is also created through tableau and takes the sentimenthq scores to better visualize and compare articles and the difference between the sentiment scores. The last visualization is powered by wordcloud which is built on top of pillow and matplotlib. It takes keywords generated by Indico api and displays the most frequent keywords across all articles.The web application is powered by Django and a SQL lite database in the backend, bootstrap for the frontend and is all hosted on a google cloud platform app engine.

## Challenges we ran into

The project itself was a challenge since it was our first time building a web application with Django and hosting on a cloud platform. Another challenge arose in data scraping, when finding the titles of the articles, different domains placed their article titles in different locations and tags making it difficult to make one scraper that could abstract to many websites. Not only this, but the data that was returned by the scraper was not the correct format for us to easily manipulate so unpackaging dictionaries and such were small little tasks that we had to do in order for us to solve these problems. On the data visualization side, there was no graphic library that would fit our vision for the interactive graph, so we had to build that on our own!

## Accomplishments that we're proud of

Being able to accomplish the goals that we set out for the project and actually generating useful information in our web application based on the data that we ran through Indico API.

## What we learned

We learned how to build websites using Django, generate word clouds using matplotlib and pandas, host websites on google cloud platform, how to utilize the Indico api and researched various types of data visualization techniques.

## What's next for DataFeels

Lots of improvements could still be made to this project and here are just some of the different things that could be done. The scraper created for the data required us to manually run the script for every new link but creating an automated scraper that built the correct data structures for us to directly pipeline to our website would be much more ideal. Next we would expand our website to have not just financial categories but any topic that has articles about it.