Ian Cohen and James Walker

Faculty Advisor: Dr. Lyle Ungar


In this project we attempted to employ standard machine learning methods on the linux desktop with the goal of answering the question, given the user's past behavior, What will the user do next? The major components of the project were to design a desktop event correspondance scheme, build a plugin architecture for registering these events, and implement a learner which predicts new actions. It was intended as a sister project to GNOME Do. The system has been named predix.


predix is a fully functioning machine learning desktop prediction system, fully extensible by third parties, and ready for professional testing on large data sets with fancier plugins. We are very excited at the prospect of determining which algorithms perform better on real data. predix makes for a great topic of future research, and could be extended in several interesting ways. A plugin could be designed, for example, to notify when a panel menu is opened but no buttons are selected. predix will immediately be able to harness that new information. Linux applications can be extended to broadcast internal events to give predix more information about user context. Then predix can be used to predict application input such as the next command in Terminal or the next song in RhythmBox.