[go: up one dir, main page]

KR101678659B1 - Method for providing recommended item, storage medium recording program and device therefor - Google Patents

Method for providing recommended item, storage medium recording program and device therefor Download PDF

Info

Publication number
KR101678659B1
KR101678659B1 KR1020130049968A KR20130049968A KR101678659B1 KR 101678659 B1 KR101678659 B1 KR 101678659B1 KR 1020130049968 A KR1020130049968 A KR 1020130049968A KR 20130049968 A KR20130049968 A KR 20130049968A KR 101678659 B1 KR101678659 B1 KR 101678659B1
Authority
KR
South Korea
Prior art keywords
recommendation
item
log data
user
service
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020130049968A
Other languages
Korean (ko)
Other versions
KR20140131088A (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 KR1020130049968A priority Critical patent/KR101678659B1/en
Priority to PCT/KR2014/002552 priority patent/WO2014178536A1/en
Publication of KR20140131088A publication Critical patent/KR20140131088A/en
Application granted granted Critical
Publication of KR101678659B1 publication Critical patent/KR101678659B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Recommending goods or services

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)

Abstract

본 발명에서는 추천 아이템 제공 방법, 이를 위한 프로그램을 기록한 기록 매체 및 장치가 개시된다. 구체적으로, 웹 사이트에 삽입된 스크립트(script)를 통해 웹 사이트에 접속한 단말로부터 웹 사이트와 관련된 사용자 로그 데이터를 수집하고, 사용자 로그 데이터를 기반으로 추천 알고리즘을 이용하여 웹 사이트에서 서비스하는 각 소스 아이템과 관련된 하나 이상의 추천 아이템에 대한 추천 결과를 산출하고, 웹 사이트의 웹 서버로부터 수신한 추천 아이템 리스트 요청에 대한 응답으로 추천 결과에서 요청된 소스 아이템과 관련된 추천 아이템 리스트를 추출하여 웹 서버에 전송한다.In the present invention, a recommendation item providing method, a recording medium on which a program is recorded, and an apparatus are provided. Specifically, user log data related to a web site is collected from a terminal connected to the web site through a script inserted in the web site, and each source A recommendation result for one or more recommended items related to the item is calculated, and a recommendation item list related to the requested source item is extracted from the recommendation result in response to the recommendation item list request received from the web server of the web site, do.

Description

추천 아이템 제공 방법, 이를 위한 프로그램을 기록한 기록 매체 및 장치 {Method for providing recommended item, storage medium recording program and device therefor}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for providing a recommendation item,

본 발명은 추천 아이템 제공 방법에 관한 것으로서, 보다 상세하게 웹 사이트에서 서비스하는 아이템과 관련된 다른 아이템을 추천하기 위한 추천 아이템 제공 방법, 이를 위한 프로그램을 기록한 기록 매체 및 장치에 관한 것이다.The present invention relates to a recommendation item providing method, and more particularly, to a recommendation item providing method for recommending another item related to an item serviced by a web site, and a recording medium and an apparatus recording the program therefor.

인터넷 사용이 보편화되면서 사용자들은 인터넷을 통하여 뉴스, 지식 문서, 게임, 동영상 등 다양한 분야와 관련된 컨텐츠를 획득할 수 있게 되었다. 또한, 많은 서비스 업체들이 쇼핑몰을 개설하고 사용자들에게 다양하고 막대한 양의 상품, 서비스들을 제공하고 있다. As the use of the Internet becomes popular, users can acquire contents related to various fields such as news, knowledge documents, games, and videos through the Internet. In addition, many service providers have opened shopping malls and provide users with a wide variety of goods and services.

다만, 인터넷을 통해 획득할 수 있는 정보, 상품, 서비스 등은 기하급수적으로 증가하고 있기 때문에, 소비자가 자신이 진정으로 희망하는 정보나 상품을 찾으려면 많은 시간이 필요하다. 이에 따라 각종 인터넷 사이트에서는 방문한 사용자에게 관련 동영상 추천, 상품 추천 등 적절한 추천 정보를 제공하는 서비스를 제공하고 있으며, 추천 시스템을 솔루션으로 제공하는 업체들도 존재한다. 하지만, 이러한 추천 시스템을 도입하기 위해서는, 기본적으로 대용량 데이터를 처리할 수 있는 다수의 서버가 필요하며, 또한 추천 결과를 실제 서비스에 연동하기 위한 추가 개발 또한 필요하다.However, since the information, goods, and services that can be acquired through the Internet are increasing exponentially, it takes a lot of time for the consumer to find the information or goods he really desires. Accordingly, various Internet sites provide a service that provides appropriate recommendation information such as related video recommendation and product recommendation to a visiting user, and some companies provide a recommendation system as a solution. However, in order to introduce such a recommendation system, a large number of servers capable of processing large amounts of data are basically required, and further development is required in order to link recommendation results to actual services.

본 발명의 목적은 각종 컨텐츠, 상품 내지 서비스를 제공하는 웹 사이트에 별도의 추가 개발 없이 자체 서비스에 바로 적용이 가능한 추천 아이템 제공 방법, 이를 위한 프로그램을 기록한 기록 매체 및 장치를 제안한다. An object of the present invention is to provide a recommendation item providing method that can be directly applied to a self service without further development in a web site providing various contents, goods or services, and a recording medium and an apparatus recording the program therefor.

또한, 본 발명의 목적은 사용자로부터 발생되는 피드백을 추천 결과에 반영함으로써 보다 적합한 아이템을 추천할 수 있는 추천 아이템 제공 방법, 이를 위한 프로그램을 기록한 기록 매체 및 장치를 제안한다. It is another object of the present invention to provide a recommendation item providing method for recommending a more suitable item by reflecting feedback generated by a user to a recommendation result, and a recording medium and an apparatus recording the program therefor.

본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, unless further departing from the spirit and scope of the invention as defined by the appended claims. It will be possible.

본 발명의 일 양상은, 서비스 장치에 있어서, 데이터 송수신을 위한 통신부, 사용자 로그 데이터, 추천 결과를 저장하는 저장부 및 웹 사이트에 삽입된 스크립트(script)를 통해 웹 사이트에 접속한 단말로부터 웹 사이트와 관련된 사용자 로그 데이터를 수집하고, 사용자 로그 데이터를 기반으로 추천 알고리즘을 이용하여 웹 사이트에서 서비스하는 각 소스 아이템과 관련된 하나 이상의 추천 아이템에 대한 추천 결과를 산출하고, 웹 사이트의 웹 서버로부터 수신한 추천 아이템 리스트 요청에 대한 응답으로 추천 결과에서 요청된 소스 아이템과 관련된 추천 아이템 리스트를 추출하여 웹 서버에 전송하는 제어부를 포함한다. According to one aspect of the present invention, there is provided a service apparatus, comprising: a communication unit for data transmission and reception; a user log data; a storage unit for storing a recommendation result; and a web site And a recommendation algorithm for recommending at least one recommendation item related to each source item served by the website using the recommendation algorithm based on the user log data, And a control unit for extracting a recommendation item list related to the requested source item from the recommendation result in response to the recommendation item list request and transmitting the extracted recommendation item list to the web server.

바람직하게, 제어부는, 추천 아이템에 대한 클릭 로그 데이터 및 뷰 로그 데이터를 통해 각 소스 아이템과 관련된 추천 아이템에 대한 클릭률을 계산할 수 있다. Preferably, the control unit can calculate a click rate for a recommendation item related to each source item through click log data and view log data for a recommendation item.

바람직하게, 제어부는, 클릭률이 일정 기간 동안 계속하여 임계값 미만인 추천 아이템을 추천 결과에서 제외할 수 있다. Preferably, the control unit may exclude a recommendation item in which the click rate is continuously lower than the threshold value for a predetermined period of time from the recommendation result.

바람직하게, 제어부는, 사용자 로그 데이터를 미리 정해진 조건 혹은 임의로 복수의 그룹으로 구분하고, 각 그룹 별로 서로 다른 추천 알고리즘을 이용하여 추천 결과를 산출할 수 있다. Preferably, the control unit may divide the user log data into predetermined conditions or arbitrarily into a plurality of groups, and calculate recommendation results using different recommendation algorithms for each group.

바람직하게, 제어부는, 추천 아이템에 대한 클릭 로그 데이터 및 뷰 로그 데이터를 통해 각 그룹 별로 클릭율을 계산하고, 클릭율이 가장 높은 그룹에 이용된 추천 알고리즘으로 추천 결과를 산출할 수 있다. Preferably, the control unit may calculate the click rate for each group through the click log data and the view log data for the recommendation item, and calculate the recommendation result using the recommendation algorithm used for the group having the highest click rate.

바람직하게, 제어부는, 서비스 장치로 연결되는 추천 아이템의 링크를 통해 단말이 접속되면, 단말의 접속 URL을 통해 추천 아이템에 대한 클릭 로그 데이터를 획득할 수 있다. Preferably, when the terminal is connected through the link of the recommendation item connected to the service device, the control unit may acquire the click log data for the recommendation item through the connection URL of the terminal.

바람직하게, 제어부는, 사용자 로그 데이터에 포함된 방문 URL(Uniform Resource Locator)에서 미리 정해진 파라미터 값이 포함되어 있는 사용자 데이터를 추출하여 추천 아이템에 대한 클릭 로그 데이터로 획득할 수 있다. Preferably, the controller extracts user data including a predetermined parameter value from a visit URL (Uniform Resource Locator) included in the user log data, and obtains the user data as click log data for the recommendation item.

바람직하게, 제어부는, 상기 웹 서버의 추천 아이템 리스트 요청이 있으면, 추천 아이템 리스트를 통해 추천 아이템에 대한 뷰 로그 데이터를 획득할 수 있다. Preferably, if there is a recommendation item list request from the web server, the control unit may acquire view log data for the recommendation item through the recommended item list.

바람직하게, 제어부는, 사용자 로그 데이터에 포함된 방문 URL(Uniform Resource Locator)로부터 방문 URL 상에 표시되는 아이템 정보 및 방문 URL에서 단말의 동작과 관련된 동작 정보를 추출할 수 있다.Preferably, the control unit may extract item information displayed on the visit URL from the visit URL (Uniform Resource Locator) included in the user log data and operation information related to the operation of the terminal on the visit URL.

바람직하게, 제어부는, 각 소스 아이템 별로 추천 결과를 구분하여 저장하되, 웹 사이트를 구분하기 위한 서비스 식별자, 소스 아이템에 대한 아이템 식별자 및 소스 아이템과 관련된 추천 아이템에 대한 추천 아이템 식별자를 합한 문자열에 해쉬(hash) 함수를 적용하여 계산한 값을 추천 결과와 함께 저장할 수 있다. Preferably, the control unit distinguishes the recommendation result for each source item and stores the recommendation result in a string including a service identifier for identifying a web site, an item identifier for the source item, and a recommendation item identifier for a recommendation item related to the source item. the value calculated by applying the hash function can be stored together with the recommendation result.

바람직하게, 제어부는, 요청된 소스 아이템과 관련된 추천 아이템 리스트를 JSON(JavaScript Object Notation) 포맷 또는 아이프레임(iframe) 포맷으로 전송할 수 있다. Preferably, the control unit may transmit a recommendation item list related to the requested source item in a JavaScript Object Notation (JSON) format or an iFrame format.

바람직하게, 사용자 로그 데이터는 웹 사이트의 도메인, 단말의 방문 URL(Uniform Resource Locator), 사용자 식별자 및 방문 시각 정보를 포함할 수 있다. Preferably, the user log data may include a domain of a website, a visit URL (Uniform Resource Locator) of the terminal, a user identifier, and visit time information.

바람직하게, 사용자 식별자는 단말의 웹 브라우저 쿠키에 의하여 생성되며, 임의의 숫자와 생성 시각을 조합하여 생성될 수 있다. Preferably, the user identifier is generated by a web browser cookie of the terminal, and may be generated by combining any number and a generation time.

본 발명의 다른 양상은, 추천 아이템 제공 방법에 있어서, 서비스 장치가 웹 사이트에 삽입된 스크립트(script)를 통해 웹 사이트에 접속한 단말로부터 웹 사이트와 관련된 사용자 로그 데이터를 수집하는 단계, 서비스 장치가 사용자 로그 데이터를 기반으로 추천 알고리즘을 이용하여 웹 사이트에서 서비스하는 각 소스 아이템과 관련된 하나 이상의 추천 아이템에 대한 추천 결과를 산출하는 단계 및 서비스 장치가 웹 사이트의 웹 서버로부터 수신한 추천 아이템 리스트 요청에 대한 응답으로 추천 결과에서 요청된 소스 아이템과 관련된 추천 아이템 리스트를 추출하여 웹 서버에 전송하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of providing a recommendation item, the service device collecting user log data related to a web site from a terminal accessing the web site through a script inserted in the web site, Calculating recommendation results of at least one recommendation item related to each source item serviced by the website using a recommendation algorithm based on user log data, and requesting a recommended item list received from the web server of the web site And extracting a recommendation item list related to the requested source item from the recommendation result and transmitting the extracted recommendation item list to the web server.

바람직하게, 서비스 장치가 추천 아이템에 대한 클릭 로그 데이터 및 뷰 로그 데이터를 통해 각 소스 아이템과 관련된 추천 아이템에 대한 클릭률을 계산하는 단계를 더 포함할 수 있다. Preferably, the service device may further include calculating click-through rates for the recommendation items associated with each source item through click-log data and view log data for the recommendation item.

바람직하게, 서비스 장치가 클릭률이 일정 기간 동안 계속하여 임계값 미만인 추천 아이템을 추천 결과에서 제외하는 단계를 더 포함할 수 있다. Preferably, the service device may further include the step of excluding the recommendation item in which the click rate is continuously lower than the threshold value for a predetermined period of time, from the recommendation result.

바람직하게, 추천 결과를 산출하는 단계는, 서비스 장치가 사용자 로그 데이터를 미리 정해진 조건 혹은 임의로 복수의 그룹으로 구분하고, 각 그룹 별로 서로 다른 추천 알고리즘을 이용하여 추천 결과를 산출할 수 있다. Preferably, the step of calculating the recommendation result may be such that the service apparatus divides the user log data into predetermined conditions or arbitrarily into a plurality of groups, and calculates recommendation results using different recommendation algorithms for each group.

바람직하게, 추천 결과를 산출하는 단계는, 서비스 장치가 추천 아이템에 대한 클릭 로그 데이터 및 뷰 로그 데이터를 통해 각 그룹 별로 클릭율을 계산하고, 클릭율이 가장 높은 그룹에 이용된 추천 알고리즘으로 추천 결과를 산출할 수 있다.Preferably, the step of calculating the recommendation result may include calculating the click rate for each group through the click log data and the view log data for the recommendation item, and calculating the recommendation result with the recommendation algorithm used for the group having the highest click rate can do.

바람직하게, 서비스 장치가 서비스 장치로 연결되는 추천 아이템의 링크를 통해 단말이 접속되면, 단말의 접속 URL을 통해 추천 아이템에 대한 클릭 로그 데이터를 획득하는 단계를 더 포함할 수 있다. Preferably, when the terminal is connected through a link of a recommendation item connected to the service device, the service device may further include acquiring click log data for the recommendation item through the connection URL of the terminal.

바람직하게, 서비스 장치가 사용자 로그 데이터에 포함된 방문 URL(Uniform Resource Locator)에서 미리 정해진 파라미터 값이 포함되어 있는 사용자 데이터를 추출하여 추천 아이템에 대한 클릭 로그 데이터로 획득하는 단계를 더 포함할 수 있다.Preferably, the service device may further include extracting user data including a predetermined parameter value from a visit URL (Uniform Resource Locator) included in the user log data and obtaining the extracted user data as click log data for a recommendation item .

바람직하게, 서비스 장치가 웹 서버의 추천 아이템 리스트 요청이 있으면, 추천 아이템 리스트를 통해 추천 아이템에 대한 뷰 로그 데이터를 획득하는 단계를 더 포함할 수 있다. Preferably, if the service apparatus requests the recommendation item list of the web server, the method may further include obtaining view log data for the recommendation item through the recommendation item list.

바람직하게, 사용자 장치가 사용자 로그 데이터에 포함된 방문 URL(Uniform Resource Locator)로부터 방문 URL 상에 표시되는 아이템 정보 및 방문 URL에서 단말의 동작과 관련된 동작 정보를 추출하는 단계를 더 포함할 수 있다. Preferably, the user device may further include extracting item information displayed on the visit URL from a Uniform Resource Locator (URL) included in the user log data and operation information related to the operation of the terminal on the visit URL.

바람직하게, 서비스 장치가 각 소스 아이템 별로 추천 결과를 구분하여 저장하되, 웹 사이트를 구분하기 위한 서비스 식별자, 소스 아이템에 대한 아이템 식별자 및 소스 아이템과 관련된 추천 아이템에 대한 추천 아이템 식별자를 합한 문자열에 해쉬(hash) 함수를 적용하여 계산한 값을 추천 결과와 함께 저장하는 단계를 더 포함할 수 있다.Preferably, the service apparatus stores the recommendation result for each source item separately, and stores the service identifier for identifying the website, the item identifier for the source item, and the recommendation item identifier for the recommendation item related to the source item, and storing the value calculated by applying the hash function together with the recommendation result.

본 발명의 실시예에 따르면, 각종 컨텐츠, 상품 내지 서비스를 제공하는 웹 사이트에 별도의 추가 개발을 하지 않아도 자체 서비스에 바로 적용이 가능하다. According to the embodiment of the present invention, it is possible to directly apply to a self service without additionally developing a web site providing various contents, goods or services.

또한, 본 발명의 실시예에 따르면, 사용자로부터 발생되는 클릭/뷰 로그 데이터를 기반으로 피드백을 추천 결과에 반영하여 제공함으로써 보다 적합한 아이템을 추천할 수 있다.Also, according to the embodiment of the present invention, it is possible to recommend a more suitable item by providing the feedback on the recommendation result based on the click / view log data generated from the user.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtained in the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the following description .

본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 발명의 일 실시예에 따른 추천 아이템 제공 서비스 장치가 적용될 수 있는 시스템을 개략적으로 예시하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 서비스 장치의 구성을 예시하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 추천 아이템 제공 방법을 예시하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 사용자 로그 데이터 수집 방법을 예시하는 도면이다.
도 5는 본 발명의 일 실시예에 따른 사용자 로그 데이터 수집 방법을 예시하는 도면이다.
도 6은 본 발명의 일 실시예에 따른 추천 아이템 리스트를 제공하는 방법을 예시하는 도면이다.
도 7은 본 발명의 일 실시예에 따른 아이프레임(iframe) 포맷으로 제공되는 추천 아이템 리스트를 예시하는 도면이다.
도 8은 본 발명의 일 실시예에 따른 아이프레임(iframe) 포맷으로 제공되는 추천 아이템 리스트가 웹 페이지 상에 표시되는 예시를 나타낸다.
도 9는 본 발명의 일 실시예에 따른 클릭 로그 데이터를 수집하는 방법을 예시하는 도면이다.
도 10은 본 발명의 일 실시예에 따른 각 추천 아이템 별 클릭률을 예시하는 도면이다.
도 11은 본 발명의 일 실시예에 따른 알고리즘 별 추천률을 예시하는 도면이다.
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the technical features of the invention.
1 is a view schematically illustrating a system to which a recommendation item providing service apparatus according to an embodiment of the present invention can be applied.
2 is a diagram illustrating a configuration of a service apparatus according to an embodiment of the present invention.
3 is a diagram illustrating a recommendation item providing method according to an embodiment of the present invention.
4 is a diagram illustrating a method of collecting user log data according to an embodiment of the present invention.
5 is a diagram illustrating a method of collecting user log data according to an embodiment of the present invention.
6 is a diagram illustrating a method of providing a list of recommended items in accordance with an embodiment of the present invention.
7 is a diagram illustrating a recommendation item list provided in an iFrame format according to an embodiment of the present invention.
8 shows an example in which a recommendation item list provided in an iframe format according to an embodiment of the present invention is displayed on a web page.
9 is a diagram illustrating a method of collecting click log data according to an embodiment of the present invention.
10 is a diagram illustrating a click rate for each recommendation item according to an embodiment of the present invention.
11 is a diagram illustrating a recommendation rate for each algorithm according to an embodiment of the present invention.

이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The following detailed description, together with the accompanying drawings, is intended to illustrate exemplary embodiments of the invention and is not intended to represent the only embodiments in which the invention may be practiced. The following detailed description includes specific details in order to provide a thorough understanding of the present invention. However, those skilled in the art will appreciate that the present invention may be practiced without these specific details.

몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다.In some instances, well-known structures and devices may be omitted or may be shown in block diagram form, centering on the core functionality of each structure and device, to avoid obscuring the concepts of the present invention.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.Throughout the specification, when an element is referred to as "comprising" or " including ", it is meant that the element does not exclude other elements, do. Also, the terms " part, "" module," and " module ", etc. in the specification mean a unit for processing at least one function or operation and may be implemented by hardware or software or a combination of hardware and software have. Also, the terms " a or ", "one "," the ", and the like are synonyms in the context of describing the invention (particularly in the context of the following claims) May be used in a sense including both singular and plural, unless the context clearly dictates otherwise.

이하의 설명에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.The specific terminology used in the following description is provided to aid understanding of the present invention, and the use of such specific terminology may be changed into other forms without departing from the technical idea of the present invention.

이하 본 발명에서 사용자에게 추천하는 결과물로서, 유무선 네트워크를 통해 유통될 수 있는 각종 재화나 서비스, 디지털 방식으로 생성된 문자, 음향, 이미지, 동영상 등과 같은 컨텐츠, 컴퓨터 프로그램이나 어플리케이션 등과 같은 소프트웨어를 모두 포함할 수 있으며, 이하 설명의 편의를 위하여 '아이템(item)'으로 통칭하여 설명한다. Hereinafter, as a result recommended to the user in the present invention, various kinds of goods or services that can be distributed through a wired / wireless network, contents such as characters, sounds, images, moving pictures and the like, And will be collectively referred to as an " item " for convenience of explanation.

도 1은 본 발명의 일 실시예에 따른 추천 아이템 제공 서비스 장치가 적용될 수 있는 시스템을 개략적으로 예시하는 도면이다. 1 is a view schematically illustrating a system to which a recommendation item providing service apparatus according to an embodiment of the present invention can be applied.

도 1을 참조하면, 본 발명의 실시예에 따른 추천 아이템 제공 서비스 장치가 적용될 수 있는 시스템은 다수의 단말(10), 웹 서버(20), 서비스 장치(30) 및 네트워크(40)를 포함하여 구성될 수 있다.1, a system to which a recommendation item providing service apparatus according to an embodiment of the present invention can be applied includes a plurality of terminals 10, a web server 20, a service apparatus 30, and a network 40 Lt; / RTI >

단말(10)은 네트워크(40)를 통해 웹 서버(20) 및/또는 서비스 장치(30)와 정보를 송수신하며, 이러한 정보를 표시하거나 사용자로부터 정보를 입력 받는 사용자가 이용 가능한 장치를 의미한다. 특히, 본 발명에서 있어서, 단말(30)은 웹 서버(20)에 접속하여 아이템에 관한 각종 정보 및 서비스 장치(30)에 의하여 제공된 추천 아이템 리스트를 제공 받을 수 있다. 여기서, 추천 아이템은 특정 아이템과 관련된 하나 이상의 추천 아이템에 대한 리스트를 의미하며, 서비스 장치(30)가 웹 서버(20) 및/또는 단말(10)로부터 수집한 사용자 로그 데이터를 기반으로 생성될 수 있다. The terminal 10 refers to a device available for the user to exchange information with the web server 20 and / or the service device 30 via the network 40, and to display such information or receive information from the user. In particular, in the present invention, the terminal 30 can access the web server 20 and receive various information about items and a list of recommended items provided by the service device 30. [ Here, the recommendation item means a list of one or more recommendation items related to a specific item, and can be generated based on the user log data collected from the web server 20 and / or the terminal 10 by the service device 30 have.

또한, 단말(10)은 사용자에 의하여 선택된 아이템에 대한 선택 정보를 웹 서버(20)에 전송함으로써, 선택된 아이템을 이용(예를 들어, 구매, 장바구니 저장, 다운로드, 다른 단말에 전달 등)하기 위한 각종 기능을 수행할 수 있다. 또한, 단말(10)은 서비스 장치(30)에 사용자 로그 데이터를 전송하는 기능을 수행할 수도 있으며, 이에 관한 상세한 설명은 후술한다. 바람직하게, 단말(10)은 내부에 저장된 웹 브라우저를 통해 웹 서버(20) 및/또는 서비스 장치(30)와 정보를 송수신할 수 있으나, 반드시 이에 한정되는 것은 아니다. In addition, the terminal 10 may transmit the selection information for the item selected by the user to the web server 20 so as to use the selected item (for example, purchase, store cart, download, delivery to another terminal, etc.) Various functions can be performed. In addition, the terminal 10 may perform a function of transmitting user log data to the service device 30, and a detailed description thereof will be described later. Preferably, the terminal 10 can transmit and receive information to and from the web server 20 and / or the service device 30 through a web browser stored therein, but the present invention is not limited thereto.

도 1에서 도시된 바와 같이 본 명세서에서 설명되는 단말은 다양한 형태로 구현될 수 있다. 예를 들어, 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, 태블릿 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 셋탑박스(set-top box), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수 있으며, 네트워크를 통해 다른 사용자와 메시지를 송수신할 수 있는 단말이라면, 그 어떠한 장치도 본 발명의 단말로 적용 가능하다.As shown in FIG. 1, the terminal described in this specification can be implemented in various forms. For example, a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a tablet PC, a PDA (personal digital assistant), a portable multimedia player (PMP) A fixed terminal such as a smart TV, a set-top box, a desktop computer or the like may be used as well as a mobile terminal of the present invention and a terminal capable of transmitting / The apparatus is also applicable to the terminal of the present invention.

웹 서버(20)는 웹 상에서 각종 서비스를 제공하는 서비스 제공자의 서버들을 통칭하며, 물리적으로 특정 서버 혹은 특정 서비스를 제공하는 서버로 한정되지 않는다. 특히, 본 발명에 있어서, 웹 서버(20)는 앞서 설명한 아이템과 해당 아이템에 대한 각종 정보를 웹 서버(20)에 접속한 단말(10)에게 제공하고, 단말(10)(즉, 사용자)에 의하여 선택된 아이템에 대한 추천 아이템 리스트를 서비스 장치(30)로부터 수신하여 단말(10)에게 제공할 수 있다. 또한, 웹 서버(20)는 서비스 장치(30)에 사용자 로그 데이터를 전송하는 기능을 수행할 수도 있으며, 이에 관한 상세한 설명은 후술한다.The web server 20 collectively refers to servers of service providers that provide various services on the web, and is not limited to physically specific servers or servers that provide specific services. In particular, in the present invention, the web server 20 provides the above-described item and various information about the item to the terminal 10 connected to the web server 20, and transmits the information to the terminal 10 And can provide a recommendation item list for the selected item from the service device 30 to the terminal 10. In addition, the web server 20 may perform a function of transmitting user log data to the service device 30, and a detailed description thereof will be described later.

서비스 장치(30)는 웹 서버(20)에서 제공하는 다양한 아이템에 대한 추천 아이템 리스트를 웹 서버(20)에 제공하기 위한 기능을 수행하는 장치를 의미한다. 특히, 본 발명에 있어서, 서비스 장치(30)는 단말(10) 및/또는 웹 서버(20)로부터 사용자 로그 데이터를 수집 및 가공하고 각 아이템에 따른 추천 아이템 리스트를 산출하여 웹 서버(20)에 제공할 수 있다. 여기서, 사용자 로그 데이터는 어떠한 단말(10)(즉, 사용자)가 언제 어떠한 웹 서버에서 어떠한 아이템에 대하여 어떠한 동작을 하였는지 등의 이력을 나타내는 정보의 집합을 의미한다. The service device 30 is a device that provides a recommendation item list for various items provided by the web server 20 to the web server 20. In particular, in the present invention, the service apparatus 30 collects and processes user log data from the terminal 10 and / or the web server 20, calculates a recommendation item list corresponding to each item, . Here, the user log data means a set of information indicating a history such as which terminal 10 (i.e., a user) has performed an operation on an item and at what web server.

또한, 서비스 장치(30)는 단말(10) 및/또는 웹 서버(20)로부터 혹은 수집된 사용자 로그 데이터로부터 뷰(view) 로그 데이터 및/또는 클릭(click) 로그 데이터를 수집하여 제공되는 추천 결과를 재처리함으로써 사용자의 방문 내지 동작에 따라 피드백이 반영된 추천 아이템 리스트를 제공할 수 있다. 여기서, 뷰(view) 로그 데이터는 단말(10)(즉, 사용자)의 웹 서버(20)를 접속함으로써, 특정 아이템을 표시하는 웹 페이지가 단말(10)에게 제공된 이력을 나타내는 정보의 집합을 의미한다. 그리고, 클릭(click) 로그 데이터는 서비스 장치(30)에 의해 웹 서버(20)에 제공된 추천 아이템 리스트를 단말(10)(즉, 사용자)가 클릭함으로써, 단말(10)이 추천 아이템 리스트에 포함된 링크(예를 들어, 하이퍼링크 혹은 핫링크 등)를 통해 클릭된 추천 아이템을 표시하는 웹 페이지가 단말(10)에게 제공된 이력을 나타내는 정보의 집합을 의미한다. In addition, the service device 30 collects view log data and / or click log data from the terminal 10 and / or the web server 20 or from the collected user log data, It is possible to provide a recommendation item list in which the feedback is reflected according to the user's visit or operation. Here, view log data refers to a set of information indicating a history that a web page displaying a specific item is provided to the terminal 10 by accessing the web server 20 of the terminal 10 (i.e., a user) do. The click log data is stored in the recommended item list by the terminal 10 (that is, the user) clicking on a recommended item list provided to the web server 20 by the service apparatus 30 Means a set of information indicating a history in which a web page displaying a recommendation item clicked through a link (e.g., a hyperlink or a hot link) is provided to the terminal 10.

이러한 서비스 장치(30)는 상술한 동작을 지원하기 위해 다양한 장치의 집합으로 구현될 수 있다. 예컨대 로그 데이터(예를 들어, 사용자 로그, 뷰 로그, 클릭 로그 데이터)를 저장하고 관리할 수 있는 저장부 서버, 로그 데이터를 수집하는 수집 서버, 로그 데이터를 변환 내지 가공하는 클러스터링(clustering) 서버, 추천 아이템 리스트를 산출하고 추천 아이템 리스트를 웹 서버에 제공하는 API(Application Program Interface) 서버, 피드백 결과에 기반하여 추천 아이템 리스트를 수정하거나 추천 알고리즘을 선정하는 피드백 처리 서버 등을 포함하여 구현될 수 있다. 또한, 상술한 동작에 대응되는 기능을 수행하는 각각의 모듈들이 하나의 서비스 장치(30) 내에 구현될 수도 있다. 이하, 설명의 편의를 위하여 하나의 서비스 장치(30)로 구현되는 경우를 가정하여 설명한다. The service device 30 may be implemented as a collection of various devices to support the above-described operations. A storage server for storing and managing log data (for example, user log, view log, click log data), a collection server for collecting log data, a clustering server for converting or processing log data, An API (Application Program Interface) server for calculating a recommendation item list and providing a recommended item list to a web server, a feedback processing server for modifying a recommendation item list based on the feedback result or selecting a recommendation algorithm, and the like . In addition, each module performing the function corresponding to the above-described operation may be implemented in one service device 30. [ Hereinafter, for ease of explanation, it is assumed that the service device 30 is implemented.

이러한 단말(10), 웹 서버(20) 및 서비스 장치(30)는 네트워크(40)를 통해 관련된 다양한 정보를 송수신하게 되며, 이때의 네트워크(40)는 다양한 형태의 네트워크가 이용될 수 있다. 예컨대, 3세대 이동통신, 4세대 이동통신, 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) 등의 유선 통신 방식을 이용할 수 있으며, 이들의 조합으로 구현될 수도 있다. 또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.The terminal 10, the web server 20, and the service device 30 transmit and receive various information related to each other through the network 40, and various types of networks can be used for the network 40 at this time. For example, wireless communication methods such as 3G wireless communication, 4th generation mobile communication, WLAN (Wireless LAN), Wi-Fi, Wibro, WiMAX, HSDPA (High Speed Downlink Packet Access) (Ethernet), xDSL (ADSL, VDSL), Hybrid Fiber Coaxial Cable (HFC), Fiber to the Curb (FTTC), and Fiber To The Home (FTTH) It is possible. In addition to the above-described communication methods, other widely known or later-developed communication methods may be included.

도 2는 본 발명의 일 실시예에 따른 서비스 장치의 구성을 예시하는 도면이다. 2 is a diagram illustrating a configuration of a service apparatus according to an embodiment of the present invention.

도 2에서 도시된 서비스 장치(30)의 구성은, 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 어느 하나 이상의 구성이 실제 물리적으로는 서로 통합되어 구현될 수도 있다.The configuration of the service device 30 shown in FIG. 2 shows functional elements that are functionally distinguished, and any one or more configurations may be physically integrated with each other.

도 2를 참조하면, 본 발명의 일 실시예에 따른 서비스 장치(30)는 통신부(210), 제어부(220) 및 저장부(230)를 포함하여 구성될 수 있다. 서비스 장치(30)를 구성하는 통신부(210), 제어부(220) 및 저장부(230)는 본 발명에 따른 기능을 수행하기 위하여 상호 기능적으로 연결될 수 있다.2, the service device 30 according to an embodiment of the present invention may include a communication unit 210, a control unit 220, and a storage unit 230. The communication unit 210, the control unit 220 and the storage unit 230 constituting the service device 30 may be functionally connected to perform the functions according to the present invention.

각 구성 요소에 대해 보다 구체적으로 설명하면, 통신부(210)는 하나 이상의 단말(10) 및/또는 웹 서버(20)와 유/무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 특히, 본 발명에 있어서, 통신부(210)는 하나 이상의 단말(10) 및/또는 웹 서버(20)로부터 사용자 로그 데이터를 수신할 수 있다. 또한, 통신부(210)는 웹 서버(20)로부터 추천 아이템 리스트 요청 메시지를 수신할 수 있으며, 추천 아이템 리스트 요청 메시지에 대응하여 추천 아이템 리스트를 웹 서버(20)에 전송할 수 있다. 또한, 웹 서버(20)에서 제공하는 웹 페이지 상에서 사용자의 추천 아이템 클릭에 의하여 단말(10)로부터 접속 요청을 수신하면, 접속 요청한 해당 단말(10)에 리다이렉트(redirect) URL(Uniform Resource Locator)을 전송할 수 있다. More specifically, the communication unit 210 may include one or more modules that enable wired / wireless communication with one or more terminals 10 and / or the web server 20. In particular, in the present invention, the communication unit 210 may receive user log data from one or more terminals 10 and / or the web server 20. [ Also, the communication unit 210 can receive the recommended item list request message from the web server 20, and can transmit the recommended item list to the web server 20 in response to the recommended item list request message. Upon receiving a connection request from the terminal 10 by clicking a recommendation item on the web page provided by the web server 20, a redirect URL (Uniform Resource Locator) is assigned to the corresponding terminal 10 Lt; / RTI >

제어부(220)는 서비스 장치(30)의 전반적인 제어를 수행하는 구성으로, 통신부(210) 및 저장부(250)의 기능 수행을 기능 수행을 위한 신호의 흐름을 제어하게 된다. 이때, 제어부(220)는 운영 체제(OS: Operation System), 응용 프로그램 및 각 구성을 구동시키는 프로세스 장치, 예컨대, 중앙처리장치(CPU: Central Processing Unit)로 이루어질 수 있다.The control unit 220 is configured to perform overall control of the service device 30 and controls the flow of signals for performing functions of the communication unit 210 and the storage unit 250. At this time, the control unit 220 may include an operating system (OS), an application program, and a process unit for driving each configuration, for example, a central processing unit (CPU).

특히, 본 발명에 있어서, 제어부(220)는 데이터 수집부(221), 데이터 처리부(222), 추천 계산부(223), 추천 결과 제공부(224) 및 피드백 처리부(225)를 포함하여 구성될 수 있다. Particularly, in the present invention, the control unit 220 includes a data collecting unit 221, a data processing unit 222, a recommendation calculating unit 223, a recommendation result providing unit 224, and a feedback processing unit 225 .

데이터 수집부(221)는 단말(10) 및/또는 웹 서버(20)로부터 상술한 사용자 로그 데이터를 수집하여 저장부(230)에 저장하는 기능을 수행할 수 있다. The data collection unit 221 may collect the user log data from the terminal 10 and / or the web server 20 and store the collected user log data in the storage unit 230.

데이터 처리부(222)는 데이터 수집부(221)에 의하여 수집 및 저장된 사용자 로그 데이터로부터 추천 아이템을 계산하기 위하여 계산에 필요한 데이터들을 추출하고, 추출된 데이터들을 계산에 적합한 데이터 포맷으로 변환 내지 가공하여 변환된 사용자 로그 데이터를 저장부(230)에 저장하는 기능을 수행할 수 있다. 또한, 추천 계산부(223)에 의하여 계산되어 저장된 추천 계산 결과를 인터넷을 통해 웹 서버(20)에 제공하기 위한 포맷으로 변환 내지 가공한 추천 결과를 데이터 베이스(230)에 저장하는 기능을 수행할 수 있다. The data processing unit 222 extracts data necessary for calculation in order to calculate a recommendation item from the user log data collected and stored by the data collection unit 221, converts the extracted data into a data format suitable for calculation, And store the user log data in the storage unit 230. [ In addition, the recommendation calculation unit 223 performs a function of storing a recommendation result, which is calculated and stored in the database 230, into a format for providing the recommendation result to the web server 20 via the Internet .

추천 계산부(223)는 데이터 처리부(222)에 의하여 처리된 변환된 사용자 로그 데이터로부터 다양한 추천 알고리즘을 이용하여 추천 아이템을 계산하고, 추천 아이템을 계산한 추천 계산 결과를 저장부(230)에 저장하는 기능을 수행할 수 있다.The recommendation calculation unit 223 calculates recommendation items from the converted user log data processed by the data processing unit 222 by using various recommendation algorithms and stores the recommendation calculation results obtained by calculating the recommendation items in the storage unit 230 Can be performed.

추천 결과 제공부(224)는 웹 서버(20)로부터 특정 아이템에 대한 추천 아이템 리스트 요청 메시지를 수신하면, 해당 아이템에 대한 추천 아이템 리스트를 저장부(230)의 추천 결과로부터 추출하여 웹 서버(20)에 전송하는 기능을 수행할 수 있다. 또한, 추천이 금지되는 아이템을 추천 결과(혹은 추천 아이템 리스트)에서 삭제하거나 새로운 추천 아이템을 추천 결과(혹은 추천 아이템 리스트)에 추가하거나 추천 결과(혹은 추천 아이템 리스트)에 부가적인 정보를 추가하는 등 추천 결과(혹은 추천 아이템 리스트)를 후처리하는 기능을 수행할 수 있다. Upon receiving the recommendation item list request message for a specific item from the Web server 20, the recommendation result provider 224 extracts a recommendation item list for the item from the recommendation result of the storage unit 230, To the mobile terminal. In addition, deletion of recommended items from recommendation result (or list of recommended items), addition of new recommendation items to recommendation result list (or recommended item list), addition of additional information to recommendation result list And to post-process the recommendation result (or recommended item list).

피드백 처리부(225)는 클릭 로그 데이터 및/또는 뷰 로그 데이터를 수집하고, 수집된 클릭 로그 데이터 및/또는 뷰 로그 데이터를 기반으로 추천 결과(혹은 추천 아이템 리스트)를 재처리하거나 추천 계산부(223)에서 추천 계산에 이용하는 추천 알고리즘을 결정하는 기능을 수행할 수 있다. The feedback processor 225 collects the click log data and / or the view log data, and reprocesses the recommendation result (or the recommended item list) based on the collected click log data and / or the view log data, ) Can perform a function of determining a recommendation algorithm to be used in the recommendation calculation.

먼저, 클릭 로그 데이터를 수집하기 위하여, 피드백 처리부(225)는 웹 서버(20)에서 제공하는 웹 페이지 상에서 사용자의 추천 아이템 클릭에 의하여 단말(10)로부터 접속 요청을 수신하면, 이를 클릭 로그 데이터로 저장부(230)에 저장하는 기능을 수행하며, 접속 요청한 해당 단말(10)에 리다이렉트(redirect) URL을 전송하는 기능을 수행할 수 있다. 또한, 이와 상이하게, 피드백 처리부(225)는 사용자 로그 데이터로부터 특정 파라미터 내지 형식을 가지는 데이터를 추출하여 이를 클릭 로그 데이터로 저장부(230)에 저장하는 기능을 수행할 수 있다.First, in order to collect click log data, the feedback processing unit 225 receives a connection request from the terminal 10 by clicking a recommendation item of a user on a web page provided by the web server 20, And stores the URL in the storage unit 230, and can transmit a redirect URL to the corresponding terminal 10 requested to be connected. Alternatively, the feedback processing unit 225 may extract data having a specific parameter or format from the user log data and store the extracted data in the storage unit 230 as click log data.

또한, 뷰 로그 데이터를 수집하기 위하여, 피드백 처리부(225)는 웹 서버(20)로부터 추천 아이템 리스트 요청 메시지를 수신하면, 이를 뷰 로그 데이터로 데이터 베이스(230)에 저장하는 기능을 수행할 수 있다.In order to collect view log data, the feedback processor 225 may receive the recommended item list request message from the web server 20 and store it in the database 230 as view log data .

한편, 도 2의 예시에서는 데이터 수집부(221), 데이터 처리부(222), 추천 계산부(223), 추천 결과 제공부(224) 및 피드백 처리부(225)를 각각의 블록으로 도시하였으나, 물리적으로 하나의 장치로 통합되어 구현될 수도 있으며, 상술한 바와 같이 일부 또는 그 각각이 물리적으로 서로 다른 장치에 구현될 수도 있다. 또한, 동일한 기능을 수행하는 복수 개의 장치가 병렬적으로 구현될 수도 있다. 2, the data collecting unit 221, the data processing unit 222, the recommendation calculating unit 223, the recommendation result providing unit 224, and the feedback processing unit 225 are shown as respective blocks. However, May be integrated into one device, and some or all of them may be implemented in physically different devices as described above. Further, a plurality of devices performing the same function may be implemented in parallel.

저장부(230)는 서비스 장치(30)의 동작에 필요한 데이터 및 프로그램을 저장하는 수단으로서, 기본적으로 서비스 장치(30)에 의해 실행될 운영 프로그램 및 응용 프로그램을 저장한다. 특히, 본 발명에 있어서, 저장부(230)는 데이터 수집부(241)에 의하여 수집된 사용자 로그 데이터, 데이터 처리부(222)에 의하여 처리된 변환된 사용자 로그 데이터와 추천 결과, 추천 계산부(223)에 의하여 계산된 추천 계산 결과 및 피드백 수집부(245)에 의하여 수집된 뷰 로그 데이터와 클릭 로그 데이터를 저장할 수 있다. The storage unit 230 is a means for storing data and programs necessary for operation of the service device 30 and basically stores an operating program to be executed by the service device 30 and an application program. In particular, in the present invention, the storage unit 230 stores the user log data collected by the data collection unit 241, the converted user log data processed by the data processing unit 222 and the recommendation result, ) And the view log data and the click log data collected by the feedback collecting unit 245. [0213] FIG.

이러한, 저장부(250)는 다양한 저장 수단으로 구현될 수 있다. 예를 들어, 저장부(250)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM: Random Access Memory), SRAM(Static Random Access Memory), 롬(ROM: Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 저장부(250)는 제어부(220) 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 제어부(220)와 연결될 수 있다.The storage unit 250 may be implemented by various storage means. For example, the storage unit 250 may be a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD or XD A random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM) , A magnetic memory, a magnetic disk, or an optical disk. The storage unit 250 may be located inside or outside the control unit 220 and may be connected to the control unit 220 by various well-known means.

이하, 설명의 명확히 하기 위하여, 데이터 수집부(221)에 의하여 수집된 '사용자 로그 데이터'와 구분하여 데이터 처리부(222)에 의하여 가공된 사용자 로그 데이터를 '변환된 사용자 로그 데이터'로 지칭한다. 또한, 추천 계산부(223)에 의하여 계산된 결과를 '추천 계산 결과'로 지칭하며, 데이터 처리부(222)에 의하여 가공된 추천 계산 결과를 '추천 결과'로 지칭한다. 또한, 추천 결과 제공부(224)가 추천 결과에서 웹 서버(20)가 요청한 특정 아이템에 관하여 제공하는 추천 결과를 '추천 아이템 리스트'로 지칭한다. 즉, 추천 결과는 모든 아이템에 대하여 추천되는 추천 아이템 리스트를 포괄한다. Hereinafter, for the sake of clarity, the user log data processed by the data processing unit 222 is distinguished from the 'user log data' collected by the data collecting unit 221 and is referred to as 'converted user log data'. The result calculated by the recommendation calculation unit 223 is referred to as a 'recommended calculation result', and the recommended calculation result processed by the data processing unit 222 is referred to as a 'recommended result'. Also, the recommendation result provided by the recommendation result providing unit 224 regarding the specific item requested by the web server 20 from the recommendation result is referred to as a 'recommendation item list'. That is, the recommendation result includes a recommended item list recommended for all items.

이하, 서비스 장치(30)에서 추천 아이템을 제공하기 위한 동작에 관하여 도 3을 참조하여 설명한다.Hereinafter, an operation for providing a recommendation item in the service apparatus 30 will be described with reference to FIG.

도 3은 본 발명의 일 실시예에 따른 추천 아이템 제공 방법을 예시하는 도면이다. 3 is a diagram illustrating a recommendation item providing method according to an embodiment of the present invention.

도 3을 참조하면, 서비스 장치(30)는 단말(10) 및/또는 웹 서버(20)로부터 상술한 사용자 로그 데이터를 수집할 수 있다(S301). 여기서, 서비스 장치(30)는 단말(10) 및/또는 웹 서버(20)로부터 동기적(즉, 실시간 수집) 혹은 비동기적(예를 들어, 특정 주기에 수집)으로 사용자 로그 데이터를 수집할 수 있으며, 수집 방식과 무관하게 계속적으로 단말(10) 및/또는 웹 서버(20)로부터 사용자 로그 데이터를 수집할 수 있다. Referring to FIG. 3, the service device 30 may collect the above-described user log data from the terminal 10 and / or the web server 20 (S301). Here, the service device 30 can collect user log data from the terminal 10 and / or the web server 20 in a synchronous (i.e., real-time collection) or asynchronously (for example, And can collect user log data continuously from the terminal 10 and / or the web server 20 regardless of the collection method.

서비스 장치(30)는 S301 단계에서 수집된 사용자 로그 데이터로부터 추천 아이템을 계산하기 위하여 추천 계산에 필요한 데이터들을 추출하고, 추출된 데이터들을 추천 계산에 적합한 데이터 포맷으로 변환하여 저장할 수 있다(S303). 여기서, S301 단계에서 다수의 단말(10) 및/또는 다수의 웹 서버(20)로부터 수집한 사용자 로그 데이터의 포맷이 동일하며, 추천 아이템 계산에 적합하다면, 서비스 장치(30)는 데이터 변환 단계를 수행하지 않을 수 있으며, 즉 S303 단계는 생략될 수 있다. In step S303, the service device 30 extracts data necessary for recommendation calculation in order to calculate a recommendation item from the user log data collected in step S301, and converts the extracted data into a data format suitable for recommendation calculation and stores it. If the format of the user log data collected from the plurality of terminals 10 and / or the plurality of web servers 20 is the same in step S301 and is suitable for the recommended item calculation, the service device 30 performs the data conversion step It may not be performed, that is, step S303 may be omitted.

서비스 장치(30)는 S303에서 변환된 사용자 로그 데이터를 이용하여 다양한 추천 알고리즘을 이용하여 추천 아이템을 계산하고, 추천 계산 결과를 저장할 수 있다(S305). 여기서, 서비스 장치(30)는 모든 아이템에 대하여 각 추천 알고리즘 별로 추천 아이템을 계산할 수 있다. 또한, 사용자 로그 데이터를 임의로 혹은 특정 기준에 따라 복수의 그룹으로 구분하고 각 그룹 별로 서로 다른 추천 알고리즘을 이용하여 추천 아이템을 계산할 수 있다. 또한, 서비스 장치(30)가 추천 아이템을 계산하는 시점은 S301 단계에서 사용자 로그 데이터를 수집하는 시점과 동일하거나 동일하지 않을 수 있으며, 일정 주기를 가지고 계산될 수 있다. The service device 30 can calculate a recommendation item using various recommended algorithms using the user log data converted in S303, and store the recommendation calculation result (S305). Here, the service device 30 can calculate a recommendation item for each recommendation algorithm for every item. In addition, the user log data can be divided into a plurality of groups according to a certain criterion, and a recommendation item can be calculated using different recommendation algorithms for each group. The time at which the service device 30 calculates the recommendation item may be the same as or not the same as the time at which the user log data is collected in step S301, and may be calculated with a certain period.

서비스 장치(30)는 S305 단계에서 계산된 추천 계산 결과를 인터넷을 통해 웹 서버(20)에 제공하기 위하여 적합한 데이터 포맷으로 변환할 수 있다(S307). 상술한 바와 같이, S303 단계에서 서비스 장치(30)가 데이터 변환 단계를 수행하지 않는 다면, S307 단계 또한 생략될 수 있다. The service device 30 may convert the recommended calculation result calculated in step S305 into a data format suitable for providing to the web server 20 via the Internet (S307). As described above, if the service device 30 does not perform the data conversion step in step S303, step S307 may also be omitted.

서비스 장치(30)는 계산된 추천 결과(혹은 추천 아이템 리스트)에 대하여 후처리를 수행한 후, 사용자 로그 데이터를 수집한 해당 웹 서버(20)에 추천 아이템 리스트를 제공할 수 있다(S309). 이때, 서비스 장치(30)는 일정 주기를 가지고 추천 아이템 리스트를 웹 서버(20)에 제공하거나, 서비스 장치(30)가 웹 서버(20)로부터 특정 아이템에 대한 추천 아이템 리스트를 요청 받아 해당 아이템에 대한 추천 아이템 리스트를 웹 서버(20)에 전송할 수도 있다. The service device 30 performs post-processing on the calculated recommendation result (or recommendation item list), and provides the recommendation item list to the web server 20 that collected the user log data (S309). At this time, the service apparatus 30 provides the recommendation item list to the web server 20 with a predetermined period, or the service apparatus 30 requests the recommended item list for the specific item from the web server 20, To the web server 20, a recommended list of recommended items.

서비스 장치(30)는 사용자의 피드백을 수집하여 이를 추천에 반영할 수 있다(S311). 즉, 서비스 장치(30)는 수집된 클릭 로그 데이터 및/또는 뷰 로그 데이터를 기반으로 추천 결과(혹은 추천 아이템 리스트)를 재처리하거나(S309 단계로 분기), 추천 계산부(223)에서 추천 계산에 이용하는 추천 알고리즘을 결정할 수 있다(S305 단계로 분기)(S311).The service device 30 may collect the feedback of the user and reflect it in the recommendation (S311). That is, the service device 30 reprocesses the recommendation result (or recommendation item list) based on the collected click log data and / or view log data (branching to step S309) (Refer to step S305) (S311).

이하, 도 3의 예시에서 설명한 각 단계에 관하여 보다 상세히 설명한다. Hereinafter, each step described in the example of FIG. 3 will be described in more detail.

서비스 장치(30)(특히, 데이터 수집부(221))는 단말(10) 및/또는 웹 서버(20)로부터 상술한 사용자 로그 데이터를 수집할 수 있다(S301).The service device 30 (in particular, the data collecting unit 221) may collect the above-described user log data from the terminal 10 and / or the web server 20 (S301).

상술한 바와 같이, 사용자 로그 데이터는 어떠한 사용자가 언제 어떠한 웹 서버에서 어떠한 아이템에 대하여 어떠한 행동을 하였는지 등을 나타내는 정보의 집합을 의미한다. 이외에도 사용자 로그 데이터는 사용자가 사용하는 단말(10)에 탑재된 브라우저를 식별할 수 있는 정보, 기타 아이템에 대하여 특정 사용자에게 노출을 제한하기 위한 정보, 웹 서버(20)에서 관리하는 사용자의 회원 아이디(ID: Identifier) 정보 등을 포함할 수 있다. As described above, the user log data means a set of information indicating what kind of user performed what kind of behavior, what kind of item, what kind of web server, and what kind of item. In addition, the user log data includes information for identifying a browser mounted on the terminal 10 used by the user, information for limiting exposure to a specific user with respect to other items, (ID) identifier information, and the like.

표 1은 본 발명에 따른 사용자 로그 데이터에 포함될 수 있는 정보를 예시한다. Table 1 illustrates information that may be included in the user log data according to the present invention.

사용자 식별정보User identification information 상품 식별정보Product identification information 동작 식별정보Motion identification information 동작 발생 시각Occurrence time 사용자AUser A 상품2Item 2 장바구니shopping basket 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc 사용자BUser B 상품3Item 3 구매purchase 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc 사용자BUser B 상품5Item 5 방문visit 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc

서비스 장치(30)는 이러한 사용자 로그 데이터를 수집하기 위하여 다음과 같은 방법을 이용할 수 있다. The service device 30 may use the following method to collect such user log data.

먼저, 서비스 장치(30)는 웹 서버(20)에 접속하여 사용자 로그 데이터를 추출하여 획득하거나, 웹 서버(20)로부터 전송되는 사용자 로그 데이터를 수신하여 획득할 수 있으며, 이에 관하여 아래 도 4를 참조하여 설명한다. First, the service device 30 can acquire and acquire user log data by accessing the web server 20, or can receive and acquire user log data transmitted from the web server 20, .

도 4는 본 발명의 일 실시예에 따른 사용자 로그 데이터 수집 방법을 예시하는 도면이다. 4 is a diagram illustrating a method of collecting user log data according to an embodiment of the present invention.

도 4를 참조하면, 웹 서버(20)는 단말(10)이 접속하여 특정 동작을 수행하면, 특정 동작이 수행되었음을 서비스 장치(30)에 알리기 위하여 사용자 로그 데이터가 포함된 웹 페이지의 접근 경로 정보를 포함하는 접속 요청 메시지를 서비스 장치(30)에 전송할 수 있다(S401). 여기서, 웹 서버(20)는 POST HTTP 프로토콜을 이용하여 서비스 장치(30)에 접속 요청 메시지를 전송할 수 있다. 4, when the terminal 10 accesses the web server 20 and performs a specific operation, the web server 20 transmits the access path information of the web page including the user log data to the service device 30 to inform the service device 30 that the specific operation has been performed To the service device 30 (S401). Here, the web server 20 can transmit a connection request message to the service device 30 using the POST HTTP protocol.

서비스 장치(30)는 웹 서버(20)로부터 접속 요청 메시지를 수신하면, 접속 요청 메시지에 포함된 웹 페이지의 접근 경로 정보를 기반으로 웹 서버(20)에 접속하여 해당 웹 페이지에 포함된 사용자 로그 데이터를 추출하여 획득한다(S403). 여기서, 서비스 장치(30)는 GET HTTP 프로토콜을 이용하여 웹 서버(20)로부터 사용자 로그 데이터를 추출할 수 있다. Upon receiving the connection request message from the web server 20, the service device 30 accesses the web server 20 based on the access path information of the web page included in the connection request message, Data is extracted and acquired (S403). Here, the service device 30 can extract user log data from the web server 20 using the GET HTTP protocol.

이어, 서비스 장치(30)는 획득한 사용자 로그 데이터를 저장한다(S405).Next, the service device 30 stores the acquired user log data (S405).

또한, 도 4의 예시와 상이하게, 웹 서버(20)에서 해당 웹 서버(20)에 접속된 사용자 단말(10)의 동작에 관한 사용자 로그 데이터를 TCP/IP 프로토콜을 통해 서비스 장치(30)로 전송함으로써, 서비스 장치(30)에서 사용자 로그 데이터를 획득할 수도 있다. 4, the user log data related to the operation of the user terminal 10 connected to the web server 20 in the web server 20 is transmitted to the service device 30 via the TCP / IP protocol Thereby obtaining user log data at the service device 30. [

다음으로, 서비스 장치(30)는 웹 서버(20)에서 서비스하는 웹 사이트에 스크립트(script)를 삽입하고, 삽입한 스크립트를 통해 사용자 단말(10)로부터 사용자 로그 데이터를 획득할 수도 있으며, 이에 관하여 아래 도 5를 참조하여 설명한다. Next, the service apparatus 30 may insert a script into a web site served by the web server 20 and acquire user log data from the user terminal 10 through the inserted script. This will be described below with reference to FIG.

도 5는 본 발명의 일 실시예에 따른 사용자 로그 데이터 수집 방법을 예시하는 도면이다. 5 is a diagram illustrating a method of collecting user log data according to an embodiment of the present invention.

도 5를 참조하면, 서비스 장치(30)는 웹 서버(20)에서 제공하는 웹 사이트에 스크립트를 삽입할 수 있다(S501). 예를 들어, 서비스 장치(30)는 웹 서버(20)에서 제공하는 웹 페이지에 "<script src=http://collector.recopick.com/plugin.js></script>"와 같은 스크립트를 삽입할 수 있다. Referring to FIG. 5, the service device 30 may insert a script into a web site provided by the web server 20 (S501). For example, the service apparatus 30 inserts a script such as "<script src = http: //collector.recopick.com/plugin.js> </ script>" into the web page provided by the web server 20 can do.

이후, 단말(10)이 웹 서버(20)에 접속하여(S503), 해당 웹 서버(20)에서 제공하는 웹 페이지를 방문하면 해당 웹 페이지 내에 삽입된 스크립트를 실행하면(S505). 해당 스크립트에 의하여 자동으로 사용자에 대한 로그 데이터를 서비스 장치(30)에 전송할 수 있다(S507). 예를 들어, 단말(10)에 탑재된 웹 브라우저에서 앞서 예시한 스크립트를 실행하게 되면, 단말(10)이 방문한 웹 페이지의 URL 정보, 방문 시각, 스크립트에 포함된 파라미터들에 대한 값 등을 서비스 장치(30)에 전송하게 된다. Thereafter, when the terminal 10 accesses the web server 20 (S503) and visits the web page provided by the web server 20, the script inserted in the web page is executed (S505). The log data for the user can be automatically transmitted to the service apparatus 30 by the script (S507). For example, when the above-described script is executed in the web browser installed in the terminal 10, the URL information of the web page visited by the terminal 10, the visit time, the values for the parameters included in the script, To the device (30).

상술한 스크립트를 이용하여 서비스 장치(30)가 단말(10)로부터 수집하는 정보는 다음과 같다.The information collected by the service device 30 from the terminal 10 using the above-described script is as follows.

- 웹 브라우저 쿠키 기반으로 생성된 사용자 식별자(UID: User IDentifier)- UID (User IDentifier) generated based on web browser cookie

- 사용자의 방문 URL 정보- User's visit URL information

- 사용자의 방문 참조 주소(Referrer) 정보- Information about the user's visit reference (Referrer)

- 접속 시각 정보- Connection time information

- 웹 브라우저의 사용자 에이전트(User Agent) 정보- About the user agent of the web browser

- 기타 메타(Meta) 정보- Other Meta Information

사용자 식별자(UID)는 사용자를 구별하기 위한 값을 의미한다. 단말(10)이 스크립트를 실행하게 되면, 먼저 단말(10)은 웹 브라우저의 쿠키(Cookie)에 사용자 식별자(user identifier) 값이 저장되어 있는지 찾고, 사용자 식별자가 저장되어 있는 경우 해당 값을 서비스 장치(30)에 전송한다. 반면, 웹 브라우저의 쿠키에 사용자 식별자가 저장되어 있지 않다면 임의의 숫자 값과 생성 시각을 조합(예를 들어, 33619442.1366005959274)함으로써 사용자를 식별할 수 있는 정보를 생성하여 이를 서비스 장치(30)에 전송한다. The user identifier (UID) means a value for distinguishing a user. When the terminal 10 executes the script, the terminal 10 firstly determines whether the user identifier value is stored in the cookie of the web browser. If the user identifier is stored, (30). On the other hand, if the user identifier is not stored in the cookie of the web browser, information that can identify the user is generated by combining an arbitrary numerical value and the generation time (for example, 33619442.1366005959274), and transmits the generated information to the service device 30 .

방문 URL 정보는 접속한 웹 서버(20)의 해당 웹 페이지에 대한 URL 정보를 의미한다. 그리고, 참조 주소(referrer) 정보는 링크를 통해서 웹 서버(20)의 해당 웹 페이지에 방문한 경우에 이전에 방문하였던 웹 페이지에 대한 URL 정보를 의미한다. 그리고, 접속 시각 정보는 단말(10)이 웹 서버(20)의 웹 페이지에 방문한 시각 정보를 의미한다. 웹 브라우저의 사용자 에이전트(User Agent) 정보는 웹 서버(20)에 접속 시 단말(10)에서 이용한 웹 브라우저를 구별하기 위한 정보를 의미한다. 일례로, 단말(10)에서 이용한 웹 브라우저가 모바일 장치 용 웹 브라우저인지, 데스크탑 용 웹 브라우저인지 식별하기 위한 정보가 이에 해당될 수 있다. 이러한 정보들은 단말(10)에 탑재된 웹 브라우저에서 수집하여 전체 정보를 동기적 혹은 비동기적으로 서비스 장치(30)에 전송할 수 있다. The visit URL information means URL information of a corresponding web page of the connected web server 20. [ The referrer information refers to the URL information of the web page previously visited when the user visited the corresponding web page of the web server 20 through the link. The connection time information refers to time information that the terminal 10 visited on the web page of the web server 20. [ The user agent information of the web browser means information for distinguishing the web browser used by the terminal 10 when accessing the web server 20. For example, this information may be information for identifying whether the web browser used in the terminal 10 is a web browser for a mobile device or a web browser for a desktop. Such information may be collected by a web browser installed in the terminal 10 and transmitted to the service device 30 synchronously or asynchronously.

그리고, 메타 정보는 서비스 장치(30)가 추천 아이템을 산출할 때 고려해야 되는 기타 추가적인 정보를 의미하며, 그 일례로, 웹 서버가 운영하는 웹 사이트에 회원 정보와 같이 보다 정확하게 사용자를 구별할 수 있는 정보 혹은 아이템이 성인 인증이 필요한지 여부에 관한 정보 등이 해당될 수 있다. 이러한 메타 정보는 웹 서버(20)의 웹 페이지에 삽입된 스크립트가 메타(Meta) 정보를 요구하는 형식을 가지는 경우에는 스크립트에서 요구하는 메타 정보를 단말(10)이 서비스 장치(30)에 전송한다. 예를 들어, 삽입된 스크립트가 "plugin.js?key=value&key2=value2" 형태를 가지게 되면, 단말(10)에서 각각의 파라미터(key, key2)에 대한 값(value1, value2)을 서비스 장치(30)에 전송한다. The meta information means other additional information that should be considered when the service apparatus 30 calculates a recommendation item. For example, the meta information may be a web site operated by the web server, Information about whether or not the information or item requires adult authentication, and the like. If the script embedded in the web page of the web server 20 has a format requiring meta information, the meta information is transmitted to the service device 30 by the terminal 10 . For example, when the inserted script has a form of "plugin.js? Key = value & key2 = value2", the terminal 10 transmits the values (value1, value2) .

앞서 설명한 방식으로 단말(10)로부터 사용자 로그 데이터를 수신한 서비스 장치(30)는 획득한 사용자 로그 데이터를 저장한다(S509).The service device 30 receiving the user log data from the terminal 10 in the above-described manner stores the acquired user log data (S509).

앞서 도 4 내지 도 5의 예시와 같은 방법을 통해 수집한 사용자 로그 데이터를 예시하면 아래 표 2와 같다.The user log data collected through the method as shown in FIGS. 4 to 5 is shown in Table 2 below.

표 2는 서비스 장치(30)가 수집한 사용자 로그 데이터를 예시한다. Table 2 illustrates the user log data collected by the service device 30.

KEYKEY VALUEVALUE refref http://vanillashu.co.kr/front/php/product.php?product_no=13806&main_cate_no=1http://vanillashu.co.kr/front/php/product.php?product_no=13806&main_cate_no=1 sitesite vanillashu.co.krvanillashu.co.kr uiduid 44209103.13660944209103.136609 urlurl http://vanillashu.co.kr/front/php/category.php?cate_no=30http://vanillashu.co.kr/front/php/category.php?cate_no=30 timetime 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc

서비스 장치(30)(특히, 데이터 처리부(222))는 S301 단계에서 수집된 사용자 로그 데이터로부터 추천 아이템을 계산하기 위하여 추천 계산에 필요한 데이터들을 추출(extract)하고, 추출된 데이터들을 계산에 추천 적합한 데이터 포맷으로 변환(transform)하여 저장(load)할 수 있다(S303)The service device 30 extracts data necessary for the recommendation calculation to calculate a recommendation item from the user log data collected in step S301, And may be transformed into a data format and loaded (S303)

먼저, 서비스 장치(30)는 수집한 사용자 로그 데이터에서 방문 URL 정보의 도메인을 이용하여 서비스 식별자(SERVICE_ID)를 추출한다. 예를 들어, 방문 URL 정보가 "http://www.foodfly.co.kr/restaurants/show/11378"인 경우, 서비스 장치(30)는 단말(10)이 방문한 도메인 "www.foodfly.co.kr"와 대응되는 서비스 식별자로써, 1을 부여할 수 있다(SERVICE_ID=1). 이때, 각각의 웹 서버(20)에서 운영하는 웹 사이트의 도메인과 서비스 식별자는 일대일로 매핑될 수 있다. 또한, 이와 같이 웹 사이트의 도메인과 서비스 식별자가 매핑된 테이블 정보가 서비스 장치(30)에 저장되어 있을 수 있으며, 이러한 경우 서비스 장치(30)는 미리 저장된 테이블을 참조하여 서비스 식별자 값을 추출할 수 있다.First, the service device 30 extracts a service identifier (SERVICE_ID) using the domain of the visit URL information from the collected user log data. For example, when the visited URL information is "http://www.foodfly.co.kr/restaurants/show/11378", " the service device 30 receives the domain" www.foodfly.com. 1 &quot; as the service identifier corresponding to &quot; kr "(SERVICE_ID = 1). At this time, the domain of the web site operated by each web server 20 and the service identifier can be mapped on a one-to-one basis. In this case, the service apparatus 30 may store the table information in which the domain of the website and the service identifier are mapped. In this case, the service apparatus 30 may extract the service identifier value by referring to the pre- have.

그리고, 서비스 장치(30)는 각 서비스 식별자(SERVICE_ID) 별로 미리 정의된 정규식을 이용하여 방문 URL 정보에서 아이템 식별자(ITEM_ID)와 동작 식별자(ACTION_ID)를 추출한다. 여기서, 정규식은 URL 정보에서 필요한 파라미터의 값을 추출하기 위한 공식을 의미하며, 각각의 서비스 식별자 및/또는 동작 식별자 별로 상이한 정규식이 이용될 수 있다. 예를 들어, 앞서 예시한 서비스 식별자 1(SERVICE_ID=1)을 가지는 URL에서 '방문(VISIT)' 동작을 추출하기 위한 정규식으로 "/restaurants\/show\/(.*)$/"이 이용될 수 있으며, 이 경우, '/restaurants\/show\/' 경로는 '방문(VISIT)' 동작을 나타내고(ACTION_ID=VISIT), 해당 경로 다음에 위치하는 파라미터 값인 11378은 아이템 식별자를 나타낸다(ITEM_ID=11378). 여기서, \는 정규식에 복수의 경로가 포함되는 경우에 각 경로를 구분하기 위한 '/'가 존재함을 나타내는 변수이고, $는 정규식이 끝났음을 나타내는 변수이다. 또한, 동일한 서비스 식별자(SERVICE_ID=1)를 가지는 "http://www.foodfly.co.kr/order/11378"와 같은 URL에서 '구매(PURCHASE)' 정규식으로 "/order\/(.*)$/"이 이용될 수 있으며, 이 경우, '/order\/' 경로는 '구매(PURCHASE)' 동작을 나타내고(action_id=purchase), 해당 경로 다음에 위치하는 파라미터 값인 11378은 아이템 식별자를 나타낸다(item_id=11378).Then, the service device 30 extracts the item identifier (ITEM_ID) and the operation identifier (ACTION_ID) from the visit URL information by using regular expressions predefined for each service identifier (SERVICE_ID). Here, the regular expression is a formula for extracting a value of a parameter required in the URL information, and a different regular expression may be used for each service identifier and / or operation identifier. For example, "/restaurants//show//(*)$/" is used as a regular expression for extracting a 'VISIT' operation from a URL having the above-described service identifier 1 (SERVICE_ID = 1) (ACTION_ID = VISIT), and the parameter value 11378 located after the path indicates the item identifier (ITEM_ID = 11378). In this case, the '/ restaurants \ / show \ ). Here, \ is a variable indicating that '/' exists for distinguishing each path when a plurality of paths are included in the regular expression, and $ is a variable indicating that the regular expression is ended. Also, in the URL such as "http://www.foodfly.co.kr/order/11378" having the same service identifier (SERVICE_ID = 1), "/order//(.*)" as a "PURCHASE" regular expression, $ / "Can be used, in which case the '/ order \ /' path represents the 'PURCHASE' action (action_id = purchase) and the parameter value 11378 following the path represents the item identifier item_id = 11378).

한편, 서비스 장치(30)는 앞서 사용자 로그 데이터 수집 단계(S301)에서 메타 정보로 웹 서버(20)의 사용자 회원 아이디 값이 전달되어 저장되었다면, 해당 회원 아이디를 사용자 식별자(USER_ID)로 사용하고, 전달되지 않았다면, 단말(10)에서 웹 브라우저 쿠키를 기반으로 생성한 사용자 식별자 (USER_IDENTIFIER)를 사용자 식별자(USER_ID)로 사용한다.Meanwhile, if the user ID value of the web server 20 is transferred and stored as meta information in the user log data collection step S301, the service device 30 uses the corresponding member ID as the user identifier USER_ID, If not, the terminal 10 uses the user identifier (USER_IDENTIFIER) generated based on the web browser cookie as the user identifier (USER_ID).

그리고, 서비스 장치(30)는 앞서 설명한 방법을 통해 추출하거나 획득한 사용자 식별자(USER_ID), 아이템 식별자(ITEM_ID)를 미리 정의된 숫자 식별자로 변환하며, 추출한 동작 식별자(ACTION_ID)에 미리 정의된 숫자 식별자를 부여한다. 이때, 서비스 장치(30)는 도메인과 서비스 식별자의 일대일 매핑 관계와 같이 각 사용자 식별자, 동작 식별자, 아이템 식별자 별로 미리 정해진 숫자 식별자로 변환할 수 있으며 혹은 임의로 연속된 정수값을 가지는 숫자 식별자로 변환(혹은 부여)할 수 있다. The service device 30 converts the user identifier (USER_ID) and the item identifier (ITEM_ID) extracted or obtained through the above-described method into a predefined numeric identifier, and extracts a numeric identifier . At this time, the service device 30 may convert the service identifier into a numeric identifier predetermined for each user identifier, an operation identifier, and an item identifier, such as a one-to-one mapping relationship between a domain and a service identifier, or may be converted into a numeric identifier Or granted).

표 3은 변환된 사용자 식별자 테이블을 예시한다. Table 3 illustrates the converted user identifier table.

서비스 식별자
(SERVICE_ID)
Service identifier
(SERVICE_ID)
원본 사용자 식별자
(ORG_USER_ID)
Source user identifier
(ORG_USER_ID)
변환된 사용자 식별자
(CONVERTED_USER_ID)
Converted user identifier
(CONVERTED_USER_ID)
1One chaehyunchaehyun 1One 1One 44209103.13660944209103.136609 22 1One 68709103.01552968709103.015529 33

표 3에서 원본 식별자가 'chaehyun'는 웹 서버(20)의 사용자 회원 정보 값이 전달되어 이를 사용자 식별자로 사용한 경우를 나타내며, '44209103.136609' 혹은 '68709103.015529'는 단말(10)의 웹 브라우저 쿠키를 기반으로 생성한 값을 사용자 식별자로 사용한 경우를 나타낸다. In Table 3, 'chaehyun' indicates the case where the user's member information value of the web server 20 is transferred and used as the user identifier. '44209103.136609' or '68709103.015529' indicates the web browser cookie of the terminal 10 Is used as a user identifier.

표 4는 변환된 아이템 식별자 테이블을 예시한다.Table 4 illustrates the converted item identifier table.

서비스 식별자
(SERVICE_ID)
Service identifier
(SERVICE_ID)
원본 아이템 식별자
(ORG_ITEM_ID)
Original item identifier
(ORG_ITEM_ID)
변환된 아이템 식별자
(CONVERTED_ITEM_ID)
The converted item identifier
(CONVERTED_ITEM_ID)
1One 1137811378 1One 1One 12451245 22 1One 2145621456 33

표 5는 변환된 동작 식별자 테이블을 예시한다.Table 5 illustrates the converted operation identifier table.

동작 명칭(ACTION_NAME)Action name (ACTION_NAME) 동작 식별자(ACTION_ID)The action identifier (ACTION_ID) 방문(VISIT)VISIT 1One 구매(PURCHASE)PURCHASE 101101 추천 알고리즘 2
(RECOMMEND_VISIT_ALGORITHM_2)
Recommendation Algorithm 2
(RECOMMEND_VISIT_ALGORITHM_2)
22
추천 알고리즘 3
(RECOMMEND_VISIT_ALGORITHM_3)
Recommendation Algorithm 3
(RECOMMEND_VISIT_ALGORITHM_3)
33
장바구니(BASKET)Shopping cart (BASKET) 201201

표 5에서 추천 알고리즘 x(RECOMMEND_VISIT_ALGORITHM_x)은 해당 추천 알고리즘(x)을 이용하여 계산된 추천 아이템 리스트 제공 결과를 통해 사용자 단말(10)이 해당 서비스 식별자를 가지는 웹 서버(20)에 접속한 동작을 나타낸다. In Table 5, the recommended algorithm x (RECOMMEND_VISIT_ALGORITHM_x) indicates an operation that the user terminal 10 accesses to the web server 20 having the corresponding service identifier through the recommendation list providing result calculated using the recommendation algorithm (x) .

이와 같이 최종적으로 변환된 사용자 로그 데이터는 아래 표 6과 같다. The final converted user log data is shown in Table 6 below.

표 6은 변환된 사용자 로그 데이터를 예시한다. Table 6 illustrates the converted user log data.

버전
(VERSION)
version
(VERSION)
변환된 사용자 식별자
(CONVERTED_USER_ID)
Converted user identifier
(CONVERTED_USER_ID)
변환된 아이템 식별자
(CONVERTED_ITEM_ID)
The converted item identifier
(CONVERTED_ITEM_ID)
서비스 식별자
(SERVICE_ID)
Service identifier
(SERVICE_ID)
동작 식별자
(ACTION_ID)
Operation identifier
(ACTION_ID)
시각
(TIME)
Time
(TIME)
00 3636899636368996 14042001404200 44 1One 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc 00 3634605336346053 3986139861 44 1One 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc 00 40937974093797 4666646666 88 1One 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc 00 3635237636352376 2964029640 44 1One 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc 00 40938004093800 9741597415 88 1One 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc 00 3634420836344208 3916039160 44 1One 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc 00 3634310836343108 38124183812418 44 1One 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc 00 3635614036356140 38416593841659 44 1One 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc 00 3639531836395318 38560633856063 44 1One 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc

표 6을 참조하면, 서비스 장치(30)는 변환된 사용자 로그 데이터에 포함되는 정보들의 항목에 따라 변환된 사용자 로그 데이터를 구분하기 위하여 상이한 버전(version) 정보를 부여할 수 있다. 예를 들어, 표 6의 예시와 같이, 버전 0을 가지는 변환된 사용자 로그 데이터의 경우, 변환된 사용자 식별자, 변환된 아이템 식별자, 서비스 식별자, 동작 식별자, 시각 항목을 포함하나, 버전 1을 가지는 변환된 사용자 로그 데이터의 경우에는 버전 0에 포함된 정보 항목 중 일부가 제외되거나 포함되지 않은 이외의 정보 항목이 추가될 수도 있다.
Referring to Table 6, the service device 30 may assign different version information to distinguish the converted user log data according to the item of information included in the converted user log data. For example, as shown in Table 6, in the case of the converted user log data having the version 0, the conversion includes the converted user identifier, the converted item identifier, the service identifier, the operation identifier, In the case of the user log data, other information items excluding or including some of the information items included in version 0 may be added.

서비스 장치(30)(특히, 추천 계산부(223))는 S303에서 변환된 사용자 로그 데이터를 이용하여 다양한 추천 알고리즘을 이용하여 추천 아이템을 계산하고, 추천 계산 결과를 저장할 수 있다(S305).The service device 30 (in particular, the recommendation calculation unit 223) may calculate a recommendation item using various recommendation algorithms using the user log data converted in S303, and store the recommendation calculation result (S305).

서비스 장치(30)는 추천 결과를 제공하는 웹 서버(20)가 제공하는 서비스의 성격에 적합하고 효과적인 추천 알고리즘을 적용할 수 있도록 다양한 추천 알고리즘을 각각 적용하여 추천 아이템을 계산할 수 있다. 즉, 수집된 전체 변환된 사용자 로그 데이터를 기반으로 다양한 추천 알고리즘을 각각 적용하여 각각의 추천 알고리즘에 따른 추천 아이템을 계산하거나, 수집된 전체 변환된 사용자 로그 데이터를 임의로 혹은 특정 조건에 따라 그룹핑하고, 각 그룹 별로 서로 다른 추천 알고리즘에 따른 추천 아이템을 계산할 수 있다. 예를 들어, 사용자 식별자(USER_ID)가 홀수인 변환된 사용자 로그 데이터와 짝수인 변환된 사용자 로그 데이터를 구분하고, 각각 A 추천 알고리즘과 B 추천 알고리즘을 이용하여 추천 아이템을 계산할 수 있다. The service device 30 may calculate a recommendation item by applying various recommendation algorithms to the service server 30 so as to apply an effective recommendation algorithm to the service provided by the web server 20 providing the recommendation result. That is, it is possible to calculate a recommendation item according to each recommendation algorithm by applying various recommendation algorithms based on the collected total converted user log data, or to group the collected total converted user log data according to a random or specific condition, It is possible to calculate recommended items according to different recommendation algorithms for each group. For example, it is possible to distinguish the converted user log data in which the user identifier (USER_ID) is odd and the converted user log data in the even number, and calculate a recommendation item using the A recommendation algorithm and the B recommendation algorithm, respectively.

서비스 장치(30)는 정해진 범위(즉, 전체 혹은 그룹)에 포함되는 변환된 사용자 로그 데이터에 속하는 모든 아이템에 대하여 해당 아이템을 제외한 이외의 모든 아이템과의 유사도를 각각 계산한다. 예를 들어, 정해진 범위 내 변환된 사용자 로그 데이터에 총 100개의 아이템이 속하는 경우, 첫 번째 아이템과 해당 아이템 이외의 99개의 아이템 간의 유사도를 각각 계산하고, 두 번째 아이템과 해당 아이템 이외의 99개의 아이템 간의 유사도를 각각 계산하는 방식으로 모든 아이템에 대하여 다른 아이템과의 유사도를 계산한다. The service device 30 calculates the similarity of all the items belonging to the converted user log data included in the predetermined range (i.e., the whole or the group) to all items other than the item except for the item. For example, when a total of 100 items belong to the converted user log data within a predetermined range, the similarity between the first item and 99 items other than the item is calculated, and the second item and 99 items other than the item The degree of similarity with other items is calculated for all the items.

서비스 장치(30)는 두 개의 아이템 간의 유사도(similarity)를 계산하기 위하여 다양한 추천 알고리즘을 이용할 수 있다. 그 일례로, 자카드 유사도(similarity), 로그-우도 유사도(Log Likelihood Similarity), 피어슨 상관(Pearson correlation) 등을 이용할 수 있다. 이러한 유사도 계산 방법들은 이미 공지된 방법들로 이하 상세한 설명을 생략한다. 이하, 설명의 편의를 위하여 추천 알고리즘으로 자카드 유사도를 이용한다고 가정하여 설명하며, 자카드 유사도는 아래 수학식 1과 같이 정의된다. The service device 30 may use various recommendation algorithms to calculate the similarity between the two items. For example, jacard similarity, log likelihood similarity, Pearson correlation, and the like can be used. These similarity calculation methods are omitted in the following description with known methods. Hereinafter, for convenience of explanation, it is assumed that jacquard similarity is used as a recommendation algorithm, and jacquard similarity is defined as Equation 1 below.

Figure 112013039285117-pat00001
Figure 112013039285117-pat00001

수학식 1을 참조하면, 두 개의 아이템 간의 자카드 유사도는 두 아이템을 모두 방문한 사용자 수(두 아이템을 표시하는 웹 페이지 모두 접속한 사용자들의 수)를 두 아이템을 방문한 사용자들의 합집합의 수(두 아이템을 표시하는 웹 페이지 중 어느 하나 이상에 접속한 사용자들의 수 - 두 아이템을 표시하는 웹 페이지 모두 접속한 사용자들의 수)로 나누어 계산되며, 결국 두 아이템을 모두 방문한 사용자들이 많을수록 양 아이템 간의 유사도가 커지게 된다. 예를 들어, A 아이템을 표시하는 웹 페이지에 접속한 사용자들의 수가 20이고, B 아이템을 표시하는 웹 페이지에 접속한 사용자들의 수가 10이며, A와 B 아이템을 표시하는 웹 페이지에 모두 방문한 사용자들의 수가 5인 경우, 자카드 유사도의 계산 결과는 5/(20+10-5)=1/5과 같다. Referring to Equation (1), the jacquard similarity between two items indicates the number of users who visited both items (the number of users who accessed both web pages displaying two items) The number of users who have accessed at least one of the displayed web pages - the number of users who access both web pages displaying two items) is calculated. As a result, the more similar the users who visited both items, do. For example, if the number of users connected to the web page displaying the A item is 20, the number of users accessing the web page displaying the B item is 10, and the number of users visiting the web page displaying the A and B items When the number is 5, the calculation result of jacquard similarity is 5 / (20 + 10 - 5) = 1/5.

서비스 장치(30)는 추천 알고리즘을 이용하여 정해진 범위 내(전체 혹은 그룹) 변환된 사용자 로그 데이터에 속하는 모든 아이템에 대하여 유사도를 모두 계산한 후, 각 아이템 별로 유사도가 큰 순서대로 n 개의 아이템을 추천 아이템으로 산출한다. 이때, 서비스 장치(30)는 모든 아이템에 대하여 유사도를 모두 계산한 후, 특정 조건(예를 들어, 두 아이템을 모두 방문한 사용자들의 수>= 50 이며 유사도 > 0.1)을 만족하는 아이템을 추출한 후 추출된 아이템 중에서 각 아이템 별로 유사도가 큰 순서대로 n 개의 아이템을 추천 아이템으로 산출할 수도 있다. The service device 30 calculates all the similarities of all the items belonging to the user log data converted within the predetermined range (all or group) by using the recommendation algorithm, and then n items are referred to in ascending order of similarity for each item It is calculated as an item. At this time, the service device 30 calculates all the similarities for all the items, extracts items satisfying a certain condition (for example, the number of users who visited both items> = 50 and the similarity> 0.1) N items may be calculated as recommended items in descending order of degree of similarity among items.

상술한 자카드 유사도를 이용하여 추천 아이템을 계산하는 방법은 하나의 예시에 불과하며, 상술한 바와 같이 서비스 장치(30)는 다양한 추천 알고리즘을 이용하여 각 아이템에 대한 추천 아이템을 계산할 수 있다. 또한, 서로 다른 추천 알고리즘을 이용하여 각 아이템에 대한 추천 아이템의 추천 점수를 계산하더라도 추천 점수는 모두 동일한 수준(예를 들어, 0 내지 1 사이)으로 정해질 수 있다. 이와 같이 각각의 추천 알고리즘에 따른 추천 계산 결과는 아래 표 7과 같다. The method of calculating the recommendation item using the above-described jacquard similarity is only one example. As described above, the service apparatus 30 can calculate a recommendation item for each item using various recommendation algorithms. In addition, even if the recommendation score of the recommendation item for each item is calculated using different recommendation algorithms, the recommendation score can be all set to the same level (for example, between 0 and 1). Table 7 shows the recommended calculation results for each recommended algorithm.

표 7은 각각의 추천 알고리즘에 따라 계산된 추천 계산 결과를 예시한다. Table 7 illustrates the recommended calculation results calculated according to each recommendation algorithm.

변환된 아이템 식별자
(CONVERTED_ITEM_ID)
The converted item identifier
(CONVERTED_ITEM_ID)
변환된 추천 아이템 식별자
(RECOMMENDED_ITEM_ID)
Converted Recommended Item Identifier
(RECOMMENDED_ITEM_ID)
추천 점수(SCORE)Recommended Score (SCORE) 방법(METHOD)METHOD
1One 1111 0.055118110236220470.05511811023622047 22 1One 164164 0.08948545861297540.0894854586129754 22 1One 218218 0.040254237288135590.04025423728813559 22 1One 272272 0.112781954887218040.11278195488721804 22

표 7을 참조하면, 추천 점수(SCORE) 값은 추천 알고리즘에 따라 해당 아이템과 추천 아이템 간의 유사도를 계산한 값을 나타내고, 방법(METHOD)은 유사도 계산에 이용된 추천 알고리즘에 대한 식별 번호를 나타낸다.
Referring to Table 7, the SCORE value represents a value obtained by calculating the similarity between the item and the recommendation item according to the recommendation algorithm, and the METHOD represents an identification number for the recommendation algorithm used in the similarity calculation.

서비스 장치(30)(특히, 데이터 처리부(222))는 S305 단계에서 계산된 추천 계산 결과를 웹 서버(20)에 제공하기 위하여 적합한 데이터 포맷으로 변환할 수 있다(S307).The service device 30 (particularly, the data processing unit 222) may convert the recommended calculation result calculated in step S305 into a data format suitable for providing to the web server 20 (S307).

먼저, 서비스 장치(30)는 추천 계산 결과에서 변환된 아이템의 식별자를 원본 식별자로 변경하고, 서비스 식별자와 결과를 계산한 날짜를 추가하여 저장한다. First, the service device 30 changes the identifier of the item converted from the recommendation calculation result to the original identifier, and adds the service identifier and the date of the calculation of the result.

표 8은 추천 계산 결과의 변환된 포맷을 예시한다. Table 8 illustrates the converted format of the recommendation calculation result.

원본 아이템 식별자
(ORG_ITEM_ID)
Original item identifier
(ORG_ITEM_ID)
원본 추천 아이템 식별자
(ORG_RECOMMENDED_ITEM_ID)
Original referral item identifier
(ORG_RECOMMENDED_ITEM_ID)
추천 점수
(SCORE)
Recommendation score
(SCORE)
방법
(METHOD)
Way
(METHOD)
서비스 식별자
(SERVICE_ID)
Service identifier
(SERVICE_ID)
날짜
(DATE)
date
(DATE)
123123 1114911149 0.0551180.055118 22 1One 20XX-YY-ZZ 20XX-YY-ZZ 123123 1111311113 0.0894850.089485 22 1One 20XX-YY-ZZ20XX-YY-ZZ 123123 740740 0.0402540.040254 22 1One 20XX-YY-ZZ20XX-YY-ZZ 123123 179179 0.1127820.112782 22 1One 20XX-YY-ZZ20XX-YY-ZZ

이어, 서비스 장치(30)는 최종적으로 인터넷을 통해 웹 서버(20)에 제공하기에 적합한 데이터 포맷으로 추천 계산 결과를 변환하여 저장할 수 있다. 이때, 서비스 장치(30) 아래 표 9와 같은 JSON(JavaScript Object Notation) 포맷으로 저장할 수 있다. 다만, JSON 포맷은 하나의 예시에 불과하며, 서비스 장치(30)는 확장성 마크업 언어(XML: Extensible Markup Language) 포맷이나 YAML(YAML Ain't Markup Language) 포맷 등과 같이 다양한 데이터 포맷으로 저장할 수 있다. 이하, JSON 포맷을 가정하여 설명한다. Then, the service device 30 can finally convert the recommendation calculation result into a data format suitable for providing to the web server 20 via the Internet, and store the result. At this time, the service apparatus 30 can be stored in the JSON (JavaScript Object Notation) format shown in Table 9 below. However, the JSON format is only one example, and the service apparatus 30 can store various data formats such as an extensible markup language (XML) format and a YAML (YAML is not markup language) format. have. Hereinafter, it is assumed that the JSON format is assumed.

표 9는 최종적으로 변환되어 저장되는 추천 결과 포맷을 예시한다. Table 9 illustrates a recommendation result format that is finally converted and stored.

해쉬
(HASH)
Hash
(HASH)
서비스 식별자
(SERVICE_ID)
Service identifier
(SERVICE_ID)
원본 아이템 식별자
(ORG_ITEM_ID)
Original item identifier
(ORG_ITEM_ID)
카운트
(COUNT)
count
(COUNT)
JSONJSON 시각 (TIME)Time (TIME)
4cfc30c5e1c1bbcf
4cfc30c5e1c1bbcf
1One 1105711057 33 [{"id":"11649","score":0.059867, "method":"2"}, {"id":"11480","score":0.052219, "method":"2"}, {"id":"12116","score":0.052083, "method":"2"}]"{" id ":" 11649 "," score ": 0.059867," method ":" 2 "}, {" id " "id": "12116", "score": 0.052083, "method": "2"}] 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc
c000365f48786906c000365f48786906 1One 1107811078 22 [{"id":"11822","score":0.055385, "method":"2"}, {"id":"11021","score":0.033816, "method":"2"}]"{" id ":" 11021 "," score ": 0.033816," method ":" 2 "}, 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc 96028a9562ba33de96028a9562ba33de 1One 1109911099 1010 [{"id":"325","score":0.100656, "method":"2"}, {"id":"553","score":0.061425, "method":"2"}, {"id":"849","score":0.055133, "method":"2"}, {"id":"622","score":0.051887, "method":"2"}, {"id":"464","score":0.051515, "method":"2"}, {"id":"435","score":0.050532, "method":"2"}, {"id":"11614","score":0.046632, "method":"2"}, {"id":"786","score":0.044872, "method":"2"}, {"id":"11456","score":0.041322, "method":"2"}, {"id":"11771","score":0.040925, "method":"2"}]"{" id ":" 553 "," score ": 0.061425," method ":" 2 "}, {{ "id": "849", "score": 0.055133, "method": "2"}, {"id": "622", "score": 0.051887, "method" "" Id: "," score ": 0.050532," method ":" 2 "}, {" id " "Id": "11614", "score": 0.046632, "method": "2"}, {"id": "786", "score": 0.044872, 2 "}, {" id ":" 11771 "," score ": 0.040925," method " 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc

표 9를 참조하면, 해쉬 값은 특정 아이템에 관하여 추천되는 추천 아이템 리스트가 동일한 경우, 해당 아이템에 관한 추천 아이템 리스트를 중복해서 저장하지 않기 위하여 계산된 값을 의미하며, 서비스 식별자(SERVICE_ID), 아이템 식별자(ITEM_ID) 및 추천 아이템 식별자(RECOMMENDED_ITEM_ID)들을 하나의 문자열로 합친 다음, 합친 문자열에 해쉬 함수를 적용하여 계산된다. 이와 같은 해쉬 값을 사용함으로써, 특정 아이템에 대한 추천 아이템 리스트에 속하는 추천 아이템의 순위가 변경되거나 추천 아이템 리스트에 속하는 추천 아이템이 변경되지 않는 한 추천 아이템 리스트에 속한 추천 아이템들의 추천 점수가 변경되더라도 추천 아이템 리스트를 갱신하지 않을 수 있다. 즉, 해쉬 값을 계산하기 위한 변수로 추천 아이템에 대한 추천 점수가 포함되지 않으므로, 만약 다음 날 다시 추천 아이템 리스트를 계산했을 때, 추천 아이템의 추천 점수가 변경되더라도, 추천되는 아이템의 수가 바뀌거나, 순서가 변경되지 않으면, 해쉬 값은 변경되지 않기 때문이다. Referring to Table 9, the hash value is a value calculated so as not to store the recommendation item list for the item in a case where the recommended item list recommended for the specific item is the same, and includes a service identifier (SERVICE_ID) The identifier (ITEM_ID) and the recommendation item identifier (RECOMMENDED_ITEM_ID) are combined into one string, and then the hash function is applied to the combined string. By using such a hash value, even if the recommendation score of the recommendation items belonging to the recommendation item list is changed unless the recommendation item belonging to the recommendation item list is changed or the recommendation item belonging to the recommendation item list is changed, The item list may not be updated. That is, since the recommendation score for the recommendation item is not included in the variable for calculating the hash value, if the recommendation score of the recommendation item is changed when the recommendation item list is calculated again the next day, If the order is not changed, the hash value is not changed.

그리고, 카운트(COUNT) 값은 특정 아이템에 관하여 몇 개의 아이템이 추천되었는지 추천 아이템의 개수를 나타낸다. JSON 값은 카운트 값에 해당하는 개수의 추천 아이템에 대한 정보를 포함하며, 그 일례로, 추천 아이템 식별자, 추천 점수 및 추천 알고리즘 정보를 포함할 수 있다.
And the COUNT value indicates the number of recommendation items and how many items are recommended for a specific item. The JSON value includes information on a recommended number of items corresponding to the count value, and may include, for example, a recommendation item identifier, recommendation score, and recommendation algorithm information.

서비스 장치(30)(특히, 추천 결과 제공부(224))는 계산된 추천 결과(혹은 추천 아이템 리스트)에 대하여 후처리를 수행한 후, 사용자 로그 데이터를 수집한 해당 웹 서버(20)에 추천 아이템 리스트를 제공할 수 있다(S309). The service device 30 (in particular, the recommendation result providing unit 224) performs post-processing on the calculated recommendation result (or recommendation item list) and then recommends recommendation to the corresponding web server 20 that collected the user log data An item list can be provided (S309).

이에 관하여 아래 도 6을 참조하여 보다 상세히 설명한다. This will be described in more detail with reference to FIG. 6 below.

도 6은 본 발명의 일 실시예에 따른 추천 아이템 리스트를 제공하는 방법을 예시하는 도면이다. 6 is a diagram illustrating a method of providing a list of recommended items in accordance with an embodiment of the present invention.

도 6을 참조하면, 서비스 장치(30)는 변환된 저장된 추천 결과(혹은 추천 아이템 리스트)에 대하여 후처리를 수행할 수 있다(S601). Referring to FIG. 6, the service device 30 may perform post-processing on the converted stored recommendation result (or recommended item list) (S601).

추천 결과(혹은 추천 아이템 리스트)에 대한 후처리는 추천 결과(혹은 추천 아이템 리스트)에서 추천 아이템을 추가, 삭제 혹은 변경하거나 추천 아이템 리스트에서 포함되는 정보 항목을 추가, 삭제 혹은 변경하는 동작을 의미한다. 이러한 후처리 과정은 서비스 장치(30)에서 자동으로 수행될 수 있으며, 웹 서버(20)로부터의 요청에 의하여 서비스 장치(30)에서 수행될 수도 있다. Post-processing of the recommendation result (or recommended item list) means adding, deleting or changing the recommendation item from the recommendation result (or recommended item list) or adding, deleting or changing the information item included in the recommendation item list . This post-processing process may be performed automatically at the service apparatus 30 or may be performed at the service apparatus 30 at a request from the web server 20. [

구체적으로 살펴보면, 서비스 장치(30)는 추천 금지된 아이템을 추천 결과(혹은 추천 아이템 리스트)에서 제거할 수 있다. 예를 들어, 웹 서버(20)의 관리자가 아이템 A에 대한 아이템 B의 추천을 금지한 경우, 아이템 A에 대한 추천 아이템 리스트에서 아이템 B를 제거할 수 있다. 또한, 특정 상품이 품절되거나 특정 상점이 더 이상 영업을 하지 않는 경우 등과 같이 어떠한 아이템에 대해서도 추천되지 않아야 하는 아이템의 경우에는 모든 추천 아이템 리스트(즉, 추천 결과)에서 해당 아이템을 제거할 수 있다. 이와 같이 추천 금지된 아이템을 추천 결과(혹은 추천 아이템 리스트)에서 제거할 때, 서비스 장치(30)는 기 생성된 추천 결과(혹은 추천 아이템 리스트)에서 삭제하고자 하는 아이템을 임의로 삭제하거나, 해당 아이템에 대한 추천 점수를 낮은 값으로 변경 혹은 낮은 값이 계산되도록 변수 값을 조정하여 추천 결과(혹은 추천 아이템 리스트)에서 추천 금지된 아이템을 제거할 수 있다. Specifically, the service apparatus 30 can remove the recommendation prohibited item from the recommendation result (or the recommended item list). For example, if the administrator of the web server 20 prohibits the recommendation of item B for item A, item B may be removed from the recommendation item list for item A. In addition, in the case of an item that should not be recommended for any item, such as when a particular item is sold out or a particular shop is no longer operating, the item can be removed from all the recommended item lists (i.e., recommendation results). When the recommendation prohibited item is removed from the recommendation result (or the recommended item list), the service device 30 deletes the item to be deleted from the previously generated recommendation result (or the recommended item list) The recommendation score can be changed to a lower value or the value of a variable can be adjusted so that a lower value is calculated to remove the recommended prohibited item from the recommendation result (or recommend item list).

또한, 서비스 장치(30)는 추천 결과(혹은 추천 아이템 리스트)에 속하지 않은 임의의 아이템을 추천 아이템으로 추가할 수 있다. 예를 들어, 웹 서버(20)의 관리자가 계산된 추천 아이템 리스트의 결과가 마음에 들지 않는 경우 혹은 특정 아이템에 대한 추천 아이템 리스트가 생성되지 않은 경우 등을 이유로 서비스 장치(30)는 특정 아이템을 추천 아이템으로 추천 결과(혹은 추천 아이템 리스트)에 포함시킬 수도 있다. 이 경우에도, 서비스 장치(30)는 기 생성된 추천 결과(혹은 추천 아이템 리스트)에서 추가하고자 하는 아이템을 임의로 추가하거나, 특정 아이템들로 구성된 추천 아이템 리스트를 새롭게 생성하거나 추가하고자 하는 아이템에 대한 추천 점수를 높은 값으로 변경 혹은 높은 값으로 계산되도록 변수 값을 조정할 수 있다. In addition, the service apparatus 30 can add any item not included in the recommendation result (or recommendation item list) as a recommendation item. For example, when the administrator of the web server 20 does not like the result of the calculated recommendation item list, or when the recommendation item list for a specific item is not created, the service apparatus 30 sends a specific item It can be included as a recommendation result in the recommendation result (or a list of recommended items). Also in this case, the service apparatus 30 may arbitrarily add an item to be added in the created recommendation result (or a recommended item list), or may newly create a recommendation item list composed of specific items or recommend a recommendation item You can change the score to a higher value or adjust the value of the variable to be calculated to a higher value.

또한, 추천 결과(혹은 추천 아이템 리스트)를 구성하는 정보 항목은 앞서 표 9의 예시와 같이 추천 아이템 식별자, 추천 점수 및 추천 알고리즘 정보만을 포함할 수도 있으나, 서비스 장치(30)는 이외에 추천 결과(혹은 추천 아이템 리스트)를 구성하는 새로운 정보 항목을 추가할 수도 있다. 예를 들어, 서비스 장치(30)는 추천 아이템 리스트에 추천되는 아이템 명칭, 추천되는 아이템의 썸네일에 대한 URL, 추천되는 아이템의 가격 정보 등을 포함시킬 수 있다. The information items constituting the recommendation result (or the recommendation item list) may include only the recommendation item identifier, recommendation score, and recommendation algorithm information as shown in the example of Table 9 above, but the service device 30 may also include recommendation result Quot; recommended item list &quot;). For example, the service device 30 may include an item name recommended in a recommended item list, a URL for a thumbnail of an item to be recommended, pricing information of a recommended item, and the like.

웹 서버(20)는 단말(10)이 접속하여 방문하는 웹 페이지에 표시되는 아이템에 관한 추천 아이템 리스트를 요청하기 위한 메시지를 서비스 장치(30)에 전송한다(S603). 추천 아이템 리스트 요청 메시지에는 요청하는 웹 서버(20)에 대한 서비스 식별자, 요청하는 아이템에 대한 아이템 식별자가 포함되며, 버전 정보, 메타 정보 등이 추가적으로 포함될 수 있다. The web server 20 transmits a message to the service device 30 to request a recommended item list related to the item displayed on the visited web page accessed by the terminal 10 (S603). The recommended item list request message includes a service identifier for the requesting web server 20, an item identifier for the requested item, and may further include version information, meta information, and the like.

웹 서버(20)로부터 추천 아이템 리스트 요청 메시지를 수신한 서비스 장치(30)는 요청한 아이템에 관한 추천 아이템 리스트를 추출하고(S605), 추출한 추천 아이템 리스트를 웹 서버(20)에 전송한다(S607). Upon receiving the recommended item list request message from the web server 20, the service device 30 extracts a recommended item list related to the requested item (S605), and transmits the extracted recommended item list to the web server 20 (S607) .

여기서, 서비스 장치(30)는 웹 서버(20)에 생성된 추천 아이템 리스트의 포맷(즉, JSON 포맷)으로 전송할 수도 있으나, 아이프레임(iframe) 포맷으로 추천 아이템 리스트를 전송할 수도 있다. JSON 포맷으로 추천 아이템 리스트를 제공하는 경우, 웹 서버(20)에서 별도의 디자인을 추가한 후, 웹 페이지 상에 추천 아이템 리스트를 제공해야 하는 반면, iframe의 경우 웹 서버(20)에서 추가적인 처리 없이 웹 페이지에 바로 적용할 수 있는 장점이 있다. Here, the service apparatus 30 may transmit the recommendation item list in a format of a recommended item list (i.e., JSON format) generated in the web server 20, but may transmit recommendation item lists in an iframe format. In the case of providing a recommendation item list in the JSON format, it is necessary to add a separate design in the web server 20 and then provide a recommendation item list on the web page, while in the case of an iframe, It has the advantage of being applied directly to web pages.

먼저, JSON 포맷으로 추천 아이템 리스트를 전송하는 경우를 예를 들면, 웹 서버(20)는 "http://api.recopick.com/VERSION/recommend/SERVICE_ID/ITEM_ID?OPTIONS"와 같은 포맷으로 서비스 장치(30)에 추천 아이템 리스트를 요청할 수 있다. 이와 같이, JSON 포맷으로 추천 아이템 리스트를 요청하는 경우, 추천 아이템 리스트 요청 메시지에는 서비스 식별자, 아이템 식별자와 함께 버전 정보 및 기타 메타 정보 등이 포함될 수 있다. First, for example, when the recommendation item list is transmitted in the JSON format, the web server 20 transmits the recommendation item list to the service apparatus in the format "http://api.recopick.com/VERSION/recommend/SERVICE_ID/ITEM_ID?OPTIONS" A recommendation item list may be requested to the user 30. In this manner, when requesting a recommended item list in the JSON format, the recommendation item list request message may include a service identifier, version information and other meta information together with the item identifier.

예를 들어, 웹 서버(20)가 "http://api.recopick.com/2/recommend/1/11057?field=meta"와 같이 서비스 장치(30)에 추천 아이템 리스트를 요청한 경우, 요청하는 추천 아이템 리스트의 버전은 2이고, 서비스 식별자는 1이고, 요청하는 아이템의 식별자는 11057이며, 메타 정보를 추가로 요청한 경우를 나타낸다. 이러한 요청에 대한 응답으로 서비스 장치(30)가 웹 서버(20)에 제공하는 추천 아이템 리스트를 예시하면 아래 표 10과 같다. For example, if the web server 20 requested a recommendation item list to the service device 30, such as "http://api.recopick.com/2/recommend/1/11057?field=meta&quot ;, &quot; The version of the recommended item list is 2, the service identifier is 1, the identifier of the requesting item is 11057, and the meta information is further requested. A list of recommendation items provided by the service apparatus 30 to the web server 20 in response to the request is shown in Table 10 below.

표 10은 JSON 포맷으로 제공되는 추천 아이템 리스트를 예시한다. Table 10 illustrates a list of recommended items provided in JSON format.

[{"id":"11649","score":0.061947,"method":"2","image":{"src":"http://www.foodfly.co.kr/upload/restaurant/8320977315090c487b5f3d.jpg"},"title":"XXX"},{"id":"11480","score":0.05137,"method":"2","image":{"src":"http://www.foodfly.co.kr/upload/restaurant/1192962858506d36dc8981f.jpg"},"title":"YYY"},{"id":"12116","score":0.042345,"method":"2","image":{"src":"http://www.foodfly.co.kr/upload/restaurant/1138839503513839a99ea0e.jpg"},"title":"ZZZ "}]"{" id ":" 11649 "," score ": 0.061947," method ":" 2 "," image ": {" src ":" http://www.foodfly.co.uk/upload/restaurant/ Http: //www.youtube.com/watch?v=1&lt;: " http: // ", " //www.foodfly.co.uk/upload/restaurant/1192962858506d36dc8981f.jpg"},"title":"YYY"},{"id":"12116","score":0.033345,"method":"2 "," image ": {" src ":" http://www.foodfly.co.kr/upload/restaurant/1138839503513839a99ea0e.jpg "}," title ":" ZZZ "}]

표 10을 참조하면, 추천 아이템 리스트에는 추천 아이템 식별자("id"), 추천 점수("score") 및 추천 알고리즘 정보("method")가 포함될 수 있다. 또한, 표 10의 경우 기타 메타 정보를 추가로 요청한 경우에 서비스 장치(30)가 추가적인 메타 정보를 추천 아이템 리스트에 포함시킨 경우를 예시하고 있으며, 추가 메타 정보로 추천 아이템의 이미지 정보("image"), 추천 아이템 명칭 정보("title")가 해당된다. Referring to Table 10, the recommended item list may include a recommendation item identifier ("id"), a recommendation score ("score"), and recommendation algorithm information ("method"). In the case of Table 10, the service device 30 includes additional meta information in the recommended item list when additional meta information is additionally requested. The image information ("image" ), And recommended item name information ("title").

다음으로, iframe 포맷으로 추천 아이템 리스트를 전송하는 경우를 예를 들면, 웹 서버(20)는 "http://api.recopick.com/VERSION/banner/SERVICE_ID/show?item_id=ITEM_ID&direction=[horizontal|vertical&count=recommend_size"와 같은 포맷으로 서비스 장치(30)에 추천 아이템 리스트를 요청할 수 있다. 이와 같이, iframe 포맷으로 추천 아이템 리스트를 요청하는 경우, 서비스 식별자, 아이템 식별자, 프레임 방향(수평 방향 혹은 수직 방향), 프레임 크기, 추천 아이템 개수와 함께 버전 정보 및 기타 메타 정보 등이 포함될 수 있다.Next, for example, when the recommendation item list is transmitted in the iframe format, the web server 20 transmits the recommendation item list to the web server 20 as "http://api.recopick.com/VERSION/banner/SERVICE_ID/show?item_id=ITEM_ID&direction= [horizontal | vertical & count = recommend_size "to the service device 30 in the same format. In this way, when requesting a recommended item list in an iframe format, version information and other meta information may be included along with a service identifier, an item identifier, a frame direction (horizontal or vertical direction), a frame size,

예를 들어, 웹 서버(20)가 "http://api.recopick.com/2/banner/6/show?item_id=59&direction=horizontal&count=4"와 같이 서비스 장치(30)에 추천 아이템 리스트를 요청한 경우, 요청하는 추천 아이템 리스트의 버전은 2이고, 서비스 식별자는 6이고, 요청하는 아이템의 식별자는 59이고, 프레임의 방향으로 수평 방향이고, 추천 아이템의 개수는 4인 경우를 나타낸다.For example, when the web server 20 requests the recommendation item list to the service device 30 as "http://api.recopick.com/2/banner/6/show?item_id=59&direction=horizontal&count=4" , The version of the recommendation item list to be requested is 2, the service identifier is 6, the identifier of the requesting item is 59, the horizontal direction is the direction of the frame, and the number of recommendation items is 4.

또한, 예를 들어, 웹 서버(20)가 "http://api.recopick.com/2/banner/6/show?item_id=59&direction=vertical&count=2 "와 같이 서비스 장치(30)에 추천 아이템 리스트를 요청한 경우, 요청하는 추천 아이템 리스트의 버전은 2이고, 서비스 식별자는 6이고, 요청하는 아이템의 식별자는 59이고, 프레임의 방향으로 수직 방향이고, 추천 아이템의 개수는 2인 경우를 나타낸다. Also, for example, if the Web server 20 sends a recommendation item list to the service device 30 such as "http://api.recopick.com/2/banner/6/show?item_id=59&direction=vertical&count=2" The requested recommendation item list has a version of 2, the service identifier is 6, the identifier of the requesting item is 59, the direction of the frame is vertical, and the number of recommendation items is 2.

이러한 요청에 대한 응답으로 서비스 장치(30)가 웹 서버(20)에 제공하는 추천 아이템 리스트를 예시하면 아래 도 8과 같다.A recommendation item list provided by the service apparatus 30 to the web server 20 in response to the request is shown in FIG.

도 7은 본 발명의 일 실시예에 따른 아이프레임(iframe) 포맷으로 제공되는 추천 아이템 리스트를 예시하는 도면이다. 7 is a diagram illustrating a recommendation item list provided in an iFrame format according to an embodiment of the present invention.

도 7의 (a)는 웹 서버(20)가 수평 방향으로 추천 아이템 4개를 요청한 경우, 이에 대한 응답으로 서비스 장치(30)가 제공하는 추천 아이템의 개수가 4개이고 수평 방향으로 표시되는 추천 아이템 리스트를 예시하고 있으며, 도 7의 (b)는 웹 서버(20)가 수직 방향으로 추천 아이템 2개를 요청한 경우, 이에 대한 응답으로 서비스 장치(30)가 제공하는 추천 아이템의 개수가 2개이고 수직 방향으로 표시되는 추천 아이템 리스트를 예시한다. 7A shows a case where the recommended number of recommendation items provided by the service apparatus 30 is four in the horizontal direction and the recommended item is displayed in the horizontal direction, 7B illustrates a case where the web server 20 requests two recommendation items in the vertical direction. In response thereto, the number of recommendation items provided by the service apparatus 30 is two, &Lt; / RTI &gt; shown in FIG.

도 8은 본 발명의 일 실시예에 따른 아이프레임(iframe) 포맷으로 제공되는 추천 아이템 리스트가 웹 페이지 상에 표시되는 예시를 나타낸다. 8 shows an example in which a recommendation item list provided in an iframe format according to an embodiment of the present invention is displayed on a web page.

도 8을 참조하면, 서비스 장치(30)가 제공하는 iframe 포맷의 추천 아이템 리스트는 앞서 도 7과 같이 서비스 장치(30)가 제공한 형태로 웹 서버(20)의 웹 페이지 상에 동일하게 표시될 수 있다. 따라서, 이와 같이, 서비스 장치(30)는 배너(banner) 형태로 웹 서버(20)에 추천 아이템 리스트를 제공하므로, 웹 서버(20)에서는 추가적인 데이터 처리 절차를 수행하지 않을 수 있다.Referring to FIG. 8, the recommendation item list of iframe format provided by the service apparatus 30 is displayed on the web page of the web server 20 in the form provided by the service apparatus 30 as shown in FIG. 7 . Thus, since the service apparatus 30 provides the recommendation item list to the web server 20 in the form of a banner, the web server 20 may not perform the additional data processing procedure.

한편, 도 6에서는 서비스 장치(30)가 후처리를 수행한 후 웹 서버(30)의 요청에 따라 추천 아이템 리스트를 전송하는 방법을 예시하고 있으나, 서비스 장치(30)는 웹 서버(20)로부터 추천 아이템 리스트 요청 메시지를 수신하면, 요청한 추천 아이템 리스트에 대하여 후처리를 수행한 후 후처리된 추천 아이템 리스트를 웹 서버(20)에 전송할 수도 있다. 즉, 후처리를 수행하는 단계가 S605 단계와 S607 단계 사이에서 수행될 수도 있다.
6 illustrates a method of transmitting a recommendation item list according to a request of the web server 30 after the service apparatus 30 performs a post-process. However, the service apparatus 30 may receive the recommendation item list from the web server 20 Upon receiving the recommendation item list request message, it may post-process the requested recommendation item list and transmit the post-processed recommendation item list to the web server 20. That is, the step of performing post-processing may be performed between steps S605 and S607.

서비스 장치(30)(특히, 피드백 처리부(225))는 사용자의 피드백을 수집하여 이를 추천에 반영할 수 있다(S311). The service apparatus 30 (in particular, the feedback processing unit 225) may collect the feedback of the user and reflect the feedback to the recommendation (S311).

사용자의 피드백은 사용자의 클릭률에 따라 계산될 수 있으며, 클릭률을 계산하기 위하여 추천 뷰 로그 데이터와 사용자의 추천 클릭 로그 데이터를 수집할 수 있다.The feedback of the user can be calculated according to the user's click rate, and the recommended view log data and the user's recommended click log data can be collected to calculate the click rate.

먼저, 클릭 로그 데이터를 수집하는 방법을 설명한다. First, a method of collecting click log data will be described.

첫 번째 방법으로, 사용자의 추천 아이템 리스트에 포함된 추천 아이템을 클릭 시 서비스 장치(30)로 리다이렉트되어 사용자의 클릭 로그 데이터를 획득할 수 있으며, 이에 관하여 도 9를 참조하여 설명한다. As a first method, when the recommendation item included in the recommendation item list of the user is clicked, the user is redirected to the service device 30 to acquire the click log data of the user, which will be described with reference to FIG.

도 9는 본 발명의 일 실시예에 따른 클릭 로그 데이터를 수집하는 방법을 예시하는 도면이다. 9 is a diagram illustrating a method of collecting click log data according to an embodiment of the present invention.

도 9를 참조하면, 단말(10)이 웹 서버(20)의 웹 페이지 상에 표시되는 추천 아이템 리스트에 포함된 특정 추천 아이템을 선택 입력(예를 들어, 클릭 혹은 터치 입력 등)하면(S901), 단말(10)은 추천 아이템의 링크 URL을 통해 서비스 장치(30)에 접속을 요청한다(S903). 즉, 추천 아이템은 해당 추천 아이템을 표시하는 웹 페이지로 이동하기 위한 URL 정보 대신에 서비스 장치(30)로 이동하기 위한 URL 정보를 가질 수 있다. 9, when the terminal 10 selects (e.g., clicks or touches) a specific recommendation item included in a recommended item list displayed on a web page of the web server 20 (S901) , The terminal 10 requests connection to the service device 30 through the link URL of the recommendation item (S903). That is, the recommendation item may have URL information for moving to the service device 30 instead of the URL information for moving to the web page displaying the recommendation item.

예를 들어, 추천 아이템 리스트에 속하는 각 추천 아이템(들)은 "http://api.recopick.com/VERSION/banner/SERVICE_ID/pick?source=SOURCE_ITEM_ID&pick=TARGET_ITEM_ID&method=ALGORITHM"와 같은 포맷의 링크 URL을 가질 수 있다. 각 추천 아이템이 가지는 링크 URL에는 해당 추천 아이템이 속한 추천 아이템 리스트의 버전 정보, 서비스 식별자, 소스 아이템(추천 아이템이 표시되는 대상이 되는 아이템) 식별자, 타겟 아이템(사용자에 의하여 선택되어 클릭된 추천 아이템) 식별자, 선택된 추천 아이템을 계산한 알고리즘 정보 등이 포함될 수 있다. For example, each referral item (s) in the referral item list may include a link URL in the format "http://api.recopick.com/VERSION/banner/SERVICE_ID/pick?source=SOURCE_ITEM_ID&pick=TARGET_ITEM_ID&method=ALGORITHM"Lt; / RTI &gt; The link URL of each recommendation item includes version information of a recommendation item list to which the recommendation item belongs, a service identifier, a source item (an item to be a target item for which a recommendation item is displayed), a target item (a recommendation item ) Identifier, algorithm information for calculating the selected recommendation item, and the like.

일례로, 서비스 식별자(SERVICE_ID)가 6인 웹 서버(20)의 59번 아이템에서 132, 178, 200 아이템이 추천되었고, 이중에 사용자가 2번 알고리즘으로 추천된 132번 아이템 추천을 클릭했다면, 사용자 단말(10)은 "http://api.recopick.com/1/banner/6/pick?source=59&pick=132&method=2"와 같은 URL을 통해 서비스 장치(30)로 이동하게 된다. For example, if items 132, 178, and 200 are recommended in the item 59 of the Web server 20 having the service identifier (SERVICE_ID) of 6, and the user clicks on recommendation of the item 132 recommended by the algorithm 2, The terminal 10 moves to the service device 30 via a URL such as "http://api.recopick.com/1/banner/6/pick?source=59&pick=132&method=2&quot ;.

서비스 장치(30)는 서비스 장치(30)에 접속을 시도하는 단말(10)에 대한 클릭 로그 데이터를 저장한다(S905). 앞서 설명한 바와 같이 추천 아이템 링크 URL에는 해당 추천 아이템이 속한 추천 아이템 리스트의 버전 정보, 서비스 식별자, 소스 아이템 식별자, 타겟 아이템 식별자, 선택된 추천 아이템을 계산한 알고리즘 정보 등이 포함될 수 있으므로, 서비스 장치(30)는 단말(10)이 접속을 시도하는 URL을 통해 어떠한 웹 서버(20)에서 어떠한 아이템에서 어떠한 추천 아이템이 사용자에 의하여 클릭되었는지 확인할 수 있으며, 해당 추천 아이템은 어떠한 추천 알고리즘에 의하여 계산되었는지 확인할 수 있다. The service device 30 stores click log data for the terminal 10 attempting to access the service device 30 (S905). As described above, the recommendation item link URL may include version information of a recommended item list to which the recommendation item belongs, a service identifier, a source item identifier, a target item identifier, algorithm information for calculating a selected recommendation item, Through the URL to which the terminal 10 tries to connect, it is possible to check from which web server 20 any recommended item is clicked by the user and to confirm whether the recommended item has been calculated by the recommendation algorithm have.

서비스 장치(30)는 해당 단말(10)이 웹 서버(20)로 재접속할 수 있도록 리다이렉트 URL을 해당 단말(10)에 전송한다(S907). 예를 들어, 서비스 장치(30)는 단말(10)이 선택한 132번 아이템을 표시하는 웹 페이지로 접속할 수 있도록 "http://hellonature.net/goods/132?recopick=2"와 같은 URL을 단말(10)에 전송할 수 있다. The service device 30 transmits the redirect URL to the corresponding terminal 10 so that the terminal 10 can reconnect to the web server 20 (S907). For example, the service apparatus 30 transmits a URL such as "http://hellonature.net/goods/132?recopick=2" to the terminal 10 so that the terminal 10 can access the web page displaying the item 132 selected by the terminal 10. [ (10).

이를 수신한 단말(10)은 수신한 리다이렉트 URL을 통해 웹 서버(20)에 접속한다(S909).The receiving terminal 10 accesses the web server 20 through the received redirect URL (S909).

도 9의 예시와 같은 방법을 이용함으로써 사용자가 추천 아이템을 클릭할 때마다 사용자의 클릭 정보가 서비스 장치(30)에 전송되므로, 서비스 장치(30)는 실시간으로 추천 아이템에 대한 사용자의 클릭 로그 데이터를 저장할 수 있다. 9, the click information of the user is transmitted to the service device 30 every time the user clicks on the recommendation item, so that the service device 30 realizes the user's click log data Can be stored.

두 번째 방법으로, 추천 아이템의 링크를 구성하는 변수에 미리 정해진 특정 파라미터를 추가하고, S301 단계에서 수집된 사용자 로그 데이터에서 사용자의 방문 URL 정보에 상술한 미리 정해진 특정 파라미터가 존재하면, 이를 추천에 의한 클릭으로 판단할 수 있다. 즉, 사용자 로그 데이터에서 방문 URL에 미리 정해진 파라미터가 포함되어 있는 데이터를 추출하여 클릭 로그 데이터로 저장할 수 있다. 예를 들어, 추천 아이템의 링크 변수에 recopick=METHOD를 추가하고, 사용자 로그 데이터에서 사용자의 방문 URL에 recopick이 존재한다면 이를 추천에 의한 클릭으로 판단할 수 있다. 그리고, 참조 주소(Referrer) 정보에서 아이템 식별자(ITEM_ID)를 확인한 후, 이를 이용하여 소스 아이템 식별자를 확인할 수 있다. 다만, 참조 주소 정보가 서비스 장치(30)의 URL을 가지는 경우에는, 이는 앞서 첫 번째 방법에서 이미 클릭 로그 데이터로 집계된 경우이므로 추천 클릭으로 판단하지 않을 수 있다. As a second method, a predetermined parameter is added to a variable constituting a link of the recommendation item, and if the predetermined specific parameter described above exists in the user's visit URL information in the user log data collected in step S301, It can be judged by a click. That is, data including a predetermined parameter in the visit URL can be extracted from the user log data and stored as click log data. For example, if recopick = METHOD is added to the link variable of the recommendation item and the recopick exists in the user's visit URL in the user log data, it can be judged as a recommendation click. After confirming the item identifier (ITEM_ID) in the reference address (Referrer) information, the source item identifier can be confirmed using the item identifier (ITEM_ID). However, when the reference address information has the URL of the service device 30, it may not be judged as a recommendation click because it is already counted as the click log data in the first method.

앞서 설명한 서비스 장치(30)는 첫 번째 방법 및/또는 두 번째 방법을 이용하여 클릭 로그 데이터를 수집하고, 수집한 클릭 로그 데이터를 저장할 수 있다. The service device 30 described above can collect click log data using the first method and / or the second method and store the collected click log data.

표 11은 클릭 로그 데이터의 포맷을 예시한다. Table 11 illustrates the format of the click log data.

로그타입
(LOGTYPE)
Log type
(LOGTYPE)
버전
(VERSION)
version
(VERSION)
서비스 식별자 (SERVICE_ID)Service identifier (SERVICE_ID) 클릭 아이템
(CLICK ITEM)
Click item
(CLICK ITEM)
소스 아이템
(SOURCE ITEM)
Source Item
(SOURCE ITEM)
알고리즘
(METHOD)
algorithm
(METHOD)
시각
(TIMESTAMP)
Time
(TIMESTAMP)
clickclick 22 1One 597597 117117 22 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc clickclick 22 1One 1155611556 1181611816 22 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc

표 11을 참조하면, 클릭 로그 데이터는 로그 타입(클릭 혹은 뷰), 추천 아이템 리스트에 대한 버전 정보, 서비스 식별자, 클릭 아이템 정보, 소스 아이템 정보, 추천 알고리즘, 클릭 시각 정보 등을 포함할 수 있다. Referring to Table 11, the click log data may include a log type (click or view), version information for a recommended item list, service identifier, click item information, source item information, recommendation algorithm, click time information, and the like.

다음으로, 뷰 로그 데이터를 수집하는 방법을 살펴보면, 서비스 장치(30)는 웹 서버(20)가 추천 아이템 리스트를 요청할 때마다 제공하는 추천 아이템 리스트를 통해 뷰 로그 데이터를 획득하여 저장할 수 있다. Next, the method of collecting view log data will be described. The service apparatus 30 can acquire and store view log data through a recommended item list provided whenever the web server 20 requests the recommended item list.

표 12는 뷰 로그 데이터의 포맷을 예시한다. Table 12 illustrates the format of view log data.

로그타입
(LOGTYPE)
Log type
(LOGTYPE)
버전
(VERSION)
version
(VERSION)
서비스 식별자 (SERVICE_ID)Service identifier (SERVICE_ID) 클릭 아이템
(CLICK ITEM)
Click item
(CLICK ITEM)
소스 아이템
(SOURCE ITEM)
Source Item
(SOURCE ITEM)
추천 리스트
(RECOMMENDED LIST
)
(ITEM_ID:METHOD, ITEM_ID:METHOD, ITEM_ID:METHOD)
Recommended list
RECOMMENDED LIST
)
(ITEM_ID: METHOD, ITEM_ID: METHOD, ITEM_ID: METHOD)
알고리즘(METHOD)Algorithm (METHOD) 시각
(TIMESTAMP)
Time
(TIMESTAMP)
viewingviewing 22 1One -- 182182 158:2,73:2,566:2,85:2,89:2158: 2.73: 2.566: 2.85: 2.89: 2 22 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc viewingviewing 22 1414 -- 1383013830 13844:2,13841:2,13828:2,13843:2,13845:213844: 2,13841: 2,13828: 2,13843: 2,13845: 2 22 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc viewingviewing 22 1414 -- 1367013670 13732:2,13534:2,13780:2,13698:2,13822:213732: 2,13534: 2,13780: 2,13698: 2,13822: 2 22 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc viewingviewing 22 1414 -- 1367013670 13732:2,13534:2,13780:2,13698:2,13822:213732: 2,13534: 2,13780: 2,13698: 2,13822: 2 22 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc viewingviewing 22 66 -- 4343 15:2,299:2,316:2,329:2,16:2,426:2,92:2,210:2,276:2,83:215: 2,299: 2,316: 2,329: 2,16: 2,42: 2,92: 2,210: 2,276: 2,83: 2 22 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc viewingviewing 22 1One -- 176176 512:2,153:2,809:2,637:2,177:2512: 2,153: 2,809: 2,637: 2,177: 2 22 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc viewingviewing 22 66 -- 178178 41:2,398:2,115:2,421:2,230:2,12:2,372:2,177:2,45:2,293:241: 2,398: 2,115: 2,421: 2,230: 2,12: 2,372: 2,177: 2,45: 2,293: 2 22 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc viewingviewing 22 1414 -- 1379513795 13796:2,13785:2,13787:213796: 2,13785: 2,13787: 2 22 20XX-YY-ZZ aa:bb:cc20XX-YY-ZZ aa: bb: cc

표 12를 참조하면, 클릭 로그 데이터는 로그 타입(클릭 혹은 뷰), 추천 아이템 리스트에 대한 버전 정보, 서비스 식별자, 클릭 아이템 정보, 소스 아이템 정보, 추천 리스트, 추천 알고리즘, 클릭 시각 정보 등을 포함할 수 있다. Referring to Table 12, the click log data includes a log type (click or view), version information for a recommended item list, service identifier, click item information, source item information, recommendation list, recommendation algorithm, .

이와 같이, 클릭 로그 데이터와 뷰 로그 데이터를 수집한 서비스 장치(30)는 클릭 로그 데이터와 뷰 로그 데이터를 이용하여 클릭률을 계산할 수 있다. 서비스 장치(30)는 날짜 별로 특정 아이템에 대하여 노출된 뷰 횟수를 모두 합산하고, 또한 사용자의 클릭이 일어난 횟수를 합산한 다음, 각 소스 아이템과 각 추천 아이템 간의 클릭률을 계산할 수 있다.In this way, the service device 30, which has collected the click log data and the view log data, can calculate the click rate using the click log data and the view log data. The service device 30 may add up the number of views exposed for a specific item by date and sum up the number of times the user clicks, and then calculate the click rate between each source item and each recommended item.

표 13은 클릭률을 예시한다. Table 13 illustrates the click rate.

날짜
(DATE)
date
(DATE)
알고리즘
(ALGORITHM)
algorithm
(ALGORITHM)
소스 아이템 식별자
(SOURCE_ITEM_ID)
Source Item Identifier
(SOURCE_ITEM_ID)
추천 아이템 식별자
(RECOMMENDED_ITEM_ID)
Recommended Item Identifier
(RECOMMENDED_ITEM_ID)
클릭 카운트
(CLICK COUNT)
Click count
(CLICK COUNT)
뷰 카운트
(VIEW COUNT)
View count
(VIEW COUNT)
클릭 률
(CLICK RATIO)
Click rate
(CLICK RATIO)
20XX-YY-ZZ20XX-YY-ZZ 22 123123 234234 44 100100 4%4% 20XX-YY-ZZ20XX-YY-ZZ 22 123123 345345 1111 100100 11%11% 20XX-YY-ZZ20XX-YY-ZZ 22 123123 456456 00 100100 0%0% 20XX-YY-ZZ20XX-YY-ZZ 22 123123 789789 77 100100 7%7% 20XX-YY-ZZ20XX-YY-ZZ 33 123123 111111 22 100100 2%2% 20XX-YY-ZZ20XX-YY-ZZ 33 123123 222222 33 100100 3%3% 20XX-YY-ZZ20XX-YY-ZZ 33 123123 333333 00 100100 0%0% 20XX-YY-ZZ20XX-YY-ZZ 33 123123 444444 55 100100 5%5%

표 13을 참조하면, 123번 아이템에 대한 알고리즘 2의 20XX년 YY월 ZZ일 클릭률은 (4+11+0+7)/100 = 22 %이고, 알고리즘 3의 20XX년 YY월 ZZ일 클릭률은 (2+3+0+5)/100 = 10% 이다. Referring to Table 13, the click rate of Algorithm 2 for Item 123 is 20%, and the click rate for 20XX YYYYZZZZ day is (4 +11 + 0 + 7) / 100 = 22% 2 + 3 + 0 + 5) / 100 = 10%.

서비스 장치(30)는 각 소스 아이템과 각 추천 아이템 간의 클릭률을 계산한 후, 일정 기간 동안 계속하여 클릭률이 특정 임계값 이하(혹은 미만)인 경우 추천 금지된 아이템으로 지정할 수 있다. 즉, 아이템 A에 대한 추천 아이템 B가 7일 동안 1% 미만인 경우, 아이템 B는 아이템 A에 대한 추천 아이템 리스트에서 제거할 수 있다. 또한, 서비스 장치(30)는 각 소스 아이템과 각 추천 아이템 간의 클릭 카운트 횟수가 일정 기간 동안 특정 임계값 이하(혹은 미만)인 경우 추천 금지된 아이템으로 지정할 수도 있다. 이와 같이 추천 금지된 아이템을 추천 결과(혹은 추천 아이템 리스트)에서 제거할 때, 서비스 장치(30)는 기 생성된 추천 결과(혹은 추천 아이템 리스트)에서 삭제하고자 하는 아이템을 임의로 삭제하거나, 해당 아이템에 대한 추천 점수를 낮은 값으로 변경 혹은 낮은 값이 계산되도록 변수 값을 조정하여 추천 결과(혹은 추천 아이템 리스트)에서 추천 금지된 아이템을 제거할 수 있다.The service device 30 may calculate the click rate between each source item and each recommendation item, and then designate the item as a prohibited item when the click rate continues to be lower than (or below) a predetermined threshold value for a predetermined period. That is, if the recommended item B for item A is less than 1% for 7 days, item B can be removed from the list of recommended items for item A. In addition, the service device 30 may designate a prohibited item as a prohibited item when the number of click counts between each source item and each recommendation item is less than (or less than) a specific threshold value for a certain period of time. When the recommendation prohibited item is removed from the recommendation result (or the recommended item list), the service device 30 deletes the item to be deleted from the previously generated recommendation result (or the recommended item list) The recommendation score can be changed to a lower value or the value of a variable can be adjusted so that a lower value is calculated to remove the recommended prohibited item from the recommendation result (or recommend item list).

이러한 피드백 처리 과정은 서비스 장치(30)에서 자동으로 수행될 수 있다. 또한, 서비스 장치(30)는 웹 서버(20)에서 서비스하는 아이템 별로 해당 아이템의 클릭률 정보와 해당 아이템과 추천 아이템 간의 클릭율 정보 혹은 클릭 횟수 정보를 웹 서버(20)에 제공하고 웹 서버(20)로부터의 요청에 의하여 서비스 장치(30)에서 피드백 처리 과정이 수행될 수도 있다. This feedback processing process can be performed automatically in the service device 30. [ The service device 30 provides the web server 20 with the click rate information of the item and the click rate information or the click frequency information between the item and the recommendation item for each item serviced by the web server 20, A feedback process may be performed in the service device 30 at a request from the service device 30. [

도 10은 본 발명의 일 실시예에 따른 각 추천 아이템 별 클릭률을 예시하는 도면이다. 10 is a diagram illustrating a click rate for each recommendation item according to an embodiment of the present invention.

도 10과 같이, 서비스 장치(30)는 웹 서버(20)에 소스 아이템(101)의 명칭, 일정 기간 동안의 평균 클릭율 정보 등 소스 아이템(101)에 관한 정보와 소스 아이템(101)에 대한 일정 기간 동안 전체 추천 클릭률(102)을 제공할 수 있다. 또한, 소스 아이템(101)에 대한 추천 아이템 리스트(103)와 각 추천 아이템 별로 명칭, 알고리즘, 추천 점수, 소스 아이템 간의 클릭률, 동작 입력 버튼 등을 제공할 수 있다. 이와 같은 정보를 통해 웹 서버(20)의 관리자는 소스 아이템(101)의 클릭률 추이와 함께 각 추천 아이템 별로 해당 소스 아이템(101) 간의 클릭률 추이를 날짜 별로 확인할 수 있다. 도 10의 경우, 제일 하단에 표시되는 추천 아이템(104)의 클릭률이 일정 기간 동안 약 0%에 머물고 있음을 예시하고 있다. 이처럼, 클릭률이 저조한 추천 아이템에 대하여 웹 서버(20) 관리자가 추천 금지 버튼을 선택하면, 웹 서버(20)는 이를 서비스 장치(30)로 전송함으로써 서비스 장치(30)는 해당 추천 아이템을 소스 아이템(101)에 대하여 추천을 금지할 수 있다. 또한, 이와 별개로 웹 서버(20) 관리자가 우선 노출 버튼을 선택하면, 웹 서버(20)는 이를 서비스 장치(30)로 전송함으로써, 서비스 장치(30)는 선택된 추천 아이템의 추천 점수(스코어)와 무관하게 해당 추천 아이템을 가장 우선적(예를 들어, 제일 상단 혹은 제일 좌측에 위치)으로 표시하도록 추천 아이템 리스트를 생성할 수 있다. 10, the service apparatus 30 stores information about the source item 101, such as the name of the source item 101, the average click rate information for a certain period of time, and the schedule for the source item 101 in the web server 20 It is possible to provide the total recommended click rate 102 during the period. Also, it is possible to provide a recommendation item list 103 for the source item 101 and a name, an algorithm, a recommendation score, a click rate between source items, an operation input button, and the like for each recommendation item. Through such information, the administrator of the web server 20 can confirm the click rate trend of the source item 101 and the click rate trends of the corresponding source items 101 for each recommendation item by date. In the case of FIG. 10, it is illustrated that the click rate of the recommendation item 104 displayed at the bottom of the page is about 0% for a certain period of time. When the web server 20 administrator selects a recommendation prohibition button for the recommendation item having a low click rate, the web server 20 transmits the recommendation prohibition button to the service apparatus 30 so that the service apparatus 30 transmits the recommendation item as a source item It is possible to prohibit recommendation to the user 101. The web server 20 transmits the recommendation score to the service apparatus 30 so that the recommendation score of the selected recommendation item is displayed on the display unit 30. [ The recommendation item list can be generated so that the recommendation item is displayed with the highest priority (for example, at the uppermost or leftmost position) regardless of the recommendation item.

또한, 서비스 장치(30)는 클릭률 정보 내지 클릭 횟수 정보를 고려하여 자동으로 웹 서버(20) 별로 가장 적합한 알고리즘을 선택할 수 있다. In addition, the service device 30 can automatically select the most suitable algorithm for each web server 20 in consideration of the click rate information and the click frequency information.

먼저, 서비스 장치(30)는 웹 서버(20)에서 제공하는 서비스마다 최고의 효율이 좋은(즉 클릭률이 가장 높거나 클릭 횟수가 가장 높은) 알고리즘을 적용시키기 위해, 사용자 로그 데이터를 특정 조건 혹은 임의로 복수의 그룹으로 구분하고, 각 그룹별로 서로 다른 알고리즘으로 계산된 추천 아이템 리스트를 제공한다. 예를 들어, 서비스 장치(30)는 사용자 로그 데이터를 임의로 A, B그룹으로 나눈 다음(예를 들어, 사용자 식별자가 홀수인 경우 A 그룹, 짝수인 경우 B 그룹), A 그룹에는 알고리즘 1로 추천을 계산하고, B 그룹에는 알고리즘 2로 추천을 계산하고 추천 아이템 리스트를 웹 서버(20) 제공할 수 있다. 또한, 서비스 장치(20)는 사용자 로그 데이터에서 웹 브라우저의 사용자 에이전트 정보를 이용하여 이동 단말기를 통해 웹 서버(20)에 접속한 그룹과 고정 단말기를 통해 웹 서버(20)에 접속한 그룹으로 사용자 로그 데이터를 구분하여 각각 상이한 알고리즘을 통해 추천을 계산하여 추천 아이템 리스트를 웹 서버(20) 제공할 수 있다.First, the service apparatus 30 transmits user log data to the web server 20 under a specific condition or a plurality of (preferably, a plurality of) conditions for applying the algorithm with the best efficiency (that is, the highest click rate or the highest number of clicks) , And provides a list of recommended items calculated by different algorithms for each group. For example, the service device 30 arbitrarily divides the user log data into groups A and B (for example, group A when the user identifier is odd and group B when the user identifier is even) A recommendation is calculated with the algorithm 2 in the group B, and the recommendation item list can be provided to the web server 20. In addition, the service device 20 may use the user agent information of the web browser in the user log data to group the user connected to the web server 20 through the mobile terminal and the group connected to the web server 20 through the fixed terminal, The web server 20 can provide a list of recommended items by dividing the log data and calculating the recommendation through different algorithms.

그리고, 서비스 장치(30)는 각 그룹 별로 클릭률을 별도로 계산하여 클릭률이 가장 높은 알고리즘 혹은 클릭 횟수가 가장 높은 알고리즘을 해당 서비스의 알고리즘으로 선택하여 추천을 계산할 수 있다. 이러한 피드백 처리 과정 또한 서비스 장치(30)에서 자동으로 수행될 수 있으며, 또한 서비스 장치(30)는 웹 서버(20)에 사용자 그룹 별(즉, 알고리즘 별) 클릭율 정보 혹은 클릭 횟수 정보를 웹 서버(20)에 제공하고 웹 서버(20)로부터의 요청에 의하여 서비스 장치(30)에서 피드백 처리 과정이 수행될 수도 있다. Then, the service device 30 can calculate the recommendation by separately calculating the click rate for each group and selecting the algorithm having the highest click rate or the algorithm having the highest number of clicks as the algorithm of the corresponding service. This feedback process may also be performed automatically by the service device 30 and the service device 30 may transmit the click rate information or click frequency information to the web server 20 by user group 20 and a feedback process may be performed in the service device 30 by a request from the web server 20. [

도 11은 본 발명의 일 실시예에 따른 알고리즘 별 추천률을 예시하는 도면이다. 11 is a diagram illustrating a recommendation rate for each algorithm according to an embodiment of the present invention.

도 11과 같이 사용자 그룹 A에 적용한 알고리즘 1에 대한 추천률이 일정 기간 동안 계속하여 알고리즘 2에 대한 추천률보다 높으므로 서비스 장치(30)는 해당 서비스를 제공하는 웹 서버(20)에 대한 추천 알고리즘으로 선택할 수 있다. 11, since the recommendation rate for the algorithm 1 applied to the user group A is continuously higher than the recommendation rate for the algorithm 2 for a certain period of time, the service apparatus 30 transmits the recommendation algorithm for the web server 20 .

본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Embodiments in accordance with the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof. In the case of hardware implementation, an embodiment of the present invention may include one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs) field programmable gate arrays, processors, controllers, microcontrollers, microprocessors, and the like.

또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, in the case of an implementation by firmware or software, an embodiment of the present invention may be embodied in the form of a module, a procedure, a function, and the like for performing the functions or operations described above, Lt; / RTI &gt; Here, the recording medium may include program commands, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on a recording medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. For example, the recording medium may be an optical recording medium such as a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, a compact disk read only memory (CD-ROM), a digital video disk (DVD) Includes a hardware device that is specially configured to store and execute program instructions such as a magneto-optical medium such as a floppy disk and a ROM, a random access memory (RAM), a flash memory, do. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like. Such hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It will be apparent to those skilled in the art. Furthermore, although specific terms are used in this specification and the drawings, they are used in a generic sense only to facilitate the description of the invention and to facilitate understanding of the invention, and are not intended to limit the scope of the invention. Accordingly, the foregoing detailed description is to be considered in all respects illustrative and not restrictive. The scope of the present invention should be determined by rational interpretation of the appended claims, and all changes within the scope of equivalents of the present invention are included in the scope of the present invention.

아울러, 본 발명에 따른 장치나 단말은 하나 이상의 프로세서로 하여금 앞서 설명한 기능들과 프로세스를 수행하도록 하는 명령에 의하여 구동될 수 있다. 예를 들어 그러한 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다. 나아가 본 발명에 따른 장치는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치에서 구현될 수도 있다.In addition, a device or terminal according to the present invention may be driven by instructions that cause one or more processors to perform the functions and processes described above. Such instructions may include, for example, interpreted instructions such as script commands, such as JavaScript or ECMAScript commands, or other instructions stored in executable code or computer readable media. Further, the apparatus according to the present invention may be implemented in a distributed manner across a network, such as a server farm, or may be implemented in a single computer device.

또한, 본 발명에 따른 장치에 탑재되고 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.Further, a computer program (also known as a program, software, software application, script or code) that is loaded on the apparatus according to the present invention and which implements the method according to the present invention includes a compiled or interpreted language, a priori or procedural language , And may be deployed in any form including standalone programs or modules, components, subroutines, or other units suitable for use in a computer environment. A computer program does not necessarily correspond to a file in the file system. The program may be stored in a single file provided to the requested program, or in multiple interactive files (e.g., a file storing one or more modules, subprograms, or portions of code) (E.g., one or more scripts stored in a markup language document). A computer program may be deployed to run on multiple computers or on one computer, located on a single site or distributed across multiple sites and interconnected by a communications network.

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

본 발명의 추천 결과를 제공하는 방안은 다양한 유/무선 통신 시스템에 적용하는 것이 가능하다.The method of providing the recommendation result of the present invention can be applied to various wired / wireless communication systems.

10: 단말 20: 웹 서버 30: 서비스 장치
40: 네트워크 210: 통신부 220: 제어부
221: 데이터 수집부 222: 데이터 처리부 223: 추천 계산부
224: 추천 결과 제공부 225: 피드백 처리부 230: 저장부
10: terminal 20: web server 30: service device
40: network 210: communication unit 220:
221: Data collecting unit 222: Data processing unit 223:
224: Recommendation result providing unit 225: Feedback processing unit 230:

Claims (24)

데이터 송수신을 위한 통신부;
사용자 로그 데이터, 추천 결과를 저장하는 저장부; 및
웹 사이트에 삽입된 스크립트(script)를 통해 상기 웹 사이트에 접속한 단말로부터 상기 웹 사이트와 관련된 상기 사용자 로그 데이터를 수집하고, 상기 사용자 로그 데이터를 기반으로 추천 알고리즘을 이용하여 상기 웹 사이트에서 서비스하는 각 소스 아이템과 관련된 하나 이상의 추천 아이템에 대한 추천 결과를 산출하고, 상기 웹 사이트의 웹 서버로부터 수신한 추천 아이템 리스트 요청에 대한 응답으로 상기 추천 결과에서 상기 요청된 소스 아이템과 관련된 추천 아이템 리스트를 추출하여 상기 웹 서버에 전송하는 제어부를 포함하며,
상기 사용자 로그 데이터는 상기 웹 사이트의 도메인, 상기 단말의 방문 URL(Uniform Resource Locator), 사용자 식별자 및 방문 시각 정보를 포함하는, 서비스 장치.
A communication unit for transmitting and receiving data;
A storage unit for storing user log data and recommendation results; And
The method includes collecting the user log data related to the web site from a terminal connected to the web site through a script inserted in the web site, and using the recommendation algorithm based on the user log data, Extracting a recommended item list related to the requested source item from the recommendation result in response to a recommendation item list request received from a web server of the web site, To the web server,
Wherein the user log data includes a domain of the website, a visit URL (Uniform Resource Locator) of the terminal, a user identifier, and visit time information.
제1항에 있어서, 상기 제어부는,
상기 추천 아이템에 대한 클릭 로그 데이터 및 뷰 로그 데이터를 통해 각 소스 아이템과 관련된 추천 아이템에 대한 클릭률을 계산하는, 서비스 장치.
The apparatus of claim 1,
And calculates a click rate for a recommendation item related to each source item through click log data and view log data for the recommendation item.
제2항에 있어서, 상기 제어부는,
상기 클릭률이 일정 기간 동안 계속하여 임계값 미만인 추천 아이템을 상기 추천 결과에서 제외하는, 서비스 장치.
3. The apparatus of claim 2,
And excludes a recommendation item in which the click rate is continuously lower than a threshold value for a predetermined period of time from the recommendation result.
제1항에 있어서, 상기 제어부는,
상기 사용자 로그 데이터를 미리 정해진 조건 혹은 임의로 복수의 그룹으로 구분하고, 각 그룹 별로 서로 다른 추천 알고리즘을 이용하여 상기 추천 결과를 산출하는, 서비스 장치.
The apparatus of claim 1,
Divides the user log data into predetermined conditions or arbitrarily into a plurality of groups, and calculates the recommendation result by using different recommendation algorithms for each group.
제4항에 있어서, 상기 제어부는,
상기 추천 아이템에 대한 클릭 로그 데이터 및 뷰 로그 데이터를 통해 상기 각 그룹 별로 클릭율을 계산하고, 상기 클릭율이 가장 높은 그룹에 이용된 추천 알고리즘으로 상기 추천 결과를 산출하는, 서비스 장치.
5. The apparatus of claim 4,
Wherein the click rate calculation unit calculates the click rate for each group through the click log data and the view log data for the recommendation item and calculates the recommendation result with a recommendation algorithm used for the group having the highest click rate.
제1항에 있어서, 상기 제어부는,
상기 서비스 장치로 연결되는 상기 추천 아이템의 링크를 통해 상기 단말이 접속되면, 상기 단말의 접속 URL을 통해 상기 추천 아이템에 대한 클릭 로그 데이터를 획득하는, 서비스 장치.
The apparatus of claim 1,
And acquires click log data for the recommendation item through the connection URL of the terminal when the terminal is connected through the link of the recommendation item connected to the service device.
제1항에 있어서, 상기 제어부는,
상기 사용자 로그 데이터에 포함된 방문 URL(Uniform Resource Locator)에서 미리 정해진 파라미터 값이 포함되어 있는 사용자 데이터를 추출하여 상기 추천 아이템에 대한 클릭 로그 데이터로 획득하는, 서비스 장치.
The apparatus of claim 1,
Extracts user data including a predetermined parameter value from a visit URL (Uniform Resource Locator) included in the user log data, and obtains the extracted user data as click log data for the recommendation item.
제1항에 있어서, 상기 제어부는,
상기 웹 서버의 상기 추천 아이템 리스트 요청이 있으면, 상기 추천 아이템 리스트를 통해 상기 추천 아이템에 대한 뷰 로그 데이터를 획득하는, 서비스 장치.
The apparatus of claim 1,
And acquires view log data for the recommendation item through the recommendation item list if the recommendation item list request from the web server is received.
제1항에 있어서, 상기 제어부는,
상기 사용자 로그 데이터에 포함된 방문 URL(Uniform Resource Locator)로부터 상기 방문 URL 상에 표시되는 아이템 정보 및 상기 방문 URL에서 상기 단말의 동작과 관련된 동작 정보를 추출하는, 서비스 장치.
The apparatus of claim 1,
And extracts item information displayed on the visit URL from a visit URL (Uniform Resource Locator) included in the user log data and operation information related to the operation of the terminal on the visit URL.
제1항에 있어서, 상기 제어부는,
상기 각 소스 아이템 별로 상기 추천 결과를 구분하여 저장하되, 상기 웹 사이트를 구분하기 위한 서비스 식별자, 상기 소스 아이템에 대한 아이템 식별자 및 상기 소스 아이템과 관련된 추천 아이템에 대한 추천 아이템 식별자를 합한 문자열에 해쉬(hash) 함수를 적용하여 계산한 값을 상기 추천 결과와 함께 저장하는, 서비스 장치.
The apparatus of claim 1,
A recommendation result for each source item is separately stored, and a hash is added to a string including a service identifier for identifying the web site, an item identifier for the source item, and a recommendation item identifier for a recommendation item related to the source item hash function, and stores the calculated value together with the recommendation result.
제1항에 있어서, 상기 제어부는,
상기 요청된 소스 아이템과 관련된 추천 아이템 리스트를 JSON(JavaScript Object Notation) 포맷 또는 아이프레임(iframe) 포맷으로 전송하는, 서비스 장치.
The apparatus of claim 1,
And transmits a recommendation item list related to the requested source item in a JavaScript Object Notation (JSON) format or an iFrame format.
삭제delete 제1항에 있어서,
상기 사용자 식별자는 상기 단말의 웹 브라우저 쿠키에 의하여 생성되며, 임의의 숫자와 생성 시각을 조합하여 생성되는, 서비스 장치.
The method according to claim 1,
Wherein the user identifier is generated by a web browser cookie of the terminal, and is generated by combining an arbitrary number and a generation time.
서비스 장치가 웹 사이트에 삽입된 스크립트(script)를 통해 상기 웹 사이트에 접속한 단말로부터 상기 웹 사이트와 관련된 사용자 로그 데이터를 수집하는 단계;
상기 서비스 장치가 상기 사용자 로그 데이터를 기반으로 추천 알고리즘을 이용하여 상기 웹 사이트에서 서비스하는 각 소스 아이템과 관련된 하나 이상의 추천 아이템에 대한 추천 결과를 산출하는 단계; 및
상기 서비스 장치가 상기 웹 사이트의 웹 서버로부터 수신한 추천 아이템 리스트 요청에 대한 응답으로 상기 추천 결과에서 상기 요청된 소스 아이템과 관련된 추천 아이템 리스트를 추출하여 상기 웹 서버에 전송하는 단계를 포함하며,
상기 사용자 로그 데이터는 상기 웹 사이트의 도메인, 상기 단말의 방문 URL(Uniform Resource Locator), 사용자 식별자 및 방문 시각 정보를 포함하는, 추천 아이템 제공 방법.
Collecting user log data related to the web site from a terminal connected to the web site through a script inserted in the web site by the service apparatus;
Calculating a recommendation result for one or more recommendation items related to each source item served by the service apparatus using the recommendation algorithm based on the user log data; And
Extracting a recommendation item list related to the requested source item from the recommendation result in response to a recommendation item list request received from the web server of the website, and transmitting the recommendation item list to the web server;
Wherein the user log data includes a domain of the website, a visit URL (Uniform Resource Locator) of the terminal, a user identifier, and visit time information.
제14항에 있어서,
상기 서비스 장치가 상기 추천 아이템에 대한 클릭 로그 데이터 및 뷰 로그 데이터를 통해 각 소스 아이템과 관련된 추천 아이템에 대한 클릭률을 계산하는 단계를 더 포함하는, 추천 아이템 제공 방법.
15. The method of claim 14,
Further comprising the step of the service device calculating a click rate for a recommendation item associated with each source item via click log data and view log data for the recommendation item.
제15항에 있어서,
상기 서비스 장치가 상기 클릭률이 일정 기간 동안 계속하여 임계값 미만인 추천 아이템을 상기 추천 결과에서 제외하는 단계를 더 포함하는, 추천 아이템 제공 방법.
16. The method of claim 15,
Further comprising the step of the service device excluding a recommendation item in which the click rate is continuously lower than a threshold value for a predetermined period of time from the recommendation result.
제14항에 있어서, 상기 추천 결과를 산출하는 단계는,
상기 서비스 장치가 상기 사용자 로그 데이터를 미리 정해진 조건 혹은 임의로 복수의 그룹으로 구분하고, 각 그룹 별로 서로 다른 추천 알고리즘을 이용하여 상기 추천 결과를 산출하는, 추천 아이템 제공 방법.
15. The method of claim 14, wherein the calculating the recommendation result comprises:
Wherein the service apparatus divides the user log data into a predetermined condition or a plurality of groups, and calculates the recommendation result using a different recommendation algorithm for each group.
제17항에 있어서, 상기 추천 결과를 산출하는 단계는,
상기 서비스 장치가 상기 추천 아이템에 대한 클릭 로그 데이터 및 뷰 로그 데이터를 통해 상기 각 그룹 별로 클릭율을 계산하고, 상기 클릭율이 가장 높은 그룹에 이용된 추천 알고리즘으로 상기 추천 결과를 산출하는, 추천 아이템 제공 방법.
18. The method according to claim 17, wherein the step of calculating the recommendation result comprises:
Wherein the service device calculates a click rate for each group through click log data and view log data for the recommendation item and calculates the recommendation result with a recommendation algorithm used for the group having the highest click rate .
제14항에 있어서,
상기 서비스 장치가 상기 서비스 장치로 연결되는 상기 추천 아이템의 링크를 통해 상기 단말이 접속되면, 상기 단말의 접속 URL을 통해 상기 추천 아이템에 대한 클릭 로그 데이터를 획득하는 단계를 더 포함하는, 추천 아이템 제공 방법.
15. The method of claim 14,
Further comprising the step of acquiring the click log data for the recommendation item through the connection URL of the terminal when the terminal is connected through the link of the recommendation item to which the service apparatus is connected to the service apparatus Way.
제14항에 있어서,
상기 서비스 장치가 상기 사용자 로그 데이터에 포함된 방문 URL(Uniform Resource Locator)에서 미리 정해진 파라미터 값이 포함되어 있는 사용자 데이터를 추출하여 상기 추천 아이템에 대한 클릭 로그 데이터로 획득하는 단계를 더 포함하는, 추천 아이템 제공 방법.
15. The method of claim 14,
Further comprising the step of the service device extracting user data including a predetermined parameter value from a visit URL (Uniform Resource Locator) included in the user log data and using the extracted user data as click log data for the recommendation item Item providing method.
제14항에 있어서,
상기 서비스 장치가 상기 웹 서버의 상기 추천 아이템 리스트 요청이 있으면, 상기 추천 아이템 리스트를 통해 상기 추천 아이템에 대한 뷰 로그 데이터를 획득하는 단계를 더 포함하는, 추천 아이템 제공 방법.
15. The method of claim 14,
Further comprising the step of obtaining view log data for the recommendation item through the recommendation item list if the service apparatus requests the recommendation item list of the web server.
제14항에 있어서,
사용자 장치가 상기 사용자 로그 데이터에 포함된 방문 URL(Uniform Resource Locator)로부터 상기 방문 URL 상에 표시되는 아이템 정보 및 상기 방문 URL에서 상기 단말의 동작과 관련된 동작 정보를 추출하는 단계를 더 포함하는, 추천 아이템 제공 방법.
15. The method of claim 14,
Further comprising extracting item information displayed on the visited URL from a Uniform Resource Locator (URL) included in the user log data and operation information related to the operation of the terminal in the visited URL, Item providing method.
제14항에 있어서,
상기 서비스 장치가 상기 각 소스 아이템 별로 상기 추천 결과를 구분하여 저장하되, 상기 웹 사이트를 구분하기 위한 서비스 식별자, 상기 소스 아이템에 대한 아이템 식별자 및 상기 소스 아이템과 관련된 추천 아이템에 대한 추천 아이템 식별자를 합한 문자열에 해쉬(hash) 함수를 적용하여 계산한 값을 상기 추천 결과와 함께 저장하는 단계를 더 포함하는, 추천 아이템 제공 방법.
15. The method of claim 14,
Wherein the service apparatus stores the recommendation result for each source item separately and stores the service identifier for identifying the website, the item identifier for the source item, and the recommendation item identifier for the recommendation item related to the source item Further comprising: storing a value calculated by applying a hash function to a string together with the recommendation result.
제14항 내지 제23항 중 어느 한 항에 기재된 추천 아이템 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium recording a program for executing the recommendation item providing method according to any one of claims 14 to 23.
KR1020130049968A 2013-05-03 2013-05-03 Method for providing recommended item, storage medium recording program and device therefor Active KR101678659B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130049968A KR101678659B1 (en) 2013-05-03 2013-05-03 Method for providing recommended item, storage medium recording program and device therefor
PCT/KR2014/002552 WO2014178536A1 (en) 2013-05-03 2014-03-26 Method for providing recommendation item, and recording medium for recording program and apparatus for same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130049968A KR101678659B1 (en) 2013-05-03 2013-05-03 Method for providing recommended item, storage medium recording program and device therefor

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020160127024A Division KR101978301B1 (en) 2016-09-30 2016-09-30 Apparatus for providing recommended item

Publications (2)

Publication Number Publication Date
KR20140131088A KR20140131088A (en) 2014-11-12
KR101678659B1 true KR101678659B1 (en) 2016-12-06

Family

ID=51843622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130049968A Active KR101678659B1 (en) 2013-05-03 2013-05-03 Method for providing recommended item, storage medium recording program and device therefor

Country Status (2)

Country Link
KR (1) KR101678659B1 (en)
WO (1) WO2014178536A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102720626B1 (en) * 2016-10-31 2024-10-23 에스케이플래닛 주식회사 System and method for providing user profile
WO2018128254A1 (en) * 2017-01-04 2018-07-12 주식회사 다이퀘스트 Method and device for recommending usr group for new user
US11074635B2 (en) * 2018-05-25 2021-07-27 Target Brands, Inc. Real-time recommendation monitoring dashboard
US11132733B2 (en) 2018-05-25 2021-09-28 Target Brands, Inc. Personalized recommendations for unidentified users based on web browsing context
CN114764477B (en) * 2021-01-15 2025-01-28 中国联合网络通信集团有限公司 Terminal application recommendation method, cloud server, terminal, device and storage medium
CN118708444B (en) * 2024-08-29 2024-11-22 中央军委政治工作部军事人力资源保障中心 A server operation and maintenance management method and system for self-recommended operation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101051804B1 (en) * 2010-12-16 2011-07-25 전자부품연구원 Preference Information Management System for Web-based Media Contents

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1484692B1 (en) * 2003-06-04 2013-07-24 Intel Corporation Content recommendation device with user feedback
KR20120052024A (en) * 2010-11-15 2012-05-23 주식회사 케이티 System for recommending iptv contents based on user feedback and method therefor
KR101500500B1 (en) * 2010-11-19 2015-03-11 주식회사 케이티 Personalized content recommendation system and method
US8676970B2 (en) * 2010-12-18 2014-03-18 Qualcomm Incorporated Methods and systems for managing device specific content

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101051804B1 (en) * 2010-12-16 2011-07-25 전자부품연구원 Preference Information Management System for Web-based Media Contents

Also Published As

Publication number Publication date
WO2014178536A1 (en) 2014-11-06
KR20140131088A (en) 2014-11-12

Similar Documents

Publication Publication Date Title
KR101978301B1 (en) Apparatus for providing recommended item
US9298763B1 (en) Methods for providing a profile completion recommendation module
KR101678659B1 (en) Method for providing recommended item, storage medium recording program and device therefor
US10043199B2 (en) Method, device and system for publishing merchandise information
EP2092420B1 (en) Generic online ranking system and method suitable for syndication
US8249918B1 (en) Context based content adjacency filtering
US12260433B2 (en) Systems and methods for automatically generating remarketing lists
KR20190039230A (en) Method and system for server-side rendering of native content for presentations
US20210133823A1 (en) Systems and methods for automatically managing placement of content slots in an information resource
US9509548B2 (en) Multimedia aggregation technique based on RSS feeds
KR20140014664A (en) Service method and apparatus for providing personalized news services
US11082508B2 (en) Devices, systems, and methods for tracking digital reading behavior of users
CN107103062A (en) A kind of webpage recommending method and system
CN103246699A (en) Method and device for data access control based on browser
CN102629265B (en) A kind of method and system setting up web database
US20140101249A1 (en) Systems and Methods for Managing and Presenting Information
TW201112024A (en) Requesting computer data assets
US9565224B1 (en) Methods, systems, and media for presenting a customized user interface based on user actions
CN107526748A (en) A kind of method and apparatus for identifying user and clicking on behavior
WO2016101711A1 (en) Automatic evaluation method and system for quality of experience of business network service
KR102590412B1 (en) Limit provision and display of redundant digital components on client devices
US9619822B1 (en) Method and system for identifying user propensity to access content via a communication network
KR101372585B1 (en) System and method for providing object information
KR101372584B1 (en) System and method for providing object information
US9639817B2 (en) Remote metering for panelist web usage

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20130503

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20150306

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20130503

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20160226

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20160823

PA0107 Divisional application

Comment text: Divisional Application of Patent

Patent event date: 20160930

Patent event code: PA01071R01D

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20161116

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20161117

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20191015

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20191015

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20201020

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20211020

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20220928

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20240919

Start annual number: 9

End annual number: 9