KR101879829B1 - 클릭 로그 데이터를 이용하여 이상 사용자를 검출하는 방법 및 장치 - Google Patents

클릭 로그 데이터를 이용하여 이상 사용자를 검출하는 방법 및 장치 Download PDF

Info

Publication number
KR101879829B1
KR101879829B1 KR1020160149329A KR20160149329A KR101879829B1 KR 101879829 B1 KR101879829 B1 KR 101879829B1 KR 1020160149329 A KR1020160149329 A KR 1020160149329A KR 20160149329 A KR20160149329 A KR 20160149329A KR 101879829 B1 KR101879829 B1 KR 101879829B1
Authority
KR
South Korea
Prior art keywords
user
site
log data
click log
click
Prior art date
Application number
KR1020160149329A
Other languages
English (en)
Other versions
KR20180052243A (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 KR1020160149329A priority Critical patent/KR101879829B1/ko
Priority to PCT/KR2017/012689 priority patent/WO2018088824A1/ko
Publication of KR20180052243A publication Critical patent/KR20180052243A/ko
Application granted granted Critical
Publication of KR101879829B1 publication Critical patent/KR101879829B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy
    • G06Q30/0629Directed, with specific intent or strategy for generating comparisons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 사이트 내 아이템에 대한 클릭 로그 데이터를 이용하여 이상 사용자를 검출하는 방법 및 검출하는 장치에 대한 것으로서, 본 발명의 일실시예에 따르면, 사이트 내 아이템에 대한 클릭 로그 데이터를 통해 이상 사용자를 검출하는 방법은, 사이트 사용자 별 클릭 로그 데이터를 수집하는 단계, 상기 수집된 클릭 로그 데이터를 이용하여 상기 사이트 사용자 별 IAT(inter arrival time)를 추출하는 단계, 상기 수집된 클릭 로그 데이터를 이용하여 상기 사이트 사용자 별 DA(diurnal activity)를 추출하는 단계, 상기 수집된 클릭 로그 데이터를 이용하여 상기 사이트 사용자 별 ES(eigenscore)를 추출하는 단계, 상기 추출된 IAT, DA 또는 ES 중 적어도 하나를 이용하여 상기 사이트 사용자 별 의심 점수를 계산하는 단계 및 상기 계산된 사용자 별 의심 점수를 기초로, 상기 사이트 사용자 중 이상 사용자를 검출하는 단계를 포함할 수 있다.

Description

클릭 로그 데이터를 이용하여 이상 사용자를 검출하는 방법 및 장치{METHOD AND DEVICE FOR DETECTING FRAUDS BY USING CLICK LOG DATA}
본 발명은 사이트 내 아이템에 대한 클릭 로그 데이터를 이용하여 이상 사용자를 검출하는 방법 및 검출하는 장치에 대한 것으로서, 본 발명의 일실시예에 따르면 사이트 사용자의 클릭 로그 데이터를 이용하여 사이트 사용자의 행동 패턴을 분석하고 이상 사용자를 검출할 수 있다.
종래의 이상 사용자 (fraud) 검출 연구들은 이상 사용자의 활동 도메인 및 활동 패턴에 대한 관찰을 통해 이루어졌다. 예를 들어, 클릭형 이상 사용자(click fraud) 검출 연구는 특정 광고를 의도적으로 많이 클릭하는 사용자에 대한 행동을 검출해내는 연구이며, 명성형 이상 사용자(reputation fraud)는 전자상거래 사이트에서 평점이나 댓글 등으로 여론을 조작하는 사용자를 검출하는 연구이다. 또한, 순위 조작형 이상 사용자(ranking fraud)는 모바일 앱스토어에서 특정 어플의 인기 순위를 높이기 위해 비정상적인 방법을 사용하는 유저를 검출하는 연구이다.
이와 달리, 가격비교 사이트 사용자들의 행동 패턴(예, 클릭 동작)을 분석하고, 이상 사용자로 의심되는 행동 패턴을 보이는 사용자들을 검출하는 연구는 지금까지 이루어지지 않았다. 이는 가격비교 사이트를 이용하는 사용자들 중 이상 행동을 보이는 사용자들이 타 서비스의 이상 사용자들, 예를 들면 광고 네트워크에서의 클릭형 이상 사용자(click fraud), 온라인 전자상거래 사이트에서의 명성형 이상 사용자(reputation fraud), 또는 모바일 앱 스토어에서의 순위 조작형 이상 사용자(ranking fraud)들과 다른 행동 특징을 가지고 있기 때문이다.
보다 구체적으로, 가격비교 사이트를 이용하는 사용자들 중 이상 행동을 보이는 사용자들은, 한 명의 사용자가 하나의 아이템에 대해서 다양한 반응(reaction) (예를 들면, 구매, 평점 부여, 아이템과 관련된 데이터 다운로드, 아이템 클릭 등)을 보일 수 있다는 특징을 가지고 있다.
기존의 도메인 시스템에서는 한 명의 사용자가 하나의 아이템에 한 번 이상의 반응(reaction)을 보이는 것이 허용되지 않거나, 부자연스러운 행위로 간주된다. 따라서, 한 명의 사용자가 하나의 아이템에 대해서 다양한 반응(reaction)을 보일 수 있는 가격비교 사이트의 이상 사용자 검출에는 기존의 도메인 시스템을 적용할 수 없으며, 기존의 이상 사용자(fraud) 검출 방법들 역시 적용할 수 없다.
상기한 바와 같이 한 명의 사용자가 하나의 아이템에 대해서 다양한 반응을 보일 수 있을 경우, 기존의 이상 사용자 검출 방법들을 이용할 수 없다. 이에 따라, 본 발명의 일실시예는 가격비교 사이트를 이용하는 사용자 중 이상 사용자를 검출하는 방법을 제공할 수 있다.
본 발명의 일실시예에 따르면, 사이트 내 아이템에 대한 클릭 로그 데이터를 통해 이상 사용자를 검출하는 방법은, 사이트 사용자 별 클릭 로그 데이터를 수집하는 단계, 상기 수집된 클릭 로그 데이터를 이용하여 상기 사이트 사용자 별 IAT(inter arrival time)를 추출하는 단계, 상기 수집된 클릭 로그 데이터를 이용하여 상기 사이트 사용자 별 DA(diurnal activity)를 추출하는 단계, 상기 수집된 클릭 로그 데이터를 이용하여 상기 사이트 사용자 별 ES(eigenscore)를 추출하는 단계, 상기 추출된 IAT, DA 또는 ES 중 적어도 하나를 이용하여 상기 사이트 사용자 별 의심 점수를 계산하는 단계 및 상기 계산된 사용자 별 의심 점수를 기초로, 상기 사이트 사용자 중 이상 사용자를 검출하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따르면, 사이트 내 아이템에 대한 클릭 로그 데이터를 통해 이상 사용자를 검출하는 방법은, 미리 설정된 시간 동안 상기 사이트에 접속한 사용자 별 클릭 로그 데이터를 저장하는 단계 및 상기 저장된 클릭 로그 데이터 중 상기 사이트 내 아이템에 대한 총 클릭 수가 임계치 미만인 클릭 로그 데이터를 제거하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따르면, 사이트 내 아이템에 대한 클릭 로그 데이터를 통해 이상 사용자를 검출하는 방법은, 상기 사이트의 모든 사용자들의 연속된 두 번의 클릭 로그 쌍에 대한 시간 간격 정보를 포함하는 Inormal 벡터를 설정하는 단계, 상기 사이트의 임의의 사용자 u의 연속된 두 번의 클릭 로그 쌍에 대한 시간 간격 정보를 포함하는 Iu 벡터를 설정하는 단계 및 상기 설정된 Inormal 벡터 및 Iu 벡터를 기초로, 상기 임의의 사용자 u의 IAT를 계산하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따르면, 사이트 내 아이템에 대한 클릭 로그 데이터를 통해 이상 사용자를 검출하는 방법은, 상기 사이트의 모든 사용자들에 대한 시간대 별 클릭 수 정보를 포함하는 Dnormal 벡터를 설정하는 단계, 상기 사이트의 임의의 사용자 u에 대한 시간대 별 클릭 수 정보를 포함하는 Du 벡터를 설정하는 단계 및 상기 설정된 Dnormal 벡터 및 Du 벡터를 기초로, 사용자 별 DA를 계산하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따르면, 사이트 내 아이템에 대한 클릭 로그 데이터를 통해 이상 사용자를 검출하는 방법은, 상기 사이트 사용자 별 클릭 로그 데이터를 이용하여, 사용자 별 사용자-아이템 행렬을 구성하는 단계, SVD(singular vector decomposition)를 통해 상기 구성된 행렬에서 밀도 블록(dense block)을 검색하는 단계, 상기 검색된 밀도 블록(dense block)을 기초로 상기 사이트 사용자 별 ES를 추출하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따르면, 사이트 내 아이템에 대한 클릭 로그 데이터를 통해 이상 사용자를 검출하는 장치는, 상기 클릭 로그 데이터를 저장하는 데이터 베이스 및 프로세서를 포함하고, 상기 프로세서는, 사이트 사용자 별 클릭 로그 데이터를 수집하고, 상기 수집된 클릭 로그 데이터를 이용하여 상기 사이트 사용자 별 IAT(inter arrival time)를 추출하고, 상기 수집된 클릭 로그 데이터를 이용하여 상기 사이트 사용자 별 DA(diurnal activity)를 추출하고, 상기 수집된 클릭 로그 데이터를 이용하여 상기 사이트 사용자 별 ES(eigenscore)를 추출하고, 상기 추출된 IAT, DA 또는 ES 중 적어도 하나를 이용하여 상기 사이트 사용자 별 의심 점수를 계산하고, 상기 계산된 사용자 별 의심 점수를 기초로, 상기 사이트 사용자 중 이상 사용자를 검출할 수 있다.
본 발명의 일실시예에 따르면, 사이트 내 아이템에 대한 클릭 로그 데이터를 통해 이상 사용자를 검출하는 장치는, 미리 설정된 시간 동안 상기 사이트에 접속한 사용자 별 클릭 로그 데이터를 저장하고, 상기 저장된 클릭 로그 데이터 중 상기 사이트 내 아이템에 대한 총 클릭 수가 임계치 미만인 클릭 로그 데이터를 제거하는 동작을 포함할 수 있다.
본 발명의 일실시예에 따르면, 사이트 내 아이템에 대한 클릭 로그 데이터를 통해 이상 사용자를 검출하는 장치는, 상기 사이트의 모든 사용자들의 연속된 두 번의 클릭 로그 쌍에 대한 시간 간격 정보를 포함하는 Inormal 벡터를 설정하고, 상기 사이트의 임의의 사용자 u의 연속된 두 번의 클릭 로그 쌍에 대한 시간 간격 정보를 포함하는 Iu 벡터를 설정하고, 상기 설정된 Inormal 벡터 및 Iu 벡터를 기초로, 상기 임의의 사용자 u의 IAT를 계산하는 동작을 포함할 수 있다.
본 발명의 일실시예에 따르면, 사이트 내 아이템에 대한 클릭 로그 데이터를 통해 이상 사용자를 검출하는 장치는, 상기 사이트의 모든 사용자들에 대한 시간대 별 클릭 수 정보를 포함하는 Dnormal 벡터를 설정하고, 상기 사이트의 임의의 사용자 u에 대한 시간대 별 클릭 수 정보를 포함하는 Du 벡터를 설정하고, 상기 설정된 Dnormal 벡터 및 Du 벡터를 기초로, 사용자 별 DA를 계산하는 동작을 포함할 수 있다.
본 발명의 일실시예에 따르면, 사이트 내 아이템에 대한 클릭 로그 데이터를 통해 이상 사용자를 검출하는 장치는, 상기 사이트 사용자 별 클릭 로그 데이터를 이용하여, 사용자 별 사용자-아이템 행렬을 구성하고, SVD(singular vector decomposition)를 통해 상기 구성된 행렬에서 밀도 블록(dense block)을 검색하고, 상기 검색된 밀도 블록(dense block)을 기초로 상기 사이트 사용자 별 ES를 추출하는 동작을 포함할 수 있다.
본 발명의 일실시예에 따르면, 가격비교 사이트를 이용하는 사용자들 중 이상 사용자를 검출할 수 있다. 보다 구체적으로, 본 발명은 종래 가격비교 서비스를 제공하는 사업자(네이버 쇼핑, 에누리닷컴, 다나와 등)가 추가적인 장치를 설치할 필요없이 사이트 사용자 중 이상 사용자를 검출할 수 있는 방법을 제공할 수 있다. 이에 따라, 가격비교 서비스를 제공하는 사업자는 작은 비용을 들여 이상 사용자를 손쉽게 검출할 수 있다.
또한, 본 발명의 일실시예에 따르면, 자신이 판매하는 상품에 대한 인기를 높이기 위해 정당하지 않은 방법을 사용하는 사용자들의 다양한 시도를 제한할 수 있다.
도 1은 본 발명의 일실시예에 따른 사이트에서 추천 상품이 표시되는 형태를 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 사이트의 일반적인 사용자와 이상 사용자의 IAT 차이를 비교하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 사이트의 일반적인 사용자와 이상 사용자의 DA 차이를 비교하기 위한 도면이다.
도 4는 본 발명의 일실시예에 따른 사이트의 일반적인 사용자와 이상 사용자의 ES 차이를 비교하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른 사이트 내 아이템에 대한 클릭 로그 데이터를 이용하여 이상 사용자를 검출하는 방법을 설명하기 위한 순서도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 사이트에서 추천 상품이 표시되는 형태를 설명하기 위한 도면이다.
일실시예에 따른 사이트는, 사이트 사용자의 클릭 로그 데이트를 통해 사용자의 행동 패턴을 분석할 수 있는 아이템을 포함하고 있는 사이트를 의미한다. 예를 들어, 다양한 상품들의 가격을 비교하여 제공하는 가격비교 사이트의 경우, 다양한 상품에 대한 인기도, 판매량 등을 기초로 상품의 순위를 제공할 수 있다. 이러한 가격비교 사이트에서 이미지 또는 텍스트 형태의 링크로 제공되는 아이템들은 사용자의 클릭 로그 데이터를 검출할 수 있는 수단으로 이용될 수 있다.
도 1은, 사용자가 가격비교 사이트에서 laptop 을 검색한 경우 표시될 수 있는 화면의 일 예시로서, 도 1의 110에는, 사용자가 검색한 laptop과 관련된 다양한 아이템들이 표시될 수 있다. 사용자가 입력한 검색어에 대응하는 아이템들은 이미지 또는 텍스트 형태의 링크로 제공될 수 있다.
도 1의 120에는, 사용자가 검색한 laptop과 관련된 아이템들이 인기 순위에 따라 순서대로 표시될 수 있다. 120에 표시된 아이템들의 인기 순위는, 해당 사이트를 이용하는 사용자들의 클릭 로그 데이터를 기초로 하여 제공될 수 있다. 예를 들면, 사이트 사용자들로부터 가장 많은 클릭 수를 입력 받은 아이템이 1순위로 표시될 수 있다. 또는, 사이트 사용자들에게 가장 많이 판매된 아이템이 1순위로 표시될 수 있다.
도 1에 개시된 사이트는, 본 발명의 일실시예에 따른 이상 사용자를 검출하는 장치를 통해 사용자에게 제공될 수 있다. 이상 사용자를 검출하는 장치는, 사이트를 이용하는 사용자들의 클릭 로그 데이터를 수집하고, 수집된 클릭 로그 데이터로부터 사용자에 대한 IAT(inter arrival time), DA(diurnal activity) 및 ES(eigenscore)를 추출할 수 있는 프로세서 및 수집된 클릭 로그 데이터가 저장되는 데이터 베이스를 포함할 수 있다. 이하, 도 2 내지 도 4에서 IAT, DA 및 ES에 대해서 자세히 설명하기로 한다.
도 2는 본 발명의 일실시예에 따른 사이트의 일반적인 사용자와 이상 사용자의 IAT 차이를 비교하기 위한 도면이다.
수집된 클릭 로그 데이터로부터 추출될 수 있는 사이트 사용자 별 IAT(inter arrival time)는, 제1 사용자가 제1 아이템을 클릭한 후, 다시 제1 아이템을 클릭할 때까지 소요된 시간을 의미하는 값이다. 즉, IAT는 일반적인 사용자와 이상 사용자를 구별하는데 이용될 수 있는 지표 중 하나이다.
이상 사용자를 검출하는 장치에 구비된 프로세서는, 클릭 로그 데이터를 이용하여 임의의 사용자 u에 대한 IAT 값을 기초로 한 Iu 벡터를 설정할 수 있다. Iu 벡터는 n차원 벡터로서, n은 세션의 길이(사이트에 접속한 사용자 u의 최초 클릭과 최종 클릭의 시간 차)를 의미할 수 있다. Iu 벡터의 i 번째 차원의 값은, 사용자 u의 연속된 두 번의 클릭 로그 쌍들 중 i 초의 클릭 시간 간격(click interval)을 가지는 클릭 로그 쌍들의 비율을 의미할 수 있다. 예를 들어, n은 1,200으로 설정될 수 있다. 이는 사이트에 접속한 사용자 u가, 사이트 내 임의의 아이템에 대하여 최초 클릭을 수행한 후 1,200초(즉, 20분) 동안 다음 클릭 동작을 수행하지 않을 경우, 세션을 종료한 것으로 간주한다는 뜻이다. 이와 같은 방식으로, 프로세서는 사이트를 이용하는 모든 사용자들의 클릭 로그 데이터를 이용하여 Inormal 벡터를 설정할 수도 있다.
도 2에 개시된 그래프의 x축은 사용자의 연속된 두 번의 클릭에 대한 시간 간격인 i 값을 나타내고, y축은 i 초의 클릭 시간 간격을 가지는 클릭 로그 쌍들의 개수를 나타낼 수 있다. 예를 들어, 사이트에 접속한 사용자가 3초 간격의 클릭을 10번 수행한 경우, 도 2의 그래프 (a) 상에 (3, 10)에 대응하는 좌표로 표현될 수 있다.
도 2의 그래프 (a)는 사이트를 이용하는 모든 사용자들의 IAT를 기초로 한 그래프이고, 그래프 (b)는 이상 사용자로 분류된 사용자들의 IAT 만을 기초로 한 그래프이다.
그래프 (a)를 참고하면, 사이트를 이용하는 모든 사용자들의 IAT 중 대부분은 1 내지 100초 사이에 존재함을 알 수 있다. 그래프 (a)와 같은 IAT 패턴은, 아이템 검색 또는 가격 비교 등의 동작이 수행되는 쇼핑 사이트를 통해 수집될 수 있는 클릭 로그 데이터를 기초로 하여 추출될 수 있는 IAT의 전형적인 패턴이다. 예를 들면, 가격비교 사이트를 이용하는 사용자들의 클릭 로그 데이터로부터 추출된 IAT는 그래프 (a)와 유사한 형태로 표현될 수 있다.
이에 반해, 이상 사용자로 분류된 사용자들의 클릭 로그 데이터로부터 추출된 IAT는 도 2의 그래프 (b)와 유사한 형태로 표현될 수 있다. 그래프 (b)를 참고하면, 연속된 두 번의 클릭 로그 쌍 중 대다수가 9초 내지 14초의 클릭 시간 간격(210)을 가지거나 40초의 클릭 시간 간격(220)을 가지는 것을 알 수 있다. 하나의 아이템에 대하여 특정 시간 간격으로 다수의 클릭을 수행하는 사용자의 행동 패턴은 일반적인 사용자의 행동 패턴과 상당한 차이가 있음 알 수 있다.
일실시예에 따르면, 사이트를 이용하는 모든 사용자들의 클릭 로그 데이터로부터 추출된 IAT 값을 기초로 한 Inormal 벡터와 개별 사용자의 클릭 로그 데이터로부터 추출된 IAT 값을 기초로 한 Iu 벡터를 비교함으로써, 개별 사용자가 이상 사용자인지 여부를 판단할 수 있다. 예를 들어, 사이트를 이용하는 모든 사용자들의 클릭 로그 데이터로부터 추출된 IAT 값을 기초로 한 Inormal 벡터와 사용자 u의 클릭 로그 데이터로부터 추출된 IAT 값을 기초로 한 Iu 벡터의 유사도를 계산하여, 사용자 u의 클릭 인터벌 의심 점수인 au IAT를 구할 수 있다.
일실시예에 따라, Inormal 벡터와 Iu 벡터 간의 유사도 계산에는 쿨백-라이블러 발산(Kullback-Leibler divergence, DKL)이 이용될 수 있다. 그리고, 이는 아래의 수학식 1과 같이 나타낼 수 있다.
Figure 112016109874066-pat00001
여기서,
Figure 112016109874066-pat00002
은 Iu 벡터와 Inormal 벡터의 쿨백-라이블러 발산이고, i 는 Iu 벡터와 Inormal 벡터의 차원을 나타내는 지표이다. 일반적으로
Figure 112016109874066-pat00003
은 비대칭 함수이므로, au IAT
Figure 112016109874066-pat00004
Figure 112016109874066-pat00005
값을 평균하여 계산할 수 있다. 이는 아래의 수학식 2와 같이 나타낼 수 있다.
Figure 112016109874066-pat00006
Figure 112016109874066-pat00007
는 최소-최대 정규화(min-max normalization)를 통해 0과 1사이의 값으로 표현될 수 있다.
상기 실시예에서는 DKL을 이용하여 벡터 간 유사도를 계산하였으나, 이에 한정되는 것은 아니며, 벡터 간 유사도를 계산하는 방법이라면 무엇이든지 적용될 수 있다. 예를 들어, 유클리드 거리법(Euclidean distance), 맨하탄 거리법(Manhattan distance), 코사인 유사도(cosine similarity) 또는 해밍 거리법(Hamming distance) 등이 적용될 수 있다.
도 3은 본 발명의 일실시예에 따른 사이트의 일반적인 사용자와 이상 사용자의 DA 차이를 비교하기 위한 도면이다.
수집된 클릭 로그 데이터로부터 추출될 수 있는 사이트 사용자 별 DA(diurnal activity)는, 사용자 별 하루 활동량을 의미하는 값으로서, 일반적인 사용자와 이상 사용자를 구별하는데 이용될 수 있는 지표 중 하나이다.
이상 사용자를 검출하는 장치에 구비된 프로세서는, 클릭 로그 데이터를 이용하여 임의의 사용자 u에 대한 DA 값을 기초로 한 Du 벡터를 설정할 수 있다. Du 벡터는 24차원 벡터로서, 24는 하루 24시간을 의미할 수 있다. Du 벡터의 i 번째 차원의 값은, i시 0분 0초부터 i시 59분 59초 동안 일어난 클릭의 비율을 의미하는 것으로서, 보다 구체적으로 사용자 u의 시간대 별 클릭 수의 비율을 나타낼 수 있다. 이와 같은 방식으로, 프로세서는 사이트를 이용하는 모든 사용자들의 클릭 로그 데이터를 이용하여 Dnormal 벡터를 설정할 수도 있다.
도 3에 개시된 그래프의 x축은 하루 24시간을 나타내고, y축은 시간대 별 클릭 수의 비율을 나타낼 수 있다.
도 3의 그래프 (a)는 사이트를 이용하는 모든 사용자들의 DA를 기초로 한 그래프이고, 그래프 (b)는 이상 사용자로 분류된 사용자들의 DA만을 기초로 한 그래프이다.
그래프 (a)를 참고하면, 사이트를 이용하는 모든 사용자들의 DA가 가장 낮은 시간대는 수면 시간(Sleeping 구간)인 오전 3시 내지 8시이며, 반대로 모든 사용자들의 DA가 가장 높은 시간대는 밤 시간대인 오후 10시 내지 오전 0시임을 알 수 있다. 그래프 (a)와 같은 DA 패턴은, 아이템 검색 또는 가격 비교 등의 동작이 수행되는 쇼핑 사이트를 통해 수집될 수 있는 클릭 로그 데이터를 기초로 하여 추출될 수 있는 DA의 전형적인 패턴이다. 예를 들면, 가격비교 사이트를 이용하는 사용자들의 클릭 로그 데이터로부터 추출된 DA는 그래프 (a)와 유사한 형태로 표현될 수 있다.
이에 반해, 이상 사용자로 분류된 사용자들의 클릭 로그 데이터로부터 추출된 DA는 도 3의 그래프 (b)와 유사한 형태로 표현될 수 있다. 그래프 (b)의 310을 참고하면, 오후 7시 내지 오후 10시 사이에 이상 사용자의 대부분의 클릭이 수행되었음을 알 수 있다. 하루 중 특정 시간에만 클릭을 수행하는 사용자의 행동 패턴은 일반적인 사용자의 행동 패턴과 상당한 차이가 있음 알 수 있다.
일실시예에 따르면, 사이트를 이용하는 모든 사용자들의 클릭 로그 데이터로부터 추출된 DA 값을 기초로 한 Dnormal 벡터와 개별 사용자의 클릭 로그 데이터로부터 추출된 DA 값을 기초로 한 Du 벡터를 비교함으로써, 개별 사용자가 이상 사용자인지 여부를 판단할 수 있다. 예를 들어, 사이트를 이용하는 모든 사용자들의 클릭 로그 데이터로부터 추출된 DA 값을 기초로 한 Dnormal 벡터와 사용자 u의 클릭 로그 데이터로부터 추출된 DA 값을 기초로 한 Du 벡터의 유사도를 계산하여, 사용자 u의 일일 활동량 의심 점수인 au DA를 구할 수 있다.
일실시예에 따라, Dnormal 벡터와 Du 벡터 간의 유사도 계산에는 쿨백-라이블러 발산(Kullback-Leibler divergence, DKL)이 이용될 수 있다. 이는 수학식 3과 같이 나타낼 수 있다.
Figure 112016109874066-pat00008
여기서,
Figure 112016109874066-pat00009
은 Du 벡터와 Dnormal 벡터의 쿨백-라이블러 발산이고, i 는 Du 벡터와 Dnormal 벡터의 차원을 나타내는 지표이다. 일반적으로
Figure 112016109874066-pat00010
은 비대칭 함수이므로, au DA
Figure 112016109874066-pat00011
Figure 112016109874066-pat00012
값을 평균하여 계산할 수 있다. 이는 수학식 4와 같이 나타낼 수 있다.
Figure 112016109874066-pat00013
Figure 112016109874066-pat00014
는 최소-최대 정규화(min-max normalization)를 통해 0과 1사이의 값으로 표현될 수 있다.
상기 실시예에서는 DKL을 이용하여 벡터 간 유사도를 계산하였으나, 이에 한정되는 것은 아니며, 벡터 간 유사도를 계산하는 방법이라면 무엇이든지 적용될 수 있다. 예를 들어, 유클리드 거리법(Euclidean distance), 맨하탄 거리법(Manhattan distance), 코사인 유사도(cosine similarity) 또는 해밍 거리법(Hamming distance) 등이 적용될 수 있다.
도 4는 본 발명의 일실시예에 따른 사이트의 일반적인 사용자와 이상 사용자의 ES 차이를 비교하기 위한 도면이다.
수집된 클릭 로그 데이터로부터 추출될 수 있는 사이트 사용자 별 ES(eigenscore)는, 사이트 내 존재하는 아이템 각각에 대한 사용자 별 일일 총 클릭 수를 기초로 하여 추출된 값이다. 예를 들어, 특정 사용자의 ES가 높다는 것은, 특정 사용자의 단일 아이템에 대한 클릭 수가 높다는 것을 의미할 수 있으며, 이와 동시에 특정 사용자가 이상 사용자일 가능성이 높다는 것을 의미할 수 있다. 사용자 별 ES는, 일반적인 사용자와 이상 사용자를 구별하는데 이용될 수 있는 지표 중 하나이다.
이상 사용자를 검출하는 장치에 구비된 프로세서는, 사이트를 이용하는 사용자들의 클릭 로그 데이터를 이용하여, 사이트 내 존재하는 아이템 각각에 대한 사용자 별 일일 총 클릭 수를 나타내는 행렬을 생성할 수 있다. 예를 들어, 행렬의 행에는 제1 사용자부터 제n 사용자를 나열할 수 있고, 행렬의 열에는 제1 아이템 내지 제n 아이템의 날짜별 클릭 수를 나열할 수 있다.
도 4의 표를 참고하면, 일실시예에 따른 행렬의 1행 1열에는 제1 사용자의 제1 아이템에 대한 첫번째 날의 클릭 수가 표현될 수 있다. 410을 참고하면, 제1 사용자는 제2 아이템에 대하여 첫번째 날에는 75번의 클릭을 수행하였고, 두번째 날에는 42번의 클릭을 수행하였음을 알 수 있다. 420을 참고하면, 제3 사용자는 제3 아이템에 대하여 첫번째 날에는 69번의 클릭을 수행하였고, 두번째 날에는 80번의 클릭을 수행하였음을 알 수 있다.
일실시예에 따른 프로세서는, 생성된 행렬에 존재하는 밀도 블록(dense block)과 연관된 사용자를 이상 사용자로 분류할 수 있다. 밀도 블록(dense block)의 밀도(density)는 블록의 논-제로 요소(non-zero element)의 비율 및 각 요소(element)의 숫자 크기에 대응하도록 설정될 수 있다. 상기 실시예에 따르면, 밀도 블록(dense block)은 사용자가 특정 아이템을 짧은 시간에 집중적으로 클릭할 때 생성될 수 있다.
예를 들어, 프로세서는 클릭 로그 데이터를 이용하여 도 4에 개시된 것과 같은 하루 별 사용자-아이템 클릭 행렬을 생성한 뒤, 생성된 행렬에서 밀도 블록(dense block)을 찾을 수 있다. 이어서 프로세서는, 각 사용자와 밀도 블록(dense block) 간의 관련성을 측정할 수 있다.
프로세서가 밀도 블록(dense block)을 찾는 과정에는, SVD(singular vector decomposition)가 이용될 수 있다. (SVD는 행렬에 포함된 밀도 블록(dense block)을 찾기 위해 흔히 사용되는 방법으로서, 공지 기술에 해당하므로 SVD를 적용하는 방법은 생략한다.) 예를 들어, 클릭 로그 데이터를 기초로 하여 생성된 행렬에 SVD를 적용할 수 있다. 만약 50개의 밀도 블록(dense block)이 검출되었다면, 프로세서는 50개의 특이값들과 각 특이값에 대응되는 특이벡터들을 도출할 수 있다.
프로세서는 도출된 각각의 특이벡터 내에 포함된 값들의 절대값을 ES(eigenscore)로 설정할 수 있다. ES(eigenscore)는 사용자가 밀도 블록(dense block)과 얼마나 연관이 있는지를 나타내는 지표로 이용될 수 있다. 예를 들어, ES(eigenscore)가 클수록 사용자와 밀도 블록(dense block) 간의 연관성이 크다는 것을 의미할 수 있다. 프로세서는 ES(eigenscore)를 0과 1 사이의 값으로 정규화(normalize)할 수 있다.
일실시예에 따르면, 프로세서는 임의의 사용자 u에 대한 특이값 의심 점수인 au ES를 구할 수 있다. 이를 위해, 프로세서는 모든 사용자들에 대한 상대적인 ES(eigenscore)의 평균인 REaverage와 사용자 u에 대한 상대적인 ES(eigenscore)의 평균인 REu의 거리를 계산할 수 있다. 이를 식으로 표현하면 다음과 같이 수학식 5와 같이 나타낼 수 있다.
Figure 112016109874066-pat00015
일실시예에 따른 프로세서는, 사용자 u의 클릭 인터벌 의심 점수인 au IAT, 사용자 u의 일일 활동량 의심 점수인 au DA 또는 사용자 u에 대한 특이값 의심 점수인 au ES 중 적어도 하나의 값을 기초로 하여, 사용자 u에 대한 최종 의심 점수를 계산할 수 있다. 프로세서가 최종 의심 점수를 계산하는 방법에는, 정보 검색 분야에서 많이 이용되는 extended p-norm model 이 사용될 수 있다. extended p-norm model은 쿼리의 종류(AND 또는 OR)에 따라 두 가지로 나뉠 수 있다.
도 5는 본 발명의 일실시예에 따른 사이트 내 아이템에 대한 클릭 로그 데이터를 이용하여 이상 사용자를 검출하는 방법을 설명하기 위한 순서도이다.
본 발명의 일실시예에 따라, 사이트 내 아이템에 대한 클릭 로그 데이터를 통해 이상 사용자를 검출하는 장치를 통해 수행되는 방법은 하기의 단계들을 포함할 수 있다.
단계(500)에서, 프로세서는 사이트를 이용하는 모든 사용자 각각의 클릭 로그 데이터를 수집할 수 있다. 예를 들어, 사이트에 접속한 사용자들은 사이트 내에 포함된 다양한 아이템들을 클릭할 수 있다. 사이트 내에 포함된 아이템들이란, 이미지 또는 텍스트 형태로 제공되는 링크나 컨텐츠를 의미할 수 있다. 사용자가 아이템을 클릭할 경우, 프로세서는 클릭 동작을 수행한 사용자에 대한 식별 정보 및 이에 대응하는 클릭 로그 데이터를 데이터 베이스에 저장할 수 있다.
프로세서는 미리 설정된 수집 기간 동안 데이터 베이스에 저장된 클릭 로그 데이터들을 편집할 수 있다. 예를 들어, 제1 사용자가 수집 기간 동안 사이트 내에서 수행한 클릭 수가 임계치 미만일 경우, 제1 사용자에 대한 클릭 로그 데이터를 표본에서 제외할 수 있으며, 프로세서는 제1 사용자의 클릭 로그 데이터를 데이터 베이스에서 삭제할 수 있다.
단계(510) 내지 단계(530)에서, 프로세서는 데이터 베이스에 저장된 클릭 로그 데이터를 기초로 하여, 사이트를 이용하는 사용자들에 대한 IAT(inter arrival time), DA(diurnal activity) 또는 ES(eigenscore) 중 적어도 하나를 추출할 수 있다.
예를 들어, 단계(510)에서, 프로세서는 데이터 베이스에 저장된 클릭 로그 데이터를 기초로 하여, 사이트 사용자 별 IAT(inter arrival time)을 추출할 수 있다. 저장된 클릭 로그 데이터로부터 추출될 수 있는 사이트 사용자 별 IAT(inter arrival time)는, 예를 들어, 제1 사용자가 제1 아이템을 클릭한 후, 다시 제1 아이템을 클릭할 때까지 소요된 시간을 의미하는 값이다. 즉, IAT는 일반적인 사용자와 이상 사용자를 구별하는데 이용될 수 있는 지표 중 하나이다.
단계(520)에서, 프로세서는 데이터 베이스에 저장된 클릭 로그 데이터를 기초로 하여, 사이트 사용자 별 DA(diurnal activity)를 추출할 수 있다. 저장된 클릭 로그 데이터로부터 추출될 수 있는 사이트 사용자 별 DA(diurnal activity)는, 사용자 별 하루 활동량을 의미하는 값으로서, 일반적인 사용자와 이상 사용자를 구별하는데 이용될 수 있는 지표 중 하나이다.
단계(530)에서, 프로세서는 데이터 베이스에 저장된 클릭 로그 데이터를 기초로 하여, 사이트 사용자 별 ES(eigenscore)를 추출할 수 있다. 저장된 클릭 로그 데이터로부터 추출될 수 있는 사이트 사용자 별 ES(eigenscore)는, 사이트 내 존재하는 아이템 각각에 대한 사용자 별 일일 총 클릭 수를 기초로 하여 추출된 값이다. 예를 들어, 제1 사용자의 ES가 높다는 것은, 제1 사용자의 단일 아이템에 대한 클릭 수가 높다는 것을 의미할 수 있으며, 이와 동시에 제1 사용자가 이상 사용자일 가능성이 높다는 것을 의미할 수 있다. 사용자 별 ES는, 일반적인 사용자와 이상 사용자를 구별하는데 이용될 수 있는 지표 중 하나이다.
단계(540)에서, 프로세서는 추출된 IAT, DA 또는 ES 중 적어도 하나를 이용하여 사이트 사용자 별 의심 점수를 계산할 수 있다. 보다 구체적으로, 프로세서는 사용자 u의 IAT를 기초로 하여 계산된 클릭 인터벌 의심 점수인 au IAT, 사용자 u의 DA를 기초로 하여 계산된 일일 활동량 의심 점수인 au DA 또는 사용자 u의 ES를 기초로 하여 계산된 특이값 의심 점수인 au ES 중 적어도 하나의 값을 이용하여, 사용자 u에 대한 최종 의심 점수를 계산할 수 있다.
단계(550)에서, 프로세서는 계산된 사용자 별 의심 점수를 기초로, 사이트 사용자 중 이상 사용자를 검출할 수 있다. 예를 들어, 단계(540)에서 계산된 의심 점수들은 [0, 1] 사이의 값들을 가질 수 있으며, 계산된 값이 1에 가까울수록 해당 사용자는 이상 사용자일 가능성이 높다. 이상 사용자를 검출하는 장치를 관리하는 시스템 관리자는 기준 값을 설정함으로써, 이상 사용자에 대한 분류 기준을 정할 수 있다. 예를 들어, 시스템 관리자에 의해 설정된 의심 점수가 0.7인 경우, 0.7 이상의 의심 점수를 획득한 사용자들이 이상 사용자로 분류될 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (10)

  1. 사이트 내 아이템에 대한 클릭 로그 데이터를 통해 이상 사용자를 검출하는 방법에 있어서,
    프로세서가 사이트 사용자 별 클릭 로그 데이터를 수집하는 단계;
    상기 프로세서가 상기 수집된 클릭 로그 데이터를 이용하여 상기 사이트 사용자 별 IAT(inter arrival time)를 추출하는 단계;
    상기 프로세서가 상기 수집된 클릭 로그 데이터를 이용하되 하루의 시간대 별 클릭 수 정보를 포함하는 벡터에 기초하여 상기 사이트 사용자 별 DA(diurnal activity)를 추출하는 단계;
    상기 프로세서가 상기 수집된 클릭 로그 데이터를 이용하되 사용자 별 사용자-아이템 행렬에서 검색된 밀도 블록에 기초하여 상기 사이트 사용자 별 ES(eigenscore)를 추출하는 단계;
    상기 프로세서가 상기 추출된 IAT, DA 또는 ES 중 적어도 하나를 이용하여 상기 사이트 사용자 별 의심 점수를 계산하는 단계; 및
    상기 프로세서가 상기 계산된 사용자 별 의심 점수를 기초로, 상기 사이트 사용자 중 이상 사용자를 검출하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 클릭 로그 데이터를 수집하는 단계는,
    미리 설정된 시간 동안 상기 사이트에 접속한 사용자 별 클릭 로그 데이터를 저장하는 단계; 및
    상기 저장된 클릭 로그 데이터 중 상기 사이트 내 아이템에 대한 총 클릭 수가 임계치 미만인 클릭 로그 데이터를 제거하는 단계
    를 포함하는 방법.
  3. 제1항에 있어서,
    상기 사이트 사용자 별 IAT(inter arrival time)를 추출하는 단계는,
    상기 사이트의 모든 사용자들의 연속된 두 번의 클릭 로그 쌍에 대한 시간 간격 정보를 포함하는 Inormal 벡터를 설정하는 단계;
    상기 사이트의 임의의 사용자 u의 연속된 두 번의 클릭 로그 쌍에 대한 시간 간격 정보를 포함하는 Iu 벡터를 설정하는 단계; 및
    상기 설정된 Inormal 벡터 및 Iu 벡터를 기초로, 상기 임의의 사용자 u의 IAT를 계산하는 단계
    를 포함하는 방법.
  4. 제1항에 있어서,
    상기 사이트 사용자 별 DA(diurnal activity)를 추출하는 단계는,
    상기 사이트의 모든 사용자들에 대한 시간대 별 클릭 수 정보를 포함하는 Dnormal 벡터를 설정하는 단계;
    상기 사이트의 임의의 사용자 u에 대한 시간대 별 클릭 수 정보를 포함하는 Du 벡터를 설정하는 단계; 및
    상기 설정된 Dnormal 벡터 및 Du 벡터를 기초로, 사용자 별 DA를 계산하는 단계
    를 포함하는 방법.
  5. 제1항에 있어서,
    상기 사이트 사용자 별 ES(eigenscore)를 추출하는 단계는,
    상기 사이트 사용자 별 클릭 로그 데이터를 이용하여, 사용자 별 사용자-아이템 행렬을 구성하는 단계;
    SVD(singular vector decomposition)를 통해 상기 구성된 행렬에서 밀도 블록(dense block)을 검색하는 단계; 및
    상기 검색된 밀도 블록(dense block)을 기초로 상기 사이트 사용자 별 ES를 추출하는 단계
    를 포함하는 방법.
  6. 사이트 내 아이템에 대한 클릭 로그 데이터를 통해 이상 사용자를 검출하는 장치에 있어서,
    상기 클릭 로그 데이터를 저장하는 데이터 베이스; 및
    프로세서를 포함하고,
    상기 프로세서는,
    사이트 사용자 별 클릭 로그 데이터를 수집하고,
    상기 수집된 클릭 로그 데이터를 이용하여 상기 사이트 사용자 별 IAT(inter arrival time)를 추출하고,
    상기 수집된 클릭 로그 데이터를 이용하되 하루의 시간대 별 클릭 수 정보를 포함하는 벡터에 기초하여 상기 사이트 사용자 별 DA(diurnal activity)를 추출하고,
    상기 수집된 클릭 로그 데이터를 이용하되 사이트 사용자 별 사용자-아이템 행렬에서 검색된 밀도 블록에 기초하여 상기 사이트 사용자 별 ES(eigenscore)를 추출하고,
    상기 추출된 IAT, DA 또는 ES 중 적어도 하나를 이용하여 상기 사이트 사용자 별 의심 점수를 계산하고,
    상기 계산된 사용자 별 의심 점수를 기초로, 상기 사이트 사용자 중 이상 사용자를 검출하는 장치.
  7. 제6항에 있어서,
    상기 프로세서가 상기 클릭 로그 데이터를 수집하는 동작은,
    미리 설정된 시간 동안 상기 사이트에 접속한 사용자 별 클릭 로그 데이터를 저장하고,
    상기 저장된 클릭 로그 데이터 중 상기 사이트 내 아이템에 대한 총 클릭 수가 임계치 미만인 클릭 로그 데이터를 제거하는 동작을 포함하는 장치.
  8. 제6항에 있어서,
    상기 프로세서가 상기 사이트 사용자 별 IAT(inter arrival time)를 추출하는 동작은,
    상기 사이트의 모든 사용자들의 연속된 두 번의 클릭 로그 쌍에 대한 시간 간격 정보를 포함하는 Inormal 벡터를 설정하고,
    상기 사이트의 임의의 사용자 u의 연속된 두 번의 클릭 로그 쌍에 대한 시간 간격 정보를 포함하는 Iu 벡터를 설정하고,
    상기 설정된 Inormal 벡터 및 Iu 벡터를 기초로, 상기 임의의 사용자 u의 IAT를 계산하는 동작을 포함하는 장치.
  9. 제6항에 있어서,
    상기 프로세서가 상기 사이트 사용자 별 DA(diurnal activity)를 추출하는 동작은,
    상기 사이트의 모든 사용자들에 대한 시간대 별 클릭 수 정보를 포함하는 Dnormal 벡터를 설정하고,
    상기 사이트의 임의의 사용자 u에 대한 시간대 별 클릭 수 정보를 포함하는 Du 벡터를 설정하고,
    상기 설정된 Dnormal 벡터 및 Du 벡터를 기초로, 사용자 별 DA를 계산하는 동작을 포함하는 장치.
  10. 제6항에 있어서,
    상기 프로세서가 상기 사이트 사용자 별 ES(eigenscore)를 추출하는 동작은,
    상기 사이트 사용자 별 클릭 로그 데이터를 이용하여, 사용자 별 사용자-아이템 행렬을 구성하고,
    SVD(singular vector decomposition)를 통해 상기 구성된 행렬에서 밀도 블록(dense block)을 검색하고,
    상기 검색된 밀도 블록(dense block)을 기초로 상기 사이트 사용자 별 ES를 추출하는 동작을 포함하는 장치.
KR1020160149329A 2016-11-10 2016-11-10 클릭 로그 데이터를 이용하여 이상 사용자를 검출하는 방법 및 장치 KR101879829B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160149329A KR101879829B1 (ko) 2016-11-10 2016-11-10 클릭 로그 데이터를 이용하여 이상 사용자를 검출하는 방법 및 장치
PCT/KR2017/012689 WO2018088824A1 (ko) 2016-11-10 2017-11-09 클릭 로그 데이터를 이용하여 이상 사용자를 검출하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160149329A KR101879829B1 (ko) 2016-11-10 2016-11-10 클릭 로그 데이터를 이용하여 이상 사용자를 검출하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180052243A KR20180052243A (ko) 2018-05-18
KR101879829B1 true KR101879829B1 (ko) 2018-07-19

Family

ID=62110239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160149329A KR101879829B1 (ko) 2016-11-10 2016-11-10 클릭 로그 데이터를 이용하여 이상 사용자를 검출하는 방법 및 장치

Country Status (2)

Country Link
KR (1) KR101879829B1 (ko)
WO (1) WO2018088824A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108959415B (zh) * 2018-06-07 2022-03-04 北京奇艺世纪科技有限公司 一种异常维度定位方法、装置及电子设备
KR102162726B1 (ko) * 2018-08-30 2020-10-07 네이버 주식회사 디멘전 그룹 별 컨텐츠 지표 분포 패턴을 이용하여 컨텐츠 지표 조작을 탐지하는 방법 및 시스템
US20210158376A1 (en) * 2019-11-27 2021-05-27 The Nielsen Company (Us), Llc Methods, systems and apparatus to estimate census-level audience, impressions, and durations across demographics

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130033099A (ko) * 2011-09-26 2013-04-03 주식회사 다음커뮤니케이션 상품 검색어 판단 장치 및 방법
KR20160118195A (ko) * 2016-09-30 2016-10-11 에스케이플래닛 주식회사 추천 아이템 제공 방법, 이를 위한 프로그램을 기록한 기록 매체 및 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100792700B1 (ko) * 2006-03-17 2008-01-08 엔에이치엔(주) 신경망을 가지는 협업 필터링 시스템을 이용하여 클릭패턴에 기초한 웹 광고 추천 방법 및 그 시스템
KR101498792B1 (ko) * 2013-06-17 2015-03-19 정승훈 광고 부정 클릭 매체의 검출 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130033099A (ko) * 2011-09-26 2013-04-03 주식회사 다음커뮤니케이션 상품 검색어 판단 장치 및 방법
KR20160118195A (ko) * 2016-09-30 2016-10-11 에스케이플래닛 주식회사 추천 아이템 제공 방법, 이를 위한 프로그램을 기록한 기록 매체 및 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"An Empirical Study of Click Fraud in Mobile Advertising Networks",G. CHO 외3,Availability, Reliability and Security (ARES), 2015.08.27. *
"Characterizing comparison shopping behavior: A case study",M.Gupta 외3,Data Engineering Workshops (ICDEW), 2014, 2014.05.19. *
"A GENERALSUSPICIOUSNESS METRIC FOR DENSE BLOCKS IN MULTIMODAL DATA", M.Jiang 외5, ICDM 2015,2015.11.17. *

Also Published As

Publication number Publication date
KR20180052243A (ko) 2018-05-18
WO2018088824A1 (ko) 2018-05-17

Similar Documents

Publication Publication Date Title
US9400831B2 (en) Providing information recommendations based on determined user groups
US9576251B2 (en) Method and system for processing web activity data
Bagchi Performance and quality assessment of similarity measures in collaborative filtering using mahout
CN109165975B (zh) 标签推荐方法、装置、计算机设备及存储介质
US20170300575A1 (en) Methods and systems for quantifying and tracking software application quality
US20180083995A1 (en) Identifying significant anomalous segments of a metrics dataset
Olmezogullari et al. Pattern2Vec: Representation of clickstream data sequences for learning user navigational behavior
WO2014160648A1 (en) Ranking product search results
EP2778985A1 (en) Search result ranking by department
CN107153656B (zh) 一种信息搜索方法和装置
JP2014522072A (ja) ユーザ行動に基づく内容情報推薦
JP5577385B2 (ja) コンテンツ配信装置
KR20200048183A (ko) 상품의 신뢰도를 고려한 온라인 상품 추천 방법 및 장치
KR20210036184A (ko) 사용자 취향정보 파악 방법 및 사용자 취향 정보에 기반한 아이템 추천 모듈
KR101363171B1 (ko) 하이브리드 협업적 여과 방법을 이용한 코사인 유사도 기반 전문가 추천 장치 및 방법
KR101879829B1 (ko) 클릭 로그 데이터를 이용하여 이상 사용자를 검출하는 방법 및 장치
Zhang et al. Automatically predicting the helpfulness of online reviews
US20190266618A1 (en) Data management apparatus and data management system
WO2013157603A1 (ja) 検索クエリ分析装置、検索クエリ分析方法、及びコンピュータ読み取り可能な記録媒体
WO2018044955A1 (en) Systems and methods for measuring collected content significance
Lee et al. Mining temporal information to improve duplication detection on bug reports
KR20210029006A (ko) 제품 평가 마이닝 방법 및 이를 수행하는 장치
Fang et al. A collaborative trend prediction method using the crowdsourced wisdom of web search engines
Gong et al. MPD-Model: a distributed multipreference-driven data fusion model and its application in a WSNs-based healthcare monitoring system
CN108335147B (zh) 一种基于用户行为的数据分析方法及系统

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right