KR20190138412A - A method for presenting information on a product based on high speed similarity calculation and an apparatus therefor - Google Patents

A method for presenting information on a product based on high speed similarity calculation and an apparatus therefor Download PDF

Info

Publication number
KR20190138412A
KR20190138412A KR1020180064815A KR20180064815A KR20190138412A KR 20190138412 A KR20190138412 A KR 20190138412A KR 1020180064815 A KR1020180064815 A KR 1020180064815A KR 20180064815 A KR20180064815 A KR 20180064815A KR 20190138412 A KR20190138412 A KR 20190138412A
Authority
KR
South Korea
Prior art keywords
product
similarity
behavior
information
analysis server
Prior art date
Application number
KR1020180064815A
Other languages
Korean (ko)
Other versions
KR102652416B1 (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 KR1020180064815A priority Critical patent/KR102652416B1/en
Publication of KR20190138412A publication Critical patent/KR20190138412A/en
Application granted granted Critical
Publication of KR102652416B1 publication Critical patent/KR102652416B1/en

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/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0254Targeted advertisements based on statistics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression 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/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement

Abstract

The present invention relates to a method for providing information on a product based on high-speed similarity calculation, and a recommendation server therefor. The method comprises the steps of: allowing a data collection server to collect, from user terminals, a plurality of behavior logs each including a user identifier and a product, and transmit the collected behavior logs to an analysis server; allowing the analysis server to delete some of the plurality of behavior logs; allowing the analysis server to calculate similarity by performing similarity calculation on the plurality of behavior logs of which some are deleted; allowing the analysis server to generate information on a product according to a result of the similarity calculation; and allowing the analysis server to transmit the information on the product to an application server. Thus, the load of the system can be reduced.

Description

고속 유사도 연산 기반의 상품에 대한 정보를 제공하기 위한 방법 및 이를 위한 장치{A method for presenting information on a product based on high speed similarity calculation and an apparatus therefor}A method for presenting information on a product based on high speed similarity calculation and an apparatus therefor}

본 발명은 상품에 대한 정보를 제공하기 위한 기술에 관한 것으로, 더욱 상세하게는 행동 로그의 유사도 분석을 통해 상품에 대한 정보를 제공하되, 유사도 연산을 위한 데이터의 양을 감소시켜 고속의 유사도 연산을 통해 상품에 대한 정보를 도출하고, 도출된 정보를 제공하는 방법 및 이를 위한 장치에 관한 것이다.The present invention relates to a technique for providing information on a product, and more particularly, to provide information about the product through the similarity analysis of the behavior log, while reducing the amount of data for the similarity operation to perform a high speed similarity operation The present invention relates to a method for deriving information on a product and to provide derived information, and an apparatus therefor.

스마트폰, 태블릿 패드 등의 모바일 장치에서 실행되는 애플리케이션 시장이 급격히 확대됨에 따라 이와 관련된 광고 시장도 빠른 속도로 팽창하고 있다. As the market for applications running on mobile devices such as smartphones and tablet pads expands rapidly, the related advertising market is expanding rapidly.

이와 관련하여, 모바일 장치(이하, '사용자 단말기'라 칭함)에서는 광고매체인 애플리케이션의 실행 또는 서비스 페이지(예: 웹 페이지) 접속 시 추천 서버로부터 제공되는 광고를 수신하여 표시할 수 있으며, 표시된 광고를 선택하는 경우에는 광고에 링크된 광고주 페이지로 접속할 수 있게 된다.In this regard, a mobile device (hereinafter referred to as a user terminal) may receive and display an advertisement provided from a recommendation server when executing an application, which is an advertisement medium, or accessing a service page (eg, a web page). If you choose to be able to access the advertiser page linked to the advertisement.

이때, 추천 서버에서는 광고 효과를 높이기 위해 광고주로부터 등록된 광고의 속성과 적합한 광고수신자그룹을 확인하여, 확인된 광고수신자그룹에 속한 각 사용자에게 해당 광고를 제공하는 일종의 타겟팅 기법을 채택하게 된다.At this time, the recommendation server checks the attribute of the registered advertisement and the appropriate advertisement recipient group from the advertiser in order to enhance the effect of the advertisement, and adopts a kind of targeting technique that provides the corresponding advertisement to each user belonging to the identified advertisement recipient group.

여기서, 광고수신자그룹은, 사용자마다의 광고에 대응하는 속성을 세그먼트로 정의하고, 동일한 세그먼트에 해당하는 사용자들을 하나의 광고수신자그룹으로 분류하는 분류(Segmentation) 기법에 의해 분류될 수 있다. 임의의 분류 기준에 따라서 특정 속성으로 정의하여 분류되는 하나의 광고수신자그룹을 세그먼트로 지칭할 수 있다.Here, the advertisement recipient group may be classified by a segmentation technique in which attributes corresponding to advertisements for each user are defined as segments, and users corresponding to the same segment are classified into one advertisement recipient group. According to any classification criteria, a single group of recipients classified as defined by specific attributes may be referred to as segments.

기존의 타겟팅 광고에 있어서, 각 세그먼트는 사용자의 행동 로그 정보를 기반으로 추출되며, 행동 로그 정보의 유사도를 분석하여 세그먼트를 추출한다. 하지만, 이러한 행동 로그 정보는 그 양이 방대하여 유사도 분석을 위한 연산 시간은 시스템에 엄청난 부하를 가져온다. 따라서, 그 연산 시간을 감축할 수 있는 방법이 요구된다. In the existing targeting advertisement, each segment is extracted based on the behavior log information of the user, and the segment is extracted by analyzing the similarity of the behavior log information. However, the amount of such behavior log information is huge, and the computation time for similarity analysis puts a huge load on the system. Therefore, there is a need for a method capable of reducing the computation time.

한국등록특허 제 10-1567217 호, 2015년 11월 02 등록(명칭: 소셜 네트워크 분석 기법을 이용한 협업 필터링 추천 방법 및 시스템)Registered Korean Patent No. 10-1567217, November 2015 02 Registered (Name: Collaborative filtering recommendation method and system using social network analysis technique)

따라서 본 발명의 목적은 방대한 량의 행동 로그 정보의 유사도 분석을 통해 상품에 대한 정보를 추출할 때, 유사도 연산을 위한 데이터의 양을 감소시켜 고속의 유사도 연산을 통해 상품에 대한 정보를 추출하고, 추출된 정보를 제공하는 방법 및 이를 위한 장치를 제공함에 있다. Therefore, an object of the present invention is to extract the information about the product through the similarity analysis of a large amount of behavior log information, to reduce the amount of data for the similarity operation to extract information about the product through a high-speed similarity operation, A method of providing extracted information and an apparatus therefor are provided.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 상품에 대한 정보를 제공하기 위한 방법은 데이터수집서버가 사용자단말기로부터 각각이 사용자식별자 및 상품을 포함하는 복수의 행동 로그를 수집하여 분석서버로 전송하는 단계와, 상기 분석서버가 복수의 행동 로그 중 일부를 소거하는 단계와, 상기 분석서버가 일부가 소거된 복수의 행동 로그에 대해 유사도 연산을 수행하여 유사도를 산출하는 단계와, 상기 분석서버가 상기 유사도 연산 결과에 따라 상품에 대한 정보를 생성하는 단계와, 상기 분석서버가 상기 상품에 대한 정보를 응용서버로 전송하는 단계를 포함한다. Method for providing information about the product according to a preferred embodiment of the present invention for achieving the above object is a data collection server collects a plurality of behavior logs each containing a user identifier and a product from the user terminal Transmitting to an analysis server, clearing a part of a plurality of behavior logs by the analysis server, calculating a similarity by performing a similarity operation on the plurality of behavior logs in which the analysis server is partially erased; And generating, by the analysis server, information about a product according to the similarity calculation result, and transmitting, by the analysis server, information about the product to an application server.

상기 복수의 행동 로그 중 일부를 소거하는 단계는 제공하고자 하는 상품에 대한 정보의 양에 따라 전체 행동 로그에서 소거하는 행동 로그의 비율인 소거 비율을 결정하는 단계를 포함한다. The step of erasing some of the plurality of behavior logs includes determining an erase ratio which is a ratio of the behavior logs to be erased from the entire behavior log according to the amount of information on the product to be provided.

상기 복수의 행동 로그 중 일부를 소거하는 단계는 상기 소거 비율을 결정하는 단계 후, 상기 결정된 소거 비율에 따라 소거하는 행동 로그의 구매 상품의 수를 결정하는 것을 특징으로 한다. The step of erasing some of the plurality of behavior logs may include determining the number of purchased products of the behavior log to erase according to the determined erase ratio after determining the erase ratio.

상기 유사도 연산을 수행하여 유사도를 산출하는 단계는 어느 하나의 상품과 다른 상품 중 적어도 하나를 포함하는 행동 로그인 합집합을 분모로 하고, 상기 어느 하나의 상품과 상기 다른 상품을 모두 포함하는 행동 로그인 교집합을 분자로 하여 상기 어느 하나의 상품과 상기 다른 상품의 유사도를 산출하는 것을 특징으로 한다. The calculating of the similarity by performing the similarity operation may include an action login union including at least one of any one product and another product, and a behavior login intersection including both the one product and the other product. The degree of similarity between the one product and the other product is calculated using the molecule.

상기 유사도 연산 결과에 따라 상품에 대한 정보를 생성하는 단계는 상기 산출된 유사도에 따라 상기 유사도가 높은 순으로 소정 수의 상품을 상품에 대한 정보로 도출하는 것을 특징으로 한다. The generating of the information on the product according to the result of the similarity calculation may include deriving a predetermined number of products as the information on the product in the order of the high similarity according to the calculated similarity.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 상품에 대한 정보를 제공하기 위한 장치는 응용서버와의 통신을 위한 분석서버통신부와, 상기 분석서버통신부를 통해 상기 응용서버로부터 대상 상품 및 추천 상품의 수를 포함하는 추천 상품 요청 메시지를 수신하면, 사용자식별자와 상기 사용자 식별자에 대응하는 구매 상품을 포함하는 복수의 행동 로그 중 소거 대상을 특정하고, 복수의 행동 로그에서 상기 특정된 소거 대상을 소거하는 전처리모듈과, 상기 소거 대상이 소거된 복수의 행동 로그를 이용하여 상기 대상 상품과의 유사도를 산출하는 유사도산출모듈을 포함한다. Apparatus for providing information about goods according to a preferred embodiment of the present invention for achieving the above object is an analysis server communication unit for communication with the application server, and the target from the application server through the analysis server communication unit Upon receiving a recommendation product request message including a number of products and recommended products, a deletion object is specified among a plurality of behavior logs including a user identifier and a purchased product corresponding to the user identifier, and the erase target is specified in the plurality of behavior logs. A preprocessing module for erasing an object to be erased, and a similarity calculation module for calculating a degree of similarity with the target product using a plurality of behavior logs from which the object to be erased is erased.

상기 전처리모듈은 상기 추천 상품의 수에 따라 소거할 수 있는 행동 로그의 비율인 소거 비율을 산출하고, 상기 산출된 소거 비율 및 행동 로그의 구매 상품의 수에 따라 소거 대상을 결정하는 것을 특징으로 한다. The preprocessing module may be configured to calculate an erase ratio, which is a ratio of behavior logs that can be erased according to the number of recommended products, and determine an erase target according to the calculated erase ratio and the number of purchased products of the behavior log. .

상기 유사도산출모듈은 대상 상품과 다른 상품 중 적어도 하나를 포함하는 행동 로그인 합집합을 분모로 하고, 상기 대상 상품과 상기 다른 상품을 모두 포함하는 행동 로그인 교집합을 분자로 하여 상기 대상 상품과 상기 다른 상품의 유사도를 산출하는 것을 특징으로 한다. The similarity calculation module uses a behavior login union including at least one of a target product and another product as a denominator, and uses a behavior login intersection including both the target product and the other product as a numerator. The similarity is calculated.

상기 장치는 상기 다른 상품 중 상기 산출된 유사도에 따라 상기 유사도가 높은 순으로 상기 추천 상품의 수의 상품을 추천 상품으로 도출하고, 상기 도출된 추천 상품을 상기 분석서버통신부를 통해 상기 응용서버로 전송하는 정보제공모듈을 더 포함한다. The apparatus derives the products of the number of the recommended products in the order of high similarity according to the calculated similarity among the other products as recommended products, and transmits the derived recommended products to the application server through the analysis server communication unit. It further comprises an information providing module.

본 발명에 따르면 유사도 연산에 결과에 영향을 미치지 않는 복수의 행동 로그를 소거 대상으로 특정하고, 전처리 과정에서 소거함으로써 유사도 연산의 속도가 향상되며, 이를 통해 시스템의 부하를 감소시킬 수 있다. According to the present invention, a plurality of behavior logs that do not affect the result of the similarity calculation are identified as an erase target, and the speed of the similarity operation is improved by erasing the data in the preprocessing process, thereby reducing the load on the system.

도 1은 본 발명의 실시예에 따른 정보 제공 시스템을 개략적으로 도시한 구성도이다.
도 2는 본 발명의 실시예에 따른 사용자 단말기의 주요 구성을 도시한 블록도이다.
도 3은 본 발명의 실시예에 따른 데이터수집서버의 주요 구성을 도시한 블록도이다.
도 4는 본 발명의 실시예에 따른 분석서버의 주요 구성을 도시한 블록도이다.
도 5는 본 발명의 실시예에 따른 응용서버의 주요 구성을 도시한 블록도이다.
도 6은 본 발명의 실시예에 따른 상품에 대한 정보를 제공하기 위한 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 고속 유사도 연산 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 다른 실시예에 따른 상품에 대한 정보를 제공하는 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 다른 실시예에 따른 상품에 대한 정보를 제공하는 방법을 설명하기 위한 화면 예이다.
1 is a configuration diagram schematically showing an information providing system according to an embodiment of the present invention.
2 is a block diagram showing the main configuration of a user terminal according to an embodiment of the present invention.
3 is a block diagram showing the main configuration of a data collection server according to an embodiment of the present invention.
4 is a block diagram showing the main configuration of the analysis server according to an embodiment of the present invention.
5 is a block diagram showing the main configuration of an application server according to an embodiment of the present invention.
6 is a flowchart illustrating a method for providing information about a product according to an embodiment of the present invention.
7 is a flowchart illustrating a fast similarity calculation method according to an embodiment of the present invention.
8 is a flowchart illustrating a method of providing information about a product according to another embodiment of the present invention.
9 is a screen example for explaining a method for providing information on a product according to another exemplary embodiment of the present invention.

본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다. BRIEF DESCRIPTION OF THE DRAWINGS To make the features and advantages of the present invention more clear, the present invention will be described in more detail with reference to specific embodiments shown in the accompanying drawings.

다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.However, in the following description and the accompanying drawings, detailed descriptions of well-known functions or configurations that may obscure the subject matter of the present invention will be omitted. In addition, it should be noted that like elements are denoted by the same reference numerals as much as possible throughout the drawings.

이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms or words used in the following description and drawings should not be construed as being limited to the ordinary or dictionary meanings, and the inventors may appropriately define the concept of terms for explaining their own invention in the best way. It should be interpreted as meaning and concept corresponding to the technical idea of the present invention based on the principle that the present invention. Therefore, the embodiments described in the present specification and the configuration shown in the drawings are only the most preferred embodiments of the present invention, and do not represent all of the technical ideas of the present invention, and various alternatives may be substituted at the time of the present application. It should be understood that there may be equivalents and variations.

또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.In addition, terms including ordinal numbers, such as first and second, are used to describe various components, and are used only to distinguish one component from another component, and to limit the components. Not used. For example, without departing from the scope of the present invention, the second component may be referred to as the first component, and similarly, the first component may also be referred to as the second component.

더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.In addition, when a component is referred to as being "connected" or "connected" to another component, it means that it may be connected or connected logically or physically. In other words, although a component may be directly connected or connected to other components, it should be understood that other components may exist in the middle, and may be connected or connected indirectly.

또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In addition, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In addition, the terms "comprises" or "having" described herein are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or the same. It is to be understood that the present invention does not exclude in advance the possibility of the presence or addition of other features, numbers, steps, operations, components, parts, or combinations thereof.

또한, 명세서에 기재된 "?부", "?기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. In addition, the terms "?", "?", "Module", etc. described in the specification mean a unit for processing at least one function or operation, which may be implemented by hardware or software, or a combination of hardware and software. have.

또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.Also, "a or an", "one", "the" and the like are also indicated differently herein in the context of describing the present invention (especially in the context of the following claims). Unless otherwise expressly contradicted by context, it may be used in the sense including both the singular and the plural.

아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다.In addition, embodiments within the scope of the present invention include computer readable media having or conveying computer executable instructions or data structures stored on computer readable media. Such computer readable media can be any available media that can be accessed by a general purpose or special purpose computer system. By way of example, such computer readable media may be in the form of RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, or computer executable instructions, computer readable instructions or data structures. And may include, but are not limited to, any other medium that can be used to store or deliver certain program code means, and can be accessed by a general purpose or special purpose computer system. .

이하의 설명 및 특허 청구 범위에서, "네트워크"는 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른 (유선, 무선, 또는 유선 또는 무선의 조합인) 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다.In the following description and claims, “network” is defined as one or more data links that enable the transfer of electronic data between computer systems and / or modules. When information is transmitted or provided to a computer system via a network or other (wired, wireless, or a combination of wired or wireless) communication connections, this connection can be understood as a computer-readable medium. Computer-readable instructions include, for example, instructions and data that cause a general purpose or special purpose computer system to perform a particular function or group of functions. The computer executable instructions may be, for example, binary, intermediate format instructions such as assembly language, or even source code.

아울러, 본 발명은 퍼스널 컴퓨터, 랩탑 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서, 상기 컴퓨터 시스템들을 대상으로 광고를 제공하는데 적용될 수 있다. 본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.In addition, the present invention relates to personal computers, laptop computers, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile phones, PDAs, pagers In a network computing environment having various types of computer system configurations, including (pager) and the like, it may be applied to providing advertisements to the computer systems. The invention may also be practiced in distributed system environments where both local and remote computer systems that are linked via wired networks, wireless data links, or combinations of wired and wireless data links perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices.

먼저, 본 발명의 실시예에 따른 정보 제공 시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 정보 제공 시스템을 개략적으로 도시한 구성도이다. First, an information providing system according to an embodiment of the present invention will be described. 1 is a configuration diagram schematically showing an information providing system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 정보 제공 시스템(100)은 복수의 사용자 단말기(10: 10-1, 10-2,?10-n), 데이터수집서버(20), 분석서버(30) 및 응용서버(40)를 포함한다. Referring to Figure 1, the information providing system 100 according to an embodiment of the present invention is a plurality of user terminals (10: 10-1, 10-2, -10-n), data collection server 20, analysis server 30 and the application server 40.

복수의 사용자 단말기(10: 10-1, 10-2,?10-n), 데이터수집서버(20), 분석서버(30) 및 응용서버(40)는 통신망(NW)을 통해 상호간에 데이터를 송수신할 수 있다. The plurality of user terminals 10: 10-1, 10-2,? 10-n, the data collection server 20, the analysis server 30, and the application server 40 share data with each other through a communication network NW. Can send and receive

예를 들면, 통신망(NW)은 WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신망을 포함할 수 있으며, 시스템 구현 방식에 따라 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신망을 포함할 수도 있다.For example, the communication network NW may include a wireless communication network such as a wireless LAN (WLAN), Wi-Fi, Wibro, Wimax, High Speed Downlink Packet Access (HSDPA), Depending on how the system is implemented, it may include wired communication networks such as Ethernet, xDSL (ADSL, VDSL), Hybrid Fiber Coaxial Cable (HFC), Fiber to The Curb (FTTC), and Fiber To The Home (FTTH).

아울러, 본 발명의 통신망(NW)은 예컨대, 다수의 접속망(미도시) 및 이들을 연결하는 코어망(미도시)으로 이루어진 이동통신망을 포함할 수 있다. 여기서, 접속망은 단말과 직접 접속하여 무선 통신을 수행하는 망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다. 또한, 전술한 바와 같이, 상기 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(Digital Unit, 이하 DU라 함과 무선 유니트(Radio Unit, 이하 RU라 함)으로 구분하여, 다수의 영역에 각각 다수의 RU(미도시)를 설치하고, 다수의 RU를 집중화된 DU와 연결하여 구성할 수도 있다. 또한, 접속망과 함께 모바일 망을 구성하는 코어망(미도시)은 접속망과 외부 망, 예컨대, 인터넷망과 같은 다른 통신망을 연결하는 역할을 수행한다.In addition, the communication network NW of the present invention may include, for example, a mobile communication network including a plurality of access networks (not shown) and a core network (not shown) connecting them. Here, the access network is a network that performs wireless communication by directly connecting to a terminal, for example, a plurality of base stations such as a base station (BS), a base transceiver station (BTS), a NodeB, an eNodeB, and a base station controller (BSC). It may be implemented as a base station controller such as a Radio Network Controller (RNC). In addition, as described above, the digital signal processing unit and the wireless signal processing unit, which are integrally implemented in the base station, are divided into digital units (hereinafter referred to as DUs and radio units (hereinafter referred to as RUs)). A plurality of RUs (not shown) may be installed in a plurality of areas, respectively, and a plurality of RUs may be connected to a centralized DU, and a core network (not shown) constituting a mobile network together with an access network may be connected with the access network. It serves to connect another communication network such as an external network, for example, the Internet network.

이러한 코어망은 앞서 설명한 바와 같이, 접속망 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어망은 주파수간 이동성을 관리하고, 접속망 및 코어망 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망과의 연동을 위한 역할을 수행할 수도 있다. 이러한 코어망은 SGW(Serving GateWay), PGW(PDN GateWay), MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다.As described above, the core network is a network system that performs main functions for mobile communication services such as mobility control and switching between access networks, and performs circuit switching or packet switching. Manage and control the flow of packets within In addition, the core network may manage inter-frequency mobility and may play a role for interworking with traffic in the access network and the core network and other networks such as the Internet network. The core network may further include a serving gateway (SGW), a PDN gateway (PGW), a mobile switching center (MSC), a home location register (HLR), a mobile mobility entity (MME), and a home subscriber server (HSS). It may be.

또한, 본 발명에 따른 통신망(NW)은 인터넷망을 포함할 수 있다. 인터넷망은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미한다. In addition, the communication network (NW) according to the present invention may include an Internet network. The Internet network refers to a general public communication network, that is, a public network, through which information is exchanged according to the TCP / IP protocol.

이러한 통신망(NW)을 통해서 복수의 사용자 단말기(10: 10-1, 10-2,?10-n), 데이터수집서버(20), 분석서버(30) 및 응용서버(40)가 상호 연동하여 본 발명에 따른 상품 정보 제공을 위한 정보 제공 시스템(100)을 구성한다. Through the communication network (NW), a plurality of user terminals 10: 10-1, 10-2,? 10-n, the data collection server 20, the analysis server 30, and the application server 40 interoperate with each other. The information providing system 100 for providing product information according to the present invention is configured.

복수의 사용자 단말기(10)는 각각 적어도 하나의 어플리케이션을 설치하여 실행할 수 있다. 특히, 사용자 단말기(10)는 데이터수집서버(20)와 연동하는 어플리케이션을 설치하고, 그 어플리케이션의 실행에 따라서, 행동 로그를 데이터수집서버(20)에 전송할 수 있다. 이때 복수의 사용자 단말기(10)는 설치된 SDK(Software Development Kit)를 통해 행동 로그를 데이터수집서버(20)에 전송할 수 있다. 하지만 이에 한정된 것은 아니고, 복수의 사용자 단말기(10)는 데이터수집서버(20)와 연동하여 별도의 어플리케이션 설치를 통해 데이터수집서버(20)에 행동 로그를 제공할 수 있다. The plurality of user terminals 10 may each install and execute at least one application. In particular, the user terminal 10 may install an application interworking with the data collection server 20, and transmit an action log to the data collection server 20 according to the execution of the application. In this case, the plurality of user terminals 10 may transmit the behavior log to the data collection server 20 through the installed SDK (Software Development Kit). However, the present invention is not limited thereto, and the plurality of user terminals 10 may provide an action log to the data collection server 20 through a separate application installation in connection with the data collection server 20.

이때 복수의 사용자 단말기(10)는 설치된 SDK에 포함된 API(Application Programming Interface)를 통해 상품 구매 이력을 포함하는 행동 로그를 추출하고, 추출된 행동 로그를 데이터수집서버(20)에 제공할 수 있다. 여기서, 행동 로그는 사용자 단말기의 고유 코드인 사용자식별자(UID: User ID) 및 구매한 상품(item)을 포함한다. 여기서, 사용자식별자(UID)는 사용자 단말기(10) 각각을 구분하기 위하여, 모바일 단말기 별로 할당되는 식별 번호가 될 수 있다. In this case, the plurality of user terminals 10 may extract a behavior log including a product purchase history through an API (Application Programming Interface) included in the installed SDK, and provide the extracted behavior log to the data collection server 20. . Here, the behavior log includes a user ID (UID), which is a unique code of the user terminal, and a purchased item. Here, the user identifier (UID) may be an identification number assigned to each mobile terminal to distinguish each of the user terminals 10.

여기서 복수의 사용자 단말기(10)는 이동통신단말기를 대표적인 예로서 설명하지만 단말기는 이동통신단말기에 한정된 것이 아니고, 모든 정보통신기기, 멀티미디어 단말기, 유선 단말기, 고정형 단말기 및 IP(Internet Protocol) 단말기 등의 다양한 단말기에 적용될 수 있다. 또한, 단말기는 휴대폰, PMP(Portable MultimediaPlayer), MID(Mobile Internet Device), 스마트폰(Smart Phone) 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일(Mobile) 단말기일 때 유리하게 활용될 수 있다. Here, the plurality of user terminals 10 will be described as a representative example of the mobile communication terminal, but the terminal is not limited to the mobile communication terminal, and all information communication devices, multimedia terminals, wired terminals, fixed terminals and IP (Internet Protocol) terminals, etc. It can be applied to various terminals. In addition, the terminal may be advantageously used when the mobile terminal having various mobile communication specifications such as a mobile phone, a portable multimedia player (PMP), a mobile internet device (MID), a smart phone, and an information communication device. .

데이터수집서버(20)는 복수의 사용자단말기(10)로부터 사용자식별자(UID) 및 사용자가 구매한 상품(item)을 포함하는 행동 로그를 수집하고, 수집된 행동 로그를 분석서버(30)로 전달할 수 있다. The data collection server 20 collects a behavior log including a user identifier (UID) and an item purchased by the user from the plurality of user terminals 10, and transfers the collected behavior log to the analysis server 30. Can be.

분석서버(30)는 전달받은 행동 로그를 사용자식별자(UID) 및 상품(item)에 따라 정렬할 수 있다. 예컨대, 분석서버(30)는 사용자식별자(UID)를 열로 하고, 상품(item)을 행으로 하는 테이블(Table)을 생성할 수 있다. 그리고 분석서버(30)는 데이터수집서버(20)로부터 수집된 행동 로그를 분석하여, 상품과 관련된 정보를 도출할 수 있다. 예컨대, 분석서버(30)는 행동 로그를 분석하여 '함께 구매한 상품'을 도출할 수 있다. 즉, 분석서버(30)는 유사도 연산을 통해 대상 상품(TG)과 '함께 구매한 상품(RG)'을 도출할 수 있다. 분석서버(30)는 도출된 상품에 대한 정보, 예컨대, '함께 구매한 상품(RG)'을 응용서버(40)로 제공한다. The analysis server 30 may sort the received behavior log according to the user identifier (UID) and the item (item). For example, the analysis server 30 may generate a table having a user identifier (UID) as a column and a product as a row. The analysis server 30 may analyze the behavior log collected from the data collection server 20 to derive information related to the product. For example, the analysis server 30 may analyze the behavior log to derive the 'product purchased together'. That is, the analysis server 30 may derive the 'product (RG) purchased together' with the target product TG through the similarity calculation. The analysis server 30 provides the information on the derived product, for example, the 'RG purchased together' to the application server 40.

응용서버(40)는 이러한 상품에 대한 정보를 이용하여 상품 마켓팅을 위한 부가 서비스를 제공하기 위한 것이다. 따라서 응용서버(40)는 사용자단말기(10)의 요청이 있는 경우, 상품에 대한 정보를 제공할 수 있다. The application server 40 is to provide an additional service for product marketing using the information on these products. Therefore, the application server 40 may provide information about the product when the user terminal 10 requests.

한편, 본 발명의 실시예에서 데이터수집서버(20), 분석서버(30) 및 응용서버(40)를 서로 독립된 장치로 설명하지만, 이에 한정되는 것은 아니며, 쇼핑 서버(40)와 추천 서버(50)는 하나의 장치로 구현될 수도 있다. Meanwhile, in the embodiment of the present invention, the data collection server 20, the analysis server 30, and the application server 40 are described as independent devices, but are not limited thereto, and the shopping server 40 and the recommendation server 50 are not limited thereto. ) May be implemented as a single device.

다음으로, 본 발명의 실시예에 따른 사용자 단말기(10)에 대하여 더욱 상세히 설명하도록 한다. 도 2는 본 발명의 실시예에 따른 사용자 단말기의 주요 구성을 도시한 블록도이다. Next, the user terminal 10 according to an embodiment of the present invention will be described in more detail. 2 is a block diagram showing the main configuration of a user terminal according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 실시예에 따른 사용자 단말기(10)는 통신부(11), 입력부(13), 표시부(15), 저장부(17) 및 제어부(19)를 포함하여 구성된다.Referring to FIG. 2, the user terminal 10 according to the exemplary embodiment of the present invention includes a communication unit 11, an input unit 13, a display unit 15, a storage unit 17, and a controller 19.

통신부(11)는 사용자 단말기(10)의 통신을 수행하는 기능을 한다. 즉, 통신부(11)는 통신망(NW)을 통해 데이터수집서버(20)와 데이터를 송수신한다. 특히, 본 발명의 실시예에 따른 통신부(11)는 데이터수집서버(20)로 행동 로그를 전송할 수 있다. The communication unit 11 functions to perform communication of the user terminal 10. That is, the communication unit 11 transmits and receives data with the data collection server 20 through the communication network (NW). In particular, the communication unit 11 according to the embodiment of the present invention may transmit the behavior log to the data collection server 20.

입력부(13)는 숫자 및 문자 정보 등의 다양한 정보를 입력 받고, 각종 기능들의 설정 및 사용자 단말기(10)의 기능 제어와 관련하여 입력되는 신호를 제어부(19)로 전달한다. 또한 입력부(13)는 사용자의 터치 또는 조작에 따른 입력 신호를 발생하는 키패드와 터치패드 중 적어도 하나를 포함하여 구성될 수 있다. 이때 입력부(13)는 표시부(15)와 함께 하나의 터치패널(또는 터치스크린)의 형태로 구성되어 입력과 표시 기능을 동시에 수행할 수 있다. 특히, 입력부(13)는 사용자의 조작에 따라 통신을 위한 입력신호 및 애플리케이션 실행에 따른 데이터를 제어부(19)로 전달할 수 있다. 또한 입력부(13)는 사용자 단말기(10)가 터치스크린 형태로 구성되는 경우 화면에 터치되는 신호를 입력 받거나, 키보드 및 마우스 등의 입력을 받을 수 있다. The input unit 13 receives various information such as numeric and text information, and transmits a signal input in connection with setting of various functions and function control of the user terminal 10 to the controller 19. In addition, the input unit 13 may include at least one of a keypad and a touch pad generating an input signal according to a user's touch or manipulation. In this case, the input unit 13 may be configured in the form of one touch panel (or touch screen) together with the display unit 15 to simultaneously perform input and display functions. In particular, the input unit 13 may transmit an input signal for communication and data according to application execution to the controller 19 according to a user's manipulation. In addition, when the user terminal 10 is configured in the form of a touch screen, the input unit 13 may receive a signal touched on the screen, or receive an input such as a keyboard and a mouse.

표시부(15)는 사용자 단말기(10)의 기능 수행 중에 발생하는 일련의 동작상태 및 동작결과 등에 대한 정보를 표시한다. 또한, 표시부(15)는 사용자 단말기(10)의 메뉴 및 사용자가 입력한 사용자 데이터 등을 표시할 수 있다. 여기서, 표시부(15)는 LCD(Liquid Crystal Display), TFT-LCD(Thin Film Transistor LCD), OLED(Organic Light Emitting Diodes), 발광다이오드(LED), AMOLED(Active Matrix Organic LED), 플렉시블 디스플레이(Flexible display) 및 3차원 디스플레이(3 Dimension) 등으로 구성될 수 있다. 특히, 표시부(15)는 쇼핑몰 웹 사이트를 구성하는 복수의 웹 페이지 중 어느 하나가 수신되면, 수신된 웹 페이지를 화면에 표시한다. The display unit 15 displays information on a series of operation states and operation results that occur during the functioning of the user terminal 10. In addition, the display unit 15 may display a menu of the user terminal 10 and user data input by the user. The display unit 15 may include a liquid crystal display (LCD), a thin film transistor LCD (TFT-LCD), organic light emitting diodes (OLED), a light emitting diode (LED), an active matrix organic LED (AMOLED), and a flexible display (Flexible). display) and a three-dimensional display (3 Dimension). In particular, when one of the plurality of web pages constituting the shopping mall web site is received, the display unit 15 displays the received web page on the screen.

저장부(17)는 사용자 단말기(10)의 기능 동작에 필요한 응용 프로그램을 저장한다. 여기서 사용자 단말기(10)는 사용자의 요청에 상응하여 각 기능을 활성화하는 경우, 제어부(19)의 제어 하에 해당 응용 프로그램들을 실행하여 각 기능을 제공하게 된다. 또한 데이터 영역은 사용자 단말기(10)의 사용에 따라 발생하는 데이터가 저장되는 영역이다. The storage unit 17 stores an application program required for the functional operation of the user terminal 10. When the user terminal 10 activates each function in response to a user's request, the user terminal 10 executes corresponding application programs under the control of the controller 19 to provide each function. In addition, the data area is an area in which data generated according to the use of the user terminal 10 is stored.

제어부(19)는 사용자 단말기(10)의 각 구성을 초기화하고, 필요한 신호 제어를 수행할 수 있다. 특히, 본 발명의 실시예에 따른 제어부(19)는 통신부(11)를 통해 쇼핑몰 웹 서버에 접속하여 쇼핑몰 웹 사이트를 구성하는 웹 페이지를 수신하고, 수신된 웹 페이지를 표시부(15)를 통해 화면으로 표시한다. 이에 따라, 사용자는 웹 페이지를 보면서 해당 웹 페이지를 통해 소정의 상품을 구매할 수 있다. 특히, 제어부(19)는 사용자의 조작에 따라 입력부(13)를 통해 구매를 위해 특정 상품을 선택하는 신호를 감지하면, 해당 상품에 대한 구매 요청을 통신부(11)를 통해 쇼핑몰 웹 서버로 전송하여 해당 상품을 구매할 수 있다. 그러면, 제어부(19)는 상품을 구매한 구매 이력을 통해 행동 로그를 생성한다. 여기서, 행동 로그는 사용자식별자(UID) 및 구매한 상품(item)을 포함한다. 이어서, 제어부(19)는 통신부(11)를 통해 데이터수집서버(20)로 행동 로그를 전송할 수 있다. The controller 19 may initialize each configuration of the user terminal 10 and perform necessary signal control. In particular, the control unit 19 according to an embodiment of the present invention accesses the shopping mall web server through the communication unit 11 to receive a web page constituting the shopping mall web site, and displays the received web page on the display unit 15. Indicated by. Accordingly, the user can purchase a predetermined product through the web page while viewing the web page. In particular, when the controller 19 detects a signal for selecting a specific product for purchase through the input unit 13 according to a user's operation, the controller 19 transmits a purchase request for the corresponding product to the shopping mall web server through the communication unit 11. The product can be purchased. Then, the controller 19 generates a behavior log through the purchase history of purchasing the product. Here, the behavior log includes a user identifier (UID) and a purchased item (item). Subsequently, the controller 19 may transmit the behavior log to the data collection server 20 through the communication unit 11.

다음으로, 본 발명의 실시예에 따른 데이터수집서버(20)의 구성을 더욱 상세히 설명하도록 한다. 도 3은 본 발명의 실시예에 따른 데이터수집서버의 주요 구성을 도시한 블록도이다. Next, the configuration of the data collection server 20 according to an embodiment of the present invention to be described in more detail. 3 is a block diagram showing the main configuration of a data collection server according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 실시예에 따른 데이터수집서버(20)는 수집서버통신부(21), 수집서버저장부(23) 및 수집서버제어부(25)를 포함한다. Referring to FIG. 3, the data collection server 20 according to an embodiment of the present invention includes a collection server communication unit 21, a collection server storage unit 23, and a collection server control unit 25.

수집서버통신부(41)는 통신망(NW)을 통해 사용자 단말기(10) 및 분석서버(30) 및 응용서버(40)와 통신을 수행하기 위한 인터페이스를 가진다. 특히, 수집서버통신부(41)는 사용자 단말기(10)로부터 행동 로그를 수신할 수 있다. The collection server communication unit 41 has an interface for communicating with the user terminal 10, the analysis server 30, and the application server 40 through a communication network NW. In particular, the collection server communication unit 41 may receive a behavior log from the user terminal (10).

수집서버저장부(23)는 수집서버제어부(25)에 의해 실행되거나 처리되는 데이터 혹은 프로그램을 저장한다. 이러한 수집서버저장부(23)는 사용자단말기(10)로부터 수신한 사용자식별자(UID)와 구매한 상품이 매핑된 행동 로그를 일시 혹은 소정 기한 동안 저장할 수 있다. The collection server storage unit 23 stores data or programs executed or processed by the collection server control unit 25. The collection server storage unit 23 may store a behavior log in which a user identifier (UID) received from the user terminal 10 and a purchased product are mapped for a temporary or predetermined period of time.

수집서버제어부(25)는 수집서버통신부(21) 및 수집서버저장부(23)를 포함하는 데이터수집서버(20)의 동작을 전반적으로 제어하는 역할을 하며, 이를 위한 프로세서를 포함할 수 있다. 이러한 수집서버제어부(25)는 사용자 단말기(10)로부터 수신된 행동 로그를 수집서버저장부(23)에 저장한다. 그리고 수집서버제어부(25)는 수집서버통신부(41)를 통해 수집서버저장부(23)에 저장된 행동 로그를 주기적으로 분석서버(30)로 전달할 수 있다. The collection server controller 25 controls the overall operation of the data collection server 20 including the collection server communication unit 21 and the collection server storage unit 23, and may include a processor therefor. The collection server control unit 25 stores the behavior log received from the user terminal 10 in the collection server storage unit 23. The collection server control unit 25 may periodically transmit the behavior log stored in the collection server storage unit 23 to the analysis server 30 through the collection server communication unit 41.

다음으로, 도면을 참조하여, 본 발명의 실시예에 따른 분석서버(30)의 구성을 더욱 상세히 설명하도록 한다. 도 4는 본 발명의 실시예에 따른 분석서버의 주요 구성을 도시한 블록도이다. 도 4를 참조하면, 본 발명의 실시예에 따른 분석서버(30)는 분석서버 통신부(31), 분석서버저장부(33) 및 분석서버제어부(35)를 포함한다. Next, with reference to the drawings, the configuration of the analysis server 30 according to an embodiment of the present invention to be described in more detail. 4 is a block diagram showing the main configuration of the analysis server according to an embodiment of the present invention. Referring to FIG. 4, the analysis server 30 according to an embodiment of the present invention includes an analysis server communication unit 31, an analysis server storage unit 33, and an analysis server control unit 35.

분석서버통신부(31)는 통신망(NW)을 통해 데이터수집서버(20) 및 응용서버(30)와 통신을 수행하기 위한 인터페이스를 가진다. 특히, 분석서버통신부(31)는 데이터수집서버(20)로부터 행동 로그를 수신하면, 이를 분석서버제어부(35)로 전달한다. 또한, 분석서버통신부(31)는 분석서버제어부(35)로부터 상품에 대한 정보(예컨대, 함께 구매한 상품 리스트)를 전달 받고, 이를 응용서버(40)로 전송한다. The analysis server communication unit 31 has an interface for communicating with the data collection server 20 and the application server 30 through a communication network (NW). In particular, the analysis server communication unit 31 receives the behavior log from the data collection server 20, and transfers it to the analysis server control unit 35. In addition, the analysis server communication unit 31 receives information about the product (for example, the list of products purchased together) from the analysis server control unit 35, and transmits it to the application server 40.

분석서버저장부(33)는 분석서버제어부(35)에 의해 실행되거나 처리되는 데이터 혹은 프로그램을 저장하기 위한 구성이다. 이러한 분석서버저장부(33)는 행동 로그로부터 유사도에 따라 추천 상품을 도출하는 프로그램 등을 저장할 수 있다. 또한, 분석서버저장부(33)는 데이터수집서버(20)로부터 수신된 행동 로그를 누적하여 저장할 수 있다. The analysis server storage unit 33 is a configuration for storing data or programs executed or processed by the analysis server control unit 35. The analysis server storage unit 33 may store a program for deriving a recommended product according to the similarity from the behavior log. In addition, the analysis server storage unit 33 may accumulate and store the behavior log received from the data collection server 20.

분석서버제어부(35)는 분석서버통신부(31) 및 분석서버저장부(33)를 포함한 분석서버(30)의 동작을 전반적으로 제어하는 역할을 하며, 이를 위한 프로세서를 포함할 수 있다. The analysis server control unit 35 serves to control the overall operation of the analysis server 30 including the analysis server communication unit 31 and the analysis server storage unit 33, and may include a processor therefor.

특히, 분석서버제어부(35)는 전처리모듈(35a), 유사도산출모듈(35b) 및 정보제공모듈(35c)을 포함하여 구성될 수 있다. In particular, the analysis server control unit 35 may include a preprocessing module 35a, a similarity calculation module 35b, and an information providing module 35c.

분석서버제어부(35)는 분석서버통신부(31)를 통해 행동 로그를 수신하면, 분석서버저장부(32)에 저장한다. 전처리모듈(35a)은 분석서버저장부(32)에 저장된 복수의 행동 로그를 불러와서, 행동 로그의 일부를 소거한다. 이때, 전처리 모듈(55a)은 복수의 행동 로그 중 일부를 소거한다. 유사도산출모듈(35b)은 복수의 행동 로그 중 일부가 소거된 행동 로그 간 유사도를 산출한다. 이러한 유사도는 자카드 유사도 산출 기법을 이용하여 산출될 수 있다. 정보제공모듈(55c)은 유사도 연산 결과를 통해 상품에 대한 정보, 예컨대, '함께 구매한 상품'과 같은 추천 상품으로 도출하고, 도출된 추천 상품을 분석서버통신부(51)를 통해 응용서버(40)로 전송할 수 있다. The analysis server control unit 35 receives the behavior log through the analysis server communication unit 31 and stores it in the analysis server storage unit 32. The preprocessing module 35a loads a plurality of behavior logs stored in the analysis server storage unit 32 and erases a part of the behavior logs. At this time, the preprocessing module 55a erases some of the plurality of behavior logs. The similarity calculation module 35b calculates the similarity between the behavior logs in which some of the plurality of behavior logs are erased. Such similarity may be calculated using a jacquard similarity calculating technique. The information providing module 55c derives information on the product through a similarity calculation result, for example, a recommendation product such as a 'purchased product together', and extracts the derived recommendation product through the analysis server communication unit 51 through the application server 40. ) Can be sent.

다음으로, 본 발명의 실시예에 따른 응용서버(40)의 구성을 더욱 상세히 설명하도록 한다. 도 5는 본 발명의 실시예에 따른 응용서버의 주요 구성을 도시한 블록도이다. Next, the configuration of the application server 40 according to an embodiment of the present invention to be described in more detail. 5 is a block diagram showing the main configuration of an application server according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 실시예에 따른 응용서버(40)는 응용서버통신부(41), 응용서버저장부(43) 및 응용서버제어부(45)를 포함한다. Referring to FIG. 5, an application server 40 according to an embodiment of the present invention includes an application server communication unit 41, an application server storage unit 43, and an application server controller 45.

응용서버통신부(41)는 통신망(NW)을 통해 사용자 단말기(10) 및 데이터수집서버(20) 및 분석서버(30)와 통신을 수행하기 위한 인터페이스를 가진다. 특히, 응용서버통신부(41)는 분석서버(30)로부터 행동 로그를 분석한 결과에 따른 상품에 대한 정보(예컨대, 함께 구매한 상품 리스트)를 수신할 수 있다. The application server communication unit 41 has an interface for communicating with the user terminal 10, the data collection server 20, and the analysis server 30 through a communication network NW. In particular, the application server communication unit 41 may receive information (eg, a list of products purchased together) according to the result of analyzing the behavior log from the analysis server 30.

응용서버저장부(43)는 응용서버제어부(45)에 의해 실행되거나 처리되는 데이터 혹은 프로그램을 저장한다. 또한, 응용서버저장부(43)는 분석서버(30)로부터 수신한 상품에 대한 정보(예컨대, 함께 구매한 상품 리스트)를 일시 혹은 소정 기한 동안 저장할 수 있다. The application server storage unit 43 stores data or programs executed or processed by the application server control unit 45. In addition, the application server storage unit 43 may store the information on the product received from the analysis server 30 (for example, the list of products purchased together) for a time or a predetermined period.

응용서버제어부(45)는 응용서버통신부(41) 및 응용서버저장부(43)를 포함하는 응용서버(40)의 동작을 전반적으로 제어하는 역할을 하며, 이를 위한 프로세서를 포함할 수 있다. 이러한 응용서버제어부(45)는 응용서버(40)로부터 수신된 상품에 대한 정보(예컨대, 함께 구매한 상품 리스트)를 수집서버저장부(43)에 저장한다. 그리고 수집서버제어부(25)는 필요한 경우, 수집서버통신부(41)를 통해 상품에 대한 정보(예컨대, 함께 구매한 상품 리스트)를 사용자단말기(10)로 전송한다. The application server controller 45 controls the overall operation of the application server 40 including the application server communication unit 41 and the application server storage unit 43, and may include a processor therefor. The application server controller 45 stores the information (eg, a list of products purchased together) received from the application server 40 in the collection server storage 43. And, if necessary, the collection server control unit 25 transmits information about the product (for example, a list of products purchased together) to the user terminal 10 through the collection server communication unit 41.

그러면, 본 발명의 실시예에 따른 상품에 대한 정보를 제공하기 위한 방법에 대해서 설명하기로 한다. 도 6은 본 발명의 실시예에 따른 상품에 대한 정보를 제공하기 위한 방법을 설명하기 위한 흐름도이다. Next, a method for providing information on a product according to an embodiment of the present invention will be described. 6 is a flowchart illustrating a method for providing information about a product according to an embodiment of the present invention.

도 6을 참조하면, 데이터수집서버(20)는 S110 단계에서 복수의 사용자단말기(10)로부터 복수의 행동 로그를 수집할 수 있다. 여기서, 행동 로그는 사용자식별자(UID) 및 상품(item)을 포함한다. Referring to FIG. 6, the data collection server 20 may collect a plurality of behavior logs from the plurality of user terminals 10 in step S110. Here, the behavior log includes a user identifier (UID) and an item.

다음으로, 데이터수집서버(20)는 S120 단계에서 수집된 복수의 행동 로그를 분석서버(30)로 전달한다. 그러면, 분석서버(30)는 S130 단계에서 수신된 복수의 행동 로그를 유사도 연산을 통해 분석하여 상품에 대한 정보를 생성한다. 이때, 데이터수집서버(20)는 유사도 연산 시, 복수의 행동 로그 중 일부를 소거하고, 나머지 행동 로그를 통해 유사도 연산을 수행한다. 이에 따라, 유사도 연산의 속도가 향상된다. Next, the data collection server 20 transmits the plurality of behavior logs collected in step S120 to the analysis server 30. Then, the analysis server 30 analyzes the plurality of behavior logs received in step S130 through a similarity calculation to generate information about the product. In this case, the data collection server 20 erases some of the plurality of behavior logs during the similarity calculation and performs the similarity calculation through the remaining behavior logs. As a result, the speed of the similarity calculation is improved.

그러면, 보다 자세히 본 발명의 실시예에 따른 유사도 연산 방법에 대해서 설명하기로 한다. Next, a similarity calculation method according to an embodiment of the present invention will be described in detail.

본 발명은 다음의 수학식 1과 같이 자카드 유사도(jacard similarity)를 이용하여 유사도를 산출한다. The present invention calculates the similarity using the Jaccard similarity as shown in Equation 1 below.

Figure pat00001
Figure pat00001

즉, 수학식 1과 같이, 아이템, 즉, 상품 A와 상품 B에 대한 행동 로그의 합집합을 분모로 그리고 상품 A와 상품 B에 대한 행동 로그의 교집합을 분모로 하여 그 값을 산출한다. 여기서, 상품 A와 상품 B에 대한 행동 로그의 합집합은 구매 상품이 적어도 상품 A와 상품 B 중 어느 하나를 포함하는 행동 로그이며, 상품 A와 상품 B에 대한 행동 로그의 교집합은 구매 상품이 상품 A와 상품 B를 모두 포함하는 행동 로그이다. 그리고 산출된 값이 클수록 유사도가 높은 것으로 판단한다. 상품 A와 상품 B의 유사도가 높은 것으로 판단한다. That is, as shown in Equation 1, the value is calculated by using the denominator of the union of the behavior logs for the items A, ie, the commodity A and the commodity B, and the denominator of the interaction log of the commodities A and B. Here, the union of the behavior log for commodity A and commodity B is the behavior log where the purchased commodity includes at least one of commodity A and commodity B, and the intersection of the behavior log for commodity A and commodity B is the commodity A This is an action log that contains both and product B. The larger the calculated value, the higher the degree of similarity. The similarity between commodity A and commodity B is judged to be high.

예를 들면, 6개의 행동 로그(L1~L6)를 포함하는 데이터가 다음의 표 1과 같다고 가정한다. For example, assume that data including six behavioral logs L1 to L6 are shown in Table 1 below.

행동 로그Behavior log 사용자식별자User identifier 상품 AItem A 상품 BItem B L1L1 UID1UID1 1One 00 L2L2 UID2UID2 1One 00 L3L3 UID3UID3 1One 00 L4L4 UID4UID4 00 1One L5L5 UID5UID5 00 1One L6L6 UID6UID6 00 1One

표 1의 행동 로그 L1, L2, L3와 같이, 사용자 3명이 상품 A만을 구매했고, 행동 로그 L4, L5, L6과 같이, 사용자 3명이 상품 B만을 구매했다면, 상품 A 및 상품 B 간의 유사도는 수학식 1에 따라 (0/3+3-0) = 0이다. 이와 같이, 행동 로그 중 상품 1개만을 구매한 사용자의 행동 로그는 유사도 연산 결과에 영향이 없을 수 있다. 따라서 본 발명은 이와 같이, 유사도 연산 결과에 영향이 없는 행동 로그를 소거하여 연산 시, 해당 데이터(행동 로그)에 대한 불필요한 연산을 줄이고자 한다. If three users purchased only product A, such as behavior logs L1, L2, and L3 in Table 1, and three users purchased only product B, such as behavior logs L4, L5, and L6, the similarity between product A and product B is (0/3 + 3-0) = 0 according to Equation 1. As such, the behavior log of a user who purchases only one product among the behavior logs may not affect the similarity calculation result. Accordingly, the present invention is intended to reduce unnecessary operations on the data (behavior log) during the operation by erasing the behavior log that does not affect the similarity calculation result.

한편, 200,000개의 행동 로그(L1~L200,000)를 포함하는 데이터가 다음의 표 2와 같다고 가정한다. Meanwhile, it is assumed that data including 200,000 behavior logs (L1 to L200,000) are shown in Table 2 below.

행동 로그Behavior log 사용자식별자User identifier 상품 AItem A 상품 BItem B L1L1 UID1UID1 1One 00 L2L2 UID2UID2 1One 00 L3L3 UID3UID3 1One 00 ?? ?? ?? ?? L100,000L100,000 UID100,000UID100,000 1One 00 L100,001L100,001 UID100,001UID100,001 00 1One L100,002L100,002 UID100,002UID100,002 00 1One L100,003L100,003 UID100,003UID100,003 00 1One ?? ?? ?? ?? L199,999L199,999 UID199,999UID199,999 00 1One L200,000L200,000 UID200,000UID200,000 1One 1One

표 2의 경우, 행동 로그 L1~L100,000와 같이, 사용자 100,000명이 상품 A를 구매했고, 행동 로그 L100,001~L199,999와 같이, 사용자 199,999명이 상품 B만을 구매했고, 행동 로그 L200,000과 같이, 사용자 1명이 상품 A 및 상품 B를 모두 구매했다고 가정한다. For Table 2, 100,000 users purchased Product A, such as Behavior Logs L1 through L100,000, 199,999 users purchased only Product B, such as Behavior Logs L100,001 through L199,999, and Behavior Log L200,000. As such, it is assumed that one user has purchased both product A and product B.

이러한 경우, 상품 A와 상품 B 간의 유사도는 수학식 1에 따라 1/(100,001+100,000-1) = 1/200,000 의 결과를 얻게 된다. In this case, the similarity between product A and product B yields 1 / (100,001 + 100,000-1) = 1 / 200,000 according to equation (1).

여기서, 만약, 하나의 사용자가 하나의 상품만을 구매한 행동 로그를 모두 소거한다면, 상품 A와 상품 B 간의 유사도는 수학식 1에 따라 1/(1+1-1)=1이된다. 이는 결과의 왜곡을 초래한다. Here, if one user erases all of the behavior logs in which only one product is purchased, the similarity between the goods A and B is 1 / (1 + 1-1) = 1 according to Equation (1). This leads to distortion of the result.

이와 같이, 복수의 행동 로그 중 하나의 사용자가 하나의 상품만을 구매한 행동 로그를 모두 삭제하는 경우, 유사도 연산의 결과를 왜곡시킬 수도 있다. As such, when a user of one of the plurality of behavior logs deletes all behavior logs in which only one product is purchased, the result of the similarity calculation may be distorted.

표 1의 행동 로그 L1~L6와 같이, 상품 A 및 B 두가지만 고려하는 경우, 각 행동 로그의 사용자가 하나의 상품만을 구매하였다고 판단할 수 있다. 하지만, 어느 사용자가 상품 H, I 등을 구매했을 수도 있기 때문에 해당 사용자의 행동 로그를 지우면, 유사도 산출 결과가 왜곡될 수도 있다. As shown in the behavior logs L1 to L6 of Table 1, when only two products A and B are considered, it can be determined that the user of each behavior log has purchased only one product. However, since a user may have purchased a product H, I, etc., deleting the user's behavior log may distort the similarity calculation result.

따라서 본 발명은 유사도 연산의 결과를 왜곡시키지 않고, 연산량을 줄일 수 있도록 추천 상품(RG)의 수 및 행동 로그의 구매 상품의 수에 따라 소거하고자 하는 행동 로그, 즉, 소거 대상을 특정할 수 있다. Accordingly, the present invention can specify the behavior log, that is, the object to be erased, according to the number of recommended products RG and the number of purchased products in the behavior log so as to reduce the computation amount without distorting the result of the similarity calculation. .

전술한 바와 같은 방법에 따라 분석서버(30)는 유사도 연산을 통해 상품에 대한 정보를 산출한다. According to the method as described above, the analysis server 30 calculates information on the product through the similarity calculation.

이어서, 분석서버(30)는 S140 단계에서 생성된 상품에 대한 정보를 응용서버(40)로 전송한다. 이러한 상품에 대한 정보는 예컨대, 함께 구매한 상품 리스트가 될 수 있다. 상품에 대한 정보를 수신한 응용서버(40)는 필요한 경우, 이러한 상품에 대한 정보를 사용자단말기(10)에 제공할 수 있다. Subsequently, the analysis server 30 transmits the information on the product generated in step S140 to the application server 40. Information about such a product may be, for example, a list of products purchased together. The application server 40 which has received the information about the product may provide the user terminal 10 with the information about the product if necessary.

그러면, 보다 자세히, 전술한 S130 단계의 유사도 연산의 결과를 왜곡시키지 않고, 연산량을 줄일 수 있도록 소거 대상을 특정하여 유사도 연산을 수행하는 방법을 보다 상세하게 설명하기로 한다. 도 7은 본 발명의 실시예에 따른 고속 유사도 연산 방법을 설명하기 위한 흐름도이다. 이러한 도 7을 참조로 하는 실시예는 도 6의 S130 단계를 보다 자세히 설명하기 위한 것이다. Then, in more detail, a method of performing the similarity operation by specifying the erase target so as to reduce the amount of calculation without distorting the result of the similarity operation in step S130 described above will be described in more detail. 7 is a flowchart illustrating a fast similarity calculation method according to an embodiment of the present invention. This embodiment with reference to FIG. 7 is for explaining the step S130 of FIG. 6 in more detail.

도 7을 참조하면, 전처리모듈(35a)은 S131 단계에서 분석서버저장부(32)에 저장된 복수의 행동 로그를 리드하고, S132 단계에서 복수의 행동 로그를 사용자식별자(UID) 및 상품(item)에 따라 정렬할 수 있다. 예컨대, 전처리모듈(35a)은 사용자식별자(UID)를 열로 하고, 상품(item)을 행으로 하는 테이블(Table)을 생성할 수 있다. Referring to FIG. 7, the preprocessing module 35a reads a plurality of behavior logs stored in the analysis server storage unit 32 in step S131, and the user logs and items of the plurality of behavior logs in step S132. You can sort by. For example, the preprocessing module 35a may generate a table having a user identifier (UID) as a column and a product as a row.

이어서, 전처리모듈(35a)은 S133 단계에서 복수의 행동 로그 중 일부를 소거하는 전처리를 수행한다. 이때, 전처리모듈(35a)은 제공하고자 하는 상품에 대한 정보의 양에 따라 전체 행동 로그에서 소거하는 행동 로그의 비율인 소거 비율을 결정한다. 또한, 전처리모듈(35a)은 결정된 소거 비율에 따라 소거하는 행동 로그(행동 로그의 구매 상품의 수)를 결정한다. 예를 들면, 어느 하나의 사용자가 사용자단말기(10)를 통해 대상 상품(TG)을 조회하거나, 임시 저장(장바구니에 담기) 혹은 구매하고자 할 때, 추천 상품(RG), 즉, '함께 구매한 상품'을 상품에 대한 정보로 제공하고자 하는 상황을 가정한다. 이때, 제공하고자 하는 상품에 대한 정보의 양인 추천 상품(RG)의 수가 많을수록 소거하는 행동 로그의 비율인 소거 비율이 줄어든다. 추천 상품(RG)의 수가 적을수록 소거하는 행동 로그의 비율인 소거 비율이 늘어난다. 또한, 전처리모듈(35a)은 구매 상품의 수가 1개인 행동 로그가 전체 행동 로그에서 차지하는 비율이 소거 비율 미만이면, 구매 상품의 수가 1개인 행동 로그를 소거하고, 소거 비율 이상이면, 유사도 연산 결과에 영향을 미치기 때문에 구매 상품의 수가 1개인 행동 로그를 소거할 수 없다. 따라서 결정된 소거 비율에 따라 소거하는 행동 로그를 결정한다. 구체적으로, 전처리모듈(35a)은 하나의 상품을 구매한 것으로 나타나는 행동 로그의 수가 전체 행동 로그 대비 결정된 소거 비율 미만인 경우, 해당 행동 로그를 소거할 수 있다. Subsequently, the preprocessing module 35a performs preprocessing to erase some of the plurality of behavior logs in step S133. At this time, the preprocessing module 35a determines an erasing ratio which is the ratio of the behavior log to be erased from the entire behavior log according to the amount of information on the product to be provided. In addition, the preprocessing module 35a determines the behavior log (the number of goods purchased in the behavior log) to be erased according to the determined erase ratio. For example, when a user wants to search, temporarily store (add to cart) or purchase a target product (TG) through the user terminal 10, the recommended product (RG), that is, purchased together Assume a situation where you want to provide 'product' as information about a product. In this case, as the number of recommended products RG, which is the amount of information on the product to be provided, increases, the erase ratio, which is the ratio of the behavior log to erase, decreases. As the number of recommended products RG decreases, the erase ratio, which is the ratio of the behavior log to erase, increases. The preprocessing module 35a deletes the behavior log of the number of purchased products if the ratio of the behavior log having the number of purchased products is one less than the erasure ratio. It is not possible to clear the behavior log of the number of purchased goods because of the influence. Therefore, the behavior log to be erased is determined according to the determined erase ratio. In detail, the preprocessing module 35a may erase the corresponding behavior log when the number of behavior logs indicated as having purchased one product is less than the determined erasing ratio relative to the total behavior logs.

다음으로, 전처리모듈(35a)은 S134 단계에서 상품의 명칭에 따라 복수의 행동 로그를 정렬한다. 그리고 전처리모듈(35a)은 S135 단계에서 상품의 명칭에 따라 복수의 행동 로그를 그룹화한다. Next, the preprocessing module 35a sorts the plurality of behavior logs according to the name of the product in step S134. In operation S135, the preprocessing module 35a groups the plurality of action logs according to the name of the product.

이어서, 유사도산출모듈(35b)은 S136 단계에서 상품의 명칭에 따라 유사도 연산을 수행한다. 여기서, 유사도산출모듈(35b)은 어느 하나의 상품과 다른 상품 중 적어도 하나를 포함하는 행동 로그인 합집합을 분모로 하고, 어느 하나의 상품과 다른 상품을 모두 포함하는 행동 로그인 교집합을 분자로 하여 어느 하나의 상품과 다른 상품의 유사도를 산출한다. 이때, 미리 하나의 상품을 구매한 구매 이력에 따른 행동 로그가 소거되었기 때문에 연산을 속도가 향상된다. Next, the similarity calculation module 35b performs a similarity calculation according to the name of the product in step S136. Here, the similarity calculation module 35b uses a behavior login union including at least one of any one product and another product as a denominator, and the behavior login intersection including all of one product and other products as a numerator. Calculate the similarity between At this time, since the behavior log according to the purchase history of purchasing one product in advance is erased, the operation speed is improved.

다음으로, 정보제공모듈(35c)은 S137 단계에서 유사도산출모듈(35b)의 유사도 연산 결과에 따라 상품에 대한 정보를 생성한다. 여기서, 정보제공모듈(35c)은 유사도산출모듈(35b)이 산출한 유사도에 따라 유사도가 높은 순으로 소정 수의 상품을 상품에 대한 정보로 생성할 수 있다. Next, the information providing module 35c generates information about the product according to the similarity calculation result of the similarity calculating module 35b in step S137. Here, the information providing module 35c may generate a predetermined number of products as information about the products in order of high similarity according to the similarity calculated by the similarity calculating module 35b.

이러한 상품에 대한 정보는 예컨대, 함께 구매한 상품 리스트가 될 수 있다. 정보제공모듈(35c)은 생성된 상품에 대한 정보를 분석서버통신부(31)를 통해 응용서버(40)로 전송할 수 있다. Information about such a product may be, for example, a list of products purchased together. The information providing module 35c may transmit the information about the generated product to the application server 40 through the analysis server communication unit 31.

한편, 본 발명의 보다 구체적인 실시예에 따른 고속 유사도 연산을 기초로 상품에 대한 정보를 제공하는 방법에 대해서 설명하기로 한다. 도 8은 본 발명의 다른 실시예에 따른 상품에 대한 정보를 제공하는 방법을 설명하기 위한 흐름도이다. 도 9는 본 발명의 다른 실시예에 따른 상품에 대한 정보를 제공하는 방법을 설명하기 위한 화면 예이다. 강조하면, 도 8 및 도 9를 참조로 하는 실시예는 도 6의 S130 단계 그리고 도 7의 보다 구체적인 실시예이다. Meanwhile, a method of providing information about a product based on a fast similarity calculation according to a more specific embodiment of the present invention will be described. 8 is a flowchart illustrating a method of providing information about a product according to another embodiment of the present invention. 9 is a screen example for explaining a method for providing information on a product according to another exemplary embodiment of the present invention. 8 and 9 are more specific embodiments of FIG. 6 and step S130 of FIG. 7.

도 8 및 도 9를 참조하면, 분석서버제어부(35)는 S210 단계에서 분석서버통신부(31)를 통해 응용서버(40)로부터 상품 추천 요청 메시지를 수신하는 상황을 가정한다. 상품 추천 요청 메시지는 도 9에 도시된 바와 같이, 대상 상품(TG)에 대한 추천 상품(RG)을 요청하는 메시지이다. 이에 따라, 상품 추천 요청 메시지는 대상 상품(TG) 및 추천 상품(RG)의 수를 포함한다. 예컨대, 응용서버(40)가 웹 사이트를 통해 어느 하나의 사용자가 사용자단말기(10)를 통해 대상 상품(TG)을 조회하거나, 임시 저장(장바구니에 담기) 혹은 구매하고자 할 때, 추천 상품(RG), 즉, '함께 구매한 상품'을 6개 보여주고자 하는 상황을 가정하며, 이때, 추천 상품(RG)의 수는 6이된다. 8 and 9, it is assumed that the analysis server control unit 35 receives a product recommendation request message from the application server 40 through the analysis server communication unit 31 in step S210. The product recommendation request message is a message for requesting a recommendation product RG for the target product TG, as shown in FIG. 9. Accordingly, the product recommendation request message includes the number of the target product TG and the recommended product RG. For example, when the application server 40 attempts to search, temporarily store (add to cart), or purchase a target product TG through the user terminal 10 through the web site, the recommended product RG In other words, it is assumed that the situation is to show six 'goods purchased together', the number of the recommended product (RG) is six.

상품 추천 요청 메시지를 수신하면, 전처리모듈(35a)은 S220 단계에서 분석서버저장부(32)에 저장된 복수의 행동 로그, 즉, 전체 행동 로그를 사용자 별로 정렬한다. 예를 들어, 다음의 표 3과 같이, 전처리모듈(35a)은 전체 행동 로그를 사용자의 사용자식별자(UID)를 열(row)로 하고, 구매한 상품(item)을 행으로 하는 테이블을 생성할 수 있다. Upon receiving the product recommendation request message, the preprocessing module 35a sorts the plurality of behavior logs stored in the analysis server storage unit 32, that is, the entire behavior logs in step S220, for each user. For example, as shown in Table 3 below, the preprocessing module 35a generates a table in which the entire behavior log is a row of the user identifier (UID) of the user, and the row of the item purchased. Can be.

행동 로그Behavior log 사용자식별자User identifier 상품 AItem A 상품 BItem B 상품 CItem C 상품 DProduct D ?? L1L1 UID1UID1 1One 00 1One 1One ?? L2L2 UID2UID2 00 1One 00 1One ?? L3L3 UID3UID3 1One 00 00 00 ?? L4L4 UID4UID4 00 1One 1One 00 ?? L5L5 UID5UID5 00 00 00 1One ?? L6L6 UID6UID6 1One 1One 00 1One ?? ?? ?? ?? ?? ?? ??

다음으로, 전처리모듈(35a)은 S230 단계에서 상품 추천 요청 메시지의 추천 상품(RG)의 수에 따라 전체 행동 로그에서 소거할 수 있는 행동 로그의 비율인 소거 비율을 결정한다. 여기서, 소거 비율은 추천 상품의 수가 많을수록 줄어든다. 직관적으로, 소거 비율은 추천 상품의 수에 반비례할 수 있다. 예컨대, 추천 상품(RG)의 수가 6일 때, 소거 비율이 10%라면, 추천 상품(RG)의 수가 30개라면, 소거 비율은 5%가 될 수 있다. 다음으로, 전처리모듈(35a)은 S240 단계에서 소거 비율 및 행동 로그의 구매 상품의 수에 따라 소거 대상을 결정한다. 일례로, 추천 상품(RG)의 수가 6이며, 이에 따른 소거 비율이 10%라고 가정한다. 전처리모듈(35a)은 전체 행동 로그 중 표 3의 L2, L3, L4, L5와 같이, 한 사용자의 구매 상품의 수가 2개 이하인 행동 로그가 차지하는 비율을 산출한다. 이때, 산출된 비율이 15%라면, 전처리모듈(35a)은 산출된 비율이 소거 비율 이상(10%<15%)이기 때문에 구매 상품의 수가 2개 이하인 행동 로그를 소거 대상에서 제외한다. 그리고 전처리모듈(35a)은 표 3의 L3, L5와 같이, 하나의 사용자의 구매 상품의 수가 1개인 행동 로그가 로그 데이터에서 차지하는 비율을 산출한다. 이때, 산출된 비율이 8%라면, 전처리모듈(35a)은 산출된 비율이 소거 비율 미만(10%>8%)이기 때문에 구매 상품의 수가 1개인 행동 로그를 소거 대상으로 결정한다. Next, the preprocessing module 35a determines an erase ratio, which is a ratio of behavior logs that can be erased from the entire behavior log, according to the number of recommended products RG of the product recommendation request message in step S230. Here, the erase ratio decreases as the number of recommended products increases. Intuitively, the erase ratio may be inversely proportional to the number of recommended products. For example, when the number of the recommended products RG is 6, if the erase ratio is 10%, if the number of the recommended products RG is 30, the erase ratio may be 5%. Next, the preprocessing module 35a determines an erase target according to the erase ratio and the number of purchased goods in the behavior log in step S240. As an example, it is assumed that the number of recommended products RG is 6, and thus the erase ratio is 10%. The preprocessing module 35a calculates a ratio of the behavior logs of which the number of purchased goods of a user is two or less, as in L2, L3, L4, and L5 of Table 3 of the entire behavior logs. At this time, if the calculated ratio is 15%, the preprocessing module 35a excludes the activity log having the number of purchase products of two or less because the calculated ratio is greater than or equal to the erase ratio (10% <15%). The preprocessing module 35a calculates a ratio of the log of the behavioral log of which the number of purchased goods of one user is one, as in L3 and L5 of Table 3. At this time, if the calculated ratio is 8%, the preprocessing module 35a determines the behavior log whose number of purchased products is one because the calculated ratio is less than the erase ratio (10%> 8%).

이어서, 전처리모듈(35a)은 S250 단계에서 전체 행동 로그에서 앞서 결정된 소거 대상인 행동 로그를 소거한다. Subsequently, the preprocessing module 35a erases the previously determined behavior log from the entire behavior log at step S250.

다음으로, 전처리모듈(35a)은 S260 단계에서 소거 대상이 제거된 전체 행동 로그를 상품명(item)에 따라 정렬하고, 상품명(item)에 따라 그룹화한 후, 대상 상품(TG)에 대한 그룹을 추출한다. 예를 들면, 대상 상품(TG)이 상품 A인 경우, 즉, 상품 A와 '함께 구매한 상품'을 추천하기 위해 구매 상품 A를 포함하는 모든 행동 로그를 추출한다. 즉, 소거 대상인 구매 상품의 수가 1개인 행동 로그인 경우, 데이터 L3는 소거되기 때문에 L1 및 L6가 상품 A에 대한 그룹이 될 수 있다. Next, the preprocessing module 35a sorts the entire behavior log from which the object to be erased has been removed in step S260 according to a product name, groups them according to the product name, and then extracts a group for the target product TG. do. For example, if the target product TG is a product A, that is, to recommend a product purchased with the product A, all the behavior logs including the purchased product A are extracted. That is, in the case of the behavior login in which the number of purchased products to be erased is one, L1 and L6 may be groups for the goods A because the data L3 is erased.

다음으로, 유사도산출모듈(35b)은 S270 단계에서 수학식 1에 따라 대상 상품(TG)과 복수의 다른 상품과의 유사도를 산출한다. 즉, 유사도산출모듈(35b)은 대상 상품(TG)과 다른 상품 중 적어도 하나를 포함하는 행동 로그인 합집합을 분모로 하고, 대상 상품(TG)과 다른 상품을 모두 포함하는 행동 로그인 교집합을 분자로 하여 대상 상품(TG)과 다른 상품의 유사도를 산출한다. Next, the similarity calculation module 35b calculates similarity between the target product TG and a plurality of other products according to Equation 1 in operation S270. That is, the similarity calculation module 35b uses the behavior login union including at least one of the target product TG and other products as the denominator, and the behavior login intersection including both the target product TG and other products as the numerator. The similarity between the target product TG and another product is calculated.

예컨대, 대상 상품(TG)이 상품 A인 경우, 유사도산출모듈(35b)은 상품 A와 다른 상품(상품 B, C, D, E, ?) 각각과의 유사도를 산출한다. For example, when the target product TG is the product A, the similarity calculation module 35b calculates the similarity between the product A and each of the other products (products B, C, D, E,?).

유사도산출모듈(35b)은 수학식 1에 따라 대상 상품(TG), 예컨대, 상품 A와 다른 상품(상품 B, C, D, E, ?)에 대한 행동 로그의 합집합을 분모로 그리고 대상 상품(TG)과 다른 상품에 대한 행동 로그의 교집합을 분모로 하여 유사도를 산출할 수 있다. 여기서, 대상 상품(TG)과 다른 상품에 대한 행동 로그의 합집합은 구매 상품이 적어도 대상 상품(TG)과 다른 상품 중 어느 하나를 포함하는 행동 로그이며, 대상 상품(TG)과 다른 상품에 대한 행동 로그의 교집합은 구매 상품이 대상 상품(TG)과 다른 상품을 모두 포함하는 행동 로그이다.The similarity calculation module 35b calculates the union of the behavior log for the target product TG, for example, the product A and another product (products B, C, D, E,?) According to Equation 1 as the denominator and the target product ( The similarity can be calculated by using the intersection of TG) and the log of behavior for other products as the denominator. Here, the union of the behavior log for the target product and the other product is the behavior log in which the purchased product includes at least one of the target product and the other product, and the behavior for the target product and the other product. The intersection of the logs is the behavior log in which the purchased product includes both the target product (TG) and other products.

이어서, 정보제공모듈(35c)은 S280 단계에서 유사도산출모듈(55b)이 산출한 유사도에 따라 유사도가 높은 순으로 추천 상품(RG)의 수(예컨대, 6개)의 상품을 추천 상품으로 도출한다. 그러면, 정보제공모듈(35c)은 도출된 추천 상품을 상품에 대한 정보로 분석서버통신부(31)를 통해 응용서버(40)로 전송한다. 이에 따라, 응용서버(40)는 도 9에 도시된 바와 같은 웹 페이지 화면을 구성하여 사용자단말기(10)에 제공할 수 있다. Subsequently, the information providing module 35c derives the number of products (eg, six) of the recommended products RG as recommended products in the order of high similarity according to the similarity calculated by the similarity calculation module 55b in step S280. . Then, the information providing module 35c transmits the derived recommendation product to the application server 40 through the analysis server communication unit 31 as information about the product. Accordingly, the application server 40 may construct a web page screen as shown in FIG. 9 and provide the same to the user terminal 10.

전술한 바와 같은 본 발명에 따르면, 유사도 연산에 결과에 영향을 미치지 않는 복수의 행동 로그를 소거 대상으로 특정하고, 전처리 과정에서 소거함으로써 유사도 연산의 속도가 향상되며, 이를 통해 시스템의 부하를 감소시킬 수 있다. According to the present invention as described above, by specifying a plurality of behavior logs that do not affect the results of the similarity operation as the erase target, and by erasing in the preprocessing process, the speed of the similarity operation is improved, thereby reducing the load on the system. Can be.

이상에서 설명한 바와 같이, 본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.As described above, the specification includes the details of a number of specific implementations, but these should not be understood as being limited to the scope of any invention or claimable, but rather may be specific to a particular embodiment of a particular invention. It should be understood as a description of the features. Certain features that are described in this specification in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable subcombination. Furthermore, while the features may operate in a particular combination and may be initially depicted as so claimed, one or more features from the claimed combination may in some cases be excluded from the combination, the claimed combination being a subcombination Or a combination of subcombinations.

마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.Likewise, although the operations are depicted in the drawings in a specific order, it should not be understood that such operations must be performed in the specific order or sequential order shown in order to obtain desirable results or that all illustrated operations must be performed. In certain cases, multitasking and parallel processing may be advantageous. Moreover, the separation of the various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems will generally be integrated together into a single software product or packaged into multiple software products. It should be understood that it can.

본 명세서에서 설명한 주제의 특정한 실시형태를 설명하였다. 기타의 실시형태들은 이하의 청구항의 범위 내에 속한다. 예컨대, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다. 특정한 구현예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.Specific embodiments of the subject matter described in this specification have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order but still achieve desirable results. As an example, the process depicted in the accompanying drawings does not necessarily require that particular depicted or sequential order to obtain desirable results. In certain implementations, multitasking and parallel processing may be advantageous.

본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.The foregoing description presents the best mode of the invention, and provides examples to illustrate the invention and to enable those skilled in the art to make and use the invention. The specification thus produced is not intended to limit the invention to the specific terms presented. Thus, while the present invention has been described in detail with reference to the examples described above, those skilled in the art can make modifications, changes and variations to the examples without departing from the scope of the invention.

따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.Therefore, the scope of the present invention should be determined by the claims rather than by the embodiments described.

본 발명은 고속 유사도 연산 기반의 상품을 추천하기 위한 방법 및 이를 위한 추천 서버에 관한 것으로서, 본 발명을 이용하면 추천 상품을 도출하기 위해 사용되는 유사도 연산 시, 불요한 행동 로그를 소거함으로써 유사도 연산의 속도를 향상시킬 수 있다. 이에 따라, 시스템의 부하를 감소시킬 수 있으며 시스템의 속도를 향상시킬 수 있다. 이는 곧 서비스 산업의 발전에 이바지할 수 있으며, 더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.The present invention relates to a method for recommending a product based on a fast similarity calculation, and a recommendation server for the same. When the similarity calculation used to derive a recommendation product is used, the present invention eliminates unnecessary behavior logs. Can improve speed. Accordingly, the load on the system can be reduced and the speed of the system can be improved. This may soon contribute to the development of the service industry, and in addition, the present invention has industrial applicability because the present invention is not only commercially available or commercially viable, but also practically and clearly implementable.

10: 사용자단말기 11: 통신부
13: 입력부 15: 표시부
17: 저장부 19: 제어부
20: 데이터수집서버 21: 수집서버통신부
23: 수집서버저장부 25: 수집서버제어부
30: 분석서버 31: 분석서버통신부
33: 분석서버저장부 35: 분석서버제어부
35a: 전처리모듈 35b: 유사도산출모듈
35c: 정보제공모듈 40: 응용서버
41: 응용서버통신부 43: 응용서버저장부
45: 응용서버제어부
10: user terminal 11: communication unit
13: input section 15: display section
17: storage unit 19: control unit
20: data collection server 21: collection server communication unit
23: collection server storage unit 25: collection server control unit
30: analysis server 31: analysis server communication unit
33: analysis server storage unit 35: analysis server control unit
35a: preprocessing module 35b: similarity calculation module
35c: information providing module 40: application server
41: application server communication unit 43: application server storage unit
45: application server control unit

Claims (9)

데이터수집서버가 사용자단말기로부터 각각이 사용자식별자 및 상품을 포함하는 복수의 행동 로그를 수집하여 분석서버로 전송하는 단계;
상기 분석서버가 복수의 행동 로그 중 일부를 소거하는 단계;
상기 분석서버가 일부가 소거된 복수의 행동 로그에 대해 유사도 연산을 수행하여 유사도를 산출하는 단계;
상기 분석서버가 상기 유사도 연산 결과에 따라 상품에 대한 정보를 생성하는 단계; 및
상기 분석서버가 상기 상품에 대한 정보를 응용서버로 전송하는 단계;를 포함하는 것을 특징으로 하는 상품에 대한 정보를 제공하기 위한 방법.
Collecting, by the data collection server, a plurality of behavior logs, each of which includes a user identifier and a product, from the user terminal to the analysis server;
Clearing, by the analysis server, some of the plurality of behavior logs;
Calculating, by the analysis server, a similarity operation by performing a similarity operation on the plurality of behavior logs whose portions have been partially erased;
Generating, by the analysis server, information about a product according to a result of the similarity calculation; And
And transmitting, by the analysis server, the information about the product to an application server.
제1항에 있어서,
상기 복수의 행동 로그 중 일부를 소거하는 단계는
제공하고자 하는 상품에 대한 정보의 양에 따라 전체 행동 로그에서 소거하는 행동 로그의 비율인 소거 비율을 결정하는 단계;를 포함하는 것을 특징으로 하는 상품에 대한 정보를 제공하기 위한 방법.
The method of claim 1,
Clearing some of the plurality of behavior logs
And determining an erase ratio, which is a ratio of a behavior log to be erased from the entire behavior log, according to the amount of information on the product to be provided.
제2항에 있어서,
상기 복수의 행동 로그 중 일부를 소거하는 단계는
상기 소거 비율을 결정하는 단계 후,
상기 결정된 소거 비율에 따라 소거하는 행동 로그의 구매 상품의 수를 결정하는 것을 특징으로 하는 상품에 대한 정보를 제공하기 위한 방법.
The method of claim 2,
Clearing some of the plurality of behavior logs
After determining the erase ratio,
And determining the number of purchased goods in the behavior log to erase according to the determined erase rate.
제1항에 있어서,
상기 유사도 연산을 수행하여 유사도를 산출하는 단계는
어느 하나의 상품과 다른 상품 중 적어도 하나를 포함하는 행동 로그인 합집합을 분모로 하고,
상기 어느 하나의 상품과 상기 다른 상품을 모두 포함하는 행동 로그인 교집합을 분자로 하여
상기 어느 하나의 상품과 상기 다른 상품의 유사도를 산출하는 것을 특징으로 하는 상품에 대한 정보를 제공하기 위한 방법.
The method of claim 1,
Computing the similarity by performing the similarity operation
Denominator the action login union that includes at least one of one product and another product,
By using a behavior login intersection that includes both the one product and the other product as a molecule
And calculating the similarity between the one product and the other product.
제4항에 있어서,
상기 유사도 연산 결과에 따라 상품에 대한 정보를 생성하는 단계는
상기 산출된 유사도에 따라 상기 유사도가 높은 순으로 소정 수의 상품을 상품에 대한 정보로 도출하는 것을 특징으로 하는 상품에 대한 정보를 제공하기 위한 방법.
The method of claim 4, wherein
Generating information about the product according to the result of the similarity calculation
And deriving a predetermined number of products as information about the products in order of high similarity according to the calculated similarity.
응용서버와의 통신을 위한 분석서버통신부;
상기 분석서버통신부를 통해 상기 응용서버로부터 대상 상품 및 추천 상품의 수를 포함하는 추천 상품 요청 메시지를 수신하면, 사용자식별자와 상기 사용자 식별자에 대응하는 구매 상품을 포함하는 복수의 행동 로그 중 소거 대상을 특정하고, 복수의 행동 로그에서 상기 특정된 소거 대상을 소거하는 전처리모듈; 및
상기 소거 대상이 소거된 복수의 행동 로그를 이용하여 상기 대상 상품과의 유사도를 산출하는 유사도산출모듈;을 포함하는 것을 특징으로 하는 상품에 대한 정보를 제공하기 위한 장치.
Analysis server communication unit for communication with the application server;
Upon receiving the recommendation product request message including the number of the target product and the recommended product from the application server through the analysis server communication unit, the erase target is deleted from the plurality of behavior logs including the user identifier and the purchased product corresponding to the user identifier. A preprocessing module that specifies and erases the specified erasing object from a plurality of behavior logs; And
And a similarity calculation module configured to calculate a similarity with the target product by using the plurality of behavior logs in which the object to be erased is erased.
제6항에 있어서,
상기 전처리모듈은
상기 추천 상품의 수에 따라 소거할 수 있는 행동 로그의 비율인 소거 비율을 산출하고,
상기 산출된 소거 비율 및 행동 로그의 구매 상품의 수에 따라 소거 대상을 결정하는 것을 특징으로 하는 상품에 대한 정보를 제공하기 위한 장치.
The method of claim 6,
The pretreatment module
Calculating an erase ratio, which is a ratio of an action log that can be erased according to the number of recommended products,
And an object to be erased according to the calculated erase ratio and the number of purchased goods in the behavior log.
제6항에 있어서,
상기 유사도산출모듈은
대상 상품과 다른 상품 중 적어도 하나를 포함하는 행동 로그인 합집합을 분모로 하고,
상기 대상 상품과 상기 다른 상품을 모두 포함하는 행동 로그인 교집합을 분자로 하여
상기 대상 상품과 상기 다른 상품의 유사도를 산출하는 것을 특징으로 하는 상품에 대한 정보를 제공하기 위한 장치.
The method of claim 6,
The similarity calculation module
Denominator the action login union that includes at least one of the target product and another product,
By using the behavior login intersection that includes both the target product and the other product as a molecule
Apparatus for providing information about the product, characterized in that for calculating the similarity between the target product and the other product.
제6항에 있어서,
상기 다른 상품 중 상기 산출된 유사도에 따라 상기 유사도가 높은 순으로 상기 추천 상품의 수의 상품을 추천 상품으로 도출하고,
상기 도출된 추천 상품을 상기 분석서버통신부를 통해 상기 응용서버로 전송하는 정보제공모듈;을 더 포함하는 것을 특징으로 하는 상품에 대한 정보를 제공하기 위한 장치.
The method of claim 6,
Deriving the product of the number of the recommended products in the order of high similarity according to the calculated similarity among the other products as recommended products,
And an information providing module for transmitting the derived recommendation goods to the application server through the analysis server communication unit.
KR1020180064815A 2018-06-05 2018-06-05 A method for presenting information on a product based on high speed similarity calculation and an apparatus therefor KR102652416B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180064815A KR102652416B1 (en) 2018-06-05 2018-06-05 A method for presenting information on a product based on high speed similarity calculation and an apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180064815A KR102652416B1 (en) 2018-06-05 2018-06-05 A method for presenting information on a product based on high speed similarity calculation and an apparatus therefor

Publications (2)

Publication Number Publication Date
KR20190138412A true KR20190138412A (en) 2019-12-13
KR102652416B1 KR102652416B1 (en) 2024-03-29

Family

ID=68847472

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180064815A KR102652416B1 (en) 2018-06-05 2018-06-05 A method for presenting information on a product based on high speed similarity calculation and an apparatus therefor

Country Status (1)

Country Link
KR (1) KR102652416B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2744294C1 (en) * 2020-09-22 2021-03-04 Общество с ограниченной ответственностью "Сибирь Телематика" System and method for parameters control of glass products production

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100048122A (en) * 2008-10-30 2010-05-11 주식회사 케이티 Apparatus for generating ontology and method thereof
JP2010224873A (en) * 2009-03-24 2010-10-07 Nomura Research Institute Ltd Commodity retrieval server, commodity retrieval method, program, and recording medium
WO2013030942A1 (en) * 2011-08-30 2013-03-07 トヨタ自動車 株式会社 Behavior history management system, and behavior history management method
KR20150066644A (en) * 2013-12-06 2015-06-17 조은영 Personal Action-Based Interest and Preference Analysis Method and System
KR101567217B1 (en) 2014-05-29 2015-11-17 연세대학교 산학협력단 Method and system for recommendation with collaborative filtering using social network analysis

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100048122A (en) * 2008-10-30 2010-05-11 주식회사 케이티 Apparatus for generating ontology and method thereof
JP2010224873A (en) * 2009-03-24 2010-10-07 Nomura Research Institute Ltd Commodity retrieval server, commodity retrieval method, program, and recording medium
WO2013030942A1 (en) * 2011-08-30 2013-03-07 トヨタ自動車 株式会社 Behavior history management system, and behavior history management method
KR20150066644A (en) * 2013-12-06 2015-06-17 조은영 Personal Action-Based Interest and Preference Analysis Method and System
KR101567217B1 (en) 2014-05-29 2015-11-17 연세대학교 산학협력단 Method and system for recommendation with collaborative filtering using social network analysis

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2744294C1 (en) * 2020-09-22 2021-03-04 Общество с ограниченной ответственностью "Сибирь Телематика" System and method for parameters control of glass products production
WO2022066049A1 (en) * 2020-09-22 2022-03-31 Общество С Ограниченной Ответственностью "Гласс Технолоджис" System and method for monitoring glass product production parameters

Also Published As

Publication number Publication date
KR102652416B1 (en) 2024-03-29

Similar Documents

Publication Publication Date Title
US11354706B2 (en) Location retargeting system for online advertising
US11063902B2 (en) Method for identifying multiple devices belonging to the same group
WO2018059176A1 (en) Method and apparatus for generating targeted label and storage medium
WO2019137485A1 (en) Service score determination method and apparatus, and storage medium
KR102219275B1 (en) Improving application interaction after installation
JP2016100018A (en) Communication method, content display method, recording medium, and computer program
US20130310078A1 (en) Method and system for associating context information with defined location data
WO2021093423A1 (en) Method and device for tagging user
CN107330717B (en) Advertisement putting method and system
US20180096380A1 (en) Objective based advertisement placement platform
US11416525B2 (en) System for fast and secure content provision
TW201503021A (en) Systems and methods for instant e-coupon distribution
JP6416108B2 (en) Generate metrics based on client device ownership
KR102652416B1 (en) A method for presenting information on a product based on high speed similarity calculation and an apparatus therefor
US20190370827A1 (en) Messaging system and method
KR20200024619A (en) Method for providing recommend service and apparatus therefor
US9276757B1 (en) Generating viral metrics
US10863316B1 (en) Predicting a physical location of an online system user from multiple candidate physical locations based on a geographic location of a client device associated with the user
US10616161B1 (en) Computerized system and method for digital content extraction and propagation in HTML messages
KR102461026B1 (en) A product brokerage page providing method, a system, a recording medium on which a computer program is recorded, and a marketing server for the same
KR102536526B1 (en) Method and apparatus for providing service based on terminal context
US11977563B2 (en) Cross-entity categorization of heterogenous data
KR20200003564A (en) A method for image searching using an image comprising a plurality of items and an apparatus therefor
KR102642892B1 (en) System and method for analysis of stores using scraping and computer program for the same
KR20190110299A (en) Advertising-id update method using user cookie, system and recording medium recording computer program therefore

Legal Events

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