1

I'm working on a graph-based video recommendation system, inspired by the paper "Network-Based Video Recommendation Using Viewing Patterns and Modularity Analysis: An Integrated Framework." The system works by:

  • Building a User-Video Graph, where users connect to the videos they’ve watched.
  • Constructing a Video Similarity Graph, linking videos based on audience overlap.
  • Applying Modularity-Based Clustering to group similar videos.
  • Ranking Videos Using Centrality Scores (Degree, Betweenness, Closeness, Aggregate, and Ego-Focused).
  • Recommending Videos Based on Cluster and Centrality Weights.

The idea is that if many users share similar viewing patterns, the most “central” videos in those clusters are likely good recommendations.

Now, where I'm stuck:

I understand the technical implementation, but when I try to explain why this is better than traditional CF/CBF, I struggle. The key points I bring up—scalability, structure flexibility, and better capturing of relationships—sound convincing to me, but they don’t seem to land with others. How can I frame this argument better?

Another issue is evaluating its performance. I made a comparison table with CF and CBF, arguing that this system is more scalable and adaptable, but without numbers, they dismissed it as meaningless. What’s the best way to quantify its effectiveness? Should I focus on precision/recall, modularity improvements, or some other metric? Would migrating to a graph database and testing scalability be a good approach?

Also, when I said transferring to a graph database or cloud would be easy, they weren’t convinced. How do I properly demonstrate that graph-based recommendations are naturally scalable rather than just stating it?

Basically, I need guidance on two things:

  1. How to better articulate why this method is valuable.

  2. How to evaluate it properly to back up my claims.

Would appreciate any insights on how to make this project more convincing—both in explanation and in measurable results.

MF8
  • 11
  • 1

1 Answers1

1

It's not clear who you are trying to convince, but I would be careful making a bet on graphs over statistical methods. (And I'm a graph theoretician.)

That said, you can simply download the MovieLens dataset. In it, you'll find users and movies, with a weighted edge between a user and a movie if the user has reviewed it. The weight (1..5) is its score.

Notice how this is a bipartite graph with users on one side and movies on the other side. What you are seeking is a (possibly overlapping) bi-clustering. However, notice that low score means that the user disliked the movie.

After you've made a system, you can conduct user experiences, where you ask people to tell the system some movies they've watched in the recent past, and then your system recommends movies and then the user rates the service. There's not really many alternatives.

Ainsley H.
  • 17,823
  • 3
  • 43
  • 68