adlnet / xapi-profiles

A set of documents addressing the structure of and supporting services for xAPI Profiles.

Home Page:https://adlnet.gov/projects/xapi/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ambiguities in Concepts

garajo opened this issue · comments

commented

Thank you for the work on Profiles and your efforts to refine the vocabulary. Personally, one of the hurdles that has stopped me from adopting xapi is defining the vocabulary set at project onset. It feels difficult defining a vocabulary set I could feel confident about. Doubts surface whether any set of vocabulary will sufficiently describe the learning scenarios I will need to cover (or how to easily and readily it is to change a working set), and whether or not the set of terms would be inline with the professional community. I think if you were to eliminate these doubts, adoption would be much easier.

Filing an issue about the xAPI Profiles specification? Please include the following

In the Concept spec says

A Profile MUST NOT define a Concept that is defined in another Profile unless it supersedes all versions of the other Profile containing the Concept and indicates that in with wasRevisionOf.

  • What is your understanding of what the spec means in these parts?

    A Concept can only be defined once in a Profile. But I'm not entirely clear on how each Concept is distinguished from another. Is it by the lemma lexical entry, ie. "abandoned"@en', "accepted"@en. Or by IRI?

  • Which part/parts of the specification are at issue?

  • Related to your implementation, what's the use case you're trying to achieve? What are the user stories you're trying to support?

I am trying to develop a generic xAPI module, that would be greatly enhanced having a default generic yet well composed set of terms to start with.

  • How you would like the specification to be improved?

If Concepts are defined by their unique lemma lexical entries, then why are there some terms that have been repeated across different Profiles? If not, what gives them their unique definition across available profiles?

for example, in http://xapi.vocab.pub/verbs/index.html , 'accessed' has two entries.

https://w3id.org/xapi/seriousgames/verbs/accessed	"accessed"@en	"Indicates that the actor has gained access to the object. Associated to the virtual places a player visits during a gameplay."@en

http://activitystrea.ms/schema/1.0/access	"accessed"@en	"Indicates that the actor has accessed the object. For instance, a person accessing a room, or accessing a file."@en 

Are we supposed to use /seriousgames/verbs/accessed only in serious games?

This is repeated for many terms, some belonging to 3 Profiles. Can someone clarify how one would choose which one to use of these two terms? Or describe how to compose a set of terms for a specific learning experience.

In addition, there is ambiguity with words of different lexicons. I feel I would be spending a lot of time and review in deciding between terms that are semantically related. How would one disambiguate from the following summarized example?

http://id.tincanapi.com/verb/viewed	"viewed"@en	"Indicates that the actor has viewed the object."@en

http://activitystrea.ms/schema/1.0/watch	"watched"@en	"Indicates that the actor has watched the object. This verb is typically applicable only when the object represents dynamic, visible content such as a movie, a television show or a public performance. This verb is a more specific form of the verbs experience, play and consume."@en

https://w3id.org/xapi/adb/verbs/watched	"watched"@en	"Indicates that the actor has watched the object. This verb is typically applicable only when the object represents dynamic, visible content such as a movie, a television show or a public performance."@en

https://w3id.org/xapi/acrossx/verbs/watched	"watched"@en	"Indicates the actor observed a visual obect."@en

Thanks for taking the time for the questions and feedback, @garajo . Let me try to respond:

In regards to how Concepts are distinguishable, it is by IRI for the MUST requirement. However, each Concept should semantically have a particular function within a Profile, and ideally, within the entire user-base of xAPI. Within a Community of Practice would be middle-ground.

As far as the generic terms to start with, I would definitely look at the existing profiles within https://github.com/adlnet/xapi-authored-profiles and in particular follow the IRIs to their respective communities of practice. In particular, acrossx defines many e-learning behaviors and cmi5 is a community of practice seeking to standardize how an LMS would implement xAPI in a more tangible way.

The rest of your comments address the giant elephant in the room. How on earth do we stop duplication of terms and of IRIs across all of these Communities of Practice? We are working to try to get ahold of that problem and "wrangle" in IRIs to be more consistent. As general guidance for now, choose one with a w3id IRI, understanding that even that doesn't eliminate all duplicates. We have our work cut out for us, to be sure.

If I have missed anything or you have other questions, please don't hesitate to ask!

commented

Thanks @andyjohnson for clearing some things up and helping me to understand better. Having worked with a language app, I can understand how frustrating it can be with semantics. Unique by IRI makes sense in that does not limit inclusion of future Concept submission limited by the lemma lexical entry. But without proper governance, by IRI present a multiplier situation where a lemma lexical entry can be duplicated, well as many times as there are participating IP addresses. And that has not even factored in the permutations of potential lemmas lexical entries per lexicon.

I have been reviewing cmi5 Profile, and saw the IRI are composed like this

https://w3id.org/xapi/adl/verbs/abandoned
https://w3id.org/xapi/adl/verbs/satisfied
https://w3id.org/xapi/adl/verbs/waived
https://w3id.org/xapi/cmi5/activities/block
https://w3id.org/xapi/cmi5/activities/course
https://w3id.org/xapi/cmi5/result/extensions/progress
https://w3id.org/xapi/cmi5/result/extensions/reason
https://w3id.org/xapi/cmi5/context/extensions/sessionid
https://w3id.org/xapi/cmi5/context/extensions/masteryscore
https://w3id.org/xapi/cmi5/context/extensions/launchmode
https://w3id.org/xapi/cmi5/context/extensions/launchurl
https://w3id.org/xapi/cmi5/context/extensions/launchparameters
https://w3id.org/xapi/cmi5/context/extensions/moveon

I see that the concept IRIs are composed of different profiles, ie. a few linked from adl and the others native to cmi5. Is that right?

This leads me to think we are allowed to compose a vocabulary set from different profiles.
If cmi5's set lacks a term for my use case, what is the recommended way to manage this situation?
I would prefer a limited set targeted for my specific use case, but I'm would be happy with a generic one targeted for elearning. However, no one particular set seems to fit.
Can we mix and match from different Profiles? Though choosing again from such a large set will again seem daunting.

The discussion on these pull requests, adlnet/xapi-authored-profiles#39 adlnet/xapi-authored-profiles#34
support the notion that we are supposed to mix and match from other profiles. Otherwise, adopters are having to adopt entire sets.

The flip side is to use a larger set to get 'blanket coverage'. However, though you get the terms you need to make your statements and experience work, again there are usually too many. The Activity Stream set is a much bigger set and just as confusing to navigate as the English language for this purpose.

Thanks for helping me move the needle already and for any thoughts you have.

commented

It seems the real crux of the ambiguities lie with the verbs. I kept looking for something that could give some sort of frame of control and came across this. It may help, https://verbs.colorado.edu/verb-index/vn3.3/ . Check out the Class Hierarchy page. Here is the introductory page, http://verbs.colorado.edu/~mpalmer/projects/verbnet.html

We definitely encourage using more than profile when building your vocabulary. Since, as you mentioned, it does allow for more coverage, and is meant to discourage more duplicate IRIs.

commented

@FlorianTolk Thanks. You mean duplicate lexicons, right? We want to avoid the same lexicon with unique IRIs. ie

https://w3id.org/xapi/seriousgames/verbs/accessed
http://activitystrea.ms/schema/1.0/access

@garajo yes, these situations are exactly what we are trying to avoid

@garajo Thanks for the resources. We had previously used Princeton's WordNet to disambiguate terms in english and appreciated their support for other languages (although as you know, we don't want to classify lexicons as a particular language). I'm hopeful that we end up with many profiles that all grab terms from each other and potentially don't even coin ANY of their own terms. In that way, collections of terms from multiple profiles can form logical sets around Communities of Practice. As we ramp up efforts this year, please stay involved as we'll be tackling some of these problems!