The ADVICE Platform aims to help both students and student
advisors at UCT by being a transitional step in the UCT
registration process. The number of students enrolling at UCT
every year far outnumbers that of the student advisors who are
tasked with aiding students through the registration process.
ADVICE is a platform that aims to offer information and guidance
to students in the place of student advisors. The advantages of
ADVICE over contacting a human student advisor is that you can
get information almost instantly and the fact that it operates
outside of regular office hours (24/7). The goal is for students
to use our platform to get the information before needing to
schdeule a consultation with a student advisor. This will
hopefully reduce the reliance on student advisors and allow for
every student to get the information they need easily and
efficiently.
One way for students to get this information from ADVICE is by
utilising the built-in chatbot. To maximise user-experience, a
contextual inquiry into the design of chat bots and more
specifically virtual student advisors was conducted. The results
of which influenced the design of the chat bot and the features
that were included (on the website or in the chat bot).
Since we did not have access to UCT's database of Degrees,
Majors and Courses, we needed an alternative method of getting
this information so that ADVICE could operate properly. The next
best solution was to get it from UCT's official student
handbook(s). This involved designing and creating a Student
Handbook reader application that reads the UCT student handbooks
and uploads the required information to ADVICE's database.
Background Work
Student Handbook Reader
Through a literature review, several tools and libraries were
discovered to help build this tool. An open-source library,
Apache PDFBox allows Java programs to extract data from and
manipulate PDF documents. This was instrumental in the design
and implementation of the handbook reader application because
UCT uploads the handbooks in this file format.
Since ADVICE uses a MongoDB database, the handbook reader
application needed to be able to connect and upload data to it.
Research found that the MongoDB java drivers library could be
used to achieve this. The library can be added through the use
of any Java IDE.
Contextual Inquiry
Nowadays, the most popular application of chat bots are virtual
assisstants like Amazon's Alexa, Apple's Siri, and Google's
Google Assisstant. Before these were simple online support
agents used in commerce and marketing manned by real people.
Advances in technology lead to the development of chatbots which
accurately mimic human speech patterns and give the impresion of
speaking to a real person.
Research into the "humanness" of chatbots and chatbot
user-experience influenced the questions asked during the
contextual inquiry. There are three main aspects of to what
makes conversational agents human-like:
Use of Human figures (Visual Cues)
Human-associated names or identity (Identity Cues)
The mimicking of human language (Coversational Cues)
There has been little work in the field of virtual student
advisors and even less so in South Africa. The questions in the
contextual inquiry aimed to discover the what the most important
aspects of chatbots are and more specifcally a potential virtual
student advisor platform for UCT.
System Development & Implementation
Student Handbook Reader
The application consists of a simple Graphical-User-Interface
(GUI) which contains a toolbar. This toolbar has three options:
File, Edit, Help.
File
The file tab has three options: Open, Settings, & Exit.
Selecting "Open" prompts the user with a file chooser (Fig.1
Below). From here, the user can navigate to the student handbook
PDF file on their local machine and select "Open".
Fig.1 - File Chooser GUI
Choosing a pdf file will prompt the application to start reading
the selected pdf file and process the data.
The settings tab will open a settings GUI where the user can
edit the settings of the application, such as the upload
locations of the majors and courses in the database. The "Exit"
option closes the application.
Edit
Every time the application processes a file, it is saved in the
recent file history. This tab contains the option to clear your
recent file history.
Help
The Help tab only has one option: View ReadMe. Clicking on this
will open the README.txt which contains instructions on how to
use the program as well as other information.
Technology Used
The application was built using the Java programming language
and the use of the following open-source libraries:
Apache PDFBox
Apache FontBox
Apache Commons
MongoDB Java Drivers
The apache libraries were used for reading and processing data
in the UCT student handbooks and the MongoDB drivers were used
to interface with ADVICE's MongoDB database.
Code Structure
Fig.2 - UML Class Diagram
Methods Used to Process Data
Once a PDF file has been selected, the application uses a pdf
text stripper to check the first page of the document. From
this, the application can determine if it is a UCT student
handbook or not. The program returns an error to the user if it
is not a readable file.
If the input file is a valid student handbook, the program saves
the text in a .txt file and searches iteratively through the
file for specific keywords and symbols to save the relevant
information about each major (name, code, first, second, third,
fourth and fifth year courses) included in the handbook. The
program saves the information in an ArrayList of Major objects.
The program then moves on to the start of the courses section in
the document by locating a keyword (handbook faculty dependent).
The application saves the information for each course it comes
across (course name, code, credits, NQF level, entry
requirements, outline).
The application then asks the user if they would like to upload
the information to the database (Yes/No). If "Yes" is selected,
the program iterates through the CourseArrayList and adds the
entries to the database and then starts the processing the
majors list. For each course that belongs to a major, the
program queries the database using the course code as reference
and fetches the ObjectId field. The program then uses the
ObjectId as a reference to the course when inserting each Major
into the database. This is done so that the website can look up
the information about each course from the Majors collection
using the ObjectId as reference.
Experiment Design & Execution
Human-Computer Interaction with Chat Bots
Survey Outline
In order to gain an understanding of the possible user-base for
ADVICE. A contextual inquiry was conducted. Google Forms was
used as a platform to record responses to questions pertaining
to the use of chatbots and assess general feelings towards a
UCT-made tool for advising students.
The UCT Ethics in Research committee approved the research and
an Informed consent form was included in the beginning of the
Google Form. Participants had to accept the agreement before
they could participate in the research.
The form consisted of 23 short questions where the participants
could choose between multiple options. All respondents were
familiar with the UCT electronic ecosystem as they were once
students at one time or they were currently studying at UCT.
Survey Results
A full breakdown of the survey can be found in the
final paper. Some notable results from the contextual inquiry will be
outlined.
The majority of participants had first-hand experience with chat
bots, but every single participant was aware of them and
understood the concept. Their opinion on whether a chatbot
should have a name was quite divisive. Almost a 50/50 split
between "Yes" and "No".
According to users, the best aspects of a chat bot were how
quikcly they answered and their availability even outside office
hours. A feature many partcipants also wanted was the ability to
get into contact with a human student advisor if the chat bot
could not help them.
The general opinion towards UCT's registration process was quite
low, and many participants were excited at the prospect of a
tool that could help them with their major and courses. When
asked about a potential course credits calculator, the majority
of participants (95%) expressed interest and indicated they
would find benefit from using it.
Participants were happy with giving their name and student
number to the virtual student advisor tool but when asked for
further information, some skepticism arose. Participants were
also skeptic of taking cirriculum advice from a chatbot, but
those who did not agree indicated they would "Maybe" trust the
recommendations. This could mean that students would use it if
they observed that it works and can reliably help people picking
their majors and courses.
Overall, the introduction of this proposed tool was met with
positive feedback and healthy sketicism, this bodes well for the
implementation of the platform as a whole.
Conclusions
The Student Handbook reader can successfully read the format of
the Faculty of Science and Commerce student handbooks and upload
the data to the mongoDB database. Working with the handbooks has
highlighted inconsistencies within them as their formats proved
to differ from faculty to faculty. The handbooks are not a
complete source of information and the website cannot reliably
operate only using information found in the handbooks.
The contextual inquiry highlighted the two most important
aspects of a chatbot, efficiency and availability. One must
ensure that the bot is responsive and can be used at any time.
The ability to contact a student advisor was also a highly
requested feature which should be included on the platform. The
majority of participants expressed that they would find benefit
in using a platform like ADVICE and would potentially trust it
to recommend courses and majors to them in the place of a human
student advisor.
Future Work
Future work on this project could be extending the functionality
of the PDF reader and conducting a more thorough contextual
inquiry. This new inquiry could be based on a prototype and
gathering user-feedback from participants and their experience
with it. The information gathered from this inquiry would be
used to further improve the ADVICE platform and tailor it
specifically for UCT students.