Inspiration
With the social distancing measures required by the pandemic, online schooling typically focuses on using video conferencing software like Zoom to facilitate classes and connect human instructors to students. Although there are a few obvious advantages for students and teachers with this approach, there is also massive potential in utilizing Web-based multimedia and the major advances in computing areas like machine learning and natural language understanding to maximize scarce teacher human resources, and provide far more sophisticated and inclusive learning environments for students. Individual students can be highly variable with their attention span, short-term memory and social interaction needs. As someone with moderate ADHD, I’ve experienced the challenges that students can face with traditional classroom based education programs and I would like to create a learning environment that can play to the strengths of individual students, not only their weaknesses.
What it does
Lerna is an online learning environment that features a virtual pedagogical and learner resource agent that uses a conversational user interface to interact with students. Students converse with Lerna just as they would with a human teacher's assistant and Lerna uses natural language understanding (NLU) to understand and respond to questions and instructions and deliver individual tutoring programs. Lerna is an electronic adjunct to traditional instruction with capabilities like:
- An intelligent tutoring system that simulates and retains many of the advantages of one-one personalized instruction without requiring a human instructor to be present.
- Help students understand and monitor their own metacognitive processes and use effective learning strategies by providing electronic aides like study journals, checklists, etc.
- Help students with their class schedules, provide reminders for class times, exams, parent-teacher meetings and other events.
- Set and coordinate student goals with a teacher’s learning goals.
- Collect data that teachers and parents can use to monitor their child’s progress.
Lerna is a purely browser-based solution and does not require any special apps or hardware. All students need to access it is a internet connection and browser. Lerna is multimodal and interacts with students using both text and speech. The Lerna interface is a simple line-oriented conversational user interface that does not use complex GUI widgets and can reduce the need to use assistive technology like screen readers for students with vision or other disabilities.
There is a lot of research that shows how conversational agents that simulate social interaction can improve the learning experience for young students. Lerna is designed to be a supportive agent that can hold a student’s interest and simulate a personal tutor or assistant or just a friendly companion for each student.
How we built it
Overview
Lerna is written entirely in F# using .NET Core and the WebSharper framework with PostgreSQL as the storage back-end and the RedHat OpenShift Container Platform as the cloud hosting environment. The Lerna front-end is a browser-based CUI which uses natural language understanding on both text and speech, together with voice, text and graphic output using HTML5 features to provide an inclusive interface for one or more programs the student enrolls in. The front-end is designed to be accessible to all mobile and desktop users and does not require any additional software beyond a HTML5 compatible browser.
Client
The CUI, server logic and core of Selma are written in F# and make heavy use of functional language features like first-class functions, algebraic types, pattern-matching, immutability by default, and avoiding nulls using Option types. This yields code that is concise and easy to understand and eliminates many common code errors, which is an important feature for developing health-care management software. CUI rules are implemented in a declarative way using F# pattern matching, which greatly reduces the complexity of the branching logic required for a rule-based chatbot without relying on cumbersome frameworks or markup like AIML.
Server
The Lerna server is designed around a set of micro-services running on the OpenShift Container Platform which talk to the client and stored data in the storage backend. Educational and tutoring content is stored in a set of knowledge bases that use ML models to provide answers to questions the student asks.
| NAME | DESCRIPTION |
|---|---|
| RedHat OpenShift Container Platform | Cloud application deployment and hosting platform. |
| PostgreSQL | Open-source relational database server. |
| .NET Core | Open-source cross-platform managed application runtime |
| ASP.NET Core Modern application stack for building .NET web applications | |
| F# | Functional-first multi-paradigm programming language |
| WebSharper | Open-source web framework for F# |
| Wit.ai | Natural language understanding service from Facebook |
Challenges we ran into
Building good NLU models requires lots of input data and examples.
What's next for Lerna: A K12 pedagogical a nd learner support agent
More research on building an open-source multimodal Intelligent Tutoring System (ITS) modelled after the AutoTutor family of learning environments.
Log in or sign up for Devpost to join the conversation.