I advised together with Gerald Reif the master thesis of Tobias Bannwart about a personal cross-site movie recommender system that is implemented as Firefox add-on. The add-on is known as OMORE and can be downloaded. We decided to bring OMORE to market maturity. For this, we had to rethink its architectural design and usability and beside from its advantages we came up with the following open challenges:
- Movie cross-references: It is not known what movie of one provider corresponds to what other movie page of another provider. Providers may be commercial pages like Amazon.com, review pages like RottenTomatoes.com or knowledge bases such as IMDb.com
- Retrieval of movie cross-references: No flexible search service exists to retrieve movie cross-references based on movie title and release year information.
- Maintenance of movie cross-references: A vast amount of potential movie cross-references exists that is difficult to gathered with a Web crawler approach. In addition, the set of movie pages increases fast.
We came up with the following solutions:
- Movie cross-references: A knowledge base is needed to persist movie cross-references. Concretely, for all movies the information of (1) what movie pages represent the movie as its content and (2) what movie pages represent the commercial product of a movie such as DVD, Blu-Ray, VHS or even Video-On-Demand (VoD). This semantical distinction has to be done, because a movie represented in VHS and Blu-Ray are not the same but show the same movie. Therefore, we decided to apply Semantic Web technologies to persist movie cross-references. We applied D2R that maps data from a relational database management system to RDF. RDF is the basic format to represent resources semantically. Our knowledge base of movie cross-references is called LiMo.
- Retrieval of movie cross-references: A search service has to be provided, that is able to provide even fuzzy search on the movie cross-references knowledge base. We reason for fuzzy search because the movie are presented quite heterogeneously among different Web pages. Movie titles may be misspelled, transformed or even extended in various way. Especially on online shops, we experienced that the movie titles are extended with information about many variants of special or collectorâ€™s edition and the type of medium the movie is provided. Instead of trying to extract the original title from the unpurified title, we decided to apply fuzzy search over movie titles and release year to retrieve movies. Our movie retrieval service can be accessed at MOLookup.
- Maintenance of movie cross-references: A Web crawler approach is not feasible due to the time latency and the need for resources. Thus, we decided to invent a collaborative approach. Whenever a user browses a new movie Web page that is not yet cross-referenced with LiMo, OMORE automatically uses the movie retrieval services MOLookup and provides the current URL of the new movie page. Then, this URL is cross-referenced to the retrieved movie. With that approach we automatically gather all the relevant movie cross-references with the user’s help. This way, normal users even contribute to the Semantic Web without knowing it.
With this new approach, we decided to participate in the this year’s Semantic Web Challenge that is co-located with the International Semantic Web Conference 2009 (ISWC) in Washington D.C. We were 16 participants that made it to the Semantic Web Challenge in Washington D.C. We presented our movie recommender system and its revised architecture besides the official Poster and Demonstrations session the main conference. Our secret weapon to attract many people to our stand was Swiss chocolate. And well, it worked out ;). The official time for the challenge presentation was 19:15-21:15. But people already showed up to our stand at half past 6 and kept coming by until 10 in the evening. One reason my be of course the chocolate ;), but also the viral marketing that people started that saw our challenge. Overall, people were really excited about our personal and private movie recommender system that even provides cross-site movie recommendations.
Despite the great success, we didn’t made it to finals. However, the challenge was a really nice experience and we had still have the great success having people excited about our OMORE.
Online stores and Web portals bring information about a myriad of items such as books, CDs, restaurants or movies at the user’s fingertips. Although, the Web reduces the barrier to the information, the user is overwhelmed by the number of available items. Therefore, recommender systems aim to guide the user to relevant items. Current recommender systems store user ratings on the server side. This way the scope of the recommendations is limited to this server only. In addition, the user entrusts the operator of the server with valuable information about his preferences.
Thus, we introduce the private, personal movie recommender OMORE, which learns the user model based on the user’s movie ratings. To preserve privacy, OMORE is implemented as Firefox add-on which stores the user ratings and the learned user model locally at the client side. Although OMORE uses the features from the movie pages on the IMDb site, it is not restricted to IMDb only. To enable cross-referencing between various movie sites such as IMDb, Amazon.com, Blockbuster, Netflix, Jinni, or Rotten Tomatoes we introduce the movie cross-reference database LiMo which contributes to the Linked Data cloud.
In the following, you can watch my presentation I prepared for the Semantic Web Challenge:
In the following, you can see a preview of the Semantic Web Challenge 2009 poster titled “OMORE”:
We include the papers on this page to ensure timely dissemination on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by the copyrights. These works may not be reposted without the explicit permission of the copyright holder.