In December 2015, a news application called Prismatic News shut down. While many news readers focus on displaying dedicated disconnected categories to the user, Prismatic News was focused on providing a single feed of the articles that it believes will be interesting to you, based on your upvotes and downvotes on individual articles. Its ability to find articles that strung together multiple of my interests kept me excited and engaged in reading more articles to a level that is unmatched in any article recommender system even in 2023.
For example, it understood that I was interested in both Cybersecurity and Machine Learning, and as a result, would suggest articles such as System predicts 85 percent of cyber-attacks using input from human experts. It would automatically handle the category detection and category/interest similarity under the hood. While it still allowed you to seed it with explicit categories at the beginning, it would eventually get a better sense of your interests than you initially told it, as it might realize you're far more interested in software- and coding-related articles about machine learning in cybersecurity, rather than business-oriented articles. For users who just want to read content that matches their interests, Prismatic News provided a low-cognitive-load interface that let you focus on the content.
Ever since Prismatic News shut down, I have had a desire to create something similar. While I was in Professor Mark Stamp's Introduction to Machine Learning with Applications in Information Security at San Jose State University in 2018, I partnered with a master's student Jayant Shelke to create something similar and named it Chromatic News. While it never made its way into a user-facing application, I think it provided one potential starting point to build a news recommender system.
Chromatic News focused on using document embeddings and embedding similarity computations coupled with deep neural networks and labeled user data (up/down votes on articles) to attempt to nonlinearly separate future predicted upvotes/downvotes to recommend new articles to the user. Put simply, we tried to find the "interest space" of the user.
As Word2vec was the machine learning algorithm that originally ignited my interest in AI, I was eager to use its big brother, Doc2vec, in this project. The picture featured on this post is a 3-dimension PCA (princple component analysis) of the Doc2vec vectors with blue and orange representing the two different classes (upvote/downvote). Additionally, we used LDA2vec as an alternative to Doc2vec, and vanilla deep neural networks on labeled data of the vectors to make upvote/downvote predictions.
Following are the slides that we presented to our class on the project.