Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 20, No. 2, pp.315-320
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 28 Feb 2019
Received 11 Dec 2018 Revised 21 Jan 2019 Accepted 20 Feb 2019
DOI: https://doi.org/10.9728/dcs.2019.20.2.315

사용자의 검색 키워드 특징에 기반한 상품 추천 시스템에 관한 연구

조성은1 ; 임희석2, *
1고려대학교 컴퓨터 정보통신 대학원 빅데이터 융합학과
2고려대학교 컴퓨터 정보대학 컴퓨터학과
A Study on Product Recommendation System Based on User Search keyword
Seong-Eun Cho1 ; Hee-Seok Lim2, *
1Department of Big Data, Graduate School of Computer & Information Technology, Korea University
2Professor, Department of Computer Science and Engineering, College of Informatics,Korea University, Korea

Correspondence to: *Hee-Seok Lim Tel: +82-2-3290-2396 E-mail: limhseok@korea.ac.kr

Copyright ⓒ 2019 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

Abstract In this paper, we study the data utilization for recommendation service by classifying keywords that users input for search in online market place, social network, and portal site that provide e - commerce services. The order of popularity line up of shopping malls that are provided to users in most sites is not based on only user behavior data, Most sites is influenced by the provider's advertisement, sales performance, and product quality. In this paper, we propose a class that recommends a product with high involvement to a new user by classifying which search terms actually come from a customer.

Keywords:

Recommendation System, SVM, e-Commerce

키워드:

추천시스템, 서포트 벡터머신, 온라인 쇼핑

Ⅰ. 서 론

현재까지는 AI 스피커가 실생활에 밀접하게 사용되는 경우는 아직 거의 없다. 국내 AI스피커는 음악 플레이를 위한 서비스와 포털 사이트에서 정보를 찾기 위한 서비스를 주로 제공하고 있다. 사용자의 명령 음성을 자연어처리 기술을 통해서 제공하고 있는데, 음성을 통해 검색 ’키워드’ 입력을 대신하는 정도가 많으며 아직은 텍스트와 사진으로 구성된 웹 서비스를 실제 탐색하기 전에 사용하는 환경에 대부분 사용되기 때문이다.

국내 한 검색 포털 서비스의 비즈니스 전략 발표에서 공개하기를 우리가 포털 사이트에서 탐색하는 정보 중 60%이상은 쇼핑을 위한 정보 취득에 목적을 두고 있는 것으로 보인다는 내용이 있었다. 정보 취득 목적의 상당 부분이 구매 행동을 위한 것이나 찾고자 하는 상품에 관한 관련 정보 일 때 AI스피커와 같은 서비스가 보다 더 스마트해 지기 위해서는 e커머스 분야의 추천 시스템과 검색결과 시스템이 보다 사용자의 행동에 기반하고 개인화 될 필요가 있다.

국내 전자 상거래 서비스를 제공하는 G마켓, 옥션, 11번가, 쿠팡, 위메프, G9 , SSG , 롯데 등에서는 검색엔진을 통한 색인이 제공되고 있는 결과 페이지에 각 서비스의 ‘판매실적’, ‘광고여부’, ‘상품정보 충실도’, ‘검색 정확도’ , ‘서비스품질’, ‘고객 이용 형태’를 종합 점수에 반영하여 제공한다고 안내되고 있다. 즉 사용자의 행동이 일부 반영되는 것일 뿐 검색 결과 화면에 초기값으로 제공되는 랭킹순이라는 것은 서비스 제공자의 의지에 좌우되는 순서이다. 이와 같은 순서는 대부분 모든 쇼핑몰에서 유사한 내부 기준을 갖고 제공하고 있다.

본 논문에서는 연구를 위해서 운영중인 e커머스에 사용자가 직접 입력한 ’키워드’를 기반으로 실제 어떤 상품을 소비자가 선택해서 찾는지 상품마다 직전 유입 정보 (Referred keyword)를 기록하여 보았다. 이를 통하여 keyword와 item, Category, Frequency로 구성된 데이터셋을 만들었고 사용자가 찾는 아이템을 기반으로 지속적으로 상호간의 맥락을 주고 받도록 협업필터링을 통하여 추천하는 것을 제안하고자 한다.


Ⅱ. 관 련 연 구

본 논문은 Keyword를 기반으로 추천하는 시스템을 도출하기 위해서 대표적으로 추천시스템에서 사용되는 관련 연구를 설명한다.

2-1 Collaboration Filtering

Collaborative Filtering 협업 필터링기반은 사용 고객의 행동을 분석하고 서로 비슷한 사용자들이 관심 있는 정보를 추천하는 유사도 분석 기술이다. 고객의 과거의 행동이 미래에도 유지된다는 가정에 근거하여 데이터를 분석하는 것이다. 이 시스템은 많은 사용자 관련 정보가 필요하지 않고도 양질의 추천 결과를 키워드 연관분석을 통해 제공할 수 있다. 다만 많은 수의 키워드 검색 결과와 검색 빈도수를 통해서 양질의 결과를 통해 안정적인 품질을 갖출 수 있다. [8], [9] 협업 필터링은 User-based filtering과 item-based filtering이 있다. 가장 직관적인 추천 방법은 어떤 사용자의A라는 상품 구매 를 예측하기 위해서 A상품을 선택한(구매한) 다른 사용자의 과거 검색 결과의 행동 데이터를( 검색 후 클릭을 하여 상품을 선택 했는가) 이용한다.

2-2 SVM (Support Vector Machine)

서포트 벡터 머신은 기계학습 중 패턴 인식을 통한 지도 학습 모델로 본 논문에서 추천 상품을 조금 더 빠르게 생성하기 위해서 SVM을 이용하여 데이터를 분류하는 Data Classification 모듈을 사용하여 검색 후 사용자가 입력한 키워드와 결과 중 선택된 상품을(item)을 이용하여 분류한다. 행을 사용자가 입력한 keyword로 열을 해당 키워드의 검색결과에서 표시된 items로 데이터를 구성하였고 선택된 item을 범주형 데이터 빈도수 값으로 변환하여 행렬을 구성하였다. [2]-[4]

Fig. 1.

Sparse Matrix

2-3 Logistic Regression

Logistic Regression 분류 모형은 새로운 종속변수와 독립변수를 이용하여 사건의 발생 가능성을 예측 분류한다. 본 논문에서는 키워드를 통해 상품이 선택된 여부의 값(0과1)의 범주형 데이터를 이용하여 정보를 분류하고 추천하는데 사용하는 분석방법으로 채택한 모델이다. 실험에서는 키워드와 키워드간의 유사도를 측정하기 위한 모형으로 적용하였다.[8] 특정 검색 키워드를 통해 사용자가 선택한 상품을 또 다른 키워드의 검색 결과에서도 사용자가 선택하게 되는 패턴이 있는데 이런 경우 자연어처리 기술을 통하지 않아도 유사한 키워드라는 점을 예측할 수 있다는 접근이다. e커머스의 검색 결과에서 갖추고 있는 검색 엔진은 동의어사전, 유사어 사전등이 존재하지만 이 부분은 새로운 단어와 언어의 중의성을 맥락에 맞게 갖추기는 어렵다. 그러므로 사용자가 행동한 데이터가 어떤 결과를 과거에 갖고 있고 현재 새로 발생하는 패턴은 무엇인가를 계속 관리하여 키워드간의 사용자 행동 패턴 유사성을 관리할 필요가 있음을 분석하려는 목적에서 사용되었다.


Ⅲ. 연 구 방 법 및 구 현

3-1 데이터 수집 및 데이터

본 논문에서 사용된 데이터셋은 실제 국내 운영되는 전자상거래에서 발생한 데이터를 활용한 것으로 연구하였다. 평균 월 190만 UV, 1천만 PV를 기록하는 전자상거래 사이트로 사용자는 주당 평균 10만 Buyer가 기록한 검색 트래픽을 추출하였고 데이터 셋에 포함된 상품수는 15만개 이다.

사용자로부터 얻는 행동 기반의 정보인 Search Keyword(검색키워드)를 새로운 데이터인 하나의 변수로 하고, 과거의 자료를 분석하는 벡터들은 Click이 발생한 상품코드(ItemCode)와 카테고리코드(CategoryCode), 검색 결과 페이지에서 상품마다 접속하기 전에 직전 페이지에서 입력한 검색키워드를 Referred Keyword로 별도로 추가 기록하여 이를 통한 Click이 발생한 키워드와 상품과의 관계를 연결점으로 두었고, Items의 사용자들의 선택 빈도 Click Frequency값을 범주형으로 변환하여 1 ~ 5값을 만들었다. 범주형으로 변환한 기준은 채택되지 않은 상품의 값은 NA(0)로 하였다. 그 외 1 ~ 5값의 범주는 전체 Site 방문자 트래픽의 검색 결과로 쌓인 Click의 정수를 분포하여 특정값 이상은 5로 지정하였고, 나머지를 1~4를 기록하였다. [4]-[7] Netflix의 영화 평점처럼 추천에서 사용할 값이다.

LR분류에서 사용할 또 다른 범주형 데이터 값으로 키워드를 과거에 선택된 값의 여부와 정도를 0과 1로 분류 한다. 분석에 필요한 Web Data를 수집하여 DB로 이관 작업을 진행하였으며, 정제된 데이터 구조는 다음 표1의 테이블정의서의 내용과 같다. 또한 논문에서 제안하는 키워드의 관계지수는 알고리즘을 통하여 User의 Search Keyword를 입력받아 분석에 필요한 Referred Keyword 포맷으로 재가공하여 주는 Create Keyword-item Network 과정을 거치게 된다. [8] 이 과정에서 검색어 중 사용자에게 선택된 검색어는 상품과 연관성을 갖게 되는 연관키워드로 기록된다. Item 기준으로 볼 때 나를 찾게 되는 과정에 사용되는 키워드가 어떤 키워들인지 쌓이는 것이다. 쌓인 키워들은 역시 Frequency가 발생하게 되고 각 상품과 키워드의 빈도로 인해 연관분석을 할 수 있는 데이터가 추출된다.

Data Structure

실험 과정에 관한 설명을 그림 2.로 프로세스를 정리하였다.

Fig. 2.

Experimental Process

3-2 실 험 분 석

우선 준비된 데이터를 이용하여 Feature Selection 과정에서는 속성간의 상관관계를 분석하기 위해서 형변환을 한다. 1~5의 Frequency Rating점수를 행렬을 통해 변환한다. Rating 5를 받은 상품은 더 많은 사용자가 선택하였다는 것으로 이 해당 키워드에 가장 적합한 구매력이 있는 상품이라는 것으로 같은 상품이 서로 높은 Rating점수를 받은 키워드는 유사한 키워드라고 볼 수 있을 것이다. 예를 들어 “만두”라는 키워드와 “고기만두”라는 검색 키워드 일 수 있다. 기본 전제는 입력된 키워드를 통하여 사용자가 특정 상품을 더 많이 Click 하였다면 같은 상품군을 선택한 결과를 갖고 있는 또 다른 검색 키워드는 유사성을 갖는다는 점이다. 그리고 그 키워드가 찾는 상품을 이 가설을 통해 사용자에게 추천할 수 있다.


Ⅳ. 실 험 및 평 가

4-1 Logistic Regression

실험을 위하여 사용한 데이터는 평균 월 190만 UV, 1천만 PV를 기록하는 사이트의 데이터를 추출하여 사용하였다. 사용자는 주당 평균 10만 Buyer가 기록한 검색 트래픽을 추출하였고 데이터셋에 포함된 상품의 수는 품 15만개이다. 본 연구의 실험은 R-Programing을 통하여 데이터를 테스트 훈련데이터와 모델평가를 반복하였다. LR 모델평가는 키워드와 키워드의 유사도를 특징하는 것으로 0과 1 범주형으로 레이블 분류하는 목적으로 진행하였다. 기본 전제는 입력된 키워드를 통하여 사용자가 특정 상품을 더 많이 Click 하였다면 같은 상품군을 선택한 다른 키워드는 유사성을 같는다는 가설이다.

표 2.는 상품 중 하나를 예를 들어 00만두라는 상품에 방문한 빈도수 높은 검색 키워드가 “만두”인 검색어와 “군만두”, “냉동만두” 등인 검색어의 유사도를 측정한 것이다.

Keyword Related Rate Data

그림 3은 이 키워드들을 ROC 커브 그래프로 그린 것이다.

Fig. 3.

Logistic Regression

AUC : 0.75 / P-Value : 5.757e-05 / 민감도: 0.90 / 특이값 : 0.42

4-2 SVM (Support Vector Machine)

SVM모델평가는 추천 상품을 조금 더 빠르게 생성하기 위해서 데이터를 분류하는 Data Classification 분류 모델을 사용하였다. 키워드 검색 후 사용자가 선택한 상품의 특징을 판단하여 분류 한다. 추천 상품을 조금 더 빠르게 생성하기 위해서 행을 사용자가 입력한 keyword로 열을 해당 키워드의 검색결과에서 표시된 items로 데이터를 구성하였고 선택된 item을 범주형 데이터 빈도수 값으로 변환하여 행렬을 구성하였다. 0은 선택되지 않은 값이며 1~ 5의 범주형으로 사용자의 행동 데이터를 변환하였다. 해당 e커머스의 데이터 사이즈가 크므로 1 클릭이 1의 범주형 값이 아니며 count를 5단계로 분포하였고 특정 click 이상은 5값으로 정의 하였다. 그림 4는 이 추천 상품의 평점 예측 민감도, 특이도를 ROC커브로 그린 것 이다.

Fig. 4.

Support Vecter Machine

AUC:0.76/P-Value0.067 민감도 : 0.88 / 특이값 : 0.39

CF모델평가는 아이템기반과 키워드(유저)기반을 비교하였다. 키워드 기반의 RMSE값이 조금 더 좋은 성능을 보였다.

아이템 기반으로 추천할 때의 유사도 추천보다 키워드- 키워드의 협업필터링 결과가 높은 것으로 보았을 때 위 표 2. 기반으로 보면 “만두” 라는 검색어와 Referred Rate가 높은 “고향만두” 검색어의 결과에서 많이 채택된 상품은 “만두” 검색 결과에서 역시 추천하였을 때 고객 선택이 높을 것으로 예측 할 수 있다.

Collaboration Filtering

UBCF는 사용자=키워드라는 형태로 대입된 훈련데이터와 모델 평가 이다. 키워드에 따라 Click 선택된 유효값을 범주형 데이터로 적용하였으며 이를 Netflix의 평점처럼 생각하여 다른 유사한 키워드가 해당 상품을 Click할 추천 상품을 선별하는 것에 사용되었다.


Ⅴ. 결 론

기존의 키워드 로그를 활용한 서비스는 해당 검색어의 의미분석, 형태소분석등 텍스트 마이닝과 자연어 검색 영역의 분야에서 상품과의 연계성을 찾고 추천하는 것이 주로 연구되어 왔다. 본 논문에서 제안하는 모델은 입력하는 사용자의 키워드에 맞는 최적의 상품을 제안할 때 검색 엔진의 색인 성능과 자연어 검색 기술 뿐 아니라 그 언어의 의미가 미처 파악되지 않은 경우에도 사용자의 행동 데이터를 통해서 상품과의 연관성을 기록하고 추출하는 것에 의미를 갖는 다.

광고와 랭킹 가중치에 관여 받지 않는 순수한 사용자의 행동에 기반하여 사용자 상호 기반을 마련하는 방법을 제안하는 모델이라고 할 수 있다. 국내 외 e-commerce에서 다양한 상품 추천 서비스가 시도되고 있다. 그러나 기존 서비스에서 제공하는 광고상품과 랭킹의 가중치 내부값 등을 유지하고 별도의 추천상품이라는 항목과 구성을 만들어서 제공하는 경우가 주를 이룬다. 전자상거래를 이용하는 사용자는 이런 추천 상품이라는 코너는 광고 상품과 크게 차이를 느끼지 못한다. 실제 도입한 모델링과 알고리즘이 아무리 좋은 결과를 가지고 제공을 하여도 실 사용자에게는 기존의 많은 코너 중 하나로 보여 지기 때문이다. 또한 새로운 추천 서비스를 도입하여도 사용자 개개인의 관심은 계속 동적으로 변하기 때문에 이 추천 시스템을 사용자에게 item을 뽑아서 제공 할 경우 관심이 중단되는 retention 주기를 정확하게 예측하기는 어렵다. 이미 관심이 끝난 상품인지, 반복적으로 특정한 주기를 갖고 또 구매할 상품군 인지 그 특징이 카테고리별로 상품의 속성 별로 매우 다양하기 때문이다. 이런 이유로 본 연구에서는 추천 모델의 학습 결과를 사용자에게 추천하는 것이 아닌 우선적으로 키워드에 추천을 하는 것으로 발상을 전환 하였다. 이 모델은 사이트 방문자가 유지되는 한, 검색을 통한 Search Keyword 데이터는 계속 추가되어 상품과 연관이 있는 Referred Keyword는 계속 변화되고 양질의 연관 정보를 얻을 수 있기 때문에 고객이 행동을 하였을 때 분석된 데이터를 활용해서 제공하는 방향이다.

추천 모델은 과거 데이터를 기반으로 하기 때문에 Cold Start의 문제가 있다. 그러나 사용자 대신 키워드를 기반으로 추천 모델을 개발하여 서비스 한다면 과거데이터의 부재에 대한 고민 없이 시계열 성능향상 부분의 추가 고려만 하면 될 것으로 보인다. 사용자를 대상으로 하는 추천 서비스의 연구는 새로 가입한 신규 사용자에게는 과거 데이터가 없으므로 추천을 제공하기가 어려운 점이 있으며 또 다른 면으로 과거데이터가 충분한 기존 사용자는 추천되는 상품의 관심이 끊기는 주기에 관한 retention 기간이 필요하다. 그러나 키워드를 대상으로 하면 우선 기존 과거 이력이 없는 사용자도 최소 1회의 키워드를 입력하는 행동을 하는 것으로 기존 사용자의 과거 데이터와 목적이 유사한 것으로 판단하여 실제 가입 된 고객이 아니라 비회원 일지라도 제공할 수 있는 점이 있다.

두 번째로 키워드를 기준으로 추천 서비스를 하는 목적 중 하나는 언어의 특성 때문이다. 언어에는 새로운 단어, 중의성, 언어의 복잡성이 존재한다. 특히 다른 언어에 비해서 한국어는 어절 단위의 의미를 갖는 특징도 있어 영어 등 다른 언어에 비해서 또 다른 고려가 필요하다. 자연어의 분석과 검색 서비스 개발 외에도 사용자의 피드백을 기록한 행동을 제3의 개입 없이 추천정보로 제공할 필요가 있다. 예를 들어 보편적인 의미로는 “만두”라는 단어는 음식을 뜻하지만 어떤 시기, 어떤 때는 “만두”라는 단어가 신조어가 되어 패션의 하나의 유행을 뜻하는 말이 될 수 도 있기 때문에 사전적 의미의 검색 제공 외에도 사용자의 행동을 반영할 수 있는 서비스를 고려해야 한다. 특정 기간에 사용자들이 ‘만두’라는 키워드를 검색하고 식료품이 아니라 패션 상품 중 ‘후드티셔츠’ 하나를 계속 반복해서 클릭을 하고 구매를 한다면 검색엔진에서 제공하는 사전이나 분석으로는 이 트랜드를 알 수 없기 때문에 다양성과 복잡성을 대응하기 위한 목적에서도 유용한 접근이라고 생각한다.

향후에는 이 모델을 실제 운영 중인 e커머스 서비스에 도입하여 검색엔진과 사이트의 랭킹이 아닌 추천 서비스에 노출되는 상품을 사용자들이 어떻게 이용하는지를 추가 분석하려 한다. A/B테스트 및 그로스해킹 기법을 통하여 반복된 연구를 분석하고 새로운 서비스에 적용하여 사용자 기반의 추천서비스를 완성해 가는 것을 본 연구의 목표로 세우고 있다.

참고문헌

  • Seong-Eun Cho, Compare to “Factorization Machines Learning and High-order Factorization Machines Learning for Recommendsystem”, JDCS (Journal of Digital Contents Society), 19(4), p731-737, Apr.), (2018.
  • Eun-Hee Jeong, Byung-Kwan Lee, “A Design of Customized Market Analysis Scheme Using SVM and Collaboration Filtering Scheme”, Journal of Korea Institute of Information, Electronics, and Communication Technology, 9(6), (2016, Dec), p609-616 (8 pages). [https://doi.org/10.17661/jkiiect.2016.9.6.609]
  • Journal of Digital Contents Society, Seung-Yoon Jeong, Hyoung Joong Kim, “A Recommender System Using Factorization Machine ”, 18(4), p707-712.
  • Xiangnan He, Tat-seng Chua, “Neural factorization machines for sparse predictive analytics”, SIGIR’17, August 7-11,2017, Shinjuku, Tokyo, Japan. [https://doi.org/10.1145/3077136.3080777]
  • Masakazu Ishihata Hokkaido University “Higher-Oder FActorization Machines”
  • S. Rendle, L. B. Marinho, A. Nanopoulos, and L. Schmidt-Thieme, "Learning optimal ranking with tensor factorization for tag recommendation", in Proceeding of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, p727-736, (2009). [https://doi.org/10.1145/1557019.1557100]
  • Journal of Digital Contents Society, Seung-Yoon Jeong, Hyoung Joong Kim, “A Recommender System Using Factorization Machine ”, 18(4), p707-712.
  • SeongJin Lee, Soowon Lee, "A Related Keyword Group Extraction Method for Keyword Marketing", The Korean Institute of Information Scientists and Engineers (KIISE), 31(2), (2004), p124-126.
  • Lee, D. Y., H. G. Kim, “Developing the Purchase Conversion Model of the Keyword Advertising Based on the Individual Search”, Korean Academic Society of Business Administration, 38(1), (2013), p123-138. [https://doi.org/10.7737/jkorms.2013.38.1.123]

저자소개

조성은(Seongeun Cho)

2018년 : 고려대학교 컴퓨터 정보통신 대학원 (석사과정)

2011년 ~ 현재 : 이베이코리아

※관심분야: Recommendation System, Image Search by Artificial Neural network 등

임희석(Hee-Seok Lim)

1997년 8월: 고려대학교 컴퓨터학과 (전산학박사)

2008 ~ 현재 : 고려대학교 정보대학 컴퓨터학과 교수

※관심분야: 자연어 처리, 인공지능, 기계학습

Fig. 1.

Fig. 1.
Sparse Matrix

Fig. 2.

Fig. 2.
Experimental Process

Fig. 3.

Fig. 3.
Logistic Regression

Fig. 4.

Fig. 4.
Support Vecter Machine

Table 1.

Data Structure

Column Attributes Type Definition
UserID User int User identification code converted to an arbitrary integer
Search Keyword keyword string Keyword entered by customer
ItemCode product Number int The identifier of the item in the integer assigned to each item
Frequency Rating Click Rate tinyint The frequency the customer clicked
(range 1-5)
Category Code Category Number int The category code of the item code you clicked
Referred Keyword Related Keyword string Select keywords

Table 2.

Keyword Related Rate Data

Keyword Related Keyword Related Rate
dumplings fried dumplings 0.741434693
dumplings Frozen dumplings 0.728010178
dumplings han dumplings 0.727739036
dumplings shrimp dumplings 0.718029857
dumplings king dumplings 0.714043856
dumplings kimchi dumplings 0.709610462
dumplings potato dumplings 0.789483726
dumplings dongwon dumplings 0.680779815
dumplings dim sum 0.671746492
dumplings bibigo dumplings 0.670398057

Table 3.

Collaboration Filtering

Algorithm RMSE-value
UBCF 1.128056
IBCF 1.334792