Adobe Photoshop Express Recommendation Algorithm Redesign

University of Washington iSchool Capstone
Team A-dawg-be

Anusha Dhar
Data Scientist

Janice Yang
Data Scientist

Ji Kang
Data Scientist

Richie Wang
Project Manager


This project was sponsored by Adobe through the UW iSchool Capstone program.
The Adobe and Photoshop logo are registered trademarks of Adobe.
Image assets provided by Adobe for project use only.

Project Overview

The Photoshop Express Discover feed aims to recommend posts from a variety of content creators, not just the popular ones. We designed the recommendation algorithm based on collaborative filtering to predict interested topics by using recent post interactions. Our algorithm evolves as the user continues to interact with the product and promotes content based on users’ subject interests. This solution will help users explore and expand their individual interests and find communities to share creations, leading to more content sharing and boosting engagement.

Target Stakeholders

Photoshop Express
Development Team
Internal Stakeholder

The Photoshop Express development team is looking for new ways to utilize the Discover feed to promote interested posts to users. They hope to provide a personalized and improved experience to increase platform engagement and help users explore app functionalities.

Photoshop Express
Users
External Stakeholder

Currently, Photoshop Express users see content on their Discover feed that is not personalized to their interests. They would like to see posts that cater to their interests and see how other users are creating content using Photoshop Express through interacting with posts.

Our Actions and Approach

General Approach
Our algorithm is a modified version of a traditional matrix factorization and collaborative filtering algorithm. Traditionally, a collaborative filtering algorithm will group users who have similar ratings on an object together and predict ratings for objects that do not yet have a rating. Our approach uses a modified matrix that combines user ratings on subjects identified in the image.

Dataset Cleaning and Preparation
As part of the project materials, we were provided with a dataset that included sample asset (image) information with their attributes. Supplementing the dataset with information obtained through Adobe's API, we created a matrix dataset that combines users' past interactions with images and their subject attributes.

Algorithm Development
Using the matrix created, we trained a matrix factorization model to predict user ratings on subjects that the user has not encountered before. Then, we recorded the prediction results and processed the result in the next step.

Recommendation Processing
We took both the input matrix and the prediction matrix and applied a criteria on the results to get recommended assets(images) for a user. We currently create a personalized list of assets that contain 3 or more recommended subjects.

Algorithm Demonstration Interface
Using Java Spark, we built an interface to demonstrate the algorithm we built. This allows the development team to test and run our algorithm and see recommendations for the user.

Solution Benefits

Harder to "Game" the system
Because we are not relying on popularity metrics and instead using asset characteristics, we show the users what they are interested in, not what is popular. Likes and shares do not affect the feed as much as other platforms.

Fostering interactions through common interests
Since users see content that aligns with their interests, they are more likely to interact with the post - liking, commenting, and learning how to edit the photo just like they did.