Ⅰ. 서론
전자 상거래 업계에서 추천 알고리즘은 사업자의 수익과 소비자의 요구를 동시에 만족시킬 수 있는 매우 중요한 기능이다. 수십년간 학계에서는 알고리즘의 성능을향상시키기 위하여 머신 러닝, 인공지능 등 다양한 기술을 접목 시도하였다[1][2[3]. 추천 시스템의 종류는 대개 내용 기반(content-based) 필터링, 협력 필터링(collaborative filtering, CF), 지식 기반(knowledge-based), 사회 연결망 기반(social-network based), 하이브리드 필터링 등으로 구분된다[4][5].
CF 기반 추천 시스템은 상업계의 실질적 서비스가 제공되는 유용한 방법으로서 시스템 성능을 위하여 사용자의 상품 선호 특성을 정확히 파악하려는 이슈가 대두되어 왔다[6]. 사용자 기반 CF(user-based CF)는 유사한 선호도를 가진 이웃 사용자들의 평가 이력을 토대로 하여 이들이 선호하였던 상품들을 추천한다[7]. 또다른 유형인 항목 기반 CF(item-based CF)는 현사용자가 과거에 선호했던 상품들과 유사한 상품들을 추천한다[8][9]. CF 기반 추천 시스템은 대개 현 사용자가 미평가한 항목들의 평가값을 예측한 후, 가장 높은 예측치의 상품 순으로 추천한다. 따라서, 유사도의 측정과 예측 평가치 산출은 CF 시스템의 핵심 기능으로서 성능을 좌우한다.
지난 십수년간 CF 시스템의 성능을 위한 유사도 척도개발 노력은 여러 관점에서 꾸준히 진행되어왔다. 그러나, 이에 반해 예측 평가치 산출 방법은 상대적으로 매우 낮은 관심 대상이었다. 본 연구에서는 기존의 사용자 기반 예측 방법과 항목 기반 예측 방법을 통합함으로써 평가치를 참조할 수 있는 이웃의 범위를 확장하여 평가데이타의 희소성을 극복하고 예측치의 정확성을 향상시킬수 있는 새로운 방법을 소개한다. 제안 방법의 성능은 서로 다른 특성의 두 종류의 공개 데이터셋들을 활용하여 평가 실험하였고 기존 방법들의 성능과 비교하였다. 그 결과, 기존 예측 방법에 비해 예측 성능, 정밀도 성능, 순위 적합도 성능을 크게 향상시켰다.
논문의 구성은 다음과 같다. 2절에서는 관련 연구를 소개하고 3절에서는 본 연구의 새로운 평가치 예측 방법을 설명한다. 4절에서 성능 측정 실험 결과를 제시하며, 5절에서 논문의 결론을 맺는다.
Ⅱ. 관련 연구 내용
미평가 항목에 대한 평가치의 예측과 추천은 CF 시스템에서 매우 중요한 과정이다. 과거 평가치 내역의 관점에서 현 사용자와 가장 유사한 이웃 사용자들을 구한 후, 현 사용자의 미평가 항목에 대한 이웃들의 평가치의 가중합(weighted sum)으로서 예측치를 구하는 사용자 기반 예측 방법은 가장 널리 알려진 방법이다. 한편, 이웃 사용자들을 구하는 대신에 현 사용자가 선호하였던 항목들과 유사한 이웃 항목들을 구한 후, 이들에 대한 현 사용자의 평가치로부터 예측치를 구하는 항목 기반의 방법도 연구되었다.
구체적으로, 사용자 기반 예측 방법에 의하면, 현 사용자 u의 미평가 항목 x에 대한 예측 평가치 \(\hat{r}_{u, x}\)는 다음과 같이 산출한다[5].
\(\hat{r}_{u, x}=\bar{r}_{u}+\frac{\sum_{v} \operatorname{sim}(u, v)\left(r_{v, x}-\bar{r}_{v}\right)}{\sum_{v}|\operatorname{sim}(u, v)|}\) (1)
위에서 v는 이웃 사용자, sim(u, v)는 u, v간 유사도값, rv,x v의 x에 대한 평가치, \(\bar{r}_{u}\)는 u의 평가치 평균이다. 항목 기반 방법은 대개 단순 가중합(simple weighted average)인 다음 식을 사용하는데, 이 때 j는 x와 유사한 이웃 항목이다.
\(\hat{r}_{u, x}=\frac{\sum_{j} \operatorname{sim}(x, j) r_{u, j}}{\sum_{j}|s i m(x, j)|}\) (2)
위 두 가지 방법 모두 타당한 유사도 값을 가진 이웃의 수가 적을 때 또는 시스템 사용자들의 평가치 개수가 적은 경우 예측치의 정확도를 저하시킬 우려가 있다. 이러한 희소성 문제를 해결하기 위한 대책으로서 본 연구에서는 예측치 산출을 위한 통합 방법을 제안한다.
Ⅲ. 제안 방법
1. 배경
본 절에서는 표 1과 2에 제시한 사용자-항목 매트릭스의 예를 통하여 제안 방법의 아이디어를 소개한다. 표 1과 2는 모두 5명의 사용자와 6개의 항목을 포함한 동일한 내용이며, 1부터 5까지의 평가등급을 사용하였으며, 미평가 항목에 해당하는 셀은 –로 표시하였다. 사용자 u2의 항목 i3에 대한 평가치를 예측하는 것이 목적으로서, 해당 셀에 ? 표시로써 구분하였다.
표 1. 사용자 간의 유사도 산출 예
Table 1. Example of similarity estimation between users
표 2. 항목 간의 유사도 산출 예
Table 2. Example of similarity estimation between items
표 1은 사용자 기반의 예측 방법의 활용 예시를 보여준다. 우선, 사용자 u2와 다른 사용자와의 유사성을 측정하기 위하여, u2와 공통평가항목을 가진 사용자 행들을 구별되는 배경색으로 표시하였다. u2와 이들 각각 과의 피어슨 상관 유사도 값을 표 1에 기재하였다. 유사도 값 산출 결과, u2의 인접 이웃은 u3, u5 순으로 결정된다.
표 2는 미평가 항목에 대한 평가치 예측을 위하여 항목 기반의 예측 방법을 활용한 예이다. i3 항목의 인접이 웃을 구하기 위하여 총 여섯 개의 항목들 중에서 i3를 평가한 사용자들을 살펴 보면 u1, u4, u5임을 알 수 있다. 이들 각 사용자의 평가항목 집합을 열거하면 {i3, i4, i5}, {i3, i5}, {i1, i2, i3, i4, i5}이다. 따라서 i3의 인접 이웃 항목 후보들은 이들 세 집합의 합인 {i1, i2, i4, i5} 이며, 각 항목과 i3 쌍의 피어슨 상관도를 산출하여 표2 에 제시하였다. i3의 인접 이웃 항목들은 i4, i5의 순으로 결정된다.
위 예에서 알 수 있듯이, 피어슨 상관도를 활용하여 산출한 유사도값은 부정확할 우려가 있다. 예로서, 공통평가항목이 단 두 개일 때 가장 큰 유사도값인 1.0이 산출될 수 있다. 기존의 다른 유사도 척도에서도 또다른 단점들이 발견됨이 연구되었다[10][11][12]. 따라서, 본 연구에서는 유사도 척도 자체의 정확도를 개선하려는 노력 대신에, 위 예에서 설명한 두 가지 평가치 예측 방법을 통합함으로써 미평가 항목의 예측치의 정확도를 향상시키고자 한다. 제안 방법은 인접 이웃 집합 크기를 증가 시켜 예측에 유효한 평가치를 가진 이웃의 활용 가능성을 높이므로 정확도 향상에 기여할 수 있다.
2. 상세 기술
제안 방법을 구체적으로 설명하면 다음과 같다. 관련 기호들은 표 3에 설명하였다. 사용자 u의 미평가 항목 x 의 예측치 산출을 위해, 인접 사용자 집합 NNU와 인접 항목 집합 NNI를 합한 새로운 집합 NN을 생성한다. 즉, NN에 속한 원소는 사용자 또는 항목이 된다. 그러나, 항목 x의 예측치 산출이 목적이므로, NN에 속한 원소들 중에서 x에 대한 평가 이력이 있는 사용자 또는 u가 평가한 이력이 있는 항목만을 포함시킨다. 구체적으로,
\(N N_{u, x}=\left\{n \in N N U_{u} \mid r_{n, x} \neq-\right\} \bigcup\left\{n \in N N I_{x} \mid r_{u, n} \neq-\right\}\) (3)
로 정의한다. 평가 예측치는 NN의 각 원소들의 평가치들의 가중합(weighted sum)으로 산출하며 아래와 같다.
\(\hat{r}_{u, x}=\frac{1}{\sum_{n \in N N_{u, x}}\left|\operatorname{sim}_{n}\right|} \sum_{n \in N N_{u, x}} \text { sim }_{n} \cdot \text { rval }_{n}\) (4)
\(\operatorname{sim}_{n}= \begin{cases}\operatorname{sim} U(n, u), & \text { if } n \in N N U_{u} \\ \operatorname{sim} I(n, x), & \text { if } n \in N N I_{x}\end{cases}\) (5)
\(\operatorname{rval}_{n}=\left\{\begin{array}{l} \bar{r}_{u}+r_{n, x}-\bar{r}_{n}, \text { if } n \in N N U_{u} \\ \bar{r}_{x}+r_{u, n}-\bar{r}_{n}, \text { if } n \in N N I_{x} \end{array}\right.\) (6)
위 식에서 simn은 인접 이웃의 종류에 따라 사용자 간 또는 항목 간 유사도로 계산하는데, 특정 유사도 척도에 국한하지 않고 시스템에서 도입한 임의의 척도를 활용한다. rval은 평가치 부여 기준의 차이를 감안하기 위해 평가치 평균값\(\left(\bar{r}_{n}\right)\) 대비 차이를 반영하였다. 얼마나 많은 수의 NN 원소들을 반영할지는 시스템 성능 결과를 파악한 후 결정해야 하는데, 전체 원소들을 유사도값을 기준으로 내림차순 정렬한 후, 가장 유사도가 높은 원소들부터 차례로 관계된 평가치를 반영한다. 다음 절에 인접 이웃 수에 따른 성능 차이를 실험 평가하였다.
표 3. 제안 방법에서 사용하는 기호 설명
Table 3. Description of symbols used by the proposed method
3. 예측값 산출 예
앞의 예에서 NNU={u3, u5}, NNI={i4, i5}, NN={u5, i4, i5}이다. u3는 항목 i3를 미평가하였으므로 제외되었다. NN을 유사도값 내림차순으로 정렬한 결과는 {i4, i5, u5}이다. NN의 각 원소의 rval은 다음과 같다.
\(\begin{aligned} \text { rval }_{i 4} &=\bar{r}_{i 3}+r_{u 2, i 4}-\bar{r}_{i 4}=1.667+3-3.25=1.417 \\ \text { rval }_{i 5} &=\bar{r}_{i 3}+r_{u 2, i 5}-\bar{r}_{i 5}=1.667+3-2.25=2.417 \\ \text { rval }_{u 5} &=\bar{r}_{u 2}+r_{u 5, i 3}-\bar{r}_{u 5}=2.75+3-3.4=2.35 \end{aligned}\)
그러므로, u2의 i3에 대한 예측치는 아래와 같다.
\(\begin{aligned} \hat{r}_{u 2, i 3}=& \frac{1}{\left|\operatorname{sim}_{i 4}+\operatorname{sim}_{i 5}+\operatorname{sim}_{u 5}\right|}\left(\operatorname{sim}_{i 4} \cdot \mathrm{rval}_{i 4}\right.\\ &\left.+\operatorname{sim}_{i 5} \cdot \mathrm{rval}_{i 5}+\operatorname{sim}_{u 5} \cdot \mathrm{rval}_{u 5}\right)=\\ & \frac{1}{|1.0+0.866+0.577|}(1.0 \times 1.417+\\ &0.866 \times 2.417+0.577 \times 2.35) \approx 1.992 \end{aligned}\)
Ⅳ. 성능 평가
1. 실험 배경
제안 방법의 성능 평가를 위해, 사용자의 직접 평가치 정보를 가진 데이터가 필요하다. 관련 연구에서 널리 활용되는 공개 데이터셋인 MovieLens와 Jester는 서로 다른 특성을 지닌 집합이므로 다양한 환경에서 평가하기에 적합하다[5]. MovieLens는 943명이 1682개의 영화에 대해 1∼5 범위의 정수 평가치를 부여하여 총 100, 000 개의 평가 레코드를 포함한다. Jester는 998명의 100개의 농담에 대한 총 70, 502개의 –10∼+10까지의 실수 평가치를 포함한다. 실험을 위하여 80%의 데이터는 훈련 데이터로, 나머지는 시험 데이터로 활용하였다.
협력 필터링 시스템 성능의 대표적인 측정 척도는 주로 미평가 항목에 대한 예측치의 정확도 측정을 위한 MAE(Mean Absolute Error), 시스템의 항목 추천 리스트에 대한 사용자의 적합도 측정을 위한 MAP((Mean Average Precision), 사용자가 선호하는 항목을 얼마나 높은 순위로 시스템이 추천하는지를 판단하는 nDCG를 포함한다[5]. 본 연구에서는 이들 척도를 통해 성능을 평가하되, MAE 값을 각 데이터셋의 평가범위 크기로 나누어 정규화한 Normalized MAE를 사용하였다. 추천 항목의 적합 판정 기준이 되는 평가치는 두 데이터셋 모두 80% 기준인 4의 값으로 동일하게 하였다.
본 연구는 기존의 두가지 대표적인 예측 방법들을 개선한 새로운 예측치 산출 방법의 개발로서, 어떠한 유사도 척도를 사용하는지와 무관하므로, 성능 비교 대상을 기존 예측 방법들로 국한하였다. 사용자 기반의 예측 방법을 USERB, 항목 기반의 예측 방법은 ITEMB, 제안 방법은 HYBRIDB로 표기하였으며 피어슨 상관도를 공통의 유사도 척도로 채택하였다.
2. 실험 결과
그림 1은 MAE 결과를 나타낸다. MovieLens에서 USERB는 다른 두 방법에 비해 매우 저조한 성능을 보이는데 이는 사용자의 평가치가 희소하므로 신뢰할 만한 인접 이웃 사용자들을 구하지 못함을 의미한다. 반면에 ITEMB의 결과에서 인접 이웃이 10 이상인 경우에 결과가 모두 동일한데, 그 이유는 데이터 희소성으로 인하여 인접 항목수가 10 이상인 경우가 부재하며, 소수의 인접 항목들의 평가치를 기반으로 산출된 예측치는 USERB의경우보다 정확하기 때문이다. HYBRIDB는 인접 사용자와 항목들 중 큰 유사도의 이웃들 평가치를 참조하기 때문에 두 데이터셋 모두에서 성능이 가장 우수하다. Jester는평가데이타가 밀집되어 있으므로 USERB의 성능이 MovieLens에서보다 훨씬 더 개선됨을 확인할 수 있다.
그림 1. MovieLens(위)와 Jester(아래)를 활용한 예측 정확도
Fig. 1. Prediction accuracy using MovieLens(up) and Jester(down)
그림 2에서 실험 방법들의 정밀도 결과는 Jester에서보다 MovieLens에서 더 큰 차이를 보인다. 따라서 MovieLens와 같은 희소 데이터 환경의 영향이 크며, 특히 USERB는 매우 큰 영향을 받는다. 그러나, HYBRIDB 는 이러한 환경의 영향을 감소시킬 수 있는 우수한 방법임이 입증되었다. Jester에서는 밀집 데이터로 인하여 기존 예측 방법을 각각 활용하여도 신뢰할 만한 인접이 웃을 구할 수 있기 때문에 제안 방법의 효과가 미미한 것으로 드러났다.
그림 2. MovieLens(위)와 Jester(아래)를 활용한 평균 정밀도
Fig. 2. Mean average precision using MovieLens(up) and Jester(down)
사용자가 선호하는 항목들의 순위 적합도를 측정한 결과는 그림 3에 제시하였다. 평균 정밀도의 결과와 마찬가지로 MovieLens에서 HYBRIDB가 대개 가장 우수하고 Jester에서는 방법들 간의 성능 차이가 작았다. 또한 MovieLens를 활용하면 Jester보다 더욱 높은 정확도치(대개 0.8 이상)를 나타냈다. 이는 Jester는 평가 범위가 매우 커서 사용자의 평가치 분산이 클 수밖에 없으므로 추천 항목의 적합 판정을 얻기 어려운 반면에, MovieLens는 1∼5의 정수 평가치를 허용하며 기존 연구에서 언급한대로 사용자들은 대개 3, 4의 평가치를 부여하기 때문이다[13].
그림 3. MovieLens(위)와 Jester(아래)를 활용한 순위 정확도
Fig. 3. NDCG using MovieLens(up) and Jester(down)
Ⅴ. 결론
본 논문은 이웃 기반의 협력 필터링 알고리즘에서 사용자가 미평가한 항목의 예측치의 정확도를 개선하여 추천의 질을 높이기 위한 방안을 제시하였다. 기존의 사용자 기반의 예측 방법과 항목 기반의 예측 방법을 통합함으로써 평가치 예측을 위해 보다 많은 수의 이웃 평가치를 참조할 수 있는 방안이다. 실험을 통한 성능 평가 결과, 희소한 데이터셋에서 제안 방법은 예측치 정확도, 추천 항목 적합도, 순위 만족도의 모든 측면에서 기존 예측 방법의 성능을 크게 향상시켰으며, 다소 밀집한 데이터셋에서는 예측치 정확도 측면에서만 가장 우수하고, 다른 평가 척도에서는 기존과 대등한 결과를 보였다.
참고문헌
- B. Shao, X. Li, G. Bian, "A Survey of Research Hotspots and Frontier Trends of Recommendation Systems from the Perspective of Knowledge Graph", Expert Systems with Applications, Vol. 165, 2021. DOI: https://doi.org/10.1016/j.eswa.2020.113764
- In-Kyu Park, Gyoo-Seok Choi, "Regularized Optimization of Collaborative Filtering for Recommender System based on Big Data", The Journal of The Institute of Internet, Broadcasting and Communication (IIBC), Vol. 21, No. 1, pp. 87-92, Feb. 2021. DOI: https://doi.org/10.7236/JIIBC.2021.21.1.87
- Y.-J. Ahn, H.-Y. Cho, S.-J. Kang, "Customized Recipe Recommendation System Implemented in the form of a Chatbot," Journal of the Korea Academia-Industrial Cooperation Society, Vol. 21, No. 5, pp. 543-550, 2020. DOI: https://doi.org/10.5762/KAIS.2020.21.5.543
- E.-Y. Bae, S.-J. Yu, "A Study on the Cross Domain Recommendation System Using Adaptive Source Domain Selection," The Journal of Korean Institute of Information Technology, Vol. 17, No. 10, pp. 9-16, 2019. DOI: https://doi.org/10.14801/jkiit.2019.17.10.9
- M. Jalili, S. Ahmadian, M. Izadi, P. Moradi, M. Salehi, "Evaluating Collaborative Filtering Recommender Algorithms: A Survey", IEEE Access, Vol. 6, pp. 74003-74024, 2018. DOI: https://doi.org/10.1109/ACCESS.2018.2883742
- N. Maleki, Y. Zeinali, S. Taghi, A. Niaki, "A k-NN Method for Lung Cancer Prognosis with the Use of a Genetic Algorithm for Feature Selection", Expert Systems with Applications, Vol. 164, 2021. DOI: https://doi.org/10.1016/j.eswa.2020.113981
- A. Jain, S. Nagar, P.K. Singh, J. Dhar, "EMUCF: Enhanced Multistage User-based Collaborative Filtering through Non-linear Similarity for Recommendation Systems", Expert Systems with Applications, Vol. 161, 2020. DOI: https://doi.org/10.1016/j.eswa.2020.113724
- J. Guo, J. Deng, X. Ran, Y. Wang, H. Jin, "An Efficient and Accurate Recommendation Strategy using Degree Classification Criteria for Item-based Collaborative Filtering", Expert Systems with Applications, Vol. 164, 2021. DOI: https://doi.org/10.1016/j.eswa.2020.113756
- Y. Wang, P. Wang, Z. Liu, L. Zhang, "A New Item Similarity based on α-divergence for Collaborative Filtering in Sparse Data", Expert Systems with Applications, Vol. 166, 2021. DOI: https://doi.org/10.1016/j.eswa.2020.114074
- L.A. Hassanieh, C.A. Jaoudeh, J.B. Abdo, J. Demerjian, "Similarity Measures for Collaborative Filtering Recommender Systems", IEEE Middle East and North Africa Communications Conference, pp. 1-5, 2018. DOI:https://doi.org/10.1109/MENACOMM.2018.8371003
- K.G. Saranya, G.S. Sadasivam, M. Chandralekha, "Performance Comparison of Different Similarity Measures for Collaborative Filtering Technique", Indian Journal of Science and Technology, Vol. 9, No. 29, pp. 1-8, 2016. DOI:https://doi.org/10.17485/ijst/2016/v9i29/91060
- D. Wang, Y. Yih, M. Ventresca, "Improving Neighbor-based Collaborative Filtering by Using a Hybrid Similarity Measurement", Expert Systems with Applications, Vol. 160, 2020. DOI: https://doi.org/10.1016/j.eswa.2020.113651
- J. Bobadilla, F. Ortega, A. Hernando, "A Collaborative Filtering Similarity Measure based on Singularities", Information Processing and Management, Vol. 48, No. 2, pp. 204-217, 2012. DOI: https://doi.org/10.1016/j.ipm.2011.03.007