Research Interests
Our lives are becoming increasingly wired. We have homes that are full of interesting appliances that can unobtrusively monitor our daily activities. For example, TiVo knows what we watch and record. Our iTunes player and iPod counts the number of times we play each song in our Music collection. Our browser keeps a history file of the web sites we visit. Our email folders contain hundreds of emails read and written by us. All of this information could be used to help us find more, better stuff that we are interested in.
An early solution to this problem uses a technology called Collaborative Filtering. Collaborative Filtering allows humans and computers to work together to recommend interesting things to each other. An example of collaborative filtering in action is at the MovieLens site at the University of Minnesota. MovieLens is a research site for the GroupLens research group.
My research interests revolve around a single vision. That vision is that each person should have total control of their personal profile (the information outlined above) and that the profile could be used in order to make recommendations about other things for us to read, look at, and listen to. However, rather than each of us entrusting all of this information to a third party, I belive that we can use peer-to-peer computing to enable each of us to run our own recommender system. Further, I believe that we can make recommenders small enough that we can carry them with us on a Palm or PocketPC size device.
PocketLens
The PocketLens project explores algorithms and architectures that are suitable for use in a peer-to-peer network. Right now, the best source of information on PocketLens is my thesis . But, we are working on publishing a more concise description.MultiLens
MultiLens is a collaborative filtering recommender system written in Java. Currently, MultiLens implements the item-item collaborative filtering algorithm, however it is designed such that other collaborative filtering algorithms can be plugged in.
One of the distinguishing features of MultiLens is that it uses a similarity matrix as its primary data strucutre and provides operators for combining multiple matrices together. In this way MultiLens can be used to combine content analysis with collaborative filtering or rules and collaborative filtering.
Javadoc documentation for multilens can be found here A pdf version of the MultiLens cookbook is available here
MovieLens Unplugged
MovieLens unplugged is a research project to provide movie recommendations for people on portable devices. I'm not actively working on this project anymore, but the site is still live. Visit the MovieLens webpage to learn more about movielens and collaborative filtering.
Visit my publications page for a list (and links to papers) I've written on these research areas.
MovieLens Unplugged: Experiences with an Occasionally Connected Recommender System, Bradley N. Miller, Istvan Albert, Shyong K. Lam, Joseph A. Konstan, John Riedl ACM Intelligent User Interfaces (IUI'03), January 2003. [ pdf]