Prometheus-X Components & Services

Learning Records Converter (LRC)

Overview

Learning Records are available in many formats, either standardized (xAPI, SCORM, IMS Caliper, cmi5) or proprietary (Google Classroom, MS Teams, csv, etc). This wide vairety of format is a barrier to many use cases of learning records as this prevent the easy combination and sharing of learning records datasets from multiple sources or organizations.

As a result, Inokufu was tasked, within the Prometheus-X ecosystem, to develop a Learning Records Converter which is a parser translating datasets of learning traces according to a common xAPI profile.

Objectives and Expected Outcomes

The objective of this building block is to specify and develop APIs type “parser” to convert educational traces from one standard to another. Depending on the software and tools used in the field of education and training (LMS, LXP, ENT, etc.) several standards coexist in terms of data model of learning traces: SCORM, xAPI, cmi5, IMS Caliper, etc. This task will allow to combine learning traces data sets expressed in different standards.

This will allow, among other things, the aggregation of datasets (e.g. from LRS) in order to obtain either a larger volume of data or a follow-up of learning over a longer period of time and/or across several applications and educational platforms. These combined datasets will allow training of Machine Learning models on a scale that was previously impossible, except in situations of monopolistic data appropriation (e.g. Microsoft with Linkedin, Linkedin Learning and Teams).

Note that by nature, the aggregation of learning traces could pose problems of identification of the individuals concerned (i.e. the learners). Therefore, in alignment with the Anonymization and Pseudonymization task, the APIs of this task will de facto integrate anonymization and pseudonymization functionalities, with a particular vigilance for geographical data which are generally the weak points allowing de-anonymization.

Approach

The Learning Record Converter (LRC) is a robust and flexible application designed to transform educational learning records from and into various formats. Tailored to adhere to the Experience API (xAPI) Profile specification, LRC facilitates a streamlined conversion process through a two-phase operation, which ensures that the input data is correctly interpreted, transformed, augmented, and validated to produce compliant JSON outputs. The first phase converts a Learning Record from various input formats, into a single xAPI format. The second phase converts the xAPI learning records to ensure that they comply with the xAPI DASES Profiles.

Here is an architecture diagram illustrating the approach of the LRC to parse an input Learning Record in various standard, custom or unknown formats into an output Learning Record according to DASES xAPI profile.

LRC_Phase1.png

Phase 1: Learning Records to xAPI

The aim of this first phase is to convert a Learning Record to xAPI. In order to do this, we will set up two consecutive processes: Input Data Validation, and Data Transformation.

Input Data Validation

This component’s role is to identify the format of the input Learning Record, and to validate that the records are valid. Each dataset of Learning Records will have a metadata attribute stating the input-format of the learning record. This attribute will have one of the following values:

If the input-format is known, or if the custom data descriptor is given as input, the corresponding data descriptor will be loaded to validate Learning Records are compliant. Otherwise, every data descriptors will be loaded, and try to interpret learning records.

Data Transformation

This component’s role is to convert the validated input data into the xAPI format.

Depending on the input-format of the learning records dataset, the processing will differ as follows:

The first phase of the LRC is built with community collaboration in mind. It allows for easy contributions and extensions to both the input and output formats. The community can develop and share their own data descriptors and converters, which can be seamlessly integrated into the LRC’s ecosystem, thereby enhancing the application’s versatility to handle various input and output formats.

Here is a detailed architecture diagram illustrating the first phase of the LRC, to parse an input Learning Record in various standard, custom or unknown formats into an output Learning Record according to the xAPI standard.

LRC_Phase1.png

These two consecutive processes can be summarized by this flow chart.

LRC_Phase1_FlowChart.png

Phase 2: xAPI to DASES

The aim of this second phase is to transform the xAPI Learning Record according to DASES xAPI profiles. The processing approach for this second phase is to break down each xAPI learning record in five key parts, then process each part to fit the DASES xAPI profile.

Here is a detailed architecture diagram illustrating the second phase of the LRC, to parse an input Learning Record in xAPI standard into an output Learning Record according to DASES xAPI profiles.

LRC_Phase2.png

Actor identity component (AIC)Specifically

This component’s role is to transform the original-id part of a learning record into a final-id that matches the xAPI DASES profiles and from which the personal data have been either suppressed (anonymized) or transformed (pseudonymized) based on the interaction with other dataspace’s building blocks and in agreement with personal data regulations.

The AIC first step is to detect all the information related to the actor to which the Learning record is associated. Specifically, the component will extract user id, first name, last name, email address, postal address, username, phone number, birth date and birth place or any other identifier (SSN, social networks, etc).

Depending on the authorization the data consumer organization has, personal data will either be reformatted to fit the DASES xAPI profiles, or anonymized / pseudonymized depending on the cases and in accordance with european data regulations such as GDPR.

The anonymization and pseudonymization functionalities will rely in part on Prometheus-X Anonymization and Pseudonymization building block.

Action verb component (AVC)

This component’s role is to transform the original-action part of a learning record into a final-action according to xAPI DASES profiles.

The AVC component will suggest the most likely xAPI action verbs defined in xAPI DASES profiles, based on the original-action content.

Learning object component (LOC)

This component’s role is to transform the original-object part of a learning record into a final-object according to the xAPI DASES profiles.

The LOC component will try to fill in as much information as possible in the object, according to xAPI DASES profiles based on the original-object content.

The LOC-enricher is a sub-component of the LOC, used to integrate with external Learning Object library/repository and being able to fetch more metadata about the original-object in order to enrich the metadata in the final-object.

Context component (COC)

This component’s role is to transform the original-context part of a learning record into a final-context according to the xAPI DASES profiles.

The COC component will try to fill in as much information as possible in the context, according to xAPI DASES profiles based on the original-context content.

Datetime component (DTC)

This component’s role is to transform the original-datetime part of a learning record into a final-datetime according to the xAPI DASES profiles.

The DTC component will suggest the most likely datetime according to the xAPI DASES profiles based on the original-datetime content.

Future improvements

The objective for the V1 of the LRC is to build the functionalities described above.

However, we have already in mind some potential improvement for the next version of the LRC:

Project status

Please note this project is work in progress.

Roadmap

Here are the key milestones of the project:

Interoperability of Learning Records: State-of-the-Art in 2023

As a preparatory work for the development of the Learning Records Converter, Inokufu has conducted an exhaustive state of the art and quantitative study about the interoperability of Learning records.

This study is available here

Setup and installation

ToDo: this part will be completed when the first stable version of the code will be released.

Contribution guidelines

We welcome and appreciate contributions from the community! There are two ways to contribute to this project:

Before submitting your pull request, please ensure that your code follows our coding and documentation standards. Don’t forget to include tests for your changes!

References

https://gaia-x.eu/gaia-x-framework/

https://prometheus-x.org/

https://dataspace.prometheus-x.org/building-blocks/interoperability/learning-records