2015.05.19 tom de nies - tin can2prov exposing interoperable provenance of learning processes...

25
ELIS – Multimedia Lab Tom De Nies, Frank Salliau, Ruben Verborgh, Erik Mannens, Rik Van de Walle Ghent University – iMinds – MMLab http://research.tomdenies.be [email protected] @TomDeNies TinCan2PROV: Exposing Interoperable Provenance of Learning Processes through Experience API Logs

Upload: tdenies

Post on 31-Jul-2015

210 views

Category:

Engineering


4 download

TRANSCRIPT

Page 1: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

Tom De Nies, Frank Salliau, Ruben Verborgh,

Erik Mannens, Rik Van de Walle

Ghent University – iMinds – MMLab

http://research.tomdenies.be

[email protected]

@TomDeNies

TinCan2PROV:

Exposing Interoperable Provenance of Learning Processes through Experience API Logs

Page 2: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

Logging learning processes

Tin Can a.k.a. the Experience API

W3C PROV: the standard for provenance

Mapping Tin Can to PROV

Put it to the test

What’s next?

Conclusion

Outline

Page 3: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

Logging Learning Processes

Page 4: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

Digital learning records can give us insight in:

Student performance

Learning circumstances/context

Correlation between students, assignments, teachers, materials, …

And much more!

Logging Learning Processes

Page 5: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

(a.k.a. the Experience API, a.k.a. the xAPI)

Currently the go-to solution to effectively log (learning) experiences.

Pros: developer-friendly JSON format, easy-to-understand basics, plenty of Learning Record Store (LRS) options to manage the logs.

Cons: no full-fledged Linked Data, some awkward design choices

How can we log learning experiences?

Page 6: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

{

"actor": {

"mbox": "mailto:[email protected]",

"name": "Tom De Nies",

"objectType": "Agent"

},

"verb": {

"id": "xapi-verbs:completed",

"display": { "en": "completed" }

},

"object": {

"id": "http://www.example.org/exercise1",

"objectType": "Activity",

"definition": { "name": { "en": "Example Activity" } }

}

}

Time for an example

“I”

“did”

“this”

Page 8: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

We could, but then we would miss some opportunities:

There’s just 1 serialization: JSON

This would limit the choices in database technology …

… which would limit the choices when building a LRS

Tin Can’s machine-interpretability is sub-optimal (e.g., the URL for the specification is either a PDF or a Github blob)

Interoperability could be improved

Why not just use Tin Can as is?

Page 9: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

Let’s look at that earlier Tin Can statement in another way:

What can we do about this?

Tom De Nies completed

Example Activity

Page 10: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

… called provenance

“Provenance is information about entities, activities, and people involved in producing a piece of data or thing.” – W3C PROV

http://www.w3.org/TR/prov-dm/

So if learning experience logs describe the things that led to a result … they are actually provenance!

… and that means we can model it in PROV!

This reminds me of something…

Page 11: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

PROV has the power to address our previous concerns:

There’s many serializations: PROV-N, RDF, XML, JSON, …

This could go in any database: mongodb, relational, a triple store, linked data fragment, …

… we could use this to build a LRS ourselves!

Everything is machine-interpretable

Interoperability is PROV’s raison d’être…

Why PROV?

Page 12: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

Learning logs could be cross-referenced with:

Imagine the possibilities…

Version history of educational software

Lineage and inventory of the study material

Provenance of the teaching staff, IT infrastructure, …

And so on!

Page 13: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

Overview of our workflow

Page 14: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

Step 1: bring the statement closer to actual Linked Data

http://www.w3.org/TR/json-ld/

In theory, all we need is to add an “@context” :

“http://semweb.mmlab.be/ns/tincan2prov/tincan2prov.jsonld”

which maps every JSON field to a concept in an ontology.

In practice, this revealed some flaws with the xAPI specification…

JSON-LD

Page 15: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

There was no ontology (at least no machine-interpretable one).

So we created one: http://semweb.mmlab.be/ns/tincan2prov/

Adding this to root of JSON object should work now:

“@context”: http://semweb.mmlab.be/ns/tincan2prov/tincan2prov.jsonld,

“@type”: “xapi:Statement”

Converting xAPI JSON to JSON-LD (1/2)

Page 16: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

Hiccups encountered:

- The field “id” is reserved for the URI in JSON-LD, so we need to add "@context": { "id": "@id"} to every verb and object property

- Language tags: xAPI conforms to RFC 5646, whereas JSON-LD conforms to RFC 4646

- Extensions & attachments are use case dependent

- Equally named fields don’t always have the same datatype

(e.g., id can sometimes be a UUID, other times a URI)

Converting xAPI JSON to JSON-LD (2/2)

Page 17: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

{

"@context": “http://semweb.mmlab.be/ns/tincan2prov/tincan2prov.jsonld",

"@type": "http://semweb.mmlab.be/ns/tincan2prov/Statement",

"actor": {

"mbox": "mailto:[email protected]",

"name": "Tom De Nies",

"objectType": "Agent"

},

Our running example in JSON-LD (1/2)

Page 18: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

"verb": {

"@context": { "id" : "@id" },

"id": "xapi-verbs:completed",

"display": { "en": "completed",

"nl": "afgewerkt"

}

},

"object": {

"@context": { "id" : "@id" },

"id": "http://www.example.org/exercise1",

"objectType": "Activity",

"definition": {

"name": { "en": "Example Activity" }

}

}

}

Our running example in JSON-LD (1/2)

Page 19: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

[] xapi:actor [ a xapi:Agent;

xapi:name "Tom De Nies"@en;

foaf:mbox <mailto:[email protected]> ];

xapi:verb xapi-verbs:completed ;

xapi:object <http://www.example.org/exercise1> .

xapi-verbs:completed

xapi:display "completed"@en ,

"afgewerkt"@nl .

<http://www.example.org/exercise1>

a xapi:Activity ;

xapi:definition [

xapi:name

"Example Activity"@en

] .

…or in RDF/Turtle

Page 20: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

xapi:actor → prov:Agent

xapi:verb → prov:Activity

xapi:object → prov:Entity

xapi:result, xapi:score, xapi:context, xapi:attachments→ prov:Entity

xapi:contextActivities → prov:Collection of xapi:Activity

xapi:stored → prov:wasGeneratedBy

xapi:timestamp → prov:qualifiedStart

Infer PROV assertions (in a nutshell)

Page 21: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

The result

Page 22: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

Try it yourself at http://tincan2prov.org

Page 23: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

How do you evaluate a mapping?

→ by using it extensively in practice

Again, only experience will tell…

For now:

checked with 20 diverse statements from the public Tin Can LRS

http://tincan2prov.org/evaluation.html

- Smooth conversion (when input was valid)

- No loss of information observed (so mapping can be reversed if need be)

Put it to the test

Page 24: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

Flemish project Edutablet http://www.iminds.be/en/projects/2014/03/20/edutab

User-driven development and optimization of digital teaching aids in education

Real-life tests in schools running as we speak

The end-game: a fully LD/PROV-based LRS

What’s next?

Page 25: 2015.05.19   tom de nies - tin can2prov exposing interoperable provenance of learning processes through experience api logs

ELIS – Multimedia Lab

The foundations for interoperable learning logs are there.

Now we need to start harnessing the power of Linked Data in education…

… and TinCan2PROV is a small step in the right direction!

http://tincan2prov.org

Conclusion