Sofia Math Chat Robot

home team guidelines faq links sofia download
Project information:
Oliver Knill
Harvard University
Department of Mathematics
One Oxford Street
Cambridge, MA 02138, USA
Tel: (617) 495 5549
Say what you know, do what you must, come what may.

                                  -- Sonya Kovalevsky


Spring 2004: besides catching up with background AI information (like some Lisp language study) and continuing to feed the memory of Sofia, our first goal in the spring is to solve a notorious "context problem" which bothered us already at the end of the Fall semester. When people talk about mathematics, there is always a background context, which makes it clear, what object one is talking about and on which level the communication takes place. The discussion partners do have common knowledge, common pictures in their mind and do not need to be too clear in their statements. For example, the definition of an "isomorphism" can occur in different contexts. A talk about "maxima and minima" can be done on different levels. Mentioning "compact sets" in a first year calculus class for example would not particularly enhance the lesson. People usually adapt automatically to the context. Not doing so can result in communication or teaching disasters. Adapting the level of understanding and gauging the already known knowledge is maybe the most common challenge a teacher has to face in class. To overcome the context problem, we are reorganizing the "brain" of Sofia, build a context filter, as well as an additional channel to communicate the context. All this will be invisible for the user who talks to Sofia: the context evolves with the already experienced conversation. As longer the chat goes, as better Sofia will be able to gauge context and level of sophistication in the answers.

Fall 2003: besides feeding the brain of Sofia, some technological problems were solved:
  • setting up the server with a CVS collaboration environment and making everybody comfortable with the platform.
  • building a wrapper which forms a link between users, bots and computer algebra systems (CAS). Advantages of an additional layer between the bots and the user:
    • can add interfaces with CAS
    • bots are behind firewall
    • can have a whole "classroom of bots"
    • we can add other interaction tools.
    • can manage additional information, for example through cookies.
  • we worked on interfaces between the bot-CAS and focussed on the interaction with
    • Mathematica
    • Pari
    • Maxima
    in principle, the bots can now interact with any program or the web or any program running on the server.
  • preservation of cookie management. The wrapper (a Perl CGI script) has to pass cookies from the user to the bots and back.
  • each of the three students specialized in one of the following aspects:
    • Language (i.e. AIML markup, syntax and semantics)
    • Interfaces (i.e. interaction with computer algebra systems)
    • Learning (i.e. bots learn from other bots, partners or teacher)

About the project

This project which is funded by the Provost's fund for teaching and learning aims build a AI tool allowing students and visitors to chat about calculus and related issues.
One of the primary goal of the project is to learn more about teaching and learning of mathematics. Teaching mathematics to "Sofia" will widen our horizon on how teaching and learning works in the classroom. While the expectations in AI technology are currently at a low - the expectations of the early pioneers have proven to be much too optimistic, we hope to have available a chatter bot, which is also useful: as an interface to computer algebra systems, to look up mathematical definitions or to assist in simple calculus problems.
Part of the grant allows us to host Sofia on a decent hardware. The rest is for student saleries.
The project started in the fall 2003. While we focus on calculus, Sofia should know also as much related material as possible.

Project funded by Provost's fund for teaching and learning