들어가며
xAPI 프로파일을 만드는 방법을 설명하기에 앞서 지난 주에 의도치않게 한 이사님의 말이 불씨가 돼서 xAPI 관련 발표를 1시간 하게 됐다. 그래서 공식 문서 처음부터 다시 다 읽어보고 피피티 만들고 ... LMS에서 어떤 분석과 설계 과정을 진행할 것인지까지 발표 내용이었다. 그리고 다른 팀원이 프로필 생성과 활용 사례 등을 20분 정도 간략히 설명했는데, 나는 그 부분을 잘 모르겠어 따로 공부를 해봤다. 프로파일 만드는 방법이야 많지만 이번엔 ADL 가이드라인대로 진행해보았다.
ADL Profile Guide
방법론
xAPI 프로파일은 조직이 인간 성과에 중점을 둔 가치를 어느 정도로 체계화하는 것과 관련이 있다. xAPI 프로파일을 구현하면 학습 경험을 규제하는 일종의 투명한 규칙 세트가 구현된다. 이 규칙들은 이상적으로는 해당 xAPI 프로파일을 생성하는 조직의 가치를 반영해야 한다. 이러한 규칙들은 빠르게 학습자 및 이해관계자들에게는 보이지 않게 되며, 이 규칙들은 운영 행동을 빠르게 형성하게 된다. 어떠한 편향이나 논리적 결함이 있다면 보고서 (및 이러한 보고서를 기반으로 한 결정)은 시간이 지남에 따라 인식될 것이다. xAPI 프로파일은 학습 및 작업 성과가 지도자들에 의해 어떻게 정량화되고 평가되는지에 영향을 미칠 수 있다. 이로 인해 작업을 수행하는 사람들의 시각이나 관점에서 완전히 제거된다. 결과적으로 xAPI 프로파일을 정의하는 과정에서 투명하고 효과적으로 커뮤니케이션하는 것은 윤리적, 재정적 및 잠재적으로 책임적인 필수사항이다.
측정 우선순위 정하기
xAPI 프로파일 작성은 숙련된 전문 실무로 진화해야 하며, 이에 이해관계자, 실무자 및 학습자들이 널리 인정하고 이해할 수 있는 정제된 교육 모델이 포함되어야 한다.
2017년 이후 xAPI 프로파일과 작업하는 선구자들은 무엇을 쉽게 식별하거나 명세 그룹의 엔지니어들이 제안하는 것만 추적하는 것은 좋은 실천 방법이 아니라고 제안한다. 대신 "무엇을 측정해야 하는가?"라는 질문에 답해야 한다. 이는 조직이 스스로 실현하길 희망하는 가치를 고려함으로써 답할 수 있게 된다.
일반적으로 분석은 조직이 책임을 어떻게 표현하는지를 반영한다. 따라서 xAPI 프로파일의 효과는 조직 내에서 연구에서 가치를 둔다고 말하는 사람들과 실제로 가치를 할당하는 사람들 간의 높은 상관 관계에 크게 의존하게 된다. 다시 말해, 관측 가능한 발전적 이정표를 통해 측정 가능한 성과 기준으로 이어지는 요구 사항을 포착하는 것이 중요하다.
분석을 통해 측정할 내용을 고려하는 데는 세 가지 벡터가 있다. 실제로 많은 분석 프로젝트에서 Gate Keeper로 작용할 수 있는 재무적 고려가 있다. 분석을 수집, 처리 및 관리하는 데 필요한 재정 의무는 조직에 대한 정보의 가치와 대조되어야 한다. 이익, 손실, 비용 및 지출의 측정을 넘어 이익 프로젝트에 대한 재정적 고려사항이 있어야 한다. 금융 정보가 종종 접근 가능하고 투명하게 나타나지만 숫자는 교묘한 목적으로 조작될 수 있으므로 어떤 것을 측정할지에 대한 우선순위를 정하는 것은 다른 고려 사항을 포함해야한다. 참여도 또는 만족도는 학습 활동과 관련이 있으므로 투자 및 예산 결정을 통보하는 것으로 제한되지 않아야 한다. 학습 경험에 대한 특정 정보에 액세스하는 방법이 학습자의 경험에 직접 및 간접적으로 어떻게 이익을 제공할 수 있는지를 고려해야 한다.
최종적으로 추적할 내용을 우선 순위로 지정할 때 윤리적으로 타당한지 여부를 고려해야 한다. 개인 데이터와 개인 윤리에 대한 우려 사항은 최우선 고려 사항이다. 학습과 성과의 성공이 어떻게 해석되는지는 xAPI 프로파일의 스키마에 의해 강화되고 크게 구조화된다.
새로운 xAPI 프로파일을 만드는 이유 인식하기
xAPI 프로파일이 생성되는 조건과 관련된 기술적인 규칙은 없지만 학습 데이터 전략 및 특히 xAPI 프로파일을 둘러싼 7년의 비공식 및 공식적인 수행 경험을 통해 특히 세 가지 시나리오가 새로운 xAPI 프로파일을 개발하는 데 유용할 것으로 생각된다.
- 완전히 독특한 학습 경험이 데이터 아키텍처를 필요로 하는 경우:
- 예를 들어, 한 무역 그룹이 xAPI 프로파일로 표현된 능력 모델을 작업하여 일관된 학습 활동의 측정 및 분석을 위한 표준화된 측정을 가능케 한다. 이는 교육 콘텐츠, 교육 보조 도구, 저작 도구 및 보고 서비스의 여러 발행자가 의미론적 및 기술적으로 상호 운용 가능한 프레임워크 집합과 동적으로 작업할 수 있도록 한다.
- 학습의 한 모드에 대한 공통 정의가 필요한 경우:
- 예를 들어, 표준 그룹이 예상되는 내용/클라이언트 데이터 교환과 사용자 상호 작용을 측정 가능한 성과 맥락으로 번역하는 것을 목표로 한다. 가상의 시나리오로는 Veterens Administration이 IEEE와 협력하여 응급 의료 기록 시스템 내에서 간호사들을 위한 학습 상호 작용을 표준화하여 추적 가능한 환자 결과에 대한 평가를 수행하는 것일 수 있다.
- 조직이 자체 xAPI 데이터 모델을 관리하려는 경우:
- 예를 들어, 해군 교육 및 훈련 센터(NETC)가 xAPI 프로파일을 코딩하여 체크리스트와 같은 성능 지원 활동의 캡처 및 분석을 표준화하고, 이를 강사 및 해병에게 제공하는 경우다. 총 학습 아키텍처(TLA)를 채택하는 사람들은 특정 데이터 속성에 의존하는 유효한 명제와 예상되는 시스템 결과를 묘사하는 xAPI 프로파일을 코딩한다.
Authoring Guidance
쉬운 방법으로 xAPI 프로파일 작성하기
사전에 개념을 가장 잘 준비하려면 프로필에 필요한 xAPI Statement 을 식별하는 것부터 시작하는 것이 가장 좋다. 이를 결정하는 한 가지 접근 방식은 어떤 보고서가 필요할지, 수집할 데이터에 대해 어떤 다른 용도가 계획되어 있는지 생각하는 것이다. 그런 다음 해당 출력을 가장 잘 지원하도록 Statement 및 패턴 모음의 디자인을 설정할 수 있다.
필요한 Statement 이 식별되면(A, 모든 Statement 에 대해) 템플릿화해야 하는 부분을 식별하여 해당 Statement 의 세부 사항을 추가로 정의하고, 결정 속성이 보고를 위해 데이터를 더 빠르게 처리하는 데 도움이 되는지, 그리고 어떤 패턴이 보고와 일치하는지를 추가로 정의합니다.
분석 또는 기타 요구 사항(B, BATCH 처리 준비용). 이를 통해 필요한 Statement 을 지원하고 다른 xAPI 프로필에서의 재사용을 통해 프로필의 목적을 추가로 알리기 위해 특별히 설계/설계된 프로필에 고유한 개념을 정의한다. 따라서 다른 xAPI 애플리케이션(CONCEPTS의 경우 C)에서 재사용한다.
위의 ABC는 xAPI 프로필 서버에서 xAPI 프로필을 작성하는 1-2-3 단계로 안내합니다.
- 먼저, 새로운 개념과 기존 개념을 효율적이고 정확하며 자신 있게 프로필에 추가하라.
- 둘째, 개념을 사용하여 프로필 Statement 템플릿 및 패턴과 모든 결정 속성을 정의하라.
- 게시 !
Implementation Notes
좋은 xAPI 프로파일은 좋은 문서화로 시작되고 끝난다. 좋은 구현 노트는 완전하고 실행 가능한 답변과 유용한 맥락 정보를 제공하여 성공적인 채택에 최대한 영향을 미쳐야 한다.
다음 목록은 전체적인 내용을 제공하는 것이 아니라 효율적으로 xAPI를 구현하기 위해 구현 지침이 제공해야 할 세부 사항 수준을 대표하는 것이다.
- xAPI 프로파일을 이끄는 사용 사례는 무엇인가요?
- 지원하는 xAPI 버전은 무엇인가요?
- 다른 사람이 검토하고 테스트하고 개발된 미디어를 전달하기 위해 충족해야 하는 요구 사항은 무엇인가요?
- 어떤 규약을 따라야 하나요?
- 문서를 읽거나 따르기 위해 알아야 할 약어 및 용어는 무엇인가요?
- 특정 데이터 요소에 의해 자동화되거나 인간의 작업이 어떻게 트리거되나요?
- 특정 인물이나 시스템에 중요한 xAPI Statement 패턴은 무엇인가요?
- xAPI Statement 에서 역량을 어떻게 표현해야 하나요?
- xAPI 프로파일에서 어떤 다른 사양, 표준, 공개 주장 및/또는 xAPI 프로파일이 참조되나요?
- 프로파일의 범위와 목적은 무엇인가요?
- 프로파일이 도메인을 정의하는 데 사용되는 개념의 작은 세트를 정의하려는가요?
- 프로파일이 학습 레코드 제공자의 xAPI 기기에 정보를 제공하는 데 사용되는 포괄적인 도메인 모델이 되려는가요?
- 해결하려는 필요가 얼마나 일반적 또는 세부적인가요?
- 미디어 모드 또는 원형에 대한 규칙 (예시: 모바일 응용 프로그램 또는 일반 시뮬레이션을 위한 xAPI 프로파일) 을 정의하려는가요?
- 특정 사용 사례(예시: 특정 전문 자격 인증 프로그램을 위한 xAPI 프로파일)에 대한 규칙을 정의하려는가요?
xAPI 프로파일이 "Gold Standard"로 간주되려면
- xAPI 프로파일이 위의 질문에 충분한 답을 할 수 있어야 합니다.
- 위의 질문에 대한 답이 해당 의도를 표현하는 JSON-LD xAPI 프로파일 문서를 작성하는 데 완전히 지원될 수 있어야 합니다.
- 적어도 세 개의 독립적인 개발 노력이 xAPI 프로파일에 대한 준수, 의미론적으로 상호 운용 가능한 데이터 생성 및/또는 소비를 나타낼 수 있는 xAPI 데이터를 생성하는 구성 요소를 생산할 수 있어야 합니다.
Statement Templates
Statement 템플릿은 특정 이벤트를 설명하는 xAPI Statement에 필요한 데이터에 대한 일련의 지침을 제공한다. 프로필을 작성하는 그룹은 각 설명 템플릿에 대한 교육 설계 고려 사항 및 구현 결정을 설명하는 해당 문서를 작성해야 한다. 프로필 서버에 저장된 json-ld 외에 프로필에 대한 문서이다. 서버는 프로필의 각 부분의 의도와 의도된 용도를 설명하기 위해 프로필 수준에서 이 문서에 연결된다. 설명문 템플릿을 준비할 때 가장 먼저 해야 할 일은 xAPI 프로필 서버에 이미 개념으로 정의되어 있는 것이 무엇인지 조사하는 것이다.
다음 예시를 통해 위에서 언급한 새로운 xAPI 프로필의 이유를 고려해보자.
이 예시에서는 학습자가 소프트웨어 인증을 획득하기 위한 모든 요구 사항을 충족하지만 아직 인증을 부여받지 않았거나 수여되지 않은 경우를 나타내는 xAPI Statement 이 필요하다고 가정해보자. 요구 사항을 충족할 수 있는 Statement 템플릿을 찾으려면 서버에서 " Qualified" Statement 을 검색할 수 있습니다. 이러한 검색을 통해 "Qualified" 동사에 대한 결과가 나올 수 있습니다. 마스터 개체 모델 xAPI 프로필에 정의된 대로 .json-ld는 다음과 같습니다.
{
"id": "https://w3id.org/xapi/tla#qualified",
"type": "StatementTemplate",
"prefLabel": {
"en": "qualified"
},
"definition": {
"en": "Indicates the learner meets all the requirements for a badge, but hasn't been awarded the badge yet"
},
"inScheme": "https://w3id.org/xapi/tla/v0.10",
"verb": "https://w3id.org/xapi/tla/verbs/qualified",
"rules": [
{
"location": "$.result",
"presence": "excluded"
},
{
"location": "$.object.id",
"presence": "included",
"scopeNote": {
"en": "This should point to a badge"
}
},
{
"location": "$.object.definition.type",
"presence": "included",
"any": [
"https://w3id.org/xapi/tla/activity-types/badge"
]
},
{
"location": "$.context.extensions['https://w3id.org/xapi/tla/extensions/evidence']",
"presence": "included",
"scopeNote": {
"en": "This should be a pointer to the xAPI statement(s) that resulted in this statement"
}
}
]
}
만약 이 Statement 템플릿이 이 예제 프로파일에서 그대로 사용될 수 있다면, 그대로 포함될 수 있다. 위의 예제에서 Statement 템플릿의 규칙은 "xAPI 프로파일에 'Qualified' 동사를 사용하는 Statement 은 다음과 같아야 합니다..."로 이해될 수 있다.
- 이는 Statement 에 필수적인 동사로 "qualified"를 가지고 있다.
- 결과 객체가 없다.
- 뱃지를 가리키는 object.id가 포함되어 있다.
- object.definition.type이 "badge"이다.
- Statement 의 extension으로 "evidence"에 대한 링크가 포함되어 있다.
이 Statement 템플릿을 그대로 채택하면, 'qualified' 동사를 사용하고 예제 프로파일 ID가 포함된 Statement 은 결과 객체를 포함해서는 안 되며, 이러한 경우 위의 Statement 템플릿을 그대로 사용해서는 안 된다. 만약 결과 객체가 필요한 경우, 위의 Statement 템플릿은 적절하지 않으며 소스 프로파일에서 그대로 사용해서는 안 된다. 이는 새로운 Statement 템플릿을 만들어야 하며, 이는 다른 프로파일이 소유한 위의 Statement 템플릿을 재사용하는 대신에 만들어져야 한다.
유사한 Statement 템플릿이 존재하지만 그대로 사용할 수 없는 경우, 해당 Statement 템플릿을 프로파일의 Statement 템플릿으로 링크할 수 있다. 이렇게 하면 Statement 템플릿을 구현하는 사람들이 유사성을 이해할 수 있게 된다. 이는 또한 유사한 Statement 템플릿을 서로 연결하는 데 도움이 된다.
Determining Properties
xAPI 문장 템플릿 매핑 규칙
xAPI 프로파일 서버는 Statement 템플릿과 Statement 간의 매핑을 위해 결정 속성(determining property)을 사용한다. 이 매핑은 xAPI Statement 에 Statement 템플릿 ID가 포함되어 있지 않기 때문에 필요하다. 선택한 모든 결정 속성은 Statement 템플릿에 대해 유효성 검사를 위해 xAPI Statement에 포함되어야 한다.
다음 결정 속성에는 하나의 식별자만 선택할 수 있다.
- 동사 (verb)
- 객체 활동 유형 (objectActivityType)
다음 결정 속성에는 여러 식별자를 선택할 수 있다.
- 문맥 범주 활동 유형 (contextCategoryActivityType)
- 문맥 그룹화 활동 유형 (contextGroupingActivityType)
- 문맥 기타 활동 유형 (contextOtherActivityType)
- 문맥 상위 활동 유형 (contextParentActivityType)
- 첨부 사용 유형 (attachmentUsageType)
규칙은 Statement 이 Statement 템플릿과 일치하도록 필요한 데이터 요구 사항을 설명한다. 규칙은 매우 유연하다. 규칙이 지정된 대로 사용될 수 있도록 하려면 규칙은 json으로 작성되어야 한다. 다행히도 xAPI 프로파일 서버에는 필요한 json을 생성하는 마법사(도구)가 있다.
Rules
규칙을 설정하는 방법은 두 가지가 있다. 하나는 존재(presence)를 통해서이고 다른 하나는 값을 지정(specifying values)을 통해서다. 존재는 xAPI Statement 에서 어떤 위치가 Statement 에 중요한지 설명한다. 목표가 특정 위치에서 데이터를 수신하는 것이지만 위치에 어떤 데이터가 있어야 하는지 중요하지 않은 경우, "presence": "included"가 이를 수행하는 가장 좋은 방법다.
Presence
Presence는 지정된 위치가 이 템플릿과 일치하도록 사용되어야 하는지 여부를 설명한다.
- included
Statement 이 이 템플릿과 일치하도록 하려면 모든 Statement 에서 값이 포함된 위치가 있어야 한다. - excluded
이 위치는 어떤 Statement 에도 없어야 한다. - recommended
이 위치는 있어야 하지만 Statement 에서 제외되어도 유효성 검사에 실패하지 않는다.
Presence 예시:
"rules": [
{
"location": "context.contextActivities.grouping[*].id",
"presence": "included"
}
]
이 예시에서 Statement은 이 Statement 템플릿과 일치하도록 문맥 활동 그룹핑 배열에서 모든 활동에 대한 ID를 포함해야 한다.
Specifying Values
위치가 Statement 내에 있어야 하는지 아닌지를 단지 말하는 것만으로는 충분하지 않다면, 다음은 Statement 이 이 템플릿에 대해 유효성을 검증하도록 허용할 데이터를 식별하는 데 사용될 수 있다.
- any
열거된 값들 중 임의의 값이 템플릿에 유효성을 확인하기 위해 지정된 위치에 있는 것이 허용된다. 임의의 값이 사용될 때, 잠재적 값들의 목록이 포함되어야 한다. 만약 열거된 값들 중 적어도 하나가 템플릿의 지정된 위치에 포함된다면, Statement 은 이 템플릿에 유효성을 확인할 것이다. - all
Statement이 템플릿으로 유효성을 확인하려면 지정한 위치에 있는 모든 값들을 올 배열에 나열해야 한다. 모두 사용할 때는 값들의 목록을 포함해야 한다. Statement 은 그 값들이 모두 Statement 에 존재하는지 확인할 것이다. - none
열거된 값들 중 어떤 것도 템플릿의 유효성을 검사하기 위해 지정된 위치에 있는 것이 허용되지 않는다. 어떤 값도 사용되지 않을 때는 잠재적 값들의 목록이 포함되어야 한다. 만약 열거된 값들 중 어떤 값도 템플릿의 지정된 위치에 포함되지 않는다면, Statement 은 이 템플릿의 유효성을 검사할 것이다.
any 사용 예시:
"rules": [
{
"location": "context.contextActivities.grouping[*].definition.type",
"any": ["http://adlnet.gov/expapi/activities/attempt"]
}
]
이 예에서, Statement 은 "http://adlnet.gov/expapi/activities/attempt "의 활동 유형을 제공된 정의 유형들 중 적어도 하나로서 그룹핑되는 컨텍스트 활동들에 대한 유형의 정의로서 사용할 수 있고, Statement 은 이 Statement 템플릿에 부합할 것이다.
다음과 같은 검증 오류가 발생할 수 있다:
- 부적절한 json
- 알 수 없는 식별자
- 속성 확인과 충돌
- 허용되지 않는 값
일단 규칙이 성공적으로 검증되면, 그것은 Statement 템플릿에 추가될 수 있다. 속성들 및 규칙들을 결정하는데 사용하기 위해 개념들이 정의됨에 따라, 이들은 연관된 개념들의 리스트에 추가된다. 이러한 연관된 개념들은 Statement 템플릿에서 사용되는 어휘의 개요를 제공하기 위한 것이다.
Concepts
개념은 xAPI 프로파일 전체에 걸쳐 사용 및 재사용을 위한 구성 요소이다. 동사, 활동 유형, 첨부 파일 사용 유형 및 활동의 경우 개념은 xAPI 프로파일 내에서 사용하는 "사물"이다. 문서 리소스 및 확장의 경우 개념은 기본적으로 xAPI 데이터의 많은 다양한 값을 저장할 수 있는 변수 또는 컨테이너이다. 개념은 xAPI 프로파일 내에서 정의되어야 한다. 프로파일에 의해 개념이 정의되면 해당 프로파일은 개념의 소유자이며 개념의 관리를 담당한다.
xAPI 프로파일의 목표는 정의의 중복을 방지하는 것이다. 적절한 경우 다른 프로파일의 개념을 재사용하는 것이 매우 권장된다. 프로파일 서버에 개념이 이미 정의되어 있지 않다면, 그것은 새로운 프로파일 내에서 정의되어야 할 때이다.
앞서 언급한 Statement 템플릿 예제에서 활동 유형은 "https://w3id.org/xapi/tla/activity-types/badge"이다. 활동 유형은 xAPI 프로파일 서버에서 정의되어야 활동을 정의하는 데 참조할 수 있다. 예를 들어, 배지 활동 유형의 개념을 먼저 정의하지 않고서는 학습자가 얻을 수 있는 특정 배지를 정의할 수 없다.
새로운 xAPI 프로파일을 생성하는 이유에 관계없이, 필요를 충족시킬 수 있는 잠재적인 개념을 찾기 위해 서버에서 "badge"를 검색할 수 있다.
Patterns
패턴은 다른 패턴 또는 문 템플릿을 그룹화하거나 대체하기 위한 요구 사항을 설명
다. 예를 들어, 비디오 프로파일의 패턴은 비디오 재생에 대한 문으로 시작한 다음 일시 중지, 건너뛰기, 다시 재생 등에 대한 문으로 이어질 수 있다.
문 템플릿 및 개념과 마찬가지로 패턴을 추가할 때 첫 번째 단계는 기존 패턴을 다른 프로파일에서 재사용하는 것이어야 한다. 검색을 통해 하나 이상의 패턴을 선택하여 프로파일에 추가할 수 있다. 기존 패턴이 프로파일의 요구에 부합하지 않으면 새로운 패턴을 생성할 수 있다.
새로운 패턴을 만드는 첫 번째 단계는 패턴의 종류를 선택하는 것이다. 패턴 종류를 고려할 때 이것이 1차 패턴이 될 것인지 2차 패턴이 될 것인지를 아는 것이 중요하다. 패턴을 1차 또는 2차로 지정하는 것은 다음 화면에서 할 것이다. 패턴이 다른 패턴의 구성 요소로 선택될 수 있는 유일한 때는 2차 패턴이 될 때이다.
Primary
기본 패턴들은 어떤 Statement 들의 조합들이 프로파일에 의미를 갖는지를 정의한다. 기본 패턴은 다른 패턴들로 풀링될 수 없다. 이 프로파일 ID로 수신된 각각의 Statement 은 이 패턴에 부합하는지 검사될 것이다.
Secondary
Statement 템플릿 및 보조 패턴을 포함한다. 이 프로파일 ID를 포함하는 Statement 은 이 프로파일의 기본 패턴으로 풀링되지 않는 한 이 패턴에 대한 적합성을 검사하지 않는다.
다음 패턴 유형을 사용할 수 있다:
Sequence - 특정 순서의 Statement 템플릿 또는 2차 패턴의 목록이다. 이는 식별된 구성 요소가 지정된 순서와 일치하는 경우 일치한다. 이 유형을 사용하면 여러 구성 요소를 선택하고 3단계 프로세스로 순서를 지정할 수 있다.
Alternates - Statement 템플릿 또는 보조 패턴의 목록이다. 목록에 있는 구성 요소가 일치하는 경우 일치한다. 이 유형은 여러 구성 요소를 선택할 수 있지만 대체 요소가 서로 교환 가능하기 때문에 순서를 지정하지 않는다.
Optional - 단일 Statement 템플릿 또는 보조 패턴을 식별한다. 이는 구성 요소가 한 번도 존재하지 않거나 전혀 존재하지 않는 경우와 일치한다. 이 유형은 필요하지 않지만 한 패턴에 대해 한 번 사용될 수 있는 단일 구성 요소를 선택할 수 있게 한다.
More than 1 - 단일 Statement 템플릿 또는 보조 패턴을 식별한다. 이는 구성 요소가 하나 이상 존재하는 경우 일치한다. 이 유형을 사용하면 한 번 사용해야 하며 패턴이 완성된 것으로 간주되기 위해 더 많이 사용될 수 있는 단일 구성 요소를 선택할 수 있다.
0 oR More - 단일 Statement 템플릿 또는 보조 패턴을 식별한다. 이는 구성 요소가 없거나 하나 이상 존재하는 경우 일치한다. 이 유형을 사용하면 하나의 패턴이 완전한 것으로 간주되기 위해 필요하지는 않지만 여러 번 사용할 수 있는 단일 구성 요소를 선택할 수 있습니다.
패턴은 배지의 획득과 같은 도메인별 아키텍처에서 발생할 학습 이벤트 "trigger"를 설명하는 데 사용될 가능성이 높으며, 재인증의 요구사항을 성공적으로 충족하는 데 사용될 것이다. xAPI 프로파일이 패턴을 이런 방식으로 사용할 예정이라면, 패턴 유형을 어떻게 활용할 것인지는 물론, Statement 템플릿의 정의 방식을 신중하게 사용해야 한다.
응답을 트리거하는 데 필요한 일련의 Statement 들을 엄격하게 제어하는 것은 패턴과 일치하는 임의의 다른 Statement 들의 능력을 감소시키고, 따라서 일련의 Statement 들에 대한 잘못된 응답을 야기한다.
비디오 프로파일에서는 모든 활동들에 대해 정의된 Statement 템플릿들 중 임의의 것을 패턴화하는 반면, 일반 패턴은 Statement 시퀀스의 첫 번째 Statement 이 시작된 템플릿에 대해 일치해야 한다고 지정한다. 비디오 프로파일 내의 세 개의 정의된 패턴들은 한 사람이 비디오와 가질 수 있는 어떤 상호작용 시퀀스와도 일치하기에 충분하다.
마치며
이번에는 xAPI 프로파일을 정의하는 방법에 대해서 알아봤다. 사실 공식 문서를 읽는다고 바로 와닿지 않기 때문에, 직접 만들어보는 것이 가장 빠른 이해의 길이라고 생각한다. 곧 여러 프로젝트나 정부 과제에서 xAPI를 실사용해보게 될 듯 하다. 레퍼런스가 많이 없기 때문에 열심히 내가 사용해보고 배운 내용을 꾸준히 정리해보고자 한다.
'📂 데이터베이스 > ◾ EXPERIENCE API' 카테고리의 다른 글
xAPI 단어 사전 만드는 방법 (1) | 2023.11.03 |
---|---|
xAPI 동사(Verb)와 활동(Activity)의 차이 (1) | 2023.11.01 |
[공식 문서 한글 번역판] xAPI docs 3.0 Communication 톺아보기 (1) | 2023.10.31 |
[공식 문서 한글 번역판] xAPI docs 2.0 Data 톺아보기 (1) | 2023.10.31 |
댓글