Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 23, No. 6, pp.985-993
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 30 Jun 2022
Received 24 Mar 2022 Revised 13 May 2022 Accepted 17 Jun 2022
DOI: https://doi.org/10.9728/dcs.2022.23.6.985

사용자 기반 협업 필터링을 활용한 취미활동물품 대여 플랫폼에서의 추천 시스템

황세원1 ; 김다영1 ; 김은배1 ; 이예은1 ; 엄예솔1 ; 이주영2, *
1덕성여자대학교 컴퓨터공학과
2덕성여자대학교 컴퓨터공학과 교수
Recommender System for the Hobby-Activity-Item Rental Platform using User-based Collaborative Filtering
Se-Won Hwang1 ; Da-Yeong Kim1 ; Eun-Bae Kim1 ; Ye-Eun Lee1 ; Ye-Sol Eom1 ; Ju-Young Lee2, *
1Department of Computer Engineering, Duksung Women's University, Seoul, Korea
2Professor, Department of Computer Engineering, Duksung Women's University, Seoul, Korea

Correspondence to: *Ju-Young Lee E-mail: jylee@duksung.ac.kr

Copyright ⓒ 2022 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

전자상거래 플랫폼에서 추천시스템의 적용은 기업의 성공에 중요한 요소이며 최근 부상하는 다양한 공유경제 플랫폼의 사용자가 늘어남에 따라 추천 시스템의 필요성이 증대되었다. 따라서 본 연구에서는 개인의 취미 물품을 대여할 수 있는 공유경제 기반 플랫폼에 추천 시스템을 적용하여 개인화 서비스를 제공하는 시스템의 구축 사례를 소개한다. 추천 시스템은 사용자 기반 협업 필터링을 추천 알고리즘으로 구현하였으며 기존에 사용자가 직접 평점을 매겨야 하는 명시적 평가 방법의 문제점에 대한 대안으로 명시적 평가 방법과 암묵적 평가 방법과 혼용하여 구현하였다. 시스템의 테스트를 위해 ‘다람쥐 창고’라는 안드로이드 앱을 배포하여 사용자 테스트를 실시하였다. 사용자는 직접 개별 아이템에 평점을 매기지 않아도 조회 이력만을 가지고 추천을 받을 수 있으며, 평점 데이터에는 클릭률뿐만 아니라 상품의 상세 페이지에 머무른 시간이 반영되어 보다 효율적으로 추천이 이루어질 수 있다.

Abstract

The application of a recommender system in an e-commerce platform is an important factor for the success of a company, and as the number of users of various emerging sharing economy platforms increases, the need for a recommender system has increased. Therefore, this study introduces a case of building a system that provides personalized service by applying a recommender system to a sharing economy-based platform that can rent personal hobby items. The recommender system implemented user-based collaborative filtering as a recommendation algorithm, and implemented a mixture of explicit and implicit evaluation methods as an alternative to the problem of explicit evaluation methods in which users must evaluate themselves. To test the system, an Android application called 'Squirrel Warehouse' was distributed and user tests were conducted. Users can receive a recommendation based only on the search history without directly rating individual items, and the rating data reflects not only the click-through rate but also the time spent on the product detail page, so that recommendations can be made more efficiently.

Keywords:

Recommender System, Collaborative Filtering, User-based, Classification system, Sharing Economy

키워드:

추천 시스템, 협업 필터링, 사용자 기반, 분류 시스템, 공유 경제

Ⅰ. 서 론

최근 공유(Sharing)의 개념이 주목받으면서[1]국내외로 다양한 공유경제 플랫폼이 등장하였는데 대표적으로 공간을 공유하는 임대인과 공간을 대여하려는 임차인을 P2P 기반으로 연결하는 중개 서비스를 제공하는 플랫폼인 에어비앤비(Airbnb), 국내에서는 최근 몇 년간 급부상한 당근마켓 중고 거래 플랫폼을 예로 들 수 있다. 당근마켓의 경우 거주 지역을 기반으로 주변에 위치한 다른 사용자가 등록한 물건을 거래하는 플랫폼이다. 해당 플랫폼이 성장하고 사용자 수가 많아지면서 매일 수백에서 수천 건의 새로운 글이 등록되지만, 해당 게시글은 몇 분 이내에 새로운 게시글에 밀려 자취를 감춘다. 따라서 해당 게시글은 게시글 업로드 직후 단지 몇 분 동안만 노출되며 사용자가 직접 키워드를 입력하여 검색하지 않는 이상 다시 노출되지 않는다. 이를 위해 당근마켓에서 게시글을 상단으로 끌어올리는 기능을 도입했지만, 또다시 상단에 노출되는 시간은 잠시뿐이다. 따라서 사용자가 임의의 시간에 앱에 접속했을 때 보이는 물건의 종류가 한정되어 선택의 폭이 좁아질 수 있다. 에어비앤비의 경우 서비스에 등록된 숙소는 대규모 업체보다는 개인 호스트가 등록한 공간이 대다수이기 때문에 공간 선택 시 소비자가 고려해야 할 요소가 매우 많아진다. 예를 들어 임대 지역, 장소, 날짜, 임대료 등의 기본적인 것은 검색 서비스를 통해 필터링이 가능하지만 공간의 꾸밈 및 주변 편의시설, 지하철역 또는 관광지와의 거리 등 지리적 특색과 같은 취향이 반영되는 요소들은 개인이 일일이 상세 조회를 통해 정보를 찾아야 하는 등 상당한 노동과 시간이 소요되는 작업이다. 즉 과도한 정보가 오히려 사용자들에게 선택을 어렵게 만들어 문제가 되는 경우이다[2]. 이처럼 공유경제 플랫폼이 가진 문제의 대안으로 소비자의 성향을 분석하고 좋아할 만한 것을 예측하는 추천 시스템을 도입하여 소비자에게 더 좋은 선택지를 제공함으로써 기업의 매출 증대에 전략적 요소로 활용할 수 있다.

따라서 본 연구에서는 공유경제 플랫폼에 추천 시스템 도입하여 개인화 서비스를 제공하는 ‘취미 활동 물품 공유 시스템’의 구축 사례를 소개한다. 해당 서비스는 내가 소유한 취미활동 물품을 대여하거나 다른 사람으로부터 물건을 빌리는 P2P(Peer to Peer) 기반 ‘대여 서비스’의 제공을 기본으로 한다. 여기에 사용 편의성을 위한 ‘추천 시스템’과 ‘분류 시스템’의 2가지 추가 기능을 제공한다. ‘추천 시스템’은 사용자의 서비스 사용 기록으로부터 측정된 데이터를 기반으로 관심 있어 할 만한 물건을 예측하여 추천하는 기능이다. 사용자가 찜 목록에 담은 물품 데이터와 사용자가 물품 상세 페이지에 머무른 시간 데이터를 가공하여 평점 데이터를 추출한 후 사용자 기반 협업 필터링(User-based Collaborative Filtering) 방법을 사용하여 구현하였다. ‘분류 시스템’은 임대인이 물건의 사진을 서비스에 업로드 하면 물건의 종류를 인식하여 용도를 기준으로 10가지 취미 카테고리 중 하나로 자동으로 분류하는 기능이다.

본 논문의 2절에서는 추천 시스템과 이미지 분류 모델의 학습에 사용한 EfficientNet에 대해 기술한다. 3절에서는 시스템 구성과 추천 알고리즘에 대한 내용을 다루며, 4절에서 시스템 구현 및 테스트 결과를 설명한다. 마지막 5절에서 결론과 제언으로 마무리한다.


Ⅱ. 관련 연구

2-1 추천 시스템

추천 시스템은 자동화 시스템의 한 유형으로[3] 사용자가 좋아할 만한 물건을 예측하여 추천해 주는 서비스이다[4]. 추천 시스템의 구현 방법에는 필터링 방법에 따라 내용 기반 추천시스템, 협업 필터링 추천 시스템, 인구통계학적 필터링 추천 시스템, 지식 기반 추천 시스템, 하이브리드 필터링 추천 시스템으로 분류할 수 있다[5]. 이 중 가장 널리 사용되는 협업 필터링(CF; Collaborative filtering)은 여러 사용자로부터 수집한 평가에 대한 유사도(Similarity)를 기반으로 사용자의 행동을 예측하는 기법으로[6]-[7] 유사도 측정 대상을 기준으로 사용자 기반 협업 필터링(User-based CF)과 아이템 기반 협업 필터링(Item-based CF)으로 나뉜다. 아이템 기반 협업 필터링은 아이템 간의 유사도를 구하여 비슷한 아이템을 선정하는 반면 사용자 기반 협업 필터링은 사용자 간 유사도를 구하여 설정된 임계값에 따라 선별된 비슷한 취향을 가진 사용자를 통해 선호할 만한 물건을 예측하는 추천 방식이다[5]. 본 연구에서 개발한 시스템은 비슷한 취향의 사람들끼리 취미 물품 공유를 통해 새로운 취미를 찾게 해 주는 목적이 있으므로 유사한 사용자끼리 매칭이 가능한 사용자 기반 협업 필터링을 사용하였다.

유사도를 구하는 계산식은 피어슨 상관계수(Pearson Correlation Coefficient)나 코사인 유사도(Cosine Similarity), 자카드 유사도(Jaccard Similarity) 등이 있으며, 본 연구에서는 일반적으로 많이 사용되는 코사인 유사도 계산식을 사용하였다[4][8]. 유사도를 구하기 위해서는 사용자로부터 각 아이템에 대한 평점을 구해야 하는데 일반적으로는 사용자가 직접 점수를 매기는 명시적 평가 방법을 주로 사용하고 있다. 하지만 고객들이 만족한 상품에만 피드백을 주는 경향이 있고, 사용자마다 점수를 산출하는 기준이 다르기 때문에 명시적 평점만으로 선호하는 물건을 예측하기에는 한계가 분명히 존재한다[9]-[10]. 이를 보완하기 위해 박호연(2021)의 연구에서는 사용자 리뷰 데이터를 분석하는 텍스트 기반 추천 시스템을 소개하였다[11]. 이재성(2019)의 연구에서는 상품 거래에 대한 최신성(Recency), 빈도성(Frequency), 규모성(Monetary)을 조작적 정의를 통해 암묵적 평점을 산출하여 추천에 적용하는 RFM 분석 기법을 사용하였다[10]. 최희열(2017)의 연구에서는 사용자 로그 데이터를 활용해 클릭정보만을 가지고 선호도 점수를 산출하였다[12]. 이처럼 명시적 평가 방법의 한계를 인정하고 암묵적 평가 방법에 대한 다양한 연구가 시도되었다. 따라서 본 연구에서는 사용자가 직접 피드백하는 명시적 평가뿐만 아니라 암묵적 평가 방법을 같이 혼용하여 데이터를 수집하였고 이를 추천 시스템에 적용하여 기존의 시스템을 더 효율적으로 발전시킬 수 있도록 하였다.

2-2 EfficientNet

EfficientNet은 Tan et al.(2019)의 연구에서 발표된 depth, width, resolution 3가지 요소를 미세조정하여 성능을 높이는 CNN(Convolutional Neural Network) 시스템 아키텍처다[13]. 기존에 CNN의 성능을 높이기 위해서는 depth, width, resolution 의 세 가지 요소 중 하나만을 조작하는 방법을 사용하였으며, 두 요소 이상을 조작하는 경우도 있으나 임의로 조정하는 방법이었기에 최적화 된 방법은 아니었다. EfficientNet은 이 3차원 요소를 small grid search로 최적의 조합을 찾아내는 시스템 아키텍처며, 기존 모델보다 높은 정확도를 자랑한다[13]. 본 연구의 ‘분류시스템’의 구현을 위해 사용된 EfficientNet –Lite는 Tensorflow Lite에서 제공하는 모바일 또는 IoT에서 가볍게 쓰일 수 있도록 구현된 아키텍처로 대기시간이 짧고 학습 모델 사이즈 크기가 작은 옵션인 EfficientNet –Lite0 옵션을 사용하였다.


Ⅲ. 본 론

3-1 시스템 구성도

전체 시스템 구성도는 그림 1과 같다. 사용자는 Android 기반 Application을 통해 시스템에 접근할 수 있으며, 시스템 기능에 따라 추천 시스템, 분류 시스템, 대여 시스템으로 구분한다. 추천 시스템은 사용자로부터 수집된 정보를 기반으로 한 추천 알고리즘에 의해 동작하고 사용자 기반 협업 필터링 방법을 사용한다. 추천 알고리즘의 동작 과정은 다음과 같다. 먼저 물품 선호도와 같은 아이템에 대한 사용자 평가 데이터를 수집한다. 이때 수집된 데이터는 결측값 및 이상값(Outlier)이 뒤섞인 불균일한 값으로 전처리를 통해 모든 데이터가 일정 범위 내의 값을 갖도록 정규화한다. 정규화된 선호도 데이터를 사용자 행과 아이템 평점 열로 구성된 2차원 행렬 구조인 평가 행렬(Rating matrix)로 저장하며 이는 사용자 간 유사도 계산을 위한 입력 데이터로 사용되고 코사인 유사도 계산식을 활용해 유사도 행렬을 구한다. 유사도 행렬에서는 특정 사용자에 대해 가장 비슷한 사용자, 즉 유사도가 가장 높은 사용자를 구할 수 있으며 해당 사용자가 선호하는 아이템을 평가 행렬을 통해 추출하여 추천 리스트를 생성한다.

Fig. 1.

System diagram

분류 시스템은 이미지 분류 모델을 통해 대여할 물건의 이미지를 카테고리화하는 자동화 시스템이다. 다시 말해 사용자가 이미지를 업로드하면 이미지가 어떤 물건인지 인식하여 물건의 카테고리를 분류하고 이에 따라 자동으로 취미 카테고리가 정해진다. 대여 시스템은 QR 인증을 통해 임대인과 임차인의 거래 정보를 승인하고 기록하는 시스템이다. 각 시스템과 통신하는 데이터베이스는 사용자 정보를 기록하는 User DB, 대여 물건 정보를 기록하는 Item DB, 대여 거래 기록을 저장하는 Rental DB를 구축하였다.

시스템 구축에 사용된 개발 언어 및 도구는 다음과 같다. 안드로이드 모바일 운영체제용 앱은 Android Studio IDE에서 Kotlin 언어를 사용하였다. 이미지 분류를 위한 모델은 Tensorflow Lite에서 제공하는 EfficientNet-Lite 모델로 구축하였으며 데이터베이스는 Firebase에서 제공하는 Realtime Database를 사용하여 실시간으로 통신이 가능하게 하였다.

3-2 추천 시스템

1) 평가 행렬

유사도 행렬의 계산을 위한 평가 행렬의 데이터는 명시적(Explicit) 평가와 암묵적(Implicit) 평가 두 가지 방법을 혼용하여 수집하였다. 암묵적 평가 방법은 사용자로부터 간접적으로 피드백 데이터를 받는 방법으로 사용자가 물품의 상세 페이지에 머무른 시간을 계산하여 측정한다. 따라서 사용자가 오랜 시간 상세 페이지에 머무를수록 해당 물품에 대한 선호도가 높아지게 된다. 이와 대조적으로 명시적 평가 방법은 ‘상품 찜하기’와 같이 사용자의 직접적인 피드백에 의한 측정법이다.

선호도 데이터를 추출하는 과정을 순서도로 표현하면 그림 2과 같다. 먼저 (사용자 수)×(아이템 수) 크기의 2차원 평가 행렬인 R을 선언하고, 누적 시간을 측정하기 위한 time 변수와 time 데이터를 로그변환 한 값을 저장하는 preference 변수는 0으로 초기화한다. 사용자가 특정 물건의 상세페이지를 조회하기 시작하면 시스템에서는 해당 페이지에 머무른 시간을 초 단위로 측정하는데 만약 사용자가 상품 찜하기 버튼을 누르는 경우 측정된 시간과 관계없이 preference 변수는 최대치인 10점이 입력된다. 물건 상세페이지를 벗어나면 시스템은 시간 측정을 종료하고 time 변수에 누적 시간을 저장하는데 이값이 비정상적으로 높거나 낮은 이상값(Outlier) 문제를 해결하기 위해 로그변환을 수행하여 데이터를 스케일링한 후 preference 변수에 저장한다. 로그변환을 수행하였음에도 불구하고 preference 변수가 최대치인 10을 넘기는 경우에는 해당 데이터를 10으로 치환하였으며 이렇게 데이터를 전처리한 결과 모든 선호도 값이 0~10점의 스케일을 갖게 된다. 선호도 점수의 최대치인 10점은 59,049초를 로그 변환한 값으로 사용자가 머무른 시간을 충분히 반영할 수 있다. 이렇게 사용자별 선호도 데이터는 평가 행렬 R에 저장되고 사용자가 상품을 조회할 때마다 선호도 값이 갱신된다.

Fig. 2.

Flowchart of preference data extraction process

2) 유사도 행렬

유사도는 두 벡터 사이의 거리를 나타내어 사용자 간의 유사도를 측정할 수 있는 코사인 유사도(Cosine Similarity) 수식을 사용하여 구현하였으며, 자세한 식은 (1)과 같다[14].

Sim uv=iIuvru,iiIuvrv,iiIuvru,i2iIuvrv,i2(1) 
  • * Sim uv : cosine similarity between user u and user v
  • * Iuv : set of items rated by user u and user v
  • * r(u,i) : rating of item i by user u

그림 3은 추천을 위한 유사한 사용자를 선정하는 과정을 도식화한 그림이다. 먼저 (a)에서 유사도 행렬 S는 (사용자 수)×(사용자 수)의 2차원 행렬로 구성되며 0~1 사이의 값으로 산출된다. 이때 동일 사용자와의 유사도의 값은 1이므로 모두 0으로 치환하여 저장하였다. 특정 사용자 i 에 대한 유사도 값인 S[i]를 기준으로 내림차순 정렬하면 (b)와 같이 표현할 수 있으며, 정렬된 데이터에서 상위 3명의 사용자가 i의 유사한 사용자가 된다.

Fig. 3.

A method for finding similar users

3) 추천 알고리즘

특정 사용자 K에 대한 추천 시스템을 구현하는 알고리즘은 그림 4과 같다. 먼저 K로부터 수집한 평점 정보인 평가 행렬(Rating Matrix) R과 사용자 유사도 행렬(Similarity Matrix) S가 주어진다. 만약 K가 5개 이상의 아이템에 대해 암묵적 평가를 했다면, 즉 5개 이상의 아이템 상세 페이지에 접속했다면 평가 행렬 R에서 K의 선호도 데이터를 바탕으로 코사인 유사도를 계산한 후 유사도 행렬 S를 업데이트한다. 그 후 유사한 사용자 선정 방법에 의해 K와 가장 유사한 3명의 사용자를 구하고 평가 행렬 R에서 유사한 사용자들이 선호하는 아이템을 추출하여 리스트 l에 저장한다. 이때 l에 저장된 아이템이 K가 찜한 아이템이거나 이미 보유한 아이템이라면 해당 아이템은 리스트에서 삭제한다. 추천 카테고리 cl에 저장된 아이템의 카테고리 중 가장 출현 빈도가 높은 카테고리로 선정한다. 결국 사용자는 c에 저장된 카테고리와 l에 저장된 아이템을 추천받는다. 반면 사용자가 본 전체 물건 수가 너무 적어 발생하는 희소성(Sparsity) 문제에 대한 대안으로 물건을 5개 미만으로 본 사용자에게는 아이템 조회 수를 기준으로 내림차순 정렬하여 상위 20% 물건을 추천하고 카테고리의 경우 랜덤한 카테고리를 추천한다. 위와 같이 유사도 행렬 S를 반복적으로 업데이트하여 사용자에게 추천 물품 리스트를 제공한다.

Fig. 4.

Recommender system algorithm for user k

3-3 분류 시스템

물건의 추천을 위한 카테고리를 분류하기 위해 이미지 분류 시스템을 구축하였다. 임대인이 소유한 물건의 사진을 업로드하면 지도 학습(Supervised Learning)된 분류기(Classifier)에 의해 62가지 물건으로 레이블링 된 후 ‘공부’, ‘게임’, ‘독서’, ‘문화/예술’, ‘미술/공예’, ‘요리’, ‘원예’, ‘운동/스포츠’, ‘음악’, ‘반려동물’ 총 10가지 카테고리 중 하나로 분류된다.

Tensorflow Lite에서 제공하는 분류 모델은 학습된 데이터에 대해서는 정확도가 높으나 본 서비스에서 분류해야 할 레이블의 자세한 특징을 추출하지 못해 성능이 떨어지는 문제가 있어 전이학습(Transfer Learning)을 통해 학습 모델을 재정의하는 대안적인 방법을 채택하였다. 전이학습을 통한 fine-tunning의 전략으로는 (1) 전체 모델을 다시 학습시키는 방법, (2) 일부 레이어만 학습시키는 방법, (3) convolutional base를 동결하고 분류기만 다시 학습시키는 전략을 들 수 있다[15]. 본 서비스의 분류 시스템에서는 보유한 데이터셋(Data Set)이 적기 때문에 convolutional base를 동결하고 분류기만 다시 학습시키는 전략을 채택하였다.

62개의 물건 레이블마다 약 85개의 이미지 데이터를 학습시켰으며 정확도를 높이기 위해 이미지를 정제하는 전처리 작업을 실시하였다. 훈련데이터 80%, 검증데이터 10%, 테스트 데이터 10%의 비율로 설정하였으며 epoch는 accuracy 값이 최대가 되는 50회로 설정하였다.


Ⅳ. 구현 및 테스트

시스템의 테스트를 위해 추천 시스템과 분류 시스템, 대여 시스템을 구현하여 취미 물건을 추천하고 공유할 수 있는 ‘다람쥐 창고’라는 안드로이드 모바일 운영체제 기반 애플리케이션을 구축하고 배포하였다.

4-1 추천 시스템

‘다람쥐 창고’ 서비스의 베타 버전을 일부 사용자들에게 배포하였으며 실험 결과는 다음과 같다. 총 16명의 시험 배포 버전 사용자가 등록되었고, 57개의 물건이 서비스에 등록되었다. 각 사용자는 성향에 따라 선호하는 물건을 보고, 대여하고 싶은 물건을 관심상품에 등록하는 등의 사용자 활동을 통해 데이터를 수집하여 추천 시스템을 테스트 하였으며 5명의 표본 사용자에게 추천된 물품 및 카테고리는 표 1과 같다. 게임을 선호하는 사용자의 경우 게임과 관련된 물품뿐만 아니라 운동, 요리 등 다양한 물건을 본 이력이 있었기 때문에 ‘자전거 헬멧’, ‘커피 드리퍼’ 등의 다양한 물품이 추천되었다.

Example of a recommendation result

추천 카테고리의 경우, 추천 물건 중 ‘운동/스포츠’ 카테고리에 속해있는 물건이 가장 많았기 때문에 ‘운동/스포츠’ 카테고리가 추천되었다. 원예를 선호하는 사용자의 경우 물건을 5개미만으로 보았기 때문에 조회 수가 가장 높은 물건 10개가 추천되었으며, 10가지 카테고리 중 랜덤한 카테고리가 추천되었다. 추천 시스템의 구현 예시는 그림 5와 같다.

Fig. 5

Example of a Recommender System* It is a picture of implementation result of Korean service application called 'Squirrel Warehouse'.

추천 시스템의 성능은 Top-N 정밀도(Precision@N)와 Top-N 재현율(Recall@N)로 나타낼 수 있다. 정밀도(Precision)는 추천시스템에서 추천한 아이템 중 실제로 사용자가 관심을 가진 아이템의 비율을 나타내며, 재현율(Recall)은 실제로 사용자가 관심을 가진 아이템 중 추천 시스템이 정확히 예측한 아이템의 비율을 나타낸다. 이를 수식으로 나타내면 (2)와 같다.

Precision=TPTP+FP  Recall=TPTP+FN(2) 
  • * TP (True Positive) : If the actual value is positive and the predicted value is also positive
  • * FP (False Positive) : If the actual value is negative but the predicted value is positive
  • * FN (False Negative) : If the actual value is positive but the predicted value is negative

N은 시스템에서 추천한 아이템 개수를 의미하며 5, 10, 15씩 변화를 주어 측정하였다. 테스트를 위한 데이터셋은 영화 평점 데이터인 Movie Lens Small Latest Dataset[16]을 사용했으며, 총 100,837개의 데이터 중 150건 이상 평가한 사용자 및 100건 이상의 평가가 달린 아이템만을 필터링하여 23,056개의 평가 데이터로 테스트하였다.

1~5점 사이의 평점을 매긴 사용자가 특정 아이템에 관심이 있는지 나타내는 임계값(Threshold)은 3으로 설정했다. 따라서 아이템이 3점 이상의 점수를 받는다면 해당 유저가 관심을 보이는 아이템이라고 할 수 있으며 수식에서는 TP+FN으로 표현한다. 표 2는 추천시스템의 성능 평가 지표에 따른 측정값을 정리하였다.

Performance evaluation of recommender system

4-2 분류 시스템

사용자는 ‘다람쥐 창고’ 앱에서 게시글 작성 기능을 통해 핸드폰의 내장메모리에 저장된 물건의 사진을 업로드 할 수 있다.

업로드 된 이미지는 10가지 카테고리 중 하나로 자동으로 분류되어 사용자가 세부 카테고리 및 취미 카테고리를 입력하는 수고를 덜어줄 수 있다. 하지만 이미지를 인식하지 못하거나 카테고리가 사용자 의도와는 다르게 설정되는 상황을 고려하여 이미지를 업로드하면 ‘카테고리가 바르게 설정되었는지 확인해 주세요!’라는 팝업 메시지를 띄워 사용자가 직접 카테고리 설정을 조작할 수 있도록 안내한다.

학습시킨 분류 시스템 모델의 loss 값은 1.173이고, accuracy 값은 0.897로 측정되었다. 분류 시스템의 구현 예시는 그림 6과 같다.

Fig. 6.

Example of a classification system* It is a picture of implementation result of Korean service application called 'Squirrel Warehouse'.

4-3 대여 시스템

대여 서비스는 P2P(Peer-to-Peer) 기반으로 상호 간 QR 인증 시스템을 통해서 거래가 이루어진다. 서비스에서 물건을 공유 및 대여의 주체가 되는 사용자를 임대인, 물건을 대여받는 사용자를 임차인이라 지칭하며 임차인이 임대인으로부터 ‘다람쥐 창고’ 애플리케이션을 통해 물건을 대여하는 절차는 다음과 같다.

  • (1) 임대인이 다람쥐 창고 앱에 물건을 등록한다.
  • (2) 임차인이 임대인에게 물건 대여를 요청한다.
  • (3) 임대인의 물건에 대한 고유 QR 코드가 생성된다.
  • (4) 임차인이 해당 물건의 QR 코드를 스캔한다.
  • (5) 거래 정보가 서버에 기록된다.
  • (6) 거래가 승인된다.

반납 또한 QR 코드 인증을 통해 이루어지는데 이 경우 대여 절차와 반대로 QR 코드는 현재 물건을 보유한 임차인에게 생성이 되고 임대인이 해당 QR을 스캔해야 한다. 예를 들어 그림 7의 (a)처럼 채팅을 통해 연결된 임대인과 임차인은 물건 거래를 위해 오프라인으로 만났을 때 (b)와 같이 임차인은 애플리케이션에서 카메라를 호출하고 임대인은 ‘대여하기/반납하기’ 버튼을 눌러 QR 코드를 생성할 수 있다. 이 경우 (c)는 임대인의 화면, (d)는 임차인의 화면이다. 임대인의 카메라를 통해 임차인의 QR 코드를 스캔하면 거래 내역이 저장되고 거래가 성사된다. 거래 내역은 ‘마이페이지’ 메뉴에서 확인할 수 있다.

Fig. 7.

Example of a Rental System* It is a picture of implementation result of Korean service application called 'Squirrel Warehouse'.


Ⅴ. 결론 및 제언

본 연구에서는 공유경제 플랫폼에서 사용자 기반 협업 필터링 알고리즘을 사용하여 추천시스템을 구축하였다. 추천 시스템의 구현을 위해서는 사용자 평점이 매우 중요한데 기존에는 사용자가 직접 점수를 매기거나, ‘좋아요/싫어요’를 표현하는 버튼을 클릭하는 직접적인 행동을 통해 평점 데이터를 추출하는 사례가 대부분이다. 하지만 온라인상에서 본인의 의견을 표현하는 것에 소극적인 사용자들이 많고, 구매 또는 조회한 모든 상품에 대해 평점을 매기지 않기 때문에 명시적 평점만으로는 사용자의 취향을 온전히 반영한다고 보기 어렵다. 따라서 본 연구에서는 사용자가 취할 수 있는 최소한의 행동 이력으로 평점을 산출하는 암묵적 평가 방법을 사용해 훨씬 능동적으로 추천할 수 있다. 또한 ‘찜하기’ 버튼을 활용해 직접적인 피드백도 받을 수 있어 더 효율적인 추천 서비스를 제공할 수 있도록 하였다.

본 연구에서 사용된 협업 필터링 기법의 한계점 및 제언은 다음과 같다. 첫째, 사용자 데이터가 없어 유사도 측정이 불가능한 콜드 스타트(Cold Start) 문제가 있다.

이 문제에 대한 대안으로는 송희석(2019)의 연구에서는 사용자를 개인보다는 그룹으로 묶어 분석하여 정보가 없는 신규 사용자도 그룹 단위로 추천할 수 있게 하는 방법을 제안한다[17]. 둘째, 사용자의 이용 패턴 데이터가 축적될수록 새로 삽입되는 데이터의 영향력이 감소하기 때문에 사용자의 최근 관심사를 추천 목록에 반영하기 어려워진다. 이에 대한 대안으로 부분적으로 세션 기반 추천 시스템(SRS;Session-based Recommender System)을 적용하는 것을 제안한다. SRS는 사용자의 관심사가 시간에 따라 동적으로 변하는 경향이 있으며, 때로 최근 활동이 사용자가 관심 있는 것을 더 잘 설명할 수 있다는 아이디어에서 시작된 RNN 기반의 시스템이다[18]-[19]. 이를 ‘다람쥐 창고’에 적용해 본다면 메인 페이지에서는 협업 필터링을 통한 물건 추천이 이루어지는 한편 물건을 상세 조회했을 때 해당 상품 데이터를 시작 세션으로 하여 사용자가 조회한 가장 최근의 상품 데이터만을 가지고 다음 상품을 예측하는 서비스의 도입을 시도해 볼 수 있다. 더 나아가 Wang et al.(2019)의 연구에서 제안한 CSRM( Collaborative Session-based Recommendation Machine)을 들 수 있다[20]. CSRM은 협업 필터링과 세션 기반 추천 시스템을 하이브리드로 구성한 아키텍처로 이웃의 세션 정보를 협업 필터링 기법을 사용하여 물건을 추천하는 방법이다. 마지막으로 사용자와 아이템의 데이터가 추가될수록 평가행렬의 크기가 무한히 늘어나는 확장성(Scalability) 문제가 있다. 이 경우 고차원 행렬을 저차원 행렬로 분해하는 기법인 특잇값 분해(SVD;Singular Value Decomposition)를 적용해 볼 수 있으며 후속 연구에서 다룰 수 있다.

본 연구에서 개발한 ‘다람쥐 창고’ 서비스는 새 상품의 판매가 아닌 개인이 소유한 중고 물품을 대여하고 상품을 추천해 주는 P2P 기반의 서비스라는 점에서 기존의 온라인 쇼핑몰이나 중고거래 서비스와는 차별화된다. 본 서비스에서 기대할 수 있는 효과로는 다음과 같다. 첫째, 취미 물품을 추천받음으로써 새로운 취미 활동의 탐색을 용이하게 한다. 따라서 이전보다 더 다양한 문화생활을 즐길 수 있게 되어 개인의 삶의 질 향상에 이바지할 수 있다. 둘째, 취미활동에 필요한 물품을 새로이 구매하기보다는 저렴한 가격으로 대여함으로써 취미 활동의 초기 투자 비용이 줄어드는 경제적인 효과가 있다. 마지막으로 기존의 자원을 공동으로 소비하여 불필요한 자원의 낭비를 줄이는 환경 보호라는 부차적인 효과를 기대할 수 있다.

‘다람쥐 창고’ 서비스는 물품 공유와 더불어 과외 등의 유·무형 상품을 동시에 제공하는 플랫폼으로 확장할 수 있으며 사용자가 속한 지역 기반으로 시민들 간의 협력적 소비가 이루어지기 때문에 지역 공동체의 교류의 장으로 활용할 수 있다.

References

  • Y. J. Kwon and S. Y. Lee , “For Benefit vs. For Profit: The Framing Effect of Sharing Economy Platform on Perception of Corporate Greed and Willingness to Use Services”, Korean Journal of Marketing, Vol. 36, No. 4, pp. 109-133, Nov. 2021. [https://doi.org/10.15830/kjm.2021.36.4.109]
  • S. Kim and Y. Yoon, "Recommendation system for sharing economy based on multidimensional trust model." Multimedia Tools and Applications, Vol. 75, No. 23, pp. 15297-15310, Jun. 2014. [https://doi.org/10.1007/s11042-014-2384-5]
  • Y. H. Yoo, Y. S. Choi, H. J. Park and J. H. Lee, "A Study on the Effect of Personalization-Privacy-Transparency on User Trust in the Recommender System: Base on Social Media’s Videos Recommendation.", Journal of Digital Contents Society, Vol. 21, No. 1, pp. 173-184, Jan. 2020. [https://doi.org/10.9728/dcs.2020.21.1.173]
  • J. S. Lee and S. D. Park, “Performance Improvement of a Movie Recommendation System using Genre-wise Collaborative Filtering”, Journal of Intelligence and Information Systems, Vol 13, No 4, pp. 65-78, Dec. 2007.
  • Alyari, F., and Navimipour, N. J., “Recommender systems A systematic review of the state-of-the-art literature and suggestions for future research”, Kybernetes, Vol. 47, No. 5, pp. 985-1017, Mar. 2018. [https://doi.org/10.1108/K-06-2017-0196]
  • Sharma, L., and Gera, A., “A Survey of Recommendation System:ResearchChallenges”, International Journal of Engineering Trends and Technology, Vol. 5, No. 5, pp. 1989-1992, 2013.
  • Zhao, Zhi-Dan, and Ming-Sheng Shang. "User-based collaborative-filtering recommendation algorithms on hadoop.", 2010 third international conference on knowledge discovery and data mining. IEEE, Phuket, Thailand, pp. 478-481, Jan. 2010. [https://doi.org/10.1109/WKDD.2010.54]
  • Ji, J. and Chung, Y., "Collaborative Filtering Algorithm Based on User-Item Attribute Preference", Journal of information and communication convergence engineering, Vol. 17, No. 2, pp. 135-141, Jun. 2019.
  • CalyFactory, Recommender System, Available : https://calyfactory.github.io/%EC%B6%94%EC%B2%9C%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%B4%EB%9E%80-1/
  • J. S. Lee, J. Y. Kim and B. W. Kang, “A Study on Improvement of Collaborative Filtering Based on Implicit User Feedback Using RFM Multidimensional Analysis”, Korea Intelligent Information Systems Society, Vol. 25, No. 1, pp. 139-161, Jan. 2019.
  • H. Y. Park and K. J. Kim, “Recommender system using BERT sentiment analysis”, Korea Intelligent Information Systems Society, Dec. 2020.
  • H. Y. Choi, Y. H. Kang and M. J. Kang, “Pet Shop Recommendation System based on Implicit Feedback”, Journal of Digital Contents Society, Vol. 18, No. 8, pp. 1561-1566, Dec. 2017.
  • Tan. M. and Le. Q., “Efficientnet: Rethinking model scaling for convolutional neural networks”, International Conference on Machine Learning, California, USA, pp. 6105-6114, 2019.
  • Data Sience School, recommender system, Available: https://datascienceschool.net/03%20machine%20learning/07.01%20%EC%B6%94%EC%B2%9C%20%EC%8B%9C%EC%8A%A4%ED%85%9C.html
  • Pedro Marcelino, Transfer learning from pre-trained models, Available: https://towardsdatascience.com/transfer-learning-from-pre-trained-models-f2393f124751
  • Movie Lens Small Latest Dataset, Available : https://www.kaggle.com/shubhammehta21/movie-lens-small-latest-dataset
  • Hee S. S., “Deep Neural Network-Based Beauty Product Recommender”, Journal of Information Technology Applications & Management, Vol. 26, No. 6, pp.89-101, Dec. 2019.
  • Wang. S., Cao. L., Wang. Y., Sheng, Q. Z., Orgun. M. A., and Lian. D., “A survey on session-based recommender systems”, ACM Computing Surveys (CSUR), Vol. 54, No. 7, pp.1-38, Jul. 2021. [https://doi.org/10.1145/3465401]
  • Fast Forward Labs, Session-Based Recommender Systems, Available: https://session-based-recommenders.fastforwardlabs.com/
  • Wang. M., Ren. P., Mei. L., Chen. Z., Ma. J., and de Rijke, M., "A collaborative session-based recommendation approach with parallel memory modules", Proceedings of the 42nd International ACM SIGIR Conference on Research and Development in Information Retrieval., Paris, France, pp. 345-354, Jul. 2019. [https://doi.org/10.1145/3331184.3331210]

저자소개

황세원(Se-Won Hwang)

2018년~2022년 : 덕성여자대학교 학사(컴퓨터공학, 문헌정보학)

※관심분야 : 인공지능, 빅데이터, 클라우드

김다영(Da-Yeong Kim)

2015년~2019년 : 덕성여자대학교 학사(컴퓨터공학)

※관심분야 : 인공지능, 추천시스템, 공학 교육

김은배(Eun-Bae Kim)

2017년~2022년 : 덕성여자대학교 학사(컴퓨터공학, 정보통계)

※관심분야 : 인공지능, 빅데이터, 의료 통계

이예은(Ye-Eun Lee)

2017년~2022년 : 덕성여자대학교 학사(정보통계학, 컴퓨터공학)

※관심분야 : 통계학, 빅데이터, 인공지능

엄예솔(Ye-Sol Eom)

2018년~2022년 : 덕성여자대학교 학사(컴퓨터공학)

※관심분야 : 데이터분석, 빅데이터, 인공지능

이주영(Ju-Young Lee)

1991년 : 조지워싱턴대학교 컴퓨터학과(공학석사)

1996년 : 조지워싱턴대학교 컴퓨터학과(공학박사)

1996년~현 재: 덕성여자대학교 컴퓨터공학과 교수

※관심분야 : 정보보호(Information Security), 알고리즘(Algorithm), 네트워크 등

Fig. 1.

Fig. 1.
System diagram

Fig. 2.

Fig. 2.
Flowchart of preference data extraction process

Fig. 3.

Fig. 3.
A method for finding similar users

Fig. 4.

Fig. 4.
Recommender system algorithm for user k

Fig. 5

Fig. 5
Example of a Recommender System* It is a picture of implementation result of Korean service application called 'Squirrel Warehouse'.

Fig. 6.

Fig. 6.
Example of a classification system* It is a picture of implementation result of Korean service application called 'Squirrel Warehouse'.

Fig. 7.

Fig. 7.
Example of a Rental System* It is a picture of implementation result of Korean service application called 'Squirrel Warehouse'.

Table 1.

Example of a recommendation result

User Features Recommended Items Recommended category
exercise prefered climbing stick, basketball, snorkeling goggles, bicycle exercise/sports
cooking & indoor activities prefered headset, keyboard, speaker, ukulele, rattan basket, coffee kettle, baking spatula, coffee dripper, gaming monitor cooking
music prefered coffee pot, ukulele, brush, gaming monitor, speaker, keyboard music
game prefered gaming monitor, speaker, keyboard, bike helmet, music line inline skate, coffee dripper, kickboard, coffee pot, camera, ukulele exercise/sports
horticultural prefered coffee pot, ukulele, pallet, keyboard, baking spatula, speaker, coffee dripper, inline skate, camera, headset reading

Table 2.

Performance evaluation of recommender system

N metrics Proposed algorithm
5 precision 0.5101
recall 0.0548
10 precision 0.4871
recall 0.0968
15 precision 0.4849
recall 0.1372