Principles of Artificial Intelligence - Term Project

IMIS: Updating Contact Information from Instant Messages

News

Our prototype source code and a paper describing our project are now available at the new links above. Feel free to download and play with the IMIS prototype.

Term Project for Com S 572, Artificial Intelligence

We have designed a system that uses instant messages sent and received by a user to update an RDF graph that models the user's relationships, current projects, and interests.

Overview

We have designed a system that uses instant messages sent and received by a user to update an RDF graph that models the user's relationships, current projects, and interests. IMIS (Instant Messaging Inference System) stores the user's contact model as a set of RDF triples created using the FOAF ontology, describing various people that a person knows: where they live, their employment, their current projects, etc. Our system examines a set of instant messages, looking for relationships to add to the database. It then translates these relationships into RDF triples and compares them against the existing store of relationships, which is updated as needed.

For a high-level view of our conception of IMIS, click the "High-level design diagram" link in the left column.

Current status

We have a prototype of IMIS available at the link on the left side of the page. However, it is limited to the following relations defined in the FOAF ontology:

  • knows
  • topic_interest
  • currentProject

Members of our group

  • Lucas Bonansea
  • Yuheng Long
  • Zach Oster

Proposed project timeline

  • November 16-19: Finding related research and becoming familiar with RDF and the FOAF ontology.
  • November 19-21: Designing our system's architecture and functionality.
  • November 22-25: Developing the parts of our system that must be built "from scratch".
  • November 26-27: Testing and debugging the system.
  • November 28-29: Completion of prototype and accompanying paper.

Division of labor

All of us cooperated on the initial research and the design of the system. Long worked on implementing natural language processing capabilities using OpenNLP tools. He also helped test and debug the prototype. Lucas created the rules for the relations used in our prototype and the methods for inferring those relations. He created the main class for the system, and he helped test and debug the prototype. Zach designed this website, developed the model management component (incorporating the Jena toolkit for RDF and Semantic Web), and served as the lead author of the paper.

Completion

The project was completed on December 7, 2007. You can download our paper and the code for our prototype using the links on the left side of the page. We have also posted the PowerPoint slides from our in-class presentation on December 7, 2007. In the future, we may post a demonstration of our prototype system.