KR20220117980A - 게임 플레이어의 군집화 방법 - Google Patents

게임 플레이어의 군집화 방법 Download PDF

Info

Publication number
KR20220117980A
KR20220117980A KR1020210021519A KR20210021519A KR20220117980A KR 20220117980 A KR20220117980 A KR 20220117980A KR 1020210021519 A KR1020210021519 A KR 1020210021519A KR 20210021519 A KR20210021519 A KR 20210021519A KR 20220117980 A KR20220117980 A KR 20220117980A
Authority
KR
South Korea
Prior art keywords
game
clustering
players
play
tag
Prior art date
Application number
KR1020210021519A
Other languages
English (en)
Other versions
KR102522834B1 (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 KR1020210021519A priority Critical patent/KR102522834B1/ko
Priority to US18/547,122 priority patent/US20240050861A1/en
Priority to PCT/KR2022/002351 priority patent/WO2022177319A1/ko
Publication of KR20220117980A publication Critical patent/KR20220117980A/ko
Application granted granted Critical
Publication of KR102522834B1 publication Critical patent/KR102522834B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • 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/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/795Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • 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/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • 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/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/798Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for assessing skills or for ranking players, e.g. for generating a hall of fame
    • 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/85Providing additional services to players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

게임을 플레이하는 다수의 플레이어들의 플레이 데이터를 이용하여 플레이어들을 성향에 따라 군집화하는 방법이 개시된다. 복수의 상기 게임에 대해 각각의 게임의 특성을 표현하는 태그를 부여하고, 각각의 플레이어들에 대해 플레이 데이터를 토대로 태그들에 대한 비중을 산출한다. 각각의 플레이어는 태그별로 산출된 비중을 토대로 그 성향에 따라 복수의 군집으로 분류된다. 플레이어들을 플레이 성향에 따라 분류하여 군집화함으로써 게임 개발사가 자신의 게임의 특성에 부합되는 플레이어들 위주로 타게팅 광고를 할 수 있다.

Description

게임 플레이어의 군집화 방법 {Method fir Clustering Game Players}
본 발명은 게임 플레이어의 군집화 방법에 관한 것으로서, 보다 상세하게는, 컴퓨터 게임을 플레이하는 플레이어들을 그 플레이 성향에 따라 분류하여 군집화하는 방법에 관한 것이다.
IT 기술의 발달에 따라 다양한 컴퓨터 게임이 활성화되고 많은 플레이어가 컴퓨터 게임을 즐기고 있다. 게임 개발사들이 경쟁적으로 다양한 종류의 게임을 출시함에 따라 컴퓨터 게임을 즐기는 플레이어들에게 게임에 대해 마케팅을 할 필요가 있다. 이러한 마케팅을 위해 게임 개발사는 개발된 게임에 대한 마케팅을 마케팅 대행사에 의뢰하기도 한다.
그런데 마케팅을 의뢰받은 대행사에게 게임 개발사가 개발한 게임에 적합한 주 수요층을 타겟으로 하는 마케팅을 제시하기는 어렵다. 현재의 마케팅 방식은 게임 광고가 불특정 다수가 사용하는 여러 매체에 무차별적으로 노출되는 형태로 진행되고 있고, 따라서 마케팅에 소요되는 노력과 비용에 비해 효과적인 마케팅 효과를 기대할 수 없는 상황이다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로서, 본 발명의 목적은 컴퓨터 게임을 플레이하는 플레이어들을 그 플레이 성향에 따라 분류하여 군집화함으로써 게임 개발사가 자신의 게임의 특성에 부합되는 플레이어들 위주로 타게팅 광고를 할 수 있도록 하는 방안을 제공하는 것이다.
상기 목적을 달성하기 위하여 본 발명은, 게임을 플레이하는 다수의 플레이어들의 게임 플레이와 관련된 데이터인 플레이 데이터를 수집하는 서버에 의해 수행되는, 상기 플레이어들을 성향에 따라 군집화하는 방법을 제시한다. 본 발명의 군집화 방법은, a) 복수의 상기 게임에 대해, 각각의 상기 게임의 특성을 표현하는 태그가 부여된 정보를 저장하는 단계; b) 각각의 상기 플레이어들에 대해, 상기 태그가 부여된 상기 게임에 관한 상기 플레이 데이터를 토대로 상기 태그들에 대한 비중을 산출하는 단계; 및 c) 각각의 상기 플레이어에 대하여 상기 태그별로 산출된 상기 비중을 토대로, 상기 플레이어들을 그 성향에 따라 복수의 군집으로 분류하는 단계;를 포함하는 것을 특징으로 한다.
상기 플레이 데이터는 각각의 상기 플레이어들이 각각의 상기 게임을 플레이한 시간 및 빈도 중 하나 이상을 포함할 수 있다.
상기 b) 단계에서 상기 비중은, 상기 플레이어 전체가 특정의 태그가 부여된 상기 게임을 플레이한 시간 및/또는 빈도에 대한, 각각의 상기 플레이어가 상기 특정의 태그가 부여된 상기 게임을 플레이한 시간 및/또는 빈도의 비율을 토대로 산출되는 것이 바람직하다.
상기 b) 단계에서 상기 비중은, 상기 시간과 상기 빈도에 대해 각각 소정의 가중치를 부여하여 산출되는 것이 바람직하다.
상기 게임의 특성은 복수의 카테고리로 분류되며, 상기 태그는 복수의 상기 카테고리에 대해 각각 정의될 수 있다. 이때 복수의 상기 카테고리 각각에 대해 복수의 상기 태그가 정의되는 것이 바람직하다.
상기 b) 단계에서 상기 비중은, 복수의 상기 카테고리에 대해 소정의 가중치를 부여하여 산출될 수 있다.
상기 c) 단계는, c-1) 각각의 상기 플레이어별로 각각의 상기 태그에 대한 상기 비중을 벡터화한 벡터데이터를 작성하는 단계; 및 c-2) 벡터데이터에 대해 소정의 군집화 알고리즘을 적용하여 상기 복수의 군집으로 분류하는 단계;를 포함하여 구성될 수 있다.
상기 c-2) 단계 수행 전에, 상기 벡터데이터를 저차원 벡터로 변환하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 컴퓨터 게임을 플레이하는 플레이어들을 그 플레이 성향에 따라 분류하여 군집할 수 있다. 이러한 군집화된 플레이어들에 대한 정보를 바탕으로, 예컨대 게임 개발사가 자신의 게임의 특성에 부합되는 플레이어들 위주로 타게팅 광고를 하거나, 각 군집별로 차별화된 게임 관련 혜택을 부여하는 등의 다양한 프로모션 전략을 수립할 수 있다.
도 1 은 본 발명에 따른 군집화 과정을 수행하는 전체 시스템의 구성을 도시한 도면.
도 2 는 도 1 의 군집화 서버를 도시한 도면.
도 3 은 도 2 의 벡타화 모듈에 의해 플레이어의 특성이 벡타화된 상태를 도시한 도면.
도 4 는 도 3 의 고차원 벡터가 저차원 벡터로 변화된 상태를 도시한 도면.
도 5 는 도 4 의 저차원 벡터에 대해 각 플레이어를 군집화한 상태를 도시한 도면.
이하에서는 도면을 참조하여 본 발명을 보다 구체적으로 설명한다.
이하의 설명에서, 서버, ~~부, ~~모듈 등으로 기재된 구성은 각각이 하나의 컴퓨터나 서버로 구성될 수도 있고 하나의 컴퓨터나 서버 내에 기능 모듈들로 각각 구분되어 구비된 구성일 수도 있다. 예컨대 두 개의 개별적인 서버로 도시된 구성은 실제 구현 예에서는 하나의 서버로 구성될 수 있고, 하나의 서버로 도시된 구성은 이 서버가 수행하는 세부 동작들을 개별적으로 수행하는 복수의 서버로 구성될 수도 있다. 또한 본 발명의 설명에서, 본 발명의 요지와 직접적으로 관련되어 있지 않거나 통상적으로 자명하게 구비되는 일반적인 구성에 대해서는 본 발명의 특징적인 구성과 직접 관련되어 있지 않는 한 그 세세한 구성의 도시 및 설명이 생략된다.
도 1 은 본 발명에 따른 군집화 과정을 수행하는 전체 시스템의 구성을 도시한 도면이다. 본 발명에 따른 군집화 시스템(10)에는 플레이어들이 각각 사용하는 다수의 사용자 단말기(70), 및 다수의 게임제공사들이 각각 사용하는 다수의 게임제공 서버(50)가 인터넷 등과 같은 네트워크를 통해 연결된다. 여기에서 플레이어는 게임을 플레이하는 플레이어로서, 본 발명에서 군집화하고자 하는 대상이다.
본 발명의 군집화 시스템(10)은 게임관리 서버(12), 플레이어관리 서버(14), 및 플랫폼 서버(20)를 포함하여 구성된다.
게임관리 서버(12)는 게임제공사들을 회원으로 가입받아 각각의 게임제공사가 운영하는 게임제공 서버들(50)로부터 제공되는 게임들을 관리한다. 여기에서 관리는, 게임제공 서버들(50)이 제공하는 각 게임들의 등록 및 등록된 게임들의 접속 경로에 대한 등록 등의 관리를 포함한다. 또한 게임관리 서버(12)는 게임제공 서버들(50)로부터 자신의 게임을 이용한 플레이어들의 플레이 데이터를 제공받는다.
플레이어관리 서버(14)는 플레이어들을 회원으로 가입받아 각각의 플레이어가 사용하는 사용자 단말기들(70)을 관리한다. 사용자 단말기(70)는 모바일 단말기일 수도 있고, 유선 인터넷을 통해 접속하는 일반적인 컴퓨터와 같은 단말기일 수도 있다. 여기에서 관리는, 사용자 단말기(70)의 등록 및 등록된 사용자 단말기(70)의 시스템(10) 접속 등과 관련된 관리를 의미한다. 또한 플레이어관리 서버(14)는 사용자 단말기(70)로부터 각 플레이어들의 플레이 데이터를 제공받는다.
본 실시예에서는 군집화 시스템(10)이 게임관리 서버(12)와 플레이어관리 서버(14)를 구비고 있으나, 이는 예시적인 것이며 군집화 서버(20)만을 구비하여도 무방하다. 이 경우, 군집화 서버(20)는 군집화 과정에 필요한 데이터를 직접 수집하지 않고 외부 서버로부터 필요한 데이터를 제공받도록 구성될 수 있다. 즉, 본 발명의 군집화 방법을 구현하기 위해서는 각 플레이어의 플레이 데이터를 군집화 서버(20)가 수집하여야 하며, 이러한 플레이 데이터의 수집은 도 1 과 같이 군집화 시스템(10)을 구성할 경우에는 군집화 시스템(10)이 직접 수행할 것이나, 도 1 과 같이 구성하지 않고 군집화 서버(20)만을 구비함으로써 외부의 다른 서버(도시되지 않음)로부터 플레이 데이터를 제공받을 수 있다.
여기에서 플레이 데이터는 플레이어가 다양한 게임을 플레이한 결과를 토대로 하여 플레이어에 대해 파악되는 정보이다. 구체적으로, 플레이 데이터는 플레이어의 인적 사항, 플레이 시간, 플레이 빈도, 플레이 레벨, 및 게임 이탈율 중 하나 이상을 포함할 수 있다. 이러한 다양한 종류의 플레이 데이터가 플레이어의 군집화에 사용될 수 있으나, 이 중에서 본 발명에서는 특히 플레이 시간을 위주로 플레이어의 군집화 프로세서를 수행한다.
도 2 는 도 1 의 군집화 서버(20)를 도시한 도면이다. 군집화 서버(20)는 수집 모듈(22), 비중 산출 모듈(24), 벡터화 모듈(26), 및 분류 모듈(28)을 구비한다.
수집 모듈(22)은 플레이 데이터를 수집하는 모듈이다. 도 1 과 같이 군집화 시스템(10)이 구성되는 경우에는 수집 모듈(22)은 플레이 데이터를 게임관리 서버(12) 및/또는 사용자관리 서버(14)로부터 제공받을 수 있다. 군집화 시스템(10)이 군집화 서버(20)만으로 구성되는 경우에는 수집 모듈(22)은 플레이 데이터를 수집하는 별도의 외부 서버(도시되지 않음)로부터 플레이 데이터를 제공받아 수집할 수 있다.
비중 산출 모듈(24)은 각 플레이어들에 대해 플레이 데이터를 토대로 태그들에 대한 비중을 산출하는 모듈이다. 여기에서 태그는 특성을 표현하기 위해 각 게임에 대해 그 특성에 부합되도록 부여되는 것으로서, 비중 산출 모듈(24)은 각 게임별로 부여된 태그들에 대한 정보를 사전에 구비하고 있다.
벡터화 모듈(26)은 비중 산출 모듈(24)에서 각각의 플레이어별로 각각의 태그에 대해 산출된 비중을 벡터화한다. 또한 벡터화 모듈(26)은 군집화를 위한 연산의 양을 줄이기 위하여 벡터화한 벡터데이터를 고차원 벡터에서 저차원 벡터로 변환한다.
분류 모듈(28)은 플레이어에 대하여 각 태그별로 산출된 비중을 토대로 플레이어들을 그 성향에 따라 복수의 군집으로 분류한다. 이때 분류 모듈(28)은, 상기 비중을 토대로 분류하는 구체적 방안으로서, 벡터화 모듈(26)에서 생성된 저차원 벡터를 군집의 분류에 사용한다.
이하에서는 이와 같은 구성을 갖는 본 발명의 프로세스를 기술한다.
1. 태그의 설정
먼저, 본 발명을 구현하기 위하여 사용되는 태그에 대해 기술한다.
태그는 각 게임에 대해 그 특성을 표현하기 위해 사용되는 인자이다. 예컨대, 플레이어가 전략을 수립하여 이에 기반하여 플레이하고 그 화면 구성이 화려하며 게임을 하는 상대방이 존재하는 게임(가)에 대하여 그 특성을 표현하면, '전략', '화려한', '상대방' 등의 태그가 부여될 수 있다. 태그를 부여하기 위해서, 먼저 태그가 정의되어야 한다.
태그의 정의는 게임의 특성을 표현하는 여러 카테고리를 설정하고, 각 카테고리 내에 해당 카테고리의 태그들을 정의한다. 여기에서 카테고리는 게임의 특성을 다양한 관점에서 분리하여 파악한 분류로서 일 예로서 다음과 같이 구성되며, 각 카테고리별로 다음과 같이 태그가 정의될 수 있다.
- 장르 : 전략, 레이싱, 스포츠, 퍼즐.....
- 캐릭터 : 남성, 여성, 로봇, 근육질.....
- 화면구성 : 멋진, 화려한, 웃긴, 단순한.....
- 플레이 시간 : 매우 짧은, 짧은, 중간, 긴, 매우 긴
- 플레이어 수 : 혼자, 2명, 3명 이상......
예컨대, "장르"는 게임의 시나리오에 따른 카테고리로서, "장르" 카테고리에는 '전략', '레이싱', '스포츠', '퍼즐' 등의 태그가 존재한다. 이와 같이 게임의 특성은 복수의 카테고리로 분류되며, 각각의 카테고리 내에는 복수의 태그가 정의된다.
이러한 카테고리와 태그는 군집화 서버(20)의 관리자에 의해 정의되어 비중 산출 모듈(24)에 저장된다. 설정된 카테고리와 태그는 관리자에 의해 추후에 변경될 수 있다.
관리자는 게임(가)에 대해 위와 같이 분류된 각 카테고리별 태그를 부여한다. 예컨대 게임(가)의 태그는 '전략', '남성', '화려한', '긴', '3명 이상' 등이 부여될 수 있다. 이러한 태그의 부여는 게임 개발사에 의해 수행될 수도 있고 군집화 서버(20)의 관리자에 의해 수행될 수도 있다. 게임(가)에 대해 부여된 위와 같은 태그에 대한 정보는 비중 산출 모듈(24)에 저장된다.
한편, 각 게임에 대한 태그는 모든 카테고리에 대해 부여되어야 하는 것은 아니다. 예컨대, 게임(마)에 대해서는 '스포츠', '화려한'의 2개의 태그만 부여될 수 있다.
2. 플레이 데이터의 수집
수집 모듈(22)은 플레이 데이터를 수집한다. 본 발명의 바람직한 실시예에서는, 플레이 데이터로서 각 플레이어의 각 게임 플레이 시간을 사용한다. 즉, 수집 모듈(22)은 각 플레이어에 대해 과거에(또는 최근 1년과 같은 특정 기간 동안) 어떤 게임을 몇 시간동안 플레이했는지에 대한 정보를 수집하여 비중 산출 모듈(24)에 제공한다.
예컨대, 플레이어1(P1)이 게임(가)를 10시간 플레이하였고 게임(나)를 30시간 플레이하였고 플레이어2(P2)가 게임(나)를 5시간 플레이하였다면, 플레이어1(P1)에 대한 정보로서 "게임(가) 10시간, 게임(나) 30시간", 플레이어2(P2)에 대한 정보로서 "게임(나) 5시간"과 같은 데이터가 얻어진다. 이와 같은 데이터를 군집화 분류 대상이 되는 모든 플레이어에 대해 수행함으로써 예컨대 다음과 같은 표 1 과 같이 구성된 데이터가 얻어진다.
P 1 P 2 P n
게임(가)
(T1, T3, T11)
10 0 ㆍㆍㆍㆍㆍㆍ
게임(나)
(T3, T20)
30 5
0 0
0 0
3. 비중의 산출
비중은 각 플레이어별로 산출되며, 또한 하나의 플레이어에 대해 태그별로 산출된다. 구체적으로는, 플레이어 전체가 특정의 태그가 부여된 게임을 플레이한 시간을 분모로 하고, 각각의 상기 플레이어가 특정의 태그가 부여된 게임을 플레이한 시간을 분자로 하여, 그 비율을 산정함으로써 특정 플레이어의 특정 태그에 대한 비중이 산출된다. 이와 같은 과정을 모든 태그에 대해 수행한다.
예컨대, 게임(가)에 대해 부여된 태그는 'T1, T3, T11' 이고, 게임(나)에 대해 부여된 태그는 'T3, T20' 이라고 가정한다. P1 의 게임(가) 플레이에 의하여 T1, T3, T11 은 각각 10시간씩, 그리고 게임(나) 플레이에 의하여 T3 와 T20 은 각각 30시간씩의 플레이 시간이 부여된다. 그리고 P2 의 게임(나) 플레이에 의하여 T3, T20 은 각각 5시간씩의 플레이 시간이 부여된다. P1 과 P2 가 플레이어 전체를 구성하는 모집단이라고 가정하고 태그별로 전체 플레이 시간을 산출하면, T1 = 10, T3 = 10 + 30 + 5 = 45, T11 = 10, T20 = 30 + 5 = 35 가 된다.
P1 에 대해 태그별 비중을 산출하면, T1 = 10/10 = 1, T3 = (10 + 30) /45 = 0.89, T11 = 10/10 = 1, T20 = 30 / 35 = 0.86 이 되고, 나머지 태그에 대해서는 모두 '0'이 된다.
P2 에 대해 태그별 비중을 산출하면, T3 = 5 / 45 = 0.11, T20 = 5 / 35 = 0.14 가 되고, 나머지 태그에 대해서는 모두 '0' 이 된다.
이와 같은 과정을 모든 태그에 대해서 모든 플레이어의 플레이 데이터를 토대로 수행함으로써, 모든 플레이어에 대해 모든 태그의 비중이 산출된다.
4. 비중의 벡터화
벡터화 모듈(26)은 비중 산출 모듈(24)에 의해 산출된 각 플레이어별 각 태그별 비중을 벡터화된 데이터로 작성한다. 이에 따라 도 3 과 같은 행렬의 형태를 갖는 벡터데이터가 얻어진다. 이 벡터데이터는 군집화를 위한 기본 데이터로 사용된다.
그런데, 이러한 벡터데이터는 데이터의 양이 매우 방대하므로 군집화를 위한 연산량을 줄이기 위하여 데이터의 양일 줄일 필요가 있다. 즉, 데이터의 차원이 선형적으로 증가할 때 후술되는 군집화를 위한 알고리즘 수행 시의 연산량은 지수적(exponential)으로 증가하며, 또한 고차원 데이터는 정보의 밀도와 질이 감소하여 과적합(overfitting)의 문제가 발생한다.
데이터의 양을 줄이기 위하여, 벡터화 모듈(26)은 도 3 의 고차원 벡터를 도 4 와 같은 저차원 벡터로 변환한다. 이를 위하여 예컨대 tSNE 알고리즘을 사용할 수 있다. 저차원 벡터로의 변환에는 일반적으로 주성분 분석(PCA), T-분포 확률적 임베딩(tSNE)가 사용될 수 있다. 그런데 PCA 의 경우에는 선형 분석 방식으로 값을 사상(projection)하므로 차원이 감소되면서 군집화되어 있는 데이터들이 뭉게져서 제대로 구별할 수 없는 문제를 가지고 있다. 이런 문제를 해결하기 위한 차원 감소 방법으로서, 본 발명에서는 tSNE 를 사용하는 것이 바람직하다.
도 3 에 비하여 도 4 에서는 행의 수 즉, 플레이어의 수(Pn)은 동일하고 열의 수, 즉 태그의 수는 줄어든다. 최종적인 분류 대상이 플레이어이므로 플레이어는 그대로 유지되며, 태그의 수는 연산량이 의미 있는 수준으로 줄어들 수 있도록 감축된다. tSNE 알고리즘에서 최종적으로 의도하는 열의 수를 설정함으로써 도 4 의 저차원 벡터에서의 열의 수를 축소할 수 있다. 이때의 각 열을 구성하는 TA, TB 등의 인자는 각각이 더 이상 특정 태그를 표현하는 요소가 아니며, 저차원 벡터로 연산된 결과 내에서 태그의 수학적 조합의 성질을 갖는 요소에 해당된다.
일 예로서, 도 3 의 열(태그)은 약 30개로 구성되며, 도 3 의 열은 약 10개로 구성된다. 이와 같이 열의 수를 줄임으로써 군집화를 위한 연산량을 크게 줄일 수 있다.
5. 군집화
분류 모듈(28)은 벡터화 모듈(26)로부터 도 4 의 저차원 벡터의 데이터를 수신하여 군집화를 수행한다. 분류 모듈(28)은 군집화를 위해 도 4 의 벡터데이터에 대해 소정의 군집화 알고리즘을 적용하며, 바람직하게는 본 발명의 군집화가 비지도 학습(unsupervsed learning)임을 고려하여 비지도 합습의 군집화(Clustering)에 적합하게 사용되는 K-Means 알고리즘을 사용한다. 비지도 학습은 지도 학습(supervised learning)과 달리 답을 알지 못한 상태에서 학습을 진행할 때 사용하며, 군집화는 이러한 비지도 학습에 해당된다. K-means 알고리즘은 적은 계산 비용으로 많은 양의 데이터에서 사전 정보 없이 의미있는 군집화를 수행할 수 있다.
도 5 는 군집화의 결과를 개념적으로 나타낸 도면이다. 모든 플레이어는 각 클러스터(C1, C3, ㆍㆍㆍㆍㆍ, Cm) 중 어느 하나에 포함되도록 분류된다. C1~Cm 의 각 클러스터는 게임에 대하여 성향이 유사한 플레이어들의 집합을 나타낸다.
6. 군집화 결과의 활용
게임 개발사가 새로운 게임(바)를 새로 출시하였다고 가정한다. 게임 개발사 또는 군집화 시스템(10)의 관리자는 게임(바)에 대해 그 특성을 정의한다. 특성을 정의하는 데에 있어서는 전술한 바와 같은 방식으로 마련된 태그를 게임(바)에 대해 부여하는 것이 하나의 방법이 될 수 있다.
일 예로서, 게임(바)의 특성을 태그를 통해 표현하면 하기와 같은 벡터가 될 수 있다.
게임(바) = [1, 0, 0, 1, ㆍㆍㆍㆍㆍ, 1, 0]
위 벡터에서 각 열은 도 3 의 행렬에서 하나의 열과 동일한 태그들의 열로 구성되며, '0', '1'의 숫자는 각 태그의 특성이 게임(바)에 존재하는지의 여부를 표시한다. 위와 같은 게임(바)의 벡터에 대해 도 5 의 각 클러스터(C1, C3, ㆍㆍㆍㆍㆍ, Cm)와의 유사도 연산을 수행한다. 유사도 연산은 두 벡터간의 거리를 구하는 방식으로 수행될 수 있다. 따라서 예컨대 C1 클러스터 내의 각 플레이어들의 각 벡터와 게임(바)의 벡터의 유사도를 플레이어별로 연산한 후, 이를 각 플레이어에 대해 산술평균하는 방식으로 C1 과 게임(바)의 연관도를 산출할 수 있다.
이와 같은 연관도를 모든 클레스터에 대해 산출한 뒤, 가장 연관도가 높은 클러스터를 게임(바)의 특성에 가장 부합되는 클러스터로 선정한다. 이와 같이 선정된 클러스터 내의 플레이어들에 대해 게임(바)의 타겟팅 광고를 함으로써 광고의 효과를 높일 수 있다.
상기와 같은 본 발명의 실시예는 하기와 같이 다양한 방식으로 변형될 수 있다.
전술한 실시예에서는 플레이 데이터로서 플레이 시간을 사용하였다. 특정 게임에 대한 플레이 시간은 플레이어가 그 게임을 어느 정도 선호하는지에 대한 판단을 위한 가장 적합한 척도가 될 수 있다. 그러나, 플레이어에 따라서는 게임을 즐기기는 하지만 많은 시간을 투여하지 못하는 여건인 경우가 있고, 이러한 플레이어의 경우는 전체 플레이 시간보다는 플레이 빈도, 예컨대 1주일에 몇 회를 플레이하는지가 더 큰 의미를 가질 수 있다.
이러한 점을 고려할 때, 전술한 실시예에서 플레이 데이터로서 플레이 시간이 아닌 플레이 빈도를 사용할 수 있다. 나아가, 플레이 시간과 플레이 빈도를 모두 사용할 수 있다. 이 경우, 시간과 빈도에는 각각 소정의 가중치가 부여될 수 있다. 일 예로서, 시간에는 가중치를 '3'으로 하고 빈도에는 가중치를 '1'로 하여, 전술한 바와 동일한 방식으로 산출된 '시간'에 대한 비중에 3을 곱한 뒤 마찬가지 방식으로 산출된 '빈도'에 대한 비중을 더한 값을 최종적으로 도 3 과 같은 행렬을 구성하는 비중으로 사용할 수 있다.
이러한 방식에 의하면, 잦은 빈도를 통해 게임에 대한 관심도가 높은 것으로 볼 수 있는 플레이어의 비중이 연산 과정에서 낮은 중요도로 취급되는 단점이 방지될 수 있다.
또한, 전술한 실시예에서는 비중의 산출 시 각 카테고리가 동등한 중요도를 갖도록 하였다. 그러나, 각 카테고리에 대해 상이한 가중치가 부여될 수 있다. 즉, 플레이어의 성향을 대변하는 데에는 위 예시한 카테고리들이 모두 동일한 중요도를 갖는다고 보기 어렵다. 예컨대, '장르' 카테고리는 플레이어의 성향을 크게 대변한다고 볼 수 있으나, '화면구성' 카테고리는 이에 비하여 플레이어의 성향을 대변하는 정도가 낮다고 볼 수 있다. 이를 고려하여, 각 카테고리에 대해 상이한 가중치를 부여할 수 있다. 일 예로서, 만약 '장르'에는 가중치로서 '3'을 부여하고 '화면구성'에는 가중치로서 '0.5'를 부여한다면, 전술한 표 1 을 토대로 산출된 도 3 의 행렬의 값들에서 '장르' 카테고리의 태그들에 대해서는 3배의 값으로 변경하고 '화면구성' 카테고리의 태그들에 대해선 0.5배의 값으로 변경한다.
이와 같은 방식에 의하여, 플레이어의 성향을 파악하는 데에 비중이 큰 카테고리의 태그들이 플레이어의 군집화 과정에서 더 큰 비중으로 반영되도록 할 수 있다.
이상 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록 청구 범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (9)

  1. 게임을 플레이하는 다수의 플레이어들의 게임 플레이와 관련된 데이터인 플레이 데이터를 수집하는 서버에 의해 수행되는, 상기 플레이어들을 성향에 따라 군집화하는 방법으로서,
    a) 복수의 상기 게임에 대해, 각각의 상기 게임의 특성을 표현하는 태그가 부여된 정보를 저장하는 단계;
    b) 각각의 상기 플레이어들에 대해, 상기 태그가 부여된 상기 게임에 관한 상기 플레이 데이터를 토대로 상기 태그들에 대한 비중을 산출하는 단계; 및
    c) 각각의 상기 플레이어에 대하여 상기 태그별로 산출된 상기 비중을 토대로, 상기 플레이어들을 그 성향에 따라 복수의 군집으로 분류하는 단계;
    를 포함하는 것을 특징으로 하는 군집화 방법.
  2. 제 1 항에 있어서,
    상기 플레이 데이터는 각각의 상기 플레이어들이 각각의 상기 게임을 플레이한 시간 및 빈도 중 하나 이상을 포함하는 것을 특징으로 하는 군집화 방법.
  3. 제 2 항에 있어서,
    상기 b) 단계에서 상기 비중은, 상기 플레이어 전체가 특정의 태그가 부여된 상기 게임을 플레이한 시간 및/또는 빈도에 대한, 각각의 상기 플레이어가 상기 특정의 태그가 부여된 상기 게임을 플레이한 시간 및/또는 빈도의 비율을 토대로 산출되는 것을 특징으로 하는 군집화 방법.
  4. 제 3 항에 있어서,
    상기 b) 단계에서 상기 비중은, 상기 시간과 상기 빈도에 대해 각각 소정의 가중치를 부여하여 산출되는 것을 특징으로 하는 군집화 방법.
  5. 제 1 항에 있어서,
    상기 게임의 특성은 복수의 카테고리로 분류되며, 상기 태그는 복수의 상기 카테고리에 대해 각각 정의되는 것을 특징으로 하는 군집화 방법.
  6. 제 5 항에 있어서,
    복수의 상기 카테고리 각각에 대해 복수의 상기 태그가 정의되는 것을 특징으로 하는 군집화 방법.
  7. 제 5 항에 있어서,
    상기 b) 단계에서 상기 비중은, 복수의 상기 카테고리에 대해 소정의 가중치를 부여하여 산출되는 것을 특징으로 하는 군집화 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 c) 단계는,
    c-1) 각각의 상기 플레이어별로 각각의 상기 태그에 대한 상기 비중을 벡터화한 벡터데이터를 작성하는 단계; 및
    c-2) 벡터데이터에 대해 소정의 군집화 알고리즘을 적용하여 상기 복수의 군집으로 분류하는 단계;
    를 포함하는 것을 특징으로 하는 군집화 방법.
  9. 제 8 항에 있어서,
    상기 c-2) 단계 수행 전에, 상기 벡터데이터를 저차원 벡터로 변환하는 단계를 더 포함하는 것을 특징으로 하는 군집화 방법.
KR1020210021519A 2021-02-18 2021-02-18 게임 플레이어들을 군집화하여 그 결과를 활용하는 방법 KR102522834B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210021519A KR102522834B1 (ko) 2021-02-18 2021-02-18 게임 플레이어들을 군집화하여 그 결과를 활용하는 방법
US18/547,122 US20240050861A1 (en) 2021-02-18 2022-02-17 Clustering method of game players
PCT/KR2022/002351 WO2022177319A1 (ko) 2021-02-18 2022-02-17 게임 플레이어의 군집화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210021519A KR102522834B1 (ko) 2021-02-18 2021-02-18 게임 플레이어들을 군집화하여 그 결과를 활용하는 방법

Publications (2)

Publication Number Publication Date
KR20220117980A true KR20220117980A (ko) 2022-08-25
KR102522834B1 KR102522834B1 (ko) 2023-04-19

Family

ID=82930912

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210021519A KR102522834B1 (ko) 2021-02-18 2021-02-18 게임 플레이어들을 군집화하여 그 결과를 활용하는 방법

Country Status (3)

Country Link
US (1) US20240050861A1 (ko)
KR (1) KR102522834B1 (ko)
WO (1) WO2022177319A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190066179A (ko) * 2017-12-05 2019-06-13 윤준서 게임 삭제 기록을 이용한 모바일 게임 추천 시스템
JP2019091505A (ja) * 2019-03-20 2019-06-13 ヤフー株式会社 決定装置、決定方法及び決定プログラム
KR20190094068A (ko) * 2018-01-11 2019-08-12 한국전자통신연구원 온라인 게임에서 게이머 행동 유형을 분류하는 분류기의 학습 방법 및 상기 분류기를 포함하는 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102679339B1 (ko) * 2016-11-21 2024-06-27 주식회사 넥슨코리아 유저의 게임 플레이이력을 이용한 게임모드제공방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190066179A (ko) * 2017-12-05 2019-06-13 윤준서 게임 삭제 기록을 이용한 모바일 게임 추천 시스템
KR20190094068A (ko) * 2018-01-11 2019-08-12 한국전자통신연구원 온라인 게임에서 게이머 행동 유형을 분류하는 분류기의 학습 방법 및 상기 분류기를 포함하는 장치
JP2019091505A (ja) * 2019-03-20 2019-06-13 ヤフー株式会社 決定装置、決定方法及び決定プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"치수 특성과 머신러닝의 t-SNE를 이용한 지역 군집화 제고 연구", 한국방재학회논문집 제20권 3호(2020.06.)* *

Also Published As

Publication number Publication date
US20240050861A1 (en) 2024-02-15
KR102522834B1 (ko) 2023-04-19
WO2022177319A1 (ko) 2022-08-25

Similar Documents

Publication Publication Date Title
Chen et al. Customer lifetime value in video games using deep learning and parametric models
Bertens et al. A machine-learning item recommendation system for video games
CN108269012A (zh) 风险评分模型的构建方法、装置、存储介质及终端
CN107368965A (zh) 一种剧本数据处理方法、装置及应用其的计算机设备
KR101796667B1 (ko) 빅데이터 환경에서 군집 및 연관규칙에 기반한 데이터 마이닝 기법을 이용한 시계열 자료 분석 시스템 및 방법
Guzdial et al. Deep static and dynamic level analysis: A study on infinite mario
CN109902823A (zh) 一种基于生成对抗网络的模型训练方法及设备
CN113268589A (zh) 关键用户识别方法、装置、可读存储介质和计算机设备
CN115221403A (zh) 一种基于大数据的游戏推荐方法
Ulas Examination of National Basketball Association (NBA) team values based on dynamic linear mixed models
Tricomi et al. Attribute inference attacks in online multiplayer video games: A case study on Dota2
de Castro Rodrigues et al. Artificial Intelligence applied to smart interfaces for children’s educational games
Guitart et al. From non-paying to premium: predicting user conversion in video games with ensemble learning
CN113159840A (zh) 一种对象类型预测方法、装置和存储介质
KR102522834B1 (ko) 게임 플레이어들을 군집화하여 그 결과를 활용하는 방법
Vihanga et al. Weekly seasonal player population patterns in online games: A time series clustering approach
CN112819499A (zh) 信息发送方法、装置、服务器及存储介质
Bednárek et al. Player performance evaluation in team-based first-person shooter esport
Moshfeghi et al. A game-theory approach for effective crowdsource-based relevance assessment
CN115222461A (zh) 一种智能营销精准推荐方法
Zhang et al. Detection of illegal players in massively multiplayer online role playing game by classification algorithms
Clark Applications in sentiment analysis and machine learning for identifying public health variables across social media
Chandrasekaran et al. A learning analytics approach to build learner profiles within the educational game omega+
İspa et al. Clustering English Premier League Referees Using Unsupervised Machine Learning Techniques
Kwon et al. Clustering player behavioral data and improving performance of churn prediction from mobile game

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right