http://dx.doi.org/10.5369/JSST.2015.24.1.62 pISSN 1225-5475/eISSN 2093-7563
MPEG-UD 표준 요소 검증을 위한 콘텍스트 기반 추천 시스템 구현
백종현
1
·최장식2
·변형기2,+
Implementation of Context-Based Recommendation System to Verify Schema of MPEG-UD Standard
Jong-Hyun Baek
1
, Jang-Sik Choi2
, and Hyung-Gi Byun2,+
Abstract
The MPEG user description (MPEG-UD) which is a standard under exploration to ensure interoperability among customized rec- ommendation services has been contributed since MPEG 104 th meeting at 2013. Twenty-two use cases that were divided into different applications have been proposed in the MEPG meetings. Most of use cases were referred to specific and restricted regarding to appli- cations, it appears to miss an overall and explicit infra-structure. In this paper we describe a reference model, namely methodology to overcome aforementioned problems. Thereafter, we have applied reference model to context-based recommendation system to dem- onstrate the methodology and MPEG-UD schemas. In addition, we propose a development process of recommendation system in com- pliance with MPEG-UD.
Keywords: MPEG-UD, Recommendation system, MPEG user description, Context-aware
1. 서 론
빅 데이터에서 추천은 가용한 자원 중 사용자와 관련된 데이 터들을 분석하여 적절한 서비스들을 제공하는 것이다. MPEG- UD 표준의 목적은 이러한 추천 서비스들간 상호 운용성을 보 장하는 것이다.
MPEG-UD의 개념적인 모델은 Fig. 1과 같다. UD (U-ser Description: 사용자 서술)는 사용자의 동적/정적 정보들을 서술 하며, CD (Context Description: 콘텍스트 서술)는 사용자가 위 치한 주변 환경과 상태에 대한 정보를 서술한다. SD (Service Description: 서비스 서술)는 서비스 공급자로부터 제공되는 서 비스 관련 정보를 서술한다. RD (Rec-ommendation Description:
추천서술)는 추천 엔진(RD engine)에 의해 생성되며, 추천 서비
스 생성을 위해 사용된 UD, CD, SD 요소와 적용된 추천 기법 에 대한 정보를 서술한다[1-4].
MPEG-UD는 국제규격 개발단계 중CD (Committee Draft)로 넘어가기 위해 WD (Working Draft)단계를 수행하고 있다. WD 단계에서 다양한 사용사례들이 제안되었으며, MPEG-UD 표준 의 적합성을 검증하기 위해 다양한 데모가 구현되었다. 하지만 데모들이 가지는 상이한 응용 분야는 일반성이 결여된 요소 선 언과 스키마 구조를 불안정하게 만드는 원인을 제공하게 되었 다. 이와 같은 문제를 해결하기 위해 불필요한 요소 정의를 제 한하고, 유연한 MPEG-UD 스키마 구조를 만들기 위해 참조 방
1수성대학교 컴퓨터정보과(Dept. of Computer Information, Suseong College)
15, Dalgubeoldaero-528 gil, Suseong-gu, Daegu,706-711, Korea
2강원대학교 전자정보통신공학부(Division of Electronics, Information
& Communication Engineering, Kangwon National Unversity) Joongang-ro, Samcheok-si, Gangwon-do,245-711, Korea
+Corresponding author: [email protected] (Received: Jan. 13, 2015, Accepted: Jan. 19, 2015)
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/
licenses/bync/3.0) which permits unrestricted non-commercial use, distribution,
and reproduction in any medium, provided the original work is properly cited.
Fig. 1. Conceptual model of MPEG-UD [1].
법론(reference methodology)이 제안되었다[5-7].
본 논문에서는 상기 제안을 검증하기 위해 MPEG-UD와 참 조 방법론을 적용하여 콘텍스트 기반의 추천시스템을 구현하 였다. MPEG-UD 추천 시스템 개발 프로세스에 따라 시스템 을 구현하였으며, 추천 생성을 위한 데이터 마이닝 기법을 적 용하였다.
2. 구현 방법
2.1 MPEG-UD 추천 시스템 개발 프로세스
MPEG-UD 추천 시스템 개발 프로세스는 i) 시나리오 작성, ii) 참조 방법론 적용, iii) 추천 프로세스 설계, iv) MPEG-UD 표준 스키마 적용, v) 추천 기법 설계, vi) MPEG-UD 추천 시 스템 구현 단계로 구성된다.
2.2 시나리오
시나리오는 “운전자의 편의 증진과 사고 예방을 위한 지능 형 차량 추천 시스템”의 구현으로 한다. 이 시나리오에서 추 천 엔진은 운전자의 권한 및 인증, 위치, 선호 목적지, 음주 여부 등의 정보를 분석하여 운전자에게 추천 서비스를 제공한 다(예: 선호 목적지, 최적 경로, 음주에 따른 다른 교통 수단, 기타 등등).
Fig. 2 는 제안 시스템의 시나리오 구상도 이며, 세부적인 내 용은 다음과 같다.
① 운전자 장비로부터 UD 획득
② 운전자 인증 수행: 사용자 식별을 위한 정보 획득 및 판별 알고리즘을 통해 사용자 인증
③ 운전자 인증 성공시 CD 매니저는 취득된 CD 정보를 응용 프로그램에 전송
- 음주측정 데이터(운전자 인증시 음주 측정 수행) - 운전자와 차량에 관련된 CD 정보
- 인증 실패시 “인증 실패”메시지와 재인증 화면 전환
④ 추천 시스템(RS)은 UD와 CD정보를 분석하여 관련 서비 스를 서비스 공급자(SP:Service Provider)에게 요청
⑤ 서비스공급자는 요청과 관련된 서비스를 추천 엔진에게 전송 - 음주(+): 목적지까지 이동을 위한 다른 교통 수단, 근처
숙박업소, 지인 호출 등 서비스 제공
- 음주(-): 목적지까지 추천경로와 관련 서비스 제공
⑥ 추천 엔진은 UD, SD, CD의 정보를 분석하여 사용자에게 적합한 RD를 생성
⑦ 추천 시스템은 생성된 RD를 사용자 장비 또는 응용프로 그램으로 전송
2.3 참조 방법론
참조 방법론은MPEG-UD 사용사례들에 대해 일반적인 참조 모델과 일반화(Generalization) 개념을 적용하여 가능한 많은 응 용 영역에서 사용될 수 있는 유연한 스키마 구조를 유도한다.
참조 방법론은 다음과 같이 5단계로 구성된다.
① 사용 사례 선택(use case selection)
② 핵심 이벤트 식별(core event identification)
③ 관련 정보 수집(relevant information gathering)
④ 개념 일반화(generalization of concepts)
⑤ 패턴 식별(pattern identification)
위 단계를 통해 사용 사례, 이벤트, 추천, 객체, 속성들을 분 류한 후 이를 표로 작성하여 불필요한 정보를 제거하고, 필수적 인 요소를 정의한다. 작성된 시나리오에 참조 방법론을 적용한 결과는 Table 1과 같다.
Table 1 에 적용된 참조방법론 공식은 다음과 같다.
는 사용 사례 와 관련된 특정한 이벤트가 되며, 주어진 사용 사례에 다른 이벤트들은 아래와 같이 표현된다.
a i j a i
Fig. 2. Scenario of context-based recommendation system of vehicle for user convenience and accident prevention.
Table 1. A result of applying the reference methodology to scenario
Use Case : context-based recommendation system of vehicle for user convenience and accident pre- vention
Event(s) : “Mr. Somebody is get in the vehicle to go home at night on weekend after drinking alcohol”
Recommendation(s) : “A list of hotel adjacent to current location”
Entity(Entities) : Mr. Somebody : Vehicle : Hotel
Attribute(s) : Mr. Somebody[permission, drinking state]
: Vehicle[location, fuel, time, date]
: Hotel[location, name, telephone number, availability]
a 23
a 23 1
R 23 1
ε 231 1
ε 231 2
ε 231 3
α 2311 1
α 2312 1
α 2313 1
(1)
는 특정한 이벤트 와 관련된 추천이며, 가능한 추천 집 합은 다음과 같이 표현될 수 있다.
(2)
는 집합{ } 와 관련된 특정한 객체가 되며, 상태와 관 련된 모든 객체들은 다음과 같이 표현된다.
(3)
는 객체 와 관련된 특정한 속성이 되며, 객체와 관련 된 모든 속성은 다음과 같이 표현된다.
2.4 추천 프로세스 설계
MPEG-UD 표준으로부터 유도된 추천 프로세스는 Fig. 3과 같다[8].
Fig. 3에서 필터링(filtering)과 분석 그리고 질의 생성(query building)은 추천 엔진 영역이며, 검색(search& Retrieval)은 어 플리케이션 영역이 된다. UD, SD, RD 는 MPEG-UD 영역이다.
추천은 필터링 기법과 질의 생성을 통해 생성된다.
MPEG-UD 추천 엔진 프로세스는 다음과 같이 4단계로 구분 할 수 있다[9].
① 데이터 수집(UD, CD)
② 서비스 요청(SD)
③ 데이터 분석(예: 데이터 마이닝)
④ 추천 생성(RD)
상기 프로세스와 작성된 시나리오를 검토하여 설계된 추천 프 로세스는 Fig. 4와 같다.
이벤트가 발생할 경우 추천 엔진은 운전자의 디바이스로 부터 UD를 획득하여, 권한 정보를 확인한다. 권한이 주어진 운전자일 경우 CD 데이터를 수집하여, 차량의 위치와 운전 자의 음주 여부를 판단한다. 여기서 추천 엔진은 이전 사용 기록과 콘텍스트 정보를 분석하여 관련된 서비스를 요청한 다. 마지막으로 추천 엔진은 추천 서비스 제공을 위한 RD a i j
j 1 = n
∪ = { } a i j j = { a i 1 , , , a i 2 … a i n }
R ij k a i j
R ij k
k 1 = o
∪ = { } R ij k k = { R ij 1 , , , R ij 1 … R ij o }
ε ijk l a i j , R ij k
ε ijk l
l 1 = p
∪ = { } ε ijk l l = { ε ijk l , , , ε ijk l … ε ijk p }
α ijkl t ε ijk l
Fig. 3. Recommendation process derived from MPEG-UD.
Table 2. Elements of MPEG-UD schema applied recommendation system
Description Element
User Profile UsageHistory Intention Preference
Context Season
Location NetworkInfo Weather
DeviceCharacteristics
Expanded Context Sensor array Sensed data Characteristics Service GeneralInformation
TargetInformation ObjectInformation Priority
Recommendation CompactUsageDescription QueryDescription
RecommendationInformation ObjectInformation
Fig. 4. Recommendation process for proposed scenario in compli-
ance with MPEG-UD.
를 생성한다.
2.5 MPEG-UD 스키마 적용
제안 시스템에 적용된 MPEG-UD 스키마는 3.0 버전이며, 각 서술에서 사용된 요소들을 Table 2에 정의하였다.
2.6 추천 기법 설계(데이터 마이닝)
본 논문에서는 콘텍스트 기반 추천 서비스 생성을 위해 나이 브 베이즈 분류기(naive bayes classifier)와 역전파(backpropagation) 알고리즘을 추천 엔진에 적용하였다.
나이브 베이즈 분류기를 적용하기 위해 수집되는 콘텍스트 정 보를 Table 3과 같이 전처리 하였다. 장소, 날씨, 계절, 시기, 시 간, 알코올 센서 정보들은 추론에 필요한 콘텍스트 데이터이며, 서비스는 운전자가 선택한 또는 분류기로부터 최종 추론되는 콘 텍스트 데이터가 된다.
최종 추론을 위해 적용된 나이브 베이즈 분류기 식은 다음과 같다.
(5)
최종 추론은 가장 큰 사후 확률 값(MAP:Maximum A Posteriori) 을 가진 클래스가 추천된다. 여기서 는 사전 확률(prior probability)이며, 는 독립적인 분류 조건에 속하 는 조건 확률(conditional probability) 값이다.
역전파알고리즘은 센서 시스템으로부터 취득되는 다차원 데 이터를 분석하여 운전자의 음주여부를 판단하기 위해 적용되었다.
3. 구현 결과 및 고찰
3.1 실험 데이터
추천 시스템 구현을 위해 사용된 콘텍스트 정보는 가상으로 생성하여 시스템에 적용하였으며, 음주 여부 판단을 위한 데이
터는 8개의 센서 어레이으로부터 측정된 다차원 패턴을 사용하 였다. 사전에 취득된 센서 데이터는 학습과 테스트 집합으로 구 분하여 역전파알고리즘에 적용하였다.
3.2 역전파알고리즘
Fig. 5 는 역전파알고리즘 학습결과를 보여준다. 입력층은 8개, 은닉층은 10개, 출력층은 1개로 설정하였으며, 입력패턴은 음주 패턴 8개와 비음주 패턴 8개로 구성하였다. 또한 알파값은 0.1 로 설정하였으며, 에러 수렴값은 0.01로 설정하였다. 14번만에 네트워크 학습이 완료되었으며(정확도 100.0%), 관련된 네트워 크 가중치를 획득하여 추천 시스템에 적용하였다.
3.3 나이브 베이즈 분류기
나이브 베이즈 분류기는 Fig. 6과 같이 범주형 데이터 패턴을 사용하여 추론 값을 산출하였다. 데이터패턴은 분류기의 사전 확률과 조건 확률을 구하기 위해 사용되었으며, 각 콘텍스트 범 주형 데이터는 현재 사항을 가상으로 설정할 수 있도록 각각의 컨트롤을 추가하였다.
clssify f ( 1 , , … f n ) maxp C c ( = ) p F ( i = f i C c = )
c i 1 =
n
∏ arg
p C c ( = ) p F ( i = f i C c = )
Table 3. Pre-processed data for NBC model
Info State
Location Current location
Weather Fair, Cloudy, Raining, Snowing
Season Spring, Summer, Autumn, Winter
Date Weekday, Weekend
Time Morning, Afternoon, Dinner
Authorization Permit or Non-Permit Alcohol Sensor Drinking or Non-Drinking
Service Destination location
Fig. 5. Learning BP network to discriminate between drinking and non-drinking.
Fig. 6. Naïve bayes classifier with multinomial event.
3.4 MPEG-UD 스키마 적용
Fig. 7은 Table 2에 따라 추천 시스템에 적용된 MPEG-UD 스 키마의 트리 구조이다.
3.5 추천 결과
3.5.1 콘텍스트 가정 1
Fig. 8은 현재 운전자 위치는 집, 날씨는 구름이 낀 상태, 계절은 여름, 시기는 주중, 시간은 아침, 권한은 허용 그리고 사용자가 음주를 하지 않았을 경우(BP 패턴 인식) 추천된 결 과 화면이다. 역전파알고리즘 수행결과로 0.130931은 운전자 가 음주를 하지 않았음을 나타낸다. 나이브 베이즈 분류기 수 행 결과에서 회사 관련 사후 확률 값이 0.076923 로 가장 높 게 나왔다. 즉 이와 같은 콘텍스트 상황에서 추천시스템은 사 후 확률 값이 가장 높은 회사를 사용자에게 목적지로 추천하 게 된다.
3.5.1.1 MPEG-UD 스키마
Fig. 9 는 콘텍스트 가정 1의 추천 후 MPEG-UD 스키마 트리 구조를 보여준다. 임의로 가정된 콘텍스트 정보들이 CD와 RD 스키마에 저장된 것을 확인할 수 있다.
3.5.2 콘텍스트 가정 2
Fig. 10 은 운전자 위치는 회사, 날씨는 비가 오는 중, 계절은 여름, 시기는 주중, 시간은 저녁, 권한은 허용 그리고 사용자가 음주를 하지 않았을 경우 추천된 결과 화면이다. 가장 높은 사 후 확률 값을 가지는 서비스는 집으로 0.1386462의 값을 가진 다. 즉, 운전자에게 추천되는 목적지는 집이 된다.
3.5.2.1 MPEG-UD 스키마
Fig. 11는 콘텍스트 가정 2의 추천 후 MPEG-UD 스키마 트 Fig. 7. Tree view of MPEG-UD schemas.
Fig. 8. A result of recommendation in the assumed conditions (Loca- tion: home, Weather: Cloudy, Season: Summer, Date: Week- day, Time: Morning, Authorization: Permit, Alcohol Sensor:
Non-Drinking).
Fig. 9. A result of MPEG-UD schema after recommendation for first assumed condition.
Fig. 10. A result of recommendation in the assumed conditions (Location: company, Weather: Raining, Season: Sum- mer, Date: Weekday, Time: Afternoon, Authorization:
Permit, Alcohol Sensor: Non-Drinking).
리 구조를 보여준다. CD요소 중 계절과 지역 이름 그리고 날씨 유형에서 사전에 가정한 정보들이 저장된 것을 확인할 수 있다.
또한 추천된 값은 RD의 추천객체이름에서 확인할 수 있다.
3.5.3 콘텍스트 가정 3
Fig. 12 는 운전자 위치는 술집(bar_L1), 날씨 좋음, 계절은 여 름, 시기는 주말, 시간은 저녁, 권한은 허용 그리고 사용자가 술 을 마셨을 경우 결과 화면이다. 가장 높은 사후 확률 값을 가지 는 서비스는 호텔(Hotel_L1)이며, 이는 운전자에게 목적지로 추 천된다. 여기서 음주 패턴에 대한 역전파알고리즘 네트워크 결 과는 0.813363이다. 이는 운전자가 술을 마셨음을 의미한다.
3.5.3.1 MPEG-UD 스키마
Fig. 13는 콘텍스트 가정 3의 추천 후 MPEG-UD 스키마 트 리 구조를 보여준다. RD에 최종 추천된 호텔의 이름을 확인할 수 있다.
Fig. 14 는 RD 스키마의 CompactUsageDescription 요소 정보 를 보여준다. 클러스터링 노드를 통해 추천 시스템에 사용된 추 천 방법과 기법 그리고 특징에 대해 확인할 수 있으며, 라벨집 합을 통해 추천되는 아이템 라벨을 확인할 수 있다.
4. 결 론
콘텍스트 기반 추천 시스템 개발을 통해 참조 방법론과 MPEG- UD 스키마의 적합성을 검증하고자 하였다.
참조 방법론을 통해 Table 1과 같이 시나리오의 특징을 분류 할 수 있었으며, 개념의 일반화 과정을 수행함으로써 표 2와 같 이 MPEG-UD 스키마를 정의할 수 있었다. 또한 콘텍스트 패턴 식별 과정을 통해 추천 생성을 위해 필요한 입력 메트릭(metric) 을 정의할 수 있었다. 이와 같이 참조 방법론은 시나리오의 이 벤트, 객체, 속성 그리고 추천들의 분류를 가능하게 하여 필수 요소들에 대한 선택 기준을 제공하였다. 또한 각 요소들의 일반 화 과정을 통해 MPEG-UD 스키마의 일관성을 유지하고, 데이 터 중복을 최소화 하였다.
구현된 시스템에서 MPEG-UD 3.0 버전의 스키마를 통해 일 반적인 콘텍스트 정보를 묘사할 수 있었으나, Table 2에 정의된 Fig. 11. A result of MPEG-UD schema after recommendation for
second assumed condition.
Fig. 12. A result of recommendation in the assumed conditions (Location: Bar_L1, Weather: Fair, Season: Summer, Date: Weekend, Time: Dinner, Authorization: Permit, Alcohol Sensor: Drinking).
Fig. 13. A result of MPEG-UD schema after recommendation for third assumed condition.
Fig. 14. CompactUsageDescription of RD schema for recom-
mendation system.
센서 관련 요소들은 묘사할 수 없었다.
ISO/IEC23005는 가상세계와 실세계간 상호 운영성 (interoperability)를 보장하기 위한 인터페이스 규격을 정의하는 표준으로, 파트2-제어정보에서는 실감효과(sensory effect)와 관 련된 센서들의 특징을 묘사하고 있다[10]. 이에, MPEG-UD에서 는 웨어러블 디바이스 센서를 묘사하고자 MPEG-V 표준에서 정의된 SensorDeviceCapabilityList-Type 사용을 제안하였다[11].
하지만 이 유형은 센서의 유형만 묘사할 수 있으며, 센서로부터 감지되는 정보를 서술할 수 없다. 따라서, 이를 해결하기 위해 서는 ISO/IEC23005의 파트 5: 인터렉션 장치용 데이터 포맷 (data formats for interaction devices) 의 감지 어휘 정보(sensed information vocabulary) 를 참조하여, 센서의 특징뿐만 아니라 감 지되는 정보를 표현할 수 있도록 검토되어야 한다[12].
또한 MPEG-UD 표준은 ISO/IEC23005 표준뿐만 아니라 일 반적인 센서 인터페이스 및 시스템 관련 표준을 추가 검토해야 한다.
REFERENCES