DEV Community

Mohammed Favas
Mohammed Favas

Posted on

Struggling with Presenting My Graph-Based Recommendation System

Introduction

I'm working on a graph-based video recommendation system, inspired by a research paper. Unlike traditional Collaborative Filtering (CF) or Content-Based Filtering (CBF), my approach models user interactions as a graph, allowing for a more structured and scalable way to determine recommendations.

However, when presenting my project, I faced skepticism. People questioned my claims about scalability and effectiveness, and I realized that just stating it's better isn’t enough—I need stronger data-backed arguments.

How My Recommendation System Works

The system operates in five main steps:

  1. Building a User-Video Graph:
    Users are connected to the videos they've watched, forming a bipartite graph.

  2. Building a Video Similarity Graph:
    Videos are connected based on shared audience patterns, forming a weighted similarity network.

  3. Clustering the Videos:
    I use modularity-based clustering (Leiden algorithm) to group similar videos.

  4. Ranking Videos Using Centrality Metrics:
    Each video is ranked using Degree, Betweenness, Closeness, Aggregate, and Ego-Focused Centrality to determine its importance in the network.

  5. Generating Personalized Recommendations.

The system recommends videos based on the user's cluster and centrality scores.

The main intuition behind this is that if users naturally form watching behavior clusters, then videos that are central in those clusters should make good recommendations.

Where I'm Struggling

When I presented this, I compared it against CF and CBF in a table, explaining why graph-based approaches are more scalable. I argued that since everything is modeled as a graph, migrating to a graph database or cloud-based system should be more seamless.

But the response was:

"Anyone can claim something is scalable, but without numbers, it doesn’t mean much."

And honestly, they’re not wrong. I need quantifiable evidence to show:

Why a graph-based approach is easier to scale than CF/CBF.

How I can visually present this in a way that makes the advantage clear.

Whether there are any standard performance benchmarks for this type of comparison.

Looking for Advice

Has anyone worked on a similar graph-based recommendation approach? What are some good ways to compare and validate its performance against CF/CBF? Any insights on how to present this data in a way that’s convincing to technical and non-technical audiences?

Would love to hear your thoughts!

Top comments (0)