KR102652416B1 - 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
KR102652416B1
KR102652416B1 KR1020180064815A KR20180064815A KR102652416B1 KR 102652416 B1 KR102652416 B1 KR 102652416B1 KR 1020180064815 A KR1020180064815 A KR 1020180064815A KR 20180064815 A KR20180064815 A KR 20180064815A KR 102652416 B1 KR102652416 B1 KR 102652416B1
Authority
KR
South Korea
Prior art keywords
product
information
products
similarity
server
Prior art date
Application number
KR1020180064815A
Other languages
Korean (ko)
Other versions
KR20190138412A (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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Algebra (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 고속 유사도 연산 기반의 상품에 대한 정보를 제공하기 위한 방법 및 이를 위한 추천 서버에 관한 것으로, 이러한 본 발명은 데이터수집서버가 사용자단말기로부터 각각이 사용자식별자 및 상품을 포함하는 복수의 행동 로그를 수집하여 분석서버로 전송하는 단계와, 상기 분석서버가 복수의 행동 로그 중 일부를 소거하는 단계와, 상기 분석서버가 일부가 소거된 복수의 행동 로그에 대해 유사도 연산을 수행하여 유사도를 산출하는 단계와, 상기 분석서버가 상기 유사도 연산 결과에 따라 상품에 대한 정보를 생성하는 단계와, 상기 분석서버가 상기 상품에 대한 정보를 응용서버로 전송하는 단계를 포함하는 것을 특징으로 하는 상품에 대한 정보를 제공하기 위한 방법과, 이를 위한 추천 서버를 제공한다. The present invention relates to a method for providing information about products based on high-speed similarity calculation and a recommendation server for the same. The present invention relates to a method for providing information on products based on high-speed similarity calculation, and a recommendation server for the same. This invention relates to a data collection server collecting a plurality of behavior logs, each containing a user identifier and a product, from a user terminal. Collecting and transmitting to an analysis server, the analysis server deleting some of the plurality of behavior logs, and the analysis server performing a similarity calculation on the plurality of partially erased behavior logs to calculate the similarity. Information about the product comprising a step of the analysis server generating information about the product according to the similarity calculation result, and the step of the analysis server transmitting the information about the product to an application server. Provides a method for providing and a recommendation server for this.

Figure R1020180064815
Figure R1020180064815

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 technology for providing information about a product. More specifically, the present invention relates to a technology for providing information about a product, and more specifically, provides information about the product through similarity analysis of behavior logs, while reducing the amount of data for similarity calculation to enable high-speed similarity calculation. It relates to a method and device for deriving information about a product and providing the derived information.

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

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

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

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

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

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

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

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

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

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

상기 유사도 연산을 수행하여 유사도를 산출하는 단계는 어느 하나의 상품과 다른 상품 중 적어도 하나를 포함하는 행동 로그인 합집합을 분모로 하고, 상기 어느 하나의 상품과 상기 다른 상품을 모두 포함하는 행동 로그인 교집합을 분자로 하여 상기 어느 하나의 상품과 상기 다른 상품의 유사도를 산출하는 것을 특징으로 한다. The step of calculating the similarity by performing the similarity calculation uses as the denominator the union of action logs that include at least one of one product and another product, and the intersection of action logs that includes both the one product and the other product. It is characterized by calculating the similarity between one product and the other product using the numerator.

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

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

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

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

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

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

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

본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다. In order to make the characteristics and advantages of the problem-solving means of the present invention clearer, the present invention will be described in more detail with reference to specific embodiments of the present invention shown in the attached drawings.

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

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

또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.In addition, terms containing ordinal numbers, such as first, second, etc., are used to describe various components, and are used only for the purpose of distinguishing one component from other components and to limit the components. Not used. For example, the second component may be referred to as the first component without departing from the scope of the present invention, 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 is or can be connected logically or physically. In other words, a component may be directly connected or connected to another component, but it should be understood that other components may exist in the middle and may be indirectly connected or connected.

또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Additionally, the terms used in this specification are only used to describe specific embodiments and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In addition, terms such as "comprise" or "have" used in the specification are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more of the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification. It should be understood that this does not exclude in advance the presence or addition of other features, numbers, steps, operations, components, parts, or combinations thereof.

또한, 명세서에 기재된 "??부", "??기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. In addition, terms such as "unit", "unit", and "module" used in the specification refer to a unit that processes at least one function or operation, which is implemented as hardware, software, or a combination of hardware and software. It can be.

또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.Additionally, the words “a or an,” “one,” “the,” and similar words may indicate otherwise herein in the context of describing the invention (particularly in the context of the claims below). It may be used to include both singular and plural terms, unless clearly contradicted by the context.

아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다.Additionally, embodiments within the scope of the present invention include computer-readable media having or transmitting computer-executable instructions or data structures stored on the computer-readable media. Such computer-readable media may 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 include RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, or in the form of computer-executable instructions, computer-readable instructions or data structures. It may be used to store or transmit certain program code means, and may include, but is not limited to, a physical storage medium such as any other medium that 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 over a network or other communication connection (wired, wireless, or a combination of wired and wireless), this connection may 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. Computer-executable instructions may be binary, intermediate format instructions, for example, assembly language, or even source code.

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

먼저, 본 발명의 실시예에 따른 정보 제공 시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 정보 제공 시스템을 개략적으로 도시한 구성도이다. First, an information provision system according to an embodiment of the present invention will be described. 1 is a schematic configuration diagram of an information provision 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 provision system 100 according to an embodiment of the present invention includes a plurality of user terminals (10: 10-1, 10-2,??10-n), a data collection server 20, and analysis. Includes a server 30 and an application server 40.

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

예를 들면, 통신망(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 wireless communication networks such as Wireless LAN (WLAN), Wi-Fi, Wibro, Wimax, and 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), HFC (Hybrid Fiber Coaxial Cable), FTTC (Fiber to The Curb), and FTTH (Fiber To The Home).

아울러, 본 발명의 통신망(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 consisting of 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 the terminal, for example, a number of base stations such as BS (Base Station), BTS (Base Transceiver Station), NodeB, eNodeB, etc., and BSC (Base Station Controller) , can be implemented with a base station controller such as RNC (Radio Network Controller). In addition, as described above, the digital signal processing unit and the wireless signal processing unit integrated in the base station are divided into a digital unit (hereinafter referred to as DU) and a radio unit (hereinafter referred to as RU), respectively. It can also be configured by installing a number of RUs (not shown) in multiple areas and connecting the multiple RUs to a centralized DU. In addition, the core network (not shown) that forms the mobile network together with the access network is connected to the access network. It serves to connect other communication networks such as external networks, 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 explained above, this core network is a network system that performs major functions for mobile communication services such as mobility control and switching between access networks, and performs circuit switching or packet switching, and is a mobile network system that performs circuit switching or packet switching. Manage and control packet flow within. In addition, the core network may manage inter-frequency mobility and play a role in interoperating with traffic within the access network and core network and with other networks, such as the Internet network. This core network will further include Serving GateWay (SGW), PDN GateWay (PGW), Mobile Switching Center (MSC), Home Location Register (HLR), Mobile Mobility Entity (MME), and Home Subscriber Server (HSS). It may be possible.

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

이러한 통신망(NW)을 통해서 복수의 사용자 단말기(10: 10-1, 10-2,??10-n), 데이터수집서버(20), 분석서버(30) 및 응용서버(40)가 상호 연동하여 본 발명에 따른 상품 정보 제공을 위한 정보 제공 시스템(100)을 구성한다. Through this communication network (NW), multiple user terminals (10: 10-1, 10-2,??10-n), data collection server 20, analysis server 30, and application server 40 are interconnected. Thus, an information provision 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)에 행동 로그를 제공할 수 있다. Each of the plurality of user terminals 10 can install and execute at least one application. In particular, the user terminal 10 may install an application that interoperates with the data collection server 20 and transmit a behavior log to the data collection server 20 according to execution of the application. At this time, the plurality of user terminals 10 can transmit the behavior log to the data collection server 20 through an installed SDK (Software Development Kit). However, it is not limited to this, and the plurality of user terminals 10 may provide a behavior log to the data collection server 20 through installation of a separate application in conjunction with the data collection server 20.

이때 복수의 사용자 단말기(10)는 설치된 SDK에 포함된 API(Application Programming Interface)를 통해 상품 구매 이력을 포함하는 행동 로그를 추출하고, 추출된 행동 로그를 데이터수집서버(20)에 제공할 수 있다. 여기서, 행동 로그는 사용자 단말기의 고유 코드인 사용자식별자(UID: User ID) 및 구매한 상품(item)을 포함한다. 여기서, 사용자식별자(UID)는 사용자 단말기(10) 각각을 구분하기 위하여, 모바일 단말기 별로 할당되는 식별 번호가 될 수 있다. At this time, the plurality of user terminals 10 may extract a behavior log containing 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 identifier (UID: User ID), which is a unique code of the user terminal, and purchased products (items). Here, the user identifier (UID) may be an identification number assigned to each mobile terminal in order to distinguish each user terminal 10.

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

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

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

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

한편, 본 발명의 실시예에서 데이터수집서버(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 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. Figure 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 an embodiment of the present invention includes a communication unit 11, an input unit 13, a display unit 15, a storage unit 17, and a control unit 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 to and from the data collection server 20 through the communication network (NW). In particular, the communication unit 11 according to an embodiment of the present invention can transmit a 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 number and character information, and transmits signals input related to setting various functions and controlling functions of the user terminal 10 to the control unit 19. Additionally, the input unit 13 may be configured to include at least one of a keypad and a touchpad that generate an input signal according to a user's touch or manipulation. At this time, the input unit 13 is configured in the form of a touch panel (or touch screen) together with the display unit 15 and can perform input and display functions simultaneously. In particular, the input unit 13 can transmit input signals for communication and data according to application execution to the control unit 19 according to the user's manipulation. Additionally, when the user terminal 10 is configured as a touch screen, the input unit 13 can receive signals touched on the screen or inputs such as a keyboard and 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 about a series of operation states and operation results that occur while performing the functions of the user terminal 10. Additionally, the display unit 15 can display menus of the user terminal 10 and user data input by the user. Here, the display unit 15 includes LCD (Liquid Crystal Display), TFT-LCD (Thin Film Transistor LCD), OLED (Organic Light Emitting Diodes), light emitting diode (LED), AMOLED (Active Matrix Organic LED), and flexible display (Flexible Display). It can be composed of a display) and a 3-dimensional display (3 Dimension). In particular, when one of the plurality of web pages constituting the shopping mall website is received, the display unit 15 displays the received web page on the screen.

저장부(17)는 사용자 단말기(10)의 기능 동작에 필요한 응용 프로그램을 저장한다. 여기서 사용자 단말기(10)는 사용자의 요청에 상응하여 각 기능을 활성화하는 경우, 제어부(19)의 제어 하에 해당 응용 프로그램들을 실행하여 각 기능을 제공하게 된다. 또한 데이터 영역은 사용자 단말기(10)의 사용에 따라 발생하는 데이터가 저장되는 영역이다. The storage unit 17 stores application programs necessary for functional operation of the user terminal 10. Here, when the user terminal 10 activates each function in response to the user's request, the user terminal 10 executes the corresponding application programs under the control of the control unit 19 to provide each function. Additionally, the data area is an area where 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 control unit 19 can initialize each component of the user terminal 10 and perform necessary signal control. In particular, the control unit 19 according to an embodiment of the present invention connects to the shopping mall web server through the communication unit 11, receives web pages constituting the shopping mall website, and displays the received web pages on the screen through the display unit 15. It is displayed as Accordingly, the user can view the web page and purchase a certain product through the web page. In particular, when the control unit 19 detects a signal for selecting a specific product for purchase through the input unit 13 according to the user's operation, it transmits a purchase request for the corresponding product to the shopping mall web server through the communication unit 11. You can purchase the product. Then, the control unit 19 creates a behavior log through the purchase history of purchasing the product. Here, the behavior log includes a user identifier (UID) and purchased product (item). Subsequently, the control unit 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 will be described in more detail. Figure 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, analysis server 30, and application server 40 through a communication network (NW). In particular, the collection server communication unit 41 can 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. This collection server storage unit 23 can store a behavior log mapping the user identifier (UID) received from the user terminal 10 and the purchased product temporarily or for a predetermined period of time.

수집서버제어부(25)는 수집서버통신부(21) 및 수집서버저장부(23)를 포함하는 데이터수집서버(20)의 동작을 전반적으로 제어하는 역할을 하며, 이를 위한 프로세서를 포함할 수 있다. 이러한 수집서버제어부(25)는 사용자 단말기(10)로부터 수신된 행동 로그를 수집서버저장부(23)에 저장한다. 그리고 수집서버제어부(25)는 수집서버통신부(41)를 통해 수집서버저장부(23)에 저장된 행동 로그를 주기적으로 분석서버(30)로 전달할 수 있다. The collection server control unit 25 serves to overall control the 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 for this purpose. This collection server control unit 25 stores the behavior log received from the user terminal 10 in the collection server storage unit 23. Additionally, 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 will be described in more detail. Figure 4 is a block diagram showing the main configuration of an 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, when the analysis server communication unit 31 receives a behavior log from the data collection server 20, it transmits it to the analysis server control unit 35. In addition, the analysis server communication unit 31 receives product information (eg, a 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 configured to store data or programs executed or processed by the analysis server control unit 35. This analysis server storage unit 33 can store programs that derive recommended products based on similarity from behavior logs. Additionally, the analysis server storage unit 33 can accumulate and store the behavior logs received from the data collection server 20.

분석서버제어부(35)는 분석서버통신부(31) 및 분석서버저장부(33)를 포함한 분석서버(30)의 동작을 전반적으로 제어하는 역할을 하며, 이를 위한 프로세서를 포함할 수 있다. The analysis server control unit 35 serves to overall control the 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 for this purpose.

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

분석서버제어부(35)는 분석서버통신부(31)를 통해 행동 로그를 수신하면, 분석서버저장부(32)에 저장한다. 전처리모듈(35a)은 분석서버저장부(32)에 저장된 복수의 행동 로그를 불러와서, 행동 로그의 일부를 소거한다. 이때, 전처리 모듈(55a)은 복수의 행동 로그 중 일부를 소거한다. 유사도산출모듈(35b)은 복수의 행동 로그 중 일부가 소거된 행동 로그 간 유사도를 산출한다. 이러한 유사도는 자카드 유사도 산출 기법을 이용하여 산출될 수 있다. 정보제공모듈(55c)은 유사도 연산 결과를 통해 상품에 대한 정보, 예컨대, '함께 구매한 상품'과 같은 추천 상품으로 도출하고, 도출된 추천 상품을 분석서버통신부(51)를 통해 응용서버(40)로 전송할 수 있다. When the analysis server control unit 35 receives the behavior log through the analysis server communication unit 31, it 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 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 plurality of behavior logs, some of which have been erased. This similarity can be calculated using the Jacquard similarity calculation technique. The information provision module 55c derives product information, for example, recommended products such as 'products purchased together', through the similarity calculation results, and sends the derived recommended products to the application server 40 through the analysis server communication unit 51. ) can be transmitted.

다음으로, 본 발명의 실시예에 따른 응용서버(40)의 구성을 더욱 상세히 설명하도록 한다. 도 5는 본 발명의 실시예에 따른 응용서버의 주요 구성을 도시한 블록도이다. Next, the configuration of the application server 40 according to an embodiment of the present invention will be described in more detail. Figure 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 Figure 5, the 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 control unit 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 about products (eg, a list of products purchased together) according to the results 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. Additionally, the application server storage unit 43 may store information about products received from the analysis server 30 (for example, a list of products purchased together) temporarily or for a predetermined period of time.

응용서버제어부(45)는 응용서버통신부(41) 및 응용서버저장부(43)를 포함하는 응용서버(40)의 동작을 전반적으로 제어하는 역할을 하며, 이를 위한 프로세서를 포함할 수 있다. 이러한 응용서버제어부(45)는 응용서버(40)로부터 수신된 상품에 대한 정보(예컨대, 함께 구매한 상품 리스트)를 수집서버저장부(43)에 저장한다. 그리고 수집서버제어부(25)는 필요한 경우, 수집서버통신부(41)를 통해 상품에 대한 정보(예컨대, 함께 구매한 상품 리스트)를 사용자단말기(10)로 전송한다. The application server control unit 45 serves to overall control the 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 for this purpose. This application server control unit 45 stores information about products received from the application server 40 (for example, a list of products purchased together) in the collection server storage unit 43. And, if necessary, the collection server control unit 25 transmits information about products (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 about a product according to an embodiment of the present invention will be described. Figure 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 a plurality of user terminals 10 in step S110. Here, the behavior log includes a user identifier (UID) and a product (item).

다음으로, 데이터수집서버(20)는 S120 단계에서 수집된 복수의 행동 로그를 분석서버(30)로 전달한다. 그러면, 분석서버(30)는 S130 단계에서 수신된 복수의 행동 로그를 유사도 연산을 통해 분석하여 상품에 대한 정보를 생성한다. 이때, 데이터수집서버(20)는 유사도 연산 시, 복수의 행동 로그 중 일부를 소거하고, 나머지 행동 로그를 통해 유사도 연산을 수행한다. 이에 따라, 유사도 연산의 속도가 향상된다. Next, the data collection server 20 transfers 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 similarity calculation to generate information about the product. At this time, when calculating similarity, the data collection server 20 erases some of the plurality of behavior logs and performs similarity calculation through the remaining behavior logs. Accordingly, the speed of similarity calculation is improved.

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

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

즉, 수학식 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 using the union of the action logs for the item, that is, product A and product B, as the denominator, and the intersection of the action logs for product A and product B as the denominator. Here, the union of the action logs for product A and product B is the action log in which the purchased product includes at least one of product A and product B, and the intersection of the action logs for product A and product B is the action log in which the purchased product includes at least one of product A and product B. It is a behavior log that includes both and product B. And the larger the calculated value, the higher the similarity. It is judged that the similarity between product A and product B is high.

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

행동 로그behavior log 사용자식별자User identifier 상품 AProduct A 상품 BProduct 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개만을 구매한 사용자의 행동 로그는 유사도 연산 결과에 영향이 없을 수 있다. 따라서 본 발명은 이와 같이, 유사도 연산 결과에 영향이 없는 행동 로그를 소거하여 연산 시, 해당 데이터(행동 로그)에 대한 불필요한 연산을 줄이고자 한다. As shown in the behavior logs L1, L2, and L3 in Table 1, if 3 users purchased only product A, and as shown in the behavior logs L4, L5, and L6, if 3 users purchased only product B, the similarity between product A and product B is mathematically According to Equation 1, (0/3+3-0) = 0. In this way, the behavior log of a user who purchased only one product among the behavior logs may not affect the similarity calculation results. Therefore, the present invention seeks to reduce unnecessary calculations on the relevant data (behavior log) during calculation by erasing behavior logs that have no effect on the similarity calculation result.

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

행동 로그behavior log 사용자식별자User identifier 상품 AProduct A 상품 BProduct 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, as shown in action logs L1 to L100,000, and 199,999 users only purchased product B, as shown in action logs L100,001 to L199,999, and action log L200,000 As shown, assume that one user 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 results in 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 deletes all action logs of purchasing only one product, the similarity between product A and product B becomes 1/(1+1-1)=1 according to Equation 1. This causes distortion of the results.

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

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

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

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

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

그러면, 보다 자세히, 전술한 S130 단계의 유사도 연산의 결과를 왜곡시키지 않고, 연산량을 줄일 수 있도록 소거 대상을 특정하여 유사도 연산을 수행하는 방법을 보다 상세하게 설명하기로 한다. 도 7은 본 발명의 실시예에 따른 고속 유사도 연산 방법을 설명하기 위한 흐름도이다. 이러한 도 7을 참조로 하는 실시예는 도 6의 S130 단계를 보다 자세히 설명하기 위한 것이다. Then, we will explain in more detail how to perform the similarity calculation by specifying an erase target so as to reduce the amount of calculation without distorting the result of the similarity calculation in step S130 described above. Figure 7 is a flowchart illustrating a high-speed similarity calculation method according to an embodiment of the present invention. The embodiment referring to FIG. 7 is for explaining 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 converts the plurality of behavior logs into a user identifier (UID) and a product (item) in step S132. You can sort according to . For example, the preprocessing module 35a can create a table with user identifiers (UID) as columns and products (items) as rows.

이어서, 전처리모듈(35a)은 S133 단계에서 복수의 행동 로그 중 일부를 소거하는 전처리를 수행한다. 이때, 전처리모듈(35a)은 제공하고자 하는 상품에 대한 정보의 양에 따라 전체 행동 로그에서 소거하는 행동 로그의 비율인 소거 비율을 결정한다. 또한, 전처리모듈(35a)은 결정된 소거 비율에 따라 소거하는 행동 로그(행동 로그의 구매 상품의 수)를 결정한다. 예를 들면, 어느 하나의 사용자가 사용자단말기(10)를 통해 대상 상품(TG)을 조회하거나, 임시 저장(장바구니에 담기) 혹은 구매하고자 할 때, 추천 상품(RG), 즉, '함께 구매한 상품'을 상품에 대한 정보로 제공하고자 하는 상황을 가정한다. 이때, 제공하고자 하는 상품에 대한 정보의 양인 추천 상품(RG)의 수가 많을수록 소거하는 행동 로그의 비율인 소거 비율이 줄어든다. 추천 상품(RG)의 수가 적을수록 소거하는 행동 로그의 비율인 소거 비율이 늘어난다. 또한, 전처리모듈(35a)은 구매 상품의 수가 1개인 행동 로그가 전체 행동 로그에서 차지하는 비율이 소거 비율 미만이면, 구매 상품의 수가 1개인 행동 로그를 소거하고, 소거 비율 이상이면, 유사도 연산 결과에 영향을 미치기 때문에 구매 상품의 수가 1개인 행동 로그를 소거할 수 없다. 따라서 결정된 소거 비율에 따라 소거하는 행동 로그를 결정한다. 구체적으로, 전처리모듈(35a)은 하나의 상품을 구매한 것으로 나타나는 행동 로그의 수가 전체 행동 로그 대비 결정된 소거 비율 미만인 경우, 해당 행동 로그를 소거할 수 있다. Next, 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 the erasure ratio, which is the ratio of the behavior log to be erased from the total behavior log, depending on the amount of information about the product to be provided. Additionally, the preprocessing module 35a determines the behavior log (the number of purchased products in the behavior log) to be erased according to the determined erasure ratio. For example, when a user searches for a target product (TG), temporarily stores it (adds it to the shopping cart), or purchases it through the user terminal 10, the recommended product (RG), that is, the 'together purchased product', is selected. Let's assume a situation where you want to provide 'product' as information about the product. At this time, as the number of recommended products (RG), which is the amount of information about the product to be provided, increases, the deletion rate, which is the percentage of action logs to be erased, decreases. As the number of recommended products (RG) decreases, the purge rate, which is the percentage of action logs purged, increases. In addition, the preprocessing module 35a erases the behavior logs with one purchased product if the ratio of the total behavior logs with one purchased product is less than the erasure ratio, and if it is greater than the elimination ratio, the similarity calculation result is Because it affects the behavior, it is not possible to clear the action log with the number of purchased products being 1. Therefore, the behavior log to be erased is determined according to the determined erasure rate. Specifically, the pre-processing module 35a may erase the corresponding behavior log when the number of behavior logs indicating that one product has been purchased is less than the determined erasing ratio compared to the total behavior logs.

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

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

다음으로, 정보제공모듈(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 calculation module 35b in step S137. Here, the information providing module 35c can generate information about a predetermined number of products in descending order of similarity according to the similarity calculated by the similarity calculation module 35b.

이러한 상품에 대한 정보는 예컨대, 함께 구매한 상품 리스트가 될 수 있다. 정보제공모듈(35c)은 생성된 상품에 대한 정보를 분석서버통신부(31)를 통해 응용서버(40)로 전송할 수 있다. Information about these products may be, for example, a list of products purchased together. The information providing module 35c can transmit 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 products based on high-speed similarity calculation according to a more specific embodiment of the present invention will be described. Figure 8 is a flowchart illustrating a method of providing information about a product according to another embodiment of the present invention. Figure 9 is an example screen for explaining a method of providing information about a product according to another embodiment of the present invention. To emphasize, the embodiment referred to in FIGS. 8 and 9 is the step S130 of FIG. 6 and the more specific embodiment of FIG. 7 .

도 8 및 도 9를 참조하면, 분석서버제어부(35)는 S210 단계에서 분석서버통신부(31)를 통해 응용서버(40)로부터 상품 추천 요청 메시지를 수신하는 상황을 가정한다. 상품 추천 요청 메시지는 도 9에 도시된 바와 같이, 대상 상품(TG)에 대한 추천 상품(RG)을 요청하는 메시지이다. 이에 따라, 상품 추천 요청 메시지는 대상 상품(TG) 및 추천 상품(RG)의 수를 포함한다. 예컨대, 응용서버(40)가 웹 사이트를 통해 어느 하나의 사용자가 사용자단말기(10)를 통해 대상 상품(TG)을 조회하거나, 임시 저장(장바구니에 담기) 혹은 구매하고자 할 때, 추천 상품(RG), 즉, '함께 구매한 상품'을 6개 보여주고자 하는 상황을 가정하며, 이때, 추천 상품(RG)의 수는 6이된다. Referring to Figures 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. As shown in FIG. 9, the product recommendation request message is a message requesting a recommended product (RG) for the target product (TG). Accordingly, the product recommendation request message includes the number of target products (TG) and recommended products (RG). For example, when a user searches for, temporarily stores (adds to shopping cart), or purchases a target product (TG) through the user terminal (10) through a website, the application server (40) provides a recommended product (RG). ), that is, assume a situation where you want to show 6 'products purchased together', and in this case, the number of recommended products (RG) is 6.

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

행동 로그behavior log 사용자식별자User identifier 상품 AProduct A 상품 BProduct B 상품 CProduct 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 the erasure ratio, which is the ratio of behavior logs that can be erased from the entire behavior log, according to the number of recommended products (RG) in the product recommendation request message in step S230. Here, the extinction rate decreases as the number of recommended products increases. Intuitively, the extinction rate may be inversely proportional to the number of recommended products. For example, when the number of recommended products (RG) is 6 and the extinction rate is 10%, if the number of recommended products (RG) is 30, the elimination rate may be 5%. Next, the preprocessing module 35a determines the erase target according to the erase rate and the number of purchased products in the behavior log in step S240. For example, assume that the number of recommended products (RG) is 6 and the resulting extinction rate is 10%. The preprocessing module 35a calculates the ratio of behavior logs in which the number of products purchased by one user is two or less, as shown in L2, L3, L4, and L5 in Table 3 among all behavior logs. At this time, if the calculated ratio is 15%, the preprocessing module 35a excludes the behavior logs with two or less purchased products from being erased because the calculated ratio is greater than the erasure rate (10% < 15%). And, as shown in L3 and L5 in Table 3, the preprocessing module 35a calculates the ratio of the log data in which the number of products purchased by one user is one behavior log. At this time, if the calculated ratio is 8%, the preprocessing module 35a determines the behavior log with the number of purchased products as 1 to be erased because the calculated ratio is less than the erasure rate (10% > 8%).

이어서, 전처리모듈(35a)은 S250 단계에서 전체 행동 로그에서 앞서 결정된 소거 대상인 행동 로그를 소거한다. Subsequently, the preprocessing module 35a erases the previously determined behavior log to be erased from the entire behavior log in 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 deletion target has been removed in step S260 according to the product name (item), groups it according to the product name (item), and then extracts the group for the target product (TG). do. For example, if the target product (TG) is product A, that is, in order to recommend 'products purchased together' with product A, all action logs including purchased product A are extracted. That is, in the case of an action log where the number of purchased products subject to erasure is one, data L3 is erased, so L1 and L6 can become a group for product A.

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

예컨대, 대상 상품(TG)이 상품 A인 경우, 유사도산출모듈(35b)은 상품 A와 다른 상품(상품 B, C, D, E, ??) 각각과의 유사도를 산출한다. For example, when the target product (TG) is product A, the similarity calculation module 35b calculates the similarity between 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 uses the union of action logs for the target product (TG), for example, product A and other products (products B, C, D, E, ??) as the denominator and the target product according to Equation 1. Similarity can be calculated using the intersection of (TG) and behavior logs for other products as the denominator. Here, the union of the action logs for the target product (TG) and other products is the action log in which the purchased product includes at least one of the target product (TG) and other products, and the behavior for the target product (TG) and other products The intersection of logs is a behavior log where 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 (e.g., 6) of recommended products RG as recommended products in 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 recommended product as information about the product to the application server 40 through the analysis server communication unit 31. Accordingly, the application server 40 can configure a web page screen as shown in FIG. 9 and provide it to the user terminal 10.

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

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

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

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

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

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

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

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 department
13: input unit 15: display unit
17: storage unit 19: control unit
20: Data collection server 21: Collection server communication department
23: collection server storage unit 25: collection server control unit
30: Analysis server 31: Analysis server communication department
33: Analysis server storage unit 35: Analysis server control unit
35a: Preprocessing module 35b: Similarity calculation module
35c: Information provision module 40: Application server
41: Application server communication unit 43: Application server storage unit
45: Application server control unit

Claims (9)

데이터수집서버가 사용자단말기로부터 각각이 사용자식별자 및 상품을 포함하는 복수의 행동 로그를 수집하여 분석서버로 전송하는 단계;
상기 분석서버가 복수의 행동 로그 중 일부를 소거하는 단계;
상기 분석서버가 일부가 소거된 복수의 행동 로그에 대해 유사도 연산을 수행하여 유사도를 산출하는 단계;
상기 분석서버가 상기 유사도 연산 결과에 따라 상품에 대한 정보를 생성하는 단계; 및
상기 분석서버가 상기 상품에 대한 정보를 응용서버로 전송하는 단계;를 포함하고,
상기 복수의 행동 로그 중 일부를 소거하는 단계는
제공하고자 하는 상품에 대한 정보의 양에 따라 소거 비율을 결정하고, 상기 결정된 소거 비율 및 행동 로그의 구매 상품의 수에 따라 소거 대상을 결정하는 것을 특징으로 하는 상품에 대한 정보를 제공하기 위한 방법.
A data collection server collecting a plurality of behavior logs, each including a user identifier and a product, from the user terminal and transmitting them to the analysis server;
The analysis server deleting some of the plurality of behavior logs;
Calculating similarity by the analysis server performing a similarity calculation on a plurality of partially erased behavior logs;
generating, by the analysis server, information about a product according to the similarity calculation result; and
Including a step of the analysis server transmitting information about the product to the application server,
The step of erasing some of the plurality of action logs is
A method for providing information about a product, comprising determining an erasure rate according to the amount of information about the product to be provided, and determining an erasure target according to the determined erasure rate and the number of purchased products in the behavior log.
삭제delete 삭제delete ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 4 was abandoned upon payment of the setup registration fee.◈ 제1항에 있어서,
상기 유사도 연산을 수행하여 유사도를 산출하는 단계는
어느 하나의 상품과 다른 상품 중 적어도 하나를 포함하는 행동 로그인 합집합을 분모로 하고,
상기 어느 하나의 상품과 상기 다른 상품을 모두 포함하는 행동 로그인 교집합을 분자로 하여
상기 어느 하나의 상품과 상기 다른 상품의 유사도를 산출하는 것을 특징으로 하는 상품에 대한 정보를 제공하기 위한 방법.
According to paragraph 1,
The step of calculating the similarity by performing the similarity calculation is
The denominator is the union of action logs that includes one product and at least one of the other products,
With the intersection of the action log containing both one product and the other product as the numerator,
A method for providing information about a product, characterized in that calculating the similarity between one product and the other product.
◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈◈Claim 5 was abandoned upon payment of the setup registration fee.◈ 제4항에 있어서,
상기 유사도 연산 결과에 따라 상품에 대한 정보를 생성하는 단계는
상기 산출된 유사도에 따라 상기 유사도가 높은 순으로 소정 수의 상품을 상품에 대한 정보로 도출하는 것을 특징으로 하는 상품에 대한 정보를 제공하기 위한 방법.
According to paragraph 4,
The step of generating information about the product according to the similarity calculation results is
A method for providing information about a product, characterized in that, according to the calculated similarity, a predetermined number of products are derived as information about the product in the order of the highest similarity.
응용서버와의 통신을 위한 분석서버통신부;
상기 분석서버통신부를 통해 상기 응용서버로부터 대상 상품 및 추천 상품의 수를 포함하는 추천 상품 요청 메시지를 수신하면, 사용자식별자와 상기 사용자 식별자에 대응하는 구매 상품을 포함하는 복수의 행동 로그 중 소거 대상을 특정하고, 복수의 행동 로그에서 상기 특정된 소거 대상을 소거하는 전처리모듈; 및
상기 소거 대상이 소거된 복수의 행동 로그를 이용하여 상기 대상 상품과의 유사도를 산출하는 유사도산출모듈;을 포함하고,
상기 전처리모듈은
상기 추천 상품의 수에 따라 소거 비율을 산출하고, 상기 산출된 소거 비율 및 행동 로그의 구매 상품의 수에 따라 소거 대상을 결정하는 것을 특징으로 하는 상품에 대한 정보를 제공하기 위한 장치.
Analysis server communication unit for communication with the application server;
When a recommended product request message including the target product and the number of recommended products is received from the application server through the analysis server communication unit, a user identifier and a plurality of behavior logs including purchased products corresponding to the user identifier are selected for deletion. a preprocessing module that specifies and erases the specified erase target from a plurality of behavior logs; and
It includes a similarity calculation module that calculates the similarity with the target product using a plurality of behavior logs from which the deletion target has been erased,
The preprocessing module is
A device for providing information about products, wherein a deletion rate is calculated according to the number of recommended products, and a deletion target is determined according to the calculated deletion rate and the number of purchased products in the behavior log.
삭제delete 삭제delete 삭제delete
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 KR20190138412A (en) 2019-12-13
KR102652416B1 true 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)

Families Citing this family (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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101086996B1 (en) * 2008-10-30 2011-11-29 주식회사 케이티 Apparatus for generating ontology and method thereof
KR101646312B1 (en) * 2013-12-06 2016-08-08 조은영 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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
KR20190138412A (en) 2019-12-13

Similar Documents

Publication Publication Date Title
CN108021929B (en) Big data-based mobile terminal e-commerce user portrait establishing and analyzing method and system
US11574139B2 (en) Information pushing method, storage medium and server
CN110458220B (en) Crowd orientation method, device, server and storage medium
US9854450B2 (en) Enhanced data collection, processing, and analysis facilities
CN108537578A (en) Advertisement sending method based on big data and device
WO2019137485A1 (en) Service score determination method and apparatus, and storage medium
CN106682686A (en) User gender prediction method based on mobile phone Internet-surfing behavior
CN107077498B (en) Representing entity relationships in online advertisements
US20150066948A1 (en) Influence Scoring for Social Media Authors
US20150339686A1 (en) Enhanced data collection, processing, and analysis
US20190287155A1 (en) Landing page providing server and method of providing customized landing page
US9269112B1 (en) Integrating location-based social media data with enterprise business intelligence applications
US11748452B2 (en) Method for data processing by performing different non-linear combination processing
US20130172041A1 (en) Online and distributed optimization framework for wireless analytics
US20140195303A1 (en) Method of automated group identification based on social and behavioral information
CN104572775B (en) Advertisement classification method, device and server
US11625757B1 (en) Hybrid selection of target for advertisement campaign
US11256722B2 (en) Techniques for modeling aggregation records
US20160110728A1 (en) Enhanced data collection, processing, and analysis
KR102652416B1 (en) A method for presenting information on a product based on high speed similarity calculation and an apparatus therefor
US10360600B1 (en) Big tree method and system for verifying user reviews
US20190370827A1 (en) Messaging system and method
KR102511634B1 (en) System for providing context awareness based cross-domain recommendation service for retail kiosk
KR101956876B1 (en) Application recommendation apparatus, application recommendation method and evaluation score calculation method of the same
CN109376315B (en) Machine learning-based civil aviation passenger label analysis method and processing terminal

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