KR20210146827A - 게임 통신 트랜스크립트에서 텍스트 태그의 생성 - Google Patents

게임 통신 트랜스크립트에서 텍스트 태그의 생성 Download PDF

Info

Publication number
KR20210146827A
KR20210146827A KR1020210068211A KR20210068211A KR20210146827A KR 20210146827 A KR20210146827 A KR 20210146827A KR 1020210068211 A KR1020210068211 A KR 1020210068211A KR 20210068211 A KR20210068211 A KR 20210068211A KR 20210146827 A KR20210146827 A KR 20210146827A
Authority
KR
South Korea
Prior art keywords
game
chat
implementations
games
user
Prior art date
Application number
KR1020210068211A
Other languages
English (en)
Other versions
KR102615236B1 (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 로브록스 코포레이션
Publication of KR20210146827A publication Critical patent/KR20210146827A/ko
Application granted granted Critical
Publication of KR102615236B1 publication Critical patent/KR102615236B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • 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
    • 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/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • 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/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • 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/57Features 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 details of game services offered to the player
    • A63F2300/572Communication between players during game play of non game information, e.g. e-mail, chat, file transfer, streaming of audio and streaming of video

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Optics & Photonics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

일부 구현은 게임에 대한 텍스트 태그를 생성하기 위한 방법, 시스템 및 컴퓨터 판독가능 매체와 관련된다. 일부 구현에서, 하나 이상의 텍스트 태그를 생성하기 위한 컴퓨터 구현된 방법은, 복수의 채팅 트랜스크립트를 획득하는 단계를 포함하고, 각각의 채팅 트랜스크립트는 복수의 게임 중 각각의 게임의 각각의 게임 플레이 세션과 연관된다. 각각의 채팅 트랜스크립트는 게임 플레이 세션에서 참가자에 의해 제공된 콘텐츠를 포함한다. 방법은 복수의 게임 중 각각의 게임에 대한 하나 이상의 특성을 결정하기 위해 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 단계 및 복수의 게임 중 적어도 하나의 게임에 대한 텍스트 태그를 적어도 하나의 게임의 하나 이상의 특성에 기초하여 생성하는 단계를 더 포함한다.

Description

게임 통신 트랜스크립트에서 텍스트 태그의 생성 {GENERATION OF TEXT TAGS FROM GAME COMMUNICATION TRANSCRIPTS}
실시예는 일반적으로 컴퓨터 기반 게임, 보다 구체적으로는 게임에 대한 텍스트 태그를 생성하기 위한 방법, 시스템 및 컴퓨터 판독가능 매체에 관한 것이다.
일부 온라인 게임 플랫폼은 사용자가 서로 연결하고, (예컨대, 게임 내에서) 서로 인터랙션하고, 게임을 생성하고, 그리고 인터넷을 통해 서로 정보를 공유할 수 있도록 한다. 온라인 게임 플랫폼의 사용자는 멀티 플레이어 게임 환경(예컨대, 가상 삼차원 환경)에서 참가하고, 캐릭터 및 아바타를 디자인하고, 아바타를 꾸미고, 다른 사용자와 가상 아이템/객체를 교환하며, 오디오 또는 텍스트 메시지를 사용하여 다른 사용자와 통신하는 것 등을 할 수 있다.
사용자는 플레이하기에 적합한 게임을 발견하기 위해 자신의 관심사에 기초하여 게임을 브라우징 및/또는 검색할 수 있다. 예컨대, 사용자는 카테고리(예컨대, 액션, 레이싱, 퍼즐, 전략, 인기, 트렌드, 신규 등)에 의해 게임을 브라우징하거나 키워드 또는 컨셉(예컨대, "자동차 추격, ”보드 게임" 등)에 의해 게임을 검색할 수 있다.
여기에서 설명된 구현은 텍스트 태그의 생성과 관련된다. 일부 구현에서, 하나 이상의 텍스트 태그를 생성하기 위한 컴퓨터 구현된 방법은, 복수의 채팅 트랜스크립트(chat transcript)를 획득하는 단계 - 각각의 채팅 트랜스크립트는 복수의 게임 중 각각의 게임의 각각의 게임 플레이 세션과 연관됨 -, 복수의 게임 중 각각의 게임에 대한 하나 이상의 특성을 결정하기 위해 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 단계, 그리고 복수의 게임 중 적어도 하나의 게임에 대한 텍스트 태그를 적어도 하나의 게임의 하나 이상의 특성에 기초하여 생성하는 단계를 포함한다. 일부 구현에서, 각 채팅 트랜스크립트는 게임 플레이 세션의 참가자에 의해 제공된 콘텐츠를 포함한다.
일부 구현에서, 방법은 사용자가 게임을 브라우징 또는 검색할 수 있도록 하는 사용자 인터페이스를 제공하는 단계를 더 포함하고, 그리고 사용자 인터페이스는 복수의 게임 및 대응하는 텍스트 태그를 포함한다.
일부 구현에서, 각각의 게임의 하나 이상의 특성을 결정하기 위해 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 단계는 각각의 게임과 연관된 수치 메트릭(numerical metric)을 결정하는 단계를 포함한다. 일부 구현에서, 수치 메트릭을 결정하는 단계는 복수의 채팅 트랜스크립트 각각에서 메시지의 수를 결정하는 단계를 포함한다. 일부 구현에서, 수치 메트릭은 메시지의 수에 기초한다. 일부 구현에서, 메시지의 수를 결정하는 단계는 기간당 각각의 트랜스크립트에서 메시지의 수 또는 각 참가자에 의한 각각의 트랜스크립트에서 메시지의 수를 결정하는 단계를 포함한다.
일부 구현에서, 각각의 게임의 하나 이상의 특성을 결정하기 위해 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 단계는 복수의 채팅 트랜스크립트에 기초하여 각각의 게임과 연관된 소셜 메트릭(social metric)을 결정하는 단계를 포함한다. 일부 구현에서, 소셜 메트릭을 결정하는 단계는 채팅 트랜스크립트 각각의 각 메시지에서 단어의 수를 결정하는 단계를 포함한다. 일부 구현에서, 소셜 메트릭은 단어의 수에 기초한다.
일부 구현에서, 소셜 메트릭을 결정하는 단계는 채팅 트랜스크립트 각각의 각 메시지의 텍스트 분석을 수행하는 단계를 포함한다. 일부 구현에서, 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 단계는 각각의 게임에 대한 하나 이상의 특성을 획득하기 위해 훈련된 머신 러닝 모델을 적용하는 단계를 포함한다.
일부 구현에서, 하나 이상의 텍스트 태그는 각각의 게임의 하나 이상의 특성이 소셜 게임 임계값(social game threshold)을 충족하는 경우, 소셜 게임을 나타내는 태그를 포함한다. 일부 구현에서, 방법은 각각의 게임의 하나 이상의 특성에 기초하여 게임 참가자 간의 협력 레벨 및 경쟁 레벨을 결정하는 단계를 더 포함한다. 일부 구현에서, 하나 이상의 텍스트 태그를 생성하는 것은 협력 레벨 및 경쟁 레벨에 기초한다.
일부 구현에서, 방법은 각각의 게임과 연관된 채팅 트랜스크립트에서 하나 이상의 채팅 메시지를 보는 게임 참가자의 카운트에 기초하여 각각의 게임에 대한 수신 레벨(reception level)을 계산하는 단계를 더 포함한다. 일부 구현에서, 게임은 가상 환경을 포함한다. 일부 구현에서, 게임 참가자의 카운트에 포함된 게임 참가자는 가상 환경의 동일한 영역에 위치되는 아바타와 연관된다.
일부 구현에서, 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 단계는 복수의 채팅 트랜스크립트 각각에서 메시지의 수에 기초하여 통계적 파라미터를 결정하는 단계를 포함한다. 일부 구현에서, 통계적 파라미터는 각각의 게임 참가자와 연관된 메시지의 수의 평균값, 중앙값 또는 최빈값 중 하나 이상을 포함한다. 일부 구현에서, 방법은 게임 참가자의 참가 레벨을 통계적 파라미터에 기초하여 결정하는 단계를 더 포함한다.
일부 구현은 처리 장치에 의한 실행에 응답하여, 처리 장치로 하여금, 복수의 채팅 트랜스크립트를 획득하는 동작 - 각각의 채팅 트랜스크립트는 복수의 게임 중 각각의 게임의 각각의 게임 플레이 세션과 연관됨 -, 복수의 게임 중 각각의 게임에 대한 하나 이상의 특성을 결정하기 위해 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 동작, 복수의 게임 중 적어도 하나의 게임에 대한 텍스트 태그를 적어도 하나의 게임의 하나 이상의 특성에 기초하여 생성하는 동작을 포함하는 동작을 수행하도록 하는 명령어를 갖는 비일시적 컴퓨터 판독가능 매체를 포함한다.
일부 구현에서, 각각의 채팅 트랜스크립트는 게임 플레이 세션의 참가자에 의해 제공된 콘텐츠를 포함한다. 일부 구현에서, 텍스트 태그는 게임의 유형 또는 게임 플레이의 스타일을 나타낸다.
일부 구현은 명령어가 저장된 메모리 및 메모리에 결합된 처리 장치를 포함하는 시스템을 포함하며, 처리 장치는 메모리에 액세스하고 명령어를 실행하도록 구성된다. 일부 구현에서, 명령어는 처리 장치로 하여금, 복수의 채팅 트랜스크립트를 획득하는 동작 - 각각의 채팅 트랜스크립트는 복수의 게임 중 각각의 게임의 각각의 게임 플레이 세션과 연관됨 -, 복수의 게임 중 각각의 게임에 대한 하나 이상의 특성을 결정하기 위해 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 동작, 복수의 게임 중 적어도 하나의 게임에 대한 텍스트 태그를 적어도 하나의 게임의 하나 이상의 특성에 기초하여 생성하는 동작을 포함하는 동작을 수행하도록 한다.
도 1은 일부 구현에 따른, 텍스트 태그를 생성하기 위한 예시적인 시스템 아키텍처의 다이어그램이다.
도 2a는 일부 구현에 따른, 텍스트 태그로 주석이 달린 게임의 예시적인 목록을 예시한다.
도 2b는 일부 구현에 따른, 예시적인 태그 방식 목록을 예시한다.
도 2c는 일부 구현에 따른, 태그 방식 목록의 다른 예시를 예시한다.
도 3은 일부 구현에 따른, 예시적인 데이터베이스 및 채팅 트랜스크립트의 테이블을 예시하는 다이어그램이다.
도 4는 일부 구현에 따른, 채팅 트랜스크립트로부터 텍스트 태그를 생성하기 위한 예시적인 방법을 예시하는 흐름도이다.
도 5는 일부 구현에 따른, 훈련된 머신 러닝(ML) 모델에 기초하는 게임에 대한 텍스트 태그의 생성의 예시를 예시하는 블록도이다.
도 6은 일부 구현에 따른, 채팅 트랜스크립트로부터 게임에 대한 텍스트 태그를 생성하기 위한 지도 머신 러닝(ML)의 예시를 예시하는 블록도이다.
도 7은 일부 구현에 따른, 채팅 트랜스크립트로부터 텍스트 태그를 생성하기 위한 머신 러닝(ML) 모델을 훈련시키는 예시적인 방법을 예시하는 흐름도이다.
도 8은 일부 구현들에 따른, 예시적인 컴퓨팅 장치를 예시하는 블록도이다.
다음의 상세한 설명에서, 여기에서 일부를 형성하는 첨부하는 도면에 대한 참조가 이루어진다. 도면에서, 유사한 부호는 문맥에서 달리 지시하지 않는 한, 전형적으로 유사한 컴포넌트를 식별한다. 상세한 설명, 도면 및 청구범위에 설명된 예시적인 실시예는 제한하는 것을 의미하지 않는다. 여기에서 제시된 대상의 사상 또는 범위를 벗어나지 않으면서, 다른 실시예가 이용될 수 있고, 그리고 다른 변경이 이루어질 수 있다. 여기에서 일반적으로 설명되고 도면에 예시된, 본 개시의 양태는 매우 다양한 상이한 구성으로 배열, 대체, 조합, 분리 및 설계될 수 있으며, 이들 모두는 여기에서 고려된다.
본 명세서에서 "일부 실시예", "일 실시예", "예시적인 실시예" 등에 대한 참조는 설명된 실시예가 특정 특징, 구조 또는 특성을 포함할 수 있다는 것을 나타내지만, 모든 실시예가 반드시 특정 특징, 구조 또는 특성을 포함할 필요는 없다. 또한, 그러한 구절이 반드시 동일한 실시예를 지칭하는 것은 아니다. 또한, 특정 특징, 구조 또는 특성이 실시예와 관련하여 설명될 때, 그러한 특징, 구조 또는 특성은 명시적으로 설명되었는지 여부에 관계없이 다른 실시예와 관련하여 영향을 받을 수 있다.
온라인 게임 플랫폼("사용자 생성 콘텐츠 플랫폼" 또는 "사용자 생성 콘텐츠 시스템"이라고도 지칭됨)은 사용자가 서로 인터랙션할 수 있는 다양한 방법을 제공한다. 예컨대, 온라인 게임 플랫폼의 사용자는 공통 목표를 향해 함께 작업하고, 다양한 가상 게임 아이템을 공유하고, 서로에게 전자 메시지를 전송하는 것 등을 할 수 있다. 온라인 게임 플랫폼의 사용자는 게임 특정 역할을 수행하는, 가상 캐릭터로 게임에 참가할 수 있다. 예컨대, 가상 캐릭터는 팀 또는 멀티 플레이어 환경의 일부일 수 있으며, 각 캐릭터는 특정 역할이 할당되고, 역할에 대응하는 연관 파라미터, 예컨대, 의복, 갑옷, 무기, 스킬 등을 가진다. 다른 예시에서, 가상 캐릭터는 예컨대, 단일 플레이어가 게임의 일부인 경우, 컴퓨터 생성 캐릭터에 의해 참가될 수 있다.
온라인 게임 플랫폼은 또한 플랫폼의 사용자(개발자)가 새로운 게임 및/또는 캐릭터를 생성하도록 허용할 수 있다. 예컨대, 온라인 게임 플랫폼의 사용자는 새로운 캐릭터(아바타), 새로운 애니메이션 패키지를 생성, 디자인 및/또는 커스터마이징하고, 다른 사용자가 이용할 수 있도록 할 수 있다.
사용자는 솔로 참가자 및/또는 그룹으로 게임 플레이 세션에서 게임을 플레이할 수 있다. 게임의 게임 플레이 세션의 복수의 인스턴스는 플레이어 또는 플레이어 그룹에 의해 동시에 그리고 다른 시간에 시작될 수 있다. 사용자는 동일한 게임의 복수의 게임 플레이 세션에 참가하거나 동시에 다른 게임의 게임 플레이 세션에 참가할 수 있다. 사용자는 관찰자(시청자) 참가자뿐만 아니라, 플레이 참가자를 포함할 수 있다. 게임 플레이 세션 동안, 참가자는 텍스트 메시지, 그룹 채팅(예컨대, 공개적으로 볼 수 있는 채팅), 음성 메시지 등과 같은 다양한 통신 채널(방법)을 통해 서로 통신할 수 있다.
통신 채널은 게임 플랫폼을 통해 제공된 채널인 플랫폼 이용 가능한 채팅을 포함할 수 있다. 이러한 채널에서, 참가자 간의 모든 통신은 전형적으로 플랫폼, 예컨대 게임 서버를 통해 라우팅된다.
통신 채널은 또한 플랫폼 이용 가능 오디오 통신을 포함할 수 있다. 게임 플랫폼은 음성-텍스트 변환(speech-to-text), 자막, 수화 지원 등과 같은 서비스를 제공하여 음성 통신을 추가로 지원할 수 있다. 사용자 통신의 전부 또는 일부 기록은 게임 플랫폼과 연관된 저장 장치 및/또는 매체에 저장될 수 있다.
게임은 유형 및/또는 게임 플레이 스타일에 기초하여 분류될 수 있다. 일부 구현에서, 게임은 게임 플레이 특성, (게임의) 목적 유형 및 주제 유형(예컨대, 스포츠, 도전, 액션 또는 레이싱) 중 하나 이상에 의해 체계화될 수 있다. 카테고리는 게임과 연관된 하나 이상의 텍스트 태그에 의해 라벨 지정(labeling)될 수 있다.
다른 사용자(플레이어)는 브라우징하거나 검색에 기초하여 플레이할 게임을 발견할 수 있다. 검색은 이름 또는 카테고리에 의해 수행될 수 있으며, 사용자는 표시된 게임 목록에 기초하여 플레이하고 싶은 게임을 선택할 수 있다. 일부 구현에서, 플레이어가 관심을 가질 가능성이 있는 게임은 예컨대, 게임 플랫폼에 로그인하거나 플레이어에 의해 게임 플랫폼에서 세션을 재개할 때 나타나고 사용자에게 표시된다.
게임 플레이어 및 게임 플랫폼 소유자는 적절한 텍스트 태그를 다양한 게임에 연관시키는 혜택을 받는다. 텍스트 태그를 활용한 게임의 라벨 지정은 사용자에 의한 게임의 효율적인 발견을 가능하게 할 수 있고, 따라서 게임 플랫폼에서 더 나은 사용자 경험을 제공할 수 있다. 텍스트 태그는 게임 플랫폼에서 게임 랭킹 및/또는 게임 플랫폼에서 활용되는 추천 모델(recommender model), 예컨대 머신 러닝 모델에 대한 입력으로 활용될 수 있다. 예컨대, 추천 모델은 게임과 연관된 텍스트 태그에 기초하여 사용자를 위한 게임 추천을 생성할 수 있다.
일부 구현에서, 텍스트 태그 중 하나 이상은 게임의 소셜 레벨과 관련될 수 있다. 게임의 소셜 레벨과 관련된 태그는 콘텐츠 및 그들이 일반적으로 플레이하고 그리고/또는 좋아하는 게임의 소셜 레벨의 유형에 기초하여 사용자에게 게임을 추천하는 데 활용될 수 있다. 예컨대, 소셜 인터랙션이 거의 없는 싱글 플레이어 게임을 주로 플레이하는 사용자는 다른 싱글 플레이어 게임이나 낮은 인터랙션 게임이 추천될 수 있는 반면, 높은 사회화 게임, 예컨대 복수의 게임 플레이어 간에 채팅 인터랙션이 있는 게임을 전형적으로 플레이하는 사용자는 다른 소셜 게임이 추천될 수 있다. 소셜 레벨을 나타내는 텍스트 태그는 사용자에게 게임 추천을 제공하는 머신 러닝 모델(예컨대, 신경망 기반 모델)에 제공될 수 있다. 게임 플랫폼 운영자의 기술적 문제는 게임 플랫폼(들)에 걸친 게임의 정확한 라벨 지정 및 발견 가능성이다.
게임의 인식된 이점은 게임 세션(게임 플레이 세션)을 통해 복수의 지역에 걸쳐 다른 플레이어 및 참가자와 인터랙션하고 통신할 수 있게 하는 플레이어에게 제공하는 사회화이다. 일부 게임은 친구가 함께 플레이하고 플랫폼 내에서 소셜 인터랙션을 가질 수 있는 기회를 제공할 수 있다. 게임 플랫폼은 참가자 간의 소셜 인터랙션의 빈도와 성질에 기초하여 각각의 게임에 대한 소셜 메트릭 또는 친선 메트릭을 추적할 수 있다.
게임이 사용자 생성되고, 플랫폼이 많은 사용자 생성된 환경을 포함하는 경우, 게임 플랫폼은 게임에 관한 제한된 정보를 가질 수 있다. 게임 플레이 세션의 성질은 게임 디자인에 따라 게임 플레이 데이터가 다르기 때문에, 게임 이벤트를 자동으로 관찰하고 소셜 능력과 소셜 인터랙션의 성질을 결정하는 것이 쉽지 않을 수 있으므로 관찰 가능성에 대한 도전을 제공한다.
일부 사용자(게임 개발자)는 플랫폼을 통해 이용할 수 있는 게임에 대한 태그를 제공하지 않거나, 게임 플랫폼을 사용하는 플레이어에 의한 게임 발견에 충분히 도움이 되지 않는 태그를 제공할 수 있다. 일부 경우에서, 사용자는 게임에 대한 증가된 플레이어 트래픽을 얻기 위한 관점으로 게임에 의도적으로 잘못 라벨 지정할 수 있다. 게임에 (예컨대, 개발자에 의해) 수동으로 할당된 태그는 부정확하거나 관련 없는 수동으로 할당된 태그를 결정하기 위해 게임에 대해 생성된 텍스트 태그와 비교하여 평가될 수 있다. 이러한 평가 시, 부정확하거나 관련 없는 태그는 예컨대, 게임과의 연관성이 숨겨지고 그리고/또는 제거되어, 억제될 수 있다. 이러한 방식으로 수동으로 할당된 태그의 억제는 게임의 품질과 플레이어의 관심사에 대한 게임의 관련성에 기초하여, 게임에 대한 플레이어 트래픽이 진짜인지 확실하게 하는 데 도움될 수 있다. 이는 플레이어가 즐기는 게임 플레이 세션의 더 높은 비율로 이어지고, 부정확하거나 관련 없는 라벨로 인해 발생할 수 있는 짧은(예컨대, 1 분 미만) 또는 불만족스러운 세션의 수를 감소시킬 수 있다.
여기에서 개시된 일부 실시예는 게임 플랫폼 상의 다양한 게임과 연관될 수 있는 텍스트 태그를 자동으로 결정한다. 이에 따라 결정된 텍스트 태그는 게임과 연관될 수 있다.
도 1은 본 개시의 일부 구현에 따른, 예시적인 시스템 아키텍처(100)를 예시한다. 도 1 및 다른 도면은 유사한 요소를 식별하기 위해 유사한 참조 번호를 사용한다. "110"과 같이 참조 번호 뒤의 문자는 본문이 특정 참조 번호를 갖는 요소를 구체적으로 지칭함을 나타낸다. "110"과 같이 다음 문자가 없는 본문의 참조 번호는 참조 번호를 갖는 도면의 요소 중 일부 또는 전부를 지칭한다 (예컨대, 본문에서 "110"은 도면에서 참조 번호 "110a", "110b” 및/또는 "110n"을 지칭함).
시스템 아키텍처(100)(여기에서 "시스템"이라고도 지칭됨)는 온라인 게임 서버(102), 데이터 저장소(120), 클라이언트 장치(110a, 110b 및 110n)(일반적으로 여기에서 "클라이언트 장치(들)(110)"로 지칭됨) 및 개발자 장치(130a 및 130n)(일반적으로 여기에서 "개발자 장치(들)(130)"로 지칭됨)을 포함한다. 게임 서버(102), 데이터 저장소(120), 클라이언트 장치(110) 및 개발자 장치(130)는 네트워크(122)를 통해 결합된다. 일부 구현에서, 클라이언트 장치(들)(110) 및 개발자 장치(들)(130)는 동일하거나 동일한 유형의 장치를 지칭할 수 있다.
온라인 게임 서버(102)는 그 중에서도, 게임 엔진(104), 하나 이상의 게임(106) 및 그래픽 엔진(108)을 포함할 수 있다. 클라이언트 장치(110)는 게임 애플리케이션(112) 및 입력/출력(I/O) 인터페이스(114)(예컨대, 입력/출력 장치)를 포함할 수 있다. 입력/출력 장치는 마이크, 스피커, 헤드폰, 디스플레이 장치, 마우스, 키보드, 게임 컨트롤러, 터치 스크린, 가상 현실 콘솔 등 중 하나 이상을 포함할 수 있다.
개발자 장치(130)는 게임 애플리케이션(132) 및 입력/출력(I/O) 인터페이스(134)(예컨대, 입력/출력 장치)를 포함할 수 있다. 입력/출력 장치는 마이크, 스피커, 헤드폰, 디스플레이 장치, 마우스, 키보드, 게임 컨트롤러, 터치 스크린, 가상 현실 콘솔 등 중 하나 이상을 포함할 수 있다.
시스템 아키텍처(100)는 예시를 위해 제공된다. 다른 구현에서, 시스템 아키텍처(100)는 도 1에 도시된 것과 동일하거나 상이한 방식으로 구성된 동일하거나, 더 적거나, 더 많거나, 상이한 요소를 포함할 수 있다.
일부 구현에서, 네트워크(122)는 공중 네트워크(예컨대, 인터넷), 사설 네트워크(예컨대, LAN(local area network) 또는 WAN(wide area network)), 유선 네트워크(예컨대, 이더넷 네트워크), 무선 네트워크(예컨대, 802.11 네트워크, Wi-Fi® 네트워크 또는 무선 LAN(WLAN)), 셀룰러 네트워크(예컨대, 5G 네트워크, LTE(long term evolution) 네트워크 등), 라우터, 허브, 스위치, 서버 컴퓨터 또는 이들의 조합을 포함할 수 있다.
일부 구현에서, 데이터 저장소(120)는 비일시적 컴퓨터 판독가능 메모리(예컨대, 랜덤 액세스 메모리), 캐시, 드라이브(예컨대, 하드 드라이브), 플래시 드라이브, 데이터베이스 시스템 또는 데이터를 저장할 수 있는 다른 유형의 컴포넌트 또는 장치일 수 있다. 데이터 저장소(120)는 또한 복수의 컴퓨팅 장치(예컨대, 복수의 서버 컴퓨터)에 걸쳐 있을 수 있는 복수의 저장 컴포넌트(예컨대, 복수의 드라이브 또는 복수의 데이터베이스)를 포함할 수 있다. 일부 구현에서, 데이터 저장소(120)는 클라우드 기반 스토리지를 포함할 수 있다.
일부 구현에서, 온라인 게임 서버(102)는 하나 이상의 컴퓨팅 장치(예컨대, 클라우드 컴퓨팅 시스템, 랙마운트 서버(rackmount server), 서버 컴퓨터, 물리적 서버의 클러스터 등)를 갖는 서버를 포함할 수 있다. 일부 구현에서, 온라인 게임 서버(102)는 독립적인 시스템일 수 있거나, 복수의 서버를 포함할 수 있거나, 또는 다른 시스템 또는 서버의 일부일 수 있다.
일부 구현에서, 온라인 게임 서버(102)는 하나 이상의 컴퓨팅 장치(예컨대, 랙마운트 서버, 라우터 컴퓨터, 서버 컴퓨터, 개인용 컴퓨터, 메인프레임 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 데스크톱 컴퓨터 등), 데이터 저장소(예컨대, 하드 디스크, 메모리, 데이터베이스), 네트워크, 소프트웨어 컴포넌트 및/또는 온라인 게임 서버(102)에서 동작을 수행하고 온라인 게임 서버(102)에 대한 액세스를 사용자에게 제공하는 데 사용될 수 있는 하드웨어 컴포넌트를 포함할 수 있다. 온라인 게임 서버(102)는 또한 온라인 게임 서버(102)에 의해 제공된 콘텐츠에 대한 액세스를 사용자에게 제공하는 데 사용될 수 있는 웹 사이트(예컨대, 웹 페이지) 또는 애플리케이션 백 엔드 소프트웨어(application back-end software)를 포함할 수 있다. 예컨대, 사용자는 클라이언트 장치(110) 상의 게임 애플리케이션(112)을 사용하여 온라인 게임 서버(102)에 액세스할 수 있다.
일부 구현에서, 온라인 게임 서버(102)는 사용자 간의 연결을 제공하는 소셜 네트워크의 유형이거나, 또는 사용자(예컨대, 최종 사용자 또는 소비자)가 온라인 게임 서버(102) 상에서 다른 사용자와 통신할 수 있도록 허용하는 사용자 생성 콘텐츠 시스템의 유형일 수 있으며, 여기에서 통신은 음성 채팅(예컨대, 동기 및/또는 비동기 음성 통신), 비디오 채팅(예컨대, 동기 및/또는 비동기 비디오 통신) 또는 텍스트 채팅(예컨대, 1:1 및/또는 N:N 동기 및/또는 비동기 텍스트 기반 통신)을 포함할 수 있다. 사용자 허가 하에, 일부 또는 모든 사용자 통신의 기록이 데이터 저장소(120) 또는 게임(106) 내에 저장될 수 있다. 데이터 저장소(120)는 플레이어 간에 교환되는 채팅 트랜스크립트(텍스트, 오디오, 이미지 등)을 저장하는 데 활용될 수 있다.
일부 구현에서, 채팅 트랜스크립트는 게임 애플리케이션(112) 및/또는 게임 애플리케이션(132)을 통해 생성되거나 그리고/또는 데이터 저장소(120)에 저장된다. 사용자가 채팅 트랜스크립트의 저장을 허용할 때, 채팅 트랜스크립트는 채팅 콘텐츠 및 연관된 메타 데이터, 예컨대, 대응하는 발신자 및 수신자(들)를 갖는 각 메시지와 채팅의 텍스트 콘텐츠; 메시지 포맷(예컨대, 굵게, 기울임꼴, 크게 등); 메시지 타임 스탬프; 가상 게임 환경 내의 참가자 아바타(들)의 상대 위치, 게임 참가자에 의해 활용된 액세서리 등을 포함할 수 있다. 일부 구현에서, 채팅 트랜스크립트는 다국어 콘텐츠를 포함할 수 있으며, 그리고 게임의 다른 게임 플레이 세션에서 상이한 언어로 된 메시지가 데이터 저장소(120)에 저장될 수 있다.
사용자는 어떤 채팅 정보가 저장되고, 정보가 얼마나 오래 저장되는지를 결정하기 위한 제어가 제공된다. 예컨대, 사용자는 예컨대, 게임 세션 종료 시, 게임 플랫폼에서 로그아웃할 때, 24 시간마다, 매주마다 등의 특정 시간에 만료되도록 채팅 정보 저장소를 설정하도록 선택할 수 있다. 일부 구현에서, 예컨대 사용자가 허용을 거부하거나 채팅이 암호화된 경우, 채팅 데이터가 저장되지 않을 수 있다. 이러한 구현에서, 시작 및 종료 시간, 참가자 카운트, 참가자 식별자, 게임 및 게임 세션 식별자 등과 같은 채팅 메타 데이터는 사용자가 허가한 바에 따라, 저장될 수 있다.
일부 구현에서, 채팅 트랜스크립트는 타임 스탬프에 기초하여 참가자 간의 대화 형태로 저장될 수 있다. 일부 구현에서, 채팅 트랜스크립트는 메시지(들)의 발신자에 기초하여 저장될 수 있다.
본 개시의 일부 구현에서, "사용자"는 단일 개인으로 표현될 수 있다. 그러나, 본 개시의 다른 구현은 사용자 세트 또는 자동화된 소스에 의해 제어되는 엔티티인 "사용자"(예컨대, 사용자 생성)를 포함한다. 예컨대, 사용자 생성 콘텐츠 시스템에서 커뮤니티 또는 그룹으로 연합된 개별 사용자의 세트는 "사용자"로 간주될 수 있다.
일부 구현에서, 온라인 게임 서버(102)는 가상 게임 서버일 수 있다. 예컨대, 게임 서버는 네트워크(122)를 통해 클라이언트 장치(110)를 사용하여 게임에 액세스하거나 인터랙션할 수 있는 사용자의 커뮤니티에 싱글 플레이어 또는 멀티 플레이어 게임을 제공할 수 있다. 일부 구현에서, 게임(여기에서 “비디오 게임", “온라인 게임” 또는 "가상 게임"이라고도 지칭함)은 예컨대, 이차원(2D) 게임, 삼차원(3D) 게임(예컨대, 3D 사용자 생성 게임), 가상 현실(VR) 게임 또는 증강 현실(AR) 게임일 수 있다. 일부 구현에서, 사용자는 다른 사용자와 함께 게임 플레이에 참가할 수 있다. 일부 구현에서, 게임은 게임의 다른 사용자와 실시간으로 플레이될 수 있다.
일부 구현에서, 게임 플레이는 게임(예컨대, 106) 내에서 클라이언트 장치(예컨대, 110)를 사용하는 하나 이상의 플레이어의 인터랙션 또는 클라이언트 장치(110)의 디스플레이 또는 다른 출력 장치(예컨대, 114) 상의 표시를 지칭할 수 있다.
일부 구현에서, 게임(106)은 게임 콘텐츠(예컨대, 디지털 미디어 아이템)를 엔티티에 제시하도록 구성된 소프트웨어, 펌웨어 또는 하드웨어를 사용하여 실행되거나 로드될 수 있는 전자 파일을 포함할 수 있다. 일부 구현에서, 게임 애플리케이션(112)이 실행될 수 있고, 그리고 게임(106)은 게임 엔진(104)과 관련하여 렌더링될 수 있다. 일부 구현에서, 게임(106)은 공통 규칙 세트 또는 공통 목표를 가질 수 있으며, 그리고 게임(106)의 환경은 공통 규칙 세트 또는 공통 목표를 공유한다. 일부 구현에서, 다른 게임은 서로 다른 규칙 또는 목표를 가질 수 있다.
일부 구현에서, 게임은 복수의 환경이 링크될 수 있는 하나 이상의 환경(여기에서 "게임 환경” 또는 "가상 환경"이라고도 지칭함)을 가질 수 있다. 환경의 예시는 삼차원(3D) 환경일 수 있다. 게임(106)의 하나 이상의 환경은 여기에서 "세계” 또는 "게임 세계” 또는 "가상 세계” 또는 "유니버스"로 집합적으로 지칭될 수 있다. 세계의 예시는 게임(106)의 3D 세계일 수 있다. 예컨대, 사용자는 다른 사용자에 의해 생성된 다른 가상 환경에 링크된 가상 환경을 구축할 수 있다. 가상 게임의 캐릭터는 가상 경계를 건너서 인접한 가상 환경으로 들어갈 수 있다.
3D 환경 또는 3D 세계는 게임 콘텐츠를 나타내는 기하학적 데이터의 삼차원 표현을 사용(또는 기하학적 데이터의 3D 표현이 사용되는지 여부에 관계없이 적어도 게임 콘텐츠가 3D 콘텐츠로 나타나도록 제시)하는 그래픽을 사용한다는 점에 유의할 수 있다. 2D 환경 또는 2D 세계는 게임 콘텐츠를 나타내는 기하학적 데이터의 이차원 표현을 사용하는 그래픽을 사용한다.
일부 구현에서, 온라인 게임 서버(102)는 하나 이상의 게임(106)을 호스팅할 수 있고, 사용자가 클라이언트 장치(110)의 게임 애플리케이션(112)을 사용하여 게임(106)과 인터랙션하도록 허가할 수 있다. 온라인 게임 서버(102)의 사용자는 게임(106)을 플레이하거나, 생성하거나, 인터랙션하거나 또는 구축하고, 다른 사용자와 통신하고, 그리고/또는 게임(106)의 객체(예컨대, 여기에서 "아이템(들)” 또는 "게임 객체” 또는 "가상 게임 아이템(들)"이라고도 지칭됨)를 생성하고 구축할 수 있다.
예컨대, 사용자 생성 가상 아이템을 생성할 때, 사용자는 그 중에서도, 캐릭터, 캐릭터를 위한 장식, 인터랙티브 게임을 위한 하나 이상의 가상 환경을 생성하거나, 또는 게임(106)에서 사용된 구조를 구축할 수 있다. 일부 구현에서, 사용자는 온라인 게임 서버(102)의 다른 사용자와 플랫폼 내 화폐(예컨대, 가상 화폐)와 같은, 게임 가상 게임 객체를 구매, 판매 또는 거래할 수 있다. 일부 구현에서, 온라인 게임 서버(102)는 게임 콘텐츠를 게임 애플리케이션(예컨대, 112)으로 전송할 수 있다. 일부 구현에서, 게임 콘텐츠(여기에서 "콘텐츠"라고도 지칭함)는 온라인 게임 서버(102) 또는 게임 애플리케이션과 연관된 임의의 데이터 또는 소프트웨어 명령어(예컨대, 게임 객체, 게임, 사용자 정보, 비디오, 이미지, 명령, 미디어 아이템 등)을 지칭할 수 있다. 일부 구현에서, 게임 객체(예컨대, 여기에서 "아이템(들)” 또는 "객체” 또는 "가상 객체” 또는 "가상 게임 아이템(들)"이라고도 지칭됨)는 온라인 게임 서버(102)의 게임 애플리케이션(106) 또는 클라이언트 장치(110)의 게임 애플리케이션(112)에서 사용되거나, 생성되거나, 공유되거나 또는 그 외 묘사되는 객체를 지칭할 수 있다. 예컨대, 게임 객체는 부품, 모델, 캐릭터, 액세서리, 도구, 무기, 의류, 건물, 차량, 화폐, 식물군, 동물군, 전술한 컴포넌트(예컨대, 건물의 창문) 등을 포함할 수 있다.
게임(106)을 호스팅하는 온라인 게임 서버(102)는 예시의 목적으로 제공된다는 점에 유의할 수 있다. 일부 구현에서, 온라인 게임 서버(102)는 한 사용자로부터 하나 이상의 다른 사용자로의 통신 메시지를 포함할 수 있는 하나 이상의 미디어 아이템을 호스팅할 수 있다. 사용자 허가 및 명시적인 사용자 동의 하에, 온라인 게임 서버(102)는 게임 플랫폼을 개선하기 위해 채팅 트랜스크립트 데이터를 분석할 수 있다. 미디어 아이템은 디지털 비디오, 디지털 영화, 디지털 사진, 디지털 음악, 오디오 콘텐츠, 멜로디, 웹사이트 콘텐츠, 소셜 미디어 업데이트, 전자 서적, 전자 잡지, 디지털 신문, 디지털 오디오 서적, 전자 저널, 웹 블로그, RSS 피드(real simple syndication feed), 전자 만화책, 소프트웨어 애플리케이션 등을 포함할 수 있지만, 이에 제한되지 않는다. 일부 구현에서, 미디어 아이템은 디지털 미디어 아이템을 엔티티에 표시하도록 구성된 소프트웨어, 펌웨어 또는 하드웨어를 사용하여 실행하거나 로드할 수 있는 전자 파일일 수 있다.
일부 구현에서, 게임(106)은 특정 사용자 또는 특정 사용자의 그룹과 연관될 수 있거나 (예컨대, 개인 게임), 온라인 게임 서버(102)에 대한 액세스를 갖는 사용자에게 널리 이용 가능하도록 할 수 있다 (예컨대, 공개 게임). 온라인 게임 서버(102)가 하나 이상의 게임(106)을 특정 사용자 또는 사용자의 그룹과 연관시키는 일부 구현에서, 온라인 게임 서버(102)는 사용자 계정 정보(예컨대, 사용자 이름 및 비밀번호와 같은 사용자 계정 식별자)를 사용하여 특정 사용자(들)를 게임(106)과 연관시킬 수 있다.
일부 구현에서, 온라인 게임 서버(102) 또는 클라이언트 장치(110)는 게임 엔진(104) 또는 게임 애플리케이션(112)을 포함할 수 있다. 일부 구현에서, 게임 엔진(104)은 게임(106)의 개발 또는 실행을 위해 사용될 수 있다. 예컨대, 게임 엔진(104)은 다른 특징 중에서도, 2D, 3D, VR 또는 AR 그래픽을 위한 렌더링 엔진(“렌더러"), 물리 엔진, 충돌 감지 엔진(및 충돌 응답), 사운드 엔진, 스크립팅 기능, 애니메이션 엔진, 인공 지능 엔진, 네트워킹 기능, 스트리밍 기능, 메모리 관리 기능, 스레딩 기능, 장면 그래프 기능 또는 시네마틱에 대한 비디오 지원을 포함할 수 있다. 게임 엔진(104)의 컴포넌트는 게임을 컴퓨팅하고 렌더링하는 것을 돕는 명령(예컨대, 렌더링 명령, 충돌 명령, 물리 명령 등)을 생성할 수 있다. 일부 구현에서, 클라이언트 장치(110/116)의 게임 애플리케이션(112)은 각각 독립적으로, 온라인 게임 서버(102)의 게임 엔진(104)과 협력하여, 또는 둘 다의 조합으로 작동할 수 있다.
일부 구현에서, 온라인 게임 서버(102) 및 클라이언트 장치(110) 둘 다는 게임 엔진(104 및 112 각각)을 실행할 수 있다. 게임 엔진(104)을 사용하는 온라인 게임 서버(102)는 일부 또는 모든 게임 엔진 기능(예컨대, 물리 명령, 렌더링 명령 등을 생성)을 수행하거나, 일부 또는 모든 게임 엔진 기능을 클라이언트 장치(110)의 게임 엔진(104)으로 오프로드할 수 있다. 일부 구현에서, 각각의 게임(106)은 온라인 게임 서버(102) 상에서 수행되는 게임 엔진 기능과 클라이언트 장치(110) 상에서 수행되는 게임 엔진 기능 사이에 상이한 비율을 가질 수 있다. 예컨대, 온라인 게임 서버(102)의 게임 엔진(104)은 적어도 두 개의 게임 객체 사이에 충돌이 있는 경우, 물리 명령을 생성하는 데 사용될 수 있는 한편, 추가 게임 엔진 기능(예컨대, 렌더링 명령 생성)은 클라이언트 장치(110)로 오프로드될 수 있다. 일부 구현에서, 온라인 게임 서버(102) 및 클라이언트 장치(110) 상에서 수행된 게임 엔진 기능의 비율은 게임 플레이 조건에 기초하여 (예컨대, 동적으로) 변경될 수 있다. 예컨대, 특정 게임(106)의 게임 플레이에 참가하는 사용자의 수가 임계값을 초과하면, 온라인 게임 서버(102)는 클라이언트 장치(110)에 의해 이전에 수행되었던 하나 이상의 게임 엔진 기능을 수행할 수 있다.
예컨대, 사용자는 클라이언트 장치(110)에서 게임(106)을 플레이할 수 있고, 제어 명령어(예컨대, 오른쪽, 왼쪽, 위, 아래, 사용자 선택 또는 캐릭터 위치 및 속도 정보 등과 같은 사용자 입력)를 온라인 게임 서버(102)에 전송할 수 있다. 클라이언트 장치(110)로부터 제어 명령어를 수신한 이후, 온라인 게임 서버(102)는 게임 플레이 명령어(예컨대, 그룹 게임 플레이에 참가하는 캐릭터의 위치 및 속도 정보 또는 렌더링 명령, 충돌 명령과 같은 명령 등)를 제어 명령어에 기초하여 클라이언트 장치(110)에 전송할 수 있다. 예컨대, 온라인 게임 서버(102)는 클라이언트 장치(110)에 대한 게임 플레이 명령어(들)를 생성하기 위해 제어 명령어의 (예컨대, 게임 엔진(104)을 사용하는) 하나 이상의 논리적 동작을 수행할 수 있다. 다른 경우에, 온라인 게임 서버(102)는 하나의 클라이언트 장치(110)로부터 게임(106)에 참가하는 다른 클라이언트 장치로(예컨대, 클라이언트 장치(110a)로부터 클라이언트 장치(110b)로) 제어 명령어 중 하나 이상을 전달할 수 있다. 클라이언트 장치(110)는 게임 플레이 명령어를 사용하고, 클라이언트 장치(110)의 디스플레이 상에서 표시를 위한 게임 플레이를 렌더링할 수 있다.
일부 구현에서, 제어 명령어는 사용자 캐릭터의 게임 내 동작을 나타내는 명령어를 지칭할 수 있다. 예컨대, 제어 명령어는 오른쪽, 왼쪽, 위, 아래, 사용자 선택, 자이로스코프 위치 및 방향 데이터, 힘 센서 데이터 등과 같은 게임 내 동작을 제어하기 위한 사용자 입력을 포함할 수 있다. 제어 명령어는 캐릭터 위치 및 속도 정보를 포함할 수 있다. 일부 구현에서, 제어 명령어는 온라인 게임 서버(102)로 직접 전송된다. 다른 구현에서, 제어 명령어는 클라이언트 장치(110)로부터 다른 클라이언트 장치로(예컨대, 클라이언트 장치(110b)로부터 클라이언트 장치(110n)로) 전송될 수 있고, 여기에서 다른 클라이언트 장치는 로컬 게임 엔진(104)을 사용하여 게임 플레이 명령어를 생성한다. 제어 명령어는 음성 통신 메시지 또는 다른 사용자로부터의 다른 사운드, 예컨대 음성 통신 또는 여기에서 설명된 오디오 공간화 기술을 사용하여 생성된 기타 사운드를 오디오 장치(예컨대, 스피커, 헤드폰 등)에서 플레이하기 위한 명령어를 포함할 수 있다.
일부 구현에서, 게임 플레이 명령어는 클라이언트 장치(110)가 멀티 플레이어 게임과 같은 게임의 게임 플레이를 렌더링하도록 허용하는 명령어를 지칭할 수 있다. 게임 플레이 명령어는 사용자 입력(예컨대, 제어 명령어), 캐릭터 위치 및 속도 정보, 또는 명령(예컨대, 물리 명령, 렌더링 명령, 충돌 명령 등) 중 하나 이상을 포함할 수 있다.
일부 구현에서, 온라인 게임 서버(102)는 사용자에 의해 생성된 캐릭터를 데이터 저장소(120)에 저장할 수 있다. 일부 구현에서, 온라인 게임 서버(102)는 사용자에게 제시될 수 있는 캐릭터 카탈로그 및 게임 카탈로그를 유지한다. 일부 구현에서, 게임 카탈로그는 온라인 게임 서버(102)에 저장된 게임의 이미지를 포함한다. 또한, 사용자는 선택된 게임에 참가하기 위해 캐릭터 카탈로그로부터 캐릭터(예컨대, 사용자 또는 다른 사용자에 의해 생성된 캐릭터)를 선택할 수 있다. 캐릭터 카탈로그는 온라인 게임 서버(102)에 저장된 캐릭터의 이미지를 포함한다. 일부 구현에서, 캐릭터 카탈로그의 캐릭터 중 하나 이상은 사용자에 의해 생성되거나 커스터마이징되었을 수 있다. 일부 구현에서, 선택된 캐릭터는 캐릭터의 컴포넌트 중 하나 이상을 정의하는 캐릭터 설정을 가질 수 있다.
일부 구현에서, 사용자의 캐릭터는 컴포넌트의 구성을 포함할 수 있으며, 여기에서 컴포넌트의 구성 및 외양, 보다 일반적으로 캐릭터의 외양은 캐릭터 설정에 의해 정의될 수 있다. 일부 구현에서, 사용자 캐릭터의 캐릭터 설정은 사용자에 의해 적어도 부분적으로 선택될 수 있다. 다른 구현에서, 사용자는 디폴트 캐릭터 설정 또는 다른 사용자에 의해 선택된 캐릭터 설정을 가진 캐릭터를 선택할 수 있다. 예컨대, 사용자는 미리 정의된 캐릭터 설정을 갖는 캐릭터 카탈로그에서 디폴트 캐릭터를 선택할 수 있으며, 사용자는 캐릭터 설정 중 일부를 변경(예컨대, 커스터마이징된 로고가 있는 셔츠 추가)하여, 디폴트 캐릭터를 추가로 커스터마이징할 수 있다. 캐릭터 설정은 온라인 게임 서버(102)에 의해 특정 캐릭터와 연관될 수 있다.
일부 구현에서, 클라이언트 장치(들)(110)는 개인용 컴퓨터(PC), 모바일 장치(예컨대, 랩톱, 모바일 전화, 스마트 폰, 태블릿 컴퓨터 또는 넷북 컴퓨터), 네트워크 연결된 텔레비전, 게임 콘솔 등과 같은 컴퓨팅 장치를 각각 포함할 수 있다. 일부 구현에서, 클라이언트 장치(110)는 또한 "사용자 장치"로 지칭될 수 있다. 일부 구현에서, 하나 이상의 클라이언트 장치(110)는 임의의 주어진 순간에 온라인 게임 서버(102)에 접속할 수 있다. 클라이언트 장치(110)의 수는 예시로서 제공된다는 점에 유의할 수 있다. 일부 구현에서, 임의의 수의 클라이언트 장치(110)가 사용될 수 있다.
일부 구현에서, 각각의 클라이언트 장치(110)는 각각 게임 애플리케이션(112)의 인스턴스를 포함할 수 있다. 일 구현에서, 게임 애플리케이션(112)은 사용자가 온라인 게임 서버(102)에 의해 호스팅되는 가상 게임에서 가상 캐릭터를 제어하거나, 게임(106), 이미지, 비디오 아이템, 웹 페이지, 문서 등과 같은 콘텐츠를 보거나 업로드하는 것과 같이 온라인 게임 서버(102)를 사용하고 인터랙션하도록 허가할 수 있다. 일 예시에서, 게임 애플리케이션은 웹 서버에 의해 제공된 콘텐츠(예컨대, 가상 환경의 가상 캐릭터 등)에 액세스, 검색, 제시 또는 탐색할 수 있는 웹 애플리케이션(예컨대, 웹 브라우저와 함께 동작하는 애플리케이션)일 수 있다. 다른 예시에서, 게임 애플리케이션은 클라이언트 장치(110)에 로컬로 설치되고 실행되며, 사용자가 온라인 게임 서버(102)와 인터랙션할 수 있도록 허용하는 네이티브 애플리케이션(native application)(예컨대, 모바일 애플리케이션, 앱 또는 게임 프로그램)일 수 있다. 게임 애플리케이션은 사용자에게 콘텐츠(예컨대, 웹 페이지, 미디어 뷰어)를 렌더링, 표시 또는 제시할 수 있다. 구현에서, 게임 애플리케이션은 또한 웹 페이지에 내장된 내장형 미디어 플레이어(예컨대, Flash® 플레이어)를 포함할 수 있다.
본 개시의 양태에 따르면, 게임 애플리케이션은 사용자가 온라인 게임 서버(102)와 인터랙션(예컨대, 온라인 게임 서버(102)에 의해 호스팅된 게임(106)을 제공 및/또는 플레이)할뿐만 아니라 온라인 게임 서버(102)에 콘텐츠를 구축, 생성, 편집, 업로드하기 위한 온라인 게임 서버 애플리케이션일 수 있다. 이와 같이, 게임 애플리케이션은 온라인 게임 서버(102)에 의해 클라이언트 장치(들)(110)에 제공될 수 있다. 다른 예시에서, 게임 애플리케이션은 서버로부터 다운로드된 애플리케이션일 수 있다.
일부 구현에서, 각각의 개발자 장치(130)는 각각 게임 애플리케이션(132)의 인스턴스를 포함할 수 있다. 일 구현에서, 게임 애플리케이션(112)은 개발자 사용자(들)가 온라인 게임 서버(102)에 의해 호스팅된 가상 게임에서 가상 캐릭터를 제어하는 것과 같이, 온라인 게임 서버(102)를 사용하고 인터랙션하도록 허용하거나, 게임(106), 이미지, 비디오 아이템, 웹 페이지, 문서 등과 같은 콘텐츠를 보거나 업로드하도록 허가할 수 있다. 일 예시에서, 게임 애플리케이션은 웹 서버에 의해 제공된 콘텐츠(예컨대, 가상 환경의 가상 캐릭터 등)를 액세스, 검색, 제시 또는 탐색할 수 있는 웹 애플리케이션(예컨대, 웹 브라우저와 함께 동작하는 애플리케이션)일 수 있다. 다른 예시에서, 게임 애플리케이션은 클라이언트 장치(130)에 로컬로 설치되고 실행되며, 사용자가 온라인 게임 서버(102)와 인터랙션할 수 있도록 허용하는 네이티브 애플리케이션(예컨대, 모바일 애플리케이션, 앱 또는 게임 프로그램)일 수 있다. 게임 애플리케이션은 사용자에게 콘텐츠(예컨대, 웹 페이지, 미디어 뷰어)를 렌더링, 표시 또는 제시할 수 있다. 일 구현에서, 게임 애플리케이션은 또한 웹 페이지에 내장된 내장형 미디어 플레이어(예컨대, Flash® 플레이어)를 포함할 수 있다.
본 개시의 양태에 따르면, 게임 애플리케이션(132)은 사용자가 온라인 게임 서버(102)와 인터랙션(예컨대, 온라인 게임 서버(102)에 의해 호스팅된 게임(106)을 제공 및/또는 플레이)할뿐만 아니라 온라인 게임 서버(102)에 콘텐츠를 구축, 생성, 편집, 업로드하기 위한 온라인 게임 서버 애플리케이션일 수 있다. 이와 같이, 게임 애플리케이션은 온라인 게임 서버(102)에 의해 클라이언트 장치(들)(130)에 제공될 수 있다. 다른 예시에서, 게임 애플리케이션(132)은 서버로부터 다운로드되는 애플리케이션일 수 있다. 게임 애플리케이션(132)은 온라인 게임 서버(102)와 인터랙션하고 게임 개발자에 의해 개발, 호스팅 또는 제공되는 하나 이상의 게임(106)에 대한 사용자 자격 증명(user credential), 사용자 화폐 등에 대한 액세스를 획득하도록 구성될 수 있다.
일부 구현에서, 사용자는 게임 애플리케이션을 통해 온라인 게임 서버(102)에 로그인할 수 있다. 사용자는 사용자 계정 정보(예컨대, 사용자 이름 및 비밀번호)를 제공함으로써 사용자 계정에 액세스할 수 있으며, 여기에서 사용자 계정은 온라인 게임 서버(102)의 하나 이상의 게임(106)에 참가할 수 있는 하나 이상의 캐릭터와 연관되어 있다. 일부 구현에서, 적절한 자격 증명으로, 게임 개발자는 다른 사용자에 의해 소유되거나 연관되는 플랫폼 내 화폐(예컨대, 가상 화폐), 아바타, 특수 권한, 액세서리와 같은 게임 가상 게임 개체에 대한 액세스를 획득할 수 있다.
일반적으로, 온라인 게임 서버(102)에 의해 수행되는 것으로 일 구현에서 설명된 기능은 또한 적절한 경우 다른 구현에서 클라이언트 장치(들)(110) 또는 서버에 의해 수행될 수 있다. 또한, 특정 컴포넌트에 기인하는 기능은 함께 동작하는 상이한 컴포넌트 또는 복수의 컴포넌트에 의해 수행될 수 있다. 온라인 게임 서버(102)는 또한 적절한 API(application programming interface)를 통해 다른 시스템 또는 장치에 제공된 서비스로서 액세스될 수 있으며, 따라서 웹 사이트에서의 사용에 제한되지 않는다.
도 2a는 일부 구현에 따른, 텍스트 태그로 주석이 달린 게임의 예시적인 목록을 예시한다. 목록은 게임 플랫폼 상에서 사용자가 이용 가능한 상이한 게임을 포함하는 사용자 인터페이스(UI)를 통해 표시된다.
게임 목록은 사용자에 의한 게임 선택을 가능하게 하기 위해 게임 플랫폼 상의 이용 가능한 게임으로부터 (예컨대, 온라인 게임 서버(102)에 의해) 생성될 수 있다. 게임 플레이의 통계, 상이한 게임을 플레이하는 사용자 수, 사용자의 참여 레벨(engagement level), 게임 유형 등은 게임 인기도를 결정하는 데 활용될 수 있다.
일부 구현에서, 게임의 카테고리(220)는 사용자에게 홍보(하이라이트)될 수 있다. 예시적인 카테고리는 도 2에 도시된 바와 같이, 인기 게임(220)을 포함할 수 있다. 다른 예시는 상위 소셜 게임, 상위 어드벤처 게임 및 사용자에게 추천된 게임 등을 포함할 수 있다. 각각의 카테고리는 개별 게임(예컨대, 230)의 목록을 포함할 수 있다. 개별 게임은 아이콘 또는 게임과 연관된 다른 디스플레이와 함께 표시될 수 있는 태그(240)로 주석을 달 수 있다. 일부 구현에서, 게임 목록은 사용자 인터페이스를 통해 사용자 장치의 초기 디스플레이에 제공될 수 있다.
게임은 또한 게임에 포함되고 연관된 특징을 나타내는 태그와 연관될 수 있다. 예컨대, 게임은 사용자가 게임 유형에 대한 추가 정보를 획득할 수 있도록 하는 타이쿤 게임, 장애물 코스 게임, 1 인칭 슈팅 게임(first person shooter game), 협력 게임, 소셜 게임 등과 같은, 태그와 연관될 수 있다. 복수의 태그는 첫 번째 카테고리와 연관되는 게임과 연관될 수 있고, 두 번째 태그를 갖는 게임은 복수의 카테고리와 연관될 수 있다. 예컨대, "레이싱 게임"이라는 제목의 게임 카테고리는 "도시 레이싱", "정글 레이싱", "사막 레이싱", "낙타 레이싱" 등의 예시적인 태그를 갖는 게임을 포함될 수 있다.
일부 구현에서, 게임은 게임(어드벤처 게임, 소셜 게임 등)과 연관된 장르 또는 태그에 기초하여 다양한 게임 카테고리로 분류될 수 있다. 복수의 텍스트 태그 또는 카테고리가 게임에 할당될 수 있다. 일부 구현에서, 게임 플레이 인터랙션의 성질은 게임을 분류하는 데 활용될 수 있다. 일부 구현에서, 게임에 대한 예시적인 카테고리는 액션, 어드벤처, 격투, 플랫폼, 퍼즐, 레이싱, 롤플레잉, 슈팅, 시뮬레이션, 스포츠 전략 등을 포함할 수 있다. 일부 구현에서, 게임과 연관된 카테고리는 게임의 소셜 레벨에 기초하는 것일 수 있다. 게임의 소셜 레벨은 채팅 기반 게임(예컨대, 게임 플레이가 게임 플레이어 간의 채팅을 포함하는 게임), 싱글 플레이어/멀티 플레이어 게임 또는 채팅 가능 게임(예컨대, 게임 플레이는 채팅과 구별되지만, 플레이어가 게임을 플레이하는 동안 서로 채팅할 수 있도록 한 게임) 등과 같은 태그를 생성하는 데 사용될 수 있다. 일부 구현에서, 게임은 소셜 레벨, 게임 플레이 및 테마 기반 태그의 조합과 연관될 수 있다.
하이라이트한 게임은 사용자가 이용 가능한 게임을 쉽게 브라우징하고, 관심있는 게임(들)을 발견하고, 플랫폼 상에서 이용 가능한 모든 게임으로부터 선호하는 게임을 선택할 수 있도록 할 수 있다.
일부 구현에서, 게임은 게임(어드벤처 게임, 소셜 게임 등)과 연관된 그 장르 또는 태그에 기초하여 다양한 게임 카테고리로 분류될 수 있다. 복수의 텍스트 태그 또는 카테고리가 각각의 게임에 할당될 수 있다.
일부 구현에서, 텍스트 태그는 게임과 연관된 소셜 인터랙션의 정도를 나타내는 소셜 메트릭을 포함할 수 있다. 일부 구현에서, 소셜 메트릭은 게임과 연관된 소셜 인터랙션의 정도를 나타내는 숫자일 수 있다. 예컨대, 일부 구현에서, 소셜 메트릭은 0과 1 사이의 숫자일 수 있으며, 여기에서 소셜 메트릭에 대한 0의 값은 게임이 비-소셜임을 나타내고, 소셜 메트릭에 대한 1의 값은 게임이 매우 소셜임을 나타낸다.
일부 구현에서, 소셜 메트릭은 게임과 연관된 소셜 인터랙션의 정도를 나타내는 설명자(descriptor)일 수 있다. 예컨대, 일부 구현에서, 소셜 메트릭 설명자는 "비-소셜", "다소-소셜", "매우-소셜", "경쟁적-소셜", "협력적-소셜” 등과 같은 용어일 수 있다.
게임 플랫폼은 그 제공의 일부로서 많은 유형의 게임을 포함하며, 상이한 게임이 상이한 사용자와 상이한 시간에서 주어진 사용자에게 관심을 끌 수 있다. 텍스트 태그 및 소셜 메트릭은 사용자가 이전에 플레이한 게임에 기초하는 것인 예측된 사용자 선호도에 기초하여 참가자에게 게임을 제안하는 데 활용될 수 있다. 사용자 인터페이스는 사용자가 게임을 브라우징하거나 검색할 수 있도록 하고 복수의 게임 및 대응하는 텍스트 태그를 포함하여 제공될 수 있다.
일부 구현에서, 게임 플레이 인터랙션의 성질은 게임을 분류하는 데 활용될 수 있다. 일부 구현에서, 게임에 대한 예시적인 카테고리는 액션, 어드벤처, 격투, 플랫폼, 퍼즐, 레이싱, 롤플레잉, 슈팅, 시뮬레이션, 스포츠 전략 등을 포함할 수 있다.
일부 구현에서, 게임 카테고리는 위치 설정, 장르 및/또는 서부, 마을 및 시골, 도시, 도심, 우주 등 게임에 대한 테마를 포함할 수 있다.
일부 구현에서, 게임에 대한 예시적인 카테고리는 게임을 플레이하기에 적합한 장치의 유형(들)을 포함할 수 있다. 예컨대, 게임은 데스크톱, 모바일, 가상 현실(VR) 등에 적합하다고 라벨 지정될 수 있다.
일부 구현에서, 텍스트 태그는 게임과 연관되고 사용자 인터페이스에 표시된다. 일부 구현에서, 텍스트 태그는 유사한 텍스트 태그를 가진 게임을 함께 그룹화하는 데 활용된다. 일부 구현에서, 텍스트 태그는 게임과 연관되고, 사용자가 특정 유형의 게임을 검색할 때 사용자에 의해 검색 가능할 수 있다.
도 2b는 일부 구현에 따른, 예시적인 태그 방식 목록을 예시한다. 이러한 도시하는 예시에서, 사용자 인터페이스(UI)는 모든 연관 태그와 함께 게임 또는 게임 아이콘을 표시한다. 이러한 UI 뷰로, 참가자는 게임 세부사항을 브라우징하고 게임과 연관된 모든 태그에 대한 정보를 획득할 수 있다.
도 2c는 일부 구현에 따른, 태그 방식 목록의 다른 예시를 예시한다. 이 도시하는 예시에서, 사용자 인터페이스는 주어진 태그와 연관되는 모든 또는 복수의 게임(또는 게임 아이콘)의 목록을 표시한다. 이러한 UI 뷰는 참가자가 관심있는 태그와 연관되는 게임을 참가자가 브라우징하도록 할 수 있다.
도 3은 일부 구현에 따른, 예시적인 데이터베이스 및 채팅 트랜스크립트의 테이블을 예시하는 다이어그램이다.
도 3은 채팅 트랜스크립트(320)를 저장하는 데 활용되는 예시적인 데이터베이스(310)를 도시한다. 채팅 트랜스크립트(320)는 도 1을 참조하여 설명된 바와 같이, 게임 참가자 간의 통신(들)의 채팅 트랜스크립트를 포함할 수 있다. 채팅 트랜스크립트(320)는 채팅 대화의 참가자로부터 특정 사용자 허가로 저장되고 액세스된다.
데이터베이스(310)는 데이터 저장소(120)의 일부일 수 있거나, 별도의 데이터베이스일 수 있다. 일부 구현에서, 게임 플랫폼은 사용자 사이의 연결을 제공하는 소셜 네트워크의 유형이거나 사용자(예컨대, 최종 사용자 또는 소비자)가 게임 플랫폼에서 다른 사용자와 통신할 수 있도록 하는 사용자 생성 콘텐츠 시스템의 유형일 수 있고, 여기에서 통신은 음성 채팅(예컨대, 동기 및/또는 비동기 음성 통신), 비디오 채팅(예컨대, 동기 및/또는 비동기 비디오 통신), 또는 텍스트 채팅(예컨대, 동기 및/또는 비동기 텍스트 기반 통신)을 포함할 수 있다.
채팅 트랜스크립트는 예컨대 명시적인 사용자 동의 및/또는 허가로 획득되고 분석되는 다양한 사용자 통신 트랜스크립트, 예컨대, 게임 참가자 간 비공개 메시지(1:1 메시지)의 트랩스크립트, 게임 참가자 그룹 간 그룹 채팅 메시지(N:N 메시지)의 트랜스크립트, 게임 참가자 간 음성 대화 메시지의 트랜스크립트 등을 포함할 수 있다. 예컨대, 사용자는 특정 채팅 데이터(예컨대, 1:1 메시지)의 사용을 거부하고 다른 채팅 데이터(예컨대, 1:1 채팅의 채팅 메타 데이터, N:N 채팅의 채팅 데이터) 등에 대한 액세스를 허용하도록 선택할 수 있다. 또한, 채팅 트랜스크립트는 저장 및/또는 사용 전에, 개인 식별 가능 정보, 예컨대, 사용자 ID 또는 사용자 이름 등을 제거하기 위해 처리될 수 있다. 예컨대, 도 3은 개별 사용자 식별자(예컨대, Ed, Paul, Steve, Tom 등)를 보여주지만, 이러한 식별자는 제거되고 무작위로 생성된 식별자로 대체될 수 있다. 또한, 무작위로 생성된 식별자는 동일한 사용자에게 다른 게임 세션 또는 게임 내의 채팅 활동에 대해 다른 식별자가 할당되도록 생성될 수 있다. 데이터베이스(예컨대, 도 1에 대하여 설명된 데이터 저장소(120))는 플랫폼 상의 복수의 게임의 각각의 게임 세션의 채팅 트랜스크립트를 저장하는데 사용될 수 있다. 각각의 트랜스크립트는 대응하는 게임 및 게임 세션과 연관된다.
도 3은 또한 트랜스크립트를 포함하는 데이터베이스(310)의 예시적인 기록(330)을 도시한다. 채팅 트랜스크립트는 게임 식별자(게임 ID), 세션 식별자(ID), 그리고 다른 참가자, 참가자 이름 및/또는 식별자로부터 발신한 메시지, 메시지 타임 스탬프, 메시지 메타 데이터(예컨대, 포맷, 중요도 등) 등을 포함하는 상세한 채팅 트랜스크립트와 같은 필드를 포함할 수 있다.
이러한 예시적인 예시에서, 게임 A, B 및 C와 연관된 채팅 트랜스크립트가 도시된다. 게임 각각과 연관된 상이한 게임 플레이 세션의 트랜스크립트 또한 도시된다. 예컨대, 트랜스크립트는 게임 A의 세션 ID 1 및 2가 있는 게임 플레이 세션의 트랜스크립트, 게임 B의 세션 ID 1, 2 및 3의 트랜스크립트, 게임 C의 세션 ID 1 및 2가 있는 게임 플레이 세션의 트랜스크립트를 포함한다.
이러한 예시적인 예시에서, 게임 A의 게임 플레이 세션의 채팅 트랜스크립트는 "당신의 드레스가 마음에 드네요 (Love your Dress)", "고마워요, A. 당신 머리에 있는 꽃이 멋지네요 (Thank you, A. the flowers in your hair are nice)”, 그리고 "아바타 상점 어디에서 그 드레스를 구할 수 있나요? (where can I get that dress in the Avatar shop?)" 같은 사용자 통신을 포함하고, "협력적 소셜"인 게임을 나타낼 수 있다. 게임 B의 게임 플레이 세션의 채팅 트랜스크립트는 "조심해, 사람들이 모퉁이 부근에 있어 (Watch out, the guys are around the corner)", "고마워, 친구! (Thanks, mate!)", "우리를 발견한 것 같아 (Looks like they spotted us)”, 그리고 "응, 다른 걸 시도해 봐야겠다 (Yes, we'll have to try something else)” 같은 사용자 통신을 포함하고, “경쟁적 소셜”인 게임을 나타낼 수 있다. 이러한 예시적인 예시에서, 게임 C의 게임 플레이 세션은 사용자 통신을 포함하지 않으며, "비-소셜"인 게임을 나타낼 수 있다.
일부 구현에서, 채팅 트랜스크립트는 또한 사용자 통신과 연관된 추가 정보, 예컨대, 참가자의 아바타, 사용자 통신이 있는 타임 스탬프에서 가상 게임 환경 내의 참가자 위치, 참가자가 착용한 액세서리, 다양한 사용자 통신과 연관된 타임 스탬프 등을 포함할 수 있다. 이러한 정보는 사용자가 허가를 제공하면 저장 및/또는 액세스될 수 있다. 채팅 트랜스크립트의 데이터베이스에는 또한 기록의 일부로서 예측/제안된 카테고리 태그를 포함할 수 있다.
일부 구현에서, 채팅 트랜스크립트의 각각의 세트와 연관된 소셜 메트릭이 결정될 수 있다. 소셜 메트릭은 채팅 트랜스크립트의 분석으로부터 결정된 바와 같이, 게임 참가자 간의 소셜 인터랙션 정도를 나타내는 숫자일 수 있다.
일부 구현에서, 게임에서의 경쟁 레벨 및 협력 레벨이 결정될 수 있다. 예컨대, "팀 경쟁" 유형 게임에서, 복수의 팀이 한 명 이상의 승자를 결정하기 위한 목표에 도달하기 위해 서로 경쟁할 수 있다. 다른 예시에서, "개별 경쟁" 유형 게임에서, 게임의 개별 플레이어는 목표를 달성하기 위해 개별 능력으로 경쟁할 수 있다. "팀 협력" 유형 게임에서, 복수의 팀이 공통 목표를 향해 협력(협력적으로 함께 노력)할 수 있다. 다른 예시에서, "개별 협력" 유형 게임에서, 복수의 개인이 게임 내에서 공통 목표를 달성하기 위해 협력할 수 있다.
일부 구현에서, 사회화 및 친선을 중심으로 구성된 게임은 "소셜 채팅" 게임으로 라벨 지정될 수 있다. 일부 구현에서, 텍스트 태그는 예컨대, 러시아어 게임 스페인어 게임 등, 게임과 연관된 언어를 나타낼 수 있다. 채팅의 언어는 인식되고, 태그를 생성하는 데 활용될 수 있다.
도 4는 일부 구현에 따른, 채팅 트랜스크립트로부터 텍스트 태그를 생성하기 위한 예시적인 방법(400)을 예시하는 흐름도이다.
일부 구현에서, 방법(400)은 예컨대, 도 1을 참조하여 설명된 게임 서버(102) 상에서 구현될 수 있다. 일부 구현에서, 방법(400)의 일부 또는 전부는 도 1에 도시된 바와 같은 하나 이상의 클라이언트 장치(110), 하나 이상의 개발자 장치(130), 또는 하나 이상의 서버 장치(들)(102) 및/또는 개발자 장치(들), 서버 장치(들) 및 클라이언트 장치(들)의 조합 상에서 구현될 수 있다. 설명된 예시에서, 구현 시스템은 하나 이상의 디지털 프로세서 또는 처리 회로(“프로세서") 및 하나 이상의 저장 장치(예컨대, 데이터 저장소(120) 또는 다른 스토리지)를 포함한다. 일부 구현에서, 하나 이상의 서버 및/또는 클라이언트의 상이한 컴포넌트는 방법(400)의 상이한 블록 또는 다른 부분을 수행할 수 있다. 일부 예시에서, 제1 장치는 방법(400)의 블록을 수행하는 것으로 설명된다. 일부 구현은 결과 또는 데이터를 제1 장치로 전송할 수 있는 하나 이상의 다른 장치(예컨대, 다른 클라이언트 장치 또는 서버 장치)에 의해 수행된 방법(400)의 하나 이상의 블록을 가질 수 있다.
방법(400)은 블록(410)에서 시작할 수 있다. 블록(410)에서, 복수의 채팅 트랜스크립트가 획득된다. 각각의 채팅 트랜스크립트는 각 게임의 각각의 게임 플레이 세션과 연관될 수 있으며, 게임 플레이 세션의 참가자에 의해 제공된 콘텐츠를 포함한다. 오직 사용자가 허가를 제공한 채팅 트랜스크립트만 획득된다. 또한, 채팅 트랜스크립트는 사용 전에 개인 식별 가능 정보(예컨대, 사용자 ID, 아바타 등)를 제거하기 위해 처리된다. 또한, 분석 전에 채팅 트랜스크립트의 콘텐츠에서 특정 단어 또는 구절을 제거할 수 있다. 일부 구현에서, 채팅 트랜스크립트를 획득하는 것은 채팅 메타 데이터(예컨대, 특정 채팅에 참가하는 사용자 중 하나 이상, 채팅과 연관된 타임 스탬프, 채팅에서 메시지의 수 등)를 획득하는 것으로 제한될 수 있다. 일부 구현에서, 특정 채팅 트랜스크르립트는 예컨대 참가 사용자가 모든 시청자에 대한 허가를 표시한, "공개 채팅"으로 설정될 수 있다.
일부 구현에서, 사용자 허가에 기초하여, 채팅 트랜스크립트는 1:1 채팅 트랜스크립트 중 하나 이상, 예컨대, 두 사용자 간의 비공개 채팅의 트랜스크립트, N:N 채팅 트랜스크립트, 예컨대, 게임 플레이 세션의 모든 참가자 간의 그룹 채팅 메시지, 게임 플레이 세션 내에서 형성된 팀의 모든 참가자 간의 그룹 채팅 메시지 및 참가자 간의 음성 대화의 트랜스크립트를 포함할 수 있다.
채팅 트랜스크립트는 동일한 게임의 복수의 언어 버전의 채팅 트랜스크립트를 포함할 수 있다. 예컨대, 동일한 표준 게임의 프랑스어, 독일어, 힌디어 및 러시아어 버전이 있는 경우, 모든 언어 버전의 채팅 트랜스크립트는 채팅에서 참가하는 사용자에 의해 허가된 대로, 함께 수집되고 분석될 수 있다.
일부 구현에서, 사용자 허가 하에, 음성-텍스트 변환 기술이 구두 통신 스트림을 텍스트 트랜스크립트로 변환하는 데 활용될 수 있다. 일부 구현에서, 이전에 전사된 음성 통신 기록이 활용될 수 있다. 일부 구현에서, 실질적으로 실시간 전사 기술이 게임 플레이 세션으로부터 음성 녹음을 분석하는 데 활용될 수 있다.
일부 구현에서, 사용자 허가 하에, 텍스트 트랜스크립트는 사용자에 의해 정규화될 수 있다. 예컨대, 채팅 양이 많은 사용자와 연관된 채팅 콘텐츠는 채팅 양이 적은 다른 사용자보다 덜 중요할 수 있다. 일부 구현에서, 사전 필터는 모든 게임 유형에 걸쳐 공통적이고 게임에 대한 특정 신호를 제공하지 않는 메시지 유형(들), 예컨대 "안녕하세요", "안녕히 계세요”와 같은 인사말; "어떻게?", "왜?"와 같은 질문; "rofl", "lol"과 같은 감정 표현 등을 필터링하는 데 활용될 수 있다. 일부 구현에서, 봇이 있는 게임 세션(botted game session)(게임 세션이 하나 이상의 자동화된 플레이어 또는 인간 게임 플레이어인 척하는 봇(bot)을 포함하는 경우)의 채팅 트랜스크립트는 제외될 수 있으며, 예컨대, 식별된 봇의 테이블이 채팅 트랜스크립트에서 의심스러운 봇이 있는 세션의 채팅 트랜스크립트를 제거하는 데 활용될 수 있다. 일부 구현에서, 봇이 있는 세션은 완전히(세션의 채팅 트랜스크립트 데이터가 태그 생성에서 제외됨) 또는 부분적으로(예컨대, 봇과의 채팅 콘텐츠가 태그 생성을 위한 분석에서 제외됨) 제외될 수 있다.
블록(410)은 블록(420)으로 이어질 수 있다.
블록(420)에서, 사용자 허가 하에, 복수의 채팅 트랜스크립트는 각각의 게임에 대한 하나 이상의 특성을 결정하기 위해 프로그래밍식으로 분석된다.
일부 구현에서, 채팅 트랜스크립트는 각각의 게임과 연관된 하나 이상의 수치 메트릭(들)을 결정하기 위해 프로그래밍식으로 분석될 수 있다. 수치 메트릭은 게임의 게임 플레이 세션 내 메시지 양을 나타낼 수 있다. 게임과 연관된 수치 메트릭은 복수의 채팅 트랜스크립트 각각에서 메시지의 수에 기초하는 메트릭을 포함할 수 있다. 예컨대, 채팅 메타 데이터의 프로그래밍식 분석은 기간당 각각의 트랜스크립트에서 메시지의 수(예컨대, 게임 플레이 시간당 또는 초당 메시지의 수), 게임 플레이 세션의 각 참가자가 발신한 각각의 트랩스크립트에서 메시지의 수를 결정하도록 수행될 수 있다. 예컨대, 더 높은 메시지 비율과 더 높은 참가율을 가진 게임의 채팅 트랜스크립트는 더 낮은 메시지 비율과 더 낮은 참가율을 가진 게임의 채팅 트랜스크립트보다 더 소셜인 게임을 나타낼 수 있다.
일부 구현에서, 복수의 채팅 트랜스크립트 각각에서 메시지의 수에 기초하는 통계적 파라미터가 계산될 수 있다. 예컨대, 각각의 게임 참가자와 연관된 메시지의 수의 평균값, 중앙값 또는 최빈값 중 하나 이상이 결정될 수 있다. 게임 참가자의 참가 레벨은 통계적 파라미터에 기초하여 결정될 수 있다.
게임 특성은 또한 각각의 게임과 연관된 소셜 메트릭을 포함할 수 있다. 채팅 트랜스크립트의 각각의 메시지에서 단어의 수는 게임과 연관된 소셜 메트릭을 결정하는 데 활용될 수 있다.
일부 구현에서, 채팅 콘텐츠에 대한 액세스가 채팅 참가자에 의해 허가될 때, 소셜 메트릭은 채팅 트랜스크립트 각각의 각 메시지의 텍스트 분석에 기초하여 결정될 수 있다. 텍스트 분석은 채팅 트랜스크립트에서 텍스트의 해석을 얻기 위해 채팅 트랜스크립트를 구문 분석하는 데 활용할 수 있는 지식 그래프(knowledge graph)와 함께 수행될 수 있다. 텍스트 분석은 트랜스크립트의 참조를 그래프의 특정 개념에 연결하는 의미 주석(semantic annotation)을 생성한다.
일부 구현에서, 사용자 허가 하에, 텍스트 분석은 소셜 인터랙션의 정도를 나타내는 단어의 빈도 분포를 결정하는 것을 포함할 수 있다. 예컨대, 채팅 트랜스크립트에 나타나는 상이한 단어의 빈도의 히스토그램은 소셜 인터랙션의 정도를 나타내는 단어의 빈도에 기초하여 소셜 메트릭을 결정하는 데 활용될 수 있다. 예컨대, 친선 및 유사한 기분과 느낌을 나타내는 단어의 높은 빈도는 친선 등을 나타내는 단어의 빈도가 낮은 게임보다 높은 게임의 소셜 성질의 레벨을 나타낼 수 있다.
게임 플랫폼의 채팅 기능을 사용하기 전에, 사용자에게는 채팅 기능을 선택하고 다양한 파라미터를 설정하기 위한 옵션이 제공된다. 예컨대, 사용자는 비공개 텍스트 채팅에만 참가하도록 선택하고, 채팅 데이터가 세션 기간 동안에만 저장되고 나중에는 액세스할 수 없도록 파라미터를 설정할 수 있다. 다른 예시에서, 사용자는 채팅 활동 전부에 액세스하기 위한 권한을 제공하도록 선택할 수 있다. 또한, 채팅 데이터의 저장 및/또는 사용은 플랫폼 규칙 및 규정에 따라 구성되며, 예컨대, 사용자 위치의 지방 정부 정책에 기초하여 결정된다. 이러한 사용이 허가되지 않는 위치에서, 채팅 데이터는 사용되지 않거나, 게임 플랫폼의 채팅 기능이 완전히 꺼질 수 있다.
블록(420)은 블록(430)으로 이어질 수 있다.
블록(430)에서, 복수의 게임 중 적어도 하나의 게임에 대한 텍스트 태그가 그 특성(게임 특성)에 기초하여 생성될 수 있다.
다른 구현에서, 텍스트 태그는 다양한 목적으로 활용될 수 있다. 일부 구현에서, 텍스트 태그는 게임에 대한 게임 식별자와 관련하여 데이터베이스에 저장될 수 있다. 이러한 구현에서 저장된 텍스트 태그는 게임 검색 또는 브라우징을 지원하는 데 활용될 수 있다. 예컨대, 사용자 허가 하에, 사용자 입력 검색어(예컨대, "소셜 채팅")와 저장된 태그의 의미 비교는 사용자 검색과 일치하는 게임을 식별하기 위해 수행될 수 있다. 다른 예시에서, 저장된 텍스트 태그는 사용자가 게임에 할당된 태그에 의해 게임을 브라우징할 수 있게 하는 사용자 인터페이스를 렌더링하는 데 사용될 수 있다.
일부 구현에서, 게임에 대한 텍스트 태그는 (예컨대, 게임 생성자에 의해) 게임에 수동으로 할당되는 태그를 평가하는 데 활용될 수 있다. 평가는 각각의 수동으로 할당된 태그가 부정확하거나 관련 없는지 여부에 대한 결정이 포함될 수 있다. 이러한 평가 시, 부정확하거나 관련 없는 태그는, 예컨대, 게임과의 연관성이 숨겨지고 그리고/또는 제거되어, 억제될 수 있다. 이러한 방식으로 수동으로 할당된 태그의 억제는 게임의 품질과 플레이어의 관심사에 대한 게임의 관련성에 기초하여, 게임에 대한 플레이어 트래픽이 진짜인지 확실하게 하는 데 도움될 수 있다. 이는 플레이어가 즐기는 게임 플레이 세션의 더 높은 비율로 이어지고, 부정확하거나 관련 없는 라벨로 인해 발생할 수 있는 짧은(예컨대, 1 분 미만) 또는 불만족스러운 세션의 수를 감소시킬 수 있다.
일부 구현에서, 채팅 트랜스크립트의 프로그래밍식 분석은 각각의 게임에 대한 특성을 결정하기 위해 훈련된 머신 러닝 모델을 적용하는 것을 포함할 수 있다. ML 모델은 채팅 트랜스크립트에 기초하여 예측된 태그 세트를 생성한다.
일부 구현에서, ML 모델은 단어를 벡터로 변환하는 단어 임베딩 아키텍처를 활용하는 구조화되지 않은 ML 모델일 수 있다. 예컨대, 단어 임베딩 아키텍처는 채팅 트랜스크립트에 나타나는 단어 또는 구절을 실수(real number)의 벡터로 매핑하는 데 활용될 수 있다.
일부 구현에서, ML 모델은 예컨대, 단어당 많은 차원을 가진 공간에서 더 낮은 차원의 연속 벡터 공간으로 채팅 트랜스크립트 공간의 차원수(dimensionality)를 감소시키기 위해 수학적 임베딩을 활용한다. 예컨대, BERT(Bidirectional Encoder Representations from Transformers) 모델, FastText 모델 또는 일반 Word2Vec 모델을 예비 분석을 수행하기 위해 게임 플랫폼에서 획득된 채팅 트랜스크립트 텍스트에 적용될 수 있다. 채팅 트랜스크립트에 포함된 사용자 이름은 예비 분석 중에, 적절한 태그, 예컨대, [user] 또는 [USER] 태그로 대체될 수 있다.
일부 구현에서, 훈련 전에, 채팅 트랜스크립트의 세트는 예컨대, 인간 지원자로부터 획득된, 그라운드 트루스 태그로 태그되는 채팅 블록으로 구성(조립)될 수 있다. 채팅 트랜스크립트 블록은 예컨대, BERT 또는 FastText와 같은 분류기(classifier)를 사용하여, ML 모델을 훈련하는 데 활용될 수 있다.
예컨대, ML 모델은 채팅 트랜스크립트에 기초하여 특징 벡터(또는 임베딩)를 결정할 수 있다. 특징 벡터(또는 임베딩)는 채팅 트랜스크립트에 기초하여 생성된 수학적, 다차원 표현일 수 있다. 상이한 게임은 각각의 채팅 트랜스크립트에 기초하여 상이한 특징 벡터를 가질 수 있다. 훈련된 ML 모델은 유사한 게임(유사한 유형의 채팅 트랜스크립트와 연관된 게임)에 대해 유사한 특징 벡터를 생성한다.
일부 구현에서, 분석은 채팅 트랜스크립트의 개별 컴포넌트에 기초한다. 일부 구현에서, 분석은 전체로 간주되는 채팅 트랜스크립트에 기초한다. 분석 유형의 선택은 맥락에 의존할 수 있으며, 예컨대, 게임이 대량의 채팅 데이터를 갖는 경우, 태그를 빠르게 생성하도록 개별 컴포넌트의 빠른 분석이 수행될 수 있다. 전체로서 채팅 트랜스크립트의 분석은 이후에 수행될 수 있다.
복수의 게임으로부터의 유사한 게임 플레이는 ML 모델을 사용하여 게임 특징을 분석함으로써 드러나는 특징 공간의 유사한 채팅 트랜스크립트를 포함할 것이다. 채팅 트랜스크립트는 특징 벡터 또는 임베딩 및/또는 클러스터 게임을 파생하고, 파생된 특징 벡터 또는 임베딩에 기초하여 게임과 연관되는 예측된 태그를 생성할 수 있는 ML 모델에 대한 입력으로 제공된다.
일부 구현에서, 소셜 게임 임계값은 게임이 소셜 게임인지 결정하기 위해 활용될 수 있다. 게임은 게임에 대해 계산된 소셜 메트릭 및/또는 게임 특성의 조합이 소셜 게임 임계값을 충족하면 소셜 게임으로 결정/라벨 지정될 수 있다.
일부 구현에서, 게임 참가자 중의/간의 협력 레벨 및 경쟁 레벨은 게임 특성에 기초하여 결정될 수 있다.
일부 구현에서, 수신 레벨이 게임에 대해 결정될 수 있다. 수신 레벨은 예컨대, 다른 참가자가 보낸 채팅 메시지를 보는 등, 적극적으로 참가하는 게임 참가자의 수(카운트)에 기초할 수 있다. 수신 레벨은 게임에서 참가자에 의한 적극적인 참가 레벨을 나타낼 수 있다.
수신 레벨은 상이한 가상 및/또는 지리적 영역에 걸쳐 결정될 수 있다. 예컨대, 수신 레벨은 다른 참가자와 특정 거리 내에 위치하고, 국지적인 영역의 수신 레벨을 나타내는 참가자(예컨대, 특정 주, 도시 또는 국가 등에 위치되는 모든 게임 참가자)에 대해 결정될 수 있다. 다른 예시에서, 수신 레벨은 게임에 대한 글로벌 도달 레벨을 추정하기 위해 지리적 영역에 걸쳐 결정될 수 있다. 일부 구현에서, 게임은 가상 환경(예컨대, 허구의 행성에 가상으로 배치된 모든 게임 참가자 또는 아바타가 피자 가게에 위치되는 모든 게임 참가자)을 포함할 수 있으며, 채팅 트랜스크립트의 분석은 가상 환경의 동일한 영역에 위치되는 아바타와 연관된 참가자의 채팅 트랜스크립트를 포함한다.
카테고리, 예컨대 특정 기간을 초과하는 기간 동안 플레이한 참가자, 플랫폼에 대한 신규 참가자에 의해 정의된 가상 영역이 결정될 수 있다. 예컨대, 게임의 채팅 트랜스크립트에 대한 프로그래밍식 분석이 신규 참가자의 게임 플랫폼에 대한 높은 참가율을 나타내면, 게임이 신규 사용자에게 친숙한 게임임을 나타낼 수 있다.
일부 구현에서, 수신 레벨(또는 청취자/청취율)은 예컨대, 신규 사용자, 장기/숙련된 플레이어, 일시적/비정기적 플레이어 등, 사용자의 상이한 카테고리에 대해 결정될 수 있다.
일부 구현에서, 게임 플레이 세션은 그룹으로 클러스터링되고, 분석은 클러스터링된 게임 세션 그룹의 분석을 포함한다. 클러스터링된 게임 세션 그룹의 분석에 기초하여, 예컨대, 소셜 협력, 팀 경쟁, 솔로 등 그룹에 대한 텍스트 태그가 생성된다. 게임에 대한 태그는 특정 클러스터에 속하는 그룹의 수 임계값(최소 세션의 백분율 또는 수)에 기초하여 생성될 수 있다. 일부 구현에서, 태그 또는 소셜 메트릭은 임계값이 충족되지 않으면 게임이 고유한 특성을 가지지 않는 것을 나타낼 수 있으므로 생성되지 않을 수 있다.
방법(400) 또는 그 일부는 추가 입력을 사용하여 여러 번 반복될 수 있다. 일부 구현에서, 텍스트 태그는 예컨대, 매일, 매주 등 미리 결정된 빈도로 생성될 수 있다. 일부 구현에서, 방법(400)은 게임 업데이트에 의해 트리거될 수 있다.
일부 구현에서, 방법(400) 또는 그 일부는 예컨대, 게임에 대한 코드베이스 변경, 게임 디지털 자산에 대한 변경 등 게임 콘텐츠 업데이트에 기초하여 반복될 수 있다. 일부 구현에서, 방법(400) 또는 그 일부는 예컨대, 특정 기간에서 특정 수의 신규 게임 플레이 세션에서, 채팅 트랜스크립트의 이전 분석 이후 특정 수의 신규 게임 플레이 세션에서 등, 게임 상태 업데이트에 기초하여 반복될 수 있다. 일부 구현에서, 방법(400) 또는 그 일부는 게임 플랫폼에서 게임의 게임 플레이 통계의 변경에 기초하여 반복될 수 있다.
도 5는 일부 구현에 따른, 훈련된 머신 러닝(ML) 모델에 기초하는 게임에 대한 텍스트 태그 생성의 예시를 예시하는 블록도이다.
일부 구현에서, 훈련된 머신 러닝 모델(530)은 사용자에 의해 허가된 바와 같이, 게임 플레이 세션 채팅 트랜스크립트(510)에 기초하는 텍스트 태그(550)의 생성을 위해 활용된다. 태그 리포지토리(540)는 복수의 텍스트 태그를 저장하는 데 활용될 수 있다. 예측된 텍스트 태그(550)는 채팅 트랜스크립트(510)에 기초하여 생성된다.
일부 구현에서, ML 모델은 구조화되지 않은 단어 임베딩 모델, 예컨대 FastText 또는 Word2Vec 모델이다.
일부 구현에서, ML 모델은 신경망이다. 일부 구현에서, ML 모델은 이진 분류, 다중 클래스 분류 및 회귀 중 하나 이상을 포함할 수 있다. 일부 구현에서, ML 모델은 K-평균 모델, kNN 모델, 선형 회귀 모델, 로지스틱 회귀 모델, 의사 결정 트리 모델, SVM 모델, 나이브 베이지안 모델(Naive Bayesian model), 랜덤 포레스트 모델 등일 수 있다.
일부 구현에서, 상이한 ML 모델은 상이한 클래스의 채팅 트랜스크립트에 활용될 수 있다. 일부 구현에서, 동일한 ML 모델이 모든 채팅 트랜스크립트에서 활용될 수 있다.
일부 구현에서, 예측된 텍스트 태그는 채팅 트랜스크립트의 상이한 유형(클래스)에 기초하여 예측된 태그의 동의에 기초하여 결정될 수 있다. 예컨대, 텍스트 태그는 채팅 트랜스크립트의 둘 이상의 유형으로부터의 예측이 미리 결정된 거리 내에 있을 때 예측될 수 있다. 일부 구현에서, 텍스트 태그는 채팅 트랜스크립트의 셋 이상의 유형으로부터의 예측이 미리 결정된 거리 내에 있을 때 예측될 수 있다.
일부 구현에서, 가중치는 다른 채팅 트랜스크립트에 기초하여 예측에 할당될 수 있으며, 가중치가 부여된 점수는 ML 모델에 의해 예측된 태그를 결정하는 데 활용될 수 있다.
일부 구현에서, 사용자(개발자)에 의해 제공된 텍스트 태그는 악성 개발자가 게임 특성에 의해 지원되지 않는 오해의 소지가 있는 텍스트 태그를 제공하지 않도록 보장하기 위해 ML 모델에 의해 검증될 수 있다. 예컨대, 게임의 특정 유형/카테고리가 매우 인기가 있는 경우, 게임 개발자는 게임이 인기 게임 카테고리에 속함을 나타내는 태그를 게임에 부착할 수 있으며, 실제로는 인기 게임 카테고리에 해당하는 특성을 포함하지 않을 수 있다.
도 6은 일부 구현에 따른, 사용자가 허가한 채팅 트랜스크립트 또는 합성적으로 생성된 채팅 트랜스크립트로부터 텍스트 태그 생성을 위해 지도 학습을 사용하여 머신 러닝 모델을 훈련하는 예시를 예시하는 블록도이다.
지도 학습은 소프트웨어 명령과 함께 하나 이상의 프로세서 및 메모리를 포함하는 컴퓨터에서 구현될 수 있다. 일부 구현에서, 하나 이상의 프로세서는 범용 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 머신 러닝 프로세서, ASIC(application-specific integrated circuit), FPGA(field-programmable gate array) 또는 임의의 기타 유형의 프로세서 중 하나 이상을 포함할 수 있다.
이러한 예시적인 예시에서, 지도 학습은 훈련 데이터(610) 및 피드백 생성기(650)에 기초하여 머신 러닝(ML) 모델(630)을 훈련시키는 데 사용된다. ML 모델(630)은 임의의 적절한 머신 러닝 기술, 예컨대 피드 포워드 신경망, 컨볼루션 신경망 또는 임의의 기타 적절한 유형의 신경망을 사용하여 구현될 수 있다. 일부 구현에서, 베이지안 모델, 서포트 벡터 머신, HMM(hidden Markov model) 등과 같은 다른 머신 러닝 기술 또한 ML 모델(630)을 구현하는 데 사용될 수 있다.
훈련 데이터(610)는 복수의 게임에 대한 채팅 트랜스크립트(615)(사용자 허가 및/또는 합성적으로 생성됨) 및 그라운드 트루스 태그(625)를 포함한다. 채팅 트랜스크립트는 예컨대, 도 3과 관련하여 설명된 임의의 채팅 트랜스크립트를 포함할 수 있다. 그라운드 트루스 텍스트 태그는 게임 개발자, 게임 플레이어 또는 다른 인간 사용자에 의해 제공된 태그로부터 획득될 수 있다.
이러한 예시적인 예시에서, 채팅 트랜스크립트(615)는 훈련 중인 머신 러닝(ML) 모델(630)에 제공된다. ML 모델은 ML 모델 및 채팅 트랜스크립트의 현재 상태에 기초하여 예측된 태그 세트(640)를 생성한다. 예컨대, ML 모델은 채팅 트랜스크립트(615)의 특징에 기초하여 특징 벡터(또는 임베딩)를 결정할 수 있다. 특징 벡터(또는 임베딩)는 채팅 트랜스크립트(615)에 기초하여 생성된 수학적 다차원 표현일 수 있다. 상이한 게임은 각각의 채팅 트랜스크립트에 기초하여 상이한 특징 벡터를 가질 수 있다. 학습 시, ML 모델은 유사한 게임(유사한 유형의 채팅 트랜스크립트와 연관된 게임)에 대해 유사한 특징 벡터를 생성한다.
채팅 트랜스크립트의 개별 컴포넌트에 기초한 분석은 게임 콘텐츠의 부정확 한 결정으로 이어질 수 있다. 대신, 전체로서 고려할 때 채팅 트랜스크립트의 분석은 게임 콘텐츠의 정확할 것으로 예상되는 결정으로 이어질 수 있다. 복수의 게임에서 유사한 게임 플레이는 ML 모델을 사용하여 게임 특징을 분석함으로써 나타나는 특징 공간에서 유사한 채팅 트랜스크립트 메시지를 포함한다. 각각의 채팅 트랜스크립트 및/또는 채팅 트랜스크립트의 조합은 ML 모델에 입력되는 특징으로 사용될 수 있다. 특징은 ML 모델에서 게임을 클러스터링하고 게임과 연관된 예측 태그를 생성하는 데 활용된다.
다른 방식으로 말하면, 채팅 트랜스크립트는 게임에 대한 텍스트 태그를 결정하는 데 사용될 수 있는 게임의 특성을 결정하는 데 사용될 수 있다. ML 모델(630)은 게임에 대한 텍스트 태그를 생성하기 위해 특징 벡터를 활용할 수 있다. 예컨대, 지도, 타겟, 무기에 관한 참가자(사용자) 대화를 포함하는 게임의 채팅 트랜스크립트는 게임이 생존 또는 배틀 로얄 게임과 관련됨을 나타낼 수 있다. 다른 예시에서, 자동차, 속도, 마력 등에 관한 사용자 대화를 포함하는 채팅 트랜스크립트는 게임이 레이싱 게임과 관련됨을 나타낼 수 있다.
예컨대, 첫 번째 게임은 지도, 타겟, 무기 등에 대한 참조를 포함하고, 두 참가자 그룹(팀)의 멤버 참가자들 간에 많은 양의 텍스트 메시지를 가지는 채팅 트랜스크립트를 포함할 수 있는 반면, 두 번째 게임은 기록된 사용자 통신이 없는 채팅 트랜스크립트를 가질 수 있다. ML 모델(630)은 유사성을 갖는 채팅 트랜스크립트를 갖지 않는 게임에 기초하여 이들 두 개의 예시적인 게임에 대해 상당히 떨어져 있는 특징 벡터를 생성할 수 있다. 한편, 팀 정신, 산, 텐트, 하이킹 등에 대한 사용자 통신 참조와 두 참가자 그룹(팀)의 멤버 참가자 간에 대량의 텍스트 메시지가 있는 채팅 트랜스크립트를 포함하는 세 번째 게임의 경우, 생성된 특징 벡터는 첫 번째 게임과 유사할 수 있다.
ML 모델(630)은 게임과 연관된 채팅 트랜스크립트에 기초하여, 예컨대, 특징 벡터에 기초하여, 그리고/또는 다른 게임의 특징 벡터 및 이러한 다른 게임과 연관된 태그와의 유사성에 기초하여, 게임 텍스트 태그를 생성할 수 있다. 예컨대, ML 모델(630)은 첫 번째와 세 번째 게임에 대해 "팀 협력” 또는 "소셜 협력" 태그를, 두 번째 게임에 대해 "비-소셜" 태그를 생성할 수 있다.
ML 모델(630)에 의해 생성된 예측된 태그(640)는 피드백 생성기(650)에 제공된다.
피드백 생성기(650)는 또한 게임에 대응하는 그라운드 트루스 태그(625)(예컨대, 인간이 큐레이팅한 태그)와 함께 제공된다. 피드백(660)은 그라운드 트루스 태그와 예측된 태그의 비교에 기초하여 피드백 생성기(650)에 의해 생성된다. 예컨대, 예측된 태그(640)가 그라운드 트루스 태그(625)와 유사한 경우, 긍정적인 피드백이 피드백(660)으로 제공될 수 있는 반면, 태그가 유사하지 않은 경우, 부정적인 피드백이 훈련 중인 ML 모델에 제공되며, 이는 강화 학습 기술을 사용하여 수신된 피드백에 기초하여 업데이트될 수 있다.
일부 구현에서, ML 모델은 얕은 Word2Vec/FastText 아키텍처 또는 BERT 아키텍처를 포함한다.
일부 구현에서, ML 모델은 하나 이상의 신경망을 포함한다. 신경망(들)은 복수의 계층을 포함하는 복수의 계층으로 체계화될 수 있다. 각각의 계층은 복수의 신경망 노드를 포함할 수 있다. 특정 계층의 노드는 바로 이전 계층의 노드와 바로 다음 계층의 노드에 연결될 수 있다. 일부 구현에서, ML 모델은 컨볼루션 신경망(CNN)일 수 있다.
일부 구현에서, 채팅 트랜스크립트는 단일 ML 모델에 의해 동시에 모두 처리된다. 일부 구현에서, 채팅 트랜스크립트의 특정 유형은 제1 ML 모델에 의해 처리되는 반면, 채팅 트랜스크립트의 다른 서브 세트는 제2 ML 모델에 의해 처리될 수 있고, 채팅 트랜스크립트의 또 다른 서브 세트는 제3 ML 모델 등에 의해 처리될 수 있는 것 등이다. 예컨대, 음성 트랜스크립트는 제1 ML 모델에 의해 처리될 수 있고, 텍스트 트랜스크립트는 제2 ML 모델에 의해 처리될 수 있는 것 등이다.
일부 구현에서, 상이한 유형의 ML 모델이 상이한 카테고리의 채팅 트랜스크립트를 처리하고 채팅 트랜스크립트의 각각의 카테고리에서 특성을 식별하는 데 활용될 수 있다. 식별된 특성은 이후 예측된 태그를 생성하기 위한 입력으로서 이러한 중간 출력에서 동작하는 다른 ML 모델에 의해 처리될 수 있다.
ML 모델의 훈련은 지정된 간격으로 주기적으로 수행되거나, 이벤트에 의해 트리거될 수 있다. 일부 구현에서, 텍스트 태그 예측 정확도의 임계값 레벨이 도달될 때까지, 훈련이 반복될 수 있다.
일부 구현에서, 채팅 트랜스크립트는 ML 모델에 제공되기 전에 전처리될 수 있다. 예컨대, 일부 구현에서, 불용어(stop word), 스팸으로 감지된 채팅 트랜스크립트 콘텐츠, 봇에서 발생된 것으로 감지된 채팅 트랜스크립트 콘텐츠, 관련 없는 텍스트 등은 ML 모델에 제공되기 전에 제거될 수 있다. 일부 구현에서, 채팅 트랜스크립트 콘텐츠는 BERT 모델에 제공되기 전에 청크(chunk)로 그룹화될 수 있다.
도 7은 일부 구현들에 따른, 텍스트 태그 생성을 위해 머신 러닝 모델을 훈련시키는 예시적인 방법을 예시하는 흐름도이다.
일부 구현에서, 방법(700)은 예컨대 도 1을 참조하여 설명된 게임 서버(102) 상에 구현될 수 있다. 일부 구현에서, 방법(700)의 일부 또는 전부는 도 1에 도시된 바와 같이 하나 이상의 클라이언트 장치(110), 하나 이상의 개발자 장치(130), 또는 하나 이상의 서버 장치(들)(102) 및/또는 개발자 장치(들), 서버 장치(들) 및 클라이언트 장치(들)의 조합 상에 구현될 수 있다. 설명된 예시에서, 구현 시스템은 하나 이상의 디지털 프로세서 또는 처리 회로(“프로세서") 및 하나 이상의 저장 장치(예컨대, 데이터 저장소(120) 또는 다른 스토리지)를 포함한다. 일부 구현에서, 하나 이상의 서버 및/또는 클라이언트의 상이한 컴포넌트는 방법(700)의 상이한 블록 또는 다른 부분을 수행할 수 있다. 일부 예시에서, 제1 장치는 방법(700)의 블록을 수행하는 것으로 설명된다. 일부 구현은 결과 또는 데이터를 제1 장치로 전송할 수 있는 하나 이상의 다른 장치(예컨대, 다른 클라이언트 장치 또는 서버 장치)에 의해 수행되는 방법(700)의 하나 이상의 블록을 가질 수 있다.
일부 구현에서, 방법(700) 또는 방법의 일부는 시스템에 의해 자동으로 개시될 수 있다. 일부 구현에서, 구현 시스템은 제1 장치이다. 예컨대, 방법(또는 그 일부)은 주기적으로 수행될 수 있거나, 하나 이상의 특정 이벤트 또는 조건, 예컨대 임계값 미만으로 떨어지는 텍스트 태그 예측의 정확도, 방법(700)의 마지막 성능 이후 만료된 미리 결정된 기간 및/또는 방법에 의해 판독된 설정에서 지정될 수 있는 발생한 하나 이상의 다른 조건에 기초하여 수행될 수 있다. 사용자가 채팅 트랜스크립트 사용에 대한 허가를 거부하거나, 채팅 트랜스크립트를 다른 이유로 사용할 수 없는 경우, 방법(700)은 게임에 대한 텍스트 태그가 채팅 정보에 기초하여 결정되지 않도록 수행되지 않는다.
방법(700)은 블록(710)에서 시작할 수 있다. 블록(710)에서, 특정 사용자 허가로 획득된 다양한 게임과 연관된 채팅 트랜스크립트는 머신 러닝 모델에 대한 입력으로서 제공된다. 사용자 허가로, 데이터는 복수의 게임 식별자 및 게임 식별자에 의해 식별되는 각각의 게임과 연관된 채팅 트랜스크립트의 각 세트를 포함한다. 예컨대, 게임과 연관된 제목 또는 영숫자 코드(alphanumeric code), 채팅 트랜스크립트의 세트, 예컨대, 텍스트 메시지, 음성 메시지 등은 ML 모델에 대한 입력으로 제공될 수 있다.
전술한 바와 같이, 채팅 트랜스크립트는 사용자에 의해 허가된 바에 따라, 1:1 텍스트 메시지, N:N 텍스트 메시지 및/또는 음성 메시지를 포함할 수 있다. 사용자가 허가를 제공할 때, 채팅 트랜스크립트는 또한 참가자에 의한 아바타 사용, 게임 플레이 세션 동안의 참가자/아바타 위치, 타임 스탬프 등과 같은 추가 정보를 포함할 수 있다. 블록(710)은 블록(720)으로 이어질 수 있다.
블록(720)에서, 예측된 텍스트 태그는 ML 모델의 현재 상태 및 게임 식별자에 의해 식별된 게임에 대한 채팅 트랜스크립트에 기초하여 ML 모델에 의해 생성된다.
신경망을 사용하는 구현에서, 각각의 특징 벡터는 채팅 트랜스크립트의 각각의 세트에 기초하여 게임 식별자에 의해 식별된 각각의 게임에 대해 생성될 수 있다. 일부 구현에서, 머신 러닝 모델은 하나 이상의 입력 신경망 및 출력 신경망을 포함한다. 각각의 특징 벡터(들)는 하나 이상의 입력 신경망을 사용하여 생성되고, 각각의 특징 벡터(들)는 출력 신경망에 대한 입력으로서 제공될 수 있다. 블록(720)은 블록(730)으로 이어질 수 있다.
블록(730)에서, 예측된 텍스트 태그는 그라운드 트루스 태그와 비교된다. 예컨대, 게임 식별자에 의해 식별된 게임에 대한 하나 이상의 예측된 텍스트 태그는 게임과 연관된 각각의 그라운드 트루스 태그와 비교된다. 텍스트 태그 예측의 정확도는 각각의 게임에 대해 결정되고, 예컨대 ML 모델이 제공된 채팅 트랜스크립트에 기초하여 각각의 게임에 대한 텍스트 태그를 성공적으로 예측했는지 여부를 평가한다. 손실 값은 텍스트 태그 예측의 정확도에 기초하여 결정된다. 블록(730)은 블록(740)으로 이어질 수 있다.
블록(740)에서, ML 모델은 예측된 태그와 그라운드 트루스 태그의 비교로부터 생성된 피드백에 기초하여 업데이트된다. 예컨대, 손실 값은 ML 모델의 하나 이상의 파라미터를 조정하는 데 사용된다. 예컨대, ML 모델이 신경망을 사용하여 구현되는 경우, 신경망의 하나 이상의 노드 및/또는 신경망의 노드의 하나 이상의 쌍 간의 연결과 연관된 가중치는 손실 값에 기초하여 조정될 수 있다. 일부 구현에서, 신경망의 노드 쌍 사이의 링크와 연관된 가중치는 조정될 수 있다. 블록(740)은 블록(750)으로 이어질 수 있다.
블록(750)에서, ML 모델의 정확도는 누적 결과에 기초하여 결정되고, 임계값과 비교된다. 예컨대, ML 모델에 의해 생성된 태그를 그라운드 트루스 태그와 비교하여 정확도를 결정할 수 있다. 다른 예시에서, ML 모델에 의해 생성된 태그는 게임 플랫폼 사용자에게 사용자 인터페이스를 디스플레이하는 데 사용될 수 있으며, 태그의 효과가 (태그에 대한 클릭률, ML 모델을 생성한 태그에 대해 A/B 테스트 구성에서 다른 방식으로 획득된 태그를 포함하는 사용자 인터페이스에서 생성된 게임 플레이, 사람의 평가 등에 기초하여) 측정될 수 있다. 정확도가 임계값을 충족하면, 훈련된 ML 모델은 배치에 적합한 것으로 결정되고, 프로세싱은 블록(770)으로 진행되고, 그렇지 않으면 ML 모델 훈련이 계속되고 프로세싱이 710으로 되돌아간다.
일부 구현에서, ML 모델은 상이한 유형/클래스의 트랜스크립트, 예컨대, 그룹 채팅 메시지, 음성 메시지 등을 활용하여 공동으로 훈련된다. 일부 구현에서, ML 모델에 공동으로 제공되기 전에, 상이한 클래스/유형의 트랜스크립트가 별도로 차단(청크 사용)될 수 있다.
블록(770)에서, 훈련된 ML 모델은 게임에 대한 텍스트 태그의 생성을 위해 배치될 수 있다.
방법(700) 또는 그 일부는 추가 입력을 사용하여 여러 번 반복될 수 있다. 예컨대, 블록(720 및 730)은 그라운드 트루스 텍스트 태그의 복수의 세트로 반복될 수 있다. 다른 예시에서, 블록(710-750)은 추가 게임으로 반복될 수 있다. 방법(700)은 텍스트 태그 예측 정확도의 임계값 레벨이 도달될 때까지 반복될 수 있다.
일부 구현에서, 방법(700) 또는 그 일부는 주기적으로 반복될 수 있다. 예컨대, 방법(700) 또는 그 일부는 매일, 매주, 매월 등마다 ML 모델을 재훈련시키기 위해 반복될 수 있다. 일부 구현에서, 방법(700) 또는 그 일부는 게임 등급의 변경, 예컨대 게임 플랫폼에서 상위/인기 게임의 등급 변경에 기초하여 또는 코드 베이스 변경, 게임 디지털 자산 변경 등에 기초하여, 반복될 수 있다. 일부 구현에서, 방법(700)은 새로운 텍스트 태그의 추가에 기초하여 반복될 수 있다.
도 8은 여기에서 설명된 하나 이상의 특징을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치(800)의 블록도이다. 일 예시에서, 장치(800)는 컴퓨터 장치(예컨대, 도 1의 102 및/또는 110)를 구현하고, 여기에서 설명된 적절한 방법 구현을 수행하는 데 사용될 수 있다. 컴퓨팅 장치(800)는 임의의 적절한 컴퓨터 시스템, 서버, 또는 다른 전자 또는 하드웨어 장치일 수 있다. 예컨대, 컴퓨팅 장치(800)는 메인프레임 컴퓨터, 데스크톱 컴퓨터, 워크스테이션, 휴대용 컴퓨터 또는 전자 장치(휴대용 장치, 모바일 장치, 휴대폰, 스마트 폰, 태블릿 컴퓨터, 텔레비전, TV 셋톱 박스, PDA(personal digital assistant), 미디어 플레이어, 게임 장치, 웨어러블 장치 등)일 수 있다. 일부 구현에서, 장치(800)는 프로세서(802), 메모리(804), 입력/출력(I/O) 인터페이스(806) 및 오디오/비디오 입력/출력 장치(814)를 포함한다.
프로세서(802)는 프로그램 코드를 실행하고 장치(800)의 기본 동작을 제어하기 위한 하나 이상의 프로세서 및/또는 처리 회로일 수 있다. "프로세서"는 데이터, 신호 또는 기타 정보를 처리하는 임의의 적절한 하드웨어 및/또는 소프트웨어 시스템, 메커니즘 또는 컴포넌트를 포함한다. 프로세서는 범용 중앙 처리 장치(CPU), 다중 처리 장치, 기능을 달성하기 위한 전용 회로 또는 기타 시스템이 있는 시스템을 포함할 수 있다. 처리는 특정 지리적 위치로 제한되거나 일시적인 제한을 가질 필요가 없다. 예컨대, 프로세서는 "실시간", "오프라인", "배치 모드(batch mode)" 등의 기능을 수행할 수 있다. 처리의 일부는 상이한 (또는 동일한) 처리 시스템에 의해 다른 시간과 다른 위치에서 수행될 수 있다. 컴퓨터는 메모리와 통신하는 임의의 프로세서일 수 있다.
메모리(804)는 전형적으로 프로세서(802)에 의한 액세스를 위해 장치(800)에 제공되고, 프로세서에 의한 실행을 위한 명령을 저장하는 데 적합하고 프로세서(802)와 분리되어 위치 및/또는 통합되는, 임의의 적절한 프로세서 판독가능 저장 매체, 예컨대 RAM(random access memory), ROM(read-only memory), EEPROM(Electrical Erasable Read-only Memory), 플래시 메모리 등일 수 있다. 메모리(804)는 운영 체제(808), 하나 이상의 애플리케이션(810), 예컨대 오디오 공간화 애플리케이션 및 애플리케이션 데이터(812)를 포함하는, 프로세서(802)에 의해 서버 장치(800) 상에서 동작하는 소프트웨어를 저장할 수 있다. 일부 구현에서, 애플리케이션(810)은 프로세서(802)가 여기에서 설명된 기능 (또는 기능의 제어), 예컨대, 도 4 및 7과 관련하여 설명된 방법의 일부 또는 전부를 수행하도록 하는 명령어를 포함할 수 있다.
예컨대, 애플리케이션(810)은 여기에서 설명된 바와 같이 온라인 게임 서버(예컨대, 102) 내에서 오디오 공간화를 제공할 수 있는 오디오 공간화 모듈(812)을 포함할 수 있다. 메모리(804)에서 소프트웨어 요소는 대안적으로 임의의 다른 적절한 저장 위치 또는 컴퓨터 판독가능 매체에 저장될 수 있다. 또한, 메모리(804)(및/또는 다른 연결된 저장 장치(들))는 여기에서 설명된 특징에서 사용되는 명령어 및 데이터를 저장할 수 있다. 메모리(804) 및 임의의 다른 유형의 스토리지(자기 디스크, 광 디스크, 자기 테이프 또는 기타 유형의 매체)는 "스토리지” 또는 "저장 장치"로 간주될 수 있다.
I/O 인터페이스(806)는 서버 장치(800)가 다른 시스템 및 장치와 인터페이스할 수 있도록 하는 기능을 제공할 수 있다. 예컨대, 네트워크 통신 장치, 저장 장치(예컨대, 메모리 및/또는 데이터 저장소(120)) 및 입력/출력 장치는 인터페이스(806)를 통해 통신할 수 있다. 일부 구현에서, I/O 인터페이스는 입력 장치(키보드, 포인팅 장치, 터치 스크린, 마이크, 카메라, 스캐너 등) 및/또는 출력 장치(디스플레이 장치, 스피커 장치, 프린터, 모터 등)를 포함하는 인터페이스 장치에 연결될 수 있다.
오디오/비디오 입력/출력 장치(814)는 사용자 입력을 수신하는 데 사용될 수 있는 사용자 입력 장치(예컨대, 마우스 등), 디스플레이 장치(예컨대, 스크린, 모니터 등) 및/또는 그래픽 및/또는 시각적 출력을 제공하는 데 사용될 수 있는 결합된 입력 및 디스플레이 장치를 포함할 수 있다.
설명의 편의를 위해, 도 8은 프로세서(802), 메모리(804), I/O 인터페이스(806) 및 소프트웨어 블록(808 및 810) 각각에 대한 하나의 블록을 도시한다. 이들 블록은 하나 이상의 프로세서 또는 처리 회로, 운영 체제, 메모리, I/O 인터페이스, 애플리케이션 및/또는 소프트웨어 엔진을 나타낸다. 다른 구현에서, 장치(800)는 도시된 컴포넌트 전부를 갖지 않을 수 있고, 그리고/또는 여기에서 도시된 것 대신에 또는 이에 추가하여 다른 유형의 요소를 포함하는 다른 요소를 가질 수 있다. 온라인 게임 서버(102)가 여기에서 일부 구현에 설명된 동작을 수행하는 것으로 설명되지만, 온라인 게임 서버(102) 또는 유사한 시스템의 임의의 적절한 컴포넌트 또는 컴포넌트의 조합, 또는 이러한 시스템과 관련된 임의의 적절한 프로세서 또는 프로세서들이 설명된 동작을 수행할 수 있다.
사용자 장치는 또한 여기에서 설명된 특징을 구현 및/또는 사용할 수 있다. 예시적인 사용자 장치는 장치(800), 예컨대 프로세서(들)(802), 메모리(804) 및 I/O 인터페이스(806)와 같은 일부 유사한 컴포넌트를 포함하는 컴퓨터 장치일 수 있다. 클라이언트 장치에 적합한 운영 체제, 소프트웨어 및 애플리케이션이 메모리에 제공되고 프로세서에 의해 사용될 수 있다. 클라이언트 장치를 위한 I/O 인터페이스는 입력 및 출력 장치, 예컨대, 사운드를 포착하기 위한 마이크, 이미지 또는 비디오를 포착하기 위한 카메라, 사용자 입력을 포착하기 위한 마우스, 사용자 제스처를 인식하기 위한 제스처 장치, 사용자 입력을 감지하기 위한 터치 스크린, 사운드를 출력하기 위한 오디오 스피커 장치, 이미지 또는 비디오를 출력하기 위한 디스플레이 장치 또는 기타 출력 장치뿐만 아니라 네트워크 통신 장치에 연결될 수 있다. 예컨대, 오디오/비디오 입력/출력 장치(814) 내의 디스플레이 장치는 장치(800)에 연결(또는 포함)되어 여기에서 설명된 바와 같이 이미지 전처리 및 후처리를 디스플레이할 수 있으며, 이러한 디스플레이 장치는 임의의 적절한 디스플레이 장치, 예컨대 LCD, LED 또는 플라즈마 디스플레이 스크린, CRT, 텔레비전, 모니터, 터치 스크린, 3D 디스플레이 스크린, 프로젝터 또는 기타 시각적 디스플레이 장치를 포함할 수 있다. 일부 구현은 오디오 출력 장치, 예컨대 음성 출력 또는 텍스트를 말하는 합성을 제공할 수 있다.
여기에서 설명된 하나 이상의 방법(예컨대, 방법(400 및 700))은 컴퓨터에서 실행될 수 있는, 컴퓨터 프로그램 명령어 또는 코드에 의해 구현될 수 있다. 예컨대, 코드는 하나 이상의 디지털 프로세서(예컨대, 마이크로프로세서 또는 기타 처리 회로)에 의해 구현될 수 있으며, 비일시적 컴퓨터 판독가능 매체(예컨대, 저장 매체), 예컨대 반도체 또는 솔리드 스테이트 메모리, 자기 테이프, 이동식 컴퓨터 디스켓(removable computer diskette), RAM(random access memory), ROM(read-only memory), 플래시 메모리, 강성 자기 디스크(rigid magnetic disk), 광 디스크, 솔리드 스테이트 메모리 드라이브 등을 포함한 자기, 광학, 전자기 또는 반도체 저장 매체를 포함하는 컴퓨터 프로그램 제품에 저장될 수 있다. 프로그램 명령어는 서버(예컨대, 분산 시스템 및/또는 클라우드 컴퓨팅 시스템)로부터 전달된 예컨대, SaaS(software as a service)의 형태로 전자 신호에 포함되고 제공될 수 있다. 대안적으로, 하나 이상의 방법은 하드웨어(로직 게이트 등) 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 하드웨어의 예시는 프로그래밍 가능 프로세서(예컨대, FPGA(Field-Programmable Gate Array), 복합 프로그래밍 가능 논리 소자(complex programmable logic device), 범용 프로세서, 그래픽 프로세서, ASIC(Application Specific Integrated Circuit) 등)일 수 있다. 하나 이상의 방법은 시스템에서 실행되는 애플리케이션의 일부 또는 컴포넌트로서, 또는 다른 애플리케이션 및 운영 체제와 함께 실행되는 애플리케이션이 또는 소프트웨어로서 수행될 수 있다.
여기에서 설명된 하나 이상의 방법은 임의의 유형의 컴퓨팅 장치에서 실행될 수 있는 자립형 프로그램(standalone program), 웹 브라우저에서 실행되는 프로그램, 모바일 컴퓨팅 장치(예컨대, 휴대폰, 스마트 폰, 태블릿 컴퓨터, 웨어러블 장치(손목 시계, 암밴드, 장신구, 헤드웨어, 고글, 안경 등), 랩톱 컴퓨터 등)에서 실행되는 모바일 애플리케이션(“앱")에서 실행될 수 있다. 일 예시에서, 클라이언트/서버 아키텍처가 사용될 수 있고, 예컨대, (클라이언트 장치로서) 모바일 컴퓨팅 장치가 사용자 입력 데이터를 서버 장치로 전송하고 서버로부터 출력(예컨대, 디스플레이)을 위한 최종 출력 데이터를 수신한다. 다른 예시에서, 모든 계산은 모바일 컴퓨팅 장치 상의 모바일 앱(및/또는 다른 앱) 내에서 수행될 수 있다. 다른 예시에서, 계산은 모바일 컴퓨팅 장치와 하나 이상의 서버 장치 간에 분할될 수 있다.
설명이 그 특정 구현과 관련하여 설명되었지만, 이러한 특정 구현은 단지 예시적인 것이며, 제한적이지 않다. 예시에 설명된 개념은 다른 예시 및 구현에 적용될 수 있다.
본 개시에서 설명된 기능 블록, 동작, 특징, 방법, 장치 및 시스템은 당업자에게 알려진 바와 같이 시스템, 장치 및 기능 블록의 상이한 조합으로 통합되거나 분할될 수 있다. 임의의 적절한 프로그래밍 언어 및 프로그래밍 기술이 특정 구현의 루틴을 구현하는 데 사용될 수 있다. 다른 프로그래밍 기술이, 예컨대 절차적 또는 객체 지향적으로 이용될 수 있다. 루틴은 단일 처리 장치 또는 다중 프로세서 상에서 실행할 수 있다. 단계, 동작 또는 계산이 특정 순서로 제시될 수 있지만, 순서는 다른 특정 구현에서 변경될 수 있다. 일부 구현에서, 본 명세서에서 순차적으로 도시된 복수의 단계 또는 동작이 동시에 수행될 수 있다.
전술한 설명에 추가하여, 게임 플랫폼의 사용자는, 여기에서 설명된 시스템, 프로그램 또는 기능이 사용자 정보, 예컨대 사용자 장치의 장치 센서로부터 획득된 정보, 사용자의 채팅 데이터, 사용자의 선호도, 사용자의 현재 위치의 수집을 가능하게 할 수 있는 때나 경우, 사용자가 선택할 수 있도록 하는 제어가 제공된다. 사용자는 다양한 유형의 사용자 데이터에 대한 허가를 선택적으로 거부할 수 있다. 사용자 데이터는 오직 사용자에 의해 허가된 대로만 사용된다. 또한, 사용자 데이터는 저장 및/또는 사용되기 전에 처리될 수 있다. 예컨대, 이러한 처리는 개인 식별 가능 정보가 사용자 데이터에서 제거되도록 보장할 수 있다. 예컨대, 사용자의 신원은 개인 식별 가능 정보가 사용자에 대해 결정될 수 없도록 처리될 수 있다. 다른 예시에서, 지리적 위치는 특정 위치가 결정될 수 없도록, (예컨대, 도시, 우편 번호 또는 국가 수준과 같이) 위치 정보가 획득되는 곳에서 일반화된다. 따라서 사용자는 어떤 정보가 사용자에 대해 수집되는지, 어떻게 해당 정보가 사용되지, 그리고 어떤 정보가 사용자에게 제공되는지에 관한 제어가 제공될 수 있다.

Claims (21)

  1. 하나 이상의 텍스트 태그를 생성하기 위한 컴퓨터 구현된 방법으로서,
    복수의 채팅 트랜스크립트(chat transcript)를 획득하는 단계 - 각각의 채팅 트랜스크립트는 복수의 게임 중 각각의 게임의 각각의 게임 플레이 세션과 연관되고, 각각의 채팅 트랜스크립트는 상기 게임 플레이 세션에서 참가자에 의해 제공된 콘텐츠를 포함함 -;
    상기 복수의 게임 중 각각의 게임에 대한 하나 이상의 특성을 결정하기 위해 상기 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 단계; 및
    상기 복수의 게임 중 적어도 하나의 게임에 대한 텍스트 태그를 상기 적어도 하나의 게임의 상기 하나 이상의 특성에 기초하여 생성하는 단계
    를 포함하는 컴퓨터 구현된 방법.
  2. 제1항에 있어서,
    사용자가 게임을 브라우징하거나 검색할 수 있도록 하는 사용자 인터페이스를 제공하는 단계를 더 포함하고, 상기 사용자 인터페이스는 복수의 게임 및 대응하는 텍스트 태그를 포함하는 것인, 컴퓨터 구현된 방법.
  3. 제1항에 있어서,
    상기 각각의 게임에 대한 하나 이상의 특성을 결정하기 위해 상기 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 단계는 상기 각각의 게임과 연관된 수치 메트릭을 결정하는 단계를 포함하는, 컴퓨터 구현된 방법.
  4. 제3항에 있어서,
    상기 수치 메트릭을 결정하는 단계는 상기 복수의 채팅 트랜스크립트 각각에서 메시지의 수를 결정하는 단계를 포함하고, 상기 수치 메트릭은 상기 메시지의 수에 기초하는 것인, 컴퓨터 구현된 방법.
  5. 제4항에 있어서,
    상기 메시지의 수를 결정하는 단계는 각 참가자에 의한 각각의 트랜스크립트에서 상기 메시지의 수 또는 기간 당 각각의 트랜스크립트에 상기 메시지의 수에 기초하여 결정하는 단계를 포함하는, 컴퓨터 구현된 방법.
  6. 제1항에 있어서,
    상기 각각의 게임에 대한 하나 이상의 특성을 결정하기 위해 상기 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 단계는 상기 복수의 채팅 트랜스크립트에 기초하여 상기 각각의 게임과 연관된 소셜 메트릭을 결정하는 단계를 포함하는, 컴퓨터 구현된 방법.
  7. 제6항에 있어서,
    상기 소셜 메트릭을 결정하는 단계는 상기 채팅 트랜스크립트 각각의 각 메시지에서 단어의 수를 결정하는 단계를 포함하고, 상기 소셜 메트릭은 상기 단어의 수에 기초하는 것인, 컴퓨터 구현된 방법.
  8. 제6항에 있어서,
    상기 소셜 메트릭을 결정하는 단계는 상기 채팅 트랜스크립트 각각의 각 메시지의 텍스트 분석을 수행하는 단계를 포함하는, 컴퓨터 구현된 방법.
  9. 제1항에 있어서,
    상기 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 단계는 상기 각각의 게임에 대한 상기 하나 이상의 특성을 획득하기 위해 훈련된 머신 러닝 모델(trained machine learning model)을 적용하는 단계를 포함하는, 컴퓨터 구현된 방법.
  10. 제1항에 있어서,
    상기 텍스트 태그는 상기 각각의 게임의 하나 이상의 특성이 소셜 게임 임계값을 충족하는 경우, 소셜 게임을 나타내는 것인, 컴퓨터 구현된 방법.
  11. 제1항에 있어서,
    상기 각각의 게임의 하나 이상의 특성에 기초하여 상기 게임 참가자 간의 협력 레벨(level of collaboration) 및 경쟁 레벨(level of competition)을 결정하는 단계를 더 포함하고,
    상기 하나 이상의 텍스트 태그를 생성하는 것은 상기 협력 레벨 및 상기 경쟁 레벨에 기초하는 것인, 컴퓨터 구현된 방법.
  12. 제1항에 있어서,
    상기 각각의 게임에 대한 수신 레벨을 상기 각각의 게임과 연관된 채팅 트랜스크립트에서 하나 이상의 채팅 메시지를 보는 게임 참가자의 카운트에 기초하여 계산하는 단계를 더 포함하는 컴퓨터 구현된 방법.
  13. 제12항에 있어서,
    상기 게임은 가상 환경을 포함하고, 상기 게임 참가자의 카운트에 포함된 게임 참가자는 상기 가상 환경의 동일한 영역에 위치되는 아바타와 연관되는 것인, 컴퓨터 구현된 방법.
  14. 제1항에 있어서,
    상기 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 단계는 통계적 파라미터를 상기 복수의 채팅 트랜스크립트 각각의 메시지의 수에 기초하여 결정하는 단계를 포함하고, 상기 통계적 파라미터는 각각의 게임 참가자와 연관된 상기 메시지의 수의 평균값, 중앙값 또는 최빈값 중 하나 이상을 포함하는 것인, 컴퓨터 구현된 방법.
  15. 제14항에 있어서,
    게임 참가자의 참가 레벨을 상기 통계적 파라미터에 기초하여 결정하는 단계를 더 포함하는 컴퓨터 구현된 방법.
  16. 명령어를 포함하는 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어는 처리 장치에 의한 실행에 응답하여, 상기 처리 장치로 하여금,
    복수의 채팅 트랜스크립트를 획득하는 동작 - 각각의 채팅 트랜스크립트는 복수의 게임 중 각각의 게임의 각각의 게임 플레이 세션과 연관되고, 각각의 채팅 트랜스크립트는 상기 게임 플레이 세션에서 참가자에 의해 제공된 콘텐츠를 포함함 -;
    상기 복수의 게임 중 각각의 게임에 대한 하나 이상의 특성을 결정하기 위해 상기 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 동작; 및
    상기 복수의 게임 중 적어도 하나의 게임에 대한 텍스트 태그를 상기 적어도 하나의 게임의 상기 하나 이상의 특성에 기초하여 생성하는 동작
    을 포함하는 동작을 수행하도록 하는 것인 비일시적 컴퓨터 판독 가능 매체.
  17. 제16항에 있어서,
    상기 각각의 게임에 대한 하나 이상의 특성을 결정하기 위해 상기 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 동작은 상기 각각의 게임과 연관된 소셜 메트릭을 상기 복수의 채팅 트랜스크립트에 기초하여 결정하는 동작을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  18. 제16항에 있어서,
    상기 텍스트 태그는 게임의 유형 또는 게임 플레이의 스타일을 나타내는 것인, 비일시적 컴퓨터 판독가능 매체.
  19. 시스템으로서,
    명령어가 저장된 메모리; 및
    상기 메모리에 결합된 처리 장치
    를 포함하고,
    상기 처리 장치는 상기 메모리에 액세스하고 상기 명령어를 실행하도록 구성되며, 상기 명령어는 상기 처리 장치로 하여금,
    복수의 채팅 트랜스크립트를 획득하는 동작 - 각각의 채팅 트랜스크립트는 복수의 게임 중 각각의 게임의 각각의 게임 플레이 세션과 연관되고, 각각의 채팅 트랜스크립트는 상기 게임 플레이 세션에서 참가자에 의해 제공된 콘텐츠를 포함함 -;
    상기 복수의 게임 중 각각의 게임에 대한 하나 이상의 특성을 결정하기 위해 상기 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 동작; 및
    상기 복수의 게임 중 적어도 하나의 게임에 대한 텍스트 태그를 상기 적어도 하나의 게임의 상기 하나 이상의 특성에 기초하여 생성하는 동작
    을 포함하는 동작을 수행하도록 하는 것인 시스템.
  20. 제19항에 있어서,
    상기 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 동작은 상기 각각의 게임에 대한 상기 하나 이상의 특성을 획득하기 위해 훈련된 머신 러닝 모델을 적용하는 동작을 포함하는, 시스템.
  21. 제19항에 있어서,
    상기 복수의 채팅 트랜스크립트를 프로그래밍식으로 분석하는 동작은 통계적 파라미터를 상기 복수의 채팅 트랜스크립트 각각의 메시지의 수에 기초하여 결정하는 동작을 포함하고, 상기 통계적 파라미터는 각각의 게임 참가자와 연관된 평균값, 중앙값 또는 최빈값 중 하나 이상을 포함하는 것인, 시스템.
KR1020210068211A 2020-05-27 2021-05-27 게임 통신 트랜스크립트에서 텍스트 태그의 생성 KR102615236B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/884,822 2020-05-27
US16/884,822 US11023688B1 (en) 2020-05-27 2020-05-27 Generation of text tags from game communication transcripts

Publications (2)

Publication Number Publication Date
KR20210146827A true KR20210146827A (ko) 2021-12-06
KR102615236B1 KR102615236B1 (ko) 2023-12-19

Family

ID=76059772

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210068211A KR102615236B1 (ko) 2020-05-27 2021-05-27 게임 통신 트랜스크립트에서 텍스트 태그의 생성

Country Status (5)

Country Link
US (2) US11023688B1 (ko)
EP (1) EP3915658B1 (ko)
JP (1) JP7273100B2 (ko)
KR (1) KR102615236B1 (ko)
CN (1) CN113750543A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230108599A (ko) * 2022-01-11 2023-07-18 한국과학기술연구원 사용자 명령에 기초한 캐릭터 행동 생성 시스템 및 방법과 이를 위한 컴퓨터 프로그램

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110598671B (zh) * 2019-09-23 2022-09-27 腾讯科技(深圳)有限公司 基于文本的虚拟形象行为控制方法、设备和介质
JP2023510057A (ja) * 2020-12-18 2023-03-13 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 音声テキスト変換方法、システム、装置、機器及びプログラム
CN113426139A (zh) * 2021-07-06 2021-09-24 网易(杭州)网络有限公司 一种信息推荐方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5830815B2 (ja) * 1976-09-30 1983-07-01 ダウ コ−ニング コ−ポレ−シヨン ワイヤ−被覆装置
US20180345152A1 (en) * 2017-05-31 2018-12-06 Roblox Corporation Automatic Rating System and Method
JP2019028910A (ja) * 2017-08-03 2019-02-21 株式会社野村総合研究所 対話分析システムおよび対話分析プログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5356592U (ko) 1976-10-18 1978-05-15
JPS5830815U (ja) 1981-08-25 1983-02-28 日産自動車株式会社 車両用多重用表示計
US5613909A (en) * 1994-07-21 1997-03-25 Stelovsky; Jan Time-segmented multimedia game playing and authoring system
US6643620B1 (en) * 1999-03-15 2003-11-04 Matsushita Electric Industrial Co., Ltd. Voice activated controller for recording and retrieving audio/video programs
JP2004057634A (ja) * 2002-07-31 2004-02-26 Shuji Sonoda ゲーム装置及びそれを実現するプログラム
KR100630119B1 (ko) * 2002-10-31 2006-09-27 삼성전자주식회사 이동통신단말기를 이용한 온/오프라인 게임 연동 시스템및 방법
JP2007301037A (ja) 2006-05-09 2007-11-22 Namco Bandai Games Inc サーバ、プログラム及び情報記憶媒体
US8932124B2 (en) * 2006-08-31 2015-01-13 Cfph, Llc Game of chance systems and methods
US20090163272A1 (en) * 2007-12-21 2009-06-25 Microsoft Corporation Connected gaming
KR20100032707A (ko) 2008-09-18 2010-03-26 주식회사 엔씨소프트 온라인 게임 중독 방지 시스템 및 그 방법
US20120142429A1 (en) 2010-12-03 2012-06-07 Muller Marcus S Collaborative electronic game play employing player classification and aggregation
US9483557B2 (en) * 2011-03-04 2016-11-01 Microsoft Technology Licensing Llc Keyword generation for media content
US20130017872A1 (en) 2011-07-12 2013-01-17 Sony Computer Entertainment Inc. Method and system for tag-based grouping of online communities
US8360873B1 (en) * 2011-07-28 2013-01-29 Zynga Inc. Combining games based on levels of interactivity of the games
CN103678269A (zh) 2012-08-30 2014-03-26 国际商业机器公司 一种信息处理方法和装置
JP5356592B1 (ja) 2012-11-29 2013-12-04 株式会社gloops ゲームサーバ、ゲーム提供方法、ゲームプログラム、記憶媒体及びゲームシステム
US9747897B2 (en) * 2013-12-17 2017-08-29 Google Inc. Identifying substitute pronunciations
JP5830815B1 (ja) 2015-03-30 2015-12-09 株式会社gloops ゲームサーバ、ゲーム制御方法、ゲームプログラム、ゲームプログラム記録媒体及び端末装置
US10363488B1 (en) * 2015-06-29 2019-07-30 Amazon Technologies, Inc. Determining highlights in a game spectating system
US9987559B2 (en) 2016-05-27 2018-06-05 International Business Machines Corporation Aggregating and utilizing meta-game data for artificial intelligence in video games
WO2018032271A1 (zh) 2016-08-15 2018-02-22 北京小米移动软件有限公司 信息搜索方法、装置、电子设备及服务器
US10853375B1 (en) * 2017-08-25 2020-12-01 Roblox Corporation Leveraging historical data to improve the relevancy of search results
US10918956B2 (en) * 2018-03-30 2021-02-16 Kelli Rout System for monitoring online gaming activity
JP6570715B1 (ja) 2018-08-30 2019-09-04 株式会社ドワンゴ 配信サーバ、配信システム、配信方法及びプログラム
US11325044B2 (en) * 2019-03-07 2022-05-10 Sony Interactive Entertainment LLC Video game guidance system
CN110705250A (zh) 2019-09-23 2020-01-17 义语智能科技(广州)有限公司 一种用于识别聊天记录中目标内容的方法与系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5830815B2 (ja) * 1976-09-30 1983-07-01 ダウ コ−ニング コ−ポレ−シヨン ワイヤ−被覆装置
US20180345152A1 (en) * 2017-05-31 2018-12-06 Roblox Corporation Automatic Rating System and Method
JP2019028910A (ja) * 2017-08-03 2019-02-21 株式会社野村総合研究所 対話分析システムおよび対話分析プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230108599A (ko) * 2022-01-11 2023-07-18 한국과학기술연구원 사용자 명령에 기초한 캐릭터 행동 생성 시스템 및 방법과 이를 위한 컴퓨터 프로그램

Also Published As

Publication number Publication date
EP3915658B1 (en) 2023-09-13
US20210374357A1 (en) 2021-12-02
JP2021190118A (ja) 2021-12-13
KR102615236B1 (ko) 2023-12-19
US11893357B2 (en) 2024-02-06
US11023688B1 (en) 2021-06-01
CN113750543A (zh) 2021-12-07
JP7273100B2 (ja) 2023-05-12
EP3915658A1 (en) 2021-12-01

Similar Documents

Publication Publication Date Title
EP3915658B1 (en) Generation of text tags from game communication transcripts
US11789905B2 (en) Automated generation of game tags
US20220108358A1 (en) Providing personalized recommendations of game items
US20240033644A1 (en) Automatic detection of prohibited gaming content
US20240157250A1 (en) Automatic presentation of suitable content
US11712629B2 (en) Determining game quality based on gameplay duration
US11826663B2 (en) Automatically generated search suggestions
US11969649B2 (en) Prominent display of targeted game in search results
KR102530298B1 (ko) 악성 게임의 탐지

Legal Events

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