|
CXP-Powered I-MINDS Capabilities |
QuestionAnswering
This QuestionAnswering
capability was completed in December 2005.
This capability has two views: an instructor application and a student
application. The person in charge of the
Q&A session (e.g., an instructor) can pick and choose questions to
answer. The application helps manage the
questions. The users asking questions
(e.g., a student) can review their questions and answers. They can also ask
questions.
This capability
also has agent intelligence. The
instructor application scores each question based on keywords and also “machine
learns” from the instructor about what keywords are important
behind-the-scenes, without interfering with the instructor’s actions. This allows the capability to learn to score
each question more accurately over time.
As this is one
of our intelligent capabilities (which are usually significantly complex than
our other capabilities), here we provide a detailed discussion of the features
and requirements, including installation guideline.
1. Details
The Question and
Answering capability is based on the basic chat capability that comes with
Conference XP. It uses the communication
protocols common to all capabilities to multicast messages to all participants
in the Venue. These messages are strings
containing pertinent information such as the identifier who sent the message
bound between xml-style tags which we have defined. This simplifies the process of parsing the
messages when they are received.
The Question and
Answering capability is designed to run in either the I-MINDS or the CXP
Client. There are actually two separate
versions of the capabilities which look the same to the CXP—the teacher and
student versions. These versions differ
in many ways, the most significant being their capability forms and the teacher
version connecting to a server-side database.
The database is discussed in more detail below although it is worth
pointing out that some tables are updated by the I-MINDS Client. This means that some tables which should be
updated are not when Q&A is run using the CXP client. These have minimal impact on the Q&A
client and are summarized in table 1.1.
Screenshots for the Student and the Teacher version of Q&A can be
found in figure 1.1 and 1.2 respectively
Table 1.1:
Several minor ramification of using Q&A with the I-MINDS client.
Figure 1.1: Screenshot
of teacher version of Q&A
Figure 1.2:
Screenshot of student version of Q&A
2. Client
When designing
I-MINDS we desired that it have most of the same functionality found in the CXP
client. First and foremost the user
should be able to see which Venues are available and be able to choose one to
connect to. After connecting to the
Venue the user should have the ability to ability to both send and receive
multicast video and audio. The user
should be able to update his or her profile.
Beyond this the capabilities that the user can start depend heavily on
whether the user is a student or teacher.
The student has
very limited menu options; we expect the teacher to initiate most of the
capabilities. The student can edit their
profile, services, and audio/video options.
The students can also record or playback conferences from any machine
(including the teachers). In the future
we intend to limit student access to recorded conferences on the teacher’s
machine.
The teacher has
the same options as the students to edit their profile, services, and
audio/video options. They also have the
option to record or playback conferences from any machine. In addition, the teacher’s Conference menu
contains options to start a Presentation capability from CXP. Note that this is the CXP version not the UW
Classroom Presenter. The teacher can
also startup one of three capabilities designed by the I-MINDS team—Group Chat,
Video Manager, or Video Manager Plus.
These are described in detail in their own documentation. In the Agent menu the teacher has the option
to Start Q&A. This option starts the
Question Answering capability for everyone in the Venue. The Add Keyword option brings up a form where
keywords and weights can be added or changed outside the Q&A capability.
3. Database
The I-MINDS
database is currently running MySQL version 4.1. In the future we intend to switch over from
MySQL to SQL Server or something similar.
The basic structure should easily transfer over to any relational
database. The database was designed
using a combination of DBDesigner4, an open source designer from fabForce, and
phpMyAdmin-2.6.3. For an illustration of
the I-MINDS database consult figure 3.1 below.
The mysqldump textfile of the database can be found in the same folder
as the source code.
On the C# side,
the database hook is contained in the ComponentTestLibrary.dll. This dll, whose source is provided, consists
of a ComponentModel class called DatabaseWrapper and another class called
DatabaseMethods, along with the dataset schema DataSet1.xsd. The DatabaseWrapper class consists of
numerous DataAdapters designed with the form editors. The dataset schema was generated from these
DataAdapters using the wizard.
Figure 3.1:
The DBDesigner model for the I-MINDS database
Wherever
possible we have tried to conform to the C# database connection model, filling
the dataset from multiple DataAdapters.
The tables in the dataset can then be hooked to DataGrids or DataViews
for display. We use OdbcCommand builders
to generate both the update and insert queries with two exceptions. We the Keyword_Ranking and Message
DataAdapters we experienced numerous DatabaseConcurrency exceptions which
claimed that 0 rows were updated.
Despite much experimentation we were unable to lock down this
exception. Our solution was to write our
own Update and Insert queries and run them on each row in the DataTables based
on row states. This seemed to eliminate
the problem.
4. Installation
This section
leads you through the installation for ConferenceXP and our capabilities. The first program to install is the
mysql-connector-odbc-3.51 driver. We
have included this with our source code.
Next, if you have not already done so download the CXP Client version
3.2. Before you install it make sure that
the Microsoft Journal Viewer has been installed. Please consult the ConferenceXP client
installation guide for more information.
We provide the
database dump file so that users can upload the I-MINDS database to their local
server. The installation is relatively
straight forward assuming you have access to MySQL server version 4.1 or
higher. Table 4.1 gives the console
command. If your machines do not have
access to the internet you will need to install your own venue service on one
of your machines. The Venue Service can
be downloaded from the ConferenceXP website.
mysql –uusername –ppassword <
iminds.sql
Table 4.1:
console command to upload database
Alternatively,
you could connect to the I-MINDS database running on cse.unl.edu. The user name and password are given in Table
4.2. A word of caution though, the I-MINDS database on CSE is our test bed and
is subject to design revisions which could break previous versions of Q&A
or Buddy Group.
Site: cse.unl.edu; Database: lmille;
MySQL user: lmille; MySQL password: GNEZWS
Table 4.2: connection
information for the I-MINDS database on CSE
To run either
capability you must first create an ODBC data source in Windows XP. This data source is what the C# code will use
to connect to the database. To do this,
open Administrative Tools/Data Sources (ODBC).
Add a new System DNS with the above information (see figure 4.1). If you are running your own MySQL server the
Server, User and Password entries may change from figure 4.1.
Figure 4.1: Data Source for
the I-MINDS database.
The Buddy Group
or Question Answering capabilities should be pasted into the CXPClient folder
in the manner of all capabilities. You
should also paste the ComponentTestLibrary.dll into the same folder. The Stemmer folder containing combiner.exe
and the licenseI-MINDS rtf file should each be pasted into the CXPClient
folder. Remember that there are two
separate versions of the Q&A capability (teacher and student). The Question Answering capability uses the
xApplication4 payload type while Buddy Group uses the xApplication5 payload
type.