KR20210003069A - 이상 케이스 탐지 방법 및 장치 - Google Patents

이상 케이스 탐지 방법 및 장치 Download PDF

Info

Publication number
KR20210003069A
KR20210003069A KR1020200183473A KR20200183473A KR20210003069A KR 20210003069 A KR20210003069 A KR 20210003069A KR 1020200183473 A KR1020200183473 A KR 1020200183473A KR 20200183473 A KR20200183473 A KR 20200183473A KR 20210003069 A KR20210003069 A KR 20210003069A
Authority
KR
South Korea
Prior art keywords
game
data
abnormal case
game log
case detection
Prior art date
Application number
KR1020200183473A
Other languages
English (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 넷마블 주식회사
Publication of KR20210003069A publication Critical patent/KR20210003069A/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5586Details of game data or player data management for enforcing rights or rules, e.g. to prevent foul play

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Debugging And Monitoring (AREA)

Abstract

이상 케이스 탐지 방법 및 장치가 개시된다. 이상 케이스 탐지 방법은, 게임 유저들의 제1 시점의 제1 게임 로그 데이터를 미리 정해진 기준에 기초하여 세그멘테이션하는 것에 의해 복수의 게임 유저 그룹들 각각에 대응하는 게임 로그 집합 데이터를 생성하는 단계, 게임 로그 집합 데이터에 대해 데이터 전처리를 수행하는 단계, 데이터 전처리가 수행된 게임 로그 집합 데이터를 이용하여 이상 케이스 탐지 모델을 학습시키는 단계, 학습된 이상 케이스 탐지 모델에 게임 유저들의 제2 시점의 제2 게임 로그 데이터를 입력하여 게임 로그 데이터에 대한 예측 값을 획득하는 단계 및 예측 값에 기초하여 이상 케이스를 탐지하기 위한 스코어를 결정하는 단계를 포함할 수 있다.

Description

이상 케이스 탐지 방법 및 장치{METHOD AND APPARATUS FOR DETECTING ABNORMAL CASE}
아래 실시예들은 이상 케이스 탐지 기술에 관한 것이다.
온라인 게임에서 게임 유저가 불법 모듈을 사용하여 부당한 이득을 취하는 경우가 빈번하게 발생하고 있다. 불법 모듈을 사용하는 사용자는 게임 내 금전 거래를 통해 얻을 수 있는 재화 및 아이템 등을 대가 없이 획득하므로 게임 내 보상 구조에 악영향을 끼칠 뿐만 아니라, 성실하게 게임을 플레이하던 게임 유저들에게도 상대적 박탈감을 줄 수 있다. 불법 모듈의 사용이 많아질수록 게임의 정상 유저들은 게임 플레이에 대한 흥미를 잃게 된다.
불법 모듈의 대표적인 기능은, 게임 앱의 메모리 변조를 통해 자기 캐릭터의 능력치를 매우 높게 수정하여 전투를 쉽게 이기도록 하는 것이다. 이 경우 스테이지 클리어가 쉬워지므로 게임 기획자의 의도와는 다르게, 게임 유저가 스테이지 보상을 별 다른 노력 없이 획득할 수 있고, 다른 게임 유저들과의 대결에서 쉽게 승리할 수 있어, 정상적으로 게임을 플레이하는 게임 유저들에게 피해를 주는 사례까지 이어질 수 있다. 이러한 피해사례는 인터넷 커뮤니티를 통해 매우 빠르게 확산되어 게임 유저들에게 알려지게 되는데, 인터넷 커뮤니티에서 피해사례를 접한 게임 유저들은 상대적인 박탈감을 느끼게 되거나, 자신도 불법 모듈을 통해 부당한 이득을 취하고자 하게 될 수 있다.
그 외 불법 모듈 기능으로 상대방 체력을 낮게 수정하는 기능, 내 캐릭터는 데미지를 받지 않는 기능, 이미 획득한 스테이지 보상을 다시 획득하는 기능 및 스킬 쿨다운 시간(스킬을 한번 사용하면 다시 쓸 때까지 기다려야 하는 시간)을 없애는 기능 등이 있으며 아직 알려지지 않은 기능들도 많을 것으로 보인다.
게임 앱에 내제된 보안 기능은 이미 알려진 불법 모듈에 대해서는 탐지하여 확산을 막을 수 있으나, 불법 모듈의 제작자들은 끊임없이 불법 모듈을 업그레이드하고 있기 때문에 불법 모듈을 보안상으로 다 막기는 어려운 상황이다. 따라서, 불법 모듈을 예방하는 것은 어렵고, 불법 모듈의 존재가 알려진 후에는 이미 게임 불법 모듈로 인한 피해가 확산된 이후이므로, 대처에 한계가 있을 수 있다.
이와 같이 불법 모듈이 게임에 끼치는 영향력은 매우 치명적이므로 빠르게 인지하고 대응해야 한다. 하지만 현재까지 알려진 방법으로는 불법 모듈에 대한 빠른 인지 및 예방이 어렵다. 따라서 이를 해결하기 위한 연구가 필요한 실정이다.
일 실시예에 따른 이상 케이스 탐지 방법은, 게임 유저들의 제1 시점(time)의 제1 게임 로그 데이터를 미리 정해진 기준에 기초하여 세그멘테이션(segmentation)하는 것에 의해 복수의 게임 유저 그룹들 각각에 대응하는 게임 로그 집합 데이터를 생성하는 단계; 상기 게임 로그 집합 데이터에 대해 데이터 전처리를 수행하는 단계; 상기 데이터 전처리가 수행된 게임 로그 집합 데이터를 이용하여 이상 케이스 탐지 모델을 학습시키는 단계; 상기 학습된 이상 케이스 탐지 모델에 상기 게임 유저들의 제2 시점의 제2 게임 로그 데이터를 입력하여 게임 로그 데이터에 대한 예측 값을 획득하는 단계; 및 상기 예측 값에 기초하여 이상 케이스를 탐지하기 위한 스코어를 결정하는 단계를 포함할 수 있다.
상기 게임 로그 집합 데이터를 생성하는 단계는, 상기 제1 게임 로그 데이터에 대한 세그멘테이션을 수행한 후 상기 세그멘테이션된 세그먼트별로 데이터 집계를 수행하는 단계를 포함할 수 있다.
상기 게임 로그 집합 데이터를 생성하는 단계는, 상기 제1 게임 로그 데이터에 기초하여, 미리 정해진 기준에 따라 게임 유저들을 유사한 행동 패턴을 보이는 게임 유저들의 그룹들로 세그멘테이션하는 단계를 포함할 수 있다.
상기 미리 정해진 기준은, 상기 제1 게임 로그 데이터에 대응하는 특징들 중 적어도 하나의 값에 대하여, 복수의 유저들 간에 유사한 정도를 의미할 수 있다.
상기 제1 시점은, 제2 시점보다 이전 시점일 수 있다.
상기 게임 로그 집합 데이터에 대해 데이터 전처리를 수행하는 단계는, 상기 게임 로그 집합 데이터에 대응하는 데이터의 기간 범위를 설정하고, 상기 게임 로그 집합 데이터에 대응하는 데이터를 시간 단위로 집계 및 상기 게임 로그 집합 데이터에 대응하는 데이터 간에 스케일링을 수행하는 단계를 포함할 수 있다.
상기 이상 케이스 탐지 모델을 학습시키는 단계는, 각각의 게임 로그 집합 데이터에 대응하는 복수개의 이상 케이스 탐지 모델들이 존재하고, 상기 게임 로그 집합 데이터를 이용하여 상기 각각의 게임 로그 집합 데이터에 대응하는 복수 개의 이상 케이스 탐지 모델들을 학습시키는 단계를 포함할 수 있다.
상기 이상 케이스 탐지 모델을 학습시키는 단계는, 상기 이상 케이스 탐지 모델에 상기 제1 게임 로그 데이터에 대응하는 게임 로그 집합 데이터를 학습 데이터로서 입력하여 게임 로그 데이터에 대한 출력 데이터를 획득하는 단계; 및 상기 출력 데이터와 상기 학습 데이터에 기초하여 상기 이상 케이스 탐지 모델을 학습시키는 단계를 포함할 수 있다.
상기 이상 케이스 탐지 모델을 학습시키는 단계는, 상기 이상 케이스 탐지 모델의 출력 데이터와 상기 이상 케이스 탐지 모델의 입력 데이터 간의 차이가 줄어들도록 상기 이상 케이스 탐지 모델의 파라미터들을 조정하는 단계를 포함할 수 있다.
상기 게임 로그 데이터에 대한 예측 값을 획득하는 단계는, 상기 학습된 이상 케이스 탐지 모델에 상기 제2 게임 로그 데이터에 대응하는 게임 로그 집합 데이터를 입력하여 상기 게임 로그 데이터에 대한 예측 값을 획득하는 단계를 포함할 수 있다.
상기 스코어를 결정하는 단계는, 상기 제2 게임 로그 데이터와 상기 예측 값에 대응하는 각각의 특징별 차이 값을 산출하는 단계; 및 상기 각각의 특징별 차이 값에 기초하여 스코어를 결정하는 단계를 포함할 수 있다.
상기 스코어를 결정하는 단계는, 상기 게임 유저들 각각에 대응하는 스코어를 결정하는 단계를 포함할 수 있다.
상기 스코어를 결정하는 단계는, 상기 스코어가 기준 스코어보다 클 경우, 상기 스코어에 대응하는 게임 유저의 행동 패턴에 이상이 발생하였다고 결정하는 단계를 포함할 수 있다.
상기 스코어를 결정하는 단계는, 상기 스코어가 상기 기준 스코어보다 작을 경우, 상기 스코어에 대응하는 게임 유저의 행동 패턴이 정상적이라고 결정하는 단계를 포함할 수 있다.
상기 이상 케이스 탐지 모델은, 오토인코더(autoencoder) 구조의 뉴럴 네트워크일 수 있다.
일 실시예에 따른 이상 케이스 탐지 장치는, 메모리 및 프로세서를 포함하고, 상기 메모리는 상기 프로세서에 의해 실행 가능한 인스트럭션들(instructions)을 저장하고, 상기 인스트럭션들이 상기 프로세서에 의해 실행될 때, 상기 프로세서는, 게임 유저들의 제1 시점의 제1 게임 로그 데이터를 미리 정해진 기준에 기초하여 세그멘테이션하는 것에 의해 복수의 게임 유저 그룹들 각각에 대응하는 게임 로그 집합 데이터를 생성하고, 상기 게임 로그 집합 데이터에 대해 데이터 전처리를 수행하고, 상기 데이터 전처리가 수행된 게임 로그 집합 데이터를 이용하여 이상 케이스 탐지 모델을 학습시키고, 상기 학습된 이상 케이스 탐지 모델에 상기 게임 유저들의 제2 시점의 제2 게임 로그 데이터를 입력하여 게임 로그 데이터에 대한 예측 값을 획득하고, 상기 예측 값에 기초하여 이상 케이스를 탐지하기 위한 스코어를 결정할 수 있다.
상기 프로세서는, 상기 제1 게임 로그 데이터에 대한 세그멘테이션을 수행한 후 상기 세그멘테이션된 세그먼트별로 데이터 집계를 수행할 수 있다.
상기 프로세서는, 상기 제1 게임 로그 데이터에 기초하여, 미리 정해진 기준에 따라 게임 유저들을 행동 패턴별로 세그멘테이션할 수 있다.
상기 프로세서는, 상기 제1 게임 로그 데이터에 기초하여, 미리 정해진 기준에 따라 게임 유저들을 유사한 행동 패턴을 보이는 게임 유저들의 그룹들로 세그멘테이션할 수 있다.
상기 미리 정해진 기준은, 상기 제1 게임 로그 데이터에 대응하는 특징들 중 적어도 하나의 값에 대하여, 복수의 유저들 간에 유사한 정도를 의미할 수 있다.
상기 제1 시점은, 제2 시점보다 이전 시점일 수 있다.
상기 프로세서는, 상기 게임 로그 집합 데이터에 대응하는 데이터의 기간 범위를 설정하고, 상기 게임 로그 집합 데이터에 대응하는 데이터를 시간 단위로 집계 및 상기 게임 로그 집합 데이터에 대응하는 데이터 간에 스케일링을 수행할 수 있다.
상기 프로세서는, 각각의 게임 로그 집합 데이터에 대응하는 복수개의 이상 케이스 탐지 모델들이 존재하고, 상기 게임 로그 집합 데이터를 이용하여 상기 각각의 게임 로그 집합 데이터에 대응하는 복수 개의 이상 케이스 탐지 모델들을 학습시킬 수 있다.
상기 프로세서는, 상기 이상 케이스 탐지 모델에 상기 제1 게임 로그 데이터에 대응하는 게임 로그 집합 데이터를 학습 데이터로서 입력하여 게임 로그 데이터에 대한 출력 데이터를 획득하고, 상기 출력 데이터와 상기 학습 데이터에 기초하여 상기 이상 케이스 탐지 모델을 학습시킬 수 있다.
상기 프로세서는, 상기 이상 케이스 탐지 모델의 출력 데이터와 상기 이상 케이스 탐지 모델의 입력 데이터 간의 차이가 줄어들도록 상기 이상 케이스 탐지 모델의 파라미터들을 조정할 수 있다.
상기 프로세서는, 상기 학습된 이상 케이스 탐지 모델에 상기 제2 게임 로그 데이터에 대응하는 게임 로그 집합 데이터를 입력하여 상기 게임 로그 데이터에 대한 예측 값을 획득할 수 있다.
상기 프로세서는, 상기 이상 케이스 탐지 모델을 이용하여 예측 수행 시 입력 데이터와 출력 데이터 간의 특징별 차이를 산출하고, 상기 특징별 차이에 기초하여 스코어를 결정할 수 있다.
상기 프로세서는, 상기 게임 유저들 각각에 대응하는 스코어를 결정할 수 있다.
상기 프로세서는, 상기 스코어가 기준 스코어보다 클 경우, 상기 스코어에 대응하는 게임 유저의 행동 패턴에 이상이 발생하였다고 결정할 수 있다.
상기 프로세서는, 상기 스코어가 상기 기준 스코어보다 작을 경우, 상기 스코어에 대응하는 게임 유저의 행동 패턴이 정상적이라고 결정할 수 있다.
상기 이상 케이스 탐지 모델은, 오토인코더 구조의 뉴럴 네트워크일 수 있다.
일 실시예에 따르면, 게임 운영자의 지속적인 모니터링 없이 자동으로 게임 내 이상 케이스를 탐지할 수 있다.
일 실시예에 따르면, 게임 내에서 게임 운영자가 직접적으로 모니터링하기 어려운 부분에서 발생한 이상 케이스도 탐지할 수 있다.
일 실시예에 따르면, 불법 모듈을 사용하는 게임 유저의 이상 행동 패턴을 빠르게 감지할 수 있어, 게임 내 이상 케이스로 인한 피해를 최소화할 수 있고, 게임 내 이상 케이스로 인한 피해에 대하여 빠르게 대처할 수 있다.
일 실시예에 따르면, 학습 데이터가 계속해서 업데이트 되므로, 새로운 불법 모듈로 인한 게임 내 이상 케이스도 탐지할 수 있다.
도 1은 일 실시예에 따른 이상 케이스 탐지 시스템의 개요를 제공하는 도면이다.
도 2는 일 실시예에 따른 이상 케이스 탐지 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따른 게임 유저들의 게임 로그 데이터를 도시한 도면이다.
도 4는 일 실시예에 따른 특징들을 선별하는 방법을 설명하기 위한 도면이다.
도 5a는 일 실시예에 따른 이상 케이스 탐지 모델의 학습 방법을 설명하기 위한 도면이다.
도 5b는 일 실시예에 따른 이상 케이스 탐지 모델들의 학습 방법을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 이상 케이스 탐지 모델의 구조를 도시하는 도면이다.
도 7은 일 실시예에 따른 이상 케이스 탐지 모델의 동작을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 게임 로그 집합 데이터에 대해 데이터 전처리 방법을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 이상 케이스를 탐지하기 위한 스코어를 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 이상 케이스 탐지 장치의 구성을 도시하는 도면이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 이상 케이스 탐지 시스템의 개요를 제공하는 도면이다.
도 1을 참조하면, 이상 케이스 탐지 장치(140)는 게임 서버(110)로부터 복수의 사용자 단말(130)에 대응하는 게임 유저들의 게임 로그 데이터를 획득할 수 있다. 또한, 이상 케이스 탐지 장치(140)는 게임 로그 데이터를 입력으로 하는 오토인코더(autoencoder) 구조의 뉴럴 네트워크 기반의 이상 케이스 탐지 모델을 통해, 게임 내에 이상 케이스가 발생하였는지 여부를 판단할 수 있다.
게임 시스템(100)은 게임 서버(110)를 통해 복수의 사용자 단말(130)들에 게임 서비스를 제공할 수 있다. 게임 시스템(100)은 게임 서버(110), 네트워크(120), 복수의 사용자 단말(130)들을 포함하고, 게임 서버(110)와 복수의 사용자 단말(130)들은 네트워크(120)(예를 들어, 인터넷 통신망, 유무선의 근거리 통신망 또는 광역 데이터 통신망 등)를 통해 서로 통신할 수 있다.
서버(110)는 게임 프로그램의 실행을 위해 접속을 요청한 사용자 단말(130)에 대한 인증 절차를 수행하고, 인증이 완료된 사용자 단말(130)에 게임 서비스를 제공할 수 있다.
게임을 플레이하고자 하는 게임 유저는 사용자 단말(130)에 설치된 게임 어플리케이션(또는 게임 프로그램)을 실행하고, 서버(110)에 접속을 요청한다. 사용자 단말(130)은 온라인 접속을 통해 게임 유저의 게임 접속을 가능하게 하는 컴퓨팅 장치로서, 예를 들어 셀룰러 폰, 스마트 폰, 퍼스널 컴퓨터, 랩탑, 노트북, 넷북, 태블릿 또는 휴대 정보 단말기(personal digital assistant; PDA)일 수 있다.
이상 케이스 탐지 장치(140)는 실시예에 따라 게임 서버(110)에 포함될 수 있고, 또는 게임 서버(110)의 외부에 위치할 수도 있다. 일 실시예에서 게임 서버(110)는 복수의 사용자 단말 (130)로부터 게임 유저들의 게임 로그 데이터를 수집할 수 있다. 게임 서버(110)는 게임 로그 데이터를 이상 케이스 탐지 장치(140)에 제공할 수 있다. 이상 케이스 탐지 장치(140)는 게임 로그 데이터에 기초하여 게임 내에 이상 케이스가 발생하였는지 여부를 탐지할 수 있다.
이상 케이스 탐지 장치(140)는, 게임 유저들의 게임 로그 데이터에서 이상 케이스 탐지 모델을 학습시키는 데에 활용할 특징들과 특징들에 대응하는 값을 선별할 수 있다. 이상 케이스 탐지 장치(140)는, 게임 유저들의 게임 로그 데이터를 게임 로그 데이터에 대응하는 특징들 중 적어도 하나의 특징에 대한 값에 기초하여, 복수의 게임 유저들을 복수의 그룹들로 세그멘테이션(segmentation)할 수 있다. 여기서 '세그멘테이션'은 게임 유저들을 복수의 게임 유저 그룹들로 분할, 분류 또는 그루핑(grouping)하는 것을 의미할 수 있다. 이상 케이스 탐지 장치(140)는 여기서 생성된 그룹들에 기초하여 각각의 그룹들에 대응하는 게임 로그 집합 데이터를 생성할 수 있다.
이상 케이스 탐지 장치(140)는 게임 로그 집합 데이터에 대해 데이터 전처리를 수행하고, 데이터 전처리가 수행된 게임 로그 집합 데이터를 이용하여 이상 케이스 탐지 모델을 학습시킬 수 있다. 학습된 이상 케이스 탐지 모델은 게임 로그 데이터를 입력 받아 게임 로그 데이터에 대응하는 예측 값을 획득할 수 있다. 이상 케이스 탐지 장치는 예측 값에 기초하여 이상 케이스를 탐지하기 위한 스코어를 결정할 수 있다.
여기서 이상 케이스 탐지 모델은 오토인코더(autoencoder) 구조의 뉴럴 네트워크일 수 있다. 오토인코더 알고리즘은 입력된 데이터를 신경망을 거쳐서 압축시켰다가, 압축된 데이터를 신경망을 통해 입력 데이터와 비슷한 새로운 데이터를 만들어낼 수 있다. 오토인코더 구조는 히든 레이어(hidden layer)로 구성될 수 있다. 히든 레이어는 신경망에서 하나의 신경층을 의미할 수 있고, 은닉층이라고도 표현될 수 있다.
도 2는 일 실시예에 따른 이상 케이스 탐지 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 단계(210)에서 이상 케이스 탐지 장치는 게임 유저들의 제1 시점(time)의 제1 게임 로그 데이터를 미리 정해진 기준에 기초하여 세그멘테이션하는 것에 의해 복수의 게임 유저 그룹들 각각에 대응하는 게임 로그 집합 데이터를 생성할 수 있다. 세그멘테이션이 수행된 후, 이상 케이스 탐지 장치는 세그멘테이션된 세그먼트별로 데이터 집계를 수행할 수 있다. 이 때, 데이터 집계 시 이용되는 특징들은 세그먼트별로 다를 수도 있다.
이상 케이스 탐지 장치는 일 실시예에서, 제1 게임 로그 데이터에 대응하는 특징들 중에서, 이상 케이스 탐지 모델을 학습시키는 데에 이용될 특징들을 선별하고, 선별된 특징들에 대응하는 제1 게임 로그 데이터를 미리 정해진 기준에 기초하여 세그멘테이션하는 것에 의해 복수의 게임 유저 그룹들 각각에 대응하는 게임 로그 집합 데이터를 생성할 수 있다. 이상 케이스 탐지 장치는 이상 케이스와 관련된 특징들을 선별할 수 있다. 또한, 실시예에 따라서 이상 케이스 탐지 장치는 하나의 특징에 대응하는 값에 기초하여 세그멘테이션을 수행할 수 있고, 또는, 복수의 특징들에 대응하는 값들을 조합하고, 이 값에 기초하여 세그멘테이션을 수행할 수도 있다.
예를 들어, 제1 게임 로그 데이터에 대응하는 특징에는 게임 유저의 고유 번호, 게임 유저에 대응하는 계정의 레벨, 게임 유저에 대응하는 게임 캐릭터가 획득한 골드량, 게임 유저에 대응하는 게임 캐릭터가 보유한 골드량, 게임 유저에 대응하는 게임 캐릭터의 공격력 및 게임 유저에 대응하는 게임 캐릭터의 체력 등이 포함될 수 있다. 이상 케이스 탐지 장치는 이상 케이스 탐지 모델을 학습시키는 데에 이용될 특징들을 선별하는 과정에서, 게임 유저에 대응하는 계정의 레벨, 게임 유저에 대응하는 게임 캐릭터가 획득한 골드량 및 게임 유저에 대응하는 게임 캐릭터가 참여 중인 퀘스트의 번호를 선택할 수 있다.
이상 케이스 탐지 장치는 제1 게임 로그 데이터에 기초하여, 미리 정해진 기준에 따라 게임 유저들을 행동 패턴별로 세그멘테이션할 수 있다. 이상 케이스 탐지 장치는 제1 게임 로그 데이터에 기초하여, 미리 정해진 기준에 따라 게임 유저들을 유사한 행동 패턴을 보이는 게임 유저들의 그룹들로 세그멘테이션할 수 있다. 여기서, 미리 정해진 기준은, 제1 게임 로그 데이터에 대응하는 특징들 중 적어도 하나의 값에 대하여, 복수의 유저들 간에 유사한 정도를 의미할 수 있다.
예를 들어, 이상 케이스 탐지 장치는 제1 게임 로그 데이터에 기초하여, 게임 유저들을 게임 유저에 대응하는 계정의 레벨을 기준으로 세그멘테이션할 수 있다. 이상 케이스 탐지 장치는 계정의 레벨이 0부터 30 사이인 게임 유저들, 계정의 레벨이 31부터 60 사이인 게임 유저들 및 계정의 레벨이 61부터 그 이상인 게임 유저들끼리 세그멘테이션하여 게임 유저 그룹들 각각에 대응하는 게임 로그 집합 데이터를 생성할 수 있다.
다른 실시예에서 이상 케이스 탐지 장치는 제1 게임 로그 데이터에 기초하여, 게임 유저들을 유료 결제를 하지 않은 라이트(light) 유저 그룹, 유료 결제를 하지 않은 헤비(heavy) 유저 그룹 및 유료 결제를 한 헤비 유저 그룹으로 구분할 수도 있다.
이상 케이스 탐지 장치는 단계(220)에서, 게임 로그 집합 데이터에 대해 데이터 전처리를 수행할 수 있다. 이상 케이스 탐지 장치는 일 실시예에서, 게임 로그 집합 데이터에 대응하는 데이터의 기간 범위를 설정하고, 게임 로그 집합 데이터에 대응하는 데이터를 시간 단위로 집계 및 게임 로그 집합 데이터에 대응하는 데이터 간에 스케일링(scaling)을 수행할 수 있다.
여기서, 게임 로그 집합 데이터에 대응하는 데이터를 시간 단위는 이상 케이스 탐지 모델을 학습시키는 데 이용할 게임 로그 집합 데이터가 수집된 기간 등을 의미할 수 있다. 예를 들어, 이상 케이스 탐지 장치는 이상 케이스 탐지 모델을 학습시키기 위하여, 데이터의 기간 범위를 2월 3일, 2월 4일 및 2월 5일로 설정하고, 2월 3일 및 2월 4일에 대응하는 게임 로그 집합 데이터를 입력으로 하여 이상 케이스 탐지 모델이 2월 5일에 대응하는 게임 로그 집합 데이터의 예측을 수행하도록 할 수 있다.
또한, 스케일링은, 게임 로그 데이터 또는 게임 로그 집합 데이터에 대응하는 특징들의 값 또는 데이터에 대하여, 단위가 상이한 각각의 특징들의 값을 동일한 단위로 통일시키는 것을 의미할 수 있다. 게임 로그 집합 데이터에 대응하는 데이터 간에 수행할 수 있는 스케일링의 방법은 예를 들어, 표준화(standard scaling), 정규화(min-max scaling) 및 로버스트 스케일링(robust scaling) 등이 있을 수 있다. 표준화는 각 데이터별로 평균(mean), 표준편차(stdev)를 기준으로 하여, 스케일링을 수행할 수 있다. 표준화 스케일링 기법에 기초하면, 데이터의 값은 평균에 가까울 수록 값이 0에 가깝고, 평균에서 멀어질 수록 값이 커질 수 있다. 만약, 만약 데이터가 너무 몰려 있을 경우, 데이터의 값이 매우 크게 나올 수도 있다.
정규화에 기초하면, 각 데이터 값은 최소값(min) 및 최대값(max)을 기준으로 하여 스케일링이 수행될 수 있다. 정규화 스케일링 기법에 의해 데이터의 값은 모두 0과 1 사이가 될 수 있다.
로버스트 스케일링은 데이터의 1/4분위수(Q1) 및 3/4(Q3)을 기준으로 하여 수행하는 스케일링을 의미할 수 있다. 스케일링에 사용할 분위수는 상황에 따라 변경될 수 있다. 로버스트 스케일링은 Q1부터 Q3의 값만을 이용하기 때문에, 상위 25%와 하위 25%에 대응하는 데이터 값은 제외하고 중위 50%에 대응하는 데이터 값으로 스케일링이 수행될 수 있다. 이는, 행동 패턴에 이상이 있는 게임 유저의 데이터는 제외시키는 효과를 줄 수 있다.
단계(230)에서 이상 케이스 탐지 장치는, 데이터 전처리가 수행된 게임 로그 집합 데이터를 이용하여 이상 케이스 탐지 모델을 학습시킬 수 있다. 여기서, 이상 케이스 탐지 모델은 오토인코더 구조의 뉴럴 네트워크가 될 수 있다. 오토인코더 구조는 대표적인 비지도 학습(Unsupervised Learning)을 위한 인공신경망 구조 중 하나로 출력층(Output Layer)의 노드 개수와 입력층(Input Layer)의 노드 개수가 동일한 구조의 인공신경망을 의미할 수 있다.
일 실시예에서, 이상 케이스 탐지 장치에는 각각의 게임 로그 집합 데이터에 대응하는 복수개의 이상 케이스 탐지 모델들이 존재할 수 있고, 이상 케이스 탐지 장치는 게임 로그 집합 데이터를 이용하여 각각의 게임 로그 집합 데이터에 대응하는 복수 개의 이상 케이스 탐지 모델들을 학습시킬 수 있다. 이상 케이스 탐지 장치는 게임 로그 집합 데이터에 대응하는 데이터의 기간 범위나 예측 주기 등에 기초하여 학습 데이터를 업데이트 할 수 있고, 업데이트된 학습 데이터에 기초하여 이상 케이스 탐지 모델을 학습시킬 수 있다.
이상 케이스 탐지 장치는 이상 케이스 탐지 모델에 제1 게임 로그 데이터에 대응하는 게임 로그 집합 데이터를 학습 데이터로서 입력하여 게임 로그 데이터에 대한 출력 데이터를 획득할 수 있고, 출력 데이터와 학습 데이터에 기초하여 이상 케이스 탐지 모델을 학습시킬 수 있다. 이상 케이스 탐지 장치는 이상 케이스 탐지 모델의 출력 데이터와 이상 케이스 탐지 모델의 입력 데이터 간의 차이가 줄어들도록 이상 케이스 탐지 모델의 파라미터들을 조정할 수 있다.
예를 들어, 제1 게임 로그 데이터로서 2월 4일, 2월 5일 및 2월 6일의 게임 로그 데이터가 존재할 경우, 이상 케이스 탐지 장치는 2월 4일, 2월 5일 및 2월 6일의 게임 로그 데이터로부터 게임 로그 집합 데이터를 생성할 수 있다. 이상 케이스 탐지 모델은 데이터 전처리가 수행된 2월 4일 및 2월 5일에 대응하는 게임 로그 집합 데이터를 학습 데이터로서 입력받아, 2월 6일에 대응하는 게임 로그 데이터를 출력 데이터로서 출력할 수 있다. 이상 케이스 탐지 장치는 실제 2월 6일에 대응하는 게임 로그 데이터와 출력 데이터의 비교를 수행할 수 있다. 이상 케이스 탐지 장치는 비교 결과에 기초하여, 이상 케이스 탐지 모델의 파라미터를 조정할 수 있다.
단계(240)에서 이상 케이스 탐지 장치는 학습된 이상 케이스 탐지 모델에 게임 유저들의 제2 시점의 제2 게임 로그 데이터를 입력하여 게임 로그 데이터에 대한 예측 값을 획득할 수 있다. 여기서, 제1 시점은 제2 시점보다 이전 시점을 의미할 수 있다. 일 실시예에서, 이상 케이스 탐지 장치는 학습된 이상 케이스 탐지 모델에 제2 게임 로그 데이터에 대응하는 게임 로그 집합 데이터를 입력하여 게임 로그 데이터에 대한 예측 값을 획득할 수 있다. 이상 케이스 탐지 모델은 제2 게임 로그 데이터에 기초하여 생성된 제2 게임 로그 집합 데이터를 입력으로 하여, 게임 로그 데이터에 대한 예측 값을 출력할 수 있다.
단계(250)에서 이상 케이스 탐지 장치는 예측 값에 기초하여 이상 케이스를 탐지하기 위한 스코어를 결정할 수 있다. 일 실시예에서, 이상 케이스 탐지 장치는 이상 케이스 탐지 모델을 이용하여 예측 수행 시 입력 데이터와 출력 데이터 간의 특징별 차이를 산출하고, 특징별 차이에 기초하여 스코어를 결정할 수 있다. 예를 들어, 이상 케이스 탐지 장치는, 제2 게임 로그 데이터와 예측 값에 대응하는 각각의 특징별 차이 값을 산출할 수 있고, 각각의 특징별 차이 값에 기초하여 스코어를 결정할 수 있다. 이상 케이스 탐지 장치는 게임 유저들 각각에 대응하는 스코어를 결정할 수 있다.
만약 스코어가 기준 스코어보다 클 경우, 이상 케이스 탐지 장치는 스코어에 대응하는 게임 유저의 행동 패턴에 이상이 발생하였다고 결정할 수 있다. 반면에, 스코어가 기준 스코어보다 작을 경우, 이상 케이스 탐지 장치는 스코어에 대응하는 게임 유저의 행동 패턴이 정상적이라고 결정할 수 있다. 여기서, 기준 스코어는 게임 유저의 행동 패턴의 이상을 판단하기 위해 기준이 되는 스코어로서, 일 실시예에 따르면 반복적으로 예측 결과를 확인하는 과정에서 귀납적이고 경험적(heuristic)으로 결정되는 스코어이다.
도 3은 일 실시예에 따른 게임 유저들의 게임 로그 데이터를 도시한 도면이다.
도 3을 참조하면, 일 실시예에서 게임 유저들의 게임 로그 데이터는 테이블 형식으로 저장될 수 있고, 게임별로 게임 로그와 관련된 테이블이 존재할 수 있다. 게임 유저가 게임과 관련하여 로그인, 로그아웃 및 퀘스트 달성 등의 행동을 할 때마다 게임 로그 데이터가 기록 또는 업데이트 될 수 있고, 기록 또는 업데이트 된 게임 로그 데이터는 게임 로그 데이터에 대응하는 테이블에 저장될 수 있다. 게임 로그 데이터에는 게임과 관련한 복수개의 컬럼(column)들이 존재할 수 있다. 여기서, 컬럼은 게임 유저와 관련된 특징을 의미하며, 게임 유저의 캐릭터의 행동 및 정보 등을 포함할 수 있다. 예를 들어 컬럼은, 게임 유저의 고유 번호(또는 게임 유저의 아이디), 게임 유저 캐릭터의 레벨, 게임 유저의 캐릭터가 획득한 골드량, 게임 유저의 캐릭터가 달성 중인 퀘스트 번호, 게임 유저의 캐릭터가 보유한 골드량, 게임 유저의 캐릭터의 공격력, 게임 유저의 캐릭터의 방어력, 게임 유저의 캐릭터의 체력 및 게임 유저의 캐릭터가 피격으로 입은 데미지 등을 포함할 수 있다.
실시예에 따라서 행마다 값이 비어 있는 컬럼이 존재할 수 있다. 컬럼의 값이 비어있는 경우는, 행에 대응하는 게임 유저가 컬럼에 대응하는 행동을 하지 않았거나, 컬럼에 대응하는 게임 유저의 정보가 존재하지 않는 경우일 수 있다. 예를 들어, 게임 유저 'CCCC'에 대응하는 행에서 달성 중인 퀘스트 번호에 대응하는 컬럼에는 값이 비어 있는데, 이 경우는 게임 유저 'CCCC'가 달성 중인 퀘스트가 존재하지 않는 것으로 판단될 수 있다.
일 실시예에서 이상 케이스 탐지 장치는 게임 로그와 관련된 테이블에 기초하여 유사한 행동 패턴을 보이는 게임 유저들끼리 세그멘테이션을 수행하여 게임 로그 집합 데이터를 획득할 수 있다. 또한, 이상 케이스 탐지 장치는 게임 로그 집합 데이터에 기초하여 이상 케이스 탐지 모델을 학습시킬 수 있다.
도 4는 일 실시예에 따른 특징들을 선별하는 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 일 실시예에서 게임 로그 데이터(410)는 적어도 하나의 특징을 포함할 수 있고, 특징에 대응하는 값 또는 데이터를 가질 수 있다. 일 실시예에서 이상 케이스 탐지 장치는 게임 로그 데이터(410)에 기초하여 게임 로그 집합 데이터를 생성하기 위하여, 이상 케이스 탐지 모델을 학습시키거나, 이상 케이스 탐지 모델의 입력 값으로 입력하는 데에 활용할 특징들과 특징들에 대응하는 값을 선별할 수 있다. 선별을 통해 이상 케이스 탐지 장치는 일부 특징들이 선별된 게임 로그 데이터(420)를 생성할 수 있다.
예를 들어, 게임 로그 데이터(410)는 게임 유저의 고유 번호(또는 게임 유저의 아이디), 게임 유저 캐릭터의 레벨, 게임 유저의 캐릭터가 획득한 골드량, 게임 유저의 캐릭터가 달성 중인 퀘스트 번호, 게임 유저의 캐릭터가 보유한 골드량, 게임 유저의 캐릭터의 공격력, 게임 유저의 캐릭터의 방어력, 게임 유저의 캐릭터의 체력 및 게임 유저의 캐릭터가 피격으로 입은 데미지 등을 포함할 수 있다. 선별을 통해 일부 특징들이 선별된 게임 로그 데이터(420)는 게임 유저의 고유 번호, 게임 유저 캐릭터의 레벨, 게임 유저의 캐릭터의 공격력, 게임 유저의 캐릭터의 방어력, 게임 유저의 캐릭터의 체력, 게임 유저의 캐릭터가 피격으로 입은 데미지 및 게임 유저 캐릭터의 공격력/레벨 등을 포함할 수 있다.
이상 케이스 탐지 장치는 실시예에 따라 선별을 통해 일부 특징들이 선별된 게임 로그 데이터(420)에 기초하여, 미리 정해진 기준에 기초하여 세그멘테이션을 수행하고, 복수의 게임 유저 그룹들 각각에 대응하는 게임 로그 집합 데이터를 생성할 수 있다. 이상 케이스 탐지 장치는 게임 로그 데이터(410)로부터 일부 특징들이 선별된 게임 로그 데이터(420)을 획득하여, 이상 케이스를 탐지하고자 하는 게임 유저들의 행동 패턴과 관련된 특징들을 선별함으로써, 이상 케이스 탐지 모델의 정확도를 향상시킬 수 있다. 실시예에 따라서 이상 케이스 탐지 장치는 하나 이상의 특징들을 조합하여 새로운 특징과 새로운 특징에 대응하는 값을 획득할 수 있다. 일부 특징들이 선별된 게임 로그 데이터(420)에서 특징 5에 대응하는 게임 유저 캐릭터의 공격력/레벨 특징은 게임 유저 캐릭터의 공격력과 게임 유저 캐릭터의 레벨이 조합되어 생성된 새로운 특징이 될 수 있다.
도 5a는 일 실시예에 따른 이상 케이스 탐지 모델의 학습 방법을 설명하기 위한 도면이고, 도 5b는 일 실시예에 따른 이상 케이스 탐지 모델들의 학습 방법을 설명하기 위한 도면이다.
일 실시예에서, 이상 케이스 탐지 장치에는 각각의 게임 로그 집합 데이터에 대응하는 복수개의 이상 케이스 탐지 모델들이 포함될 수 있고, 게임 로그 집합 데이터를 이용하여 각각의 게임 로그 집합 데이터에 대응하는 복수 개의 이상 케이스 탐지 모델들을 학습시킬 수 있다. 예를 들어, 게임 유저들이 3개의 그룹으로 세그멘테이션된 경우, 이상 케이스 탐지 장치는 3개의 게임 로그 집합 데이터에 기초하여 3개의 이상 케이스 탐지 모델들을 학습시킬 수 있다.
다른 실시예에서, 이상 케이스 탐지 장치에는 게임 로그 데이터에 대응하는 하나의 이상 케이스 탐지 모델이 포함될 수 있다. 모든 게임 유저들의 행동 패턴이 유사할 경우, 이상 케이스 탐지 장치는 모든 게임 유저들을 하나의 그룹으로 설정하여 하나의 이상 케이스 탐지 모델을 학습시킬 수 있다.
도 5a를 참조하면 일 실시예에서 모든 게임 유저들의 행동 패턴이 유사한 것으로 판단된 경우, 이상 케이스 탐지 장치는 게임 로그 데이터(510)에 대한 세그멘테이션 과정 없이, 게임 로그 데이터(510)에 기초하여 하나의 이상 케이스 탐지 모델(512)을 학습시킬 수 있다.
도 5b를 참조하면, 일 실시예에서 게임 유저들이 게임 유저들의 행동 패턴에 기초하여 3개의 그룹으로 구분이 될 경우, 이상 케이스 탐지 장치는 각각의 게임 로그 데이터(520, 530 및 540)에 기초하여 게임 로그 데이터(520, 530 및 540)에 대응하는 게임 로그 집합 데이터(522, 532 및 542)를 생성할 수 있다. 데이터 전처리가 수행된 게임 로그 집합 데이터(522, 532 및 542)는 이상 케이스 탐지 모델(524, 534 및 544)에 입력될 수 있다.
위 실시예에서 게임 유저들이 게임 유저들의 행동 패턴에 기초하여 게임 유저 그룹1, 게임 유저 그룹 2 및 게임 유저 그룹 3과 같이 총 3개의 그룹으로 구분이 될 수 있다. 이상 케이스 탐지 장치는 게임 유저 그룹 1에 대응하는 게임 로그 데이터(520)에 기초하여, 게임 유저 그룹 1에 대응하는 게임 로그 집합 데이터(522)를 생성할 수 있다. 이상 케이스 탐지 장치는 게임 유저 그룹 1에 대응하는 게임 로그 집합 데이터(522)를 통해 게임 유저 그룹 1에 대응하는 이상 케이스 탐지 모델(524)을 학습시킬 수 있다. 또한, 이상 케이스 탐지 장치는 게임 유저 그룹 2에 대응하는 게임 로그 데이터(530)에 기초하여, 게임 유저 그룹 2에 대응하는 게임 로그 집합 데이터(532)를 생성할 수 있다. 이상 케이스 탐지 장치는 게임 유저 그룹 2에 대응하는 게임 로그 집합 데이터(532)를 통해 게임 유저 그룹 2에 대응하는 이상 케이스 탐지 모델(534)을 학습시킬 수 있다. 이상 케이스 탐지 장치는 게임 유저 그룹 3에 대응하는 게임 로그 데이터(540)에 기초하여, 게임 유저 그룹 3에 대응하는 게임 로그 집합 데이터(542)를 생성할 수 있다. 이상 케이스 탐지 장치는 게임 유저 그룹 3에 대응하는 게임 로그 집합 데이터(542)를 통해 게임 유저 그룹 3에 대응하는 이상 케이스 탐지 모델(544)을 학습시킬 수 있다.
도 6은 일 실시예에 따른 이상 케이스 탐지 모델의 구조를 도시하는 도면이다.
도 6을 참조하면 일 실시예에서, 이상 케이스 탐지 모델은 오토인코더 구조를 가질 수 있다. 오토인코더는 원본 데이터를 입력 데이터(610)로서 입력받아 압축시키고, 압축시킨 데이터를 재구축하여 출력 데이터(620)로서 출력할 수 있다. 따라서, 오토인코더로부터 출력된 출력 데이터(620)는 원본 데이터에서 불필요한 특징들이 제거된 상태가 될 수 있다.
오토인코더는 히든 레이어(또는 은닉층)으로 구성될 수 있다. 여기서, 히든 레이어는 신경망에서 하나의 신경층을 의미할 수 있다. 오토인코더는 부호화(encode) 구간과 복호화(decode) 구간을 포함할 수 있다. 오토인코더의 부호화 구간은 입력 데이터(610)의 주요 속성 데이터에 기반하여 인코딩하는 구간이고, 복호화 구간은 인코딩된 주요 속성 데이터를 디코딩하여 입력 데이터의 형태로 복원(reconstruction)하는 구간을 나타낼 수 있다.
오토인코더 구조의 종류에는 히든 레이어가 2개 이상인 딥 오토인코더(deep autoencoder) 또는 스택 오토인코더(stacked autoencoder), 입력 데이터(610)에 잡음을 추가하여 모델을 학습시키는 DAE(denoised autoencoder), 스택 오토인코더와 DAE의 특징이 결합된 스택 SDAE(stacked denoised autoencoder) 및 데이터에 시간 요소를 추가하여 모델을 학습시키는 LSTM 오토인코더(long short term memory autoencoder) 등이 있다.
도 7은 일 실시예에 따른 이상 케이스 탐지 모델의 동작을 설명하기 위한 도면이다.
도 7을 참조하면, 일 실시예에서 이상 케이스 탐지 모델(710)은 제1 게임 로그 데이터(720)를 입력 값으로 입력받아 학습될 수 있다. 실시예에 따라 이상 케이스 탐지 모델(710)이 학습되는 과정에서 제2 게임 로그 데이터(730)도 제1 게임 로그 데이터(720)와 학습 데이터로서 활용될 수 있다. 여기서, 제1 게임 로그 데이터(720)는 게임 유저들의 제1 시점의 게임 로그 데이터를 의미하고, 제2 게임 로그 데이터(730)는 게임 유저들의 제2 시점의 게임 로그 데이터를 의미할 수 있다. 제1 시점은 제2 시점보다 이전 시점을 의미할 수 있다. 학습된 이상 케이스 탐지 모델(710)은 제2 게임 로그 데이터(730)를 입력 받아 게임 로그 데이터에 대한 예측 값(740)을 출력할 수 있다.
예를 들어, 제1 시점이 3월 4일 및 3월 5일이고, 제2 시점이 3월 6일일 경우, 제1 게임 로그 데이터(720)는 3월 4일 및 3월 5일에 대응하는 게임 로그 데이터를 의미할 수 있고, 제2 게임 로그 데이터(730)는 3월 6일에 대응하는 게임 로그 데이터를 의미할 수 있다. 이상 케이스 탐지 모델(710)은 제1 게임 로그 데이터(720)를 입력받아 3월 6일에 대응하는 게임 로그 데이터를 예측하여 출력 데이터로서 출력할 수 있다. 이상 케이스 탐지 장치는 출력 데이터와 제2 게임 로그 데이터(730)를 비교하고, 출력 데이터와 제2 게임 로그 데이터(730)의 차이가 줄어들도록 이상 케이스 탐지 모델(710)의 파라미터를 조정할 수 있다.
도 8은 일 실시예에 따른 게임 로그 집합 데이터에 대해 데이터 전처리 방법을 설명하기 위한 도면이다.
도 8을 참조하면, 이상 케이스 탐지 장치는 게임 로그 집합 데이터의 데이터 전처리를 수행하는 과정에서, 게임 로그 집합 데이터(810)에 대응하는 데이터가 시간 단위로 집계된 게임 로그 집합 데이터(820)를 생성할 수 있다.
예를 들어, 게임 로그 집합 데이터(810)에 기초하면, 이상 케이스 탐지 장치는 'AAAAA'라는 게임 유저에 대하여 10시 20분에 특징 3에 대응하는 데이터 값을 수집하고, 10시 24분에 특징 1에 대응하는 데이터 값을 수집 및 특징 3에 대응하는 데이터 값을 업데이트 하고, 10시 55분에 특징 2에 대응하는 데이터 값을 수집 및 특징 1과 특징 3에 대응하는 데이터 값을 업데이트 한 것을 확인할 수 있다. 이상 케이스 탐지 장치는 로그 집합 데이터(810)에 대응하는 데이터를 시간 단위로 집계할 수 있다. 시간 단위로 집계된 게임 로그 집합 데이터(820)에 기초하면, 'AAAAA'라는 게임 유저의 게임 로그 데이터는 시간 단위로 집계될 수 있다. 게임 유저의 'AAAAA'의 10시 00분부터 10시 59분 사이에 대응하는 게임 로그 데이터로 특징 1에 대응하는 데이터 값, 특징 2에 대응하는 데이터 값 및 특징 3에 대응하는 데이터 값이 집계될 수 있다.
또한, 게임 로그 집합 데이터(810)에 기초하면, 이상 케이스 탐지 장치는 'BBBBB'라는 게임 유저에 대하여 13시 1분에 특징 2 및 특징 3에 대응하는 데이터 값을 수집하고, 13시 22분에 특징 1에 대응하는 데이터 값을 수집 및 특징 2와 특징 3에 대응하는 데이터 값을 업데이트 한 것을 확인할 수 있다. 이상 케이스 탐지 장치는 로그 집합 데이터(810)에 대응하는 데이터를 시간 단위로 집계할 수 있다. 시간 단위로 집계된 게임 로그 집합 데이터(820)에 기초하면, 'BBBBB'라는 게임 유저의 게임 로그 데이터는 시간 단위로 집계될 수 있다. 게임 유저의 'BBBBB'의 13시 00분부터 13시 59분 사이에 대응하는 게임 로그 데이터로 특징 1에 대응하는 데이터 값, 특징 2에 대응하는 데이터 값 및 특징 3에 대응하는 데이터 값이 집계될 수 있다.
도 9는 일 실시예에 따른 이상 케이스를 탐지하기 위한 스코어를 설명하기 위한 도면이다.
일 실시예에서 이상 케이스 탐지 장치는 이상 케이스 탐지 모델이 출력한 예측 값에 기초하여 이상 케이스를 탐지하기 위한 스코어를 결정할 수 있다. 이상 케이스 탐지 장치는 특징 1, 특징 2, 특징 3, 특징 4 및 특징 5에 대응하는 데이터 값을 포함한 게임 로그 데이터를 이상 케이스 탐지 모델에 입력하여 게임 로그 데이터에 대한 예측 값을 획득할 수 있다. 이상 케이스 탐지 장치는 게임 로그 데이터와 예측 값의 차이에 기초하여 복수의 게임 유저들 각각에 대응하는 스코어를 결정할 수 있다.
일 실시예에서 이상 케이스 탐지 장치는 게임 로그 데이터와 예측 값의 각각의 특징들에 대응하는 데이터 값의 차를 합하여 스코어를 결정할 수 있다. 실시예에 따라서는 특징마다 가중치가 다르게 적용될 수 있다.
또한, 이상 케이스 탐지 장치는 스코어에 영향을 가장 많이 준 특징을 결정할 수 있다. 게임의 운영자 또는 이상 케이스 탐지 장치는 스코어에 영향을 가장 많이 준 특징에 기초하여, 게임 유저가 가장 많이 준 특징과 관련한 이상 행동을 하였음을 판단할 수 있다. 즉, 게임의 운영자 또는 이상 케이스 탐지 장치는 스코어와 스코어에 영향을 가장 많이 준 특징에 기초하여 이상 케이스를 발생시킨 게임 유저 및 원인 등을 판단할 수 있다.
도 9를 참조하면, 복수의 게임 유저들 중에서 게임 유저 'DDDDD'에 대응하는 스코어가 353.1로 다른 게임 유저들에 대응하는 스코어에 비해서 현저하게 높은 것을 확인할 수 있다. 게임 운영자 또는 이상 케이스 탐지 장치는 게임 유저 'DDDDD'에 대응하는 스코어에 기초하여, 게임 유저 'DDDDD'의 행동 패턴에 이상 케이스가 발생하였다고 판단할 수 있다. 또한, 게임 유저 'DDDDD'에 대응하는 스코어에 영향을 가장 많이 준 특징은 특징 5이기 때문에, 게임 운영자 또는 이상 케이스 탐지 장치는 특징 5와 관련된 게임 유저 'DDDDD'의 이상 행동으로 인하여 게임 내에 이상 케이스가 발생하였음을 판단할 수 있다.
도 10은 일 실시예에 따른 이상 케이스 탐지 장치의 구성을 도시하는 도면이다.
도 10을 참조하면, 이상 케이스 탐지 장치(1000)는 통신 인터페이스(1010), 프로세서(1020) 및 메모리(1030)를 포함할 수 있다. 실시예에 따라, 이상 케이스 탐지 장치(1000)는 데이터베이스(1040)를 더 포함할 수도 있다.
메모리(1030)는 프로세서(1020)에 연결되고, 프로세서(1020)에 의해 실행가능한 인스트럭션들, 프로세서(1020)가 연산할 데이터 또는 프로세서(1020)에 의해 처리된 데이터를 저장할 수 있다. 메모리(1030)는, 예를 들어 비일시적인 컴퓨터 판독가능 매체, 예컨대 고속 랜덤 액세스 메모리 및/또는 비휘발성 컴퓨터 판독가능 저장 매체(예컨대, 하나 이상의 디스크 저장 장치, 플래쉬 메모리 장치, 또는 기타 비휘발성 솔리드 스테이트 메모리 장치)를 포함할 수 있다.
통신 인터페이스(1010)는 외부 장치(예를 들어, 사용자의 단말 및/또는 게임 서버)와 통신하기 위한 인터페이스를 제공한다. 통신 인터페이스(1010)는 유선 또는 무선 네트워크를 통해 외부 장치와 통신할 수 있다.
데이터베이스(1040)는 이상 케이스 탐지 장치(1000)가 동작하는데 필요한 데이터를 저장할 수 있다. 예를 들어, 데이터베이스(1040)는 게임 유저들에 대응하는 게임 로그 데이터 및 이상 케이스 탐지 모델이 정확한 예측 값을 출력하도록 하기 위한 이상 케이스 탐지 모델에 설정된 파라미터 정보 등을 저장할 수 있다.
프로세서(1020)는 이상 케이스 탐지 장치(1000) 내에서 실행하기 위한 기능 및 인스트럭션들을 실행하고, 이상 케이스 탐지 장치(1000)의 전체적인 동작을 제어한다. 프로세서(1020)는 도 2에서 설명된 이상 케이스 탐지 장치 (1000)의 동작과 관련된 하나 이상의 동작을 수행할 수 있다.
예를 들어, 프로세서(1020)는 게임 유저들의 제1 시점(time)의 제1 게임 로그 데이터에 대응하는 특징들 중에서, 이상 케이스 탐지 모델을 학습시키는 데에 이용될 특징들을 선별하고, 선별된 특징들에 대응하는 제1 게임 로그 데이터를 미리 정해진 기준에 따라 유사한 행동 패턴을 보이는 것으로 결정된 게임 유저들을 세그멘테이션하는 것에 의해 복수의 게임 유저 그룹들 각각에 대응하는 게임 로그 집합 데이터를 생성할 수 있다.
또한, 프로세서(1020)는 게임 로그 집합 데이터에 대응하는 데이터의 기간 범위를 설정하고, 게임 로그 집합 데이터에 대응하는 데이터를 시간 단위로 집계 및 게임 로그 집합 데이터에 대응하는 데이터 간에 스케일링을 수행하여, 데이터 전처리를 수행할 수 있고, 데이터 전처리가 수행된 게임 로그 집합 데이터를 이용하여 각각의 게임 로그 집합 데이터에 대응하는 복수 개의 이상 케이스 탐지 모델들을 학습시킬 수 있다.
프로세서(1020)는 학습된 이상 케이스 탐지 모델에 게임 유저들의 제2 시점의 제2 게임 로그 데이터에 대응하는 게임 로그 집합 데이터를 입력하여 게임 로그 데이터에 대한 예측 값을 획득할 수 있고, 제2 게임 로그 데이터와 예측 값에 대응하는 각각의 특징별 차이 값을 산출하여, 각각의 특징별 차이 값에 기초하여 이상 케이스를 탐지하기 위한, 게임 유저들 각각에 대응하는 스코어를 결정할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
100: 게임 시스템 110: 게임 서버
120: 네트워크 130: 사용자 단말
140, 1000: 이상 케이스 탐지 장치
1010: 통신 인터페이스 1020: 프로세서
1030: 메모리 1040: 데이터베이스

Claims (1)

  1. 이상 케이스 탐지 장치에서 수행되는 이상 케이스 탐지 방법에 있어서,
    게임 유저들의 제1 시점(time)의 제1 게임 로그 데이터를 미리 정해진 기준에 기초하여 세그멘테이션하는 것에 의해 복수의 게임 유저 그룹들 각각에 대응하는 게임 로그 집합 데이터를 생성하는 단계;
    상기 게임 로그 집합 데이터에 대해 데이터 전처리를 수행하는 단계;
    상기 데이터 전처리가 수행된 게임 로그 집합 데이터를 이용하여 이상 케이스 탐지 모델을 학습시키는 단계;
    상기 학습된 이상 케이스 탐지 모델에 상기 게임 유저들의 제2 시점의 제2 게임 로그 데이터를 입력하여 게임 로그 데이터에 대한 예측 값을 획득하는 단계; 및
    상기 예측 값에 기초하여 이상 케이스를 탐지하기 위한 스코어를 결정하는 단계를 포함하고,
    상기 게임 로그 데이터에 대한 예측 값을 획득하는 단계는, 상기 학습된 이상 케이스 탐지 모델에 상기 제2 게임 로그 데이터에 대응하는 게임 로그 집합 데이터를 입력하여 상기 게임 로그 데이터에 대한 예측 값을 획득하는 단계를 포함하고,
    상기 제2 게임 로그 데이터는 복수의 서로 다른 특징들 각각에 대응하는 데이터 값을 포함하고,
    상기 스코어를 결정하는 단계는,
    상기 복수의 서로 다른 특징들 중에서 상기 스코어에 영향을 가장 많이 준 특징을 결정하는 단계; 및
    상기 스코어와, 상기 스코어에 영향을 가장 많이 준 특징에 기초하여, 상기 이상 케이스를 발생시킨 게임 유저 및 상기 이상 케이스가 발생한 원인을 결정하는 단계를 포함하고,
    상기 게임 로그 집합 데이터를 생성하는 단계는, 상기 제1 게임 로그 데이터에 대응하는 특징들 중에서, 상기 이상 케이스 탐지 모델을 학습시키는 데에 이용될 특징들을 선별하고, 상기 선별된 특징들에 대응하는 제1 게임 로그 데이터를 미리 정해진 기준에 기초하여 세그멘테이션하는 것에 의해 상기 복수의 게임 유저 그룹들 각각에 대응하는 게임 로그 집합 데이터를 생성하는 단계를 포함하는,
    이상 케이스 탐지 방법.
KR1020200183473A 2018-10-05 2020-12-24 이상 케이스 탐지 방법 및 장치 KR20210003069A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180119111 2018-10-05
KR20180119111 2018-10-05

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190044262A Division KR102198339B1 (ko) 2018-10-05 2019-04-16 이상 케이스 탐지 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210003069A true KR20210003069A (ko) 2021-01-11

Family

ID=70454866

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020190044262A KR102198339B1 (ko) 2018-10-05 2019-04-16 이상 케이스 탐지 방법 및 장치
KR1020200183473A KR20210003069A (ko) 2018-10-05 2020-12-24 이상 케이스 탐지 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020190044262A KR102198339B1 (ko) 2018-10-05 2019-04-16 이상 케이스 탐지 방법 및 장치

Country Status (1)

Country Link
KR (2) KR102198339B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112926699A (zh) * 2021-04-25 2021-06-08 恒生电子股份有限公司 异常对象识别方法、装置、设备及存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102329889B1 (ko) * 2020-09-23 2021-11-23 펜타시큐리티시스템 주식회사 로드 사이드 유닛의 이상 감지 방법 및 장치
CN113318455B (zh) * 2021-05-24 2024-04-19 网易(杭州)网络有限公司 游戏数据的处理方法和装置
KR102653349B1 (ko) * 2021-05-26 2024-03-29 서울대학교산학협력단 오토 인코더 기반 이상 데이터 감지 시스템 및 방법
KR102645190B1 (ko) * 2022-01-03 2024-03-07 넷마블 주식회사 게임 아이템 획득 확률의 이상 탐지 방법 및 장치
CN114722954A (zh) * 2022-04-21 2022-07-08 北京沃东天骏信息技术有限公司 一种针对评价信息的内容异常处理方法和装置
CN115391084B (zh) * 2022-10-27 2023-01-24 北京蔚领时代科技有限公司 一种云游戏异常的智能解决方法及***
CN116149933B (zh) * 2022-12-13 2023-09-08 北京优特捷信息技术有限公司 一种异常日志数据确定方法、装置、设备及存储介质
CN117407443B (zh) * 2023-12-14 2024-03-26 烟台云朵软件有限公司 一种面向海量瞬变数据的异常快速发现方法及***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130007227A (ko) * 2011-06-30 2013-01-18 고려대학교 산학협력단 온라인게임의 로그정보를 이용한 부정 플레이 검출 시스템 및 방법
KR101696009B1 (ko) * 2013-02-27 2017-01-12 한국전자통신연구원 게임의 특성을 이용하여 부정 사용자를 검출하기 위한 게임 특성 검출 장치 및 방법
KR101881647B1 (ko) * 2016-09-01 2018-08-24 성균관대학교산학협력단 온라인 게임에서의 위치 기반 그룹 분류를 통한 봇 탐지 방법, 장치, 및 컴퓨터 프로그램

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112926699A (zh) * 2021-04-25 2021-06-08 恒生电子股份有限公司 异常对象识别方法、装置、设备及存储介质

Also Published As

Publication number Publication date
KR20200039536A (ko) 2020-04-16
KR102198339B1 (ko) 2021-01-05

Similar Documents

Publication Publication Date Title
KR102198339B1 (ko) 이상 케이스 탐지 방법 및 장치
EP3979080A1 (en) Methods and systems for predicting time of server failure using server logs and time-series data
US10949325B1 (en) Automated cross-session video game testing
US20200210809A1 (en) System and method for outlier detection using a cascade of neural networks
CN111954860B (zh) 对细粒度对抗性多队员运动进行预测的***和方法
US20210374864A1 (en) Real-time time series prediction for anomaly detection
CN112434742A (zh) 一种识别以太坊上庞氏骗局的方法、***及设备
WO2020238235A1 (zh) 一种核身校验方法及装置
KR20200094065A (ko) 게임 내 스트레스 상황이 발생하였는지를 결정하는 방법 및 그 장치
US10279266B2 (en) Monitoring game activity to detect a surrogate computer program
KR102154828B1 (ko) 게임 승부 예측 방법 및 장치
KR101998294B1 (ko) 작업장 계정 검출 장치 및 방법
CN112402982A (zh) 基于机器学习的用户作弊行为检测方法和***
US20220387897A1 (en) Systems and methods for video streaming analysis
KR102038957B1 (ko) 게임 어뷰저 검출 방법 및 장치
KR101932765B1 (ko) 게임 어뷰저 검출을 위한 로그 데이터 처리 방법 및 장치
KR102017481B1 (ko) 비정상 유저 탐지 장치 및 방법
JP2020095583A (ja) 人工知能を利用した倒産確率算出システム
KR102289396B1 (ko) 군장비 수리부속 품목 수요예측의 고도화를 위한 강화학습 적용
CN115249281A (zh) 图像遮挡和模型训练方法、装置、设备以及存储介质
CN110354501B (zh) 行为预测方法、装置及电子设备
KR102137109B1 (ko) 로그 메시지의 패턴을 분류하는 방법 및 장치
KR20200072391A (ko) 게임 지표 정보 예측 방법 및 장치
CN113457167A (zh) 用户分类网络的训练方法、用户分类方法及装置
KR20200044649A (ko) 데이터 변화의 검출 및 표시를 위한 장치 및 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent