# Inspiration

Our inspiration for Consensus arose from a shared frustration at the lacklustre nature of the current Amazon review/rating system. As it currently stands, the five-star system offers only a surface-level outlook into consumer experiences. Certain products with numerous five-star reviews may actually suffer from severe flaws that are only discussed in the depths of user reviews that most prospective buyers will never actually read. Consensus offers an additional dimension to the rating system by grouping and summarizing key points, ensuring every user review is considered.

# What Consensus does

Consensus anonymously takes in product reviews, groups them by meaning, and then provides a short description that accurately represents the whole. This means Consensus can reduce hundreds of reviews into a few staple points. We use a scatter plot to clearly demonstrate the grouping process to both consumers and vendors, thereby providing the former with a realistic insight into the product, and the latter with potential areas of development.

# How we built Consensus

We initially started on attempting to utilize the vectors produced by Co:Here embed API and real Amazon reviews to create a scatter plot. This plot process came with first using PCA to reduce the vectors to two-dimensions, and then using K-means clustering to create unlabeled clusters. After being able to produce a scatter plot, we needed to devise a plan to extract the labels for these clusters. To do this, we decided to use another part of Co:Here’s API, the generate feature. We created prompts comprised of various products reviews and their collective summaries to utilize the generate feature. These prompts were fed into the generate classifier to create a shorter version of the reviews held in each of the K-means review embedding clusters. We then passed these newly generated summaries for the clusters to utilize in our scatter plot creating an improved legend and a more readable graph.

# Challenges we faced

This undertaking was certainly fraught with challenges for a variety of reasons. The process of accruing the data and clustering them semantically proved to be a difficult due to the novelty of the task. Prior to this project, none of us had necessarily heard of or implemented data clustering into our projects, so we were forced to dedicate a substantial portion of our time to researching such methods. Thankfully, Co:here provides an intuitive API upon which we based our solution.

After successfully clustering the Amazon reviews based on their semantic content, the next step was to devise a method to extract the grouped data points into separate containers/data structures. There was no obvious trivial approach to this problem, so we again found ourselves in a position where we needed to innovate a creative solution to a seemingly insurmountable problem.

# Accomplishments we're proud of

* Utilizing many different aspects of Co:here’s API to reach our desired outcome
* Learning more about NLP and clustering of word embeddings
* Solving a real world problem through the use of ML
* Combining both graphing and Co:here data analysis

# What we learned

* How to use K-means clustering to group data
* How to utilize the embed and generate features of Co:here’s API
* Details regarding linear dimensionality reduction technique such as PCA and t-SNE

# The future of Consensus

There are numerous ways that Consensus can be improved. Comparing different products (both generally and based on specific requests), improving the summarizer AI, and implementing customizable review searching options are all things we’d like to implement in the future. The nature of Consensus allows it to thrive as both a web application, and as a browser extension, so implementing these would be the next step for Consensus to take.

While Consensus represents a substantial step toward simply enhancing the e-commerce experience, there are several features that can be implemented to revolutionize it. Additionally, although originally pictured as a web application, we believe that Consensus would thrive as a browser extension; allowing users to access Co:here analysis during their shopping experience would streamline the entire experience. Finally, we also think that Consensus will put more power in the hand of those closest to the products, as the summarized user reviews may serve as constructive feedback and result in an ever-improving product.

# MLH Challenges

## Use of Co:here

As our entire team was new to ML, using Co:here was an enlightening learning experience. To use Co:here we had to read many articles on how to process embeds, change dimensions of arrays, and more. Despite these and other challenges, Co:here was what made Consensus possible. We made use of Co:here’s embed for clustering reviews, and then used generation to make TLDRs for the chosen groups. Consensus unifies the different parts of Co:here, but that is only our beginning. We intend to learn to utilize ML and Co:here to both improve our understanding and advance Consensus.
## Inspiration

As YouTube consumers, we find it extremely frustrating to deal with unnecessarily long product reviews that deliver numerous midroll ads rather than providing useful and convenient information. Inspired, we wanted to create an application that stops all that by allowing users to glean the important information from a video without wasting time.

## What It Does

* Determines whether a YouTube product review is positive or negative.
* Summarizes the contents of the review.

## How We Built It

* The auto-generated closed captions for a YouTube video are obtained
* Punctuation is added to YouTube auto-generated closed captions.
* The punctuated script retrieved is then fed into Cohere, an NLP toolkit.
* Cohere performs an analysis of the script and returns sentiment and summary.
* Chrome extension is then utilized to display the information to the user.

## Challenges We Ran Into

* Settling on a use of Cohere.
* Punctuating the auto-generated YouTube closed captions.

## Accomplishments That We're Proud Of

* Deftly transitioning between ideas.
* Combining many new technologies.
* Figuring out the puntuator2 library.

## What We Learned

* How to develop chrome extensions.
* How to utilize Cohere to perform analysis and process summaries.

## What's Next For The Project

* Implement a mobile app component that allows the user's to make use of the service at the convenience of their phone.
* Keep track of users' past history and engagement.
* Incorporate a points system that encourages and drives individuals to continue to make use of the application.
## Inspiration

When reading news articles, we're aware that the writer has bias that affects the way they build their narrative. Throughout the article, we're constantly left wondering—"What did that article not tell me? What convenient facts were left out?"

## What it does

*News Report* collects news articles by topic from over 70 news sources and uses natural language processing (NLP) to determine the common truth among them. The user is first presented with an AI-generated summary of approximately 15 articles on the same event or subject. The references and original articles are at your fingertips as well!

## How we built it

First, we find the top 10 trending topics in the news. Then our spider crawls over 70 news sites to get their reporting on each topic specifically. Once we have our articles collected, our AI algorithms compare what is said in each article using a KL Sum, aggregating what is reported from all outlets to form a summary of these resources. The summary is about 5 sentences long—digested by the user with ease, with quick access to the resources that were used to create it!

## Challenges we ran into

We were really nervous about taking on a NLP problem and the complexity of creating an app that made complex articles simple to understand. We had to work with technologies that we haven't worked with before, and ran into some challenges with technologies we were already familiar with. Trying to define what makes a perspective "reasonable" versus "biased" versus "false/fake news" proved to be an extremely difficult task. We also had to learn to better adapt our mobile interface for an application that’s content varied so drastically in size and available content.

## Accomplishments that we're proud of

We’re so proud we were able to stretch ourselves by building a fully functional MVP with both a backend and iOS mobile client. On top of that we were able to submit our app to the App Store, get several well-deserved hours of sleep, and ultimately building a project with a large impact.

## What we learned

We learned a lot! On the backend, one of us got to look into NLP for the first time and learned about several summarization algorithms. While building the front end, we focused on iteration and got to learn more about how UIScrollView’s work and interact with other UI components. We also got to worked with several new libraries and APIs that we hadn't even heard of before. It was definitely an amazing learning experience!

## What's next for News Report

We’d love to start working on sentiment analysis on the headlines of articles to predict how distributed the perspectives are. After that we also want to be able to analyze and remove fake news sources from our spider's crawl.