KR101102853B1 - 협업 필터링을 이용하여 동적으로 광고를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

협업 필터링을 이용하여 동적으로 광고를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR101102853B1
KR101102853B1 KR1020080136821A KR20080136821A KR101102853B1 KR 101102853 B1 KR101102853 B1 KR 101102853B1 KR 1020080136821 A KR1020080136821 A KR 1020080136821A KR 20080136821 A KR20080136821 A KR 20080136821A KR 101102853 B1 KR101102853 B1 KR 101102853B1
Authority
KR
South Korea
Prior art keywords
user
chain
similarity
content
nodes
Prior art date
Application number
KR1020080136821A
Other languages
English (en)
Other versions
KR20100078536A (ko
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 KR1020080136821A priority Critical patent/KR101102853B1/ko
Publication of KR20100078536A publication Critical patent/KR20100078536A/ko
Application granted granted Critical
Publication of KR101102853B1 publication Critical patent/KR101102853B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • G06Q30/0256User search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0272Period of advertisement exposure

Landscapes

  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 협업 필터링을 이용하여 특정 사용자에게 동적으로 광고를 제공하기 위한 방법으로서, (a) 복수의 사용자가 조회한 컨텐츠에 관한 정보인 컨텐츠 체인(contents chain) 및 상기 사용자가 입력한 쿼리에 관한 정보인 쿼리 체인(query chain) 중 적어도 하나를 기초로 하여, 상기 특정 사용자와 타사용자 간의 유사도를 획득하는 단계, (b) 상기 획득된 유사도를 기초로 하여, 상기 특정 사용자와의 유사도가 기설정된 값 이상인 사용자를 포함하는 사용자 그룹을 생성하는 단계, 및 (c) 상기 사용자 그룹에 포함되는 사용자에게 기제공된 광고 중 적어도 일부를 광고풀로 구성하고, 상기 광고풀에 포함된 광고 중 적어도 하나를 상기 특정 사용자에게 노출될 광고로서 선택하는 단계를 포함하는 방법을 제공한다. 본 발명에 따르면, 유사한 이력을 가지는 사용자 그룹을 실시간으로 동적으로 재구성하여, 사용자의 패턴 변화에 즉각 대응할 수 있으므로, 현재 시점에서 특정 사용자의 관심도가 가장 높을 광고를 노출하여 광고에 대한 반응도를 극대화할 수 있게 된다.
광고, 협업 필터링, 사용자 이력 정보, 사용자 그룹, 광고 선택

Description

협업 필터링을 이용하여 동적으로 광고를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체{METHOD, SYSTEM AND COMPUTER-READABLE RECORDING MEDIUM FOR PROVIDING ADVERTISEMENT USING COLLABORATIVE FILTERING DYNAMICALLY}
본 발명은 협업 필터링(collaborative filtering)을 이용하여 동적으로 광고를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다. 보다 자세하게는, 본 발명은 사용자의 이력(history)에 관한 정보를 포함하는 이력 체인(chain)을 이용하여 산출된 특정 사용자와 타사용자 간의 유사도를 기초로 하여, 특정 사용자와의 유사도가 높은 타사용자들을 포함하는 사용자 그룹을 생성함으로써, 상기 사용자 그룹에 포함된 사용자들에게 제공되었던 광고를 특정 사용자에게 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
정보 통신 기술의 발달로 인해 인터넷 사용이 보편화되면서, 인터넷 상에서 상품 혹은 서비스를 널리 알리기 위한 다양한 광고 기법이 개발되었는데, 그 대표적인 예로서, 웹 페이지의 특정 위치에 텍스트, 이미지, 동영상 등의 광고 정보를 게재하는 배너 광고(Banner Advertisement), 사용자에 의해 입력되는 검색 키워드 와 관련된 광고를 제공하는 검색 광고(Search Advertisement) 등이 소개된 바 있다.
이러한 인터넷 광고에 따르면, 광고를 제공 받는 사용자의 관심 분야 및/또는 선호 분야를 가늠할 수 있는 다양한 정보(성별, 연령, 자주 사용하는 검색 키워드 등)를 기초로, 타게팅된(targeted) 광고를 제공하는 것이 가능하다.
하지만, 종래에 소개된 타게팅 광고 방법에 따르면, 특정 사용자에게 제공될 광고를 선택함에 있어서 오로지 상기 특정 사용자에 대한 정보만을 기초로 하기 때문에, 사용자에게 제공되는 광고의 다양성이 부족하고 합리적으로 광고를 선별하여 제공할 수 없다는 한계점이 있었다.
따라서, 위에서 언급된 문제점을 해결하기 위한 개선된 광고 기법의 필요성이 대두되었다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 특정 사용자와 유사한 이력을 가지는 사용자들을 그룹화하고 이에 대응하는 광고풀을 구성함으로써, 상기 특정 사용자와 유사한 이력을 가지는 사용자 그룹에 포함된 사용자들에게 제공되었던 광고를 상기 특정 사용자에게 제공할 수 있도록 하는 것을 다른 목적으로 한다.
또한, 본 발명은 복수의 사용자의 이력에 관한 정보를 포함하는 이력 체인(chain)을 생성하고 이러한 이력 체인의 비교를 통해 사용자 간의 유사도를 보다 합리적으로 산출하여 보다 합리적으로 광고를 제공함으로써, 광고 반응도(CTR 등)를 높이는 것을 또 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 협업 필터링(collaborative filtering)을 이용하여 특정 사용자에게 동적으로 광고를 제공하기 위한 방법으로서, (a) 복수의 사용자가 조회한 컨텐츠에 관한 정보인 컨텐츠 체인(contents chain) 및 상기 사용자가 입력한 쿼리에 관한 정보인 쿼리 체인(query chain) 중 적어도 하나를 기초로 하여, 상기 특정 사용자와 타사용자 간의 유사도를 획득하는 단계, (b) 상기 획득된 유사도를 기초로 하여, 상기 특정 사용자와의 유사도가 기설정된 값 이상인 사용자를 포함하는 사용자 그룹을 생성하는 단계, 및 (c) 상기 사용자 그룹에 포함되 는 사용자에게 기제공된 광고 중 적어도 일부를 광고풀로 구성하고, 상기 광고풀에 포함된 광고 중 적어도 하나를 상기 특정 사용자에게 노출될 광고로서 선택하는 단계를 포함하는 방법이 제공된다.
본 발명의 다른 태양에 따르면, 협업 필터링(collaborative filtering)을 이용하여 특정 사용자에게 동적으로 광고를 제공하기 위한 시스템으로서, 복수의 사용자가 조회한 컨텐츠에 관한 정보인 컨텐츠 체인 및 상기 사용자가 입력한 쿼리에 관한 정보인 쿼리 체인 중 적어도 하나를 기초로 하여, 상기 특정 사용자와 타사용자 간의 유사도를 획득하는 유사도 산출부, 상기 획득된 유사도를 기초로 하여, 상기 특정 사용자와의 유사도가 기설정된 값 이상인 사용자를 포함하는 사용자 그룹을 생성하는 사용자 그룹 관리부, 및 상기 사용자 그룹에 포함되는 사용자에게 기제공된 광고 중 적어도 일부를 광고풀로 구성하고, 상기 광고풀에 포함된 광고 중 적어도 하나를 상기 특정 사용자에게 노출될 광고로서 선택하는 광고풀 관리부를 포함하는 시스템이 제공된다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 시스템, 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 특정 사용자와 유사한 이력을 가지는 타사용자들을 사용자 그룹으로 묶고, 이러한 사용자 그룹을 바탕으로 광고풀을 생성하여, 상기 특정 사용자와 유사한 성향을 가지는 사용자들의 광고 관심도를 반영하게 되므로, 가장 관심도가 높을 광고를 선별할 수 있게 된다.
본 발명에 의하면, 유사한 이력을 가지는 사용자 그룹을 실시간으로 동적으로 재구성하여, 사용 패턴 변화에 즉각 대응할 수 있으므로, 특정 사용자의 현재 시점에 가장 관심도가 높을 광고를 노출하여 광고에 대한 반응도를 극대화할 수 있게 된다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조, 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
[본 발명의 바람직한 실시예]
전체 시스템의 구성
도 1은 본 발명의 일 실시예에 따른 전체 시스템의 구성을 개략적으로 나타내는 도면이다.
도 1에 도시되어 있는 바와 같이, 본 발명의 일 실시예에 따른 전체 시스템은, 통신망(100), 광고 제공 시스템(200), 광고주 단말 장치(300), 사용자 단말 장치(400), 웹 서버(500)로 구성될 수 있다.
먼저, 본 발명의 일 실시예에 따르면, 통신망(100)은 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN: Local Area Network), 도시권 통신망(MAN: Metropolitan Area Network), 광역 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 발명에서 말하는 통신망(100)은 공지의 월드와이드웹(WWW: World Wide Web)일 수 있다.
본 발명의 일 실시예에 따르면, 광고 제공 시스템(200)은 사용자의 이력(history)에 관한 정보를 포함하는 이력 체인(chain)을 이용하여 산출된 특정 사용자와 타사용자 간의 유사도를 기초로 하여, 특정 사용자와 유사한 관심 분야 및/또는 선호 분야를 갖는 타사용자들을 포함하는 사용자 그룹을 생성하고, 상기 사용자 그룹에 포함된 사용자들에게 제공되었던 광고를 특정 사용자에게 제공하는 기능을 수행한다. 일례로, 광고 제공 시스템(200)은 인터넷 포털 사이트의 운영 서버 에 포함될 수도 있을 것이다. 광고 제공 시스템(200)의 구체적인 내부 구성에 대해서는 후술하기로 한다.
본 발명의 일 실시예에 따르면, 광고주 단말 장치(300)는 광고주가 광고 제공 시스템(200)에 접속한 후 통신할 수 있도록 하는 기능을 포함하는 디지털 기기로서, 개인용 컴퓨터(예를 들어, 데스크탑 컴퓨터, 노트북 컴퓨터 등), 워크스테이션, PDA, 웹 패드, 이동 전화기 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기라면 얼마든지 본 발명에 따른 광고주 단말 장치(300)로서 채택될 수 있다. 구체적으로는, 본 발명의 일 실시예에 따른 광고주 단말 장치(300)는 사용자에게 노출될 광고 정보를 광고 제공 시스템(200)에 전송하는 기능을 수행할 수 있다. 경우에 따라, 이러한 광고주 단말 장치(300)는 광고주가 상품이나 서비스를 제공하기 위하여 이용하는 홈페이지의 운영 서버로 대체될 수도 있을 것이다.
한편, 본 발명의 일 실시예에 따른 사용자 단말 장치(400)는 사용자가 통신망(100)을 통하여 광고 제공 시스템(200), 웹 서버(500) 등과 통신할 수 있도록 하는 기능을 포함하는 디지털 기기로서, 광고주 단말 장치(300)에서 살펴본 바와 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기라면 얼마든지 본 발명에 따른 사용자 단말 장치(400)로서 채택될 수 있다. 또한, 사용자 단말 장치(400)에는 사용자가 웹 서버(500)에 컨텐츠를 요청하여 제공 받을 수 있도록 하는 웹 브라우져(미도시됨) 프로그램이 더 포함되어 있을 수 있다. 구체적으로는, 사용자는 사용자 단말 장치(400)를 이용하여 컨텐츠를 검색 하기 위한 키워드를 입력할 수 있으며, 상기 검색 키워드에 해당하는 컨텐츠 및/또는 소정의 광고 정보를 제공 받을 수 있다.
본 발명의 일 실시예에 의하면, 웹 서버(500)는 통신망(100)을 통하여 광고 제공 시스템(200), 사용자 단말 장치(400) 등과의 통신을 수행한다. 예를 들어, 웹 서버(500)는 인터넷 포털 사이트의 운영 서버일 수 있는데, 이 경우 웹 서버(500)는 검색 엔진(미도시됨)을 포함하여, 사용자가 입력한 검색 키워드를 수신한 후, 상기 검색 키워드에 해당하는 컨텐츠를 검색하고, 상기 검색된 컨텐츠를 사용자 단말 장치(400)에 제공하여 사용자가 이를 브라우징할 수 있도록 할 수 있다. 물론, 필요에 따라, 검색 엔진은 웹 서버(500)가 아닌 다른 연산 장치나 기록 매체에 포함될 수도 있다. 예를 들면, 웹 서버(500)는 사용자 단말 장치(400), 인터넷 포털 사이트의 운영 서버 등으로부터의 요청에 따라 컨텐츠를 제공하는 컨텐츠 서버일 수도 있다.
또한, 도 1에는 광고 제공 시스템(200)과 웹 서버(500)가 별개로 구성되어 있는 것으로 도시되어 있지만, 본 발명을 구현하는 당업자의 필요에 따라 웹 서버(500)는 광고 제공 시스템(200)을 포함하여 구성될 수도 있을 것이다.
광고 제공 시스템의 구성
이하에서는, 본 발명의 구현을 위하여 중요한 기능을 수행하는 광고 제공 시스템(200)의 내부 구성 및 각 구성요소의 기능에 대하여 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 광고 제공 시스템(200)의 내부 구성을 상세하게 도시한 도면이다. 도 2를 참조하면, 본 발명의 일 실시예에 따른 광고 제공 시스템(200)은, 이력 정보 획득부(210), 체인 관리부(220), 유사도 산출부(230), 사용자 그룹 관리부(240), 광고풀 관리부(250), 광고 선택부(260), 데이터베이스(270), 통신부(280), 및 제어부(290)를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 이력 정보 획득부(210), 체인 관리부(220), 유사도 산출부(230), 사용자 그룹 관리부(240), 광고풀 관리부(250), 광고 선택부(260), 데이터베이스(270), 통신부(280), 및 제어부(290)는 그 중 적어도 일부가 광고주 단말 장치(300), 사용자 단말 장치(400), 웹 서버(500) 등과 통신하는 프로그램 모듈들일 수 있다. 이러한 프로그램 모듈들은 운영 시스템, 응용 프로그램 모듈, 및 기타 프로그램 모듈의 형태로 광고 제공 시스템(200)에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈들은 적어도 일부가 광고 제공 시스템(200)과 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
먼저, 본 발명의 일 실시예에 따른 이력 정보 획득부(210)는 특정 사용자와 타사용자 간의 유사도를 산출하기 위하여, 사용자들의 이력(history)에 관한 정보를 획득하는 기능을 수행한다. 여기서, 상기 사용자의 이력에 관한 정보는 사용자의 관심 분야 및 행동 패턴을 가늠할 수 있는 기준이 되는 정보를 의미하는 것으로서, 과거에 사용자가 조회했던 컨텐츠, 과거에 사용자가 입력했던 쿼리(query: 검색 질의), 과거에 사용자에게 노출되었던 광고(및/또는 사용자에게 클릭되었던 광 고) 등에 대한 이력 정보를 포함할 수 있다.
예를 들면, 컨텐츠에 대한 이력 정보에는 사용자가 조회한 일련의 컨텐츠의 식별자(identifier), 조회 시각 등의 정보가 포함될 수 있고, 쿼리에 대한 이력 정보에는 사용자가 입력한 일련의 쿼리, 상기 쿼리의 입력 시각 등의 정보가 포함될 수 있으며, 광고에 대한 이력 정보에는 사용자가 제공 받은 광고의 식별자, 제공 시각, 클릭 여부, 클릭 횟수 등에 대한 정보가 포함될 수 있다. 다만, 본 발명에서 말하는 사용자의 이력에 관한 정보는 반드시 상기 열거된 사항들에 한정되는 것은 아니며, 사용자 간의 유사도 산출의 기초가 될 수 있는 정보이면 모두 상기 사용자의 이력에 관한 정보에 포함될 수 있음은 물론이라 할 것이다.
본 발명의 일 실시예에 따른 체인 관리부(220)는 이력 정보 획득부(210)에 의해 획득된 사용자의 이력에 관한 정보를 기초로 하여, 사용자별로 이력 체인(chain)을 생성하고 이를 관리하는 기능을 수행한다. 여기서, 상기 이력 체인은, 사용자의 이력에 관한 정보 각각을 노드(node)에 대응되도록 하여 시간 순서에 따라 나열하여 구성될 수 있다.
구체적으로, 본 발명의 일 실시예에 따르면, 체인 관리부(220)에 의해 생성되는 이력 체인의 예로서는, 사용자가 조회한 일련의 컨텐츠에 관한 정보를 포함하는 컨텐츠 체인(contents chain), 사용자가 입력한 일련의 쿼리에 관한 정보를 포함하는 쿼리 체인(query chain) 및 사용자에게 노출된 일련의 광고에 관한 정보를 포함하는 광고 체인 등을 들 수 있다. 여기서, 상기 컨텐츠 체인의 각 노드는 사용자가 조회한 컨텐츠마다 대응되어 부여될 수 있고, 각 노드의 연결 순서는 사용 자에 의해 상기 컨텐츠가 조회된 순서에 따라 결정될 수 있다. 마찬가지로, 상기 쿼리 체인의 각 노드는 사용자가 입력한 쿼리마다 대응되어 부여될 수 있고, 각 노드의 연결 순서는 사용자에 의해 상기 쿼리가 입력된 순서에 따라 결정될 수 있다. 또한, 상기 광고 체인은 사용자에 노출된 광고 정보를 각 노드로서 포함할 수 있고, 각 노드의 연결 순서는 상기 광고 정보가 사용자에 노출된 시간적 순서에 따라 결정될 수 있다. 한편, 상기 광고 체인의 각 노드에는 해당 광고가 사용자에 의해 클릭되었는지 여부를 나타내는 태그 정보가 함께 저장될 수 있는데, 이는 후술할 광고풀 생성 및/또는 광고 선택의 기준이 되는 정보로서 활용될 수도 있다. 다만, 본 발명에서 말하는 체인은 반드시 상기 열거된 사항들에 한정되는 것은 아니며, 소정의 순서에 따라 정렬된 사용자의 이력에 관한 정보를 포함할 수 있는 데이터의 집합이면 모두 상기 체인에 포함될 수 있음은 물론이라 할 것이다.
한편, 본 발명의 일 실시예에 따른 체인 관리부(220)는, 사용자의 이력에 관한 정보에 변동 사항이 발생함에 따라 해당 체인의 노드를 추가 및/또는 삭제하거나 해당 체인의 노드에 대응되는 정보를 변경함으로써, 체인에 저장된 사용자의 이력에 관한 정보를 갱신하는 기능을 수행할 수 있다. 이와 관련하여, 본 발명의 일 실시예에 따르면, 연산량이 극도로 많아지는 것을 막고 데이터베이스의 저장 공간의 여유를 확보하기 위하여 체인의 길이, 즉, 이력 체인에 포함되는 노드의 최대 개수를 제한할 수 있는데, 만약, 현재 체인 내의 노드의 개수가 상기 최대 개수에 해당되는 경우에는, 가장 오래된 이력 정보에 대응되는 노드를 삭제하면서 새로 추가되는 이력 정보에 대응되는 노드를 추가하는 방식, 즉, 선입선출(先入先出: FIFO) 방식을 이용하여 이력 체인에 저장된 사용자의 이력에 관한 정보를 갱신할 수도 있다. 여기서, 컨텐츠 체인, 쿼리 체인, 광고 체인 등에 설정된 최대 개수는 서로 다를 수 있음은 물론이다.
도 3은 본 발명의 일 실시예에 따라 사용자의 이력에 관한 정보를 기초로 하여 생성된 이력 체인의 구성을 예시적으로 나타내는 도면이다.
도 3을 참조하면, 사용자 A가 자신의 사용자 단말 장치(300)를 이용하여 m개의 컨텐츠를 조회하고 n개의 쿼리를 입력하였으며 p개의 광고를 제공 받은 경우를 가정할 수 있다. 이러한 경우, 본 발명의 일 실시예에 따르면, 컨텐츠 체인(310)의 각 노드(311 내지 315)에는 사용자 A가 과거에 조회했던 컨텐츠 1 내지 m이 조회된 순서에 따라 각각 대응될 수 있고, 쿼리 체인(320)의 각 노드(321 내지 325)에는 사용자 A가 과거에 입력했던 쿼리 1 내지 n이 입력된 순서에 따라 각각 대응될 수 있으며, 광고 체인(330)의 각 노드(331 내지 335)에는 사용자 A에 노출되었던 광고 1 내지 p가 사용자 A에 노출된 순서에 따라 각각 대응될 수 있다. 또한, 본 발명의 일 실시예에 따르면, 사용자 A의 광고 체인(330)의 각 노드(331 내지 335)에는 광고 1 내지 p가 사용자 A에 의해 클릭되었는지 여부를 나타내는 태그 정보(341 내지 345)가 함께 대응되어 저장될 수도 있다. 도 3에 나타난 태그 정보에 따르면, 광고 1 및 광고 4에 대한 태그만이 1의 값을 가지고 있으며, 이는 사용자 A가 자신에게 노출된 광고 중 광고 1 및 광고 4만을 클릭하였음을 나타낸다.
다만, 상기에서 언급한 체인에 관한 구성은, 본 발명의 다양한 실시예에 따른 체인을 설명하기 위한 예시적인 것에 불과하며, 본 발명에 따른 체인의 구성이 반드시 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 유사도 산출부(230)는, 체인 관리부(220)에 의하여 생성된 컨텐츠 체인 및/또는 쿼리 체인을 이용하여 특정 사용자와 타사용자 간의 유사도를 산출하는 기능을 수행한다. 즉, 유사도 산출부(230)는 유사도 산출의 대상이 되는 사용자 간의 컨텐츠 체인 유사도 및/또는 쿼리 체인 유사도를 산출한 후, 이를 참조로 하여 상기 사용자 간의 유사도를 획득할 수 있다. 이하에서는, 컨텐츠 체인 유사도 및/또는 쿼리 체인 유사도를 산출하는 구체적인 방법에 대하여 살펴본 후, 이를 참조로 하여 사용자 간의 유사도를 산출하는 방법에 대하여 상세하게 살펴보기로 한다.
먼저, 본 발명의 일 실시예에 따른 유사도 산출부(230)는, 사용자 간의 컨텐츠 체인 유사도를 산출함에 있어서 양 사용자의 컨텐츠 체인 간의 공통 노드의 분포 현황을 기준으로 할 수 있다. 구체적으로, 유사도 산출부(230)는 양 컨텐츠 체인 간에 공통되는 노드의 개수가 많을수록 상기 양 컨텐츠 체인 간의 유사도를 높게 산출할 수 있고, 양 컨텐츠 체인 간의 공통되는 노드의 순서 일치도가 높을수록 상기 양 컨텐츠 체인 간의 유사도를 높게 산출할 수 있으며, 양 컨텐츠 체인 간의 공통되는 노드 간의 거리가 짧을수록 상기 양 컨텐츠 체인 간의 유사도를 높게 산출할 수도 있다.
예를 들면, 사용자 A의 컨텐츠 체인이 노드 a, b, c, d, e로 이루어지고, 사용자 B의 컨텐츠 체인이 노드 a, b, c, x, e로 이루어지며, 사용자 C의 컨텐츠 체인은 노드 a, b, y, z, d로 이루어지는 경우를 가정할 수 있다. 이러한 경우, (i) 먼저, 사용자 A를 기준으로 하여 사용자 A와 타사용자 간의 컨텐츠 체인 간의 공통되는 노드의 개수를 바탕으로 컨텐츠 체인 간의 유사도를 산출하면, 사용자 A 및 B의 컨텐츠 체인 간의 공통되는 노드는 4개이고 사용자 A 및 C의 컨텐츠 체인 간의 공통되는 노드는 3개이므로, 컨텐츠 체인 간의 유사도는 사용자 A 및 B의 경우에 4이고, 사용자 A 및 C의 경우에 3인 것으로 결정될 수 있다. (ii) 한편, 사용자 A를 기준으로 하여 사용자 A와 타사용자 간의 컨텐츠 체인 간에 공통되는 노드의 순서 일치도를 바탕으로 컨텐츠 체인 간의 유사도를 산출하면, 사용자 A 및 B의 컨텐츠 체인 간의 순서가 일치하는 노드가 4개이고, 사용자 A 및 C의 컨텐츠 체인 간의 순서가 일치하는 노드가 2개의 점을 고려하여, 컨텐츠 체인 간의 유사도는 사용자 A 및 B의 경우에 4이고, 사용자 A 및 C의 경우에 2인 것으로 결정될 수 있다.
그리고, 본 발명의 일 실시예에 따른 유사도 산출부(230)는, 사용자 A를 기준으로 하여 사용자 A와 타사용자 간의 컨텐츠 체인 유사도를 산출함에 있어서 양 컨텐츠 체인 간의 비(非)공통 노드의 분포 현황을 기준으로 할 수 있다. 구체적으로, 유사도 산출부(230)는 양 컨텐츠 체인 간의 공통되지 않는 노드의 개수가 적을수록 상기 양 컨텐츠 체인 간의 유사도를 높게 산출할 수 있고, 양 컨텐츠 체인 간의 공통되지 않는 노드 간의 밀집도가 높을수록 상기 양 컨텐츠 체인 간의 유사도를 높게 산출할 수도 있다. 여기서, 양 컨텐츠 체인 간의 공통되지 않은 노드들이 밀집되어 있다는 말은, 양 컨텐츠 체인 간의 공통된 노드들의 연속성이 높다는 말과 일맥상통할 수 있다. 이와 같이 비공통 노드 간의 밀집도가 높을수록 유사도를 높게 산출하는 이유는, 사용자 A가 특정 컨텐츠를 찾은 경로를 올바른 경로라고 가 정할 때, 사용자 B는 계속 상기 특정 컨텐츠를 못 찾고 헤매다가 결국 올바른 길을 찾고 이러한 올바른 길을 계속 진행해 나아가서 상기 특정 컨텐츠를 찾은 경우이고, 사용자 C는 상기 특정 컨텐츠를 찾기 위해 올바른 길과 잘못된 길을 계속 반복하여 가다가 상기 특정 컨텐츠에 어렵게 도달한 경우라면, 상기 사용자 A가 상기 특정 컨텐츠를 찾기 위해 거쳤던 경로와 보다 유사한 경로를 거친 사용자는 사용자 B라고 할 수 있기 때문이다.
예를 들면, 사용자 A의 컨텐츠 체인이 노드 a, b, c, d, e, f, g로 이루어지고, 사용자 B의 컨텐츠 체인이 노드 a, b, r, s, c, z, d, q, w, e, f, g로 이루어지며, 사용자 C의 컨텐츠 체인은 노드 a, b, c, r, s, z, q, d, e, f, w, g로 이루어지는 경우를 가정할 수 있다. 여기서, 사용자 A를 기준으로 하여 사용자 A와 타사용자 간의 유사도를 산출한다는 가정하에, 비공통 노드의 밀집도는 비공통 노드 구간 길이의 평균값, 즉, 비공통 노드 구간의 길이의 총 합을 비공통 노드 구간의 개수로 나눈 값으로 수치화하는 일례를 생각할 수 있을 것이다. 이에 따라 살펴보면, 사용자 A 및 B의 컨텐츠 체인 간의 비공통 노드 구간은 (r, s), (z), (q, w)이고, 사용자 A 및 C의 컨텐츠 체인 간의 비공통 노드 구간은 (r, s, z, q), (w)이므로, 사용자 A 및 B의 컨텐츠 체인 간의 비공통 노드의 밀집도는 약 1.7이고(=(2+1+2)/3), 사용자 A 및 C의 컨텐츠 체인 간의 비공통 노드의 밀집도는 약 2.5이므로(=(4+1)/2)인 것으로 산출될 수 있음을 고려하여, 컨텐츠 체인 간의 유사도는 사용자 A 및 B의 경우에 1.7이고 사용자 A 및 C의 경우에 2.5인 것으로 결정할 수 있게 된다. 물론, 비공통 노드의 밀집도를 구하는 방법은 이에 한정되는 것 은 아니며, 비공통 노드 구간 길이의 최대값 또는 최소값 등 다양한 방법으로 구현될 수도 있을 것이다.
상기에서, 공통 노드의 분포 현황은 두 공통 노드 간의 거리를 포함하는 개념일 수 있으며, 이러한 두 공통 노드 간의 거리에 대한 개념은 상기에서 설명된 비공통 노드 분포의 밀집도와 동일 또는 유사하게 정의될 수 있을 것이므로 설명을 줄이도록 한다.
또한, 상기에서, 비공통 노드의 분포 현황은 비공통 노드의 개수를 포함하는 개념일 수 있으며, 이러한 비공통 노드의 개수에 대한 개념은 상기에서 설명된 공통 노드 분포의 개수와 동일 또는 유사하게 정의될 수 있을 것이므로 설명을 줄이도록 한다.
한편, 본 발명의 일 실시예에 따른 유사도 산출부(230)는 양 컨텐츠 체인의 길이가 길수록, 즉, 양 컨텐츠 체인에 포함되는 노드의 개수가 많을수록 상기 산출된 체인 간 유사도의 신뢰도가 높은 것으로 판단할 수 있는데, 이러한 신뢰도를 양 컨텐츠 체인 간의 유사도에 직접 반영하는 방법의 일 예로서, 양 컨텐츠 체인 간의 유사도에 상기 양 컨텐츠 체인의 길이에 부합하는 가중치를 부여할 수 있을 것이다.
다만, 상기에서 언급한 컨텐츠 체인 간의 유사도를 산출하는 방법은, 본 발명의 다양한 실시예에 따른 컨텐츠 체인 간의 유사도를 산출하는 구성을 설명하기 위한 예시적인 것에 불과하며, 본 발명에 따른 컨텐츠 체인 간의 유사도를 산출하는 구성이 반드시 이에 한정되는 것은 아니다.
이상에서는, 사용자 간의 컨텐츠 체인의 유사도를 산출하는 구성에 대하여 주로 언급하였지만, 이러한 구성은 사용자 간의 쿼리 체인의 유사도를 산출하는 과정에도 마찬가지로 적용될 수 있음은 자명하다고 할 것이다.
요컨대, 본 발명의 일 실시예에 따르면, 유사도 산출부(230)는 상기 산출된 사용자 간의 컨텐츠 체인의 유사도 및/또는 쿼리 체인의 유사도를 참조로 하여 사용자 간의 유사도를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 사용자 그룹 관리부(240)는 유사도 산출부(230)에 의해 산출된 사용자 간의 유사도를 기준으로 하여 특정 사용자와의 유사도가 기설정된 값 이상인 타사용자들을 포함하는 사용자 그룹을 생성하는 기능을 수행한다.
또한, 본 발명의 일 실시예에 따른 사용자 그룹 관리부(240)는, 특정 사용자와의 유사도가 제1 임계치 이상인 사용자들을 포함하는 제1차 사용자 그룹을 생성하고, 상기 제1차 사용자 그룹에 포함된 사용자들과의 유사도가 제2 임계치 이상인 다른 사용자들을 추가로 포함하는 제2차 사용자 그룹을 생성할 수 있다. 물론, 이에 한정되는 것은 아니며, 제n차 사용자 그룹 등을 생성할 수도 있을 것이다. 즉, 본 발명의 일 실시예에 따른 사용자 그룹 관리부(240)는, 특정 사용자를 기준으로 하여 서로 다른 값의 유사도 임계치를 적용함으로써 계층적인 관계에 있는 복수의 사용자 그룹을 생성할 수 있을 것이다.
도 4는 본 발명의 일 실시예에 따라 생성되는 사용자 그룹의 구성을 예시적으로 나타내는 도면이다.
도 4를 참조하면, 사용자 A를 기준으로 하여 사용자 그룹을 생성하는 경우를 가정할 수 있다. 이러한 경우, 본 발명의 일 실시예에 따르면, (i) 먼저, 사용자 A와의 유사도가 제1 임계치 이상인 사용자들(사용자 1 내지 7)을 포함하는 제1차 사용자 그룹(410)을 생성할 수 있고, (ii) 상기 제1차 사용자 그룹(410)에 포함되는 사용자들(사용자 1 내지 7)과의 유사도가 제2 임계치 이상인 다른 사용자들(사용자 8 내지 16)을 포함하는 제2차 사용자 그룹(420)을 생성할 수도 있다. 다만, 반드시 이에 한정되는 것은 아니며, 가령, 상기 사용자 A를 기준으로 상기 제2 임계치 이상인 다른 사용자들을 포함하도록 하여 제2차 사용자 그룹을 생성하는 것도 가능할 것이다.
본 발명의 일 실시예에 따르면, 광고풀 관리부(250)는 상기 생성된 사용자 그룹 내의 사용자에게 기노출된 광고들을 모아 광고풀(pool)을 생성하는 기능을 수행하며, 이러한 광고풀에 포함된 광고는 추후 광고 선택부(260)에 의해 특정 사용자(즉, 유사도 산출 및 사용자 그룹 생성을 함에 있어서 기준이 되었던 사용자)에게 제공되기 위해 적어도 하나가 선택될 수 있으며, 이에 대해서는 후술할 것이다. 한편, 본 발명의 일 실시예에 따른 광고풀 관리부(250)는, 특정 사용자의 관심 분야 및/또는 선호 분야에 부합하지 않는 광고를 상기 광고풀에서 제외시키기 위하여, 과거에 상기 특정 사용자에게 제공되었으나 상기 특정 사용자에 의해 클릭되지 않은 광고를 상기 광고풀에 포함되지 않도록 할 수도 있고, 또 다른 예로서, 상기 특정 사용자에게 기제공되었던 광고를 모두 상기 광고풀에 포함되지 않도록 할 수도 있다.
한편, 본 발명의 일 실시예에 따르면, 상기 광고풀에는 해당 사용자 그룹 내의 사용자에게 제공되었던 광고뿐만 아니라 해당 사용자 그룹 내에서의 상기 광고의 노출 횟수 및 노출 횟수에 대한 클릭 횟수의 비율(CTR: Click Through Rate), 상기 광고를 클릭한 사용자 수 등에 관한 정보가 함께 저장될 수 있는데, 이는 후술할 광고 선택의 기준으로서 활용될 수 있다.
도 5는 본 발명의 일 실시예에 따라 생성되는 광고풀의 구성을 예시적으로 나타내는 도면이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 광고풀(520)은 사용자 그룹(510)에 포함되는 사용자 1에게 제공되었던 "광고 1" 내지 "광고 4"를 포함할 수 있고, 사용자 2에게 제공되었던 "광고 5" 내지 "광고 7"을 포함할 수 있으며, 사용자 3에게 제공되었던 "광고 8" 및 "광고 9"를 포함할 수 있다. 물론, 앞서 설명한 바와 같이, 특정 사용자에게 노출되었지만 클릭되지 않은 광고 등은 광고풀(520)에서 제외할 수도 있을 것이다.
한편, 사용자의 이력에 관한 정보에 변동 사항이 발생함에 따라 사용자 간의 유사도가 갱신될 수 있는데, 본 발명의 일 실시예에 따른 사용자 그룹 관리부(240) 및 광고풀 관리부(250)는, 이러한 변동 사항을 사용자 그룹 및 광고풀에 동적으로 반영시키기 위하여, 유사도 산출부(230)에 의해 실시간으로 산출되는 사용자 간의 유사도를 기준으로 하여 사용자 그룹 및 광고풀을 업데이트하도록 할 수도 있다.
본 발명의 일 실시예에 따르면, 광고 선택부(260)는 특정 사용자를 기준으로 생성된 광고풀 내에서 상기 특정 사용자에게 제공될 광고를 선택하는 기능을 수행 한다. 구체적으로, 광고 선택부(260)는 특정 사용자를 기준으로 생성된 광고풀에 포함된 광고에 대하여 소정의 기준에 따른 순위를 매기고, 상기 순위에 따라 상기 특정 사용자에게 노출될 광고를 선택할 수 있다. 여기서, 상기 순위는, 상기 특정 사용자를 기준으로 생성된 사용자 그룹 내에 포함된 사용자들에게 노출된 적이 있는 광고 체인 상의 광고들에 대한 CTR, 노출 횟수, 과금액, 해당 광고를 클릭한 사용자 수, 해당 광고를 클릭한 사용자와 상기 특정 사용자의 유사도 중 적어도 하나를 참조하여 결정되도록 할 수 있다. 경우에 따라, 본 발명의 일 실시예에 따른 광고 선택부(260)는, 특정 사용자에게 제공되는 광고를 선택함에 있어서 상기 특정 사용자에게 기제공된 광고 또는 상기 특정 사용자에게 기제공되었으나 클릭되지 않은 광고는 제외할 수도 있다.
상기에서는, 광고풀 관리부(250)의 기능과 광고 선택부(260)의 기능이 분리되어 있는 것으로 설명되었지만, 반드시 이에 한정되는 것은 아니며, 경우에 따라, 광고풀 관리부(250)와 광고 선택부(260)를 통합하여 구성할 수도 있는 등 다양한 변형예를 상정할 수 있을 것이다.
한편, 본 발명의 일 실시예에 따르면, 데이터베이스(270)에는 이력 정보 획득부(210)에 의해 획득된 사용자의 이력에 관한 정보가 컨텐츠 체인, 쿼리 체인 또는 광고 체인의 형식으로 저장될 수 있고, 상기 체인을 기초로 하여 산출된 체인 간의 유사도 및 사용자 간의 유사도에 관한 정보가 저장될 수 있으며, 특정 사용자를 기준으로 생성된 사용자 그룹 및 광고풀에 대한 정보가 상기 특정 사용자와 연관지어진 상태로 함께 저장되어 있을 수 있다.
한편, 비록 도 2에서 데이터베이스(270)는 광고 제공 시스템(200)에 포함되어 구성되는 것으로 도시되어 있지만, 본 발명을 구현하는 당업자의 필요에 따라, 데이터베이스(270)는 광고 제공 시스템(200)과 별개로 구성될 수도 있다. 한편, 본 발명에 따른, 데이터베이스(270)는, 컴퓨터 판독 가능한 기록 매체를 포함하는 개념으로서, 협의의 데이터베이스뿐만 아니라, 파일 시스템에 기반한 데이터 기록 등을 포함하는 넓은 의미의 데이터베이스도 포함하여 지칭하며, 단순한 로그의 집합이라도 이를 검색하여 데이터를 추출할 수 있다면 본 발명에서 말하는 데이터베이스(270)에 포함된다.
본 발명의 일 실시예에 따른 통신부(280)는 광고 제공 시스템(200)으로부터의/으로의 데이터 송수신이 가능하도록 하는 기능을 수행한다.
본 발명의 일 실시예에 따른 제어부(290)는, 이력 정보 획득부(210), 체인 관리부(220), 유사도 산출부(230), 사용자 그룹 관리부(240), 광고풀 관리부(250), 광고 선택부(260), 데이터베이스(270), 인터페이스부(280) 및 통신부(280) 간의 데이터의 흐름을 제어하는 기능을 수행한다. 즉, 본 발명에 따른 제어부(270)는 외부로부터의/로의 또는 광고 제공 시스템(200)의 각 구성요소 간의 데이터의 흐름을 제어함으로써, 이력 정보 획득부(210), 체인 관리부(220), 유사도 산출부(230), 사용자 그룹 관리부(240), 광고풀 관리부(250), 광고 선택부(260), 데이터베이스(270), 인터페이스부(280) 및 통신부(280)에서 각각 고유 기능을 수행하도록 제어한다.
본 발명의 활용 예
도 6a 내지 도 6d는 본 발명의 일 실시예에 따라 컨텐츠 체인, 쿼리 체인 및 광고 체인을 이용하여 사용자 그룹 및 광고풀을 생성하고, 사용자에게 제공되는 광고를 선택하는 과정을 예시적으로 나타내는 도면이다.
먼저, 도 6a를 참조하면, 사용자 A, B 및 C의 이력에 관한 정보를 포함하는 컨텐츠 체인, 쿼리 체인 및 광고 체인을 생성할 수 있다. 본 발명의 일 실시예에 따르면, 컨텐츠 체인의 각 노드에는 해당 컨텐츠가 대응되도록 저장되어 있고, 쿼리 체인의 각 노드에는 해당 쿼리가 대응되도록 저장되어 있으며, 광고 체인의 각 노드에는 해당 광고가 대응되도록 저장되어 있을 수 있다.
설명의 편의를 위하여, 컨텐츠 체인 간의 유사도 및 쿼리 체인 간의 유사도는 체인 간의 공통되는 노드의 개수로서 정의되고, 사용자 간의 유사도는 컨텐츠 체인의 유사도 및 쿼리 체인의 유사도의 합으로서 정의된다고 가정할 경우, 도 6a와 같은 이력 체인을 가지고 있는 사용자 A, B 및 C 사이의 유사도는 도 6b에 도시된 바와 같이 산출될 수 있다. 즉, 도 6b를 참조하면, 사용자 A 및 B의 경우에는 컨텐츠 체인의 노드 중 "C 103" 노드가 공통되므로 컨텐츠 체인의 유사도가 1이고 쿼리 체인의 노드 중 "꽃배달" 노드가 공통되므로 쿼리 체인의 유사도는 1인 것으로 산출될 수 있으며, 이에 따라 사용자 A 및 B 간의 유사도는 2인 것으로 산출될 수 있다. 계속하여, 도 6b를 참조하면, 사용자 A 및 B의 경우와 같은 산출 과정에 의하여, 사용자 B 및 C 간의 유사도가 1이고 사용자 C 및 A의 유사도는 1인 것으로 산출될 수 있다.
다음으로, 도 6c를 참조하면, 본 발명의 일 실시예에 따라, 임의의 사용자가 사용자 A를 기준으로 하는 사용자 그룹(610)에 포함되기 위해서는 상기 임의의 사용자와 사용자 A 간의 유사도가 2 이상이어야 하는 경우를 가정할 수 있는데, 이러한 경우 서로 간의 유사도가 2로 산출된 사용자 B가 상기 사용자 A를 기준으로 하는 사용자 그룹(610)에 포함될 수 있을 것이다.
다음으로, 도 6d를 참조하면, 본 발명의 일 실시예에 따라 사용자 A를 기준으로 하는 사용자 그룹(610) 내의 사용자 A 및 B에게 노출되었던 광고 중 적어도 일부를 포함하는 광고풀(620)을 생성할 수 있다. 다만, 사용자 A의 광고 체인의 노드 "광고 5" 및 "광고 66"에 대한 태그 정보가 모두 "0"인 것을 고려할 때, 사용자 A에게 노출되었지만 사용자 A에 의해 클릭되지 않은 광고인 "광고 5" 및 "광고 66"은 더 이상 사용자 A의 관심 분야에 부합하는 광고가 아닌 것으로 판단될 수 있으므로, 상기 2개의 광고는 사용자 A에 대한 광고풀(620)에 포함되지 않도록 할 수도 있다.
계속하여 도 6d를 참조하면, 본 발명의 일 실시예에 따라 사용자 A를 기준으로 생성된 사용자 그룹에 포함된 사용자에게 노출되었던 광고풀(620)에 포함된 6개의 광고에 대하여 각각 소정의 순위를 매기고, 상기 순위에 따라 사용자 A에게 노출될 광고를 선별할 수 있다. 도 6d의 경우에는, 예를 들어, 사용자 A에게 제공된 적이 없는 광고로서 사용자 B에 의해 클릭된 이력이 있는 "광고 16"에 가장 높은 순위가 매겨지도록 할 수 있을 것이다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체 에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크, 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적 으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
도 1은 본 발명의 일 실시예에 따른 전체 시스템의 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 광고 제공 시스템(200)의 내부 구성을 상세하게 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따라 사용자의 이력에 관한 정보를 기초로 하여 생성된 이력 체인의 구성을 예시적으로 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따라 생성되는 사용자 그룹의 구성을 예시적으로 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따라 생성되는 광고풀의 구성을 예시적으로 나타내는 도면이다.
도 6a 내지 도 6d는 본 발명의 일 실시예에 따라 컨텐츠 체인, 쿼리 체인 및 광고 체인을 이용하여 사용자 그룹 및 광고풀을 생성하고, 사용자에게 제공되는 광고를 선택하는 과정을 예시적으로 나타내는 도면이다.
<주요 도면부호에 관한 간단한 설명>
210: 이력 정보 획득부
220: 체인 관리부
230: 유사도 산출부
240: 사용자 그룹 관리부
250: 광고풀 관리부
260: 광고 선택부
270: 데이터베이스
270: 통신부
280: 제어부

Claims (27)

  1. (a) 유사도 산출부에 의해, 특정 사용자를 포함하는 복수의 사용자 각각이 조회한 컨텐츠에 관한 정보인 컨텐츠 체인(contents chain) 및 상기 각각의 사용자가 입력한 쿼리에 관한 정보인 쿼리 체인(query chain) 중 적어도 하나를 기초로 하여, 상기 특정 사용자와 상기 특정 사용자를 제외한 타사용자 간의 유사도를 획득하는 단계,
    (b) 사용자 그룹 관리부에 의해, 상기 획득된 유사도를 기초로 하여, 상기 복수의 사용자 중 상기 특정 사용자와의 유사도가 기설정된 값 이상인 사용자를 포함하는 사용자 그룹을 생성하는 단계, 및
    (c) 광고풀 관리부에 의해, 상기 사용자 그룹에 포함되는 사용자에게 기제공된 광고 중 적어도 일부를 광고풀로 구성하고, 상기 광고풀에 포함된 광고 중 적어도 하나를 상기 특정 사용자에게 노출될 광고로서 선택하는 단계를 포함하는,
    특정 사용자에게 동적으로 광고를 제공하는 방법.
  2. 제1항에 있어서,
    상기 컨텐츠 체인 및 상기 쿼리 체인은 각각 적어도 하나의 노드(node)를 포함하고, 상기 컨텐츠 체인에 포함되는 노드는 상기 각각의 사용자가 조회한 컨텐츠마다 대응되도록 부여되고 상기 각각의 사용자에 의해 상기 컨텐츠가 조회된 순서에 따라 상기 노드의 연결 순서가 결정되며, 상기 쿼리 체인에 포함되는 노드는 상기 각각의 사용자가 입력한 쿼리마다 대응되도록 부여되고 상기 각각의 사용자에 의해 상기 쿼리가 입력된 순서에 따라 상기 노드의 연결 순서가 결정되는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 컨텐츠 체인에 포함되는 노드 및 상기 쿼리 체인에 포함되는 노드는 각각 최대 개수가 정해져 있는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 컨텐츠 체인에 포함된 노드의 개수가 상기 최대 개수인 상태에서, 상기 각각의 사용자로부터 새롭게 컨텐츠의 조회가 이루어지면, 선입선출(FIFO) 방식으로 해당 최대 개수를 유지하고, 상기 쿼리 체인에 포함된 노드의 개수가 상기 최대 개수인 상태에서, 상기 각각의 사용자로부터 새롭게 쿼리의 입력이 들어오면, 선입선출(FIFO) 방식으로 해당 최대 개수를 유지하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 (a) 단계는,
    상기 특정 사용자와 상기 타사용자 간의 유사도를 산출하기 위하여, 상기 특정 사용자의 컨텐츠 체인 및 상기 타사용자의 컨텐츠 체인을 비교하여 산출된 컨텐츠 체인 유사도 및 상기 특정 사용자의 쿼리 체인 및 상기 타사용자의 쿼리 체인을 비교하여 산출된 쿼리 체인 유사도 중 적어도 하나를 참조하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 컨텐츠 체인 유사도는, 양 컨텐츠 체인에 공통되는 노드의 개수, 양 컨텐츠 체인 간에 공통되는 노드의 순서의 일치도, 및 양 컨텐츠 체인 간의 공통되는 노드 간의 거리 중 적어도 하나를 기준으로 하여 결정되고, 상기 쿼리 체인 유사도는, 양 쿼리 체인에 공통되는 노드의 개수, 양 쿼리 체인 간에 공통되는 노드의 순서의 일치도, 및 양 쿼리 체인 간의 공통되는 노드 간의 거리 중 적어도 하나를 기준으로 하여 결정되는 것을 특징으로 하는 방법.
  7. 제5항에 있어서,
    상기 컨텐츠 체인 유사도는, 양 컨텐츠 체인에 공통되지 않는 노드의 개수 및 양 컨텐츠 체인 간에 공통되지 않는 노드의 밀집도 중 적어도 하나를 기준으로 하여 결정되고, 상기 쿼리 체인 유사도는, 양 쿼리 체인에 공통되지 않는 노드의 개수 및 양 쿼리 체인 간에 공통되지 않는 노드의 밀집도 중 적어도 하나를 기준으로 하여 결정되는 것을 특징으로 하는 방법.
  8. 제5항에 있어서,
    상기 컨텐츠 체인 유사도 및 상기 쿼리 체인 유사도를 산출함에 있어서, 해당 체인의 길이에 비례하는 가중치를 부여하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 (a) 단계 이전에, 상기 각각의 사용자에 노출된 광고 정보를 각 노드로서 포함하는 광고 체인을 획득하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서,
    상기 광고 체인에 포함되는 노드는 최대 개수가 정해져 있는 것을 특징으로 하는 방법.
  11. 제10항에 있어서,
    상기 광고 체인에 포함된 노드의 개수가 상기 최대 개수인 상태에서, 새롭게 상기 각각의 사용자에게 광고의 노출이 이루어지면, 선입선출 방식으로 상기 최대 개수를 유지하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 광고 체인의 노드에는 해당 노드에 대응되는 광고의 클릭 여부를 표시하는 태그 정보가 포함될 수 있는 것을 특징으로 하는 방법.
  13. 제1항에 있어서,
    상기 (c) 단계는,
    상기 광고풀에 포함된 광고에 대해 순위를 매기고, 상기 순위에 따라 상기 특정 사용자에게 제공되는 광고를 선택하는 것을 특징으로 하는 방법.
  14. 제13항에 있어서,
    상기 순위는,
    상기 사용자 그룹 내에서의 총 CTR, 노출 수, 과금액, 상기 사용자 그룹 안에서 해당 광고를 클릭한 사용자 수, 상기 광고를 클릭한 사용자와 상기 특정 사용자의 유사도 중 적어도 하나를 참조하여 결정되는 것을 특징으로 하는 방법.
  15. 제13항에 있어서,
    상기 순위에 따라 상기 특정 사용자에게 제공되는 광고를 선택함에 있어서, 상기 특정 사용자에게 기제공된 광고 또는 상기 특정 사용자에게 기제공되었으나 클릭되지 않은 광고는 제외하는 것을 특징으로 하는 방법.
  16. 제1항에 있어서,
    상기 기설정된 값은 제1 임계값 및 제2 임계값을 포함하고, 상기 제1 임계값이 상기 제2 임계값 보다 클 경우, 상기 제1 임계값 이상인 사용자들을 포함하는 제1 사용자 그룹을 생성하고, 상기 제2 임계값 이상인 사용자들을 포함하는 제2 사용자 그룹을 생성하는 것을 특징으로 하는 방법.
  17. 제1항에 있어서,
    상기 사용자 그룹 및 상기 광고풀은 실시간으로 업데이트되는 것을 특징으로 하는 방법.
  18. 특정 사용자를 포함한 복수의 사용자 각각이 조회한 컨텐츠에 관한 정보인 컨텐츠 체인 및 상기 각각의 사용자가 입력한 쿼리에 관한 정보인 쿼리 체인 중 적어도 하나를 기초로 하여, 상기 특정 사용자와 상기 특정 사용자를 제외한 타사용자 간의 유사도를 획득하는 유사도 산출부,
    상기 획득된 유사도를 기초로 하여, 상기 복수의 사용자 중 상기 특정 사용자와의 유사도가 기설정된 값 이상인 사용자를 포함하는 사용자 그룹을 생성하는 사용자 그룹 관리부, 및
    상기 사용자 그룹에 포함되는 사용자에게 기제공된 광고 중 적어도 일부를 광고풀로 구성하고, 상기 광고풀에 포함된 광고 중 적어도 하나를 상기 특정 사용자에게 노출될 광고로서 선택하는 광고풀 관리부를 포함하는,
    특정 사용자에게 동적으로 광고를 제공하기 위한 시스템.
  19. 제18항에 있어서,
    상기 컨텐츠 체인 및 상기 쿼리 체인을 각각 적어도 하나의 노드를 포함하도록 생성 및 관리하는 체인 관리부를 더 포함하되,
    상기 체인 관리부는,
    상기 컨텐츠 체인에 포함되는 노드는 상기 각각의 사용자가 조회한 컨텐츠마다 대응되도록 부여하고 상기 각각의 사용자에 의해 상기 컨텐츠가 조회된 순서에 따라 상기 노드의 연결 순서를 결정하며, 상기 쿼리 체인에 포함되는 노드는 상기 각각의 사용자가 입력한 쿼리마다 대응되도록 부여하고 상기 각각의 사용자에 의해 상기 쿼리가 입력된 순서에 따라 상기 노드의 연결 순서를 결정하는 것을 특징으로 하는 시스템.
  20. 제18항에 있어서,
    상기 유사도 산출부는,
    상기 특정 사용자와 상기 타사용자 간의 유사도를 산출하기 위하여, 상기 특정 사용자의 컨텐츠 체인 및 상기 타사용자의 컨텐츠 체인을 비교하여 산출된 컨텐츠 체인 유사도 및 상기 특정 사용자의 쿼리 체인 및 상기 타사용자의 쿼리 체인을 비교하여 산출된 쿼리 체인 유사도 중 적어도 하나를 참조하는 것을 특징으로 하는 시스템.
  21. 제20항에 있어서,
    상기 컨텐츠 체인 유사도는, 양 컨텐츠 체인에 공통되는 노드의 개수, 양 컨텐츠 체인 간에 공통되는 노드의 순서의 일치도, 및 양 컨텐츠 체인 간의 공통되는 노드 간의 거리 중 적어도 하나를 기준으로 하여 결정되고, 상기 쿼리 체인 유사도는, 양 쿼리 체인에 공통되는 노드의 개수, 양 쿼리 체인 간에 공통되는 노드의 순서의 일치도, 및 양 쿼리 체인 간의 공통되는 노드 간의 거리 중 적어도 하나를 기 준으로 하여 결정되는 것을 특징으로 하는 시스템.
  22. 제20항에 있어서,
    상기 컨텐츠 체인 유사도는, 양 컨텐츠 체인에 공통되지 않는 노드의 개수 및 양 컨텐츠 체인 간에 공통되지 않는 노드의 밀집도 중 적어도 하나를 기준으로 하여 결정되고, 상기 쿼리 체인 유사도는, 양 쿼리 체인에 공통되지 않는 노드의 개수 및 양 쿼리 체인 간에 공통되지 않는 노드의 밀집도 중 적어도 하나를 기준으로 하여 결정되는 것을 특징으로 하는 시스템.
  23. 제20항에 있어서,
    상기 유사도 산출부는,
    상기 컨텐츠 체인 유사도 및 상기 쿼리 체인 유사도를 산출함에 있어서, 해당 체인의 길이에 비례하는 가중치를 부여하는 것을 특징으로 하는 시스템.
  24. 제18항에 있어서,
    상기 체인 관리부는,
    상기 각각의 사용자에 노출된 광고 정보를 각 노드로서 포함하는 광고 체인을 추가적으로 획득하는 것을 특징으로 하는 시스템.
  25. 제24항에 있어서,
    상기 광고 체인의 노드에는 해당 노드에 대응되는 광고의 클릭 여부를 표시하는 태그 정보가 포함될 수 있는 것을 특징으로 하는 시스템.
  26. 제18항에 있어서,
    상기 광고풀 관리부는,
    상기 광고풀에 포함된 광고에 대해 순위를 매기고, 상기 순위에 따라 상기 특정 사용자에게 노출될 광고를 선택하는 것을 특징으로 하는 시스템.
  27. 제1항 내지 제17항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체.
KR1020080136821A 2008-12-30 2008-12-30 협업 필터링을 이용하여 동적으로 광고를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 KR101102853B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080136821A KR101102853B1 (ko) 2008-12-30 2008-12-30 협업 필터링을 이용하여 동적으로 광고를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080136821A KR101102853B1 (ko) 2008-12-30 2008-12-30 협업 필터링을 이용하여 동적으로 광고를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체

Publications (2)

Publication Number Publication Date
KR20100078536A KR20100078536A (ko) 2010-07-08
KR101102853B1 true KR101102853B1 (ko) 2012-01-05

Family

ID=42639743

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080136821A KR101102853B1 (ko) 2008-12-30 2008-12-30 협업 필터링을 이용하여 동적으로 광고를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체

Country Status (1)

Country Link
KR (1) KR101102853B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9762681B2 (en) 2013-02-12 2017-09-12 Sk Techx Co., Ltd. Cloud computing-based data management method, and system and apparatus for same
KR101492817B1 (ko) * 2013-10-23 2015-02-16 주식회사 내로우캐스트 광고를 특정 사용자 그룹과 연계시키기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
KR101584687B1 (ko) * 2014-01-22 2016-01-14 (주)퓨쳐스트림네트웍스 타겟팅 자동화 장치 및 방법
KR101639656B1 (ko) 2014-04-22 2016-07-15 주식회사 카카오 광고 제공 방법 및 서버 장치
KR102471444B1 (ko) * 2017-04-20 2022-11-28 에스케이플래닛 주식회사 광고지원장치 및 그 동작 방법, 그리고 광고제공장치
KR101991178B1 (ko) * 2017-10-13 2019-06-20 극동대학교 산학협력단 협업필터링을 이용한 조달공고 추천방법 및 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002334085A (ja) 2001-05-10 2002-11-22 Nippon Telegr & Teleph Corp <Ntt> 広告提示方法、広告提示装置、プログラム及びその記憶媒体
JP2004126975A (ja) 2002-10-03 2004-04-22 Nippon Telegr & Teleph Corp <Ntt> 選好傾向類似ユーザ抽出方法及び装置、並びに選好傾向類似ユーザ抽出プログラム及びそれを記録した記録媒体
JP2007183859A (ja) 2006-01-10 2007-07-19 Konica Minolta Holdings Inc 情報検索システム、情報検索方法、及び情報管理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002334085A (ja) 2001-05-10 2002-11-22 Nippon Telegr & Teleph Corp <Ntt> 広告提示方法、広告提示装置、プログラム及びその記憶媒体
JP2004126975A (ja) 2002-10-03 2004-04-22 Nippon Telegr & Teleph Corp <Ntt> 選好傾向類似ユーザ抽出方法及び装置、並びに選好傾向類似ユーザ抽出プログラム及びそれを記録した記録媒体
JP2007183859A (ja) 2006-01-10 2007-07-19 Konica Minolta Holdings Inc 情報検索システム、情報検索方法、及び情報管理装置

Also Published As

Publication number Publication date
KR20100078536A (ko) 2010-07-08

Similar Documents

Publication Publication Date Title
JP6511455B2 (ja) ユーザ行動の特徴を抽出して推奨を個人化する方法及びシステム
JP5974186B2 (ja) トラフィックソースのための広告の選択
US8135706B2 (en) Operationalizing search engine optimization
US8332775B2 (en) Adaptive user feedback window
US8442849B2 (en) Emotional mapping
US8494897B1 (en) Inferring profiles of network users and the resources they access
CN101641694B (zh) 通过若干搜索引擎实现的联合搜索
US20110225043A1 (en) Emotional targeting
US20130046584A1 (en) Page reporting
US8888497B2 (en) Emotional web
US10248732B2 (en) Identifying related entities
US20080288347A1 (en) Advertising keyword selection based on real-time data
US20070027762A1 (en) System and method for creating and providing a user interface for optimizing advertiser defined groups of advertisement campaign information
US20070027760A1 (en) System and method for creating and providing a user interface for displaying advertiser defined groups of advertisement campaign information
US20110258032A1 (en) Search advertisement selection based on user actions
KR101102853B1 (ko) 협업 필터링을 이용하여 동적으로 광고를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
KR20100086489A (ko) 광고에 대한 특징-값 첨부, 순위 재조정 및 필터링
US9691083B2 (en) Opportunity identification and forecasting for search engine optimization
US20170024776A1 (en) Externality-based advertisement bid and budget allocation adjustment
JP2010113542A (ja) 情報提供システム、情報処理装置及びそのプログラム
KR101042901B1 (ko) 광고 구매 히스토리에 기초하여 검색 광고용 키워드 페어를생성하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
CN103699603A (zh) 一种基于用户行为的信息推荐方法和系统
KR20020025142A (ko) 키워드 광고 서비스를 위한 키워드 추천 시스템 및 방법
Vargiu et al. Improving contextual advertising by adopting collaborative filtering
Cheng et al. Maximizing the utility in location-based mobile advertising

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140925

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161024

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171011

Year of fee payment: 7