View this PageEdit this PageUploads to this PageVersions of this Page over TimePrintable Version of this PageHome PageRecent ChangesSearchSign In

Assignment 1

CBR Assignment 1

Case-Based Reasoning

Description: In this assignment, you will use jColibri, an open source Java-based CBR framework, to implement a simple CBR system. Specifically, you will create a travel recommender. The goal is to get you familiar with the CBR cycle and to see in a practical example how all the pieces of a CBR system fit together. To develop the required recommender system you will have access to an example implemented system in jColibri as a base.

Due: September 22nd, 2009

Details:

  • Download jColibri from SourceForge and set it up on your computer. Import the project into Eclipse (or your favorite IDE). jColibri is available here: http://sourceforge.net/projects/jcolibri-cbr/
  • Within the example folder is the source code for an example travel recommender. Create a new package for both the recommender and the gui (contained in the same .zip file) within the “src” folder in jColibri. Run TravelRecommender.java and try a few queries to see how the example provided works.
  • Create the packages “jcolibri.examples.gtXXXXX.Assignment1” and “jcolibri.examples.gtXXXXX.Assignment1.gui” respectively, where gtXXXXX is your GT username. Those are the packages that will contain your recommender system.
  • Taking as a guidance the example recommender system, implement a new one in the following manner:
    • a. Your recommender will first ask the user for a query in the same way as the example.

      b. Your recommender need not allow the user to configure their own similarity metric. So, experiment with some weights for the attributes and with some values for K (in the K-NN method), and hard-code them in your system. Explain your choices.

      c. Your recommender will use user interaction for the reuse/revise process: Present the retrieved cases to the user, and allow them to refine his query in the following way. When the cases are presented to the user, add at least 4 buttons in the dialogue (for example, “Faster”, “Cheaper”, “Closer”, “Better Accommodation”). Those buttons will cause the initial query to be changed, and thus will trigger a new retrieval process, bringing up a new set of retrieved cases. Clicking “Accept” should proceed to the Retain stage.

      d. In the retain stage your recommender will retain a new case based on the user query and the finally selected travel solution.

Extra Credit: Populate the travel.sql schema with an additional attribute for textual descriptions. Add query attribute for free text user input and use a text similarity metric such as cosine similarity for finding cases similar to this free text entry.

Deliverables:

  • Email assignments to ssahay@cc and cc ashwin@cc by the deadline.
  • Attach your two packages, contained in a file gtXXXXX.Assignment1.zip. The files themselves must be in a subfolder gtXXXXX\Assignment1 inside the zip.
  • Your name and GT username, written in the body of the email.
  • A few sentences explaining your choices when hard-coding similarity values, as the text file “similarity value rationale.txt”, included in the gtXXXXX\Assignment1 folder of your project.


Resources:
jColibri Tutorial: http://gaia.fdi.ucm.es/projects/jcolibri/jcolibri2/tutorial.pdf
Javadoc: http://gaia.fdi.ucm.es/projects/jcolibri/jcolibri2/doc/api/index.html