Pythia blind assistant

Recommendation engine, based on scalable, interpretable Bayesian Opposition based classifier.





Blind recommendation engine is a ML service designed to filter out materials for blind and partially blind students. It is built on the principles of transparency, interpretability and efficiency of learning. For its operation it requires no previous personal information about the users; through students’ interactions with the system, it learns their preferences which it then displays to the teachers.

Core ML principles

Two objectives for a ML algorithm that is used for material recommendation were:
  • Ability to learn efficiently/on small datasets
  • Ability to provide explanation about the recommendations
To achieve these goals, a variant of Bayesian classifier was adopted to work in a recommendation setting. Because of these specific goals, standard recommendation approaches (such as collaborative filtering) could nod be used in this application. Details about the algorithmic approach used are described in the technical documentation.


Functionality for students

The core functionality of the Pythia Blind recommendation engine is to rank available materials to the student according to their level of accessibility. The system learns each individual student’s accessibility preferences and then ranks teaching materials accordingly. To simplify the user interface, teaching materials are organized into classrooms that require not text input for search (selection of appropriate materials is selected and organized into classrooms by teachers). The core functionality can also be integrated as a service into other platforms and services (such as search or even other recommendation services).
User interface for students is minimalistic in design – the main design principle behind the UI was to limit the number of necessary interactions (clicks, text inputs ect.). It is also designed in accordance with ISO accessibility guidelines for blind and partially blind users.


Why do we need individualized recommendations?

Recommendation engine is built upon ISO accessibility guidelines. With inception of this service, our core assumption was that different standards are differently important to different students. A single material (that conforms to some but not all standards) can thus be accessible to one student but inaccessible to another. This basic assumption was confirmed in our beta testing and presented in the conference (Molan, Bulathwela, Orlič 2020).


Functionality for teachers

The Pythia recommendation webservice is designed in a way that helps teachers manage the work with their students. Teachers import materials into Pythia (either directly from X5Gon or as web links) and organize them into classrooms (like 6th grade biology). Then teachers assign students to appropriate classrooms (each student can be assigned to multiple classrooms). Because the target students have limitations in their ability to interact with a computer, all organizational and management activities are relegated to their teachers (adding materials, managing classroom lists, creating new classrooms…).
Besides the ability to organize their teaching process, Pythia also visualizes the parameters learned about students (both as individuals and for the whole classrooms). Visualizations and explanations are built on the properties of the recommendation algorithm used and are explained in a teachers’ guide.