CXP-Powered I-MINDS

Capabilities 4.0

 

 

HOME

CURRENT STATUS

CXP+I-MINDS CAPABILITIES

TEAM

HISTORY

PUBLICATIONS

SOFTWARE DISTRIBUTION

CONTACT

 

QuestionAnswering 4.0

 

2.1.  Introduction

 

As with previous versions, the question answering mode in version 4 retains both the user and moderator version.  Both versions were originally based on the chat capability that comes with ConferenceXP.  In version 3, the moderator version was heavily modified to enable lists of previously received questions to be displayed and sorted.  Based on feedback from a test run by Bellevue University (www.bellevue.edu) during the summer of 2006, we modified the moderator form to make it more user friendly.  The first major change in the moderator for is the inclusion of tabs to partition the messages into received, answered and discarded.  We also added the ability to reset an answered or discarded message.  The second major change was to allow moderators to send messages that are not responses.  This feature is described in more detail below.  Last but not least, moderator can broadcast responses to all users, instead of just the one who sent the question.  Screenshots for the User and the Moderator version of Q&A can be found in Figures 2.1 and 2.2 respectively.

 

2.2.  User Flow of Control

 

Users using the question answering mode can ask the moderator a question by entering the question into the box at the bottom of the User form (see Figure 2.1) and pressing the Send button.  The question is then encapsulated using a message object with the QA_Question message type by the user agent.  The resulting message object is then multicast using the SendObject method to the rest of the classroom.  In affect, the user version broadcasts the question to all the other instances of the Question Answering capability (both user and moderator) running on other machines, but only the moderator version will be listening for such questions.

 

The user version also listens for responses sent by the moderator version.  Whenever a message with the QA_Response message type is received, the sender identifier is checked against the identifier for the local participant.  If a match is found then the response is being sent to this user version.  The actual response content is displayed along with the original question in the ‘Recent Answer’ and ‘Recent Question’ boxes.  They are also added to the ‘Prior Messages’ table.  Figure 2.1 shows how the user version looks after it has received a response.  User can resend questions to the moderator by right-clicking on the question or answer and pressing ‘Resend’ on the popup menu.  Messages sent and broadcast from moderators are also displayed in the same form.   For these, the message is shown in the ‘Recent Answer’ box.

 

Figure 2.1:  User Version of Q&A.

 

Figure 2.2:  Moderator Version of Q&A

 

2.3.  Moderator Flow of Control

 

Moderators using the QuestionAnswering mode will see the form shown in Figure 2.2.  The moderator form displays all of the questions that have been previously asked by users in the classroom.  Questions that have already been answered or discarded will appear in the appropriate tabs.  Questions that are still waiting for a response will appear in the ‘Received Questions’ tab, sorted by score.  When the moderator right-clicks on a message in the ‘Received Questions’ table he or she has the option of either answering or discarding the question.  If the moderator selects the question, it will appear in the ‘Current Question’ box.  The moderator can then write a response to this question and press ‘Answer’ button.  A new message with the QA_Response message type is then created with the response and the message object is then multicast using the SendObject method to the rest of the classroom.  When the moderator answers or discards the question, the agent will modify the weights of the keywords it contains.  See the next section for more details.

 

In version 3, we added the ability for the moderator to send message to the users rather than just waiting to respond to their questions.  We do this by maintaining a list of users who are currently in the classroom and using the Q&A mode.  By selecting individual users or selecting the ‘To All’ checkbox the moderator can determine which users will receive the message.  When the moderator presses the ‘Message’ button, whatever she has written is encapsulated into a message object with the QA_Message message type and sent to all the users who are selected.  The users can easily distinguish between messages and responses from the moderator because the agent indicates this on the student form.

 

As mentioned above, the moderator version listens for questions asked by users.  When such a question is received, the agent first determines what score the question should receive.  This is done by first parsing and tokenizing each word in the question.  For more information please consult Section 2.4 on Intelligent Features below.  The question immediately appears in the ‘Received Questions’ table and is available to the moderator.  As this table is sorted by score, good questions will appear higher on the table while bad questions might not even appear on the table unless the moderator scrolls down.

 

2.4.  Intelligent Features

 

The moderator version of the QuestionAnswering mode uses the intelligent agent to aid the moderator in deciding which questions to answer.  It does this by assigning a score to each question as it is received from the user.  This score is determined by the length of the question and the weights of the keywords it contains.  When a question is first received it is tokenized and stemmed by a natural language processing program.  The stems are checked against the keywords stored in the database.  If a match is found, the weight of the keyword is added to a running total.  This total is then normalized along with the length of the question to determine the score.

 

The intelligent agent also adjusts the keyword weights up or down.  This is done when the moderator decides to answer or discard a question.  When the moderator answers a question the question is once against tokenized and stemmed.  The weights for keywords found in the question are increased.  Stems that are not found in the keywords table are added as keywords with a low weight.  When the moderator discarded a question the weights for the keywords found in that question are decreased. 

 

The natural language processing program we are using is called “combiner.exe”.  It maintains a taboo list of certain common words.  All keywords are automatically normalized by the intelligent agent to fit a certain range.  This prevents the weight associated with a common keyword from getting so large that it dominates the rest.

 

In pervious versions the machine learning weights were hardcoded for the intelligent agent.  There was also only one set of keyword weights, hardly suitable for a system that should support multiple moderators and classrooms.  In version 3, we added the machine learning weights to the database so they can be adjusted without recompiling.  Each classroom has its own set of machine learning weights that the moderator can modify and the keyword weights are now specific to each moderator and classroom combination.  This allows the I-MINDS system to store the same keyword with different weights for two different classes taught by the same moderator.

 

2.5  Adding Keywords

 

The moderator can, at any time, select the ‘Add Keyword’ item from the options menu.  This brings up a form containing all the keywords and weights stored in the database for that moderator and classroom combination.  Unlike in previous versions, keywords can no longer be deleted by using this form.  New keywords can be added by clicking on the star row at the bottom.  Existing keywords can be updated by selecting their entries and typing in a new weight.  To save the changes, simply press the Update button.  An example of this form is shown in Figure 2.3.

 

Figure 2.3:  Add Keyword Form

 

 

HOME

CURRENT STATUS

CXP+I-MINDS CAPABILITIES

TEAM

HISTORY

PUBLICATIONS

SOFTWARE DISTRIBUTION

CONTACT