Notes on codes, projects and everything

Recommender System Classification

Had a discussion with my secondary supervisor and it turned out pretty bad because I wasn’t fully prepared and he was rushing to somewhere else for a meeting. So I am jotting down a brief summary (read: highly based on personal/subjective feelings/opinions) of my readings here to help organize things before the followup meeting that is taking place next week.

For some reason, my secondary supervisor seems very skeptical with everything and keeps having argument with my primary supervisor in a lot of things. It is probably a good idea to ensure everyone is on the same page before I begin.

Folksonomy / Collaborative Tagging

Folksonomy is becoming the primary way web users organize their content. While rigid category may still being offered by some web-applications, the flexibility of folksonomy continue to attact more users to tag their resources using keywords[1]. Besides that, a particular content may be represented with different sets of keywords over time, and folksonomy works great in capturing this change of semantics.

While we cannot deny the fact that the flexibility may cause abuse to the system, but this is not a new problem and there are people working on it. Besides that, considering tags are just a list of keywords describing a resource, they can be considered as a document and can be modeled in a number of ways like how IR people model documents. If the IR people face problems like polysem, synonyms etc, the same problems are also applied to the tags. One of the solutions to the problem is the usage of dimensionality reduction techniques such as LSI, pLSI or LDA [2], or clustering tags to avoid ambiguity [4].

Encouraging people to tag their resources properly is not actually within the scope of my project, although it is known that collaborative tagging system typically suffered from ramp-up problem (arises when new user/item is added to the system or ratings/tags for an item is sparsely populated). I actually have no idea why is this raised in the previous discussion. However, my secondary supervisor is kind enough to point me to a project called ESP Game which is a game to help tagging of pictures [3].

Conclusion: Tagging is a mean of organizing information that is gaining popularity, although it may be subjected to various problems, but it can be (to a certain extend) fixed.

Web 2.0 Applications

Again, both of my supervisors don’t seem to agree on the usefulness of web 2.0 applications. But as web 2.0 applications is gaining popularity, the amount of information generated is drastically increased and there may be a need to offer an alternative approach to enable users to discover them. It is not logical to say Web 2.0 application is built on flawed principles, and then the users deserve no more further innovation from the applications.

Recommender System

A recommender system is a system that recommend content to user to assist in discovery of new content and predict the degree of interest a user may have to an unrated item [5]. Depending on different classification methods, they can be generally categorized into 2 major types.

Content-based Recommender

Content-based recommender works by comparing user’s profile to unseen content to predict whether he/she would like that content. In short, it is a system that recommend content based on this statement – ‘you liked A, B and C in the past, then you should like D which is similar to A, B and C’ [5, 7].


Unlike content-based recommender, collaborative-filtering system compares an unseen content with profiles of other users with similar interests, then recommend it if others expressed their interest in the past. In short, it is a system that exercises – ‘Alice, Bob, and Charlie liked A, therefore you should also like A‘ (assuming Alice, Bob and Charlie share the same interest with the current user) [5].

Collaborative-filtering system can be further categorized into 2 types – memory-based and model-based [6].


To me, this is what a recommender should do ideally. Everything about content and users are stored in the storage and used in the recommender algorithm. However, this means it is heavily depending on content that may not necessarily annotated, or tagged appropriately.


Model-based is implementing collaborative filtering in another way where a set of training data is usually fed to a learning algorithm to produce a mathematical model [6]. Depending on implementation, an intermediate layer (probably lower dimension, depending on the model) is created to complement the incompleteness of annotated data.

Most of the current model consider all users are distributed independently and identically without considering relationships between them [6]. However, in reality, we often turn to people having same interests for recommendations [7]. Therefore, some people start utilizing social relationship and trust network into the modeling of recommendation algorithm [8].

Besides studying user’s social network, other relationships that may be observed are user-tag, user-content, and content-tag relationships. My research project will be more or less based on the research done by Ma et al [6]. So as I am going this route, my first problem will be identifying which relationship(s) should be incorporated into the model.

Data Sources and Domain

I wanted to work on something that would help in travel itinerary planning. But as I may not have enough time (with only roughly 7 months left) to do that, I am scaling down the scope to build a system that recommend images. Data will most probably come from flickr through their API as suggested by fellow stackoverflowers.

What do I do next?

As told by my primary supervisor, I am going to start drafting the initial design while keep reading more about this area.

Further Readings

  1. Shadbolt, Nigel, Tim Berners-Lee, and Wendy Hall. 2006. The Semantic Web Revisited. IEEE Intelligent Systems 21, no. 3 (May): 96-101. doi:10.1109/MIS.2006.62.
  2. Siersdorfer, Stefan, and Sergej Sizov. 2009. Social recommender systems for web 2.0 folksonomies. Proceedings of the 20th ACM conference on Hypertext and hypermedia – HT ’09. New York, New York, USA: ACM Press. doi:10.1145/1557914.1557959.
  3. Von Ahn, Luis, and Laura Dabbish. 2004. Labeling images with a computer game. Proceedings of the 2004 conference on Human factors in computing systems CHI 04 6, no. 1: 319-326. doi:10.1145/985692.985733.
  4. Shepitsen, Andriy, Jonathan Gemmell, Bamshad Mobasher, and Robin Burke. 2008. Personalized recommendation in social tagging systems using hierarchical clustering. Proceedings of the 2008 ACM conference on Recommender systems RecSys 08: 259. doi:10.1145/1454008.1454048.
  5. Szomszor, Martin, Ciro Cattuto, Harith Alani, Kieron O’Hara, Andrea Baldassarri, Vittorio Loreto, and Vito D P Servedio. 2007. Folksonomies, the Semantic Web, and Movie Recommendation. eprintsecssotonacuk: 71-84.
  6. Ma, Hao, Haixuan Yang, Michael R Lyu, and Irwin King. 2008. Sorec: social recommendation using probabilistic matrix factorization. In Proceeding of the 17th ACM conference on Information and knowledge management, 931-940. ACM. doi:10.1145/1458082.1458205.
  7. Shardanand, Upendra, and Pattie Maes. 1995. Social information filtering: algorithms for automating “word of mouth. In Proceedings of the ACM Conference on Human Factors in Computing Systems, ed. I R Katz, R Mack, L Marks, M B Rosson, and J Nielsen, 1:210-217. ACM Press/Addison-Wesley Publishing Co. doi:10.1145/223904.223931.…N=53154003&ret=1.
  8. Andersen, Reid, Christian Borgs, Jennifer Chayes, Uriel Feige, Abraham Flaxman, Adam Kalai, Vahab Mirrokni, and Moshe Tennenholtz. 2008. Trust-based recommendation systems: an axiomatic approach. Industrial Engineering 08pages: 199-208. doi:10.1145/1367497.1367525.
I will be putting in the citation links and probably make revisions to this draft as I am preparing for the discussion taking place next week.
Please not that this is prepared for a discussion with my supervisor and is not intended as a creditable piece of article because it is filled with my personal opinion (although it may look like backed by creditable papers).
EDIT 2/4/2011: adding in some citations.

leave your comment

name is required

email is required

have a blog?

This blog uses scripts to assist and automate comment moderation, and the author of this blog post does not hold responsibility in the content of posted comments. Please note that activities such as flaming, ungrounded accusations as well as spamming will not be entertained.


@Mojihelen hey, nice to meet you 🙂


I am working on a similar field here in Germany 🙂 Nice to have found your blog.M

Click to change color scheme