Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. WO2016088942 - PROCÉDÉ ET APPAREIL D'ESTIMATION DE MULTI-CLASSIFICATION À L'AIDE DE DONNÉES COMPARATIVES PAR PAIRES

Document

명세서

발명의 명칭

기술분야

1  

배경기술

2   3   4   5   6   7  

발명의 상세한 설명

기술적 과제

8   9  

과제 해결 수단

10   11  

발명의 효과

12   13   14  

도면의 간단한 설명

15   16   17   18   19   20   21   22  

발명의 실시를 위한 형태

23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99   100   101   102   103   104   105   106   107   108   109   110   111   112   113   114   115   116   117   118   119   120   121   122   123   124   125   126  

청구범위

1   2   3   4   5   6   7   8   9   10   11  

도면

1   2   3   4   5   6a   6b   6c   7   8   9   10   11  

명세서

발명의 명칭 : 쌍별 비교 데이터를 이용한 다중랭킹 추정 방법 및 장치

기술분야

[1]
본 발명은 랭킹 추정 방법 및 장치에 관한 것으로, 보다 상세하게는 쌍별(pairwise) 비교를 이용하여 다중랭킹을 추정하는 방법 및 장치에 관한 것이다.

배경기술

[2]
랭킹 학습이란, 주어진 아이템 집합과 학습 데이터를 이용하여 랭킹 모델을 학습하고 학습된 결과를 이용하여 아이템의 랭킹(선호도 순위)을 알아내는 방법이다. 최근에 이 방법을 이용하여 주어진 문서와 가장 유사한 문서를 찾는 등 정보검색 및 추천 시스템에 널리 사용되고 있다.
[3]
랭킹 학습에 사용할 수 있는 학습 데이터에는 다양한 종류가 있으며 그 중에서도 쌍별 비교(2개의 아이템끼리 랭킹을 비교)의 결과를 활용하는 랭킹 학습 방법이 있다. 예를 들어 아이템이 4개(A,B,C,D) 주어져 있고, 도1에서와 같이 5개의 쌍별 비교의 결과가 주어져 있다고 가정한다. "B<A"는 B가 A보다 랭킹이 높다는 의미이다. 이 때 모든 아이템에 대해 랭킹 순위를 매기는 방법의 수는 4!=24가지 이다. 이들 24가지 방법의 개수에 대해 쌍별 비교의 결과를 얼마나 잘 반영하는지를 평가 척도로 사용하여 어느 랭킹이 더 정확한지를 판단할 수 있다. 도1의 경우, B<A<C<D와 A<B<C<D의 두 가지 랭킹 순위가 도1의 5개의 쌍별 비교 결과를 가장 잘 반영하고 있으므로 이 두 가지 랭킹 순위 중 어느 하나를 실제 랭킹으로 사용할 수 있다.
[4]
상기 예시한 랭킹 학습의 경우 전체 아이템간 랭킹은 단 한가지 판단기준에 따라 랭킹이 정해졌다고 가정한다. 하지만 다중 랭킹 문제(Multiple Ranking Problem)는 전체 아이템간 랭킹이 복수개의 판단기준("차원"이라고도 함)에 따라 다르게 존재할 수 있다고 추정하며 각 판단기준에 따른 랭킹들을 모두 구하는 것을 목표로 한다.
[5]
예를 들어 도2에서와 같이 호텔의 숙박료 및 중심가까지의 거리가 주어져 있다고 가정한다. 이 예에서 판단기준(차원)은 숙박료 및 거리이다. 숙박료는 저렴할수록 랭킹이 높고 거리는 가까울수록 랭킹이 높다고 하면, 숙박료에 대한 랭킹은 A<B<D<C이고, 거리에 대한 랭킹은 C<B<A<D임을 알 수 있다.
[6]
위의 예시는 '숙박료'와 '거리'라는 판단기준을 이미 알고 있는 경우이지만, 실제 다중 랭킹 문제에서는 각 쌍별 비교가 어떤 판단기준에 따라 행해졌는지 알 수 없는 상태에서 주어진 쌍별 비교 결과들을 이용해서 모든 잠재적 판단기준에 따른 랭킹을 파악해야 하는 경우가 많다. 실제 쌍별 비교는 대부분 사람이 실시하며, 사람들은 각기 개인의 성향에 따라 특정 판단기준에 의해 아이템간의 랭킹을 매긴다는 점에서 이 문제는 기존의 단일랭킹 학습 문제보다 더 실용성이 높다고 할 수 있다.
[7]
예를 들어 도2의 리스트가 있을 때, 네 명의 응답자(u 1 내지 u 4)로부터 도3과 같은 쌍별 비교의 결과 데이터를 얻었다고 가정한다. 이 때 각 응답자가 어떤 판단기준으로 쌍별 비교를 하였는지는 알 수 없고 다만 도3과 같이 쌍별 비교 결과만이 주어졌다고 가정한다. 도3의 쌍별 비교 결과 데이터를 보면, 응답자(u 1)가 대답한 결과와 응답자(u 2)가 대답한 결과가 매우 다름을 알 수 있다. 이것은 응답자(u 1)가 숙박료를 기준으로 쌍별 비교를 하였고 응답자(u 2)는 거리를 기준으로 쌍별 비교를 했기 때문이라고 추정할 수 있다. 이와 같이 쌍별 비교 결과 데이터가 주어졌을 때 서로 모순되는 쌍별 비교의 개수가 대단히 많을 수도 있기 때문에 기존의 단일랭킹 학습에 의해서는 정확한 랭킹을 얻기 힘들다. 기존의 쌍별 비교의 결과를 이용한 아이템간 랭킹을 추론하는 알고리즘은 한가지 차원의 값만을 가지고 있는 경우에 유용하지만, 추천 시스템에 적용될 경우, 실제 사용자들은 다양한 판단기준에 따라서 랭킹을 판단하기 때문에 정확한 결과를 얻지 못하는 한계가 있다.

발명의 상세한 설명

기술적 과제

[8]
본 발명의 일 실시예에 따르면, 주어진 쌍별 비교 결과에 복수개의 판단기준이 존재하는 경우 이 복수개의 판단기준에 따른 아이템의 랭킹을 추정할 수 있는 다중랭킹 추정 방법 및 장치를 제공한다.
[9]
본 발명의 일 실시예에 따르면, 쌍별 비교 결과 데이터로부터 판단기준 선호도 확률분포를 산출함으로써 복수개의 랭킹 판단기준에 대한 각 사용자의 선호도를 추정할 수 있는 다중랭킹 추정 방법 및 장치를 제공한다.

과제 해결 수단

[10]
본 발명의 일 실시예에 따르면, 쌍별 비교 데이터를 이용한 다중랭킹 추정 방법으로서, 쌍별 비교 데이터에 관한 정보를 입력데이터로서 입력하는 단계; 및 상기 입력데이터에 기초하여 다중랭킹 데이터를 생성하는 단계;를 포함하고, 상기 입력데이터는, 복수의 응답자의 집합, 복수개의 아이템의 집합, 및 복수개의 아이템에 대한 복수개의 쌍별 비교 데이터의 집합을 포함하고, 상기 복수개의 쌍별 비교 데이터의 각각의 쌍별 비교 데이터는, 복수개의 판단기준 중 하나의 판단기준에 따라 두 개의 아이템 간의 선호도를 판단한 데이터인 것을 특징으로 하는 다중랭캥 추정 방법을 제공할 수 있다.
[11]
또한 본 발명의 일 실시예에 따르면, 상기 다중랭킹 추정 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.

발명의 효과

[12]
본 발명의 일 실시예에 따르면, 주어진 쌍별 비교 결과에 복수개의 판단기준이 존재하는 경우 이 복수개의 판단기준에 따른 아이템의 랭킹을 추정할 수 있고, 더 나아가 복수개의 판단기준의 각각의 특성을 분석하여 제공할 수 있는 이점이 있다.
[13]
본 발명의 일 실시예에 따르면, 쌍별 비교 결과 데이터로부터 판단기준 선호도 확률분포를 산출함으로써 복수개의 판단기준에 대한 각 사용자의 선호도를 추정할 수 있는 이점이 있다.
[14]
또한 응답자들이 실수 혹은 착각에 의해 항상 올바른 쌍별 비교 결과를 내놓지 못하므로 쌍별 비교 결과 데이터 자체에 부정확성도 존재할 수 있으며, 본 발명의 일 실시예에 따르면, 이러한 부정확성을 내포한 쌍별 비교 결과에 대해서도 복수개의 판단기준별 아이템 랭킹을 올바르게 추정할 수 있는 이점이 있다.

도면의 간단한 설명

[15]
도1 내지 도3은 종래의 랭킹 학습 방법을 설명하기 위한 도면,
[16]
도4는 본 발명의 일 실시예에 따른 쌍별 비교 데이터를 이용한 다중랭킹 추정 방법을 설명하기 위한 흐름도,
[17]
도5는 도4의 다중랭킹 학습 알고리즘의 예시적 방법을 나타내는 흐름도,
[18]
도6a는 일 실시예에 따른 판단기준 선호도 확률분포를 설명하기 위한 도면,
[19]
도6b는 일 실시예에 따른 아이템 점수를 설명하기 위한 도면,
[20]
도6c는 일 실시예에 따른 응답정확성 확률분포를 설명하기 위한 도면,
[21]
도7 내지 도10은 일 실시예에 따른 다중랭킹 추정 방법의 실험 결과를 설명하기 위한 도면,
[22]
도11은 일 실시예에 따른 다중랭킹 추정 방법을 구현하는 예시적인 장치 구성을 설명하기 위한 블록도이다.

발명의 실시를 위한 형태

[23]
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
[24]
본 명세서에서 제1, 제2 등의 용어가 구성요소들을 기술하기 위해서 사용된 경우, 이들 구성요소들이 이 같은 용어들에 의해서 한정되어서는 안 된다. 이들 용어들은 단지 어느 구성요소를 다른 구성요소와 구별시키기 위해서 사용되었을 뿐이다. 여기에 설명되고 예시되는 실시예들은 그것의 상보적인 실시예들도 포함한다.
[25]
본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprise)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
[26]
이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다. 아래의 특정 실시예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 혼돈을 막기 위해 기술하지 않음을 미리 언급해 둔다.
[27]
본 발명은 응답자들이 두 개의 아이템간의 쌍별 비교에 대해 응답을 내놓는 과정을 확률 모델로 모델링한다. 일 실시예에서, 이 확률 모델의 모델링에 사용하는 다중랭킹 데이터가, 각 판단기준에 대해서 사람들이 올바른 대답을 내놓을 확률, 각 사람들이 선호하는 판단기준의 비중, 및 실제 아이템들의 판단기준별 랭킹 점수값 등을 포함할 수 있다. 일 실시예에서, 이러한 다중랭킹 데이터 값에 따라서 실제 쌍별 비교의 결과들이 얻어질 확률을 나타내는 우도 함수(likelihood function)를 구할 수 있다. 이 우도 함수값을 최대화 하는 다중랭킹 데이터를 기대값 최대화 알고리즘(EM Algorithm)을 이용하여 계산하고, 다중랭킹 데이터 중 하나인 아이템의 판단기준별 랭킹 점수를 바탕으로 각 판단기준별 아이템간의 랭킹을 산출한다.
[28]
도4는 본 발명의 일 실시예에 따른 쌍별 비교 데이터를 이용한 다중랭킹 추정 방법을 설명하기 위한 흐름도이다.
[29]
일 실시예에서 쌍별 비교 데이터를 이용한 다중랭킹 추정 방법은, 쌍별 비교 데이터에 관한 정보를 입력데이터로서 다중랭킹 학습 알고리즘에 입력하는 단계, 및 다중랭킹 학습 알고리즘이 이 입력데이터에 기초하여 다중랭킹 데이터를 생성하는 단계를 포함한다.
[30]
다중랭킹 학습 알고리즘에 입력되는 입력데이터는, 예를 들어 복수의 응답자의 집합, 복수개의 아이템의 집합, 및 복수개의 아이템에 대한 복수개의 쌍별 비교 데이터의 집합을 포함할 수 있다. 복수개의 쌍별 비교 데이터의 각각의 쌍별 비교 데이터는, 복수개의 판단기준 중 임의의 하나의 판단기준에 따라 두 개의 아이템 간의 선호도를 판단한 데이터이다.
[31]
다중랭킹 학습 알고리즘에 의해 생성되는 다중랭킹 데이터는, 예를 들어, 응답자가 임의의 판단기준을 선호할 확률의 확률분포("판단기준 선호도 확률분포"), 판단기준마다 각 아이템이 얻은 랭킹 점수("아이템 점수"), 및 판단기준마다 응답자가 정확히 응답하였을 확률의 확률분포("응답정확성 확률분포")를 포함할 수 있다. 다중랭킹 학습 알고리즘에서 생성된 아이템 점수에 의해, 판단기준별 아이템간의 랭킹 결과가 도출될 수 있다.
[32]
이하에서 도5 및 도6을 참조하여 다중랭킹 학습 알고리즘에 따른 예시적 학습 방법의 일 실시예를 상술하기로 한다.
[33]
도5는 도4의 다중랭킹 학습 알고리즘의 예시적 방법을 나타내는 흐름도이다.
[34]
도면을 참조하면, 다중랭킹 학습 알고리즘에 의해 다중랭킹 데이터를 생성하는 방법은, 입력데이터 및 사전(prior) 다중랭킹 데이터에 기초하여, 임의의 두 개의 아이템에 대한 쌍별 비교결과의 확률을 계산하는 단계(S110), 상기 확률에 기초하여 우도 함수를 산출하는 단계(S120), 및 우도 함수를 최대화하는 사후(posterior) 다중랭킹 데이터를 산출하는 단계(S130)를 포함할 수 있다.
[35]
단계(S110)에서 입력데이터 및 사전 다중랭킹 데이터를 이용하여 쌍별 비교결과의 확률을 계산한다. 이 때 사용되는 사전 다중랭킹 데이터는, 사전(prior) 판단기준 선호도 확률분포, 사전 아이템 점수, 및 사전 응답정확성 확률분포이다. 이러한 사전 다중랭킹 데이터는 임의로 설정된 추정값이어도 되고 실제 입력데이터에 기초하여 산출된 값이 아니어도 무방하다. 단계(S110)에서 사용되는 다중랭킹 데이터는 추정 확률분포 및 추정 아이템 점수이며, 그 후 후술하는 단계(S120, S130)를 통해 실제의 입력데이터를 가장 잘 만족하는 사후(posterior) 다중랭킹 데이터(즉, 사후 판단기준 선호도 확률분포, 사후 아이템 점수, 및 사후 응답정확성 확률분포)를 얻게 된다.
[36]
바람직한 일 실시예에서 본 발명은 사전 확률(prior probability)과 관측값(즉, 입력 데이터)을 이용하여 사후 확률(posterior probability) 정보를 도출하는 베이즈 정리(Bayes' Theorem)를 이용한 것으로, 다중랭킹 데이터의 사전 확률분포(예컨대, '판단기준 선호도 확률분포' 및 '응답정확성 확률분포')와 사전 아이템 점수 및 관측값(예컨대, '입력 데이터')을 이용하여 다중랭킹 데이터의 사후 확률분포 및 사후 아이템 점수를 얻게 된다.
[37]
[38]
입력 데이터
[39]
단계(S110)에서, 입력 데이터 및 사전 다중랭킹 데이터를 이용하여 쌍별 비교결과의 확률을 산출한다. 여기서 '입력 데이터'는 사후 다중랭킹 데이터를 생성하는데 필요한 데이터로서, 미리 수집되거나 결정된 기지의(known) 값이다. 입력 데이터는 아래와 같이 복수의 응답자의 집합(U), 복수개의 아이템의 집합(O), 및 복수개의 아이템에 대한 복수개의 쌍별 비교 데이터의 집합(C u)을 포함할 수 있다.
[40]
U = {u 1,..., u L}: 쌍별 비교를 수행한 응답자들의 집합이다. L명(단, L은 2이상의 정수)의 복수의 응답자가 쌍별 비교를 하였다고 가정하며, 각각의 응답자를 "u"로 표현하기로 한다.
[41]
O = {o 1,..., o M}: 쌍별 비교의 대상이 되는 아이템들의 집합이다. M개(단, M은 2이상의 정수)의 복수개의 아이템이 있다고 가정하며, 각 아이템을 "o i", "o j" 등으로 표현하기로 한다. 쌍별 비교에서 아이템(o i)이 아이템(o j)보다 우선순위가 높다는 쌍별 비교결과를 "o i<o j"로 표현하기로 한다.
[42]
C u : 각 응답자 u가 내놓은 모든 쌍별 비교의 집합이다.
[43]
[44]
다중랭킹 데이터
[45]
다중랭킹 데이터는 다중랭킹 알고리즘에 입력되는 사전(prior) 데이터 또는 다중랭킹 알고리즘의 계산결과 생성되는 사후(posterior) 데이터를 의미한다. 다중랭킹 데이터는 다음과 같이 판단기준 선호도 확률분포(θ u,m), 아이템 점수(π i(m)), 및 응답정확성 확률분포(η m)를 포함할 수 있다.
[46]
판단기준 선호도 확률분포(θ u,m): 응답자가 임의의 판단기준을 선택할 확률의 확률분포를 의미한다.
[47]
아이템 점수(π i(m)): 각 아이템의 판단기준별 점수이다. 즉 판단기준마다 응답자가 각 아이템에 부여한 점수를 의미한다.
[48]
응답정확성 확률분포(η m): 판단기준마다 응답자가 정확히 응답하였을 확률의 확률분포를 의미한다.
[49]
이와 관련하여 도6a 내지 도6c는 이해를 돕기 위해 판단기준 선호도 확률분포, 아이템 점수, 및 응답정확성 확률분포의 각각의 예시적인 값들을 나타낸다.
[50]
도6a는 일 실시예에 따른 판단기준 선호도 확률분포(θ u,m)로서, 응답자(u)가 L명이고 판단기준(m)이 d개 존재할 때 각 응답자가 어느 특정 판단기준(m)을 선택할지를 확률로서 나타낸다. 표를 참조하면, 응답자(u 1)가 판단기준(m 1)을 선호하여 쌍별 비교시 이 판단기준(m 1)을 선택할 확률이 0.15이고, 판단기준(m 2)를 선호하여 선택할 확률은 0.10이며, 이와 같이 응답자(u 1)가 각 판단기준(m 1 내지 m d)을 선호할 확률이 표시되고, 응답자(u 1)에 대해 모든 판단기준에 대한 선호도 확률을 더하면 1이 된다. 마찬가지로, 응답자(u 2) 내지 응답자(u L)의 각각에 대해서도 각 판단기준을 선호할 확률이 표시되며 각 응답자마다 모든 판단기준의 선호도 확률을 더하면 각각 1이 됨을 알 수 있다.
[51]
판단기준 선호도 확률분포는 쌍별 비교의 결과를 내놓는 각 응답자(u)가 d개의 다른 판단기준들 중에서 한 가지 판단기준을 선호할 확률이므로 이 확률분포를 d차원의 벡터, 즉 = [θ u,1,..., θ u,d]로 표현할 수 있으며, 이하에서는 임의의 응답자(u)의 임의의 판단기준(m)에 대한 판단기준 선호도 확률분포를 θ u,m로 나타내기로 한다.
[52]
단계(S110)에서 다중랭킹 알고리즘에 입력되는 사전(prior) 판단기준 선호도 확률분포(θ u,m)는 미리 설정되거나 추정된 값을 가질 수 있다. 일 실시예에서 이러한 사전 판단기준 선호도 확률분포가 임의의 확률분포를 따른다고 가정할 수 있으며, 이하에 설명하는 실시예에서는 일 예로서 디리클레 분포(Dirichlet distribution)를 따른다고 가정한다. 즉 벡터 가 디리클레 분포 Dir(α)를 따른다고 가정하며, 여기서 α=[α 1,..., α d]는 미리 주어지는 인자이다.
[53]
도6b는 일 실시예에 따른 아이템 점수(π i(m))로서, 아이템(o)이 M개 이고 판단기준(m)이 d개 존재할 때 각 아이템이 얻은 점수를 나타낸다. 표를 참조하면, 각 아이템(o)은 d개의 다른 판단기준(m)에 따라 점수를 가지고 있으며, 예컨대 0에서 10까지의 임의의 실수로 표시될 수 있다. 이 때 이 점수가 낮을수록 우선순위가 더 높다고 가정한다.
[54]
그러나 쌍별 비교는 두 개의 아이템간의 상대적 선호도를 나타내므로, 아이템 점수가 반드시 특정 범위(예컨대, 0에서 10 사이)의 값을 가질 필요는 없고, 대안적 실시에에서, 예컨대 1에서 5 사이의 값에서 아이템 점수를 매길 수도 있다. 또한 대안적 실시예에서, 점수가 높을수록 해당 아이템을 더 선호한다고 가정할 수도 있다.
[55]
이하에서는 임의의 아이템(o i)의 m번째 판단기준에서의 점수값을 π i(m)로 표기하도록 한다. 수학적으로, 해당 아이템의 모든 판단기준에서의 점수를 d차원 벡터로 와 같이 표기할 수 있다. 또한 모든 아이템의 m번째 판단기준의 점수 값을 모은 벡터를 로 표기하기로 한다.
[56]
도6c는 일 실시예에 따른 응답정확성 확률분포(η m)로서, 판단기준(m)이 d개 존재할 때 각 판단기준(m)에 대해 응답자 자신이 원래 의도했던 대로 올바로 쌍별 비교를 수행할 확률을 나타낸다. 이하에서는 응답자가 m번째 판단기준에서 올바르게 대답할 확률, 즉 응답정확성 확률을 η m로 표기하도록 한다.
[57]
단계(S110)에서 다중랭킹 알고리즘에 입력되는 사전 응답정확성 확률분포(η m)는 미리 설정되거나 추정된 값을 가질 수 있다. 일 실시예에서 이러한 사전 응답정확성 확률분포가 임의의 확률분포를 따른다고 가정할 수 있으며, 이하의 실시예에서는 일 예로서 베타 분포(beta distribution)을 따른다고 가정한다. 여기서 β = [β 12]는 상술한 α와 마찬가지로 미리 주어지는 인자이다.
[58]
[59]
쌍별 비교결과의 확률 산출
[60]
다시 도5를 참조하면, 상술한 입력데이터 및 사전 다중랭킹 데이터를 이용하여 단계(S110)에서 쌍별 비교결과의 확률 Pr u(o i<o j)를 산출한다. 여기서 확률(Pr u(o i<o j))은 임의의 응답자(u)가 임의의 제1 아이템(o i)을 임의의 제2 아이템(o j)보다 선호하는 비교결과를 내놓을 확률을 의미한다.
[61]
각 쌍별 비교가 생성되는 과정은 서로 독립적이라고 생각한다. 응답자(u)에게 복수개의 쌍별 비교 질문을 한다고 가정할 때, t번째 질문으로 두 아이템 o i와 o j간의 쌍별 비교를 물어보는 경우 확률(Pr u(o i<o j))은 다음과 같이 수학식1로서 표현될 수 있다.
[62]
[수학식 1]
[63]
[64]
여기서, Pr u(s u,t=m)는 응답자(u)가 어느 판단기준을 이용하여 두 아이템을 비교할 것인지를 나타내는 확률이다. 이는 에 따른 다항분포 Multinomial( )를 이용하여 임의의 판단기준(m)을 선택함으로써 정해진다. 여기서 s u,t는 전체 d개의 판단기준 중 어느 판단기준을 선택했는지 나타내는 변수로서, 1에서 d 사이의 임의의 정수값이다. 예컨대 Pr u(s u,t=1)이면, 첫번째 판단기준(m 1)을 이용해서 두 아이템간의 쌍별 비교를 하였을 확률이다. 임의의 판단기준(m)이 선택될 확률, 즉 Pr u(s u,t=m)는 다항분포의 정의에 의해 판단기준 선호도 확률분포(θ u,m)가 된다.
[65]
상기 수학식1에서 Pr u(o i<o j|s u,t=m)는, 응답자(u)가 비교하는 과정에서 실수가 있지 않았는지를 고려할 때, 다음과 같이 표현된다.
[66]
[수학식 2]
[67]
Pr u(o i<o j|s u,t=m) = Pr u(o i<o j, p u,t=1|s u,t=m) + Pr u(o i<o j, p u,t=0|s u,t=m)
[68]
= Pr u(o i<o j|p u,t=1, s u,t=m) ·Pr u(p u,t=1|s u,t=m)
[69]
+ Pr u(o i<o j|p u,t=0, s u,t=m) ·Pr u(p u,t=0|s u,t=m)
[70]
위 수학식2에서 p u,t는 응답자(u)가 쌍별 비교 과정에서 실수가 있었는지를 나타내는 변수로서, η m에 따른 이항분포 Binomialm)에 따라서 1 또는 0의 값을 가진다고 가정한다. p u,t = 1이면, 응답자가 올바른 쌍별 비교 결과를 내놓은 것을 의미하고, p u,t = 0이라면 응답자가 실수로 반대의 결과를 내놓았음을 의미한다.
[71]
그러므로 Pr u(p u,t=1|s u,t=m)는 임의의 판단기준(m)이 선택된 후 이 판단기준에 따라 응답자(u)가 올바르게 응답하였을 확률로서 응답정확성 확률분포(η m)가 되고, Pr u(p u,t=0|s u,t=m)는 판단기준(m)이 선택된 후 이 판단기준에 따라 응답자(u)가 실수로 반대로 응답하였을 확률이고, (1-η m)로 표현할 수 있다. 즉 다음과 같이 표현 가능하다.
[72]
[수학식 3]
[73]
Pr u(p u,t=1|s u,t=m) = η m
[74]
[수학식 4]
[75]
Pr u(p u,t=0|s u,t=m) = 1-η m
[76]
그리고 상기 수학식2에서 Pr u(o i<o j|p u,t=1, s u,t=m)는 응답자가 올바로 응답하였을 때의 제1 아이템(o i)을 제2 아이템(o j)보다 선호하는 비교결과의 확률이고,
[77]
Pr u(o i<o j|p u,t=0, s u,t=m)는 응답자가 실수로 잘못 응답하였을 때의 제2 아이템(o j)을 제1 아이템(o i)보다 선호하는 비교결과의 확률이다.
[78]
상기 제1 아이템(o i)을 제2 아이템(o j)보다 선호하는 비교결과의 확률 및 상기 제2 아이템(o j)을 제1 아이템(o i)보다 선호하는 비교결과의 확률을 임의의 수학적 모델로 표현할 수 있다. 이하의 실시예에서는, 이 비교결과의 확률이 각각 브래들리-테리 모델(Bradley-Terry model)을 따른다고 가정한다.
[79]
브래들리-테리 모델은 응답자의 두 아이템간의 선호도를 설명하기 위하여 제안된 모델이다. 이 모델은 각 아이템(o i)마다 어떤 점수 π i가 존재하고, 이 점수가 낮을수록 응답자들이 해당 아이템을 더 선호할 확률이 높아진다고 전제한다. 이 모델에 따르면 두 개의 아이템(o i, o j)가 주어졌을 때 응답자가 o i를 o j보다 더 선호할 확률, 즉 o i<o j 라는 쌍별 비교 결과를 내놓을 확률은 아래와 같다.
[80]
[수학식 5]
[81]
Pr u[o i<o j] = =
[82]
이에 따라, 응답자가 올바로 응답하였을 때의 제1 아이템(o i)을 제2 아이템(o j)보다 선호하는 비교결과의 확률, 즉 Pr u(o i<o j|p u,t=1, s u,t=m)은 아래와 같다.
[83]
[수학식 6]
[84]
Pr u(o i<o j|p u,t=1, s u,t=m) =
[85]
그리고 응답자가 실수로 잘못 응답하였을 때의 제2 아이템(o j)을 제1 아이템(o i)보다 선호하는 비교결과의 확률, 즉 Pr u(o i<o j|p u,t=0, s u,t=m)는 아래와 같다.
[86]
[수학식 7]
[87]
Pr u(o i<o j|p u,t=0, s u,t=m) =
[88]
상기 수학식2 내지 수학식4, 수학식6, 및 수학식7을 수학식1에 대입하고 위와 같은 과정을 응답자(u)에게 질문하는 모든 아이템 쌍들에 대하여 수행하면, 결과적으로 단계(S110)에서 응답자(u)에 대한 쌍별 비교결과의 확률(Pr u)은 다음과 같이 표현될 수 있다.
[89]
[수학식 8]
[90]
[91]
[92]
우도함수 산출
[93]
도5를 참조하면, 상술한 바와 같이 단계(S110)에서 쌍별 비교결과의 확률을 산출한 후 단계(S120)에서 이 확률에 기초하여 우도(likelihood) 함수를 산출한다.
[94]
일 실시예에서, 다중랭킹 데이터로서 판단기준 선호도 확률분포(θ u,m), 아이템 점수(π i(m)), 및 응답정확성 확률분포(η m)가 주어졌을 때 우도 함수(L)는 아래 수학식9와 같이 계산된다.
[95]
[수학식 9]
[96]
[97]
[98]
우도 함수를 최대화하는 다중랭킹 데이터 산출
[99]
단계(S120)에서 상기 수학식7과 같이 우도 함수가 산출되면, 단계(S130)에서 이 우도 함수를 최대화하는 사후(posterior) 다중랭킹 데이터를 산출한다. 즉 우도 함수가 최대가 되도록 하는 판단기준 선호도 확률분포(θ u,m), 아이템 점수(π i(m)), 및 응답정확성 확률분포(η m)를 계산한다.
[100]
이 과정은 기대값 최대화(EM: Expectation Maximization) 알고리즘으로 알려진 공지의 방법을 사용할 수 있다. EM 알고리즘은 예컨대 A. P. 뎀스터(Dempster), N. M. 레어드(Laird), 및 D. B. 루빈(Rubin)의 논문 "Maximum likelihood from incomplete data via the EM algorithm" (Journal of Royal Statist. Soc., 39:1-38, 1977) 등에 개시되어 있으며, 반복적으로 E-스텝과 M-스텝을 수행하면서 우도 값이 더 이상 증가하지 않고 수렴할 때의 확률분포 값을 해(solution)로 구하는 방법이다. EM 알고리즘은 항상 최적의 값을 찾는 것을 보장하지 못하기 때문에 EM 알고리즘을 여러번 실행하여 가장 큰 우도 값을 얻어냈을 때의 확률분포를 가장 좋은 해로 삼는 것이 바람직하다.
[101]
한편 EM 알고리즘을 본 발명의 실시예에 적용할 때, 확률(Pr u)의 계산식(즉, 수학식8)에 두 개의 아이템(o i,o j)간의 점수차(π j(m)-π i(m))가 지수함수의 인자로 사용되었기 때문에, EM 알고리즘에서는 아이템별 점수(π i(m))를 직접 알 수 없고 이 점수값의 차이(π j(m)-π i(m))만 알 수 있다. EM 알고리즘에 의해 사후 판단기준 선호도 확률분포(θ u,m), 사후 응답정확성 확률분포(η m), 및 아이템간의 점수차(π j(m)-π i(m))가 도출되며, 그 후 예컨대 최소자승법(LSM: Least Square Method)을 사용하여 각 아이템의 점수(π i(m))를 산출할 수 있다.
[102]
이상과 같이 단계(S110) 내지 단계(S130)를 수행하여 사후 다중랭킹 데이터를 얻을 수 있다. 특히 사후 다중랭킹 데이터중 하나로서 아이템 점수(π i(m))도 얻어지므로, 이 아이템 점수에 따른 각 아이템의 판단기준별 랭킹을 사용자에 제공하거나 상위 랭킹 아이템들을 사용자에게 추천하는 등의 용도로 활용할 수 있다. 또한 사후 다중랭킹 데이터의 하나로서 판단기준 선호도 확률분포(θ u,m)도 얻어지며, 이 데이터로부터 복수개의 판단기준에 대한 각 사용자의 선호도를 추정하고 이를 활용할 수 있다.
[103]
[104]
실험 결과
[105]
도7 내지 도10은 일 실시예에 따른 다중랭킹 추정 방법의 실험 결과를 설명하기 위한 도면이다.
[106]
일 실시예에 따른 실험에서 합성 데이터(synthetic data)와 실생활 데이터(real-life data) 두 가지에 대해서 실험을 수행하였다. 합성 데이터는 상술한 본 발명의 확률 모델을 그대로 수행하여 응답정확성 확률분포(η m) 및 판단기준 선호도 확률분포(θ u,m)를 생성하였다. 각 아이템의 판단기준별 점수(π i(m))는 0과 10 사이의 실수 중 임의로 선택하였고, 쌍별 비교의 결과 역시 생성 모델을 이용하여 생성하였다.
[107]
실생활 데이터는 각 사람들이 영화에 매긴 평점을 모아놓은 MovieLens-100k 데이터를 이용하였다. 각 사람이 평점을 매긴 모든 영화의 쌍을 생성하여, 만약 해당 사람이 매긴 두 영화의 평점이 다르다면 그 평점을 반영하여 더 높은 점수를 가진 영화가 그렇지 않은 영화에 비해 우선순위에 앞선다는 쌍별 비교의 결과를 생성하였다.
[108]
실험 결과를 평가할 척도로는 켄달의 등위상관계수(Kendall's tau)를 사용하였다. 이 값은 -1에서 1 사이의 값을 가지며, 1에 가까울수록 실제 랭킹 순위를 잘 반영하고 -1에 가까울수록 실제 랭킹순위를 반대로 반영하게 된다. 이 실험에서는 판단기준(m)이 여러 가지가 사용되기 때문에, 도7과 도8에 나타낸 것처럼 가장 높은 Kendall's tau값을 갖는 판단기준의 그래프("maxmax")와 모든 판단기준의 Kentall's tau값들의 평균값의 그래프("avgmax") 두 가지를 표시하였다.
[109]
먼저 각각의 실제 판단기준에 대해서, 추정한 판단기준과의 Kendall's tau값을 계산한다. 예를 들어, 실제 판단기준은 3가지(즉, 3차원)이지만 추정할 때는 2가지 판단기준이 존재하는 것으로 가정하고 추정을 진행하였다면, 각 실제 판단기준별로 2개의 Kendall's tau값을 계산한다. 이후 각 실제 판단기준에서 계산된 Kendall's tau값들 중 가장 높은 값을 자신의 Kendall's tau값으로 생각한다. Maxmax는 이렇게 선택된 각 추정된 판단기준별 Kendall's tau중 최대값이고, avgmax는 평균값을 나타낸다.
[110]
기존의 방법과 비교하기 위해서, Xi Chen, Paul Bennet, Kevyn Collins-Thompson, Eric Horvitz의 논문 Pairwise Ranking Aggregation in a Crowdsourced Setting(WSDM, 2013)에서 제안한 알고리즘인 CrowdBT를 구현하였다. 아이템의 숫자, 랭킹점수의 판단기준의 수, 쌍별 비교의 결과 수를 바꿔가면서 실험한 결과를 도7 및 도8에 나타내었다.
[111]
도7은 아이템 숫자에 따른 판단기준 추정 결과에 대한 Kendall's tau 값을 나타내었고, 도8은 판단기준의 수에 따른 판단기준 추정 결과에 대한 Kentall's tau 값을 나타내었다.
[112]
도7 및 도8에서 알 수 있듯이, 본 발명에 따른 방법(MultiRank)의 maxmax의 값은 기존 방법(CrowdBT)보다 낮은 경우가 발생하지만, CrowdBT는 판단기준이 하나인 경우에 대해서만 추정하기 때문에 나머지 모든 판단기준에 대해서는 노이즈와 같이 처리하므로 avgmax값은 매우 낮은 값을 갖게 된다. 즉 기존 방법은 단일 랭킹에서 랭킹점수를 잘 추정하지만 다중랭킹 문제를 해결할 수 없음을 의미한다. 이와 달리 본 발명의 방법은 maxmax, avgmax값이 모두 비슷하게 높아서 잠재 판단기준을 종래에 비해 잘 추정하고 있음을 알 수 있다.
[113]
도9 및 도10은 본 발명의 일 실시예에 따라 도출된 아이템 랭킹점수를 이용하여 잠재 추정기준의 의미를 도출하는 방법을 나타낸다.
[114]
우선 MovieLens-100k의 영화평점 데이터를 본 발명의 실시예에 따른 다중랭킹 알고리즘에 입력하여 모든 영화의 랭킹 점수를 산출한다. 이 때 각 사람이 평점을 매긴 모든 영화의 쌍을 추출하여 쌍별 비교 데이터를 생성하여 알고리즘에 입력하였고, 4개의 판단기준이 존재하는 것으로 가정하여 4개의 판단기준에 따른 점수를 추출하도록 설정하였다. 이 때 실제로 판단기준이 4개 존재하는지 여부는 알 수 없는 상태이고, 임의적으로 판단기준의 개수(d)를 4로 설정한 것이다.
[115]
그 후 4개의 판단기준에 따른 점수 순위에서 상위 60개씩 영화를 선택하여, 각 판단기준(도면에서 "Rank #1" 내지 "Rank #4"로 표시됨)별로, 기설정된 11개의 장르(미스터리, 느와르, 범죄물 등)에 속하는 영화의 개수를 입력하고 이 개수를 0에서 1 사이의 값으로 정규화하여 도9와 같은 도표로 나타내었다. 도표에 따르면, 예컨대 임의의 제1 판단기준(Rank #1)에 따른 상위 점수 60개의 영화중에 어린이 영화가 가장 많았고 다음으로 뮤지컬, 액션, 어드벤쳐 등의 순서로 영화 개수가 많았다. 임의의 제2 판단기준(Rank #2)에 따른 상위 점수 60개의 영화에서는 코메디, 로맨스, 미스테리 순서로 영화 개수가 많았고 뮤지컬 영화는 하나도 없었다.
[116]
따라서 이 도표로부터 도10과 같이 판단기준의 의미를 해석할 수 있다. 예를 들어 도10의 제1 판단기준(Rank #1)에 따르면 어린이, 뮤지컬, 액션, 어드벤쳐에 속하는 영화 개수가 가장 많으므로, '가족영화에 적절한 영화인가'(또는 이와 유사한 의미의 기준)가 제1 판단기준(Rank #1) 이었음을 추정할 수 있다. 즉 응답자들 중 많은 사람들이 영화평점을 매길 때 가족영화에 적합한지 여부를 주요 판단기준으로 두고 평점을 매겼음을 의미한다.
[117]
또한 도10의 제4 판단기준(Rank #4)에 따르면, 미스테리, 느와르, 범죄 영화에 속하는 영화 개수가 가장 많았으므로, '성인영화에 적절한 영화인가'(또는 이와 유사한 의미의 기준)가 제4 판단기준(Rank #4) 이었음을 추정할 수 있다. 즉 응답자들 중 또다른 많은 사람들은 성인영화인지 여부를 또 하나의 주요 판단기준으로 두고 평점을 매겼음을 알 수 있다.
[118]
이와 같이 본 발명의 실시예에 따르면, 쌍별 비교결과를 이용하여 복수개의 판단기준에 따른 랭킹점수를 추출할 수 있을 뿐만 아니라, 판단기준별로 추출된 랭킹점수에 따른 아이템들을 분석함으로써 복수개의 판단기준들이 각각 어떠한 의미를 갖는지 파악할 수 있다.
[119]
도11은 일 실시예에 따른 다중랭킹 추정 방법을 구현하는 예시적인 장치 구성을 설명하기 위한 블록도이다.
[120]
도11을 참조하면 일 실시예에 따른 다중랭킹 추정 방법을 구현하는 장치는 서버(30), 입력데이터 DB(50), 및 다중랭킹 데이터 DB(60)를 포함할 수 있고, 네트워크(20)를 통해 다수의 사용자 단말기(10)와 통신하도록 연결될 수 있다.
[121]
사용자 단말기(10)는 예를 들어 스마트폰, 태블릿 PC, 노트북 컴퓨터 등의 휴대용 모바일 단말기 또는 데스크탑 컴퓨터와 같은 비-휴대용 단말기일 수 있다.
[122]
네트워크(20)는 휴대용 단말기(10)와 서버(30) 사이에 데이터 송수신 경로를 제공하는 임의의 형태의 유선 및/또는 무선 네트워크로서, LAN, WAN, 인터넷망, 및/또는 이동통신망 중 하나를 포함할 수 있다.
[123]
서버(30)는 다중랭킹 추정 방법에 의해 추출된 다중랭킹 데이터를 사용자 단말기(10)에 제공하는 서비스 서버일 수 있고, 일 실시예에서, 상술한 다중랭킹 추정 방법을 수행할 수 있는 다중랭킹 학습 알고리즘(40)을 어플리케이션(소프트웨어) 형태로 포함할 수 있다. 이를 위해 서버(30)는 프로세서, 메모리, 저장부, 통신부 등을 포함할 수 있고, 다중랭킹 학습 알고리즘(40)이 저장부에 저장되어 있다가 프로세서의 제어 하에 메모리에 로딩되어 실행될 수 있다.
[124]
도시된 실시예에서 서버(30)는 입력데이터 DB(50)와 다중랭킹 데이터 DB(60)와 통신가능하게 연결된다. 대안적인 실시예에서 서버(30)가 입력데이터 DB(50)와 다중랭킹 데이터 DB(60) 중 적어도 하나를 포함할 수도 있다. 입력데이터 DB(50)는 다중랭킹 데이터 DB의 생성을 위해 필요한 입력데이터(예컨대, 상술한 복수의 응답자의 집합, 복수개의 아이템의 집합, 및 복수개의 아이템에 대한 복수개의 쌍별 비교 데이터의 집합 등)를 저장할 수 있고, 다중랭킹 데이터 DB(60)는 학습 알고리즘(40)에 입력되기 전의 사전 다중랭킹 데이터 및/또는 학습 알고리즘(40)을 수행한 후 생성된 사후 다중랭킹 데이터를 저장할 수 있다.
[125]
상기와 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되지 않는다. 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 상술한 기재로부터 다양한 수정 및 변형이 가능함을 이해할 것이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
[126]

청구범위

[청구항 1]
쌍별 비교 데이터를 이용한 다중랭킹 추정 방법으로서, 쌍별 비교 데이터에 관한 정보를 입력데이터로서 입력하는 단계; 및 상기 입력데이터에 기초하여 다중랭킹 데이터를 생성하는 단계;를 포함하고, 상기 입력데이터는, 복수의 응답자의 집합, 복수개의 아이템의 집합, 및 복수개의 아이템에 대한 복수개의 쌍별 비교 데이터의 집합을 포함하고, 상기 복수개의 쌍별 비교 데이터의 각각의 쌍별 비교 데이터는, 복수개의 판단기준 중 하나의 판단기준에 따라 두 개의 아이템 간의 선호도를 판단한 데이터인 것을 특징으로 하는 다중랭캥 추정 방법.
[청구항 2]
제 1 항에 있어서, 상기 다중랭킹 데이터는, 응답자가 임의의 판단기준을 선택할 확률의 확률분포인 판단기준 선호도 확률분포(θ u,m); 판단기준마다 각 아이템에 부여된 점수인 아이템 점수(π i(m)); 및 판단기준마다 응답자가 정확히 응답하였을 확률의 확률분포인 응답정확성 확률분포(η m);를 포함하는 것을 특징으로 하는 다중랭킹 추정 방법.
[청구항 3]
제 2 항에 있어서, 상기 다중랭킹 데이터를 생성하는 단계는, 상기 입력데이터, 제1 다중랭킹 데이터에 기초하여, 임의의 두 개의 아이템(o i, o j)에 대한 쌍별 비교결과의 확률(Pr)을 계산하는 단계; 상기 계산된 확률(Pr)에 기초하여 우도 함수를 산출하는 단계; 및 상기 우도 함수를 최대화하는 제2 다중랭킹 데이터를 산출하는 단계;를 포함하는 것을 특징으로 하는 다중랭킹 추정 방법.
[청구항 4]
제 3 항에 있어서, 상기 제1 다중랭킹 데이터는, 사전(prior) 판단기준 선호도 확률분포, 사전 아이템 점수, 및 사전 응답정확성 확률분포를 포함하고, 상기 제2 다중랭킹 데이터는, 사후(posterior) 판단기준 선호도 확률분포, 사후 아이템 점수, 및 사후 응답정확성 확률분포를 포함하는 것을 특징으로 하는 다중랭킹 추정 방법.
[청구항 5]
제 4 항에 있어서, 상기 쌍별 비교결과의 확률(Pr)은, 제1 아이템(o i)을 제2 아이템(o j)보다 선호하는 비교결과의 확률이고, 상기 쌍별 비교결과의 확률(Pr)은, 각 판단기준에 대해, 응답자가 정확히 응답하였을 때의 제1 아이템(o i)을 제2 아이템(o j)보다 선호하는 비교결과의 확률; 및 응답자가 틀리게 응답하였을 때의 제2 아이템(o j)을 제1 아이템(o i)보다 선호하는 비교결과의 확률;을 합한 확률에 비례하는 것을 특징으로 하는 다중랭킹 추정 방법.
[청구항 6]
제 5 항에 있어서, 상기 제1 아이템(o i)을 제2 아이템(o j)보다 선호하는 비교결과의 확률 및 상기 제2 아이템(o j)을 제1 아이템(o i)보다 선호하는 비교결과의 확률의 각각이 브래들리-테리 모델(Bradley-Terry model)을 따르는 것을 특징으로 하는 다중랭킹 추정 방법.
[청구항 7]
제 4 항에 있어서, 상기 사전 판단기준 선호도 확률분포는 디리클레 분포(Dirichlet distribution)를 따르고, 상기 사전 응답정확성 확률분포는 베타 분포(beta distribution)을 따르는 것을 특징으로 하는 다중랭킹 추정 방법.
[청구항 8]
제 4 항에 있어서, 상기 우도 함수를 최대화하는 제2 다중랭킹 데이터를 산출하는 단계는, 기대값 최대화 알고리즘(EM Algorithm)을 사용하여 제2 다중랭킹 데이터를 산출하는 것을 특징으로 하는 다중랭킹 추정 방법.
[청구항 9]
제 4 항에 있어서, 상기 우도 함수를 최대화하는 제2 다중랭킹 데이터를 산출하는 단계는, 기대값 최대화(EM) 알고리즘 및 최소자승법(LSM) 알고리즘을 사용하여 제2 다중랭킹 데이터를 산출하는 것을 특징으로 하는 다중랭킹 추정 방법.
[청구항 10]
제 9 항에 있어서, 상기 우도 함수를 최대화하는 제2 다중랭킹 데이터를 산출하는 단계는, 기대값 최대화 알고리즘에 의해, 사후 판단기준 선호도 확률분포, 사후 응답정확성 확률분포, 및 제1 아이템(o i)과 제2 아이템(o j) 각각의 사후 아이템 점수간의 점수 차이를 산출하는 단계; 및 최소자승법에 의해, 각 아이템의 사후 점수를 산출하는 단계;를 포함하는 것을 특징으로 하는 다중랭킹 추정 방법.
[청구항 11]
제 1 항 내지 제 10 항 중 어느 한 항에 기재된 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.

도면

[도1]

[도2]

[도3]

[도4]

[도5]

[도6a]

[도6b]

[도6c]

[도7]

[도8]

[도9]

[도10]

[도11]