Student Assistance with Smart Devices

Project phases

View All Projects

The UBC Cloud Innovation Centre (CIC) collaborated with the Faculty of Science at UBC to develop the Student Advising Assistant prototype, which provides around-the-clock access to a question-answer repository that addresses academic inquiries based on the UBC Academic Calendar. To further improve the user experience, the development team identified an opportunity to integrate voice interaction using AWS Alexa technology.

Approach

Recognizing the diverse preferences and needs of users, the project focused on upgrading the prototype Student Advising Assistant by integrating Alexa technology. This implementation is straightforward because of the extensibility of the original project; we enable users to interact with Ask Cali through voice commands, offering a more convenient and inclusive experience, while also aligning with our commitment to accessible technology for everyone.

Users speak to Alexa-enabled devices, initiating requests like “Alexa, open student advising.” The system utilizes AWS Lambda for handling requests, and connects with the project’s API on AWS Elastic Beanstalk. The API then processes queries and returns responses, which are then communicated back to users via Alexa. This conversational approach enhances the user experience, making academic support more accessible and user-friendly.

Technical Details

The following section explains the architecture of the application. Users can activate the skill on their Alexa-enabled device with the command “Alexa, open student advising.”

Architecture Diagram

Architecture diagram of the Student Advising Assistant Voice Integration

Step-by-step

  1. Alexa receives information from the user about their faculty, program, and year level.
  2. Alexa first converts voice to text, uses Natural Language Understanding (NLU) to interpret the user’s request, then calls the backend AWS Lambda function to handle the request.
  3. The AWS Lambda function, serving as a request handler, interacts with the API from the Student Advising Assistant project. The API, hosted on AWS Elastic Beanstalk, consists of specific routes for various purposes.
    • When users choose the question type (either a general or program-specific question), it accesses the “/faculties” route  to obtain a list of faculties
    • When users answer their faculty, it accesses the “/programs” route to retrieve the list of programs associated with the selected faculty
    • When users answer the subject name of their specialization, it accesses the “/specializations” route to retrieve the list of relevant specializations
    • When users submit a question, it accesses the “/question” route to call the question-answering system defined in the Student Advising Assistant project, and generates an answer for the given question
  4. The generated response is sent back from the Student Advising Assistant to the Lambda handler in the form of a JSON-formatted data object.
  5. The AWS Lambda function then receives the answer as an HTTP response, which is in JSON format and contains the necessary data to update the Alexa Skill. It reads the data, updates entities accordingly, and then prepares the confirmation message to send back to the device.
  6. Alexa interprets the response, converts text to voice, and speaks the answer back to the user. If needed, it asks for additional information from the user (e.g., program, specialization, year level, etc).

Link to solution on GitHub: https://github.com/UBC-CIC/student-advising-voice-assistant

Link to the Student Advising Assistant solution on GitHub: https://github.com/UBC-CIC/student-advising-assistant

Demo Video

Acknowledgements

Photo by Daniel Bennett

About the University of British Columbia Cloud Innovation Centre (UBC CIC)

The UBC CIC is a public-private collaboration between UBC and Amazon. A CIC identifies digital transformation challenges, the problems or opportunities that matter to the community, and provides subject matter expertise and CIC leadership.

Using Amazon’s innovation methodology, dedicated UBC and Amazon CIC staff work with students, staff and faculty, as well as community, government or not-for-profit organizations to define challenges, to engage with subject matter experts, to identify a solution, and to build a Proof of Concept (PoC). Through co-op and work-integrated learning, students also have an opportunity to learn new skills which they will later be able to apply in the workforce.