|
CXP-Powered I-MINDS Capabilities 4.0 |
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
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