2
$\begingroup$

Let's assume I'm building a content recommendation engine for online content. I have web log data which I can import into a graph, containing a user ID, the page they viewed, and a timestamp for when they viewed it. Essentially, it's a history of which pages each user has viewed.

I've used Neo4J and Cypher to write a simple traversal algorithm. For each page (node) I want to build recommendations for, I find which pages are most popular amongst other users who have also visited this page. That seems to give decent results. But, I'd like to explore alternatives to see which method gives the most relevant recommendations.

In addition to my simple traversal, I'm curious if there are graph-level properties I can utilize to build another set of recommendations with this data set. I've looked at SNAP, it has a good library for algorithms like Page Rank, Clauset-Newman-Moore community detection, Girvan-Newman community detection, betweenness centrality, K core, and so on.

There are many algorithms to choose from. Which algorithms have you had success with? Which would you consider trying?

$\endgroup$

1 Answer 1

3
$\begingroup$

Using Community detection you can build a recommendation system. The most commonly used algorithm in this field is Blondel Algorithm which u have probably seen in SNAP. Blondel is almost the fastest Community Detection algorithm among widely accepted ones and its result is pretty acceptable (at least according to modularity score). As a side comment, you may also want to have a look at NetworkX and igraph libraries for more graph algorithms and visualizations.

Hope it helps, good luck.

$\endgroup$
2
  • $\begingroup$ Great info, I will look up Blondel. I'm going to leave the question open for awhile longer to see if others have ideas. $\endgroup$ May 11, 2015 at 21:09
  • $\begingroup$ Welcome :) Sure! If you have more specific question I'd be glad to answer if I can. I'm a community detection guy! It's been my research direction during last 2.5 years. $\endgroup$ May 11, 2015 at 21:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.