KR20210047229A - 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템 및 방법 - Google Patents

구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템 및 방법 Download PDF

Info

Publication number
KR20210047229A
KR20210047229A KR1020200027021A KR20200027021A KR20210047229A KR 20210047229 A KR20210047229 A KR 20210047229A KR 1020200027021 A KR1020200027021 A KR 1020200027021A KR 20200027021 A KR20200027021 A KR 20200027021A KR 20210047229 A KR20210047229 A KR 20210047229A
Authority
KR
South Korea
Prior art keywords
product
data
sentiment
priority
purchase
Prior art date
Application number
KR1020200027021A
Other languages
English (en)
Inventor
정회경
황도연
Original Assignee
배재대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 배재대학교 산학협력단 filed Critical 배재대학교 산학협력단
Publication of KR20210047229A publication Critical patent/KR20210047229A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0278Product appraisal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일 실시예에 따른 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템은 상품의 검색 시 사용자에 의해 선택된 상품 속성 및 구매 기준을 기반으로, 상기 사용자에 의해 검색된 상품에 관한 상품 정보 및 상품 리뷰 데이터를 크롤링(crawling) 및 선별하여 데이터베이스에 저장하는 데이터 수집부; 상기 상품 리뷰 데이터 각각을 대상으로 노이즈 필터링 및 형태소 분석을 수행하는 데이터 전처리부; 상기 상품 리뷰 데이터 각각에 대하여 감정 분석을 진행하여 긍정적인 평가와 부정적인 평가에 따른 점수를 일차적으로 산출하고, 상기 구매 기준에 미리 부여된 상기 상품 속성의 우선순위별 가중치를 상기 상품 리뷰 데이터 각각에 적용하여 상기 검색된 상품에 대한 감성 점수를 최종적으로 산출하는 감성 점수 산정부; 및 상기 감성 점수를 바탕으로 상기 상품 정보에 따른 상품 리스트로부터 상기 사용자에게 추천할 상품을 추출하고, 상기 추출된 상품을 내림차순으로 정렬하여 상위 랭킹의 상품으로 추천 상품 리스트를 제시하는 상품 추천부를 포함한다.

Description

구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템 및 방법{Recommendation System and METHOD Reflecting Purchase Criteria and Product Reviews Sentiment Analysis}
본 발명의 실시예들은 상품 추천 시스템 및 방법에 관한 것으로, 더욱 상세하게는 사용자의 주관적인 구매 기준을 상품 리뷰와 함께 감성 분석을 진행하여 그 결과를 사용자에게 추천하는 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템 및 방법에 관한 것이다.
최근에 소비자들의 구매형태가 점차 오프라인이나 매장 방문에서 온라인 구매로 변화되고 있다. 과거에는 온라인상에서 상품을 구매하는 것은 직접 눈으로 보거나 만져보는 등의 체험을 할 수 없다는 불편함 때문에 단점으로 여겨졌지만, 최근에는 다른 소비자의 상품 리뷰를 본인의 구매활동에 참고하면서 단점을 극복해 나가고 있다. 실제로 이러한 상품 리뷰가 소비자에게 유의미한 도움을 준다는 연구 결과도 있다.
또한 온라인 쇼핑 환경에서는 사용자의 편의를 위해 제공하는 서비스가 많이 도입되고 있는데, 그 중 하나가 바로 추천 시스템(Recommend System)이다.
추천 시스템은 사용자가 수만 가지의 상품 중에서 나에게 맞는 상품을 고르는데 추천 시스템의 도움을 받을 수 있으며, 시간과 노력을 줄일 수 있다. 따라서 추천 시스템에 관한 연구가 활발하게 이루어지고 있다.
추천 시스템을 구축하기 위한 여러 방법 중 널리 사용되는 기법으로 협업 필터링(Collaborative Filtering) 기법이 있다. 협업 필터링 기법은 사용자들의 선호도 정보를 기반으로 새로운 사용자가 관심을 가질 것으로 예측되는 항목을 추천해주는 기법이다. 즉, 다른 사용자의 선호도 정보를 기반으로 아이템을 추천해주기 때문에 사용자와 아이템에 대한 광범위한 데이터를 필요로 하지 않으며, 사용자의 프로파일과 아이템 특성 정보의 정확도의 한계로 인해 발생되는 문제점으로부터 자유롭다는 장점이 있다.
기존의 협업 필터링 추천 시스템에서는 보다 처리하기 쉬운 정량적인 정보인 평점의 활용도가 높았다. 그러나 평점 정보가 사용자의 선호도를 제대로 반영하고 있는지에 대한 의문이 제기되면서 사용자들이 직접 작성 상품 리뷰 데이터를 활용한 추천 시스템에 관심을 기울이고 있다. 실제로 사용자의 텍스트 리뷰가 추천 시스템 구축에 중요한 요소로의 역할을 하고 있다는 것에 대한 연구도 있다. 이러한 영향으로 상품 리뷰 데이터를 분석하여 추천 시스템에 반영한 연구가 활발히 진행되고 있다. 더불어 최근에는 상품 리뷰를 감성 분석하여 이를 추천 시스템과 결합한 연구도 활발히 이루어지고 있다.
그러나 기존의 온라인 쇼핑몰 구조는 같은 소비자의 각기 다른 취향과 구매 기준이 다름에도 불구하고 같은 상품 목록을 보여주고 있다. 또, 기존의 추천 시스템은 소비자의 구체적인 소비 성향 및 구매 이유 등을 파악하지 못해 개개인 맞춤형 추천 시스템을 구현하는데 한계가 있다.
관련 선행기술로는 대한민국 등록특허공보 제10-1621938호(발명의 명칭: 사용자 등록 게시정보를 이용한 온라인 쇼핑정보 추천시스템, 등록일자: 2016.05.11)가 있다.
본 발명의 일 실시예는 사용자가 상품을 구매할 때 가장 중요하게 여기는 상품의 속성을 고를 수 있으며 우선순위를 매길 수 있고, 상품 리뷰 데이터를 감성분석을 하되 사용자가 선택한 우선순위에 따라 가중치를 달리하여 반영함으로써 개인 맞춤형 상품 추천 리스트를 제안할 수 있는 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템 및 방법을 제공한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템은 상품의 검색 시 사용자에 의해 선택된 상품 속성 및 구매 기준을 기반으로, 상기 사용자에 의해 검색된 상품에 관한 상품 정보 및 상품 리뷰 데이터를 크롤링(crawling) 및 선별하여 데이터베이스에 저장하는 데이터 수집부; 상기 상품 리뷰 데이터 각각을 대상으로 노이즈 필터링 및 형태소 분석을 수행하는 데이터 전처리부; 상기 상품 리뷰 데이터 각각에 대하여 감정 분석을 진행하여 긍정적인 평가와 부정적인 평가에 따른 점수를 일차적으로 산출하고, 상기 구매 기준에 미리 부여된 상기 상품 속성의 우선순위별 가중치를 상기 상품 리뷰 데이터 각각에 적용하여 상기 검색된 상품에 대한 감성 점수를 최종적으로 산출하는 감성 점수 산정부; 및 상기 감성 점수를 바탕으로 상기 상품 정보에 따른 상품 리스트로부터 상기 사용자에게 추천할 상품을 추출하고, 상기 추출된 상품을 내림차순으로 정렬하여 상위 랭킹의 상품으로 추천 상품 리스트를 제시하는 상품 추천부를 포함한다.
본 발명의 일 실시예에 따른 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템은 자연어 처리 머신러닝(Machine Learning) API(Application Program Interface)를 기반으로 상기 상품의 속성별로 감성 사전을 구축하는 감성 사전 구축부를 더 포함하고, 상기 감성 점수 산정부는 상기 구축된 감성 사전을 이용하여 상기 상품 리뷰 데이터 각각에 대하여 감정 분석을 진행할 수 있다.
상기 감성 점수 산정부는 ROC(Rank Order Centroid)를 이용하여 상기 상품 속성의 우선순위별 가중치를 계산하고, 상기 계산된 우선순위별 가중치를 상기 구매 기준에 미리 부여할 수 있다.
상기 데이터 전처리부는 상기 형태소 분석을 통해 상기 상품 리뷰 데이터 각각을 파싱하여, 상기 상품 속성을 나타내는 명사, 및 상기 상품 속성에 대한 긍정 또는 부정 의견을 나타내는 형용사 및 동사를 추출할 수 있다.
상기 감성 점수 산정부는 상기 상품 리뷰 데이터 각각에 대한 감정 분석을 통해, 상기 상품에 대한 전체 상품 리뷰 중 긍정적인 평가의 개수 및 부정적인 평가의 개수를 세어 긍정 평가 비율 및 부정 평가 비율을 산출하고, 상기 긍정 평가 비율 및 상기 부정 평가 비율에 기초하여 긍정 점수 및 부정 점수를 산출하며, 상기 긍정 점수 및 상기 부정 점수를 합한 값을 상기 전체 상품 리뷰의 개수로 나눈 평균값을 상기 긍정적인 평가와 부정적인 평가에 따른 점수로서 산출할 수 있다.
상기 데이터 전처리부는 상기 상품 리뷰 데이터를 크롤링 할 때, 추후의 형태소 분석에 유용하도록 마침표를 기준으로 한 문장씩 문장 단위로 분할하여 읽어와 텍스트 파일 형태로 저장할 수 있다.
상기 데이터 수집부는 상기 수집된 데이터를 상기 데이터베이스에 저장할 때, 상기 상품의 URL, 상품명 및 ID를 포함하는 상기 상품 정보는 상기 데이터베이스의 제1 테이블에 저장하고, 상기 상품 리뷰 데이터는 상기 데이터베이스의 제2 테이블에 저장하며, 상기 상품 속성 및 구매 기준은 상기 데이터베이스의 제3 테이블에 저장할 수 있다.
상기 데이터 전처리부는 상기 상품 리뷰 데이터 각각을 대상으로 노이즈 필터링을 수행할 때, 상기 상품 리뷰 데이터에 포함된 특수문자와 의미 없는 불용어, 및 상기 상품 리뷰 데이터의 문장 안에 긍정 혹은 부정을 판단할 수 있는 형용사가 포함되어 있지 않은 문장을 노이즈로 판단하여 상기 형태소 분석의 대상에서 제외시킬 수 있다.
본 발명의 일 실시예에 따른 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 방법은 상품의 검색 시 사용자에 의해 선택된 상품 속성 및 구매 기준을 기반으로, 상기 사용자에 의해 검색된 상품에 관한 상품 정보 및 상품 리뷰 데이터를 크롤링(crawling) 및 선별하여 데이터베이스에 저장하는 단계; 상기 상품 리뷰 데이터 각각을 대상으로 노이즈 필터링 및 형태소 분석을 수행하는 단계; 상기 상품 리뷰 데이터 각각에 대하여 감정 분석을 진행하여 긍정적인 평가와 부정적인 평가에 따른 점수를 일차적으로 산출하는 단계; 상기 구매 기준에 미리 부여된 상기 상품 속성의 우선순위별 가중치를 상기 상품 리뷰 데이터 각각에 적용하여 상기 검색된 상품에 대한 감성 점수를 최종적으로 산출하는 단계; 및 상기 감성 점수를 바탕으로 상기 상품 정보에 따른 상품 리스트로부터 상기 사용자에게 추천할 상품을 추출하고, 상기 추출된 상품을 내림차순으로 정렬하여 상위 랭킹의 상품으로 추천 상품 리스트를 제시하는 단계를 포함한다.
본 발명의 일 실시예에 따른 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 방법은 자연어 처리 머신러닝(Machine Learning) API(Application Program Interface)를 기반으로 상기 상품의 속성별로 감성 사전을 구축하는 단계를 더 포함하고, 상기 상품 리뷰 데이터 각각에 대하여 감정 분석을 진행하여 긍정적인 평가와 부정적인 평가에 따른 점수를 일차적으로 산출하는 단계는 상기 구축된 감성 사전을 이용하여 상기 상품 리뷰 데이터 각각에 대하여 감정 분석을 진행하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 방법은 ROC(Rank Order Centroid)를 이용하여 상기 상품 속성의 우선순위별 가중치를 계산하는 단계; 및 상기 계산된 우선순위별 가중치를 상기 구매 기준에 미리 부여하는 단계를 더 포함할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.
본 발명의 일 실시예에 따르면, 기존의 협업 필터링 기법을 바탕으로 평점보다 자세하고 신뢰할 수 있는 상품 리뷰를 활용할 수 있고, 텍스트 데이터인 상품 리뷰를 수치화하기 위해 상품 속성별 감성사전을 구축하여 감성 분석을 실시함으로써 보다 정확도가 높은 상품 추천 시스템을 구현할 수 있다.
본 발명의 일 실시예에 따르면, 사용자 개인의 구매의도 혹은 선호도 등의 개인의 성향을 추천 알고리즘에 반영함으로써, 사용자가 상품을 검색할 때 그 상품을 구매할 때 가장 중요하게 여기는 상품의 속성을 우선순위로 선택할 수 있게 한다.
도 1은 본 발명의 일 실시예에 따른 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템의 네트워크 구성을 도시한 도면이다.
도 2는 도 1의 상품 추천 시스템의 상세 구성을 설명하기 위해 도시한 블록도이다.
도 3은 도 2의 데이터베이스(DB)의 상세 구성을 설명하기 위해 도시한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 방법을 설명하기 위해 도시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 상품 추천 시스템에서 상품 리뷰의 개수와 상품 리뷰가 작성된 페이지 수, 상품명, URL, 상품 리뷰를 크롤링 한 예시를 나타내는 도면이다.
도 6은 상품 속성별 수집한 상품 리뷰의 개수를 정리한 표를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 상품 추천 시스템에서 구축한 데이터 베이스를 나타내는 도면이다.
도 8은 감성 사전의 평가 척도인 Precision, Recall, F-Score의 계산식을 나타낸 도면이다.
도 9는 감성 사전을 구축하는 데 사용된 리뷰의 개수는 정리한 표를 나타낸 도면이다.
도 10은 감성 점수 계산 과정을 나타낸 도면이다.
도 11은 감성 사전의 상품 속성별 성능을 비교한 도면이다.
도 12는 감성 사전의 전체적인 성능을 종합하여 정리한 도면이다.
도 13은 본 발명의 일 실시예에 따른 상품 추천 시스템에 의해 각 속성의 우선순위를 1순위, 3순위, 2순위로 했을 때의 상위 10개 상품을 나타낸 도면이다.
도 14는 본 발명의 일 실시예에 따른 상품 추천 시스템에 의해 각 속성의 우선순위를 2순위, 1순위, 3순위로 선정했을 때의 상위 10개 상품을 나타낸 도면이다.
도 15는 본 발명의 일 실시예에 따른 상품 추천 시스템에 의해 3순위, 2순위, 1순위로 각 속성의 우선순위를 설정하였을 때의 상위권에 랭크된 10개의 상품들을 나타낸 도면이다.
본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
또한, 이하 실시되는 본 발명의 바람직한 실시예는 본 발명을 이루는 기술적 구성요소를 효율적으로 설명하기 위해 각각의 시스템 기능구성에 기 구비되어 있거나, 또는 본 발명이 속하는 기술분야에서 통상적으로 구비되는 시스템 기능 구성은 가능한 생략하고, 본 발명을 위해 추가적으로 구비되어야 하는 기능 구성을 위주로 설명한다. 만약 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 하기에 도시하지 않고 생략된 기능 구성 중에서 종래에 기 사용되고 있는 구성요소의 기능을 용이하게 이해할 수 있을 것이며, 또한 상기와 같이 생략된 구성 요소와 본 발명을 위해 추가된 구성 요소 사이의 관계도 명백하게 이해할 수 있을 것이다.
또한, 이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다. 특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템의 네트워크 구성을 도시한 도면이고, 도 2는 도 1의 상품 추천 시스템의 상세 구성을 설명하기 위해 도시한 블록도이며, 도 3은 도 2의 데이터베이스(DB)의 상세 구성을 설명하기 위해 도시한 블록도이다.
도 1 내지 도 3을 참조하면, 본 발명의 일 실시예에 따른 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템(100)은 데이터 수집부(210), 데이터 전처리부(220), 감성 사전 구축부(230), 감성 점수 산정부(240), 상품 추천부(250), 데이터베이스(DB)(270), 및 제어부(280)를 포함할 수 있다.
상기 데이터 수집부(210)는 사용자에 의해 검색된 상품에 관한 상품 정보 및 상품 리뷰 데이터를 온라인 쇼핑몰 시스템(102)이나 SNS(Social Network Service) 관련 서버 등으로부터 크롤링(crawling)하여 수집할 수 있다.
이때, 상기 데이터 수집부(210)는 상품의 검색 시 사용자에 의해 선택된 상품 속성 및 구매 기준(구매 우선순위)을 기반으로, 상기 상품 정보 및 상품 리뷰 데이터를 수집할 수 있다.
구체적으로, 사용자는 사용자 단말기(101)를 통해 온라인 쇼핑몰 시스템(102)에 접속하여 구매하고자 하는 상품을 검색할 수 있다. 이때, 상기 사용자는 상기 검색된 상품에 관한 상품 속성(예: 배송, 디자인, 성능 등) 및 구매 기준(상품 속성별 우선순위)을 선택할 수 있다.
이처럼 상기 사용자에 의해 상기 상품에 관한 상품 속성 및 구매 기준이 선택되면, 상기 데이터 수집부(210)는 상기 상품 속성 및 구매 기준을 활용하여 상기 온라인 쇼핑몰 시스템(102)과의 연동을 통해 상기 검색된 상품에 관한 상품 정보와 상품 리뷰 데이터를 상기 온라인 쇼핑몰 시스템(102)으로부터 크롤링하여 수집할 수 있다.
이와 같이 상기 상품의 검색 시 상기 사용자가 상기 상품에 대한 상품 속성 및 구매 기준을 직접 선택할 수도 있지만, 다른 실시예로서 상기 상품의 검색 시 상기 상품에 대한 상품 속성 및 구매 기준의 선택 과정 없이 자동으로 추천된 상품 속성 및 구매 기준이 적용될 수도 있다.
예를 들면, 상기 데이터 수집부(210)는 일정 기간 동안(예: 1년)의 상품 속성 및 구매 기준을 분석하여 각 상품 속성 및 그에 따른 구매 기준별 사용자 선택 횟수를 산출하고, 상기 산출된 사용자 선택 횟수에 근거하여 상기 상품 속성의 우선 순위별 가중치를 부여할 수 있다. 이로써, 본 발명의 일 실시예에 따르면 가중치가 가장 높은 최우선 순위의 상품 속성 및 구매 기준을 상기 사용자에게 추천하여 상기 사용자의 선택에 도움을 주거나 최우선 순위의 상품 속성 및 구매 기준을 사용자가 선택한 상품 속성 및 구매 기준으로서 바로 적용할 수도 있다.
상기 데이터 수집부(210)는 상기 수집된 데이터(상품 정보, 상품 리뷰 데이터)를 상기 데이터베이스(270)에 저장할 수 있다. 이를 위해, 상기 데이터베이스(270)는 도 3에 도시된 바와 같이 제1 테이블(310), 제2 데이터(320) 및 제3 데이터(330)를 포함할 수 있다.
다시 말해, 상기 데이터 수집부(210)는 상기 상품의 URL, 상품명 및 ID를 포함하는 상품 정보는 상기 데이터베이스(270)의 제1 테이블(310)에 저장하고, 상기 상품 리뷰 데이터는 상기 데이터베이스(270)의 제2 테이블(320)에 저장할 수 있다. 그리고, 상기 데이터 수집부(210)는 상기 상품 속성 및 구매 기준은 상기 데이터베이스(270)의 제3 테이블(330)에 저장할 수 있다.
상기 데이터 전처리부(220)는 상기 상품 리뷰 데이터를 크롤링 할 때, 추후의 형태소 분석에 유용하도록 마침표를 기준으로 한 문장씩 문장 단위로 분할하여 읽어와 텍스트 파일 형태로 저장할 수 있다.
상기 데이터 전처리부(220)는 상기 상품 리뷰 데이터 각각을 대상으로 노이즈 필터링(noise filtering)을 수행하여, 상기 상품 리뷰 데이터에 포함된 특수문자와 의미 없는 불용어를 노이즈로 판단하여 상기 형태소 분석의 대상에서 제외시킬 수 있다. 또한, 상기 데이터 전처리부(220)는 상기 상품 리뷰 데이터의 문장 안에 긍정 혹은 부정을 판단할 수 있는 형용사가 포함되어 있지 않은 문장을 노이즈로 판단하여 상기 형태소 분석의 대상에서 제외시킬 수 있다.
이를 위해, 상기 데이터 전처리부(220)는 상기 상품 리뷰 데이터에 포함된 특수문자와 의미 없는 불용어를 제거하여 노이즈 필터링을 수행할 수 있다. 또한, 상기 데이터 전처리부(220)는 상기 상품 리뷰 데이터의 문장 안에 긍정 혹은 부정을 판단할 수 있는 형용사가 포함되어 있지 않은 문장을 제거하여 노이즈 필터링을 수행할 수 있다.
상기 데이터 전처리부(220)는 상기 상품 리뷰 데이터 각각을 대상으로 형태소 분석을 수행하고, 상기 형태소 분석을 통해 상기 상품 리뷰 데이터 각각을 파싱(parsing)하여, 상기 상품 리뷰 데이터 각각으로부터 상기 상품 속성을 나타내는 명사 및 상기 상품 속성에 대한 긍정 또는 부정 의견을 나타내는 형용사 및 동사를 추출할 수 있다.
상기 감성 사전 구축부(230)는 자연어 처리 머신러닝(Machine Learning) API(Application Program Interface)를 기반으로 상기 상품의 상품 속성별로 감성 사전을 구축할 수 있다. 여기서, 상기 자연어 처리 머신러닝 API는 구글(Google)에서 제공되는 머신러닝 관련 API를 가리킨다.
즉, 상기 감성 사전 구축부(230)는 상기 데이터 전처리부(220)의 형태소 분석에 의해 추출된 명사, 형용사 및 동사에 해당하는 키워드에 대하여 자연어 처리 머신러닝을 수행하고, 그 수행 결과를 기반으로 하여 상기 상품의 상품 속성별로 감성 사전을 구축할 수 있다.
여기서, 상기 감성 사전은 배송, 디자인, 성능 등의 상품 속성별로 긍정적인 평가에 따른 점수와 부정적인 평가에 따른 점수, 및 토탈 점수(상품 속성별 긍정 점수와 부정 점수의 합)가 매칭되어 기록됨으로써 구축될 수 있다.
상기 감성 점수 산정부(240)는 상기 상품 리뷰 데이터 각각에 대하여 감정 분석을 진행하여 긍정적인 평가에 따른 점수(긍정 점수)와 부정적인 평가에 따른 점수(부정 점수)를 일차적으로 산출할 수 있다. 이때, 상기 감성 점수 산정부(240)는 상기 감성 사전 구축부(230)에 의해 구축된 감성 사전을 이용하여 상기 상품 리뷰 데이터 각각에 대하여 감정 분석을 진행할 수 있다.
다시 말해, 상기 감성 점수 산정부(240)는 상기 구축된 감성 사전으로부터 상기 상품 리뷰 데이터 각각에 대한 상품 속성별 긍정 점수와 부정 점수를 매칭 검색하여 추출함으로써 일차적으로 토탈 점수(긍정 점수 + 부정 점수)를 산출할 수 있다.
한편, 상기 감성 점수 산정부(240)는 상기 상품 리뷰 데이터 각각에 대한 감정 분석을 통하여, 상기 상품에 대한 전체 상품 리뷰 중 긍정적인 평가의 개수 및 부정적인 평가의 개수를 세어 긍정 평가 비율 및 부정 평가 비율을 산출할 수 있다.
상기 감성 점수 산정부(240)는 상기 긍정 평가 비율 및 상기 부정 평가 비율에 기초하여 긍정 점수 및 부정 점수를 산출하며, 상기 긍정 점수 및 상기 부정 점수를 합한 값을 상기 전체 상품 리뷰의 개수로 나눈 평균값을 상기 긍정적인 평가와 부정적인 평가에 따른 점수(토탈 점수)로서 산출할 수도 있다.
상기 감성 점수 산정부(240)는 상기 구매 기준에 미리 부여된 상기 상품 속성의 우선순위별 가중치를 상기 상품 리뷰 데이터 각각에 적용하여 상기 검색된 상품에 대한 감성 점수를 최종적으로 산출할 수 있다.
이를 위해, 상기 감성 점수 산정부(240)는 ROC(Rank Order Centroid)를 이용하여 상기 상품 속성의 우선순위별 가중치를 계산하고, 상기 계산된 우선순위별 가중치를 상기 구매 기준에 미리 부여할 수 있다.
이처럼 본 발명의 일 실시예에서는 상기 상품에 대한 감성 점수를 상기 상품의 우선순위별 가중치를 적용하여 최종적으로 산출함으로써 상품 리뷰가 많은 상품이 무조건 상위권에 랭크되는 것을 방지할 수 있으며, 이를 통해 상품 리뷰의 개수가 많은 상품이 구매 평가와 상관없이 상위권에 랭크되는 기존의 문제점을 해결할 수 있다.
상기 상품 추천부(250)는 상기 감성 점수 산정부(240)에 의해 산출된 감성 점수를 바탕으로 상기 상품 정보에 따른 상품 리스트로부터 상기 사용자에게 추천할 상품을 추출하고, 상기 추출된 추천 상품을 상기 사용자에게 맞춤형 추천 정보로서 제공할 수 있다.
이때, 상기 상품 추천부(250)는 상기 추출된 추천 상품을 상기 감성 점수에 따라 내림차순으로 정렬하여 상기 감성 점수가 높은 상위 랭킹의 상품, 예를 들면 상위 랭킹 10개의 상품으로 추천 상품 리스트를 상기 사용자 단말기(101)에 제시함으로써 상기 사용자에게 맞춤형 상품 추천 정보를 제공할 수 있다.
상기 제어부(260)는 본 발명의 일 실시예에 따른 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템(100), 즉 상기 데이터 수집부(210), 상기 데이터 전처리부(220), 상기 감성 사전 구축부(230), 상기 감성 점수 산정부(240), 상기 상품 추천부(250), 상기 데이터베이스(270) 등의 동작을 전반적으로 제어할 수 있다.
이상에서 설명된 장치는 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성 요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
도 4는 본 발명의 일 실시예에 따른 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 방법을 설명하기 위해 도시한 흐름도이다.
여기서 설명하는 상품 추천 방법은 본 발명의 하나의 실시예에 불과하며, 그 이외에 필요에 따라 다양한 단계들이 부가될 수 있고, 하기의 단계들도 순서를 변경하여 실시될 수 있으므로, 본 발명이 하기에 설명하는 각 단계 및 그 순서에 한정되는 것은 아니다.
먼저 도 1, 도 2 및 도 4를 참조하면, 단계(410)에서 사용자는 사용자 단말기(101)를 통해 온라인 쇼핑몰 시스템(102)에 접속하여 구매하고자 하는 상품을 검색 시, 상품 속성 및 구매 기준을 선택할 수 있다.
다음으로, 단계(420)에서 상기 상품 추천 시스템(100)의 데이터 수집부(210)는 상기 선택된 상품 속성 및 구매 기준을 기반으로, 상기 사용자에 의해 검색된 상품에 관한 상품 정보 및 상품 리뷰 데이터를 크롤링(crawling) 및 선별하여 데이터베이스(270)에 저장할 수 있다.
다음으로, 단계(430)에서 상기 상품 추천 시스템(100)의 데이터 전처리부(220)는 상기 상품 리뷰 데이터 각각을 대상으로 노이즈 필터링 및 형태소 분석을 수행할 수 있다.
다음으로, 단계(440)에서 상기 상품 추천 시스템(100)의 감성 점수 산정부(240)는 상기 상품 리뷰 데이터 각각에 대하여 감정 분석을 진행하여 긍정적인 평가와 부정적인 평가에 따른 점수를 일차적으로 산출할 수 있다.
다음으로, 단계(450)에서 상기 상품 추천 시스템(100)의 감성 점수 산정부(240)는 상기 상품 속성의 우선순위별 가중치를 상기 상품 리뷰 데이터 각각에 적용하여 상기 검색된 상품에 대한 감성 점수를 최종적으로 산출할 수 있다.
다음으로, 단계(460)에서 상기 상품 추천 시스템(100)의 상품 추천부(250)는 상기 감성 점수를 바탕으로 상기 상품 정보에 따른 상품 리스트로부터 상기 사용자에게 추천할 상품을 추출하고, 상기 추출된 상품을 내림차순으로 정렬하여 상위 랭킹의 상품으로 추천 상품 리스트를 제시할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CDROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이하에서는 본 발명의 일 실시예에 따른 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템을 구현하는 일례를 상세히 설명하기로 한다.
시스템 구현
본 발명의 일 실시예에 따른 상품 추천 시스템에서 사용한 컴퓨터는 Windows 운영체제 기반의 CPU(Intel i5-4690), RAM-8G를 탑재하였다. 사용한 프로그래밍 언어는 Python이며, 데이터베이스는 MySQL을 사용하여 구축했다.
1. 데이터 수집(Crawling)
본 발명의 일 실시예에 따른 상품 추천 시스템(100)은 데이터 수집부(210)에서 Python을 이용하여 국내 인터넷 쇼핑몰에서 데이터를 수집한다. 수집 대상은 계절가전의 카테고리 중 "공기청정기"로 선정하고, BeautifulSoup 패키지와 Selenium 툴을 사용하여 크롤링(데이터 수집)을 진행한다.
상품 목록 페이지에서 처음 상품부터 하나씩 구매 페이지에 접속해 리뷰를 크롤링한다. 이때, 상품 상세 페이지에 등록되어 있는 리뷰의 개수가 20개 이상이면 그 상품의 정보와 리뷰 데이터를 데이터베이스에 저장하고, 20개 미만이면 다음 상품으로 넘어가는 반복을 진행한다. 그 결과, 수집한 전체 상품 리뷰의 개수는 총 12,632개였다.
도 5는 본 발명의 일 실시예에 따른 상품 추천 시스템에서 상품 리뷰의 개수와 상품 리뷰가 작성된 페이지 수, 상품명, URL, 상품 리뷰를 크롤링 한 예시를 나타내는 도면이다.
도 6은 상품 속성별 수집한 상품 리뷰의 개수를 정리한 표를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 상품 추천 시스템에서 구축한 데이터 베이스를 나타내는 도면이다.
2. 전처리(Pre-processing)
상기 데이터 전처리부(220)는 상기 데이터 수집부(210)에서 수집된 데이터가 감성 분석에 활용될 수 있도록 필터링한다. 전처리 과정을 거친 상품 리뷰 데이터는 crawl_review 테이블에, 상품과 관련된 정보, 즉 상품이름, 구매 페이지 URL, 그 상품에 등록된 리뷰의 개수는 crawl_product 테이블에 각각 저장된다.
상기 데이터베이스(270)에 저장된 상품 리뷰 데이터는 보편적으로 각 리뷰마다 적게는 1개에서 많게는 10개의 문장으로 이루어져 있다. 감성 점수를 구하기 위해서 전체 리뷰에서 상품의 속성이 포함된 문장만을 필터링한다. 그 다음 특수문자와 불용어를 제거한다. 추후에 감성 사전을 구축하기 위해서 상품별로 하나의 csv 파일로 나누어서 저장한다. 필터링을 마친 리뷰 문장에서 상품의 속성에 해당하는 명사와 그 속성에 대한 긍정/부정 평가를 나타내는 형용사 또는 동사를 추출한다.
3. 상품 속성별 감성 사전 구축
상기 감성 사전 구축부(230)는 정성적인 데이터인 상품 리뷰 데이터를 활용하여 리뷰 속에 내포되어 있는 사용자의 감정을 수치화하기 위해 감성 분석을 진행할 수 있다. 상기 감성 사전 구축부(230)는 상품의 속성별로 감성 사전을 구축하여 감성 분석을 진행할 수 있다.
상기 감성 사전의 구축에는 구글(Google)에서 제공하는 자연어 처리 머신러닝(Machine Learning) API를 사용한다. 실험에 사용될 상품 속성은 "배송(shipping)", "디자인(design)", "성능(performance)"으로 각각 3개의 감성 사전을 구축하고, 평가한다.
평가 방법은 평가 집합에 태깅(tagging)된 상품의 속성에 대한 긍정 또는 부정 의견을 나타내는 동사와 형용사가 구축한 감성 사전의 의미 방향과 일치하는지를 판단한다. 평가 척도는 Precision, Recall, F-Score이며 도 8에 도시된 각각의 수학식을 사용한다.
상품마다 가지고 있는 속성이 다르고, 그 속성이 상품에 따라 긍정적일 때가 있고, 부정적일 때가 있으므로 상품별 감성 사전이 필요하다. 감성 사전을 구축에 사용한 리뷰 텍스트 데이터의 개수는 "배송", "디자인", "성능" 세 가지 속성 모두 120개를 사용한다.
도 9는 감성 사전을 구축하는 데 사용된 리뷰의 개수는 정리한 표를 나타낸 도면이다.
4. 감성 점수 계산
상기 감성 점수 산정부(240)는 사용자가 선택한 상품 속성에 대한 리뷰 데이터를 긍정(1점)과 부정(0점)적인 평가에 따라 점수를 매기고, 우선순위에 따른 가중치를 달리하여 적용하여 최종 감성점수를 도출할 수 있다.
감성 점수를 계산할 때 우선순위에 따른 가중치를 계산하는 방법은 ROC(Rank Oder Centroid)를 사용한다. ROC는 순위 중심 방법으로 평가 기준들의 중요도 순으로 우선순위를 결정하고, 그 우선순위를 기반으로 i번째로 중요한 평가 기준의 가중치 wi를 구하는 방법이다. 가중치 wi는 아래의 [수학식 1]로 도출한다. [수학식 1]에서, i는 i번째 우선순위이며, n은 평가 기준의 수를 나타낸다.
[수학식 1]
Figure pat00001
도 10은 감성 점수 계산 과정을 나타낸 도면이다. 공기청정기라는 상품의 속성 중 "배송"과 "디자인" 속성에 대한 우선순위를 배송을 1순위, 디자인을 2순위로 선정한 경우, "배송도 빠르고, 디자인도 마음에 들어요."라는 리뷰의 감성 점수를 계산하는 과정이다. 먼저, 리뷰 문장에서 상품의 속성인 단어를 찾아내고, 그 속성에 대한 평가가 드러나 있는 서술어를 추출한다. 추출한 서술어의 긍정과 부정을 판단하고, 우선순위별 가중치를 부여하여 최종 감성 점수를 산출한다.
5. 상품 추천
상기 상품 추천부(250)는 최종 감성 점수를 바탕으로 내림차순 정렬을 하여 상위 10개의 상품으로 최종 추천 상품 리스트를 제시할 수 있다. 따라서 상품 속성별 감성 사전을 구축하여 상품 리뷰 데이터를 분석하고, 사용자가 선택한 구매 기준에 부여된 상품 속성별 우선순위를 감성 분석에 적용함으로써 사용자의 구매 취향과 선호도 등이 반영된 맞춤 추천 서비스를 제공할 수 있다.
상기에서 설명한 바와 같이 상품 리뷰 데이터를 수집한 결과 상품 리뷰의 개수가 가장 많은 상품 속성은 "배송"이고, 가장 적은 속성은 "디자인"이다. 그 이유는 공기청정기라는 상품이 전자제품이라는 카테고리에 속하며, 전자제품을 구매할 때에는 디자인 측면보다는 배송이나 성능이라는 속성이 상대적으로 더 많이 고려되기 때문이다. 디자인 속성의 감성 분류 성능이 100%가 나온 이유는 "배송"이나 "성능"보다 상대적으로 주관적인 생각이 더 많이 반영되는 속성에 디자인에 대한 좋고 싫음이 분명하기 때문에 감성 분류가 잘 이루어졌다고 볼 수 있다.
또한, 세 가지 속성 모두 120개의 동일한 리뷰 개수를 사용하여 구축하였지만, 정확도와 재현율이 모두 다 다르게 나타났다. 이것은 긍정 점수와 부정 점수를 분류할 때 사용한 리뷰의 개수가 다르기 때문이다. "배송" 속성의 경우 부정 점수의 정밀도와 재현율이 긍정 점수의 정확도와 재현율보다 각각 5%와 28.9% 높은 것을 알 수 있다.
도 11은 감성 사전의 상품 속성별 성능을 비교한 도면이고, 도 12는 감성 사전의 전체적인 성능을 종합하여 정리한 도면이다.
우선순위별 가중치에 따른 결과 값을 비교하기 위해 "배송", "디자인", "성능"의 세 가지 속성에 우선순위를 달리하였다.
도 13은 본 발명의 일 실시예에 따른 상품 추천 시스템에 의해 각 속성의 우선순위를 1순위, 3순위, 2순위로 했을 때의 상위 10개 상품을 나타낸 도면이다. 도 14는 본 발명의 일 실시예에 따른 상품 추천 시스템에 의해 각 속성의 우선순위를 2순위, 1순위, 3순위로 선정했을 때의 상위 10개 상품을 나타낸 도면이다. 도 15는 본 발명의 일 실시예에 따른 상품 추천 시스템에 의해 3순위, 2순위, 1순위로 각 속성의 우선순위를 설정하였을 때의 상위권에 랭크된 10개의 상품들을 나타낸 도면이다.
도 13 내지 도 15를 참조하면, 상품 속성별 우선순위 가중치에 따라 상품의 순위가 달라지는 것을 알 수 있다. 또한, 상품 속성별 우선순위 가중치와 상관없이 상위권에 랭크되는 상품들의 공통점은 전체 상품 리뷰 개수 대비 "배송", "디자인", "성능"의 상품 속성이 포함된 리뷰의 개수의 비중이 높다는 것을 알 수 있다.
상기에서 설명한 본 발명의 일 실시예에 따른 상품 추천 시스템이 기존의 상품 추천 시스템과 다른 점은 다음과 같다. 즉, 사용자 개인의 구매 의도 혹은 선호도 등의 개인의 성향을 추천 알고리즘에 반영한다는 것이다. 즉, 사용자가 상품을 검색할 때, 그 상품을 구매할 때 가장 중요하게 여기는 상품의 속성을 우선순위로 선택할 수 있다는 점이다.
여기서 사용자가 선택한 우선순위는 추후 감성 점수를 산출할 때 가중치를 달리하여 적용된다. 따라서 사용자가 최우선으로 고려하고 싶은 상품 속성별로 점수가 도출되어 상품 추천 리스트로 활용될 수 있다. 기존 인터넷 쇼핑 사이트는 같은 상품을 구매하더라도 사용자마다 모두 다른 구매 기준과 우선순위를 가지고 있지만 일관된 상품 리스트를 제공한다. 따라서 본 발명의 일 실시예에 따른 상품 추천 시스템을 통해 사용자의 구매 의사 결정에 도움을 줄 수 있다.
상기에서 설명한 본 발명의 일 실시예에 따른 상품 추천 시스템이 기존의 상품 추천 시스템과 또 다른 점은 다음과 같다. 즉, 상품 속성별로 감성 사전을 구축한다는 점이다. 기존에 감성 사전에 대한 여러 연구가 진행되었지만 상품의 속성별로 구축된 감성 사전은 찾기 어렵다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
100: 상품 추천 시스템
101: 사용자 단말기
102: 온라인 쇼핑몰 시스템
210: 데이터 수집부
220: 데이터 전처리부
230: 감성 사전 구축부
240: 감성 점수 산정부
250: 상품 추천부
260: 제어부
270: 데이터베이스(DB)
310: 제1 테이블
320: 제2 테이블
330: 제3 테이블

Claims (11)

  1. 상품의 검색 시 사용자에 의해 선택된 상품 속성 및 구매 기준을 기반으로, 상기 사용자에 의해 검색된 상품에 관한 상품 정보 및 상품 리뷰 데이터를 크롤링(crawling) 및 선별하여 데이터베이스에 저장하는 데이터 수집부;
    상기 상품 리뷰 데이터 각각을 대상으로 노이즈 필터링 및 형태소 분석을 수행하는 데이터 전처리부;
    상기 상품 리뷰 데이터 각각에 대하여 감정 분석을 진행하여 긍정적인 평가와 부정적인 평가에 따른 점수를 일차적으로 산출하고, 상기 구매 기준에 미리 부여된 상기 상품 속성의 우선순위별 가중치를 상기 상품 리뷰 데이터 각각에 적용하여 상기 검색된 상품에 대한 감성 점수를 최종적으로 산출하는 감성 점수 산정부; 및
    상기 감성 점수를 바탕으로 상기 상품 정보에 따른 상품 리스트로부터 상기 사용자에게 추천할 상품을 추출하고, 상기 추출된 상품을 내림차순으로 정렬하여 상위 랭킹의 상품으로 추천 상품 리스트를 제시하는 상품 추천부
    를 포함하는 것을 특징으로 하는 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템.
  2. 제1항에 있어서,
    자연어 처리 머신러닝(Machine Learning) API(Application Program Interface)를 기반으로 상기 상품의 속성별로 감성 사전을 구축하는 감성 사전 구축부
    를 더 포함하고,
    상기 감성 점수 산정부는
    상기 구축된 감성 사전을 이용하여 상기 상품 리뷰 데이터 각각에 대하여 감정 분석을 진행하는 것을 특징으로 하는 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템.
  3. 제1항에 있어서,
    상기 감성 점수 산정부는
    ROC(Rank Order Centroid)를 이용하여 상기 상품 속성의 우선순위별 가중치를 계산하고, 상기 계산된 우선순위별 가중치를 상기 구매 기준에 미리 부여하는 것을 특징으로 하는 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템.
  4. 제1항에 있어서,
    상기 데이터 전처리부는
    상기 형태소 분석을 통해 상기 상품 리뷰 데이터 각각을 파싱하여, 상기 상품 속성을 나타내는 명사, 및 상기 상품 속성에 대한 긍정 또는 부정 의견을 나타내는 형용사 및 동사를 추출하는 것을 특징으로 하는 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템.
  5. 제1항에 있어서,
    상기 감성 점수 산정부는
    상기 상품 리뷰 데이터 각각에 대한 감정 분석을 통해, 상기 상품에 대한 전체 상품 리뷰 중 긍정적인 평가의 개수 및 부정적인 평가의 개수를 세어 긍정 평가 비율 및 부정 평가 비율을 산출하고, 상기 긍정 평가 비율 및 상기 부정 평가 비율에 기초하여 긍정 점수 및 부정 점수를 산출하며, 상기 긍정 점수 및 상기 부정 점수를 합한 값을 상기 전체 상품 리뷰의 개수로 나눈 평균값을 상기 긍정적인 평가와 부정적인 평가에 따른 점수로서 산출하는 것을 특징으로 하는 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템.
  6. 제1항에 있어서,
    상기 데이터 전처리부는
    상기 상품 리뷰 데이터를 크롤링 할 때, 추후의 형태소 분석에 유용하도록 마침표를 기준으로 한 문장씩 문장 단위로 분할하여 읽어와 텍스트 파일 형태로 저장하는 것을 특징으로 하는 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템.
  7. 제1항에 있어서,
    상기 데이터 수집부는
    상기 수집된 데이터를 상기 데이터베이스에 저장할 때, 상기 상품의 URL, 상품명 및 ID를 포함하는 상기 상품 정보는 상기 데이터베이스의 제1 테이블에 저장하고, 상기 상품 리뷰 데이터는 상기 데이터베이스의 제2 테이블에 저장하며, 상기 상품 속성 및 구매 기준은 상기 데이터베이스의 제3 테이블에 저장하는 것을 특징으로 하는 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템.
  8. 제1항에 있어서,
    상기 데이터 전처리부는
    상기 상품 리뷰 데이터 각각을 대상으로 노이즈 필터링을 수행할 때, 상기 상품 리뷰 데이터에 포함된 특수문자와 의미 없는 불용어, 및 상기 상품 리뷰 데이터의 문장 안에 긍정 혹은 부정을 판단할 수 있는 형용사가 포함되어 있지 않은 문장을 노이즈로 판단하여 상기 형태소 분석의 대상에서 제외시키는 것을 특징으로 하는 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템.
  9. 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템을 이용한 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 방법에 있어서,
    상품의 검색 시 사용자에 의해 선택된 상품 속성 및 구매 기준을 기반으로, 상기 사용자에 의해 검색된 상품에 관한 상품 정보 및 상품 리뷰 데이터를 크롤링(crawling) 및 선별하여 데이터베이스에 저장하는 단계;
    상기 상품 리뷰 데이터 각각을 대상으로 노이즈 필터링 및 형태소 분석을 수행하는 단계;
    상기 상품 리뷰 데이터 각각에 대하여 감정 분석을 진행하여 긍정적인 평가와 부정적인 평가에 따른 점수를 일차적으로 산출하는 단계;
    상기 구매 기준에 미리 부여된 상기 상품 속성의 우선순위별 가중치를 상기 상품 리뷰 데이터 각각에 적용하여 상기 검색된 상품에 대한 감성 점수를 최종적으로 산출하는 단계; 및
    상기 감성 점수를 바탕으로 상기 상품 정보에 따른 상품 리스트로부터 상기 사용자에게 추천할 상품을 추출하고, 상기 추출된 상품을 내림차순으로 정렬하여 상위 랭킹의 상품으로 추천 상품 리스트를 제시하는 단계
    를 포함하는 것을 특징으로 하는 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 방법.
  10. 제9항에 있어서,
    자연어 처리 머신러닝(Machine Learning) API(Application Program Interface)를 기반으로 상기 상품의 속성별로 감성 사전을 구축하는 단계
    를 더 포함하고,
    상기 상품 리뷰 데이터 각각에 대하여 감정 분석을 진행하여 긍정적인 평가와 부정적인 평가에 따른 점수를 일차적으로 산출하는 단계는
    상기 구축된 감성 사전을 이용하여 상기 상품 리뷰 데이터 각각에 대하여 감정 분석을 진행하는 단계
    를 포함하는 것을 특징으로 하는 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 방법.
  11. 제9항에 있어서,
    ROC(Rank Order Centroid)를 이용하여 상기 상품 속성의 우선순위별 가중치를 계산하는 단계; 및
    상기 계산된 우선순위별 가중치를 상기 구매 기준에 미리 부여하는 단계
    를 더 포함하는 것을 특징으로 하는 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 방법.
KR1020200027021A 2019-10-21 2020-03-04 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템 및 방법 KR20210047229A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190130612 2019-10-21
KR1020190130612 2019-10-21

Publications (1)

Publication Number Publication Date
KR20210047229A true KR20210047229A (ko) 2021-04-29

Family

ID=75728298

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200027021A KR20210047229A (ko) 2019-10-21 2020-03-04 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20210047229A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102406028B1 (ko) * 2021-07-01 2022-06-08 주식회사 펍스케일파트너스 기업에 대한 신용 평가 방법
KR102448633B1 (ko) * 2022-05-02 2022-09-28 김태평 사용자의 검색어를 기반으로 한 상품 추천 방법
KR20230050672A (ko) * 2021-10-08 2023-04-17 주식회사 리니토 언어자원 기반 텍스트 데이터분석을 통한 데이터베이스 증강 방법 및 장치
KR102538774B1 (ko) * 2022-10-25 2023-06-01 황지인 인공지능 기반 리뷰 분석을 활용하는 방법 및 장치
CN116308684A (zh) * 2023-05-18 2023-06-23 和元达信息科技有限公司 一种网购平台店铺信息推送方法及系统
KR20240009192A (ko) * 2022-07-13 2024-01-22 한국과학기술원 딥러닝 기반 온라인 상품평에 대한 속성 기반 감성 분석 및 제품 개발에 적용을 위한 컴퓨터 장치 및 그의 방법
KR102644361B1 (ko) * 2023-01-16 2024-04-08 주식회사 페르미온 메타버스에서 서비스 제공 방법 및 시스템

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102406028B1 (ko) * 2021-07-01 2022-06-08 주식회사 펍스케일파트너스 기업에 대한 신용 평가 방법
KR20230050672A (ko) * 2021-10-08 2023-04-17 주식회사 리니토 언어자원 기반 텍스트 데이터분석을 통한 데이터베이스 증강 방법 및 장치
KR102448633B1 (ko) * 2022-05-02 2022-09-28 김태평 사용자의 검색어를 기반으로 한 상품 추천 방법
KR20240009192A (ko) * 2022-07-13 2024-01-22 한국과학기술원 딥러닝 기반 온라인 상품평에 대한 속성 기반 감성 분석 및 제품 개발에 적용을 위한 컴퓨터 장치 및 그의 방법
KR102538774B1 (ko) * 2022-10-25 2023-06-01 황지인 인공지능 기반 리뷰 분석을 활용하는 방법 및 장치
KR102644361B1 (ko) * 2023-01-16 2024-04-08 주식회사 페르미온 메타버스에서 서비스 제공 방법 및 시스템
CN116308684A (zh) * 2023-05-18 2023-06-23 和元达信息科技有限公司 一种网购平台店铺信息推送方法及系统
CN116308684B (zh) * 2023-05-18 2023-08-11 和元达信息科技有限公司 一种网购平台店铺信息推送方法及系统

Similar Documents

Publication Publication Date Title
KR20210047229A (ko) 구매 우선순위와 상품 리뷰 감성분석을 반영한 상품 추천 시스템 및 방법
US10748164B2 (en) Analyzing sentiment in product reviews
KR102174717B1 (ko) 사용자 구매 기준 및 상품 리뷰 기반 상품 추천 시스템 및 방법
Riaz et al. Opinion mining on large scale data using sentiment analysis and k-means clustering
US9117006B2 (en) Recommending keywords
KR102252188B1 (ko) 사용자 구매 기준을 반영한 상품 추천 시스템 및 방법
CN103914478B (zh) 网页训练方法及系统、网页预测方法及系统
CN110532451A (zh) 针对政策文本的检索方法和装置、存储介质、电子装置
CN105069103B (zh) App搜索引擎利用用户评论的方法及系统
CN112667899A (zh) 基于用户兴趣迁移的冷启动推荐方法、装置及存储设备
US20230177360A1 (en) Surfacing unique facts for entities
Di Fabbrizio et al. Summarizing online reviews using aspect rating distributions and language modeling
Syamala et al. A Filter Based Improved Decision Tree Sentiment Classification Model for Real-Time Amazon Product Review Data.
CN111444304A (zh) 搜索排序的方法和装置
Hossain et al. Machine learning based class level prediction of restaurant reviews
Marzijarani et al. Opinion mining with reviews summarization based on clustering
Guo et al. An opinion feature extraction approach based on a multidimensional sentence analysis model
CN117593089A (zh) 信用卡推荐方法、装置、设备、存储介质及程序产品
Kim et al. Product recommendation system based user purchase criteria and product reviews
Zhang et al. Predicting temporary deal success with social media timing signals
KR101958555B1 (ko) 검색 결과 제공 장치 및 방법
Charnine et al. Association-Based Identification of Internet Users Interest
Midhunchakkaravarthy et al. Evaluation of product usability using improved FP-growth frequent itemset algorithm and DSLC–FOA algorithm for alleviating feature fatigue
Arora et al. Evaluation Of Product Reviews Using Deep Learning Classifier Models
JP6506839B2 (ja) 不満情報処理装置及びシステム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application