KR102307598B1 - 딥러닝을 활용한 상품 가격 비교 방법 및 시스템 - Google Patents

딥러닝을 활용한 상품 가격 비교 방법 및 시스템 Download PDF

Info

Publication number
KR102307598B1
KR102307598B1 KR1020200050613A KR20200050613A KR102307598B1 KR 102307598 B1 KR102307598 B1 KR 102307598B1 KR 1020200050613 A KR1020200050613 A KR 1020200050613A KR 20200050613 A KR20200050613 A KR 20200050613A KR 102307598 B1 KR102307598 B1 KR 102307598B1
Authority
KR
South Korea
Prior art keywords
product
information
user
service providing
providing server
Prior art date
Application number
KR1020200050613A
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 주식회사 엔스마트
Priority to KR1020200050613A priority Critical patent/KR102307598B1/ko
Application granted granted Critical
Publication of KR102307598B1 publication Critical patent/KR102307598B1/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/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy
    • G06Q30/0629Directed, with specific intent or strategy for generating comparisons
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/0641Shopping interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

딥러닝을 활용한 상품 가격 비교 방법 및 시스템이 제공된다. 일반적인 가격비교 사이트에서 옵션 항목 별 상품 정보를 확인하기 위해서는 쇼핑몰을 선택하여 링크를 통해 쇼핑몰에 방문하여야 하여, 이와 같은 비효율을 해소하기 위하여 서비스 제공 화면에 상품별 가격 정보 비교 뿐만 아니라 옵션 항목 별 상품 정보를 동시에 제공함으로써 사용자가 한 화면에서 옵션 별 상품의 재고 현황, 가격 변동 정보를 한꺼번에 확인할 수 있도록 하여 보다 효율적이고 간편한 상품 가격 비교가 가능하도록 한다.

Description

딥러닝을 활용한 상품 가격 비교 방법 및 시스템 { Product price comparison methods and systems using deep learning}
본 발명은 딥러닝을 활용한 상품 가격 비교 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 온라인 쇼핑몰의 상품명의 패턴을 분석하여 CNN(Convolutional Neural Network) 및 RNN(Recurrent Neural Network)을 활용하여 상품 가격 정보를 매칭하고, 옵션 별 가격정보를 사용자에게 제공하여 효과적인 가격 비교가 가능하도록 하기 위한 방법 및 시스템에 관한 것이다.
일반적으로 온라인 쇼핑을 할 경우, 가격비교사이트, 포털사이트, 온라인 쇼핑몰 등에서 상품 정보를 검색하여 가격 비교 후 구매 결정이 이루어진다.
다만 가격비교 사이트 또는 포털사이트에서 제공하는 가격 정보의 경우 일반적인 상품 가격 정보 비교는 이루어지지만, 막상 제시된 가격 정보를 통해 선택한 쇼핑몰에 링크를 통해 들어가보면 옵션 별로 판매 가능한 재고 수량이 부족하거나, 제휴 프로모션 등에 따라 판매 조건이 변경되는 등 차이가 발생하는 경우가 있다.
따라서 가격 비교 검색 결과 목록에서 상품 옵션을 노출하는 등의 방법으로 사용자가 조회 화면과 쇼핑몰 상세 화면을 힘들게 왕복 방문하는 비효율을 해소할 필요성이 있다.
전술한 문제점을 해결하기 위하여 본 발명이 이루고자 하는 기술적 과제는, 온라인 사이트를 통하여 관심상품의 가격 정보를 수집하고, 이를 CNN 및 RNN을 활용하여 상품 정보를 매칭하며, 매칭된 상품 리스트의 옵션 별 가격 변동 정보를 화면에 제공함으로써 사용자로 하여금 한 화면에서 옵션 별 상품의 재고 현황, 가격 변동 정보를 한꺼번에 확인하도록 하여 보다 효율적이고 간편한 상품 가격 비교가 가능하도록 하는 데 있다.
본 발명의 해결과제는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 기술적 과제를 해결하기 위한 수단으로서, 본 발명의 실시예에 따르면, 딥러닝을 활용한 상품 가격 비교 방법은, 사용자가 사용자 단말을 통해 관심상품에 대한 검색 명령하는 단계; 수집서버는 상기 검색 명령에 따라 온라인 쇼핑몰에서 관심상품과 관련한 상품 정보 수집 단계; 매처가 딥러닝을 활용하여 상기 수집한 결과를 입력된 상품 정보와 매칭하는 단계; 서비스 제공 서버가 매칭된 상품의 옵션을 검색하는 단계; 및 서비스 제공 서버가 검색 결과에 따라 서비스를 제공하는 단계;를 포함한다.
상기 검색 명령하는 단계는, 사용자의 ID를 인증하는 단계; 사용자의 ID가 인증되면 쇼핑몰을 선택하고 이동한 사이트에서 상품 검색 후 원하는 상품을 관심상품으로 등록하는 단계; 및 상품 검색결과 알림을 설정하는 단계;를 포함한다.
상기 ID를 인증하는 단계는, 사용자의 인증키가 개인인증 DB에 존재하는지 여부를 확인하여 상기 개인인증 DB에 상기 사용자의 인증키가 존재하는 경우에는 인증 결과를 사용자 단말 및 API 서버에 전송한다.
상기 ID를 인증하는 단계는, 사용자의 인증키가 개인인증 DB에 존재하는지 여부를 확인하여 상기 개인인증 DB에 상기 사용자의 인증키가 존재하지 않는 경우에는 API 서버에 인증키 발급을 요청하여 발급된 인증키를 상기 개인인증 DB에 저장한다.
상기 관심상품으로 등록하는 단계는, 사용자가 메타사이트 중에서 선호하는 사이트를 선택할 수 있도록 사용자 단말에 사이트 정보를 제공하는 단계; 및 사용자가 사용자 단말을 통해 선호하는 사이트를 선택하면 해당 사이트로 이동하여 검색을 요청할 상품을 검색한 후 원하는 상품을 관심상품으로 선택하면 관심상품 DB에 상기 관심상품의 정보를 저장한다.
상기 알림을 설정하는 단계는, 서비스 제공 서버에서 상품 검색이 완료되면 사용자 단말을 통해 PUSH 알람이 울리도록 설정할 수 있다.
상기 상품 정보 수집 단계는, 서비스 제공 서버가 상기 관심상품의 정보를 스크래핑 매니저에게 전송하면, 스크래핑 매니저는 수집기를 통해 스크래퍼 시스템에 수집 요청하는 단계; 상기 수집 요청을 받은 스크래퍼 시스템은 크롤러 방식을 이용하여 다양한 온라인 쇼핑몰에서 관심상품과 동일한 상품을 찾아 쇼핑몰별 판매조건과 세부 정보를 수집하는 단계; 및 상기 스크래퍼 시스템이 수집한 데이터를 분석하는 파싱 단계;를 포함한다.
상기 수집하는 단계에서는, 크롤러가 관심상품의 상품 정보에 해당하는 템플릿 정보를 이용하여 상표의 중요 정보를 조회하여 서비스 제공 서버에 전송하고, 템플릿 빌더는 크롤러가 읽은 HTML에서 추출할 데이터를 정의하며, 온라인 쇼핑몰의 웹 브라우저를 이용하여 상품의 상세 페이지로 이동하여 상품명, 가격, 옵션의 정보가 있는 곳을 추출하여 템플릿 정보를 완성하고 상기 템플릿 정보를 서비스 제공 서버에 전송한다.
상기 파싱 단계는, 스크래퍼 시스템이 데이터를 수집하면 수집된 HTML 원시데이터가 수집기를 통해 파서로 전달되며, 파서는 전달된 상기 HTML 원시데이터를 템플릿 정보를 이용하여 가격, 상품명, 옵션 등 사용자에게 제공하기 위한 정보로 가공하여 파싱 결과를 데이터베이스 및 상품 매처에 전송한다.
상기 매칭하는 단계는, 매처가 수집 및 파싱된 결과를 벡터로 단어 임베딩하는 변환 단계; 변환된 단어 임베딩 세트로부터 CNN 방식으로 특정 패턴을 분석하여 상품 정보를 항목 별로 추출하는 단계; 추출된 항목에 순서를 부여하여 상품명을 재배열하여 RNN 방식의 입력 값으로 사용하여 분류하는 단계; 및 분류된 상품명의 매칭 결과를 데이터베이스에 저장하는 단계;를 포함한다.
상기 추출하는 단계는, 쇼핑몰에서 추출한 상품 정보에서 CNN 방식을 통해 특정 패턴을 분석하여 상품명을 구성하는 브랜드, 모델, 별명, 카테고리, 사용 대상, 원산지, 용량 등을 구분하여 태깅한다.
상기 분류하는 단계는, 태깅된 상품 정보에서 상품명을 태깅에 따라 특정한 순서로 재배열하여 RNN 방식의 입력으로 사용하여 분류한다.
상기 옵션을 검색하는 단계는, 수집된 결과가 상기 매칭하는 단계에서 관심상품과 동일한 상품으로 매치된 상품인 경우에는, 매치된 상품의 정보에 해당하는 템플릿을 이용하여 상품의 옵션 및 옵션 별 가격 변동 정보를 검색한다.
상기 서비스를 제공하는 단계는, 검색 결과 수집된 매치된 상품의 옵션 별 가격 변동 정보를 사용자 단말의 화면에 표시하고, 실시간으로 가격 변동이 발생할 경우, 가격 변동 정보를 생성하여 사용자 단말에 PUSH 알람을 울리도록 한다.
한편, 본 발명의 다른 실시예에 따르면, 딥러닝을 활용한 상품 가격 비교 시스템은, 사용자가 서비스 제공 서버에 관심상품에 대한 검색 명령 또는 알림 여부를 입력하고 서비스 제공 서버로부터 검색 결과에 대한 서비스를 제공받을 수 있도록 하는 사용자 단말; 사용자의 검색 명령에 따라 스크래퍼 시스템에 상품 정보 수집 요청하고, 매처가 딥러닝을 활용하여 상기 수집한 결과를 입력된 상품 정보와 매칭하며, 매칭된 상품의 옵션을 검색하고, 검색 결과에 따라 서비스를 제공하는 서비스 제공 서버; 서비스 제공 서버의 요청에 따라 다양한 온라인 쇼핑몰에서 크롤러를 활용하여 상품 정보를 조회하는 스크래퍼 시스템; 및 상기 사용자 단말, 스크래퍼 시스템 및 상기 서비스 제공 서버에서 데이터를 저장할 수 있는 데이터베이스;를 포함한다.
상기 서비스 제공 서버는, 각 서버에 메시지를 전송하고 데이터를 보관하는 MQ 서버; 데이터베이스와 앱매니저가 통신하는 인터페이스를 제공하여 사용자가 앱매니저를 통해 서비스 제공 서버에 접근하여 상품 정보를 제공하고 검색 결과를 제공받을 수 있도록 하는 API 서버; 메시지큐가 스크래퍼 시스템에서 수집된 상품 정보를 HTML 원시데이터로 전달하면 가격, 상품명, 옵션 등 사용자에게 제공하기 위한 정보로 가공하는 HTML 파서; 및 메시지큐가 파싱된 상품명, 이미지, 옵션명 등의 정보를 전달하면 인공지능을 활용하여 유사 상품, 동일 상품, 카테고리 정보 등을 매칭하고 매칭 결과를 데이터베이스에 저장하는 상품 매처;를 포함한다.
상기 HTML 파서는, 템플릿 빌더를 통해 생성된 원시 HTML 데이터에 대한 템플릿 정보를 이용하여 데이터를 가공한다.
상기 데이터베이스는, 사용자의 인증키 정보가 포함된 개인인증 DB; 사용자가 등록한 관심상품의 정보가 포함된 관심상품 DB; 스크래퍼 시스템을 통해 수집된 데이터의 파싱 결과가 포함된 파싱결과 DB; 및 파싱된 상품 정보의 매칭 결과가 포함된 매칭결과 DB;를 포함한다.
본 발명에 따르면,
온라인 사이트를 통하여 관심상품의 가격 정보를 수집하고, 이를 CNN 및 RNN을 활용하여 상품 정보를 매칭하며, 매칭된 상품 리스트의 옵션 별 가격 변동 정보를 화면에 제공함으로써 사용자로 하여금 한 화면에서 옵션 별 상품의 재고 현황, 가격 변동 정보를 한꺼번에 확인하도록 하여 보다 효율적이고 간편한 상품 가격 비교가 가능하다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 의한 상품 가격 비교 방법의 순서도,
도 2는 본 발명의 실시예에 의한 상품 가격 비교 방법의 예시를 나타낸 블록도,
도 3은 도 1의 관심상품 검색 명령 단계의 순서도,
도 4는 도 3의 쇼핑몰 선택 및 관심상품 선택 단계의 순서도,
도 5는 도 1의 상품 정보 수집 단계의 순서도,
도 6은 도 1의 관심상품 매칭 단계의 순서도,
도 7은 본 발명의 실시예에 의한 상품 가격 비교 시스템의 구성도,
도 8은 본 발명의 실시예에 의한 상품 가격 비교 시스템의 예시를 나타낸 블록도,
도 9는 본 발명의 실시예에 의한 상품 가격 비교 방법 및 시스템이 구현되는 서비스 화면의 예시도,
도 10은 본 발명의 실시예에 의한 상품 가격 비교 방법 및 시스템이 구현되는 서비스 화면의 예시도이다.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시 예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려 여기서 소개되는 실시 예들은 개시된 내용이 철저하고 완전해질 수 있도록, 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
본 명세서에서 제1, 제2 등의 용어가 구성요소들을 기술하기 위해서 사용된 경우, 이들 구성요소들이 이 같은 용어들에 의해서 한정되어서는 안 된다. 이들 용어들은 단지 어느 구성요소를 다른 구성요소와 구별시키기 위해서 사용되었을 뿐이다. 여기에 설명되고 예시되는 실시 예들은 그것의 상보적인 실시 예들도 포함한다.
또한, 어떤 엘리먼트, 구성요소, 장치, 또는 시스템이 프로그램 또는 소프트웨어로 이루어진 구성요소를 포함한다고 언급되는 경우, 명시적인 언급이 없더라도, 그 엘리먼트, 구성요소, 장치, 또는 시스템은 그 프로그램 또는 소프트웨어가 실행 또는 동작하는데 필요한 하드웨어(예를 들면, 메모리, CPU 등)나 다른 프로그램 또는 소프트웨어(예를 들면 운영체제나 하드웨어를 구동하는데 필요한 드라이버 등)를 포함하는 것으로 이해되어야 할 것이다.
또한 본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
또한, 본 명세서에 기재된 '…부', '…기', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, '일', '하나' 및 '그' 등의 관사는 본 발명을 기술하는 문맥에 있어서 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
아래의 특정 실시 예들을 기술하는 데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용이 없어도 사용될 수 있다는 것을 인지할 수 있다.
어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.
이하, 본 발명에서 실시하고자 하는 구체적인 기술내용에 대해 첨부도면을 참조하여 상세하게 설명하기로 한다.
도 1은 본 발명의 실시예에 의한 상품 가격 비교 방법의 순서도이다.
도 1을 참조하면, 본 발명의 실시예에 의한 상품 가격 비교 방법은 사용자가 관심상품의 검색 명령 신호를 입력하는 단계(S100), 입력된 관심상품과 관련된 상품 정보를 복수의 쇼핑몰에서 수집하는 단계(S200), 수집된 상품 정보와 입력된 관심상품 정보를 매칭하는 단계(S300), 매칭된 상품 정보의 옵션을 검색하는 단계(S400), 검색 결과에 따라 사용자 단말에 서비스를 제공하는 단계(S500)를 포함할 수 있다.
도 2는 본 발명의 실시예에 의한 상품 가격 비교 방법의 예시를 나타낸 블록도이다. 도 1의 단계는 도 2에 나타난 바와 같이 실행될 수 있다.
도 2를 참조하면, 사용자의 검색 명령(S100)에 의해 상품 수집 로봇은 가격비교 사이트 또는 온라인 쇼핑몰 등 메타사이트에서 상품을 수집하여 상품수집 큐(Queue)에 저장하고(S200), 수집된 상품 정보와 검색명령에 의한 관심상품 정보를 매처(Matcher)가 비교하고(S300), 비교 결과 매치되지 않는 경우(Not Matched)에는 그 결과를 임시로 데이터베이스에 저장하고, 매치되는 경우에는 매치된 상품(Matched Item)에 대해 옵션 검색 로봇이 옵션을 검색하여 검색완료 큐에 저장하고(S400), 검색이 완료된 상품에 대하여 사용자 단말에 검색 목록을 제공(S500)한다.
여기서 복수의 쇼핑몰로부터 관심상품과 동일 상품 후보가 될 수 있는 상품을 검색하여 수집한다(S200).
이때 스크래퍼 시스템(300) 병렬로 구성하여 수집 시간을 줄인다. 수집한 상품 정보는 상품수집 큐(Queue)에 입력한다. 큐를 이용하는 것은 각각의 프로세스가 비동기(asynchronous)로 동작하도록 하기 위함이다.
여기서 상품수집 큐의 소비자(Consumer)는 상품 매처(Matcher)이다.
상품 매처(240)는 큐로부터 받은 상품과 고객이 등록한 관심 상품과 동일 상품인지 여부를 판단하는 역할을 수행한다.
상품 매처(240)는 잘 훈련된 딥러닝의 결과물이이며, 매칭된 상품은 매칭 큐에 입력한다(S300).
여기서 매칭 큐의 상품에 대해서 해당 상품을 등록하여 판매하는 쇼핑몰 의 상세페이지로부터 상품의 상세 정보 수집한다(S400).
이 때 옵션 정보를 수집하는 과정은 브라우저를 이용하여 옵션을 선택하는 이벤트를 발생시키며 쇼핑몰로부터 상품 옵션의 종류와 가격 그리고 품절 여부(dynamic 정보)를 수집하기 때문에 단순 Static 정보를 수집하는 것에 비해 더 많은 시간을 소모한다.
이것이 매칭된 상품에 대해서만 옵션 수집을 하는 이유이다.
여기서 옵션 수집이 완료되어 정보가 풍성해진 상품은 검색완료 큐에 입력한다.
검색완료 큐로부터 소비한 상품 정보를 데이터베이스(400)의 매칭결과 DB(440)에 저장한다.
이 데이터베이스는 고객이 등록한 관심상품과 동일한 상품이 어느 쇼핑몰에 어떤 조건으로 판매되고 있는 지 일목요연하게 보여주기 위한 구조로 저장된다.
일정 수준의 동일 상품의 정보가 수집되면 고객에게 수집 완료 알람을 주어 고객이 앱을 다시 실행하면 수집된 동일 상품 목록 서비스를 제공한다(S500).
도 3은 도 1의 관심상품 검색 명령 단계(S100)의 순서도이다.
도 3을 참조하면, 사용자가 관심상품 검색 명령 단계(S100)는 서비스 제공 서버(200)의 API 서버(220)를 통해 사용자의 ID(Identification)를 인증하는 단계(S110), 인증된 ID의 사용자에게 쇼핑몰을 선택하고, 선택한 쇼핑몰에서 상품 검색하여 결과 값 중 원하는 상품을 관심상품으로 등록하는 단계(S120), 상품 검색결과에 대한 알림을 설정하는 단계(S130)를 포함할 수 있다.
여기서 사용자의 ID를 인증하는 단계(S110)는, 사용자의 인증키가 데이터베이스(400)의 개인인증 DB(410)에 존재하는지 여부를 확인하고, 존재하는 경우에는 인증 결과를 사용자 단말(100) 및 API 서버(220)에 전송하고, 존재하지 않는 경우에는 API 서버(220)에 인증키 발급을 요청하여 발급된 인증키를 개인인증 DB(410)에 저장하고 인증 신호를 사용자 단말(100) 및 API 서버(220)에 전송한다.
도 4는 도 3의 쇼핑몰 선택 및 관심상품 선택 단계(S120)의 순서도이다.
도 4를 참조하면 쇼핑몰 선택 및 관심상품 선택 단계(S120)는 사용자가 원하는 상품을 관심상품으로 등록하는 단계로, 사용자가 메타사이트 중에서 선호하는 사이트를 선택할 수 있도록 사용자 단말에 메타사이트 정보를 제공하는 단계(S121), 사용자가 검색할 관심상품을 특정하여 등록하는 단계(S122)를 포함할 수 있다.
여기서 관심상품은 사용자가 본 발명의 방법 및 시스템을 통해 검색할 상품을 의미한다.
여기서 사용자 단말에 메타사이트 정보를 제공하는 단계(S121)는, 사용자가 본 발명의 실시예에 의한 서비스가 제공되는 앱을 실행하면 첫 화면에서 사용자가 대표적인 가격비교사이트(메타사이트) 중에서 선호하는 사이트를 선택할 수 있도록 한다.
개별 쇼핑몰이 아닌 메타사이트를 선택하게 하는 이유는 메타사이트의 검색 성능이 일반 쇼핑몰보다 월등하며, 더 많은 상품을 대상으로 검색을 제공하기 때문이다.
여기서 관심상품을 등록하는 단계(S122)는 제공된 메타사이트 중 사용자가 사용자 단말을 통해 선호하는 사이트를 선택하면 해당 사이트로 연결되며, 연결된 사이트에서 검색을 요청할 상품을 검색한 후 검색결과 중에서 사용자가 원하는 상품을 관심상품으로 선택하면 데이터베이스(400)의 관심상품 DB(420)에 상기 관심상품의 정보를 저장한다.
도 3을 참조하면, 상품 검색결과에 대한 알림을 설정하는 단계(S130)는 본 발명의 방법 및 시스템이 상품 검색을 하는 동안 사용자가 다른 일을 할 수 있도록 검색이 완료되면 PUSH 알람이 울리도록 설정할 수 있다.
또한, 검색 이후 관심상품의 가격 정보가 변동되면 PUSH 알람이 울리도록 설정할 수도 있다.
도 5는 도 1의 상품 정보 수집 단계(S200)의 순서도이다.
도 5를 참조하면, 관심상품이 등록되면, 상품 정보 수집 단계(S200)에는 서비스 제공 서버(200)가 스크래퍼 시스템(300)에 상품 정보 수집을 요청하는 단계(S210), 요청 받은 스크래퍼 시스템(300)이 크롤러 방식으로 상품 정보를 수집하는 단계(S220), HTML 파서(230)가 수집한 데이터를 파싱(Parsing)하는 단계(S230)를 포함할 수 있다.
여기서 상품 정보를 수집하는 단계(S220)는, 사용자가 관심상품의 정보를 등록하면, 크롤러(Crawler)는 관심상품의 정보에 해당하는 템플릿 정보를 이용하여 상품의 중요 정보를 조회하여 서비스 제공 서버(200)의 MQ 서버(210)에 전송하고, 템플릿 빌더(Template-Builder)는 크롤러가 읽은 HTML에서 추출할 데이터를 정의하며, 온라인 쇼핑몰의 웹 브라우저를 이용하여 상품의 상세 페이지로 이동하여 상품명, 가격, 옵션의 정보가 있는 곳을 추출하여 템플릿(Template) 정보를 완성하고 상기 템플릿 정보를 서비스 제공 서버(200)의 MQ 서버(210)에 전송한다.
도 5를 참조하면, HTML 파서(230)가 수집한 데이터를 파싱(Parsing)하는 단계(S230)는, 상품 정보를 수집하는 단계(S220)에서 수집된 데이터를 HTML 파서가 분석한다.
수집된 데이터는 HTML 원시 데이터이기 때문에, HTML 파서는 가격, 상품명, 옵션 등 사용자에게 제공하기 위한 정보로 가공하여 그 결과를 데이터베이스(400)의 파싱결과 DB(430) 및 상품 매처(240)에 전송한다.
여기서 정보 가공을 위해서는 원시 HTML 데이터의 구성에 대한 사전 정보가 필요한데, 이 사전 정보를 템플릿이라 하며, 이러한 템플릿은 템플릿 빌더를 통해 미리 생성하여 저장해 두어야 한다.
도 6은 도 1의 관심상품 매칭 단계(S300)의 순서도이다.
도 6을 참조하면, 관심상품 매칭 단계(S300)는 매처가 수집 및 파싱된 결과를 벡터로 단어 임베딩(Word Embedding)하는 변환 단계(S310), 변환된 단어 임베딩 세트로부터 CNN 방식으로 특정 패턴을 분석하여 상품 정보를 항목 별로 추출하는 단계(S320), 추출된 항목에 순서를 부여하여 상품명을 재배열하여 RNN 방식의 입력 값으로 사용하여 분류하는 단계(S330), 매칭 결과를 데이터베이스에 저장하는 단계(S340)을 포함할 수 있다.
쇼핑몰의 상품명과 동일 상품 매칭을 위해서는 상품명의 특징에 맞는 형태소 분석기(Morphology Analysis)와 이에 맞는 텍스트 전처리기(Text Pre-Processor)가 필요하다.
쇼핑몰의 상품명은 다음과 같은 형태적 특징을 가진다.
- 주로 명사로 구성되며 띄어쓰기가 매우 안 지켜진다.
- 한국어와 영어의 혼용
- 영자 숫자 문자 조합의 모델명
- 단위의 경우 숫자와 문자 혼용
여기서 변환 단계(S310)에서는, 단어 임베딩(Word Embedding)을 위해 수집된 상품의 상품명으로부터 분리한 개별 단어의 표현을 위해 Word2Vec을 구성한다.
단어를 표현하는 방법으로 Word Embedding을 이용할 때의 장점은 단어의 개수에 비해 아주 적은 수의 차원 벡터로 단어를 표현하여 Neural Network의 입력 차원을 줄여줄 수 있다는 점 외에도 단어의 의미 연관성을 심어줄 수 있다는 점이다.
Word2Vec의 경우 다음과 같은 범용적인 테스트 평가 세트가 있어 러닝이 잘 이루어졌는지 여부에 대한 평가를 할 수 있다.
- 동의어 평가 테스트 세트: WordSim353_korean (WordSim353, [online]. Available: http://alfonseca.org/ eng/research/wordsim353.html)
- 유사어 평가 테스트 세트: KATS (Korean Analogy Test Set. 4,620개의 문항, (Hyungsuc Kang and Janghoon Yang, “The Analogy Test Set Suitable to Evaluate Word Embedding Models for Korean,” Journal of Digital Contents Society, pp. 1999-2008, 2018)
여기서 상품 정보를 항목 별로 추출하는 단계(S320)는, 단어 태깅의 정확도를 높이기 위해 CNN 방식을 이용하여 특정 패턴을 분석하여 상품명을 구성하는 브랜드, 모델, 별명, 제소자, 카테고리, 사용 대상, 원산지, 용량 등을 구분하여 태깅한다.
본 발명의 실시예에서 CNN 방식은 두 가지 활용도가 있다.
먼저, 단어 태깅을 위한 CNN(Convolutional Neural Network for Word Tagging)은 일반적인 자연어의 태깅이 아닌 쇼핑몰의 상품명 구성 단어에 대한 태깅이다.
상품명을 구성하는 브랜드, 모델, 별명, 제조사, 카테고리, 사용 대상, 원산지, 용량 등을 구분하여 태깅하기 위하여 CNN을 사용한다.
CNN은 특정 패턴 분석에 좋은 성능을 보여주며, 쇼핑몰에서 브랜드, 모델명을 찾는 것은 특정 패턴을 찾는 것과 비슷한 분류이기 때문에, 신규 브랜드, 모델의 등장이 필수 적인 상품 시장에서 새로 등장한 단어의 태깅은 중요한 문제이며, 이 방법이 수동적인 사전관리의 비용과 늦은 반영시간으로 인한 오류 문제를 해결할 것을 기대한다.
다음으로, 이미지 분류를 위한 CNN(CNN for Image Categorization)은 동일 상품을 찾기 위해서 전형적인 이미지 분류 방식을 사용한다.
단 전통적인 동물 이미지 분류 대신 상품 이미지로 상품 카테고리를 분류할 수 있도록 훈련시킨다.
이미지를 분류하는 알고리즘은 Top-5 Error 수치로 평가하나 동일 상품을 찾는 본 알고리즘은 Top-5 분류 카테고리의 예측 값을 각각 비교하여 그 값의 차이를 가지고 동일 상품 판단을 한다.
개발하는 상품 이미지로 카테고리를 분류하는 CNN 모델은 Top-5 Error 수치로 평가한다. 단, 동물이 아닌 상품 카테고리와 카테고리의 이미지 세트로 훈련과 평가를 수행한다.
여기서 추출된 항목에 순서를 부여하여 상품명을 재배열하여 RNN 방식의 입력 값으로 사용하여 분류하는 단계(S330)는, 태깅된 상품 정보에서 상품명을 태깅에 따라 특정 순서로 재배열하여 재배열된 상품명을 RNN에 입력하여 분류하고 매칭한다.
RNN (Recurrent Neural Network)모델은 중간 노드에 출력으로 가는 값을 저장하였다가 다음 입력 처리 시에 추가 입력 값으로 사용하는 방식의 네트웍 구성으로 과거의 입력 값을 현재의 입력 값에 사용하도록 구성된다.
따라서 순서가 있는 입력 값 분석에 효과적인 방법으로 언어 처리에 많이 사용된다.
의존성 문제(Long-term Dependency Problem) 와 Vanishing Gradient Problem 해결하기 위해서 최근에는 기본 모델 대신 LSTM (Long Short-Term Memory Models) 모델을 많이 사용한다.
순서에 의미를 가지는 분석에 탁월한 RNN 방식을 사용하기 위해 입력 값에 대한 전 처리에서 상품명 구성 단어를 재배열하는 방식을 도입하여 효과를 높인다.
상품명은 브랜드, 모델, 별명, 제조사, 카테고리, 사용 대상, 원산지, 용량 등을 포함할 수 있으므로, 각 항목에 순서를 부여하여 상품명을 재구성하여 RNN의 입력으로 사용하여 분류 효과를 향상시킬 수 있다.
여기서 매칭 결과를 데이터베이스에 저장하는 단계(S340)는, 수집된 상품명과 사용자가 입력한 관심상품명이 매치되는 경우에는 매치된 상품 정보를 데이터베이스(400)의 매칭결과 DB(440)에 저장한다.
여기서 매칭 훈련에 사용할 상품 카테고리와 카테고리 내 상품 정보는 다음 두 방식으로 확보한다.
- 메타사이트: 메타사이트에서 제공하는 카테고리를 크롤링한 후 카테고리 명을 검색어로 상품을 검색하여 검색 결과 페이지를 크롤링하여 카테고리의 상품정보를 확보한다.
- 일반 쇼핑몰: 쇼핑몰의 상품 전시 화면 중 카테고리 분류로 상품을 전시하는 부분을 크롤링하여 카테고리 구조와 상품 정보를 동시에 크롤링하며, 이렇게 확보한 상품정보를 가장 범용적인 메타사이트의 카테고리 구조에 매핑하여 사용한다.
도 1을 참조하면, 옵션을 검색하는 단계(S400)는, 수집된 결과가 매칭 결과 관심상품과 동일한 상품으로 매칭된 상품인 경우에는 매치된 상품의 정보에 해당하는 템플릿을 이용하여 상품의 옵션 및 옵션 별 가격 변동 정보 등을 검색한다.
여기서 상품의 옵션은 색상 및 사이즈, 용도 등 해당 상품의 구입시 선택할 수 있는 항목을 의미하며, 옵션 별 가격 변동 정보뿐만 아니라 판매 상태, 재고, 가격, 배송비, 프로모션 등의 판매 조건을 모두 검색할 수 있다.
도 1을 참조하면, 서비스를 제공하는 단계(S500)는, 검색 결과 수집된 옵션 별 가격 변동 정보를 사용자 단말에 표시한다.
여기서도 마찬가지로 옵션 별 가격 변동 정보뿐만 아니라 판매 상태, 재고, 가격, 배송비, 프로모션 등의 판매 조건을 모두 한 화면에 표시할 수 있다.
또한 실시간으로 가격 변동이 생기는 경우 가격 변동 정보를 생성하여 사용자 단말에 PUSH 알람으로 울리도록 할 수 있다.
도 7은 본 발명의 실시예에 의한 상품 가격 비교 시스템의 구성도이다.
도 7을 참조하면, 본 발명의 실시예에 의한 상품 가격 비교 시스템은 사용자가 서비스 제공 서버에 관심상품에 대한 검색 명령 또는 알림 여부를 입력하고 서비스 제공 서버로부터 검색 결과에 대한 서비스를 제공받을 수 있도록 하는 사용자 단말(100), 사용자의 검색 명령에 따라 상기 스크래퍼 시스템에 상품 정보 수집 요청하고, 매처가 딥러닝을 활용하여 상기 수집한 결과를 입력된 상품 정보와 매칭하며, 매칭된 상품의 옵션을 검색하고, 검색 결과에 따라 서비스를 제공하는 서비스 제공 서버(200), 서비스 제공 서버의 요청에 따라 다양한 온라인 쇼핑몰에서 크롤러를 활용하여 상품 정보를 조회하는 스크래퍼 시스템(300), 상기 사용자 단말, 상기 수집 서버 및 상기 서비스 제공 서버에서 데이터를 저장할 수 있는 데이터베이스(400)을 포함할 수 있다.
도 7을 참조하면, 여기서 서비스 제공 서버(200)는, 각 서버에 메시지를 전송하고 데이터를 보관하는 MQ 서버(210), 데이터베이스와 앱매니저가 통신하는 인터페이스를 제공하여 사용자가 앱매니저를 통해 서비스 제공 서버에 접근하여 상품 정보를 제공하고 검색 결과를 제공받을 수 있도록 하는 API 서버(220), 메시지큐가 스크래퍼 시스템에서 수집된 상품 정보를 HTML 원시데이터로 전달하면 가격, 상품명, 옵션 등 사용자에게 제공하기 위한 정보로 가공하는 HTML 파서(230), 메시지큐가 파싱된 상품명, 이미지, 옵션명 등의 정보를 전달하면 인공지능을 활용하여 유사 상품, 동일 상품, 카테고리 정보 등을 매칭하고 매칭 결과를 데이터베이스에 저장하는 상품 매처(240)를 포함할 수 있다.
도 7을 참조하면, 여기서 데이터베이스(400)는, 사용자의 인증키 정보가 포함된 개인인증 DB(410), 사용자가 등록한 관심상품의 정보가 포함된 관심상품 DB(420), 스크래퍼 시스템을 통해 수집된 데이터의 파싱 결과가 포함된 파싱결과 DB(430), 파싱된 상품 정보의 매칭 결과가 포함된 매칭결과 DB(440)을 포함할 수 있으며, 각 DB는 데이터베이스(400) 내에서 분리되어 저장되거나 혼합되어 저장될 수 있다.
도 8은 본 발명의 실시예에 의한 상품 가격 비교 시스템의 예시를 나타낸 블록도이다. 도 7의 시스템는 도 8에 나타난 바와 같이 실행될 수 있다.
도 8을 참조하면, 사용자 단말(100)은 서비스 제공 서버(200)의 APP 매니저를 통해 API 서버(220)에게 사용자 ID 등록을 요청하고, API 서버(220)는 등록 결과를 APP 매니저를 통해 사용자에게 전송하고, APP 등록 결과를 데이터베이스(400)의 개인인증 DB(410)에 저장한다(S110).
여기서 APP 매니저는 사용자가 조회하는 상품의 정보를 제공하는 웹서버로서 로그인, 가격 추적 알림 등록, 상품 검색 등의 정보를 제공 및 등록하는 인터페이스를 제공한다.
사용자는 APP 매니저 만을 접근할 수 있으며, 이는 사용자의 직접적인 데이터 접근을 차단하고, 원하는 정보를 원활히 제공하기 위한 시스템이다.
여기서 API 서버(220)는 APP 매니저를 통해 수집된 사용자의 요청을 처리하기 위한 방화벽 내부의 API 서버로, 데이터베이스(400)와 APP 매니저가 통신하는 인터페이스를 제공한다.
도 8을 참조하면, 사용자가 사용자 단말(100)을 통해 관심상품 및 상품정보 알림 여부를 등록하면(S120, S130), APP 매니저를 통해 API 서버(220)에 상품 가격 정보 조회 요청이 전송되고, API 서버(220)는 데이터베이스(400)의 관심상품 DB(420)에 관심상품 정보 및 상품정보 알림 여부를 저장한다.
도 8을 참조하면, 데이터베이스에 관심상품이 등록되면, 스크래핑 매니저에 추적 상품 정보가 전송되고, 스크래핑 매니저는 수집기를 통해 스크래퍼 시스템(300)에 상품 정보 수집 요청한다(S210).
여기서 스크래핑 매니저는, 사용자가 추적하기를 원하는 대상을 추출하여 스크래핑 명령을 생성하는 모듈이다.
이곳에서 생성된 데이터 수집 명령은 수집기를 통해 스크래퍼 시스템(300)이 조회하기 위한 데이터로 사용된다.
스크래핑 매니저는 작업 생성 시 작업 ID와 같은 일련번호를 부여 한다.
이 일련번호는 추후 수집된 데이터를 시스템 내부에서 처리할 때 구분하기 위한 키 값으로 사용된다.
여기서 수집기는, 스크래퍼 시스템(300)과 통신하기 위한 인터페이스 모듈이다. 스크래퍼 시스템(300)이 수집할 내용을 전달해주고, 수집된 내용을 수신하여 전달해 주는 등의 역할을 수행한다.
수집기의 역할은 APP 매니저와 비슷하지만, APP 매니저와 역할을 분리함으로써 사용자의 요청 응답의 지연을 줄이고, 스크래퍼 시스템(300)의 처리 지연을 줄이기 위한 목적으로 분리된 서버로 볼 수 있다.
도 8을 참조하면, 스크래퍼 시스템(300)은 크롤러를 이용하여 상품 정보를 수집한다(S220).
스크래퍼 시스템(300)이 수많은 쇼핑몰로부터 상품 정보를 조회하기 위해서는 크롤러 뿐 아니라 템플릿 빌더가 필요하다
스크래퍼 시스템(300)이 상품 가격을 조회하기 위해서는 크게 3개의 파트로 구분할 수 있다.
- 크롤러 : 사용자가 원하는 페이지로 이동하여 정보를 추출하는 기능
- 템플릿 빌더 : 크롤러가 읽은 HTML에서 추출할 데이터를 정의
- 서버(API/MQ) : 템플릿 빌더가 생성한 데이터를 저장/조회하는 API 서버(220), 크롤러가 검색해야 할 작업 목록을 전달하기 위한 Message Queue인 MQ 서버(210)
여기서 템플릿 빌더(Template-Builder)의 기능을 상세히 설명하면 다음과 같다.
- Template-Builder 기능: 상품 상세 페이지의 정보를 추출하기 위한 형태를 정의하는 역할을 하며, 상품 정보를 표현하는 HTML에서 필요한 정보 위치의 selector와 Dynamic 정보(이벤트를 받아 동작하여 표현되는 정보) 추출을 위한 이벤트 호출부로 구성될 수 있다.
- Template-Builder 환경:
* 언어: JavaScript
* System: Chrome-Plugin
- Template-Builder 동작
1) Chrome 브라우저를 이용해서 샘플 상품의 상세 페이지로 이동한다.
2) 페이지 이동이 완료되면 Template-Builder Plugin을 실행한다.
3) Template-Builder를 이용해서 상품명, 가격, 옵션의 정보가 있는 곳을 클릭을 통해 추출한다. 이때 CSS-Path를 추출한다.
4) 추출한 CSS-Path를 크롤러에서 인지할 수 있는 이름으로 매칭한다.
5) 이렇게 작성된 CSS-Path/이름의 목록을 특정 Set으로 저장한다.
6) 이 Set을 Crawler에서 사용 가능하도록 구분할 수 있는 정보(필수 Field 여부/특정 URL Path 정보) 등을 입력해서 Template 정보를 완성한다.
7) 완성된 Template 정보는 서버에 전송해 저장한다.
여기서 크롤러(Crawler) 의 기능을 상세히 설명하면 다음과 같다
- Crawler 기능 : 사용자가 추적하고자 하는 상품 정보를 등록하면, 이 정보에 해당하는 Template 정보를 이용해서 상품의 중요 정보를 조회하여 서버에 전송하는 역할.
- Crawler 환경
* 언어: Python3
* System : Linux Base OS(X-Window)/Chrome-Driver & Chromium-Browser/selenium for python library
- Crawler 동작
1) MQ 서버로부터 사용자가 등록한 상품 URL 정보/Template정보를 받아온다.
2) 받아온 URL로 브라우저를 이동한다.
3) 브라우저에서 HTML을 읽은 후, 사용 가능한 Template 정보가 있는지 확인한다.
4) Template의 내용을 토대로 HTML을 파싱 하고, 필요 정보를 추출한다.
5) 추출된 정보는 서버로 전송한다.
도 8을 참조하면, 스크래퍼 시스템(300)의 수집 결과는 수집기를 통해 MQ 서버(210)로 전송되고, 수집 결과를 수신한 MQ 서버(210)는 HTML 파서(230)에 파싱을 요청한다.
HTML 파서(230)에서 수집 결과의 파싱이 이루어지면(S230) 파싱 결과는 MQ 서버(210)에 전송되고, 파싱 결과를 수신한 MQ 서버(210)는 상품 매니저를 통해 데이터베이스(400)의 파싱결과 DB(430)에 파싱 결과를 저장하고, 상품 매처(240)에 파싱 결과를 전송한다.
또한 상품 매니저는 파싱 결과를 저장하고 수집된 상품의 가격 변동 정보를 생성하여 MQ 서버(210)를 통해 가격 변동 알리미에 전달한다.
상품 매처(240)는 수집된 상품의 정보와 사용자가 입력한 관심상품의 정보를 매칭하고(S300) 매칭된 상품의 옵션 정보를 검색하며(S400), 매칭 결과는 데이터베이스(400)의 매칭결과 DB(440)에 저장된다.
가격변동 알리미는 데이터베이스에 관심상품 정보와 함께 저장된 상품 알림 등록정보를 조회하여 MQ 서버(210)에 전송하고, MQ 서버(210)는 푸시메시지 발송기를 통해 사용자에게 상품 정보를 알린다(500).
여기서 상품 매처는 상품명/이미지/옵션명의 정보를 이용해서 유사상품, 동일상품, 카테고리 정보를 매칭하는 인공지능 시스템으로 이 곳에서 분석된 정보는 사용자가 입력한 관심상품과 이미 수집된 수많은 상품들과 비교하여 동일상품을 찾는 기능을 한다.
여기서 상품 매니저는 파싱된 정보를 데이터베이스(400)에 등록하고, 가격 변동 정보를 생성하며, 가격 변동이 발생할 경우, 가격변동 정보를 생성하여 가격변동 알리미에 전달한다.
여기서 가격변동 알리미는 가격변동정보를 수집하여 해당상품의 상품 알림 등록정보를 조회하여 상품정보 알림 요청을 생성한다.
여기서 푸시메시지 발송기는 상품정보 알림 요청을 수집하여 FCM을 통해 사용자에게 알림 메시지를 보내는 기능을 수행한다.
도 9는 본 발명의 실시예에 의한 상품 가격 비교 방법 및 시스템이 구현되는 서비스 화면의 예시도이다.
도 9를 참조하면, 사용자가 본 발명의 방법 및 시스템이 제공되는 앱을 실행하면 첫 화면에서 쇼핑몰을 선택하여 검색어를 입력하고, 상품 검색결과 중에서 관심상품을 등록하면(S120), 각 단계를 수행하여 얻은 검색 결과에 따라 어플리케이션에 PUSH 알림이 수신되고, 이를 확인하면 관심상품의 최저가를 확인할 수 있다(S400).
도 10은 본 발명의 실시예에 의한 상품 가격 비교 방법 및 시스템이 구현되는 서비스 화면의 예시도이다.
도 10을 참조하면, 사용자가 등록한 관심상품과 동일한 상품을 판매하는 쇼핑몰 별로 조건과 상태정보를 고객에게 제공하는 서비스 제공 단계(S400)에서 동일 상품 상세 화면이다.
이 화면에서 제공하는 기능은 다음과 같다.
- 쇼핑몰 별 판매 조건 (가격, 배송비, 프로모션) 정보 노출
- 접근 경로에 따른 가격 표시 (국내 쇼핑몰 환경은 제휴 프로모션으로 인한 유입에 대한 판매가격 할인 프로모션이 활발히 진행되고 있음)
- 리스트에서 판매 가능한 상품 옵션 노출 : 매우 중요한 기능 중 하나로 의류의 경우 할인 폭이 큰 상품은 색상, 사이즈가 빠르게 소진되므로, 목록에서 상품 옵션을 노출(또는 필터 기능 제공)하여 고객이 조회 화면과 쇼핑몰 상세 화면을 힘들게 왕복 방문하는 낭비를 줄일 수 있음
- 원하는 옵션, 선호 쇼핑몰에 대한 필터와 가격 등 정렬 기능 제공
- 동일 상품 수집 후 가격 시간이 경과하면 그 동안 가격을 주기적으로 수집하여 가격 변경 이력 정보를 제공
100 : 사용자 단말
200 : 서비스 제공 서버
210 : MQ 서버
220 : API 서버
230 : HTML 파서
240 : 상품 매처
300 : 스크래퍼 시스템
400 : 데이터베이스
410 : 개인인증 DB
420 : 관심상품 DB
430 : 파싱결과 DB
440 : 매칭결과 DB

Claims (18)

  1. 딥러닝을 활용한 상품 가격 비교 방법에 있어서,
    사용자가 서비스 제공 서버에 사용자 단말을 통해 관심상품에 대한 검색 명령하는 단계;
    서비스 제공 서버가 사용자의 검색 명령에 따라 스크래퍼 시스템에 상품 정보 수집 요청하면, 스크래퍼 시스템이 서비스 제공 서버의 요청에 따라 다양한 온라인 쇼핑몰에서 관심상품과 관련한 상품 정보 수집 단계;
    서비스 제공 서버의 상품 매처가 딥러닝을 활용하여 상기 수집한 결과를 입력된 상품 정보와 매칭하는 단계;
    서비스 제공 서버가 매칭된 상품의 옵션을 검색하는 단계; 및
    서비스 제공 서버가 검색 결과에 따라 서비스를 제공하는 단계;
    를 포함하되,
    상기 검색 명령하는 단계는,
    서비스 제공 서버가 개인인증 DB를 통해 사용자의 ID를 인증하는 단계;
    사용자가 사용자 단말을 통해 사용자의 ID가 인증되면 쇼핑몰을 선택하고 이동한 사이트에서 상품 검색 후 원하는 상품을 관심상품으로 등록하는 단계; 및
    사용자가 사용자 단말을 통해 상품 검색결과 알림을 설정하는 단계;
    를 포함하며,
    상기 상품 정보 수집 단계는,
    서비스 제공 서버가 상기 관심상품의 정보를 스크래핑 매니저에게 전송하면, 스크래핑 매니저는 수집기를 통해 스크래퍼 시스템에 수집 요청하는 단계;
    스크래퍼 시스템이 상기 수집 요청에 따라 크롤러 방식을 이용하여 다양한 온라인 쇼핑몰에서 관심상품과 동일한 상품을 찾아 쇼핑몰별 판매조건과 세부 정보를 수집하는 단계; 및
    상기 서비스 제공 서버의 HTML 파서가 수집한 데이터를 분석하는 파싱 단계;
    를 포함하며,
    상기 매칭하는 단계는,
    상품 매처가 Word2Vec 알고리즘을 이용해 수집 및 파싱된 결과를 벡터로 단어 임베딩하는 변환 단계;
    상품 매처가 변환된 단어 임베딩 세트로부터 CNN 방식으로 특정 패턴을 분석하여 상품 정보를 항목 별로 추출하는 단계;
    상품 매처가 추출된 항목에 순서를 부여하여 상품명을 재배열하여 RNN 방식의 입력 값으로 사용하여 분류하는 단계; 및
    상품 매처가 분류된 상품명의 매칭 결과를 데이터베이스에 저장하는 단계;
    를 포함하며,
    상기 추출하는 단계에서,
    상품 매처는 쇼핑몰에서 추출한 상품 정보에서 단어 태깅을 위한 CNN 방식과 이미지 분류를 위한 CNN 방식을 통해 특정 패턴을 분석하여 상품명을 구성하는 브랜드, 모델, 별명, 카테고리, 사용 대상, 원산지, 용량 등을 구분하여 태깅하는 것을 특징으로 하며,
    상기 분류하는 단계에서,
    상품 매처는 LSTM 모델을 활용하되, 태깅된 상품 정보에서 상품명을 태깅에 따라 특정한 순서로 재배열하여 RNN 방식의 입력으로 사용하여 분류하는 것을 특징으로 하는 딥러닝을 활용한 상품 가격 비교 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 ID를 인증하는 단계에서,
    서비스 제공 서버는 사용자의 인증키가 개인인증 DB에 존재하는지 여부를 확인하여 상기 사용자의 인증키가 존재하는 경우에는 인증 결과를 사용자 단말 및 API 서버에 전송하는 것을 특징으로 하는 딥러닝을 활용한 상품 가격 비교 방법.
  4. 제1항에 있어서,
    상기 ID를 인증하는 단계에서,
    서비스 제공 서버는 사용자의 인증키가 개인인증 DB에 존재하는지 여부를 확인하여 상기 사용자의 인증키가 존재하지 않는 경우에는 API 서버에 인증키 발급을 요청하여 발급된 인증키를 상기 개인인증 DB에 저장하는 것을 특징으로 하는 딥러닝을 활용한 상품 가격 비교 방법.
  5. 제1항에 있어서,
    상기 관심상품으로 등록하는 단계는,
    서비스 제공 서버가 사용자가 메타사이트 중에서 선호하는 사이트를 선택할 수 있도록 사용자 단말에 사이트 정보를 제공하는 단계; 및
    서비스 제공 서버가 사용자가 사용자 단말을 통해 선호하는 사이트를 선택하면 해당 사이트로 이동하여 검색을 요청할 상품을 검색한 후 원하는 상품을 관심상품으로 선택하면 관심상품 DB에 상기 관심상품의 정보를 저장하는 단계;
    를 포함하는 것을 특징으로 하는 딥러닝을 활용한 상품 가격 비교 방법.
  6. 제1항에 있어서,
    상기 알림을 설정하는 단계에서,
    사용자는 사용자 단말을 통해 상품 검색이 완료되면 PUSH 알람이 울리도록 설정할 수 있는 것을 특징으로 하는 딥러닝을 활용한 상품 가격 비교 방법.
  7. 삭제
  8. 제1항에 있어서,
    상기 수집하는 단계에서,
    스크래퍼 시스템의 크롤러는 관심상품의 상품 정보에 해당하는 템플릿 정보를 이용하여 상표의 중요 정보를 조회하여 서비스 제공 서버의 MQ 서버에 전송하고,
    스크래퍼 시스템의 템플릿 빌더는 크롤러가 읽은 HTML에서 추출할 데이터를 정의하며, 온라인 쇼핑몰의 웹 브라우저를 이용하여 상품의 상세 페이지로 이동하여 상품명, 가격, 옵션의 정보가 있는 곳을 추출하여 템플릿 정보를 완성하고 상기 템플릿 정보를 서비스 제공 서버의 MQ 서버에 전송하는 것을 특징으로 하는 딥러닝을 활용한 상품 가격 비교 방법.
  9. 제1항에 있어서,
    상기 파싱 단계에서,
    HTML 파서는 MQ 서버로부터 전달된 HTML 원시데이터를 템플릿 정보를 이용하여 가격, 상품명, 옵션 등 사용자에게 제공하기 위한 정보로 가공하여 파싱 결과를 데이터베이스 및 상품 매처에 전송하는 것을 특징으로 하는 딥러닝을 활용한 상품 가격 비교 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 제1항에 있어서,
    상기 옵션을 검색하는 단계에서,
    서비스 제공 서버는 수집된 결과가 상기 매칭하는 단계에서 관심상품과 동일한 상품으로 매치된 상품인 경우에는,
    매치된 상품의 정보에 해당하는 템플릿을 이용하여 상품의 옵션 및 옵션 별 가격 변동 정보를 검색하는 것을 특징으로 하는 딥러닝을 활용한 상품 가격 비교 방법.
  14. 제1항에 있어서,
    상기 서비스를 제공하는 단계에서,
    서비스 제공 서버는 검색 결과 수집된 매치된 상품의 옵션 별 가격 변동 정보를 사용자 단말의 화면에 표시하고, 실시간으로 가격 변동이 발생할 경우, 가격 변동 정보를 생성하여 사용자 단말에 PUSH 알람을 울리도록 하는 것을 특징으로 하는 딥러닝을 활용한 상품 가격 비교 방법.
  15. 딥러닝을 활용한 상품 가격 비교 시스템에 있어서,
    사용자가 서비스 제공 서버에 관심상품에 대한 검색 명령 또는 알림 여부를 입력하고 서비스 제공 서버로부터 검색 결과에 대한 서비스를 제공받을 수 있도록 하는 사용자 단말;
    사용자의 검색 명령에 따라 스크래퍼 시스템에 상품 정보 수집 요청하고,
    상품 매처가 딥러닝을 활용하여 상기 수집한 결과를 입력된 상품 정보와 매칭하며,
    매칭된 상품의 옵션을 검색하고, 검색 결과에 따라 서비스를 제공하는 서비스 제공 서버;
    서비스 제공 서버의 요청에 따라 다양한 온라인 쇼핑몰에서 크롤러를 활용하여 상품 정보를 조회하는 스크래퍼 시스템; 및
    상기 사용자 단말, 스크래퍼 시스템 및 상기 서비스 제공 서버에서 데이터를 저장할 수 있는 데이터베이스;
    를 포함하며,
    상기 서비스 제공 서버는,
    각 서버에 메시지를 전송하고 데이터를 보관하는 MQ 서버;
    데이터베이스와 앱매니저가 통신하는 인터페이스를 제공하여 사용자가 앱매니저를 통해 서비스 제공 서버에 접근하여 상품 정보를 제공하고 검색 결과를 제공받을 수 있도록 하는 API 서버;
    MQ 서버가 스크래퍼 시스템에서 수집된 상품 정보를 HTML 원시데이터로 전달하면 가격, 상품명, 옵션 등 사용자에게 제공하기 위한 정보로 가공하는 HTML 파서; 및
    MQ 서버가 파싱된 상품명, 이미지, 옵션명 등의 정보를 전달하면 인공지능을 활용하여 유사 상품, 동일 상품, 카테고리 정보 등을 매칭하고 매칭 결과를 데이터베이스에 저장하는 상품 매처;
    를 포함하며,
    상기 HTML 파서는,
    템플릿 빌더를 통해 생성된 원시 HTML 데이터에 대한 템플릿 정보를 이용하여 데이터를 가공하는 것을 특징으로 하며,
    상기 상품 매처는,
    Word2Vec 알고리즘을 이용해 수집 및 파싱된 결과를 벡터로 단어 임베딩하는 변환 단계;
    수집 및 파싱된 결과를 벡터로 단어 임베딩하는 변환 단계;
    변환된 단어 임베딩 세트로부터 CNN 방식으로 특정 패턴을 분석하여 상품 정보를 항목 별로 추출하는 단계;
    추출된 항목에 순서를 부여하여 상품명을 재배열하여 RNN 방식의 입력 값으로 사용하여 분류하는 단계; 및
    분류된 상품명의 매칭 결과를 데이터베이스에 저장하는 단계;
    를 수행하는 것을 특징으로 하며,
    상기 추출하는 단계에서,
    상품 매처는 쇼핑몰에서 추출한 상품 정보에서 단어 태깅을 위한 CNN 방식과 이미지 분류를 위한 CNN 방식을 통해 특정 패턴을 분석하여 상품명을 구성하는 브랜드, 모델, 별명, 카테고리, 사용 대상, 원산지, 용량 등을 구분하여 태깅하는 것을 특징으로 하며,
    상기 분류하는 단계에서,
    상품 매처는 LSTM 모델을 활용하되, 태깅된 상품 정보에서 상품명을 태깅에 따라 특정한 순서로 재배열하여 RNN 방식의 입력으로 사용하여 분류하는 것을 특징으로 하며,
    상기 데이터베이스는,
    사용자의 인증키 정보가 포함된 개인인증 DB;
    사용자가 등록한 관심상품의 정보가 포함된 관심상품 DB;
    스크래퍼 시스템을 통해 수집된 데이터의 파싱 결과가 포함된 파싱결과 DB; 및
    파싱된 상품 정보의 매칭 결과가 포함된 매칭결과 DB;
    를 포함하는 것을 특징으로 하는 딥러닝을 활용한 상품 가격 비교 시스템.
  16. 삭제
  17. 삭제
  18. 삭제
KR1020200050613A 2020-04-27 2020-04-27 딥러닝을 활용한 상품 가격 비교 방법 및 시스템 KR102307598B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200050613A KR102307598B1 (ko) 2020-04-27 2020-04-27 딥러닝을 활용한 상품 가격 비교 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200050613A KR102307598B1 (ko) 2020-04-27 2020-04-27 딥러닝을 활용한 상품 가격 비교 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR102307598B1 true KR102307598B1 (ko) 2021-10-05

Family

ID=78077550

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200050613A KR102307598B1 (ko) 2020-04-27 2020-04-27 딥러닝을 활용한 상품 가격 비교 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102307598B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102456400B1 (ko) * 2022-06-16 2022-10-19 주식회사 오제이엔 도소매 전자상거래를 위한 멀티 플랫폼 서비스 제공 방법, 장치 및 시스템
KR102474654B1 (ko) * 2021-11-30 2022-12-06 주식회사 세화디에스 교차검증을 이용한 쇼핑몰 실시간 가격비교 서비스 제공 시스템
KR102615785B1 (ko) * 2022-12-07 2023-12-19 주식회사 쇼피스팟 인공지능 및 이미지 프로세싱에 기초하여 복수의 쇼핑몰에서의 판매에 관한 정보를 통합 관리하는 시스템
KR102681229B1 (ko) 2023-03-17 2024-07-04 쿠팡 주식회사 아이템 정보를 제공하는 방법 및 이를 위한 전자 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130011620A (ko) * 2011-07-22 2013-01-30 주식회사 이스케이프인터넷 모든 할인서비스가 적용된 온라인 상품의 최저가 구매경로 제공방법
KR20130089764A (ko) * 2011-12-30 2013-08-13 주식회사 다나와 온라인 쇼핑몰의 관심상품 정보를 수집하여 가격비교 서비스를 제공하는 방법 및 시스템
KR20170039951A (ko) * 2015-10-02 2017-04-12 네이버 주식회사 딥러닝을 이용하여 텍스트 단어 및 기호 시퀀스를 값으로 하는 복수 개의 인자들로 표현된 데이터를 자동으로 분류하는 방법 및 시스템
KR20180008247A (ko) * 2016-07-14 2018-01-24 김경호 딥러닝 인공신경망 기반의 타스크 제공 플랫폼

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130011620A (ko) * 2011-07-22 2013-01-30 주식회사 이스케이프인터넷 모든 할인서비스가 적용된 온라인 상품의 최저가 구매경로 제공방법
KR20130089764A (ko) * 2011-12-30 2013-08-13 주식회사 다나와 온라인 쇼핑몰의 관심상품 정보를 수집하여 가격비교 서비스를 제공하는 방법 및 시스템
KR20170039951A (ko) * 2015-10-02 2017-04-12 네이버 주식회사 딥러닝을 이용하여 텍스트 단어 및 기호 시퀀스를 값으로 하는 복수 개의 인자들로 표현된 데이터를 자동으로 분류하는 방법 및 시스템
KR20180008247A (ko) * 2016-07-14 2018-01-24 김경호 딥러닝 인공신경망 기반의 타스크 제공 플랫폼

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102474654B1 (ko) * 2021-11-30 2022-12-06 주식회사 세화디에스 교차검증을 이용한 쇼핑몰 실시간 가격비교 서비스 제공 시스템
KR102456400B1 (ko) * 2022-06-16 2022-10-19 주식회사 오제이엔 도소매 전자상거래를 위한 멀티 플랫폼 서비스 제공 방법, 장치 및 시스템
KR102615785B1 (ko) * 2022-12-07 2023-12-19 주식회사 쇼피스팟 인공지능 및 이미지 프로세싱에 기초하여 복수의 쇼핑몰에서의 판매에 관한 정보를 통합 관리하는 시스템
KR102681229B1 (ko) 2023-03-17 2024-07-04 쿠팡 주식회사 아이템 정보를 제공하는 방법 및 이를 위한 전자 장치

Similar Documents

Publication Publication Date Title
US11301761B2 (en) Behavioral prediction for targeted end users
KR102307598B1 (ko) 딥러닝을 활용한 상품 가격 비교 방법 및 시스템
KR101993771B1 (ko) 챗봇 검색 시스템 및 프로그램
US10373177B2 (en) Dynamic prediction of online shopper's intent using a combination of prediction models
KR101419504B1 (ko) 사용자 성향 분석을 통한 맞춤형 쇼핑 정보 제공 시스템 및 방법
US20050171932A1 (en) Method and system for extracting, analyzing, storing, comparing and reporting on data stored in web and/or other network repositories and apparatus to detect, prevent and obfuscate information removal from information servers
KR102319438B1 (ko) 빅데이터 기반의 감성정보를 반영한 관광지 정보 제공 시스템 및 그 구동방법
EP3289487B1 (en) Computer-implemented methods of website analysis
KR20190140701A (ko) 계층적 카테고리 군집 기반 장바구니 상품 추천 방법
CN115659008A (zh) 大数据信息反馈的信息推送系统、方法、电子设备及介质
US20040243575A1 (en) Information searching system
CN116796027A (zh) 商品图片标签生成方法及其装置、设备、介质、产品
US8589380B2 (en) Apparatus and method for the automatic discovery of control events from the publication of documents
CN112685618A (zh) 用户特征识别方法、装置、计算设备及计算机存储介质
Lo et al. An emperical study on application of big data analytics to automate service desk business process
CN115935082A (zh) 一种用户冷启动内容推荐方法、计算设备及存储介质
CN112487277B (zh) 数据分配方法、装置、可读存储介质和电子设备
KR100312430B1 (ko) 인터넷 쇼핑몰 상품정보 학습 시스템 및 그 방법
Li et al. Online commercial intention detection framework based on web pages
US20150248491A1 (en) Data processing device and data processing method
KR20200075067A (ko) 채팅을 기반으로 한 주문형 쇼핑 큐레이션 장치
RU2760108C1 (ru) Способ поиска данных для задач машинного обучения
TWM573493U (zh) 藉由訪客瀏覽路徑預測轉換機率之系統
JP2005135167A (ja) データ分析装置、データ分析方法及びデータ分析プログラム
KR20190083781A (ko) 지능형 상품정보 갱신 서버 및 그를 이용한 지능형 상품정보 갱신 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant