Data Analysis/xAPI

2. xAPI Statements

알밤바 2024. 4. 10. 22:34
728x90
반응형

xAPI란?

 

1. 표준 데이터 xAPI란?

학습 분석 데이터 현재 에듀테크 분야가 지속적으로 발전하고 있으며 이 분야에서도 데이터가 매우 중요한 역할을 하고 있다 하지만 데이터를 수집하기 위한 사용자의 플랫폼, 기기 등 매우 다

ars420.tistory.com

 

 

xAPI Statements

- xAPI에서 추적할 경험 및 이벤트의 증거

- JSON 형태

- 개별 경험들을 합쳐 전체적인 의미를 제공하기 위해 집계 및 분석되도록 의도됨

 

✅ 필수요건

- Statements와 다른 객체는 빈 객체의 값을 포함해서는 안된다

- Statements는 각 Property를 한 번 이상 사용해서는 안된다

- Statements는 actor, verb, object를 사용해야 한다

- Statements는 Property를 어떤 순서로든 사용할 수 있다

 

 

Statements Property

출처 : https://github.com/adlnet/xAPI-Spec/blob/master/xAPI-Data.md#232-voiding

 

 

[1] Actor

- objectType은 Agent / Group 2가지가 존재함

    → Agent : 개인 또는 시스템

    → Group : Agent의 집합

 

1.1) Actor의 objectType이 Agent인 경우

- Agent : 개인 또는 시스템을 나타냄

- Agent는 역기능 식별자 (Inverse Functional Identifier) 중 하나로 식별되어야 함

- Agent는 Group 식별자로 사용되는 역기능 식별자를 사용해서는 안 됨

 

Property Type Description Required
objectType 문자열 Agent가 Statements의 오브젝트로 사용될 때만 필수 선택
name 문자열 Agent의 전체 이름 선택
Agent의 고유한 역기능 식별자 Agent 고유의 역함수 식별자(IFI) 필수

 

 

1.2) 역기능 식별자 (Inverse Functional Identifier)

- Agent나 식별된 Group의 값을 나타냄

- 해당 Agent나 식별된 Group을 고유하게 식별할 수 있도록 보장됨

- 데이터를 저장하고 검색하기 위해서 Agent와 Group은 고유하게 식별될 필요가 있음 → 역기능 식별자 활용을 하여 식별

 

Property Type Description
mbox mailto IRI 필수 형식 : "mailto:email address"
이 Agent에 할당된 적이 있고 앞으로 할당될 이메일 주소만 사용하고
다른 이메일 주소는 이 속성 및 mbox_sha1sum에 사용해야 함
mbox_sha1sum 문자열 mailto IRI의 16진수로 인코딩된 SHA1 해시임.
요청이 mbox를 기반으로 하는 경우, LRS에 일치하는 해시가 있는 에이전트가 포함될 수 있음
openid URI Agent를 고유하게 식별하는 openID
account 객체 기존 시스템 (ex. LMS 또는 내부 네트워크)의 사용자 계정

 

 

1.3) 계정 객체 (Account Object)

- 개인 시스템 (LMS 또는 인트라넷) 또는 공용 시스템 (SNS)과 같은 기존 시스템의 사용자 계정

- Agent 또는 Group에 관한 모든 Statements를 식별하기 위해 Agent 또는 Group에 대한 계정 이름을 사용해야 함

 

Property Type Description Required
homePage IRL 계정이 있는 시스템의 정식 홈 페이지
FOAF의 accountServiceHomePage를 기반으로 함
필수
name 문자열 이 계정에 로그인할 때 사용되는 고유한 ID 또는 이름
FOAF의 accountName을 기반으로 함
필수

 

📚 [참고] FOAF란?

 

 

[2] Verb

- Actor와 Activity 간의 동작을 정의

- 학습 경험 중에 수행된 동작을 설명함

- xAPI는 특정한 Verb를 지정하지 않음

- 대신, 의미 있는 Verb를 설정하고 누구나 사용할 수 있도록 Verb를 어떻게 만들어야 하는지 정의

- IRI와 여러 언어에 해당하는 인간이 읽을 수 있는 Verb의 의미를 제공하는 이름으로 구성

 

Property Type Description Required
id IRI Verb 정의에 해당함
단어가 아니라 Verb의 의미에 해당함
필수
display 언어 맵 선택한 Verb에 이미 결정된 의미를 읽을 수 있는 표시로 제공 권장

 

- id에 포함된 IRI는 사람이 Statements를 검토하여 Verb를 다른 유사한 Verb와 구별할 수 있는 충분한 의미를 제공해야 함

- 단일 Verb IRI는 여러 의미를 나타내기 위해 사용되어서는 안됨

- display는 이미 Verb IRI로 결정된 의미를 Description하기 위해 사용해야 함

 

 

[3] Object

- 수행된 동작 대상을 정의

- Object는 활동(Activity), Agent/Group, 하위 Statements(Substatement), Statements 참조가 될 수 있음

 

3.1) ObjectType이 활동(Activity)인 경우

Property Type Description Required
objectType 문자열 Activity 선택
id IRI 단일 고유한 Activity를 식별하기 위한 식별자 필수
definition Object 메타데이터 선택

 

 

3.2) Activity Definition

Property Type Description Required
name Language Map Activity의 인간이 읽을 수 있는 이름 추천
description Language Map Activity의 설명 추천
type IRI Activity의 Type 추천
moreInfo IRL Activity에 대한 인간이 읽을 수 있는 정보
이 정보에는 Activity를 실행하는 방법이 포함될 수 있음
선택
extension Object 필요한 다른 Property들의 맵 선택

 

 

[4] Result

- Statement와 관련된 측정 결과를 나타냄

 

Property Type Description Required
scaled -1 에서 1 사이의 십진수 스케일링 및 정규화로 수정된 경험과 관련된 점수 권장
raw min 및 max (있는 경우) 문장에 설명된 경험에서 Agent가 달성한 점수 선택
min min 및 max (있는 경우) 가장 낮은 점수 선택
max min 및 max (있는 경우) 가장 높은 점수 선택

 

 

[5] context

- Statements 일부 상황에 맞는 정보를 추가할 수 있는 장소 제공

- 경험이 어떤 다른 활동에 어떻게 부합하는지 등의 정보를 저장할 수 있음

 

Property Type Description Required
registration UUID Statement가 연결된 등록 정보 선택
instructor Agent (Group) Statement와 관련된 강사 (Actor로 포함되지 않는 경우) 선택
team Group Statement와 관련된 팀 (Actor로 포함되지 않는 경우) 선택
context Activities Object Statement와 관련된 학습 활동
context Type의 맵
선택
revision 문자열 Statemnet와 관련된 학습 활동의 수정 버전 (형식 자유)
Object가 Activity인 경우에만 사용
일반적인 문제 수정을 추적하는데 사용 (큰 변화가 있을 경우 새로운 Activity ID 사용)
선택
platform 문자열 학습 활동 경험에서 사용된 플랫폼
Object가 Activity인 경우에만 사용
선택
language 문자열 Statement에서 기록된 경험에 적용되는 언어를 나타내는 코드 선택
statement   Statement의 context로 고려할 다른 Statement 선택
extension 문자열 도메인별 context의 맵
(ex.고도, 공기속도, 바람, 자세, GPS 좌표 등)
선택

 

- registration

   → 시도, 세션일 수도 있으며 여러 활동에 걸칠 수 있음

   → 동일한 registration은 동일한 학습 경험에 대한 statement 요청에 모두 사용되며 모든 데이터가 일관되게 기록됨

 

- context Activities

   → 많은 Statements는 단 하나의 활동에만 관련되는 것이 아니라 다른 문맥적으로 관련 있는 활동과 관련됨

        이러한 관련 활동을 구조화된 방식으로 나타냄

   → Parent / Grouping / Category / Other

 

 

[6] Timestamp

- 경험이 발생한 시간

- stored 속성과 다를 수 있음 → 경험이 발생한 시점과 해당 statement가 LRS에 의해 수신되기까지 지연이 있을 수 있음

 

 

[7] Stored

- Statement가 LRS에 의해 저장된 시간

- LRS가 Statement를 수신한 시간과 저장될 때까지의 어떤 시간이든 될 수 있음

 

 

[8] Authority

- Statement가 참된 것임을 주장하는 주체에 대한 정보 제공

- 인증된 사용자 또는 일부 시스템 또는 애플리케이션을 나타냄

 

 

[9] Version

- LRS는 그들이 그 외에 유효성을 검사하는 경우, 버전이 1.0.으로 시작하는 모든 Statements를 수용해야 함

- 버전이 지정되었지만 1.0.으로 시작하지 않은 모든 Statemnets를 LRS는 거부해야 함

 

 

[10] Attachments

- 경험의 결과로 부여된 이미지, 에세이, 비디오 등

- Attachment를 LRS에 저장하고 검색할 수 있는 방법 필요

 

 

 

Reference

 

xAPI-Spec/xAPI-Data.md at master · adlnet/xAPI-Spec

The xAPI Specification describes communication about learner activity and experiences between technologies. - adlnet/xAPI-Spec

github.com

 

 

[공식 문서 한글 번역판] xAPI docs 2.0 Data 톺아보기

1.0 문서 Documents Experience API는 학습 기록 공급자(LRP)가 임의의 데이터를 문서 형태로 저장할 수 있는 기능을 제공한다. 이 데이터는 대체로 비구조화되어 있으므로 유연성을 가질 수 있다. 문서

zzgrworkspace.tistory.com

 

728x90
반응형

'Data Analysis > xAPI' 카테고리의 다른 글

1. 표준 데이터 xAPI란?  (0) 2024.04.10