Claypool

Courses

Publications

Students

Projects

Service

Downloads

Misc


WPI (Worcester Polytechnic Institute)

Computer Science Department
------------------------------------------

Filtering Greeting Cards at Sparks.com

Sharad Yogesh Bhojna, Michael Sao Pedro and Zak Zebrowski

Advisor: Professor Mark Claypool

Major Qualifying Project MQP-MLC-SF00
Computer Science Department, WPI
Term C 2000

Executive Summary

Information on the Internet keeps growing at an alarming rate. From online articles, to the types of clothes that can be bought online, information generated and presented keeps expanding day by day. One of the biggest problems associated with this "information overflow" is sifting out exactly what information is wanted. In order to help users find the information they desire, many sites use online filters.

Our project sought to determine if filtering technology could be successfully implemented to suggest paper greeting cards that users might like to buy at Sparks.com, an Internet startup company located in San Francisco, California. Filtering is the technique of comparing an incoming information's stream to the profile of the user's interest and recommending documents to the user based on that profile (1 Soboroff). By performing this comparison, information relevant to the user's interests can be sifted from a data stream, instead of displaying all the data. Currently, two well-known techniques for filtering, called collaborative and content-based filtering, have been studied and implemented in different systems. Collaborative filtering uses similarities and dissimilarities between users to determine relevant information while content-based filtering involves a direct comparison between the content or attributes of a user's profile and the document. In particular, our system uses collaborative filtering by making recommendations for a user based upon the opinions of other users who have purchased similar cards as that user. Content-based filtering is implemented by comparing the content, or attributes, of each card with respect to a user's profile generated from the content of the cards they purchased.

Because Sparks.com has such a vast inventory, users may not be able to readily find the "perfect card" they want. Therefore, the implementation of a recommender system, a system that calculates predictions based on the users tastes regarding how well they may like something, in this case a card, by implementing filtering may help. Using a recommender system, Sparks.com customers may be able to find cards and other items of their choice even faster. Sparks.com may also benefit from this from a competitive standpoint because today none of the other online paper greeting card sites use filtering algorithms or other adaptive techniques for recommendations.

Many steps were taken to determine if and how filtering could best be utilized at Sparks.com. We first determined what relevant information could be used to filter their paper greeting cards. Next, content-based and collaborative filtering algorithms were developed so that each could be tested to see which would work best for filtering cards. In addition, two algorithms that combined collaborative and content-based predictions were developed to see if this combination approach would provide more accurate results. A test filtering system was then developed in Java, which implemented these filtering calculations. Using the results computed from our recommender system, statistical analyses were performed to determine the accuracy of the filtering predictions. Adjustments to the algorithms were then made to see if this accuracy could be improved. These experiments determined which algorithms and methods, if any, would work best for the domain of greeting cards. Based on this information, we finally decided if filtering would work and what improvements would increase the filtering accuracy.

The recommender system was tested on a subset of the Sparks.com inventory, in particular Christmas cards and birthday cards. These two domains of cards were used, because Christmas cards are more likely to reflect the buyer's tastes while birthday cards are more likely to reflect the tastes of the recipient of the card. This personalized filtering system was compared to non-personalized filtering systems, in particular a ranking of cards most purchased, and a random ordering. For Christmas cards, bag-of-words weighed most heavily in making accurate predictions followed by sentiments, price, and the distinct attributes. For Birthday cards, bag-of-words seemed to the most important factor in making predictions. The other content attributes did not significantly improve the accuracy of predictions. Collaborative filtering worked very well with Christmas cards, but was a poor indicator for birthday cards. Combining content-basedand collaborative filtering algorithms resulted in better predictions than both of the approaches alone, but did not help the birthday cards. For both domains of cards, filtering provided a better alternative than a "top-ten" list or a random ordering. Therefore, the overall results suggested that filtering could be successfully applied to the domain of cards.

This recommender system can be implemented into Sparks.com's main system in many ways. A "Sparks Advisor" can suggest other cards similar to a card chosen during an online session if the filtering calculations are performed while the user is online. A recommender system front end called "My Sparks" can give the customer the recommended cards produced by the recommender system. Finally, a feedback system which shows other people's ratings or comments about a particular card could not only provide information to the user, but can help in making more accurate personalized recommendations. As the number of cards grows, Sparks.com customers may have more difficulty finding the cards they might like to purchase. Using a recommender system, each user can receive personalized lists that show users cards that match their tastes. Our research discovered that Sparks.com could benefit from recommender systems by using both collaborative and content-based filtering in the main engine. By implementing a recommender system users can more accurately find the cards they want, and in the future, receive suggestions for accompanying gifts Sparks.com may offer using each user's card tastes as a guideline.

Sponsored by: Sparks.com


Documents:


[WPI Homepage] [CS Homepage] [Mark Claypool's Homepage]