<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/resources/xsl/jats-html.xsl"?>
<article article-type="research-article" dtd-version="1.1" xml:lang="ko" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
	<journal-meta>
		<journal-id journal-id-type="publisher-id">jkits</journal-id>
		<journal-title-group>
		<journal-title>한국지식정보기술학회 논문지</journal-title>
		<journal-title xml:lang="en">Journal of Knowledge Information Technology and Systems</journal-title>
		</journal-title-group>
		<issn pub-type="ppub">1975-7700</issn>
		<publisher>
		<publisher-name>한국지식정보기술학회</publisher-name>
		<publisher-name xml:lang="en">Korea Knowledge Information Technology Society</publisher-name>
		</publisher>
	</journal-meta>
	<article-meta>
		<article-id pub-id-type="publisher-id">jkits_2019_14_05_515</article-id>
		<article-id pub-id-type="doi">10.34163/jkits.2019.14.5.008</article-id>
		<article-categories>
			<subj-group>
				<subject>Research Article</subject>
			</subj-group>
		</article-categories>
		<title-group>
			<article-title>상품 추천 기법의 성능평가 분석</article-title>
			<trans-title-group xml:lang="en">
				<trans-title>A Performance Evaluation Analysis of Product Recommendation Techniques</trans-title>
			</trans-title-group>
		</title-group>
		<contrib-group>
			<contrib contrib-type="author">
				<name-alternatives>
					<name name-style="eastern">
						<surname>김</surname><given-names>철진</given-names>
					</name>
					<name name-style="western" xml:lang="en">
						<surname>Kim</surname><given-names>Chul-Jin</given-names>
					</name>
				</name-alternatives>
										<xref ref-type="aff" rid="A1"><sup>1</sup></xref>
										<xref ref-type="fn" rid="fn001"><sup>*</sup></xref>
			</contrib>
			<contrib contrib-type="author">
				<name-alternatives>
					<name name-style="eastern">
						<surname>정</surname><given-names>지현</given-names>
					</name>
					<name name-style="western" xml:lang="en">
						<surname>Jeong</surname><given-names>Ji-Hyun</given-names>
					</name>
				</name-alternatives>
										<xref ref-type="aff" rid="A1"><sup>2</sup></xref>
			</contrib>
					<contrib contrib-type="author">
				<name-alternatives>
					<name name-style="eastern">
						<surname>조</surname><given-names>천우</given-names>
					</name>
					<name name-style="western" xml:lang="en">
						<surname>Jo</surname><given-names>Cheon-Woo</given-names>
					</name>
				</name-alternatives>
										<xref ref-type="aff" rid="A1"><sup>2</sup></xref>
						</contrib>
						<contrib contrib-type="author">
				<name-alternatives>
					<name name-style="eastern">
						<surname>유</surname><given-names>제광</given-names>
					</name>
					<name name-style="western" xml:lang="en">
						<surname>Yoo</surname><given-names>Je-Kwang</given-names>
					</name>
				</name-alternatives>
										<xref ref-type="aff" rid="A1"><sup>2</sup></xref>
						</contrib>
					</contrib-group>
		<aff-alternatives id="A1">
				<aff><sup>1</sup><italic>인하공업전문대학 컴퓨터시스템과 교수</italic></aff>
			<aff xml:lang="en"><italic>Dept. of Computer Systems and Engineering, Inha Technical College</italic></aff>
		</aff-alternatives>
				<aff-alternatives id="A2">
				<aff><sup>2</sup><italic>인하공업전문대학 컴퓨터시스템과 학부생</italic></aff><aff xml:lang="en"><italic>Dept. of Computer Systems and Engineering, Inha Technical College</italic></aff>
					</aff-alternatives>
		<author-notes>
			<fn id="fn001"><label>*</label><p>Corresponding author is with the Department of Computer Systems and Engineering, Inha Technical College, 100 Inha-ro Michuhol-gu Incheon, 22212, KOREA. <italic>E-mail address</italic>:<email>cjkim@inhatc.ac.kr</email></p></fn>
		</author-notes>
		<pub-date pub-type="ppub">
			<month>10</month>
			<year>2019</year>
		</pub-date>
		<volume>14</volume>
		<issue>5</issue>
		<fpage>515</fpage>
		<lpage>525</lpage>
		<history>
			<date date-type="received">
				<day>10</day>
				<month>9</month>
				<year>2019</year>
			</date>
			<date date-type="rev-recd">
				<day>4</day>
				<month>10</month>
				<year>2019</year>
			</date>
			<date date-type="accepted">
				<day>11</day>
				<month>10</month>
				<year>2019</year>
			</date>
		</history>
		<permissions>
			<copyright-statement>&#x00A9; 2019 KKITS All rights reserved</copyright-statement>
			<copyright-year>2019</copyright-year>
		</permissions>
		<abstract>
			<title>요약</title>
			<p>전자상거래의 방대한 상품 정보에서 사용자는 요구하는 상품을 찾기 위해서 많은 노력이 필요하며 판매자는 사용자에게 신속하게 상품을 제공하지 못하면 매출에 영향을 줄 수 있다. 이에 전자상거래 업체에서 는 사용자가 요구하는 상품을 제공할 수 있도록 사용자의 과거 구매 정보를 기반으로 추천 서비스를 제공한다. 추천 서비스를 제공하기 위한 추천 기법은 사용자 간의 관계나 상품 간의 관계를 통해 추천 정보를 도출하는 협업적 필터링 추천 기법과 머신러닝 기반의 딥러닝 기술을 활용한 추천 기법이 있다. 본 연구에서는 협업적 필터링 추천 기법으로 사용자 기반 협업적 필터링 추천 기법과 아이템 기반 협업적 필터링 추천 기법을 연구하며, 딥러닝 기술을 활용한 추천 기법으로 RNN, LSTM, Word2Vec 추천 기법을 연구한다. 본 연구에서는 이러한 추천 기법에 대해 전자상거래 구매 정보를 기반으로 추천 성능을 평가한다. 추천 성능을 평가하기 위한 지표로는 정확도, 재현율, F<sub>1</sub> 측정을 활용하여 추천 성능을 분석한다. 추천 성능의 검증 결과는 LSTM 추천 기법이 가장 추천 성능이 우수한 것으로 분석되었으며, 추천 개수는 Top-10일 때 추천의 성능이 가장 우수한 것으로 분석되었다. 본 연구에서 제안한 추천 성능 평가 절차와 평가 결과를 기반으로 다양한 분야의 추천의 성능을 분석할 때 참조될 수 있을 것이다.</p>
		</abstract>
		<trans-abstract xml:lang="en">
			<title>ABSTRACT</title>
			<p>In the vast product information of the e-commerce, the user needs a lot of effort to find the required product, and the seller may affect the sales if the product is not provided quickly to the user. Accordingly, the e-commerce company provides a recommendation service based on the user's past purchase information so that the user can provide a product required by the user. The recommendation techniques for providing recommendation services include a collaborative filtering recommendation technique that derives recommendation information through a relationship between users or products and a recommendation technique that utilizes a deep learning technology based on machine learning. In this paper, we study user-based collaborative filtering recommendation and item-based collaborative filtering recommendation as collaborative filtering recommendation techniques, and RNN, LSTM, and Word2Vec recommendation techniques as deep recommendation techniques. In this paper, we evaluate the recommendation performance based on the e-commerce purchase information for these recommendation techniques. As a metric for evaluating the recommendation performance, it analyzes the recommendation performance using accuracy, recall, and F1 measure. The results of the validation of the recommendation performance showed that the LSTM recommendation technique had the best recommendation performance, and that the recommendation performance was the best when the number of recommendations was Top-10. Based on the recommended performance evaluation procedure and evaluation results proposed in this study, it can be referred to when analyzing the performance of recommendations in various fields. </p>
		</trans-abstract>
		<kwd-group kwd-group-type="author" xml:lang="en">
			<kwd>Product Recommendation Technique</kwd>
			<kwd>Accuracy</kwd>
			<kwd>Recall</kwd>
			<kwd>F<sub>1</sub> Measure</kwd>
			<kwd>Top-k</kwd>
		</kwd-group>
	</article-meta>
</front>
<body>
<sec id="sec001" sec-type="intro">
<title>1. 서 론</title>
<p>현재 전자상거래를 기반으로 하는 상품 구매가 일반화되었으며 사용자, 판매자, 그리고 서비스 제공자 측면에서 방대한 상품 정보를 관리하는 것이 중요한 이슈가 되었다. 판매자나 서비스 제공자 측면에서 상품정보를 어떻게 관리하느냐에 따라 비용 절감 및 매출 증대를 가져올 수 있으며<xref ref-type="bibr" rid="B001">[1]</xref>, 사용자 측면에서는 원하는 상품을 빠르게 제공받을 수 있을 것이다. 이와 같이 전자상거래에서 관련 이해관계자의 요구사항을 극대화할 수 있는 방안이 상품 추천 및 개인화일 것이다. 따라서 본 연구에서는 전자상거래의 상품 정보를 효과적으로 제공할 수 있는 추천 기법에 대해 분석하고 추천 기법들간의 성능을 비교 분석한다.</p>
<p>본 논문의 구성은 2장에서 예측 성능을 측정하기 위한 지표를 살펴보며 관련된 예측 연구를 분석한다. 3장에서는 상품 추천 기법을 연구하고, 상품 추천의 성능평가 절차와 이 절차를 기반으로 성능평가를 수행한 후 비교 분석한다. 4장 결론에서는 향후 연구 목표를 제시한다.</p>
</sec>
<sec id="sec002">
<title>2. 관련연구</title>
<p>본 장에서는 추천기법의 성능을 평가하기 위해 예측 성능지표에 대해 연구하며, 추천 성능을 분석한 연구를 살펴본다.</p>
<sec id="sec002-1">
<title>2.1 예측 성능지표</title>
<p>예측 모델의 성능을 평가하는 중요한 지표로서 정확도(Accuracy), 재현율(Recall), F<sub>1</sub> 측정(F<sub>1</sub>-measure) 지표가 있다.</p>
<p>정확도는 참(True)을 예측했을 때 해당 예측이 얼마나 자주 정확하게 예측되는지를 나타내는 성능지표이다. 정확도 성능지표는 (<xref ref-type="disp-formula" rid="dm01">1</xref>)식에서와 같이 정확하게 예측한 결과 값(TP, FP) 중에서 정확하게 예측한 결과 값(TP)의 비율로 측정한다<xref ref-type="bibr" rid="B002">[2]</xref>.</p>
<disp-formula-group>
	<disp-formula id="dm01">
		<label>(1)</label>
<mml:math id="m01-1"><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>c</mml:mi><mml:mi>u</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>y</mml:mi><mml:mo mathvariant="italic">=</mml:mo><mml:mfrac><mml:mrow><mml:mi mathvariant="italic">T</mml:mi><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mo mathvariant="italic">(</mml:mo><mml:mi mathvariant="italic">T</mml:mi><mml:mi mathvariant="italic">P</mml:mi><mml:mo mathvariant="italic">+</mml:mo><mml:mi mathvariant="italic">F</mml:mi><mml:mi mathvariant="italic">P</mml:mi><mml:mo mathvariant="italic">)</mml:mo></mml:mrow></mml:mfrac><mml:mspace linebreak="newline"/><mml:mi>T</mml:mi><mml:mi>P</mml:mi><mml:mo mathvariant="italic">:</mml:mo><mml:mi>T</mml:mi><mml:mi>r</mml:mi><mml:mi>u</mml:mi><mml:mi>e</mml:mi><mml:mo mathvariant="italic">&#xA0;</mml:mo><mml:mi>P</mml:mi><mml:mi>o</mml:mi><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>v</mml:mi><mml:mi>e</mml:mi><mml:mo mathvariant="italic">,</mml:mo><mml:mo mathvariant="italic">&#xA0;</mml:mo><mml:mi>F</mml:mi><mml:mi>P</mml:mi><mml:mo mathvariant="italic">:</mml:mo><mml:mi>F</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:mo mathvariant="italic">&#xA0;</mml:mo><mml:mi>P</mml:mi><mml:mi>o</mml:mi><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>v</mml:mi><mml:mi>e</mml:mi></mml:math>
	</disp-formula>
</disp-formula-group>
<p>재현율은 참(True)을 예측한 결과에 대해 얼마나 신뢰할 수 있는지를 나타내는 성능지표이다. 재현율 성능지표는 (<xref ref-type="disp-formula" rid="dm02">2</xref>)식에서와 같이 실제 참 값들 중에서 정확히 예측한 결과 값(TP)과 부정확하게 예측한 결과 값(FN)들 중에서 정확하게 예측한 결과값(TP)의 비율로 측정한다<xref ref-type="bibr" rid="B003">[3]</xref>.</p>
<disp-formula-group>
	<disp-formula id="dm02">
		<label>(2)</label>
<mml:math id="m02-1"><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mo mathvariant="italic">=</mml:mo><mml:mfrac><mml:mrow><mml:mi mathvariant="italic">T</mml:mi><mml:mi mathvariant="italic">P</mml:mi></mml:mrow><mml:mrow><mml:mo mathvariant="italic">(</mml:mo><mml:mi mathvariant="italic">T</mml:mi><mml:mi mathvariant="italic">P</mml:mi><mml:mo mathvariant="italic">+</mml:mo><mml:mi mathvariant="italic">F</mml:mi><mml:mi mathvariant="italic">N</mml:mi><mml:mo mathvariant="italic">)</mml:mo></mml:mrow></mml:mfrac><mml:mspace linebreak="newline"/><mml:mi>T</mml:mi><mml:mi>P</mml:mi><mml:mo mathvariant="italic">:</mml:mo><mml:mi>T</mml:mi><mml:mi>r</mml:mi><mml:mi>u</mml:mi><mml:mi>e</mml:mi><mml:mo mathvariant="italic">&#xA0;</mml:mo><mml:mi>P</mml:mi><mml:mi>o</mml:mi><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>v</mml:mi><mml:mi>e</mml:mi><mml:mo mathvariant="italic">,</mml:mo><mml:mo mathvariant="italic">&#xA0;</mml:mo><mml:mi>F</mml:mi><mml:mi>N</mml:mi><mml:mo mathvariant="italic">:</mml:mo><mml:mi>F</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>s</mml:mi><mml:mi>e</mml:mi><mml:mo mathvariant="italic">&#xA0;</mml:mo><mml:mi>N</mml:mi><mml:mi>e</mml:mi><mml:mi>g</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>v</mml:mi><mml:mi>e</mml:mi></mml:math>
	</disp-formula>
</disp-formula-group>
<p>F<sub>1</sub> 측정(F<sub>1</sub> measure)은 정확성과 재현율 성능지표의 신뢰도를 높이기 위해 조정되는 측정 데이터에 따라 상반된 결과를 나타내기 때문에 사용되는 성능지표이다<xref ref-type="bibr" rid="B004">[4]</xref>. 정확성을 높이기 위해서 성능지표의 모수인 추천 상품의 수를 줄이면 되지만 재현율이 낮아지는 결과를 초래한다. 이에 (<xref ref-type="disp-formula" rid="dm03">3</xref>)식과 같이 정확성과 재현율을 이용하여 정확성과 재현율을 모두 고려할 수 있는 성능지표이다.</p>
<disp-formula-group>
	<disp-formula id="dm03">
		<label>(3)</label>
<mml:math id="m03-1"><mml:msub><mml:mi>F</mml:mi><mml:mn mathvariant="italic">1</mml:mn></mml:msub><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>u</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mo mathvariant="italic">=</mml:mo><mml:mn mathvariant="italic">2</mml:mn><mml:mo mathvariant="italic">&#xD7;</mml:mo><mml:mfrac><mml:mrow><mml:mo mathvariant="italic">(</mml:mo><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">c</mml:mi><mml:mi mathvariant="italic">c</mml:mi><mml:mi mathvariant="italic">u</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">c</mml:mi><mml:mi mathvariant="italic">y</mml:mi><mml:mo mathvariant="italic">&#xD7;</mml:mo><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">c</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">l</mml:mi><mml:mi mathvariant="italic">l</mml:mi><mml:mo mathvariant="italic">)</mml:mo></mml:mrow><mml:mrow><mml:mo mathvariant="italic">(</mml:mo><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">c</mml:mi><mml:mi mathvariant="italic">c</mml:mi><mml:mi mathvariant="italic">u</mml:mi><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">c</mml:mi><mml:mi mathvariant="italic">y</mml:mi><mml:mo mathvariant="italic">+</mml:mo><mml:mi mathvariant="italic">r</mml:mi><mml:mi mathvariant="italic">e</mml:mi><mml:mi mathvariant="italic">c</mml:mi><mml:mi mathvariant="italic">a</mml:mi><mml:mi mathvariant="italic">l</mml:mi><mml:mi mathvariant="italic">l</mml:mi><mml:mo mathvariant="italic">)</mml:mo></mml:mrow></mml:mfrac></mml:math>
	</disp-formula>
</disp-formula-group>
</sec>
<sec id="sec002-2">
<title>2.2 RNN 기반 상품 추천 시스템</title>
<p>연구 <xref ref-type="bibr" rid="B005">[5]</xref>는 순환신경망(Recurrent Neural Network) 기반의 상품 추천 시스템 성능 평가 비교 연구이다. 사용자의 전자상거래 상품 접근순서를 순환신경망에 적용한 것으로서 RNN, LSTM, GRU의 성능평가를 하였다. 연구 <xref ref-type="bibr" rid="B005">[5]</xref>는 RecSys Challenge 2015에서 공개된 e-commerce session 데이터를 이용하여 클릭과 같은 상품의 접근 순서를 학습시켜 성능을 평가하였다. 최적화 알고리즘으로는 Adagrad, RMSProp, Adam을 사용하였으며, 학습시 순환신경망 알고리즘과 최적화 알고리즘 조합에 따라 은닉층의 뉴런 개수를 RNN은 100, 250, 500 개, LSTM은 25, 63, 126 개, GRU는 33, 83, 166개로 설정하여 실험하였다. 최종적으로 RNN 순환신경망 알고리즘과 RMSProp 최적화 알고리즘으로 뉴런수가 100개 일 때 성능이 가장 좋은 것으로 평가되었다.</p>
<p>연구 <xref ref-type="bibr" rid="B005">[5]</xref>에서 시계열 데이터를 기반으로 상품을 추천할 수 있는 효과적인 성능 실험이었으나, 학습 모델에 대한 검증 데이터로 실제 구매 데이터가 아닌 세션 데이터 중에 일부 데이터를 활용하였다. 이에 전자상거래에서 발생하는 사용자와 상품 관련 정보를 추가하였으면 더 좋은 비교 결과를 도출했을 것으로 사료된다.</p>
</sec>
<sec id="sec002-3">
<title>2.3 CNN 기법을 활용한 고객행태예측</title>
<p>연구 <xref ref-type="bibr" rid="B006">[6]</xref>은 CNN(Convolution Neural Network) 학습 모델을 통해 전자상거래 상에서 고객의 행태를 예측하기 위한 연구이다. CNN 모델이 이미지 부분에 대한 합성곱을 통해 이미지 인식에 활용하는 점을 활용하여 전자상거래 상에서 발생하는 비정형 데이터와 정형 데이터의 이종 정보 결합을 통해 기존의 정형적인 데이터만을 통한 예측보다 정확도가 더 향상될 수 있음을 연구하였다. 고객 형태 예측의 변수로는 재구매 고객, 이탈 고객, 고빈도 구매 고객, 등 6개의 형태로 한정하여 학습하였다. 연구 <xref ref-type="bibr" rid="B006">[6]</xref>의 실험을 통해 CNN을 통한 고객형태예측이 NBC(Naïve Bayes classification), SVM(Support vector machine), ANN(Artificial neural network) 보다 예측 성능이 좋은 것으로 평가되었다.</p>
<p>연구 <xref ref-type="bibr" rid="B006">[6]</xref>이 CNN 기반으로 전자상거래 상의 비정형 데이터를 이용하여 고객의 행태를 예측한다는 측면에서 충분한 가치가 있다. 본 연구는 전자상거래에서 고객의 행태를 예측하기 보다는 고객이 구매하고자 하는 상품을 예측한다는 측면에서 연구 <xref ref-type="bibr" rid="B006">[6]</xref>과 차이를 보인다.</p>
</sec>
</sec>
<sec id="sec003">
<title>3. 상품 추천 기법의 성능평가 분석</title>
<p>일반적으로 다양한 분야에 적용된 추천기법에 대해 분석하며 전자상거래의 상품 추천에 적용하여 성능평가의 방안을 제시한다.</p>
<sec id="sec003-1">
<title>3.1 상품 추천 기법</title>
<p>본 연구에서 성능평가 분석은 협업적 필터링과 딥러닝 기술을 기반으로 하는 상품추천 기법을 연구한다. 사용자기반 협업적 필터링 추천 기법, 아이템기반 협업적 필터링 추천 기법, 내용기반 필터링 추천 기법, RNN 추천 기법, LSTM 추천 기법, Word2Vec 추천 기법에 대해 연구한다.</p>
<p><bold>사용자 기반 협업적 필터링(User based Collaborative Filtering)</bold> <bold>추천 기법</bold>은 유사한 평가를 한 사용자 집단을 구성하여 추천하는 기법이다. 특정 사용자와 유사하게 평가한 사용자 집단으로부터 특정 사용자가 구매하지 않는 다른 상품에 대해 추천하는 방식이다. 이러한 협업적 필터링 기법은 사용자의 평가가 정확하게 구분되는 제품일 경우 적합한 기법이다. 만약에 사용자의 평가가 정확하지 않거나 평가정보가 없는 상품이라면 적용하지 쉽지 않다. 전자상거래에서는 상품의 평가에 대한 정보 대신에 사용자의 상품에 대한 접근성을 나타내는 정보로 구매, 검색, 장바구니 담기, 클릭, 등이 제품에 대한 관심도로 평가정보를 간접적으로 대체하여 이용할 수 있을 것이다.</p>
<p>협업적 필터링은 사용자와 상품간의 유사도를 계산해야 한다. 여러 유사도 계산 방법이 있으며 코사인 유사도(Cosine Similarity)<xref ref-type="bibr" rid="B007">[7]</xref>나 피어슨 상관계수(Pearson Correlation Coefficient)<xref ref-type="bibr" rid="B008">[8]</xref>를 사용할 수 있다. (<xref ref-type="disp-formula" rid="dm04">4</xref>)식과 같이 피어슨 상관계수에 의한 유사도를 계산할 수 있으며, 이를 기반으로 (<xref ref-type="disp-formula" rid="dm05">5</xref>)식을 통해 추천 상품을 위한 예측치를 도출할 수 있다. 예측치를 통해 Top-k를 도출하여 순위별로 상품을 추천한다.</p>
<disp-formula-group>
	<disp-formula id="dm04">
		<label>(4)</label>
<mml:math id="m04-1"><mml:mi>S</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mi>i</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>m</mml:mi></mml:munderover><mml:mfenced open="[" close="]"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mover><mml:mi>r</mml:mi><mml:mo>&#xAF;</mml:mo></mml:mover><mml:mi>a</mml:mi></mml:msub><mml:mfenced><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mover><mml:mi>r</mml:mi><mml:mo>&#xAF;</mml:mo></mml:mover><mml:mi>u</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow><mml:msqrt><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>m</mml:mi></mml:munderover><mml:mo>(</mml:mo><mml:msup><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mover><mml:mi>r</mml:mi><mml:mo>&#xAF;</mml:mo></mml:mover><mml:mi>a</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>m</mml:mi></mml:munderover><mml:mo>(</mml:mo><mml:msup><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mover><mml:mi>r</mml:mi><mml:mo>&#xAF;</mml:mo></mml:mover><mml:mi>u</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:msqrt></mml:mfrac><mml:mspace linebreak="newline"/><mml:msub><mml:mtext>Similarity</mml:mtext><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mtext>&#xA0;:&#xA0;the&#xA0;similarity&#xA0;between&#xA0;the&#xA0;active&#xA0;user&#xA0;and&#xA0;neighbor&#xA0;user</mml:mtext><mml:mspace linebreak="newline"/><mml:msub><mml:mtext>r</mml:mtext><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mtext>&#xA0;:&#xA0;active&#xA0;user&#xA0;a's&#xA0;purchase&#xA0;count&#xA0;of&#xA0;product&#xA0;i&#xA0;</mml:mtext><mml:mspace linebreak="newline"/><mml:msub><mml:mover><mml:mi>r</mml:mi><mml:mo>&#xAF;</mml:mo></mml:mover><mml:mi>a</mml:mi></mml:msub><mml:mtext>&#xA0;:&#xA0;active&#xA0;user's&#xA0;average&#xA0;purchase&#xA0;</mml:mtext><mml:mspace linebreak="newline"/><mml:msub><mml:mtext>r</mml:mtext><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mtext>&#xA0;:&#xA0;purchase&#xA0;count&#xA0;of&#xA0;product&#xA0;i&#xA0;u's&#xA0;purchase&#xA0;count&#xA0;of&#xA0;product&#xA0;i&#xA0;</mml:mtext><mml:mspace linebreak="newline"/><mml:msub><mml:mover><mml:mi>r</mml:mi><mml:mo>&#xAF;</mml:mo></mml:mover><mml:mi>u</mml:mi></mml:msub><mml:mtext>&#xA0;:&#xA0;neighbor&#xA0;user's&#xA0;average&#xA0;purchase</mml:mtext></mml:math>
	</disp-formula>
	<disp-formula id="dm05">
		<label>(5)</label>
<mml:math id="m05-1"><mml:mi>P</mml:mi><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>o</mml:mi><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mover><mml:mi>r</mml:mi><mml:mo>&#xAF;</mml:mo></mml:mover><mml:mi>a</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:mfenced open="[" close="]"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mover><mml:mi>r</mml:mi><mml:mo>&#xAF;</mml:mo></mml:mover><mml:mi>u</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>*</mml:mo><mml:mi>S</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mi>i</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:mi>S</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mi>i</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mspace linebreak="newline"/><mml:msub><mml:mtext>Prediction</mml:mtext><mml:mrow><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mtext>&#xA0;:&#xA0;the&#xA0;prediction&#xA0;for&#xA0;the&#xA0;active&#xA0;user&#xA0;for&#xA0;product&#xA0;i</mml:mtext><mml:mspace linebreak="newline"/><mml:mtext>n&#xA0;:&#xA0;the&#xA0;number&#xA0;of&#xA0;neighbors&#xA0;</mml:mtext></mml:math>
	</disp-formula>
</disp-formula-group>
<p><bold>아이템 기반 협업적 필터링(Item based Collaborative Filtering) </bold><bold>추천 기법</bold>은 사용자들의 평가를 기반으로 상품 간에 유사도를 계산하여 사용자가 해당 상품을 구매하거나 평가하면 그 상품과 유사한 상품을 추천하는 기법이다. 아이템 기반 협업적 필터링 추천은 사용자별로 추천을 계산하지 않기 때문에 상품 간의 유사도 계산이 빠르다<xref ref-type="bibr" rid="B009">[9]</xref>. 단지 정확도는 사용자 기반 협업적 필터링 보다는 낮지만 추천을 위한 정확한 데이터의 영향을 사용자 기반 협업적 필터링 보다 덜 받는다. 주로 데이터가 크기가 큰 경우에 적합하다. 아이템 기반 협업적 필터링의 유사도 및 상품 추천은 (<xref ref-type="disp-formula" rid="dm04">4</xref>)식, (<xref ref-type="disp-formula" rid="dm05">5</xref>)식과 같으며 단지 이웃 사용자와의 유사도 계산 대신 상품과 상품 간의 유사도를 계산하여 상품을 추천한다.</p>
<p><bold>내용 기반 필터링(Content-Based Filtering)</bold> <bold>추천 기법</bold>은 상품에 포함된 내용을 분석하여 추천하는 기법이다. 텍스트 정보가 많이 포함된 상품에 적합할 것이다. 예를 들면 전자책, 뉴스, 등이 될 수 있을 것이다. 상품의 내용에 포함된 텍스트 정보에 대해 형태소 분석을 통해 핵심 키워드를 도출하여 사용자의 관심 정보를 찾아 낼 수 있을 것이다<xref ref-type="bibr" rid="B010">[10]</xref>. 찾아진 관심 정보를 기반으로 다른 유사한 키워드를 가진 상품을 추천하는 방식이다. 내용 기반 필터링 기법은 문서에서 단어에 대해 벡터 스페이스 모델(Vector Space Model)을 구성하고 TF-IDF(Term Frequency-Inverse Document Frequency)를 이용하여 발생하는 단어의 빈도를 기반으로 평가하는 방법이다<xref ref-type="bibr" rid="B011">[11]</xref>. 전자상거래에서의 내용 기반 필터링 추천 기법은 상품의 속성을 이용하여 (<xref ref-type="disp-formula" rid="dm06">6</xref>)식, (<xref ref-type="disp-formula" rid="dm07">7</xref>)식과 같이 상품 간에 유사도를 계산하여 추천하는 기법이다<xref ref-type="bibr" rid="B011">[11]</xref>. 내용 기반 필터링 추천 기법은 상품들 간의 직접적인 관계뿐만 아니라 숨겨진 관계까지 도출하여 추천할 수 있다.</p>
<disp-formula-group>
	<disp-formula id="dm06">
		<label>(6)</label>
<mml:math id="m06-1"><mml:msub><mml:mi>W</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>t</mml:mi><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#xD7;</mml:mo><mml:mi>log</mml:mi><mml:mfenced><mml:mfrac><mml:mi>n</mml:mi><mml:mrow><mml:mi>d</mml:mi><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mfenced><mml:mspace linebreak="newline"/><mml:msub><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mtext mathvariant="italic">&#xA0;:&#xA0;weight&#xA0;of&#xA0;Attribute&#xA0;i&#xA0;of&#xA0;Product</mml:mtext><mml:mspace linebreak="newline"/><mml:mi>t</mml:mi><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mtext mathvariant="italic">&#xA0;:&#xA0;the&#xA0;number&#xA0;of&#xA0;occurrences&#xA0;of&#xA0;Attribute&#xA0;i&#xA0;in&#xA0;Product</mml:mtext><mml:mspace linebreak="newline"/><mml:mi>n</mml:mi><mml:mtext mathvariant="italic">&#xA0;:&#xA0;the&#xA0;total&#xA0;number&#xA0;of&#xA0;Products</mml:mtext><mml:mspace linebreak="newline"/><mml:mi>d</mml:mi><mml:msub><mml:mi>f</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mtext mathvariant="italic">&#xA0;:&#xA0;the&#xA0;number&#xA0;of&#xA0;Products&#xA0;in&#xA0;which&#xA0;Attribute&#xA0;i&#xA0;appers&#xA0;at&#xA0;least&#xA0;once</mml:mtext><mml:mspace linebreak="newline"/></mml:math>
	</disp-formula>
	<disp-formula id="dm07">
		<label>(7)</label>
<mml:math id="m07-1"><mml:mi>S</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mi>i</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>P</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mi>u</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:msub><mml:mi>p</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msub><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:msqrt><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:msup><mml:msub><mml:mi>p</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mn>2</mml:mn></mml:msup><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:msup><mml:msub><mml:mi>w</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mn>2</mml:mn></mml:msup></mml:msqrt></mml:mfrac><mml:mspace linebreak="newline"/><mml:mi>S</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mi>i</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>P</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mi>u</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:mo>&#xA0;</mml:mo><mml:mo>:</mml:mo><mml:mo>&#xA0;</mml:mo><mml:mi>C</mml:mi><mml:mi>o</mml:mi><mml:mi>sin</mml:mi><mml:mi>e</mml:mi><mml:mo>&#xA0;</mml:mo><mml:mi>s</mml:mi><mml:mi>i</mml:mi><mml:mi>m</mml:mi><mml:mi>i</mml:mi><mml:mi>l</mml:mi><mml:mi>a</mml:mi><mml:mi>r</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:mi>y</mml:mi><mml:mo>&#xA0;</mml:mo><mml:mi>a</mml:mi><mml:mi>m</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>g</mml:mi><mml:mo>&#xA0;</mml:mo><mml:mi>P</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mi>u</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mi>s</mml:mi></mml:math>
	</disp-formula>
</disp-formula-group>
<p><bold>하이브리드 필터링(Hybrid Filtering)</bold> <bold>추천 기법</bold>은 2가지 이상의 추천 기법을 융합하여 추천하는 기법이다. 대체적으로 기존 전자상거래 업체의 추천 시스템은 협업적 필터링 추천 기법을 기반으로 다양한 추천 기법을 융합하고 있다. 대표적인 사례가 아마존의 경우 협업적 필터링을 기반으로 다른 기법들을 활용하고 있다. 일반적으로 하나의 추천 기법을 사용하는 것 보다 다양한 추천 기법을 적용했을 때 추천의 정확도가 향상되는 것으로 분석된다. 각 추천 기법의 장단점을 보완하여 융합했을 때 정확도가 향상되는 결과를 나타낼 것이다.</p>
<p><bold>딥러닝(Deep Learning)</bold> 추천 기법은 사용자의 행위(구매, 장바구니, 검색, 등) 데이터를 기반으로 추천 모델을 생성하는 기법이다. 사용자의 행위에 대한 데이터를 반복적으로 학습시켜 사용자의 동일한 패턴이나 분류를 도출하는데 이러한 패턴이나 분류를 추천 모델이라고 할 수 있다. 학습을 시킬 때 데이터의 종류와 도출하려는 모델에 따라 다양한 기법을 고려할 수 있다. 전자상거래에 적합한 기법으로는 순차적인 사용자의 행위에 대해 패턴이나 분류를 도출하기 위해서는 RNN 이나 LSTM 같은 기법을 사용할 수 있을 것이다. 또 다른 측면에서 전자상거래 상에서 누적된 데이터의 정량적인 정보를 이용하여 추천 모델을 생성하는 방법으로는 기존의 협업적 필터링 기법이나 내용 기반필터링 기법을 이용할 수 있을 것이다.</p>
<p><bold>RNN(Recurrent Netural Network)</bold> <bold>추천 기법</bold>은 반복적으로 사용되는 시계열 데이터를 학습하여 예측하기 위한 모델링 기법이다. RNN은 단어 예측, 음성인식, 번역 등의 예측에 활용될 수 있으며 연속적인 시계열 데이터 처리에 적합하다. RNN 기법을 전자상거래의 상품 추천에 사용하는 경우는 사용자에게 의해 순차적으로 구매한 경우나 상품을 순차적으로 클릭한 경우의 데이터를 기반으로 상품을 예측하는 사례에 적용할 수 있을 것이다.</p>
<p>RNN은 순차적인 데이터를 시간 순서로 현재 상태에 입력하여 상태 값을 도출하며 해당 상태 값과 가중치 값을 다음 상태로 입력한다. 그리고 현재의 상태 값을 기반으로 예측 값을 도출한다. &#x003C;<xref ref-type="fig" rid="f001">그림 1</xref>&#x003E;에서와 같이 현재 상태 <italic>S</italic><sub><italic>t</italic></sub> 는 활성화 함수 f에 의해 전 상태 <italic>S</italic><sub><italic>t-1</italic></sub> 과 현재 상태의 가중치 <italic>W</italic><sub><italic>s</italic></sub> 그리고 시간 순서에 의한 입력 값 <italic>X</italic><sub><italic>t</italic></sub> 와 입력 가중치 <italic>W</italic><sub><italic>x</italic></sub> 를 입력 받아 현재 상태 값을 생성한다. 예측은 현재 상태 <italic>S<sub>t</sub></italic> 와 출력 가중치 <italic>W<sub>y</sub></italic> 를 통해 예측 값 <italic>y<sub>t</sub></italic> 를 도출할 수 있다.</p>
<fig id="f001" orientation="portrait" position="float">
	<label>그림 1.</label>
	<caption>
		<title>RNN의 상태값 및 예측값</title>
		<p>Fig. 1. States Value and Predition Value of RNN</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002516898&amp;imageName=jkits_2019_14_05_515_f001.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<p><bold>LSTM(Long Short Term Memory)</bold> <bold>추천 기법</bold>은 RNN의 장기간의 학습 결과가 소실되는 문제점을 개선하기 위한 기법이다<xref ref-type="bibr" rid="B012">[12]</xref>. LSTM은 장기간의 의존성 문제를 피하기 위해 장기간 저장되는 정보를 선택적으로 저장할 수 있도록 한다<xref ref-type="bibr" rid="B013">[13]</xref>. LSTM은 과거의 학습 데이터를 현재의 학습에 이용할 수 있도록 은닉층에 Forget Gate, Input Gate, Output Gate로 구성하여 Cell State를 통해 전달되는 정보를 제어하는 역할을 한다. Forget Gate는 Cell State로부터 삭제할 정보를 결정한다. 1일 경우 보존하고 0일 경우 삭제한다. Input Gate는 Cell State에 새로운 정보를 저장할지를 결정한다. Forget Gate와 Input Gate에 의해 삭제할 정보와 새로운 정보가 결정되면 Cell State에 새로운 정보로 업데이트를 할지를 결정한다. Output Gate는 Cell State에 업데이트된 정보를 보내는 역할을 한다. 이와 같이 Input Gate로 입력된 정보를 기반으로 Output Gate에 의해 예측하는 정보를 얻을 수 있다.</p>
<fig id="f002" orientation="portrait" position="float">
	<label>그림 2.</label>
	<caption>
		<title>LSTM 구조</title>
		<p>Fig. 2. LSTM Structure</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002516898&amp;imageName=jkits_2019_14_05_515_f002.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<p>LSTM 추천 기법을 이용할 경우 사용자에 의해 상품에 대한 장기간의 순차적인 행위(구매, 검색, 클릭, 등)에 대한 학습을 통해 더욱 의미 있는 추천 정보를 제공할 수 있을 것이다.</p>
<p><bold>Word2Vec 추천 기법</bold>은 단어들을 벡터로 표현하며 벡터로 표현된 단어들 간에 유사도를 계산하여 예측 단어를 도출하는 기법이다. 벡터로 단어를 표현할 때 모든 단어에 대해 원 핫 벡터(One-Hot Vector)로 표현할 경우 단어들 간에 유사도를 도출할 수 없다. &#x003C;<xref ref-type="fig" rid="f003">그림 3</xref>&#x003E;에서와 같이 전체 단어 개수만큼 벡터의 크기가 결정된다. 해당 단어에 해당하는 인덱스 만 1로 저장되고 벡터의 나머지 인덱스에는 0으로 채워진다. 이러한 방법은 단어들 간에 중복이 발생하지 않으므로 단어들 간의 유사도를 계산하면 0으로 도출된다.</p>
<fig id="f003" orientation="portrait" position="float">
	<label>그림 3.</label>
	<caption>
		<title>원 핫 벡터</title>
		<p>Fig. 3. One-Hot Vector</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002516898&amp;imageName=jkits_2019_14_05_515_f003.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<p>따라서 유사도를 도출하기 위해서는 단어에 의미를 부여해야 하며 벡터에 해당 단어가 갖는 정보를 다차원의 정보를 기반으로 표현된다. 이러한  방법을 임베딩 벡터(Embedding Vector)라고 한다. &#x003C;<xref ref-type="fig" rid="f004">그림 4</xref>&#x003E;에서와 같이 임베딩 벡터는 벡터의 차원을 단어들의 개수만큼 정의하지 않으며 단어를 나타내는 벡터에 의미 있는 정보들을 포함한다.</p>
<fig id="f004" orientation="portrait" position="float">
	<label>그림 4.</label>
	<caption>
		<title>임베딩 벡터</title>
		<p>Fig. 4. Embedding Vector</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002516898&amp;imageName=jkits_2019_14_05_515_f004.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<p>Word2Vec 기법은 단어를 예측하기 위한 알고리즘으로 Skip-Gram과 Continuous Bag of Words 가있다. Skip-Gram은 단어를 기반으로 문장의 맥락을 예측하며, Continuous Bag of Words는 문장의 맥락에서 단어를 예측한다.</p>
<p>Word2Vec 기법은 RNN이나 LSTM과 같이 순차적인 사용자의 행위(구매, 검색, 클릭, 등)를 벡터로 표현할 때 사용하기도 한다. NN(Natural Network)이 정확도를 높이기 위해 많은 학습 데이터와 학습 시간이 오래 걸리는 것에 반해 Word2Vec는 처리가 간단하고 학습 시간이 빠르다는 장점으로 실시간 상품 추천에 적합할 것으로 판단된다. 따라서 본 연구에서 Word2Vec 기법 만을 따로 상품 추천에 사용했을 때 성능을 분석한다.</p>
</sec>
<sec id="sec003-2">
<title>3.2 상품 추천 성능평가 절차</title>
<p>본 연구에서 상품 추천 기법의 성능을 평가하기 위해 학습 및 테스트 데이터 수집, 데이터 전처리, 추천 모델 생성, 그리고 검증 과정으로 수행한다. 성능평가 절차 중에 학습 모델을 생성하지 않는 추천 기법의 경우가 있기 때문에 과정을 선택으로 수행한다.</p>
<p>- 학습 및 테스트 데이터 수집</p>
<p>상품 추천 기법의 성능을 평가하기 위해 전자상거래 트랜잭션 데이터를 이용한다. 공개된 트랜잭션 데이터 중에 UCI Machine Learning Repository에서 제공하는 트랜잭션 데이터를 사용한다<xref ref-type="bibr" rid="B014">[14]</xref>. 해당 트랜잭션 데이터는 54만 건의 트랜잭션으로 이루어져 있으며, 2010년에서 2011년 사이의 데이터이다. 데이터의 필드는 트랜잭션 번호(InvoiceNo), 상품코드(StockCode), 상품명(Description), 수량(Quantity), 단가(UnitPrice), 고객ID(CustomerID), 국가(Country) 로 구성된다.</p>
<p>추천 기법의 학습과 테스트를 위해 &#x003C;<xref ref-type="fig" rid="f005">그림 5</xref>&#x003E;와 같이 일자별로 분리하여 사용한다. 학습 데이터를 통해 추천 모델이 생성된 후 추천의 성능을 평가하기 위해 학습에 사용되지 않은 테스트 데이터를 이용하여 평가한다. 학습 모델을 생성하지 않는 협업적 필터링 추천 기법에서는 학습 데이터에서 유사도를 계산하여 추천 상품을 도출한다.</p>
<fig id="f005" orientation="portrait" position="float">
	<label>그림 5.</label>
	<caption>
		<title>학습 데이터와 테스트 데이터</title>
		<p>Fig. 5. Learning and Testing Data</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002516898&amp;imageName=jkits_2019_14_05_515_f005.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<p>- 데이터 전처리</p>
<p>트랜잭션 데이터를 기반으로 학습 모델을 생성을 위해 전처리 작업을 한다. 전처리 작업한 데이터는 협업적 필터링 추천 기법 시에도 동일하게 사용한다.</p>
<p>1. 학습모델 생성 시 처리 불가능한 데이터를 삭제한다. &#x003C;<xref ref-type="fig" rid="f006">그림 6</xref>&#x003E;과 같이 반품 데이터, 고객 정보가 없는 데이터, 상품명이 존재하지 않는 데이터, 상품명을 확인할 수 없는 데이터를 삭제한다.</p>
<fig id="f006" orientation="portrait" position="float">
	<label>그림 6.</label>
	<caption>
		<title>전처리 대상 데이터 예시</title>
		<p>Fig. 6. Preprocessing Data Example</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002516898&amp;imageName=jkits_2019_14_05_515_f006.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<p>2. 사용자 정보와 상품 정보를 분리하여 저장한다. 유사도 계산 시 참조할 수 있도록 &#x003C;<xref ref-type="fig" rid="f007">그림 7</xref>&#x003E;과 같이 사용자 정보와 상품 정보를 트랜잭션 데이터로부터 추출하여 저장한다. 사용자는 4338명의 데이터 이며, 상품은 3877개의 데이터이다.</p>
<fig id="f007" orientation="portrait" position="float">
	<label>그림 7.</label>
	<caption>
		<title>추출된 사용자와 상품 데이터</title>
		<p>Fig. 7. Extracted User and Product Data</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002516898&amp;imageName=jkits_2019_14_05_515_f007.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<p>3. 구매 상품의 정보를 시계열 데이터로 재구성한다. &#x003C;<xref ref-type="fig" rid="f008">그림 8</xref>&#x003E;과 같이 트랜잭션 데이터의 구매 상품들을 사용자별로 구분자(,)를 이용하여 순서대로 한 열(column)에 재구성한다. 본 전처리 작업의 데이터는 머신러닝 기반의 Word2Vec 추천 기법을 적용할 때 이용한다.</p>
<fig id="f008" orientation="portrait" position="float">
	<label>그림 8.</label>
	<caption>
		<title>사용자별 구매 데이터의 시계열 재구성</title>
		<p>Fig. 8. Time Series Reorganization of Purchase Data per User</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002516898&amp;imageName=jkits_2019_14_05_515_f008.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<p>- 추천 모델 생성</p>
<p>상품 추천 기법의 추천 모델을 생성하기 위해 트랜잭션 데이터를 이용하여 추천 기법별 학습 및 유사도 측정을 진행한다.</p>
<p>머신러닝 및 딥러닝 기반의 추천 기법은 학습 과정을 통해 추천 모델을 생성하며 기존의 협업적 필터링 기법은 유사도 계산을 통해 추천 상품을 도출한다.</p>
<p>- Top-k 추천 상품 도출</p>
<p>추천 상품은 최적화된 Top-k 개를 제시한다. &#x003C;<xref ref-type="fig" rid="f009">그림 9</xref>&#x003E;에서와 같이 추천 상품의 개수가 증가 할수록 정확도가 높아지지 않기 때문에 추천 성능이 임계치(Threshold)에 도달하는 Top-k 상품을 추천한다. 실험에서는 Top-k의 여러 사례들을 검증하여 최적의 Top-k를 찾을 수 있도록 한다.</p>
<fig id="f009" orientation="portrait" position="float">
	<label>그림 9.</label>
	<caption>
		<title>최적의 Top-k 도출</title>
		<p>Fig. 9. Optimized Top-k Extraction</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002516898&amp;imageName=jkits_2019_14_05_515_f009.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<p>- 상품 추천 검증</p>
<p>생성된 추천 모델을 기반으로 &#x003C;<xref ref-type="fig" rid="f005">그림 5</xref>&#x003E;에서와 같이 2011년 10월부터 12월까지의 테스트 데이터를 이용하여 추천 한 상품 중에 실제로 구매했는지를 통해 추천의 성능을 평가한다. 학습 데이터의 편중된 문제로 인해 검증 시 콜드 스타트나 희소성 문제가 발생할 수 있기 때문에 학습 데이터와 테스트 데이터를 교차해 가면서 반복적으로 검증하기 위한 k겹 교차검증(k-fold cross validation)을 이용할 수 있을 것이다<xref ref-type="bibr" rid="B015">[15]</xref>. 그러나 본 연구에서와 같은 전자상거래 사례인 경우 기간별로 학습 및 테스트 데이터를 분리해서 검증해야 하는 경우에는 k겹 교차검증이 적합하지 않을 수도 있다. 따라서 본 연구의 검증에서는 k겹 교차검증을 이용하지 않고 &#x003C;<xref ref-type="fig" rid="f005">그림 5</xref>&#x003E;와 같이 분리하여 검증한다.</p>
</sec>
<sec id="sec003-3">
<title>3.3 상품 추천 성능평가 지표</title>
<p>상품 추천 기법에 대한 성능평가를 위해 기존의 정확성, 재현율, F<sub>1</sub> 측정에 대해 전자상거래 상품 추천에 적합하도록 정의 한다.</p>
<p>전자상거래 상품 추천에서 정확성 성능지표는 (<xref ref-type="disp-formula" rid="dm08">8</xref>)식과 같이 사용자에게 추천한 상품 중에서 사용자가 실제로 구매한 상품의 비율로 측정한다<xref ref-type="bibr" rid="B016">[16]</xref>.</p>
<disp-formula-group>
	<disp-formula id="dm08">
		<label>(8)</label>
<mml:math id="m08-1"><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>c</mml:mi><mml:mi>u</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>R</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mo>#</mml:mo><mml:mi>P</mml:mi><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mo>#</mml:mo><mml:mi>R</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:mfrac><mml:mspace linebreak="newline"/><mml:mtext mathvariant="italic">#RP&#xA0;:&#xA0;Number&#xA0;of&#xA0;Recmmended&#xA0;Products&#xA0;</mml:mtext><mml:mspace linebreak="newline"/><mml:mtext mathvariant="italic">#PP&#xA0;:&#xA0;Number&#xA0;of&#xA0;Purchase&#xA0;Products</mml:mtext></mml:math>
	</disp-formula>
</disp-formula-group>
<p>전자상거래 상품 추천에서 재현율 성능지표는 (<xref ref-type="disp-formula" rid="dm09">9</xref>)식과 같이 사용자가 구매한 상품 중에서 추천된 상품의 비율로 측정한다.</p>
<disp-formula-group>
	<disp-formula id="dm09">
		<label>(9)</label>
<mml:math id="m09-1"><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>R</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mo>#</mml:mo><mml:mi>P</mml:mi><mml:mi>P</mml:mi><mml:mi>R</mml:mi><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mo>#</mml:mo><mml:mi>P</mml:mi><mml:mi>P</mml:mi></mml:mrow></mml:mfrac><mml:mspace linebreak="newline"/><mml:mtext mathvariant="italic">#PP&#xA0;:&#xA0;Number&#xA0;of&#xA0;Purchase&#xA0;Products&#xA0;</mml:mtext><mml:mspace linebreak="newline"/><mml:mtext mathvariant="italic">#PPRP&#xA0;:&#xA0;Number&#xA0;of&#xA0;Products&#xA0;Purchased&#xA0;among&#xA0;Recmmended&#xA0;Products</mml:mtext></mml:math>
	</disp-formula>
</disp-formula-group>
<p>상품 추천 F<sub>1</sub> 측정(F<sub>1</sub> measure)은 기존의 F<sub>1</sub> 측정 지표를 기반으로 (<xref ref-type="disp-formula" rid="dm10">10</xref>)식과 같이 상품 추천 정확성과 재현율 성능을 모두 고려 측정할 수 있다.</p>
<disp-formula-group>
	<disp-formula id="dm10">
		<label>(10)</label>
<mml:math id="m10-1"><mml:msub><mml:mi>F</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mi>a</mml:mi><mml:mi>s</mml:mi><mml:mi>u</mml:mi><mml:mi>r</mml:mi><mml:msub><mml:mi>e</mml:mi><mml:mrow><mml:mi>R</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mo>&#xD7;</mml:mo><mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>c</mml:mi><mml:mi>u</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:msub><mml:mi>y</mml:mi><mml:msub><mml:mrow/><mml:mrow><mml:mi>R</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:msub><mml:mo>&#xD7;</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>R</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>c</mml:mi><mml:mi>u</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:msub><mml:mi>y</mml:mi><mml:msub><mml:mrow/><mml:mrow><mml:mi>R</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:msub><mml:mo>+</mml:mo><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>R</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:math>
	</disp-formula>
</disp-formula-group>
</sec>
<sec id="sec003-4">
<title>3.4 상품 추천 성능평가 검증</title>
<p>추천 기법별 생성된 학습 모델을 기반으로 상품 추천 성능을 검증한다. 본 성능 실험의 추천 기법은 사용자 기반 협업적 필터링 추천 기법, 아이템 기반 협업적 필터링 추천 기법, LSTM, Word2Vec을 대상으로 검증하며, 상품 추천의 성능은 정확성, F<sub>1</sub> 측정 지표를 분석한다. F<sub>1</sub> 측정 지표를 위해 재현율 또한 측정한다.</p>
<p>추천 상품은 Top-k를 기반으로 5개, 10개, 30개, 50개, 100개를 추천하였으며 &#x003C;<xref ref-type="fig" rid="f005">그림 5</xref>&#x003E;에서와 같이 테스트 데이터를 활용하여 추천 성능을 검증한다. 측정 결과는 &#x003C;<xref ref-type="table" rid="t001">표 1</xref>&#x003E;, &#x003C;<xref ref-type="table" rid="t002">표 2</xref>&#x003E;와 같다.</p>
<table-wrap id="t001">
<label>표 1.</label>
<caption>
<title>상품 추천 정확도 결과</title>
<p>Table 1. Product Recommendation Accuracy Results</p>
</caption>
<table frame="box" rules="all" width="100%">
<tbody>
<tr style="background: lightgrey" align="center">
<td>Recom.Tech. ＼ Top-k</td>
<td>Top-5</td>
<td>Top-10</td>
<td>Top-30</td>
<td>Top-50</td>
<td>Top-100</td>
</tr><tr align="center">
<td align="left" style="background: lightgrey">User CF</td>
<td>0.1287</td>
<td>0.1153</td>
<td>0.0950</td>
<td>0.0811</td>
<td>0.0659</td>
</tr><tr align="center">
<td align="left" style="background: lightgrey">Item CF</td>
<td>0.1008</td>
<td>0.1050</td>
<td>0.0962</td>
<td>0.0937</td>
<td>0.0852</td>
</tr><tr align="center">
<td align="left" style="background: lightgrey">Word2Vec</td>
<td>0.1427</td>
<td>0.1559</td>
<td>0.1581</td>
<td>0.1571</td>
<td>0.1577</td>
</tr><tr align="center">
<td align="left" style="background: lightgrey">LSTM</td>
<td>0.2255</td>
<td>0.3315</td>
<td>0.1606</td>
<td>0.0922</td>
<td>0.1338</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="t002">
<label>표 2.</label>
<caption>
<title>상품 추천 F1 측정 결과</title>
<p>Table 2. Product Recommendation F1 Measure Results</p>
</caption>
<table frame="box" rules="all" width="100%">
<tbody>
<tr style="background: lightgrey" align="center">
<td>Recom.Tech. ＼ Top-k</td>
<td>Top-5</td>
<td>Top-10</td>
<td>Top-30</td>
<td>Top-50</td>
<td>Top-100</td>
</tr><tr align="center">
<td align="left">User CF</td>
<td>0.0357</td>
<td>0.0486</td>
<td>0.0716</td>
<td>0.0754</td>
<td>0.0774</td>
</tr><tr align="center">
<td align="left">Item CF</td>
<td>0.0282</td>
<td>0.0424</td>
<td>0.0708</td>
<td>0.0849</td>
<td>0.0963</td>
</tr><tr align="center">
<td align="left">Word2Vec</td>
<td>0.0353</td>
<td>0.0630</td>
<td>0.1121</td>
<td>0.1277</td>
<td>0.1379</td>
</tr><tr align="center">
<td align="left">LSTM</td>
<td>0.2390</td>
<td>0.3524</td>
<td>0.1555</td>
<td>0.0836</td>
<td>0.1311</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="f010" orientation="portrait" position="float">
	<label>그림 10.</label>
	<caption>
		<title>상품 추천 정확도 성능 분석</title>
		<p>Fig. 10. Product Recommendation Accuracy Performance Analysis</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002516898&amp;imageName=jkits_2019_14_05_515_f010.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<fig id="f011" orientation="portrait" position="float">
	<label>그림 11. </label>
	<caption>
		<title>상품 추천 F1 측정 성능 분석</title>
		<p>Fig. 11. Product Recommendation F1 Measure Performance Analysis</p>
	</caption>
	<graphic xlink:href="../ingestImageView?artiId=ART002516898&amp;imageName=jkits_2019_14_05_515_f011.jpg" position="float" orientation="portrait" xlink:type="simple"></graphic>
</fig>
<p>&#x003C;<xref ref-type="fig" rid="f010">그림 10</xref>&#x003E;, &#x003C;<xref ref-type="fig" rid="f011">그림 11</xref>&#x003E;의 정확도, F<sub>1</sub> 측정 성능그래프에서와 같이 LSTM이 다른 추천 기법에 비해 추천 성능이 우수한 것으로 분석할 수 있으며, 특히 추천 개수 Top-10 일 때 가장 우수한 것으로 판단할 수 있다.</p>
<p>본 연구의 상품 추천 성능평가에서는 트랜잭션 정보를 기반으로 검증하였으며, 사용자 정보와 사용자의 온라인 행동패턴 정보 등을 추가한다면 추천 성능이 더 향상될 수 있을 것이다.</p>
</sec>
</sec>
<sec id="sec004">
<title>4. 결 론</title>
<p>본 연구는 전자상거래의 방대한 상품 정보에서 사용자에게 요구하는 상품을 추천하기 위한 추천기법들 간의 성능을 비교 분석하였다. 사용자와 상품 간의 유사도를 기반으로 상품을 추천하기 위한 협업적 필터링 추천 기법과 학습을 통해 추천하기 위한 머신러닝 기반의 추천 기법을 연구하였다. 협업적 필터링 추천 기법으로는 사용자 기반 협업적 필터링 추천기법과 아이템 기반 협업적 필터링 기법을 연구하였으며, 머신러닝 기반의 추천 기법으로는 RNN, LSTM, Word2Vec 추천 기법을 연구하였다. 상품 추천 성능을 평가하기 지표로 정확도, 재현율, F<sub>1</sub> 측정 지표를 활용하였으며 이를 기반으로 추천 기법의 성능을 평가하였다. 실험된 결과를 통해 LSTM의 성능이 가장 우수하며 추천 개수는 Top-10 일 때가 가장 우수한 것으로 분석 되었다. 향후에는 이렇게 연구된 추천 기법들을 융합하여 다중 수준(Multi-Level)의 추천 아키텍쳐를 연구한다.</p>
</sec>
</body>
<back>
<ref-list>
<title>References</title>
<!-- [1] B. M. Sarwar, G. Karypis, J. A. Konstan, and J. T. Riedl, Analysis of recommendation algorithms for e-commerce, Proc. of 2nd ACM Conference on Electronic Commerce, pp. 158-167, 2000.-->
<ref id="B001">
<label>[1]</label>
<element-citation publication-type="paper">
<person-group>
<name><surname>Sarwar</surname><given-names>B. M.</given-names></name>
<name><surname>Karypis</surname><given-names>G.</given-names></name>
<name><surname>Konstan</surname><given-names>J. A.</given-names></name>
<name><surname>Riedl</surname><given-names>J. T.</given-names></name>
</person-group>
<year>2000</year>
<article-title>Analysis of recommendation algorithms for e-commerce</article-title>
<conf-name>Proc. of 2nd ACM Conference on Electronic Commerce</conf-name>
<fpage>158</fpage><lpage>167</lpage>
<pub-id pub-id-type="doi">10.1145/352871.352887</pub-id>
</element-citation>
</ref>
<!-- [2] Accuracy and precision, https://en.wikipedia.org/wiki/Accuracy_and_precision, retrieved Jan. 2019.-->
<ref id="B002">
<label>[2]</label>
<element-citation publication-type="webpage" publication-format="web">
<date-in-citation>retrieved Jan. 2019</date-in-citation>
<source>Accuracy and precision, <uri>https://en.wikipedia.org/wiki/Accuracy_and_precision</uri></source>
</element-citation>
</ref>
<!-- [3] Precision and recall, https://en.wikipedia.org/wiki/Precision_and_recall, retrieved Jan. 2019.-->
<ref id="B003">
<label>[3]</label>
<element-citation publication-type="webpage" publication-format="web">
<date-in-citation>retrieved Jan. 2019</date-in-citation>
<source>Precision and recall, <uri>https://en.wikipedia.org/wiki/Precision_and_recall</uri></source>
</element-citation>
</ref>
<!-- [4] F1 score, https://en.wikipedia.org/wiki/F1_score, Jan. 2019.-->
<ref id="B004">
<label>[4]</label>
<element-citation publication-type="webpage" publication-format="web">
<year>2019</year>
<month>Jan.</month>
<source>F1 score, <uri>https://en.wikipedia.org/wiki/F1_score</uri></source>
</element-citation>
</ref>
<!-- [5] B. Hidasi, A. Karatzoglou, L. Baltrunas, and D. Tikk, Session-based recommendations with recurrent neural networks, Proc. of the ICLR 2016.-->
<ref id="B005">
<label>[5]</label>
<element-citation publication-type="paper">
<person-group>
<name><surname>Hidasi</surname><given-names>B.</given-names></name>
<name><surname>Karatzoglou</surname><given-names>A.</given-names></name>
<name><surname>Baltrunas</surname><given-names>L.</given-names></name>
<name><surname>Tikk</surname><given-names>D.</given-names></name>
</person-group>
<article-title>Session-based recommendations with recurrent neural networks</article-title>
<conf-name>Proc. of the ICLR 2016</conf-name>
</element-citation>
</ref>
<!-- [6] S. S. Kim, and J. W. Kim, Customer behavior prediction of binary classification model using unstructured information and convolution neural network - the case of online storefront, Journal of Intelligence and Information Systems, Vol. 24, No. 2, pp. 221-241, 2018.-->
<ref id="B006">
<label>[6]</label>
<element-citation publication-type="journal">
<person-group>
<name><surname>Kim</surname><given-names>S. S.</given-names></name>
<name><surname>Kim</surname><given-names>J. W.</given-names></name>
</person-group>
<year>2018</year>
<article-title>Customer behavior prediction of binary classification model using unstructured information and convolution neural network - the case of online storefront</article-title>
<source>Journal of Intelligence and Information Systems</source>
<volume>24</volume><issue>2</issue>
<fpage>221</fpage><lpage>241</lpage>
<pub-id pub-id-type="doi">10.13088/jiis.2018.24.2.221</pub-id>
</element-citation>
</ref>
<!-- [7] R. B. Yates, and B. R. Neto, Modern information retrieval, ADDISON-WESLEY, New York, 1999.-->
<ref id="B007">
<label>[7]</label>
<element-citation publication-type="book">
<person-group>
<name><surname>Yates</surname><given-names>R. B.</given-names></name>
<name><surname>Neto</surname><given-names>B. R.</given-names></name>
</person-group>
<year>1999</year>
<source>Modern information retrieval</source>
<publisher-loc>New York</publisher-loc>
<publisher-name>ADDISON-WESLEY</publisher-name>
</element-citation>
</ref>
<!-- [8] J. Herlocker, J. A. Konstan, and J. Riedl, An empirical analysis of design choices in neighborhood-based collaborative filtering algorithms, Information Retrieval, Vol. 5, No. 4, pp. 287-310, 2002.-->
<ref id="B008">
<label>[8]</label>
<element-citation publication-type="journal">
<person-group>
<name><surname>Herlocker</surname><given-names>J.</given-names></name>
<name><surname>Konstan</surname><given-names>J. A.</given-names></name>
<name><surname>Riedl</surname><given-names>J.</given-names></name>
</person-group>
<year>2002</year>
<article-title>An empirical analysis of design choices in neighborhood-based collaborative filtering algorithms</article-title>
<source>Information Retrieval</source>
<volume>5</volume><issue>4</issue>
<fpage>287</fpage><lpage>310</lpage>
<pub-id pub-id-type="doi">10.1023/a:1020443909834</pub-id>
</element-citation>
</ref>
<!-- [9] Q. Xu, S. Zheng, and M. Cai , IBCF Improved algorithm based on the tag, ICCNCE 2013, pp. 265-268, 2013.-->
<ref id="B009">
<label>[9]</label>
<element-citation publication-type="other">
<person-group>
<name><surname>Xu</surname><given-names>Q.</given-names></name>
<name><surname>Zheng</surname><given-names>S.</given-names></name>
<name><surname>Cai</surname><given-names>M.</given-names></name>
</person-group>
<year>2013</year>
<source>IBCF Improved algorithm based on the tag</source>
<comment>ICCNCE 2013</comment>
<fpage>265</fpage><lpage>268</lpage>
<pub-id pub-id-type="doi">10.2991/iccnce.2013.65</pub-id>
</element-citation>
</ref>
<!-- [10] M. Balabanovic, and Y. Shoham, Fab: Content-based, collaborative recommendation, in Communications of the Association for Computing Machinery, Vol. 40, No. 3, pp. 66-72, 1997.-->
<ref id="B010">
<label>[10]</label>
<element-citation publication-type="journal">
<person-group>
<name><surname>Balabanovic</surname><given-names>M.</given-names></name>
<name><surname>Shoham</surname><given-names>Y.</given-names></name>
</person-group>
<year>1997</year>
<article-title>Fab: Content-based, collaborative recommendation</article-title>
<source>Communications of the Association for Computing Machinery</source>
<volume>40</volume><issue>3</issue>
<fpage>66</fpage><lpage>72</lpage>
<pub-id pub-id-type="doi">10.1145/245108.245124</pub-id>
</element-citation>
</ref>
<!-- [11] O. Meteren and M. Someren, Using content-based filtering for recommendation, presented at ECML2000 Workshop, 2000.-->
<ref id="B011">
<label>[11]</label>
<element-citation publication-type="paper">
<person-group>
<name><surname>Meteren</surname><given-names>O.</given-names></name>
<name><surname>Someren</surname><given-names>M.</given-names></name>
</person-group>
<year>2000</year>
<article-title>Using content-based filtering for recommendation</article-title>
<comment>presented at</comment>
<conf-name>ECML2000 Workshop</conf-name>
</element-citation>
</ref>
<!-- [12] Y. Bengio, P. Simard, and P. Frasconi, Learning long-term dependencies with gradient descent is difficult, Journal of IEEE Transactions on Neural Networks, Vol. 5, No. 2, pp. 157-166, Mar. 1994.-->
<ref id="B012">
<label>[12]</label>
<element-citation publication-type="journal">
<person-group>
<name><surname>Bengio</surname><given-names>Y.</given-names></name>
<name><surname>Simard</surname><given-names>P.</given-names></name>
<name><surname>Frasconi</surname><given-names>P.</given-names></name>
</person-group>
<year>1994</year>
<month>Mar.</month>
<article-title>Learning long-term dependencies with gradient descent is difficult</article-title>
<source>Journal of IEEE Transactions on Neural Networks</source>
<volume>5</volume><issue>2</issue>
<fpage>157</fpage><lpage>166</lpage>
<pub-id pub-id-type="doi">10.1109/72.279181</pub-id>
</element-citation>
</ref>
<!-- [13] S. Hochreiter, and J. Schmidhuber, Long short-term memory, Neural Computation, Vol 9, No. 8, pp. 1735-1780, 1997.-->
<ref id="B013">
<label>[13]</label>
<element-citation publication-type="journal">
<person-group>
<name><surname>Hochreiter</surname><given-names>S.</given-names></name>
<name><surname>Schmidhuber</surname><given-names>J.</given-names></name>
</person-group>
<year>1997</year>
<article-title>Long short-term memory</article-title>
<source>Neural Computation</source>
<volume>9</volume><issue>8</issue>
<fpage>1735</fpage><lpage>1780</lpage>
<pub-id pub-id-type="doi">10.1162/neco.1997.9.8.1735</pub-id>
</element-citation>
</ref>
<!-- [14] Online Retail Dataset, http://archive.ics.uci.edu/ml/datasets/online+retail, retrieved Jan. 2019.-->
<ref id="B014">
<label>[14]</label>
<element-citation publication-type="webpage" publication-format="web">
<date-in-citation>retrieved Jan. 2019</date-in-citation>
<source>Online Retail Dataset, <uri>http://archive.ics.uci.edu/ml/datasets/online+retail</uri></source>
</element-citation>
</ref>
<!-- [15] J. D. Kelleher, B. M. Namee, and A. D'arcy, Fundamentals of machine learning for predictive data analytics, Massachusetts Institute of Technology, 2015.-->
<ref id="B015">
<label>[15]</label>
<element-citation publication-type="report">
<person-group>
<name><surname>Kelleher</surname><given-names>J. D.</given-names></name>
<name><surname>Namee</surname><given-names>B. M.</given-names></name>
<name><surname>D'arcy</surname><given-names>A.</given-names></name>
</person-group>
<year>2015</year>
<source>Fundamentals of machine learning for predictive data analytics</source>
<publisher-name>Massachusetts Institute of Technology</publisher-name>
</element-citation>
</ref>
<!-- [16] J. L. Herlocker, J. A. Konstan, L. G. Terveen, and J. T. Riedl, Evaluating collaborative filtering recommender systems, ACM Transactions on Information Systems, Vol. 22, No. 1, pp. 5-53, 2004.-->
<ref id="B016">
<label>[16]</label>
<element-citation publication-type="journal">
<person-group>
<name><surname>Herlocker</surname><given-names>J. L.</given-names></name>
<name><surname>Konstan</surname><given-names>J. A.</given-names></name>
<name><surname>Terveen</surname><given-names>L. G.</given-names></name>
<name><surname>Riedl</surname><given-names>J. T.</given-names></name>
</person-group>
<year>2004</year>
<article-title>Evaluating collaborative filtering recommender systems</article-title>
<source>ACM Transactions on Information Systems</source>
<volume>22</volume><issue>1</issue>
<fpage>5</fpage><lpage>53</lpage>
<pub-id pub-id-type="doi">10.1145/963770.963772</pub-id>
</element-citation>
</ref>
</ref-list>
<ack>
<title>감사의 글</title>
<p>이 논문은 2019년도 정부(교육과학기술부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연구사업임(No. NRF-2018R1D1A1B07049667).</p>
</ack>
<bio>
<p><graphic xlink:href="../ingestImageView?artiId=ART002516898&amp;imageName=jkits_2019_14_05_515_f012.jpg"></graphic><bold>Chul Jin Kim</bold> received both M.S. and Ph.D. degree in Computer Science from the Soongsil University in 1998 and 2004. He worked as a senior researcher in Samsung Electronics from 2004 to 2009. He has been a professor in the Department of Computer Systems and Engineering at Inha Technical College since 2009. He research focus is software engineering, object-oriented &#x0026; component technique, software architecture, customization, and deep learning.</p><p><italic>E-mail address</italic>: <email>cjkim@inhatc.ac.kr</email></p>
<p><graphic xlink:href="../ingestImageView?artiId=ART002516898&amp;imageName=jkits_2019_14_05_515_f013.jpg"></graphic><bold>Ji Hyun Jeong</bold> is currently studying bachelor's course in Dept. of Computer Engineering from Inha Technical College. He research focus is deep learning(product recommendation, audio recognition) and mobile service</p><p><italic>E-mail address</italic>: <email>jhjeong@itc.ac.kr</email></p>
<p><graphic xlink:href="../ingestImageView?artiId=ART002516898&amp;imageName=jkits_2019_14_05_515_f014.jpg"></graphic><bold>Cheon Woo Jo</bold> is currently studying bachelor's course in Dept. of Computer Engineering from Inha Technical College. He research focus is Network Service(beacon), deep learning(product recommendation) and mobile service.</p><p><italic>E-mail address</italic>: <email>cwjo@itc.ac.kr</email></p>
<p><graphic xlink:href="../ingestImageView?artiId=ART002516898&amp;imageName=jkits_2019_14_05_515_f015.jpg"></graphic><bold>Je Kwang Yoo</bold> is currently studying bachelor's course in Dept. of Computer Engineering from Inha Technical College. He research focus is Web Service, deep learning(pro duct recommendation) and voice recognition service.</p><p><italic>E-mail address</italic>: <email>jkyoo@itc.ac.kr</email></p>
</bio>
</back>
</article>
