KR102705062B1 - Method and computer readable storage medium for automatic generating game quest using machinc readaing comprehension - Google Patents
Method and computer readable storage medium for automatic generating game quest using machinc readaing comprehension Download PDFInfo
- Publication number
- KR102705062B1 KR102705062B1 KR1020210177722A KR20210177722A KR102705062B1 KR 102705062 B1 KR102705062 B1 KR 102705062B1 KR 1020210177722 A KR1020210177722 A KR 1020210177722A KR 20210177722 A KR20210177722 A KR 20210177722A KR 102705062 B1 KR102705062 B1 KR 102705062B1
- Authority
- KR
- South Korea
- Prior art keywords
- electronic device
- information
- nodes
- processor
- quest
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/19007—Matching; Proximity measures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/24—Character recognition characterised by the processing or recognition method
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/6009—Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Electrically Operated Instructional Devices (AREA)
- Machine Translation (AREA)
Abstract
일 실시예에 따른 컴퓨터 판독가능 저장 매체(computer readable storage medium)는, 하나 이상의 프로그램들을 저장하고, 상기 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시에, 자연어에 기반하는 텍스트들의 시퀀스가 포함된 제1 정보를 수신하고, 상기 제1 정보를 수신하는 것에 응답하여, 상기 텍스트들 중 적어도 하나에 매핑되는 하나 이상의 노드들에 의해 구분되는(distinguished) 하나 이상의 스크립트들을 획득하고, 및 상기 하나 이상의 스크립트들을 획득하는 것에 응답하여, 상기 획득된 하나 이상의 스크립트들에, 상기 텍스트들에 의해 나타나는 리소스 데이터를 결합하여, 지정된 어플리케이션에 의하여 출력 가능한 퀘스트를 나타내는 제2 정보를 획득 하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다. 이외에 다양한 실시예들이 가능하다.A computer readable storage medium according to one embodiment may store one or more programs, wherein the one or more programs may include instructions that, when executed by a processor of an electronic device, cause the electronic device to receive first information comprising a sequence of texts based on a natural language, in response to receiving the first information, obtain one or more scripts distinguished by one or more nodes mapped to at least one of the texts, and in response to obtaining the one or more scripts, combine resource data represented by the texts with the obtained one or more scripts to obtain second information representing a quest outputtable by a specified application. Various other embodiments are possible.
Description
아래의 설명들은 기계 독해를 이용한 스토리 퀘스트 자동 생성 방법 및 이의 컴퓨터 판독가능 저장 매체에 관한 것이다.The following descriptions relate to a method for automatically generating a story quest using machine reading and a computer-readable storage medium thereof.
RPG(Role Playing Game) 게임은 특정 역할을 수행하면서 캐릭터의 성격을 형성하고 문제를 해결해 나가는 형태의 게임이다. 근래에 인터넷의 발달에 따라 많은 사용자들이 온라인 상에서 동시에 즐길 수 있는 MMORPG(Massively Multi-player Online Role Playing Game) 게임이 등장하면서 많은 사용자가 동시에 게임을 즐길 수 있는 형태로 발전하고 있다. 게임 내에서, 사용자는 퀘스트(quest)와 같은 인게임 콘텐트를 수신할 수 있다. 퀘스트는, 사용자로 하여금 자신의 캐릭터를 성장시키고 캐릭터의 능력을 증가시키는 게임 아이템을 획득하고, 아이템 등을 구매하기 위한 게임 머니를 획득하게 만들 수 있다. 퀘스트는 사용자의 캐릭터가 수행해야 할 임무(mission)를 의미한다. 예를 들어, 사용자의 캐릭터가 퀘스트를 수행하면, 수행된 퀘스트에 대해 대가로써, 게임 아이템 또는 게임 머니가 사용자, 및/또는 캐릭터에게 제공될 수 있다. 이러한 퀘스트의 형태는, 대체로 악당이나 몬스터(monster)의 제거, 특정 아이템의 수집, 및/또는 특정 아이템의 전달 등으로 구별된다. 게임 제작사들은 사용자의 흥미를 유발하기 위해 지속적으로 퀘스트를 대량으로 또한 지속적으로 추가하고자 하나, 기존의 퀘스트 제작 방식은 콘텐츠 디자이너의 수작업 위주로 진행되고 있으며, 관련 업무간 종속성으로 인해 작업 진행의 둔화가 심화되는 등 비효율적인 방식을 벗어나지 못하고 있다.RPG (Role Playing Game) is a game in which a character's personality is formed and problems are solved while performing a specific role. Recently, with the development of the Internet, MMORPG (Massively Multi-player Online Role Playing Game) games that many users can enjoy online at the same time have appeared, and they are developing into a form in which many users can enjoy the game at the same time. Within the game, users can receive in-game content such as quests. Quests can allow users to grow their characters, obtain game items that increase the character's abilities, and obtain game money to purchase items, etc. Quests refer to missions that the user's character must perform. For example, when the user's character performs a quest, game items or game money can be provided to the user and/or the character as compensation for the performed quest. The forms of these quests are generally distinguished as eliminating villains or monsters, collecting specific items, and/or delivering specific items. Game developers are constantly trying to add quests in large quantities and continuously to stimulate users' interest, but the existing quest production method is mainly carried out manually by content designers, and it is inefficient as the work progress is slowed down due to dependencies between related tasks.
퀘스트와 같은 인게임 콘텐트를 생성 및/또는 추가하는 프로세스를 자동화하기 위한 방안이 요구될 수 있다.A method may be required to automate the process of creating and/or adding in-game content, such as quests.
본 문서에서 이루고자 하는 기술적 과제는 상술한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in this document are not limited to the technical problems described above, and other technical problems not mentioned will be clearly understood by those skilled in the art to which the present invention belongs from the description below.
일 실시예에 따른 컴퓨터 판독가능 저장 매체(computer readable storage medium)는, 하나 이상의 프로그램들을 저장하고, 상기 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시에, 자연어에 기반하는 텍스트들의 시퀀스가 포함된 제1 정보를 수신하고, 상기 제1 정보를 수신하는 것에 응답하여, 상기 텍스트들 중 적어도 하나에 매핑되는 하나 이상의 노드들에 의해 구분되는(distinguished) 하나 이상의 스크립트들을 획득하고, 및 상기 하나 이상의 스크립트들을 획득하는 것에 응답하여, 상기 획득된 하나 이상의 스크립트들에, 상기 텍스트들에 의해 나타나는 리소스 데이터를 결합하여, 지정된 어플리케이션에 의하여 출력 가능한 퀘스트를 나타내는 제2 정보를 획득 하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.A computer readable storage medium according to one embodiment may store one or more programs, the one or more programs including instructions that, when executed by a processor of an electronic device, cause the electronic device to receive first information comprising a sequence of texts based on a natural language, in response to receiving the first information, obtain one or more scripts distinguished by one or more nodes that map to at least one of the texts, and in response to obtaining the one or more scripts, combine resource data represented by the texts with the obtained one or more scripts to obtain second information representing a quest outputtable by a specified application.
일 실시예에 따른 전자 장치(electronic device)는, 복수의 인스트럭션들을 저장하는 메모리, 및 상기 메모리와 작동적으로 결합된(operably coupled to) 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에, 자연어에 기반하는 텍스트들의 시퀀스가 포함된 제1 정보를 수신하고, 상기 제1 정보를 수신하는 것에 응답하여, 상기 텍스트들 중 적어도 하나에 매핑되는 하나 이상의 노드들에 의해 구분되는(distinguished) 하나 이상의 스크립트들을 획득하고, 및 상기 하나 이상의 스크립트들을 획득하는 것에 응답하여, 상기 획득된 하나 이상의 스크립트들에, 상기 텍스트들에 의해 나타나는 리소스 데이터를 결합하여, 지정된 어플리케이션에 의하여 출력 가능한 퀘스트를 나타내는 제2 정보를 획득할 수 있다. An electronic device according to one embodiment comprises a memory storing a plurality of instructions, and at least one processor operably coupled to the memory, wherein the at least one processor, when executing the plurality of instructions, receives first information including a sequence of texts based on a natural language, in response to receiving the first information, obtains one or more scripts distinguished by one or more nodes mapped to at least one of the texts, and in response to obtaining the one or more scripts, combines resource data represented by the texts with the obtained one or more scripts to obtain second information representing a quest outputtable by a specified application.
일 실시예에 따른 전자 장치의 방법은, 자연어에 기반하는 텍스트들의 시퀀스가 포함된 제1 정보를 수신하는 동작, 상기 제1 정보를 수신하는 것에 응답하여, 상기 텍스트들 중 적어도 하나에 매핑되는 하나 이상의 노드들에 의해 구분되는 하나 이상의 스크립트들을 획득하는 동작, 및 상기 하나 이상의 스크립트들을 획득하는 것에 응답하여, 상기 획득된 하나 이상의 스크립트들에, 상기 텍스트들에 의해 나타나는 리소스 데이터를 결합하여, 지정된 어플리케이션에 의하여 출력 가능한 퀘스트를 나타내는 제2 정보를 획득하는 동작을 포함할 수 있다.A method of an electronic device according to one embodiment may include receiving first information including a sequence of texts based on a natural language, in response to receiving the first information, obtaining one or more scripts distinguished by one or more nodes mapped to at least one of the texts, and in response to obtaining the one or more scripts, obtaining second information representing a quest outputtable by a specified application by combining resource data represented by the texts with the obtained one or more scripts.
일 실시예에 따른 전자 장치는, 자연어 인식에 기반하여 사용자에 의해 작성된 자연어 텍스트로부터 게임 어플리케이션에 의해 인식 가능한 스크립트를 생성하여, 퀘스트와 같은 인게임 콘텐트를 생성 및/또는 추가하는 프로세스를 자동화할 수 있다.An electronic device according to one embodiment may automate the process of creating and/or adding in-game content, such as quests, by generating a script recognizable by a game application from natural language text written by a user based on natural language recognition.
본 개시에서 얻을 수 있는 효과는 상술한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable from the present disclosure are not limited to the effects described above, and other effects not mentioned will be clearly understood by those skilled in the art to which the present disclosure pertains from the description below.
도 1은 다양한 실시예들에 따른 전자 장치들을 포함하는 환경의 예를 도시한다.
도 2는 다양한 실시예들에 따른 제1 전자 장치의 퀘스트 자동 생성 시스템의 간소화된 블록도를 도시한다.
도 3은 다양한 실시예들에 따라, 개발자가 입력한 내러티브에 기반하여 퀘스트를 자동 생성하는 퀘스트 제작 프로세스(300)를 도시하는 흐름도(flow chart)이다.
도 4는 다양한 실시예들에 따라, 개발자가 입력한 내러티브에 대한 기계 독해의 구체적인 프로세스를 도시하는 흐름도(flow chart)이다.
도 5는 다양한 실시예들에 따라, 내러티브가 기계 독해를 이용하여 스크립트로 번역되는 과정을 개념적으로 도시한다.
도 6은 다양한 실시예들인 따라, 내러티브가 복수의 노드로 구분되고, 구분된 노드가 시각화되는 과정을 개념적으로 도시한다.
도 7은 다양한 실시예들에 따라, 개발자가 입력한 내러티브에 기반하여 퀘스트를 자동 생성하는 퀘스트 제작 프로세스(700)를 도시하는 흐름도(flow chart)이다.
도 8은 다양한 실시예들인 따라 제공되는 비주얼 노드를 입력하는 툴이 개발자의 전자 장치에 표시되는 화면을 예시한다.
도 9는 다양한 실시예들에 따른 전자 장치들의 간소화된 블록도(simplified block diagram)이다.
도 10은 다양한 실시예들에 따른 제1 전자 장치에 기반하는 퀘스트의 생성과 관련된 워크 플로우(work flow)를 도시한다.FIG. 1 illustrates an example of an environment including electronic devices according to various embodiments.
FIG. 2 illustrates a simplified block diagram of a quest automatic generation system of a first electronic device according to various embodiments.
FIG. 3 is a flow chart illustrating a quest creation process (300) for automatically generating a quest based on a narrative entered by a developer according to various embodiments.
FIG. 4 is a flow chart illustrating a specific process of machine reading a narrative input by a developer according to various embodiments.
Figure 5 conceptually illustrates the process by which a narrative is translated into a script using machine reading, according to various embodiments.
Figure 6 conceptually illustrates the process by which a narrative is divided into multiple nodes and the divided nodes are visualized, according to various embodiments.
FIG. 7 is a flow chart illustrating a quest creation process (700) for automatically generating a quest based on a narrative entered by a developer according to various embodiments.
FIG. 8 illustrates a screen displayed on a developer's electronic device with a tool for inputting visual nodes provided according to various embodiments.
FIG. 9 is a simplified block diagram of electronic devices according to various embodiments.
FIG. 10 illustrates a workflow related to the creation of a quest based on a first electronic device according to various embodiments.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 설명된다.Below, various embodiments of this document are described with reference to the attached drawings.
본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다.The various embodiments of this document and the terminology used herein are not intended to limit the technology described in this document to the specific embodiments, but should be understood to encompass various modifications, equivalents, and/or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar components. The singular expressions may include plural expressions unless the context clearly indicates otherwise. In this document, expressions such as "A or B", "at least one of A and/or B", "A, B, or C" or "at least one of A, B and/or C" can include all possible combinations of the items listed together. Expressions such as "first", "second", "first" or "second" can modify the corresponding components, regardless of order or importance, and are only used to distinguish one component from another and do not limit the corresponding components. When it is said that a certain (e.g., a first) component is "(functionally or communicatively) connected" or "connected" to another (e.g., a second) component, said certain component may be directly connected to said other component, or may be connected through another component (e.g., a third component).
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.The term "module" as used in this document includes a unit composed of hardware, software or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integrally composed component or a minimum unit or part thereof that performs one or more functions. For example, a module may be composed of an application-specific integrated circuit (ASIC).
도 1은 다양한 실시예들에 따른 전자 장치들을 포함하는 환경을 도시한다. FIG. 1 illustrates an environment including electronic devices according to various embodiments.
도 1을 참조하면, 환경(100)은, 제1 전자 장치(110), 제2 전자 장치(120), 제3 전자 장치(130)를 포함할 수 있다. Referring to FIG. 1, the environment (100) may include a first electronic device (110), a second electronic device (120), and a third electronic device (130).
다양한 실시예들에서, 제1 전자 장치(110)는 기계 독해를 이용한 스토리 퀘스트 자동 생성 방법에 따른 퀘스트 제작 툴을 제공하는 적어도 하나의 서버일 수 있다. 소정 자격을 갖춘 사용자(또는 개발자)는 자신의 전자 장치를 이용하여, 제1 전자 장치(110)가 제공하는 퀘스트 제작 툴에 접속할 수 있다. 다양한 실시예들에 있어서, 제1 전자 장치(110)는 퀘스트 제작 툴을 제공하는 퀘스트 자동 생성 시스템(111)을 포함할 수 있다. 퀘스트 자동 생성 시스템(111)은 제1 전자 장치(110), 및/또는 제1 전자 장치(110)를 포함하는 복수의 전자 장치들에 의해 형성된 시스템일 수 있다. 제1 전자 장치(110)는 개발자들에 의해 퀘스트 자동 생성 시스템(111)에서 생성된 퀘스트를, 게임 서비스를 제공하는 제2 전자 장치(120)로 송신할 수 있다. 제2 전자 장치(120)는 게임 서비스 내에서 제1 전자 장치(110)로부터 수신한 퀘스트를 사용자들에게 제공할 수 있다. 다양한 실시예들에 있어서 제1 전자 장치(110)는 개발자들의 전자 장치가 접속하고, 생성한 퀘스트를 제2 전자 장치(120)에 송신할 수 있도록 통신을 실행할(execute) 수 있다. In various embodiments, the first electronic device (110) may be at least one server providing a quest creation tool according to a method for automatically generating a story quest using machine reading. A user (or developer) having certain qualifications may access the quest creation tool provided by the first electronic device (110) using his or her own electronic device. In various embodiments, the first electronic device (110) may include a quest automatic creation system (111) providing the quest creation tool. The quest automatic creation system (111) may be a system formed by the first electronic device (110) and/or a plurality of electronic devices including the first electronic device (110). The first electronic device (110) may transmit a quest generated by developers in the quest automatic creation system (111) to a second electronic device (120) providing a game service. The second electronic device (120) may provide the quest received from the first electronic device (110) to users within the game service. In various embodiments, the first electronic device (110) may execute communication so that the developers' electronic device can connect and transmit the created quest to the second electronic device (120).
다양한 실시예들에서, 제2 전자 장치(120)는 사용자가 제1 전자 장치(110)에서 생성한 퀘스트를 이용하여 게임 진행하는 역할을 수행하고, 제3 전자 장치(130)를 이용하는 사용자에게 게임 플레이를 제공하는 적어도 하나의 서버일 수 있다. 제2 전자 장치(120)는 게임의 디스플레이, 게임 화면 처리, 사운드 효과 처리, 게임을 위한 각종 사용자 인터페이스의 제공 등 게임이 진행하는데 필요한 게임 데이터를 저장할 수 있다. 또한, 제2 전자 장치(120)는 게임의 배경이 되는 가상공간 정보, 게임 시나리오 정보, 게임 퀘스트 정보 등 게임 진행과 관련된 다양한 게임 데이터를 저장할 수 있다. 제2 전자 장치(120)는 제1 전자 장치(110)로부터 수신한 스토리 퀘스트를 게임 데이터에 적응시켜 사용자들에게 제공할 수 있다. 제2 전자 장치(120)는 사용자들의 게임 플레이에 따라 변화하는 적응적 요소(예: 퀘스트의 난이도, 퀘스트 보상의 가치, 아이템의 가치)에 대한 데이터를, 스토리 퀘스트 제작과정에 반영되도록 제1 전자 장치(110)에 송신할 수 있다. In various embodiments, the second electronic device (120) may be at least one server that performs the role of allowing a user to proceed with a game using a quest created by the first electronic device (110) and provides game play to a user using the third electronic device (130). The second electronic device (120) may store game data necessary for the game to proceed, such as game display, game screen processing, sound effect processing, and provision of various user interfaces for the game. In addition, the second electronic device (120) may store various game data related to the game progression, such as virtual space information that serves as the background of the game, game scenario information, and game quest information. The second electronic device (120) may adapt a story quest received from the first electronic device (110) to the game data and provide it to the users. The second electronic device (120) may transmit data on adaptive elements (e.g., difficulty of a quest, value of a quest reward, value of an item) that change according to the game play of the users to the first electronic device (110) so that it may be reflected in the story quest production process.
다양한 실시예들에 있어서, 제2 전자 장치(120)는 계정 서버를 포함할 수 있다. 계정 서버는 사용자의 계정 정보를 관리하며, 접속하는 사용자에 대한 인증을 수행할 수 있다. 이때, 계정 정보는 아이디와 비밀번호와 같은 인증 정보와 캐릭터 종류, 레벨, HP(Hit Point: 체력), MP(Mana Point: 마력)와 같은 캐릭터의 상태 정보, 캐릭터가 보유한 아이템 정보 등을 포함할 수 있다. In various embodiments, the second electronic device (120) may include an account server. The account server manages user account information and may perform authentication for a user who accesses the device. At this time, the account information may include authentication information such as an ID and password, character type, level, HP (Hit Point), MP (Mana Point), character status information such as the character's item information, and the like.
다양한 실시예들에 있어서, 제2 전자 장치(120)는 제3 전자 장치(130)로부터 게임을 진행하는 사용자의 인게임 정보를 수신하고 이에 기반하여 적응적으로 게임 데이터를 갱신할 수 있다. 예를 들어, 제2 전자 장치(120)의 게임 데이터는 제3 전자 장치(130)에서 디스플레이되고, 디스플레이된 게임 화면에 대한 사용자의 인게임 정보가 제3 전자 장치(130)가 송신한 인게임 정보에 기반하여 게임 데이터를 갱신하거나 새로 생성할 수 있다. 예를 들어, 제3 전자 장치(130)의 사용자가 게임을 플레이하던 도중 경험치 또는 새로운 아이템을 획득하는 경우, 아이템 획득에 관련된 인게임 정보가 제2 전자 장치(120)에 포함된 계정 서버에 전달되고, 아이템 획득에 관련된 인게임 정보에 기반(based on)하여 사용자의 계정 정보가 갱신될 수 있다. 상술한 제2 전자 장치(120) 및 제3 전자 장치(130) 간의 게임 데이터 및 인게임 정보의 송수신은, 실시간으로 수행될 수 있다. 다양한 실시예들에서, 제2 전자 장치(120)는 제1 전자 장치(110)에서 생성된 퀘스트를 수신하기 위하여 제1 전자 장치(110)와 통신을 실행할(execute) 수 있으며, 게임 서비스를 제3 전자 장치(130)에 제공하기 위하여 제3 전자 장치(130)와 통신을 실행할 수 있다. In various embodiments, the second electronic device (120) may receive in-game information of a user playing a game from the third electronic device (130) and adaptively update game data based thereon. For example, the game data of the second electronic device (120) may be displayed on the third electronic device (130), and the user's in-game information for the displayed game screen may be updated or newly generated based on the in-game information transmitted by the third electronic device (130). For example, when the user of the third electronic device (130) acquires experience points or a new item while playing the game, the in-game information related to the acquisition of the item may be transmitted to an account server included in the second electronic device (120), and the user's account information may be updated based on the in-game information related to the acquisition of the item. The above-described transmission and reception of game data and in-game information between the second electronic device (120) and the third electronic device (130) may be performed in real time. In various embodiments, the second electronic device (120) may execute communication with the first electronic device (110) to receive a quest generated by the first electronic device (110), and may execute communication with the third electronic device (130) to provide a game service to the third electronic device (130).
다양한 실시예들에서, 제3 전자 장치(130)는, 제2 전자 장치(120)가 제공하는 게임을 플레이(play)할 수 있는 사용자를 위한 클라이언트 장치(client device)(예: 데스크탑 컴퓨터, 랩탑 컴퓨터, 스마트폰, 태블릿 컴퓨터, 게임 콘솔 등)일 수 있다. In various embodiments, the third electronic device (130) may be a client device (e.g., a desktop computer, a laptop computer, a smartphone, a tablet computer, a game console, etc.) for a user to play a game provided by the second electronic device (120).
다양한 실시예들에서, 제3 전자 장치(130)는 제2 전자 장치(120)가 제공하는 게임에 접속할 있는 어플리케이션을 통하여 게임에 접속할 수 있다. 다양한 실시예들에서, 제2 전자 장치(120)가 제공하는 게임이 별도의 클라이언트(또는 어플리케이션)의 설치 없이 웹 브라우저로 즐기는 웹게임(Web Game)인 경우, 제3 전자 장치(130)는 웹 브라우저 어플리케이션을 통하여 게임을 접속할 수 있다. 예를 들어, 웹 브라우저는 웹(WWW: world wide web) 서비스를 이용할 수 있게 하는 어플리케이션이다. 예를 들어, 웹 브라우저는 HTML(hypertext mark-up language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(Chrome), 사파리(Safari) 등을 포함할 수 있다. In various embodiments, the third electronic device (130) can access the game through an application that can access the game provided by the second electronic device (120). In various embodiments, if the game provided by the second electronic device (120) is a web game that can be enjoyed with a web browser without installing a separate client (or application), the third electronic device (130) can access the game through a web browser application. For example, a web browser is an application that enables the use of a web (WWW: world wide web) service. For example, a web browser refers to a program that receives and displays hypertext described in HTML (hypertext mark-up language), and may include, for example, Netscape, Explorer, Chrome, Safari, etc.
도 2는 다양한 실시예들에 따른 제1 전자 장치(예, 도 1의 제1 전자 장치(110))의 퀘스트 자동 생성 시스템(예, 도 1의 퀘스트 자동 생성 시스템(111))의 간소화된 블록도를 도시한다. 도 2를 참조하면, 다양한 실시예들에 따른 퀘스트 자동 생성 시스템(111)은 퀘스트 프레임워크(210), 노드 시각화 모듈(220), 시뮬레이션 부(230) 및 게임 정보 수집부(240)를 포함할 수 있다. 퀘스트 프레임워크(210), 노드 시각화 모듈(220), 시뮬레이션 부(230) 및 게임 정보 수집부(240)는 퀘스트 자동 생성 시스템(111)을 구성하는 전자 장치들(예, 도 1의 제1 전자 장치(110)) 중 어느 하나에 대응하거나, 또는 퀘스트 자동 생성 시스템(111)에 포함된 프로그램들 중 적어도 하나에 대응할 수 있다.FIG. 2 illustrates a simplified block diagram of an automatic quest generation system (e.g., the automatic quest generation system (111) of FIG. 1) of a first electronic device (e.g., the first electronic device (110) of FIG. 1) according to various embodiments. Referring to FIG. 2, the automatic quest generation system (111) according to various embodiments may include a quest framework (210), a node visualization module (220), a simulation unit (230), and a game information collection unit (240). The quest framework (210), the node visualization module (220), the simulation unit (230), and the game information collection unit (240) may correspond to any one of the electronic devices (e.g., the first electronic device (110) of FIG. 1) constituting the automatic quest generation system (111), or may correspond to at least one of the programs included in the automatic quest generation system (111).
도 2의 일 실시예에서, 퀘스트 프레임워크(210)는 내러티브 에디터(211), 내러티브 번역기(212), 퀘스트 리소스 데이터베이스(213) 및 스크립트 템플릿 데이터베이스(214)를 포함할 수 있다. In one embodiment of FIG. 2, the quest framework (210) may include a narrative editor (211), a narrative translator (212), a quest resource database (213), and a script template database (214).
다양한 실시예들에 있어서 내러티브 에디터(211)(narrative editor)는 개발자가 제작하고자 하는 퀘스트 스토리의 내러티브를 작성하는 도구(tool)를 제공할 수 있다. 내러티브 에디터(211)는 개발자가 내러티브를 입력할 수 있는 UI(user interfacer)를 제공할 수 있다. 다시 말하면, 내러티브 에디터(211)는 개발자의 전자 장치에 퀘스트 제작을 위한, 특히 내러티브 입력을 위한 UI를 제공할 수 있다. 여기에서 내러티브(narrative)는 사전적 의미로서, 실제 혹은 허구적인 사건을 설명하는 것 또는 기술(writing)이라는 행위에 내재되어 있는 이야기 전개를 의미한다. 본 개시에서, 스토리 퀘스트는 게임 내 PC(Player Character)와 관련된 다양한 사건들(예, PC 및 NPC(Non Player Character) 사이에 발생하는 사건)이 인과관계로 연결된 연속적인 사건들을 의미할 수 있다. 본 개시에서, 스토리 퀘스트는, 개발자가 입력한 대본(scenario) 형태의 텍스트들의 조합을 의미할 수 있다. 개발자는 내러티브 에디터(211)를 통하여 연속되는 퀘스트 또는 사건들에 관해 자유롭게 대본 형태로 기술한 내러티브를 입력할 수 있다. In various embodiments, the narrative editor (211) may provide a tool for writing a narrative of a quest story that a developer wants to create. The narrative editor (211) may provide a user interface (UI) for the developer to input a narrative. In other words, the narrative editor (211) may provide a UI for creating a quest, particularly for inputting a narrative, on the developer's electronic device. Here, the narrative, in its dictionary sense, means a story development inherent in an act of describing or describing a real or fictional event. In the present disclosure, a story quest may mean a series of events in which various events related to a PC (Player Character) in the game (e.g., events occurring between a PC and an NPC (Non Player Character)) are causally connected. In the present disclosure, a story quest may mean a combination of texts in the form of a scenario input by a developer. Developers can freely input a narrative in script form about a series of quests or events through the narrative editor (211).
일 실시예에 있어서, 내러티브 에디터(211)는 개발자가 연속되는 장면(scene), 에피소드(episode) 또는 퀘스트(quest)를 문장으로 입력하기 위한 문서 작성 도구(예: 워드프로세서와 같은 소프트웨어)의 형태에 기반하는 텍스트 입력 툴을, UI로서 제공할 수 있다. 다른 실시예에 있어서, 내러티브 에디터(211)는 개발자가 장면(scene), 에피소드(episode) 또는 퀘스트(quest)를 나타내는 비주얼 노드(visual node)에 대화와 지문을 작성하고, 복수의 노드를 배치하여 그 순서와 연결관계를 와이어프레임을 통해 지정하는 비주얼 입력 툴을, UI로서 제공할 수도 있다. In one embodiment, the narrative editor (211) may provide a text input tool as a UI based on a document writing tool (e.g., software such as a word processor) for a developer to input a sequence of scenes, episodes, or quests as sentences. In another embodiment, the narrative editor (211) may provide a visual input tool as a UI for a developer to write dialogue and text on visual nodes representing scenes, episodes, or quests, and to arrange multiple nodes and specify their order and relationships through wireframes.
다양한 실시예에 있어서, 내러티브 에디터(211)는 상기 UI를 통해 개발자로부터, 스토리 퀘스트 생성에 필요한 정보가 포함된 내러티브를 입력 받을 수 있다. 예를 들어, 퀘스트 생성에 필요한 정보는 등장인물의 성격, 말할 때 버릇, 장소의 특징, 앞선 퀘스트 또는 내러티브의 맥락 정보(context information)를 포함하는 지문 정보를 포함할 수 있다. 다른 예를 들어, 퀘스트 생성에 필요한 정보는 퀘스트가 수행되는 지역, 등장인물, 중심 사건을 포함하는 대화문(dialog)을 포함할 수 있다. In various embodiments, the narrative editor (211) may receive a narrative including information required for creating a story quest from a developer through the UI. For example, the information required for creating a quest may include text information including a character's personality, speaking habits, characteristics of a place, and context information of a previous quest or narrative. For another example, the information required for creating a quest may include a dialogue including a region where a quest is performed, a character, and a central event.
다양한 실시예들에 있어서, 내러티브 번역기(212)는 내러티브 에디터(211)에 의해 입력된 정보를 스크립트로 번역할 수 있다. 여기에서 스크립트(script)란 게임 서비스를 제공하기 위하여, 게임 클라이언트(예: 게임 어플리케이션)에 실행시키는 처리 절차를 문자(텍스트)로 기술한 일종의 프로그램을 의미할 수 있다. 예를 들어, 스크립트는 응용 프로그램이나 유틸리티의 규칙과 구문(syntax)을 사용하여 표현된 명령어들과 루프(loop), 이프-덴(IF/THEN) 등 단순한 제어 구조의 조합으로 구성될 수 있으며, 응용 프로그램이나 운영 체계(OS)상에서 최종 사용자가 제어할 수 있는 절차를 조합한 일련의 처리를 자동화하기 위해 이용될 수 있다. In various embodiments, the narrative translator (212) may translate information input by the narrative editor (211) into a script. Here, the script may mean a type of program that describes in text a processing procedure to be executed by a game client (e.g., a game application) in order to provide a game service. For example, the script may be composed of a combination of commands expressed using the rules and syntax of an application program or utility and simple control structures such as loops and IF/THEN, and may be used to automate a series of processes that combine procedures that can be controlled by an end user on an application program or an operating system (OS).
내러티브 번역기(212)는 내러티브 에디터(211)에 의해 입력된 정보를 스크립트로 번역하기 위하여 언어 모델을 이용할 수 있다. 예를 들어, 내러티브 번역기(212)는 내러티브 에디터(211)에 의해 수신된 정보를, 언어 모델(Language Model)에 사용될 수 있도록 전처리할 수 있다. 다시 말하면, 내러티브 번역기(212) 사람이 평소에 사용하는 언어로서 자연어(Natural Language)를 자연어의 구성단위인 형태소, 구문 등을 분석하고 처리하는 자연어처리(NLP: Natural Language Processing) 기술을 사용하여 리뷰 데이터를 전처리할 수 있다. 내러티브 번역기(212)는 내러티브를, 자연어 처리를 통해 스크립트로 번역할 수 있는 형태로 변환할 수 있다. The narrative translator (212) can use a language model to translate information input by the narrative editor (211) into a script. For example, the narrative translator (212) can preprocess information received by the narrative editor (211) so that it can be used in a language model. In other words, the narrative translator (212) can preprocess review data using natural language processing (NLP) technology that analyzes and processes morphemes, syntax, etc., which are components of natural language, as a language that people usually use. The narrative translator (212) can convert a narrative into a form that can be translated into a script through natural language processing.
다양한 실시예들에 있어서, 내러티브 번역기(212)는 내러티브에 포함된 단어(word)의 의미를 밀집 벡터화(dense vector)하는 워드 임베딩(Word Embedding) 방법을 이용할 수 있는 기계 독해 엔진을 포함할 수 있다. 워드 임베딩(Word Embedding)이란 단어를 밀집 벡터(dense vector)로 표현하는 방법으로, 단어를 밀집 표현(Dense Representation)으로 변환하는 것을 의미할 수 있다. 밀집 표현은 희소 표현(Sparse Representation)의 반대되는 개념으로서, 시스템이 설정한 값으로 모든 단어의 벡터 표현의 차원으로 통일하는 것을 의미할 수 있다. 또한, 워드 임베딩은 LSA, Word2Vec, FastText, Glove를 포함하는 다양한 방식으로 구현될 수 있다. 위와 같은 워드 임베딩은 단어들을 벡터화 하기 위하여 웹 백과사전(예: 위키디피아)와 같은 방대한 양의 코퍼스(corpus, 말뭉치)를 가지고 미리 훈련된 임베딩 벡터(Pre-trained embedding vector)를 불러오는 방법을 이용할 수 있다. 또한 퀘스트 생성을 위한 대표적인 단어들에 대한 데이터셋과는 별도의 데이터 셋을 마련하여 기존 모델의 상위 층(layer)을 해제하여 새로운 층과 함께 학습시키는 Fine-Tuning, 및/또는 기존 모델을 사용하지 않고 학습하여 벡터화하는 Full-Learning의 방법이 이용될 수도 있다. 이와 같은 기계 학습은 내러티브 번역기(212)에 포함된 Pre-trained Embedding 모델 및 Fine-tuned 모델을 이용할 수 있다. In various embodiments, the narrative translator (212) may include a machine reading engine that may utilize a word embedding method that densely vectorizes the meaning of words included in the narrative. Word embedding is a method of expressing words as dense vectors, and may mean converting words into dense representations. Dense representation is the opposite concept of sparse representation, and may mean unifying the dimension of vector representations of all words into a value set by the system. In addition, word embedding may be implemented in various ways, including LSA, Word2Vec, FastText, and Glove. The word embedding as above can utilize a method of loading pre-trained embedding vectors with a large corpus such as a web encyclopedia (e.g., Wikipedia) to vectorize words. In addition, a separate data set from the data set for representative words for quest generation can be prepared, and the upper layer of the existing model can be released and trained together with the new layer, Fine-Tuning, and/or Full-Learning can be used to vectorize by learning without using the existing model. Such machine learning can utilize the Pre-trained Embedding model and Fine-tuned model included in the narrative translator (212).
다양한 실시예들에 있어서, 내러티브 번역기(212)는 내러티브 에디터(211)를 통해 입력된 내러티브 전체에 대한 자연어 의미 분석(NLU Semantic Analysis)를 통해서 내러티브를 요약하고 퀘스트의 주제와 키워드(keyword), 지역, 등장인물, 중심 사건 등을 구분하고, 내러티브의 전체 맥락(context)을 파악하고, 내러티브에 포함된 각 문장 및 단어가 어떤 정보인지 태깅(tagging)(또는 라벨링(labelling)) 할 수 있다. In various embodiments, the narrative translator (212) can summarize the narrative through natural language semantic analysis (NLU Semantic Analysis) of the entire narrative input through the narrative editor (211), distinguish the subject and keywords of the quest, regions, characters, central events, etc., grasp the overall context of the narrative, and tag (or label) each sentence and word included in the narrative with what information it contains.
다양한 실시예들에 있어서, 내러티브 번역기(212)는 내러티브 전체의 맥락을 참조하여 세분화된 정보 또는 문장에 대한 개연성 분석을 수행할 수 있다. 다양한 실시예들에 있어서, 내러티브 번역기(212)는 개연성 분석을 통하여 내러티브 개연성을 검증할 수 있다. 내러티브 번역기(212)는 입력된 내러티브가 개연성이 부족한 것으로 판단하는 경우 내러티브 에디터(211)가 제공하는 UI를 통하여 개발자에게 개연성 부족을 알리는 메시지를 제공할 수 있다. In various embodiments, the narrative translator (212) can perform a probability analysis on the detailed information or sentences by referring to the context of the entire narrative. In various embodiments, the narrative translator (212) can verify the narrative probability through the probability analysis. If the narrative translator (212) determines that the input narrative lacks probability, it can provide a message informing the developer of the lack of probability through the UI provided by the narrative editor (211).
다양한 실시예들에 있어서, 내러티브 번역기(212)는 내러티브(또는 이에 포함된 복수의 대화문)에 의해 나타나는 각 장면(scene)과 중심 사건(main episode)을 기준으로 구문을 분리할 수 있다. 이하에서, 내러티브에 의해 나타나는 장면 및/또는 사건은 이벤트로 참조될 수 있다. 다른 실시예에서, 내러티브 번역기(212)는 하나의 장면에 여러 개의 구문이 포함되도록 구문을 분리할 수도 있다. 내러티브 번역기(212)가 분류한 장면 또는 구문은 하나의 노드(node)로 지칭될 수 있다. 상기 노드는, 노드 시각화 모듈(220)에 의하여 시각화될 수 있다. 시각화 된 노드는 개발자의 전자 장치에 디스플레이되어, 개발자로 하여금 내러티브를 스크립트로 번역하는 과정을 직관적으로 인식할 수 있게 한다. In various embodiments, the narrative translator (212) may separate phrases based on each scene and main episode represented by the narrative (or multiple dialogues included therein). Hereinafter, scenes and/or events represented by the narrative may be referred to as events. In another embodiment, the narrative translator (212) may separate phrases so that multiple phrases are included in one scene. A scene or phrase classified by the narrative translator (212) may be referred to as a node. The node may be visualized by the node visualization module (220). The visualized node is displayed on the developer's electronic device, allowing the developer to intuitively recognize the process of translating the narrative into a script.
다양한 실시예들에 있어서, 내러티브 번역기(212)는 구문별로 분리된 대화문 내에서 PC와 NPC가 수행할 동작 정보와 상황 정보, 또는 동작 정보와 상황 정보를 나타내는 문장으로 구분할 수 있다. 이렇게 세분화한 정보 또는 문장들은 단문형태를 가질 수 있다. In various embodiments, the narrative translator (212) can divide the dialogue sentences separated by phrase into sentences representing action information and situation information to be performed by the PC and NPC, or action information and situation information. The information or sentences divided in this way can have a short sentence form.
다양한 실시예들에 있어서, 내러티브 번역기(212)는 의미를 파악한 동작을 기존에 학습한 유형의 동사들로 치환을 하고 수식어와 파라미터(parameter)로서 목적어를 파악할 수 있다. 내러티브 번역기(212)는 학습한 유형의 동사들에 대응하는 스크립트 템플릿(script template)을 탐색(retrieve)하여 조합함으로써 스크립트의 초안을 생성할 수 있다. 내러티브 번역기(212)는 생성한 스크립트 초안에 미리 저장된 파라미터(parameter)로서 퀘스트 리소스(또는 리소스 이름)를 탐색(retriever)하여 기록하고, 대사는, 등장 NPC가 퀘스트 수행에 맞게 수정 후 추가하여 스크립트를 생성할 수 있다.In various embodiments, the narrative translator (212) can replace actions for which meaning has been identified with previously learned verb types and identify objects as modifiers and parameters. The narrative translator (212) can retrieve and combine script templates corresponding to learned verb types to generate a draft of a script. The narrative translator (212) can retrieve and record quest resources (or resource names) as parameters stored in advance in the generated script draft, and can generate a script by modifying and adding lines to fit the quest execution of the appearing NPC.
다양한 실시예들에 있어서, 내러티브 번역기(212)는 위와 같은 방법에 따라 구문별로 번역한 복수의 스크립트를 스크립트 대 스크립트, 스크립트와 대화의 분기를 연결하는 연결 정보(joint information)를 생성하고 파라미터에 대응하는 데이터를 입력함으로써 스크립트 생성을 마무리할 수 있다. In various embodiments, the narrative translator (212) can complete script generation by generating joint information that connects multiple scripts translated phrase by phrase according to the above method, script to script, and branching of script and dialogue, and inputting data corresponding to parameters.
다양한 실시예들에 있어서 퀘스트 리소스 데이터베이스(213)(quest resource database)는 퀘스트와 관련한 리소스를 모듈(module)로 저장할 수 있다. In various embodiments, the quest resource database (213) can store resources related to quests as modules.
다양한 실시예들에 있어서, 퀘스트 리소스 데이터베이스(213)는 게임에서 사용되는 리소스 데이터를 저장할 수 있다. 리소스 데이터는 PC가 퀘스트를 수행하는 게임 내 지역 정보와 위치, 사냥해야 할 몬스터 정보, 퀘스트를 주거나 정보를 제공할 NPC, 획득하거나 사용해야 할 아이템, 및 스킬을 포함할 수 있다. In various embodiments, the quest resource database (213) may store resource data used in the game. The resource data may include information and locations within the game where the PC performs a quest, information on monsters to hunt, NPCs that give quests or provide information, items to be obtained or used, and skills.
다양한 실시예들에 있어서, 퀘스트 리소스 데이터베이스(213)는 게임서비스 내에서 값(value)과 동일한 unique ID 값을 가지는 리소스 데이터를 저장할 수 있다. 다양한 실시예들에 있어서, 리소스 데이터는 퀘스트 자동 생성 시스템(111)(또는 퀘스트 리소스 데이터베이스(213)에서 값이 수정되거나, 게임 서비스를 제공하는 게임 서버(예: 제2 전자 장치(120))에서 수정될 수 있다. 리소스 데이터가 가지는 값은 퀘스트 자동 생성 시스템(111) 및 제2 전자 장치(120)에서 실시간으로 동기화 될 수 있어서, 리소스 데이터가 어느 한 곳에서 변경 또는 추가되는 경우 퀘스트 제작 또는 게임 서비스 제공에 있어 실시간으로 반영될 수 있다. 다양한 실시예들에 있어서, 리소스 데이터는 고정된 값을 가지는 게 아니라 변동된 값을 가질 수 있다. 예를 들어, 임의의 아이템의 가격은 해당 아이템의 공급과 수요에 의해 변동될 수 있고, 이러한 변동성을 가진 값이 실시간으로 퀘스트 리소스 데이터베이스(213)에 반영될 수 있다. In various embodiments, the quest resource database (213) may store resource data having a unique ID value that is the same as a value in the game service. In various embodiments, the resource data may be modified in the quest automatic generation system (111) (or the quest resource database (213)) or may be modified in the game server (e.g., the second electronic device (120)) that provides the game service. The value of the resource data may be synchronized in real time in the quest automatic generation system (111) and the second electronic device (120), so that when the resource data is changed or added in one place, it may be reflected in real time in the quest production or the game service provision. In various embodiments, the resource data may not have a fixed value but may have a variable value. For example, the price of an arbitrary item may fluctuate depending on the supply and demand of the item, and a value having such a variable value may be reflected in real time in the quest resource database (213).
상기 실시예들에 있어서, 게임 서버로서 제2 전자 장치(120)와 퀘스트 리소스 데이터베이스(213)의 데이터 동기화는 퀘스트 자동 생성 시스템(111)이 포함하는 게임 정보 수집부(240)에 의해 수행될 수 있다. In the above embodiments, data synchronization between the second electronic device (120) as a game server and the quest resource database (213) can be performed by the game information collection unit (240) included in the quest automatic generation system (111).
다양한 실시예들에 있어서, 퀘스트 리소스 데이터베이스(213)는 게임에서 사용되는 리소스 데이터뿐만 아니라, 퀘스트 생성에 필요한 부가적인 정보를 저장할 수 있다. 예를 들어, 부가적인 정보는 퀘스트의 임무 수행 대상이 되는 몬스터의 등장 위치와 시간, 군집도, 호전성, NPC간의 성격과 NPC간 관계 정보, 특수 설정을 포함할 수 있다. 다양한 실시예들에 있어서, 부가적인 정보는 퀘스트 자동생성에 있어서 내러티브의 기계 독해 시 개연성을 어긋나지 않았는지 검증(verify)하는데 사용될 수 있다. In various embodiments, the quest resource database (213) may store not only resource data used in the game, but also additional information required for quest creation. For example, the additional information may include the appearance location and time of the monster that is the target of the quest's mission, clustering, aggression, personality and relationship information between NPCs, and special settings. In various embodiments, the additional information may be used to verify whether the machine reading of the narrative in automatic quest creation is not out of line with the probability.
다양한 실시예들에 있어서, 퀘스트 리소스 데이터베이스(213)에 저장된 데이터(예: 리소스 데이터, 부가적인 정보)는 개발자가 내러티브 에디터(211)를 이용하여 퀘스트의 시나리오를 작성할 때 이용될 수 있다. 예를 들어, 내러티브 에디터(211)는 퀘스트 리소스 데이터베이스(213)에 저장된 데이터를 검색하는 리소스 검색기능을 제공할 수 있다. 리소스 검색기능에 따라, 개발자는 리소스 이름 또는 특성 정보 및 검색 조건을 설정하면 해당 리소스의 목록을 별도 창으로 제공받을 수 있다. 구체적으로, 내러티브 에디터(211)를 이용하는 개발자가, "영웅등급 & 한손검 & 제작"을 조회하면 제작으로 획득가능한 영웅등급 한손검 목록이 표시될 수 있다. 또한, 내러티브 에디터(211)를 이용하는 개발자가, "OO지역 & 보스 & 언데드"를 검색하면 해당 지역에서 출현하는 언데드 타입의 보스 몬스터 리스트 창이 표시될 수 있다. 다른 예를 들어, 내러티브 에디터(211)는 퀘스트 리소스 데이터베이스(213)에 저장된 데이터에 대한 리소스 이름 자동완성 기능을 제공할 수 있다. 리소스 이름 자동완성 기능에 따라, 개발자는 이용하는 개발자는 내러티브를 작성하는 중에 특수 기호(예: @, #, $)와 리소스 이름의 일부를 입력하면 리소스 이름의 전체를 자동 완성시킬 수 있다. 예를 들면, 특수기호 @는 몬스터를 나타내고 개발자가 "@언"이라는 입력을 수행하면, "@언데드"라는 리소스 이름의 전체가 자동으로 완성될 수 있다. In various embodiments, data (e.g., resource data, additional information) stored in the quest resource database (213) may be used by a developer when writing a quest scenario using the narrative editor (211). For example, the narrative editor (211) may provide a resource search function that searches for data stored in the quest resource database (213). Depending on the resource search function, the developer may set a resource name or characteristic information and a search condition, and then receive a list of the corresponding resources in a separate window. Specifically, when a developer using the narrative editor (211) searches for “Hero Grade & One-Handed Sword & Crafting,” a list of hero grade one-handed swords that can be obtained through crafting may be displayed. In addition, when a developer using the narrative editor (211) searches for “OO Region & Boss & Undead,” a window listing boss monsters of the undead type that appear in the corresponding region may be displayed. For another example, the narrative editor (211) may provide a resource name auto-completion function for data stored in the quest resource database (213). According to the resource name auto-completion function, a developer may input a special symbol (e.g., @, #, $) and a part of a resource name while writing a narrative, and the entire resource name may be auto-completed. For example, the special symbol @ represents a monster, and when the developer inputs "@언", the entire resource name "@운드" may be automatically completed.
다양한 실시예들에 있어서 스크립트 템플릿 데이터베이스(214)(script template database)는 PC가 수행해야 하는 동작 유형에 따른 미리 정의된 스크립트 템플릿을 저장할 수 있다. 퀘스트에서 PC가 수행해야 하는 동작은 몇 개의 동사로 일반화할 수 있다. 예를 들어, 퀘스트를 수행하는 PC는 몬스터를 죽이거나(kill, hunt), 아이템을 수집하거나(gather, collect), 아이템을 전달하거나(deliver, give), 아이템을 받아오거나(take), 아이템을 사용하거나(use), 다른 PC 또는 NPC와 대화(talk)하는 동작을 포함할 수 있다. 이와 같이 일반화된 동작을 따르는 퀘스트에 대응하여 동작의 대상과 수량 같은 파라미터(parameter)를 제외한, 스크립트 템플릿이 미리 정의될 수 있다. In various embodiments, the script template database (214) may store predefined script templates according to the types of actions that the PC must perform. The actions that the PC must perform in a quest may be generalized into several verbs. For example, the PC performing the quest may include actions such as killing a monster (kill, hunt), collecting an item (gather, collect), delivering an item (deliver, give), receiving an item (take), using an item (use), or talking to another PC or NPC. In response to a quest that follows such generalized actions, a script template may be predefined, excluding parameters such as the target and quantity of the action.
다양한 실시예들에 있어서, 퀘스트 프레임워크(210)는 스크립트 템플릿 데이터베이스(214)에 저장된 동작별로 미리 정의된 스크립트 템플릿을 조합하거나, 및/또는 스크립트 템플릿 내에 파라미터를 임베딩하여(embedding) 퀘스트 전체를 나타내는 스크립트들을 획득할 수 있다. 퀘스트는 동작들의 연속적인 집합일 수 있고, 퀘스트의 스크립트는 동작별로 미리 정의된 스크립트 템플릿의 연속적인 조합일 수 있다. 예를 들어, 퀘스트는 몬스터를 죽이고(kill), 몬스터가 남긴 아이템을 수집하고(gather), 수집한 아이템을 NPC에게 전달(give)하는 동작들의 연속적인 집합일 수 있다. 이 때, 상기 퀘스트에 대응하는 스크립트는 스크립트 템플릿 데이터베이스(214)에 저장된 kill, gather, give에 대응하는 미리 정의된 스크립트 템플릿이 연속적으로 조합되어 구성될 수 있다. In various embodiments, the quest framework (210) may obtain scripts representing the entire quest by combining predefined script templates for each action stored in the script template database (214), and/or by embedding parameters into the script templates. The quest may be a sequential set of actions, and the script of the quest may be a sequential combination of predefined script templates for each action. For example, the quest may be a sequential set of actions of killing a monster (kill), collecting items left by the monster (gather), and delivering the collected items to an NPC (give). In this case, the script corresponding to the quest may be configured by sequentially combining predefined script templates corresponding to kill, gather, and give stored in the script template database (214).
도 3은 다양한 실시예들에 따라, 개발자가 입력한 내러티브에 기반하여 퀘스트를 자동 생성하는 퀘스트 제작 프로세스(300)를 도시하는 흐름도(flow chart)이다. 도 3의 프로세스(300)는 도 1에 도시된 제1 전자 장치(110) 또는 도 2에 도시된 퀘스트 자동 생성 시스템(111)에 의해 실행될 수 있다. FIG. 3 is a flow chart illustrating a quest creation process (300) for automatically creating a quest based on a narrative input by a developer according to various embodiments. The process (300) of FIG. 3 may be executed by the first electronic device (110) illustrated in FIG. 1 or the automatic quest creation system (111) illustrated in FIG. 2.
도 3을 참조하면, 동작 301에서, 제1 전자 장치(110)는 퀘스트 생성을 위해 입력된 내러티브를 수신할 수 있다. 내러티브는 제1 전자 장치(110)가 제공하는 UI(user interface)를 통해서 개발자의 전자 장치로부터 입력될 수 있다. 제1 전자 장치(110)(또는 내러티브 에디터(211))는 개발자의 전자 장치에 퀘스트 제작을 위한, 특히 내러티브 입력을 위한 UI를 제공할 수 있다. 여기에서 내러티브란 개발자가 입력한 대본(scenario) 형태의 텍스트들의 조합 또는 나열된 텍스트들을 의미할 수 있다. 예를 들어, 개발자는 제1 전자 장치(110)가 제공하는 UI(user interface)를 통하여 연속되는 퀘스트 또는 사건들에 관해 자유롭게 대본 형태로 나타나는 내러티브를 입력할 수 있다. Referring to FIG. 3, in
동작 303에서, 제1 전자 장치(110)(또는 내러티브 번역기(212))는 동작 301에서 수신한 내러티브를 기계 독해를 이용하여 분석할 수 있다. 예를 들어, 제1 전자 장치(110)는 텍스트들이 나열된 내러티브를, 자연어처리(NLP: Natural Language Processing) 기술을 사용하여 전처리 할 수 있다. 다시 말하면, 제1 전자 장치(110)는 내러티브를 자연어 처리를 통해 스크립트로 번역할 수 있는 형태로 변환할 수 있다. In
제1 전자 장치(110)는 내러티브에서 각 장면(scene)과 중심 사건(main episode)과 같은 이벤트를 기준으로 구문을 분리할 수 있다. 제1 전자 장치(110)는 분류한 장면 또는 구문은 하나의 노드(node)로 지칭될 수 있다. 즉, 동작 303에서 제1 전자 장치(110)(또는 내러티브 번역기(212))는 동작 301에서 수신한 내러티브에 대한 기계 독해 분석을 통하여, 내러티브를 복수의 구문 또는 노드로 구분할 수 있다. The first electronic device (110) can separate sentences based on events such as each scene and main episode in the narrative. The scene or sentence classified by the first electronic device (110) can be referred to as a single node. That is, in
동작 305에서, 제1 전자 장치(110)(또는 내러티브 번역기(212))는 기계 독해의 분석결과에 기반하여 노드별로 분리된 스크립트를 생성할 수 있다. 예를 들어, 제1 전자 장치(110)는 각 노드에 포함된 동작을 기존에 학습한 유형의 동사들로 치환을 하고 수식어와 파라미터(parameter)와 목적어를 파악하여, 퀘스트 리소스 데이터에 대응하는 리소스 이름 또는 Unique ID로 치환될 수 있다. 제1 전자 장치(110)는 학습한 유형의 동사들에 대응하는 스크립트 템플릿(script template)을 탐색(retrieve)하여 조합함으로써 스크립트의 초안을 생성할 수 있다. 스크립트 템플릿의 탐색은 스크립트 템플릿 데이터베이스(214)에서 수행될 수 있다. 다양한 실시예들에 있어서, 각 노드는 동작들의 연속적인 집합인 퀘스트를 의미할 수 있고, 해당 노드에 대응하는 스크립트는 동작별로 미리 정의된 스크립트 템플릿의 연속적인 조합일 수 있다. 예를 들어, 노드로 구분된 퀘스트는 몬스터를 죽이고(kill), 몬스터가 남긴 아이템을 수집하고(gather), 수집한 아이템을 NPC에게 전달(give)하는 동작들의 연속적인 집합일 수 있다. 상기 예시에서, 이러한 퀘스트에 대응하는 하나 이상의 스크립트들은, 스크립트 템플릿 데이터베이스(214)에 저장된 kill, gather, give에 대응하는 미리 정의된 스크립트 템플릿이 연속적으로 조합되어 생성될 수 있다. In
동작 307에서, 제1 전자 장치(110)(또는 내러티브 번역기(212))는 동작 305에서 생성된 스크립트에 따라 퀘스트 리소스 데이터를 자동 입력하여 퀘스트를 생성할 수 있다. 제1 전자 장치(110)는 생성한 스크립트에 미리 저장된 파라미터(parameter)로서 퀘스트 리소스(또는 리소스 이름)를 탐색(retriever)하여 기록할 수 있다. 예를 들어, 제1 전자 장치(110)는 스크립트에 포함된 대사에, 동작 303의 기계 독해 분석 결과에 기반하는 텍스트를 기록할 수 있다. 퀘스트 리소스 데이터의 탐색은 퀘스트 리소스 데이터베이스(213)에서 수행될 수 있다. In
동작 309에서, 제1 전자 장치(110)(또는 시뮬레이션 부(230))는 생성된 퀘스트를 검증하기 위하여 상기 생성된 퀘스트에 대한 시뮬레이션을 수행할 수 있다. 생성된 퀘스트를 시뮬레이션하여 테스트함으로써 내러티브의 스크립트로의 번역이 잘 이뤄졌는지, 생성된 스토리 퀘스트의 연속되는 사건들 사이의 개연성은 충분한지 등에 대하여 개발자가 빠르고 쉽게 피드백 할 수 있는 환경이 제공될 수 있다. 다양한 실시예에 있어서, 동작 309는 선택적으로 이뤄질 수 있는 것으로, 동작 307에서 생성된 퀘스트는 곧바로 게임을 서비스하는 서버(예: 제2 전자 장치(120))에 전달될 수도 있다. In
상술한 바와 같이, 다양한 실시예들에 따른 제1 전자 장치(110)는 퀘스트 제작 프로세스(300)를 수행하여, 개발자가 내러티브를 입력하는 것만으로, 병렬 작업을 통해 미리 모듈화 된 퀘스트 리소스와 스크립트 템플릿을 활용하여 퀘스트를 자동으로 생성할 수 있다. 퀘스트가 자동으로 생성됨에 따라, 시간자원, 인적자원, 중복비용이 절약되어, 퀘스트가 효율적으로 생성될 수 있다.As described above, the first electronic device (110) according to various embodiments performs the quest creation process (300), so that a developer can automatically create a quest by utilizing pre-modularized quest resources and script templates through parallel operations, simply by inputting a narrative. As the quest is automatically created, time resources, human resources, and duplicate costs are saved, so that the quest can be created efficiently.
도 4는 다양한 실시예들에 따라, 개발자가 입력한 내러티브에 대한 기계 독해의 구체적인 프로세스를 도시하는 흐름도(flow chart)이다. 도 4의 프로세스(400)는 도 3에서 설명된 동작 303의 구체적인 프로세스일 수 있으며, 이러한 동작들은 도 1에 도시된 제1 전자 장치(110) 또는 도 2에 도시된 내러티브 번역기(212)에 의해 실행될 수 있다.FIG. 4 is a flow chart illustrating a specific process of machine reading a narrative input by a developer according to various embodiments. The process (400) of FIG. 4 may be a specific process of
도 4를 참조하면, 동작 401에서 제1 전자 장치(110)(또는 내러티브 번역기(212))는 내러티브에 포함된 자연어 의미 분석을 수행할 수 있다. 먼저, 제1 전자 장치(110)는 개발자에 의해 입력된 내러티브 전체를 요약해서 주제와 키워드(keyword), 지역, 등장인물, 중심 사건 등을 구분하고, 내러티브의 전체 맥락(context)을 파악하고, 내러티브에 포함된 각 문장 및 단어가 어떤 정보인지 태깅(tagging)할 수 있다. 제1 전자 장치(110)가 내러티브에 포함된 각 문장 및 단어가 어떤 정보인지 태깅하는 과정은, 도 5를 참조하여 설명하기로 한다. Referring to FIG. 4, in
도 5는 다양한 실시예들에 따라, 내러티브가 기계 독해를 이용하여 스크립트로 번역되는 과정을 개념적으로 도시한다. Figure 5 conceptually illustrates the process by which a narrative is translated into a script using machine reading, according to various embodiments.
도 5를 참조하면, 다양한 실시예들에 따라, 제1 전자 장치(110)(또는 내러티브 번역기(212))는 개발자에 의해 입력된 내러티브(510)에 대한 자연어 의미 분석(NLU Semantic Analysis)를 통해서 내러티브를 요약하고 퀘스트의 주제와 키워드(keyword), 지역, 등장인물, 중심 사건 등을 구분하고, 내러티브의 전체 맥락(context)을 파악하고, 포함된 각 문장 및 단어가 어떤 정보인지 태깅 할 수 있다. 다양한 실시예들에 있어서, 제1 전자 장치(110)가 각 문장 및 단어가 어떤 정보인지 파악하기 위하여 기계 독해가 수행될 수 있고, 기계 독해가 수행되기 위하여 내러티브(510)를 전처리할 수 있음은 앞서 설명한 바와 같다.Referring to FIG. 5, according to various embodiments, the first electronic device (110) (or narrative translator (212)) may summarize the narrative (510) input by a developer through natural language semantic analysis (NLU Semantic Analysis), distinguish the subject and keywords of the quest, regions, characters, central events, etc., understand the entire context of the narrative, and tag each included sentence and word with information. As described above, in various embodiments, the first electronic device (110) may perform machine reading to understand what information each sentence and word is, and may preprocess the narrative (510) to perform the machine reading.
예를 들어, 제1 전자 장치(110)(또는 내러티브 번역기(212))는 내러티브(510)에서 퀘스트의 중심 동작, 또는 중심 사건, 주제를 결정할 수 있다. 예를 들어, 내러티브(510)는 지문 정보로서 "시작마을 NPC OO가 PC에서 간절하게 부탁합니다" 라는 문장을 포함할 수 있다. 또한, 내러티브(510)는 입력 대화문으로서 "고블린들이 자꾸 농장을 망쳐 놓아서 농사를 지을 수가 없어요. 제발 왼쪽 숲에 있는 고블린 30마리를 사냥해 주세요! 제가 10,000 아덴과 농작물 3포대를 드리겠습니다."라는 문장을 포함할 수 있다.For example, the first electronic device (110) (or narrative translator (212)) can determine the central action, central event, or theme of the quest in the narrative (510). For example, the narrative (510) can include the sentence "Starting village NPC OO earnestly asks for a favor from the PC" as fingerprint information. Also, the narrative (510) can include the sentence "Goblins keep destroying the farm, so I can't farm. Please hunt 30 goblins in the forest on the left! I'll give you 10,000 Aden and 3 sacks of crops." as input dialogue.
이와 같은 내러티브(510)에 대하여 제1 전자 장치(110)는 내러티브(510)에 포함된 지문 정보에 있어서 "간절하게 부탁합니다" 및 "사냥해주세요!" 라는 문장에 대한 의미 분석을 통하여, 내러티브(510)의 퀘스트의 주제가 '몬스터 사냥의 부탁'으로 결정할 수 있고, 주요 동작을 '사냥(hunt)'으로 결정할 수 있다. For a narrative (510) like this, the first electronic device (110) can determine the subject of the quest of the narrative (510) as 'request for monster hunting' and the main action as 'hunt' through a semantic analysis of the sentences "I earnestly ask you" and "Please hunt me!" in the fingerprint information included in the narrative (510).
또한, 제1 전자 장치(110)는 상기 지문 정보에서 "시작마을 NPC OO(511)"을 퀘스트 부여자(giver)로서 태깅할 수 있고, "간절하게(512)"를 감정 정보 또는 맥락 정보(context information)로 태깅할 수 있다. 또한, 제1 전자 장치(110)는 상기 입력 대화문에서 "고블린(513)"을 타겟 정보로 태깅할 수 있고, "왼쪽 숲(514)"을 지역 정보로 태깅할 수 있고, "30마리(515)"를 수량의 파라미터로 태깅할 수 있고, "10,000아덴(516)"을 보상금으로 태깅할 수 있고, "농작물 3포대(517)"에서 농작물 포대; 보상아이템, 3포대를 보상아이템 수량으로 각각 태깅할 수 있다. In addition, the first electronic device (110) can tag "Start Village NPC OO (511)" as a quest giver in the fingerprint information, and can tag "earnestly (512)" as emotional information or context information. In addition, the first electronic device (110) can tag "Goblin (513)" as target information in the input dialogue, can tag "Left Forest (514)" as regional information, can tag "30 (515)" as a quantity parameter, can tag "10,000 Aden (516)" as a reward, and can tag "3 Sacks of Crops (517)" as a crop sack; reward item, 3 sacks as the reward item quantity, respectively.
한편, 다양한 실시예들에 있어서, 제1 전자 장치(110)(또는 내러티브 번역기(212))는 내러티브(510)에 대한 의미 분석 결과로서 결정된 주요 동작 및 태깅된 정보에 기반하여 스크립트(520)를 생성할 수 있다. 예를 들어, 내러티브(510)의 동작 정보가 '사냥(hunt)'으로 의미 분석된 경우, 제1 전자 장치(110)는 스크립트 템플릿 데이터베이스(214)에 저장된 동작별로 미리 정의된 스크립트 템플릿으로부터 사냥(hunt)에 대한 스크립트 템플릿을 로드(load)하고, 스크립트 내에서 입력되어야 할 파라미터를 결정할 수 있다. 예를 들어 도 5의 스크립트(520)는 '사냥(hunt)(523)'에 대한 스크립트 템플릿이 로드된 것으로, 스크립트(520) 내에서, 퀘스트 부여자(521), 감정 정보(522), 대화문(523), 파라미터(525)가, 내러티브(510)에 의해 태깅된 정보에 기반하여 조절될 수 있다. 이와 같은 스크립트를 생성하는 동작은 도 3의 동작 305에서의 동작과 적어도 일부 동일할 수 있다. Meanwhile, in various embodiments, the first electronic device (110) (or narrative translator (212)) may generate a script (520) based on the main action and tagged information determined as a result of semantic analysis of the narrative (510). For example, if the action information of the narrative (510) is semantically analyzed as 'hunt', the first electronic device (110) may load a script template for hunting from the script templates predefined for each action stored in the script template database (214), and determine the parameters to be input in the script. For example, the script (520) of FIG. 5 is loaded with a script template for 'hunt (523)', and within the script (520), the quest granter (521), the emotion information (522), the dialogue (523), and the parameter (525) may be adjusted based on the information tagged by the narrative (510). The action of generating such a script may be at least partially identical to the action in
다양한 실시예들에 있어서, 제1 전자 장치(110)는 의미 분석을 통하여 내러티브 개연성을 검증할 수 있다. 제1 전자 장치(110)는 입력된 내러티브가 개연성이 부족한 것으로 판단하는 경우 제1 전자 장치(110)가 제공하는 UI를 통하여 개발자의 전자 장치에 개연성 부족을 알리는 메시지를 송신할 수 있다. In various embodiments, the first electronic device (110) can verify narrative plausibility through semantic analysis. If the first electronic device (110) determines that the input narrative lacks plausibility, the first electronic device (110) can transmit a message notifying the developer of the lack of plausibility to the electronic device through the UI provided by the first electronic device (110).
다시 도 4를 참조하면, 동작 403에서 제1 전자 장치(110)(또는 내러티브 번역기(212))는 상기 자연어 의미 분석 결과에 기반하여 상기 내러티브를 중심 사건 기준으로 구문 분리할 수 있다. 예를 들어 내러티브는 복수의 장면(scene), 복수의 중심 사건(main episode), 또는 복수의 대화문을 포함할 수 있고, 제1 전자 장치(110)는 이러한 내러티브를 장면, 중심 사건 또는 대화문을 기준으로 구문을 분리할 수 있다. 제1 전자 장치(110)가 분류한 장면, 중심 사건 또는 구문은 하나의 노드(node)로 지칭될 수 있다. Referring back to FIG. 4, in
도 6은 다양한 실시예들인 따라, 내러티브가 복수의 노드로 구분되고, 구분된 노드가 시각화되는 과정을 개념적으로 도시한다. 도 6을 참조하면, 개발자에 의해 입력된 내러티브(610)는 복수의 구문들을 포함할 수 있다. 다양한 실시예에서, 제1 전자 장치(110)는 동작 401에서 수행한 자연어 의미 분석에 따라 내러티브(610)가 포함하는 복수의 구문들을 분리할 수 있다. 예를 들어, 내러티브(610)는 제1 구문(611), 제2 구문(612) 및 제3 구문(613)을 포함할 수 있다. 다양한 실시예들에서, 개발자는 내러티브(610)를 입력할 때 구문 분리를 위한 식별자, 문장 또는 단어를 포함할 수 있다. 도 6의 일 예에서, 개발자는 내러티브(610)에서 구문 분리될 수 있는 대화문마다 발화자(사업자 제프)를 표시하여, 구문이 표시된 발화자에 기반하여 분리되게 할 수 있다. 즉, 제1 전자 장치(또는 내러티브 에디터(211))가 개발자에게 내러티브 입력을 위한 툴로서 제공하는 UI는 구문 분리에 도움이 되는 식별자 입력을 제공할 수 있다. FIG. 6 conceptually illustrates a process in which a narrative is divided into a plurality of nodes and the divided nodes are visualized, according to various embodiments. Referring to FIG. 6, a narrative (610) input by a developer may include a plurality of phrases. In various embodiments, the first electronic device (110) may separate the plurality of phrases included in the narrative (610) according to the natural language semantic analysis performed in
다시 도 4를 참조하면, 동작 405에서 제1 전자 장치(110)(또는 내러티브 번역기(212))는 상기 분리된 구문 별로 분석을 통한 분석 결과에 따라 노드를 생성할 수 있다. 동작 407에서 제1 전자 장치(110)(또는 노드 시각화 모듈(220))는 동작 405에서 생성한 노드를 시각화할 수 있다. 다양한 실시예들에 있어서, 제1 전자 장치(110)는 시각화된 노드가 개발자의 전자 장치에 표시될 수 있도록 시각화된 데이터를 개발자의 전자 장치에 송신할 수 있다. 다시 도 6을 참조하면, 내러티브(610)에 포함된 구문이 분리된 이후, 분리된 구문이 노드로서 생성되고 시각화된 노드(620)가 도시된다. 예를 들어, 제1 구문(611)은 제1 노드(621)에 매핑될 수 있다. 제2 구문(612)은 제2 노드(622)에 매핑될 수 있다. 제3 구문(613)은 제2 노드(623)에 매핑될 수 있다. 생성된 노드들(621, 622, 623)에 기반하여, 제1 전자 장치(110)는 각 노드에 해당하는 스크립트를 생성할 수 있다. 예를 들어, 제1 노드(621)에 기반하여 제1 스크립트(631)가 생성되고, 제2 노드(622)에 기반하여 제2 스크립트(632)가 생성되고, 제3 노드(623)에 기반하여 제3 스크립트(633)가 생성될 수 있다. Referring again to FIG. 4, in
다시 도 4를 참조하면, 다양한 실시예들에 있어서, 동작 407에서 노드를 시각화하는 동작은 생략될 수 있다. 도 6의 일 예에서, 내러티브(610)가 구문 분리된 이후, 제1 전자 장치(110)는 곧바로 분리된 구문에 해당하는 스크립트(630)를 생성할 수도 있다. Referring again to FIG. 4, in various embodiments, the act of visualizing the node in
상술한 바와 같이, 개발자가 대본(scenario) 형태의 텍스트들의 조합 또는 나열된 텍스트들을 포함하는 내러티브를 입력한 경우, 이에 기반하여 퀘스트를 자동 생성하는 방법에 대해서 설명하였지만, 실시예가 이에 제한되는 것은 아니다. 예를 들어, 개발자가 제1 전자 장치(110)를 이용하여 장면(scene), 에피소드(episode) 또는 구문을 나타내는 비주얼 노드(visual node)에 대화와 지문을 입력하고, 복수의 비주얼 노드들 사이의 순서 및 연결을 와이어프레임을 통해 정의하는 경우, 제1 전자 장치(110)는 정의된 복수의 비주얼 노드들 및 상기 와이어프레임에 기반하여, 퀘스트를 생성할 수 있다.As described above, the method for automatically generating a quest based on a narrative including a combination of texts in the form of a scenario or a listed texts has been described, but the embodiment is not limited thereto. For example, if the developer inputs dialogue and text into visual nodes representing scenes, episodes, or phrases using the first electronic device (110), and defines the order and connection between a plurality of visual nodes through a wireframe, the first electronic device (110) can generate a quest based on the defined plurality of visual nodes and the wireframe.
도 7은 다양한 실시예들에 따라, 개발자가 입력한 내러티브에 기반하여 퀘스트를 자동 생성하는 퀘스트 제작 프로세스(700)를 도시하는 흐름도(flow chart)이다. 도 7의 프로세스(700)는 도 1에 도시된 제1 전자 장치(110) 또는 도 2에 도시된 퀘스트 자동 생성 시스템(111)에 의해 실행될 수 있다. FIG. 7 is a flow chart illustrating a quest creation process (700) for automatically creating a quest based on a narrative input by a developer according to various embodiments. The process (700) of FIG. 7 may be executed by the first electronic device (110) illustrated in FIG. 1 or the quest automatic creation system (111) illustrated in FIG. 2.
도 7을 참조하면, 동작 701에서, 제1 전자 장치(110)는 복수의 노드에 대한 입력 및 노드간 와이어프레임에 대한 입력을 수신할 수 있다. 예를 들어, 제1 전자 장치(110)(또는 내러티브 에디터(211))는 개발자가 장면(scene), 에피소드(episode) 또는 퀘스트(quest)를 나타내는 비주얼 노드(visual node)에 대화와 지문을 작성하고, 복수의 노드를 배치하여 그 순서와 연결관계를 와이어프레임을 통해 지정하는 비주얼 입력 툴을, UI로서 제공할 수 있다.Referring to FIG. 7, in
도 8은 다양한 실시예들인 따라 제공되는 비주얼 노드를 입력하는 툴이 개발자의 전자 장치(예, 제1 전자 장치(110), 및/또는 제1 전자 장치(110)에 연결된 전자 장치)에 표시되는 화면을 예시한다. 도 8을 참조하면, 개발자는 전자 장치를 통해 디스플레이되는 화면(800)을 통해 비주얼 노드(810)들을 배치하고 비주얼 노드(810)들 간에 와이어 프레임(820)을 연결할 수 있다. 비주얼 노드(810)의 배치와 와이어 프레임(820)의 연결은 마우스와 같은 입력수단을 이용하여 드래그 앤 드롭(drag&drop)과 같은 동작을 통해 이뤄질 수 있다. 개발자는 비주얼 노드(810)의 각각에 대한 지문 정보와 대화문을 등록할 수 있다. 예를 들어, 개발자는 비주얼 노드(810)에서의 발화자를 '델트라스' 및 '지켈'로 지정할 수 있고, 제1 전자 장치(110)가 제공하는 비주얼 노드를 입력하는 툴은, 퀘스트 리소스 데이터베이스(213)로부터 '델트라스' 및 '지켈'을 리소스 이름으로 하는 리소스 데이터를 로드할 수 있다. 로드한 리소스 데이터는 '델트라스' 및 '지켈'의 프로필 이미지를 포함할 수 있고, 프로필 이미지가 각각의 비주얼 노드(810)에 표시될 수 있다.FIG. 8 illustrates a screen displayed on a developer's electronic device (e.g., a first electronic device (110) and/or an electronic device connected to the first electronic device (110)) using a tool for inputting visual nodes provided according to various embodiments. Referring to FIG. 8, a developer can arrange visual nodes (810) and connect wire frames (820) between visual nodes (810) through a screen (800) displayed on an electronic device. Arrangement of visual nodes (810) and connection of wire frames (820) can be performed through an operation such as drag and drop using an input means such as a mouse. The developer can register fingerprint information and dialogue for each visual node (810). For example, a developer may designate speakers as 'Deltras' and 'Jikel' in a visual node (810), and a tool for inputting a visual node provided by the first electronic device (110) may load resource data with 'Deltras' and 'Jikel' as resource names from a quest resource database (213). The loaded resource data may include profile images of 'Deltras' and 'Jikel', and the profile images may be displayed on each visual node (810).
다양한 실시예들에 있어서, 비주얼 노드(810)의 각각은 와이어 프레임(820)을 생성하기 위한 객체(821)를 포함할 수 있고, 개발자가 해당 객체(821)를 선택하는 경우, 생성할 수 있는 와이어프레임을 드롭박스(830)의 형태로 표시할 수 있다. 다양한 실시예에 있어서, 도 8에 도시된 화면(800)에 도시된 UI외에 다양한 기능을 지원하는 UI가 더 제공될 수 있다. In various embodiments, each of the visual nodes (810) may include an object (821) for generating a wireframe (820), and when a developer selects the object (821), the wireframe that can be generated may be displayed in the form of a dropbox (830). In various embodiments, in addition to the UI illustrated in the screen (800) illustrated in FIG. 8, a UI that supports various functions may be further provided.
다시 도 7을 참조하면, 동작 703에서, 제1 전자 장치(110)는 입력된 복수의 노드 및 노드간 와이어프레임에 대한 기계 독해 분석결과에 기반하여 내러티브 정보를 생성할 수 있다. 예를 들어, 동작 701에서 입력된 비주얼 노드에 포함된 지문 정보 및 대화문과, 노드 간의 연결관계를 나타내는 와이어프레임에 기반하여, 스크립트 생성을 위한 내러티브 정보로서, 등장인물의 성격, 말할 때 버릇, 장소의 특징, 앞선 퀘스트 또는 내러티브의 맥락 정보(context information)를 포함하는 지문 정보, 또는 퀘스트가 수행되는 지역, 등장인물, 중심 사건을 포함하는 대화문(dialog)을 포함하는 정보가 생성될 수 있다. 동작 703에서 생성된 내러티브 정보는 동작 705에서 노드별 스크립트를 생성하는데 이용될 수 있다. 동작 705, 동작 707, 및 동작 709는 도 3에서 설명한 동작 305 내지 동작 309와 실질적으로 동일할 수 있어서 중복되는 설명은 생략하기로 한다. Referring back to FIG. 7, in
도 9는 다양한 실시예들에 따른 전자 장치들의 간소화된 블록도(simplified block diagram)이다. FIG. 9 is a simplified block diagram of electronic devices according to various embodiments.
도 9를 참조하면, 전자 장치(900)는 제1 전자 장치(110), 제2 전자 장치(120)의 일 예일 수 있다. 전자 장치(900)는 프로세서(902), 메모리(904), 저장 장치(906), 고속(high-speed) 컨트롤러(908)(예: 노스브릿지(northbridge), MCH(Main Controller Hub)), 및 저속(low-speed) 컨트롤러(912)(예: 사우스브릿지(southbridge), ICH(I/O controller hub))를 포함할 수 있다. 전자 장치(900) 내에서, 프로세서(902), 메모리(904), 저장 장치(906), 고속 컨트롤러(908), 및 저속 컨트롤러(912) 각각은, 다양한 버스(bus)들을 이용하여 상호연결될(interconnected) 수 있다. Referring to FIG. 9, an electronic device (900) may be an example of a first electronic device (110) and a second electronic device (120). The electronic device (900) may include a processor (902), a memory (904), a storage device (906), a high-speed controller (908) (e.g., a northbridge, a Main Controller Hub (MCH)), and a low-speed controller (912) (e.g., a southbridge, an I/O controller hub (ICH)). Within the electronic device (900), each of the processor (902), the memory (904), the storage device (906), the high-speed controller (908), and the low-speed controller (912) may be interconnected using various buses.
예를 들면, 프로세서(902)는 고속 컨트롤러(908)에 연결된 디스플레이(916)와 같은 외부 입출력 장치 상에 GUI(graphical user interface)에 대한 그래픽 정보를 표시하기 위해 전자 장치(900) 내에서 실행을 위한 인스트럭션들을 처리할 수 있다. 상기 인스트럭션들은 메모리(904) 또는 저장 장치(906) 내에 포함될 수 있다. 상기 인스트럭션들은, 프로세서(902)에 의해 실행될 시, 상술한 하나 이상의 동작들을 수행하도록, 전자 장치(900)를 야기할(cause) 수 있다. 실시예들에 따라, 프로세서(902)는 통신 프로세서 및 GPU(graphical processing unit)를 포함하는 복수의 프로세서들로 구성될 수도 있다. For example, the processor (902) may process instructions for execution within the electronic device (900) to display graphical information for a graphical user interface (GUI) on an external input/output device, such as a display (916) connected to the high-speed controller (908). The instructions may be contained in the memory (904) or the storage device (906). The instructions, when executed by the processor (902), may cause the electronic device (900) to perform one or more of the operations described above. According to embodiments, the processor (902) may be comprised of a plurality of processors, including a communication processor and a graphical processing unit (GPU).
예를 들면, 메모리(904)는 전자 장치(900) 내에 정보를 저장할 수 있다. 예를 들면, 메모리(904)는 휘발성 메모리 유닛 또는 유닛들일 수 있다. 다른 예를 들면, 메모리(904)는 비휘발성 메모리 유닛 또는 유닛들일 수 있다. 또 다른 예를 들면, 메모리(904)는 자기 또는 광학 디스크와 같이, 다른 형태의 컴퓨터 판독가능 매체일 수 있다. For example, the memory (904) may store information within the electronic device (900). For example, the memory (904) may be a volatile memory unit or units. For another example, the memory (904) may be a non-volatile memory unit or units. For another example, the memory (904) may be another form of computer-readable media, such as a magnetic or optical disk.
예를 들면, 저장 장치(906)는 전자 장치(900)에게 대용량(mass) 저장 공간을 제공할 수 있다. 예를 들면, 저장 장치(906은 하드 디스크 장치, 광학 디스크 장치, 플래시 메모리, 솔리드 스테이트 메모리 장치, 또는 SAN(storage area network) 내의 장치들의 어레이(array)와 같은, 컴퓨터 판독가능 매체일 수 있다. For example, the storage device (906) can provide mass storage space to the electronic device (900). For example, the storage device (906) can be a computer-readable medium, such as a hard disk device, an optical disk device, flash memory, a solid-state memory device, or an array of devices within a storage area network (SAN).
예를 들면, 고속 컨트롤러(908)는 전자 장치(900)를 위한 대역폭-집약적(bandwidth-intensive) 동작들을 관리하는 반면, 저속 컨트롤러(912)는 전자 장치(900)를 위한 낮은(low) 대역폭 집약적 동작들을 관리할 수 있다. 예를 들면, 고속 컨트롤러(908)는 메모리(904)와 결합되고(coupled to) GPU 또는 가속기(accelerator)를 통해 디스플레이(916)와 결합되는 반면, 저속 컨트롤러(912)는 저장 장치(906)와 결합되고 외부 전자 장치(예: 키보드, 트랜스듀서(transducer), 스캐너, 또는 네트워크 장치(예: 스위치 또는 라우터))와의 통신을 위한 다양한 통신 포트들(예: USB(universal serial bus), 블루투스, 이더넷(ethernet), 무선 이더넷)과 결합될 수 있다. For example, the high-speed controller (908) may manage bandwidth-intensive operations for the electronic device (900), while the low-speed controller (912) may manage low-bandwidth intensive operations for the electronic device (900). For example, the high-speed controller (908) may be coupled to memory (904) and to a display (916) via a GPU or accelerator, while the low-speed controller (912) may be coupled to storage (906) and various communication ports (e.g., universal serial bus (USB), Bluetooth, Ethernet, wireless Ethernet) for communicating with external electronic devices (e.g., a keyboard, a transducer, a scanner, or a network device (e.g., a switch or router).
전자 장치(950)는 제3 전자 장치(130)의 일 예일 수 있다. 전자 장치(950)는 프로세서(952), 메모리(964), 디스플레이(954)(예: OLED(organic light emitting diode) 디스플레이 또는 다른 적합한 디스플레이)와 같은 입출력 장치, 통신 인터페이스(966), 및 송수신기(968)를 포함할 수 있다. 프로세서(952), 메모리(964), 상기 입출력 장치, 통신 인터페이스(966), 및 송수신기(968) 각각은 다양한 버스들을 이용하여 상호 연결될 수 있다. The electronic device (950) may be an example of the third electronic device (130). The electronic device (950) may include a processor (952), a memory (964), an input/output device such as a display (954) (e.g., an organic light emitting diode (OLED) display or other suitable display), a communication interface (966), and a transceiver (968). Each of the processor (952), the memory (964), the input/output device, the communication interface (966), and the transceiver (968) may be interconnected using various buses.
예를 들면, 프로세서(952)는 상기 입출력 장치 상에 GUI에 대한 그래픽 정보를 표시하기 위해 메모리(964) 내에 포함된 인스트럭션들을 처리할 수 있다. 상기 인스트럭션들은, 프로세서(952)에 의해 실행될 시, 상술한 하나 이상의 동작들을 수행하도록, 전자 장치(950)를 야기할 수 있다. 예를 들면, 프로세서(952)는 디스플레이(954)와 결합된 디스플레이 인터페이스(956) 및 제어 인터페이스(958)를 통해 사용자와 상호작용할 수 있다. 예를 들면, 디스플레이 인터페이스(956)는 시각적 정보를 사용자에게 제공하기 위해 디스플레이(954)를 구동하기 위한 회로를 포함하고, 제어 인터페이스(958)는 사용자로부터 수신된 명령(command)들을 수신하고 프로세서(952)에게 제공하기 위해 상기 명령들을 변환하기 위한 회로를 포함할 수 있다. 실시예들에 따라, 프로세서(952)는 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩셋(chipset)으로 구현될 수 있다. For example, the processor (952) may process instructions contained in the memory (964) to display graphical information for a GUI on the input/output device. The instructions, when executed by the processor (952), may cause the electronic device (950) to perform one or more of the operations described above. For example, the processor (952) may interact with a user through a display interface (956) coupled with a display (954) and a control interface (958). For example, the display interface (956) may include circuitry for driving the display (954) to provide visual information to the user, and the control interface (958) may include circuitry for receiving commands received from the user and converting the commands for providing them to the processor (952). According to embodiments, the processor (952) may be implemented as a chipset of chips including analog and digital processors.
예를 들면, 메모리(964)는 전자 장치(950) 내에 정보를 저장할 수 있다. 예를 들면, 메모리(964)는 하나 이상의 휘발성 메모리 유닛들, 하나 이상의 비휘발성 메모리 유닛들, 또는 컴퓨터 판독가능 매체 중 적어도 하나를 포함할 수 있다. For example, the memory (964) may store information within the electronic device (950). For example, the memory (964) may include at least one of one or more volatile memory units, one or more non-volatile memory units, or a computer-readable medium.
예를 들면, 통신 인터페이스(966)는, 프로세서(952)와의 연동에 기반하여, 셀룰러 통신 기법, Wi-Fi 통신 기법, NFC 기법, 또는 블루투스 통신 기법과 같은 다양한 통신 기법들을 통해 전자 장치(950)와 외부 전자 장치 사이의 무선 통신을 수행할 수 있다. 예를 들면, 통신 인터페이스(966)는, 상기 무선 통신의 수행을 위해, 송수신기(968)와 결합될 수 있다. 예를 들면, 통신 인터페이스(966)는, 전자 장치(950)의 위치 정보의 획득을 위해, GNSS(global navigation satellite system) 수신 모듈(970)과 더 결합될 수도 있다.For example, the communication interface (966) may perform wireless communication between the electronic device (950) and an external electronic device through various communication techniques, such as a cellular communication technique, a Wi-Fi communication technique, an NFC technique, or a Bluetooth communication technique, based on interworking with the processor (952). For example, the communication interface (966) may be coupled with a transceiver (968) to perform the wireless communication. For example, the communication interface (966) may be further coupled with a GNSS (global navigation satellite system) receiving module (970) to obtain location information of the electronic device (950).
도 10은 다양한 실시예들에 따른 제1 전자 장치(110)에 기반하는 퀘스트의 생성과 관련된 워크 플로우(1000)를 도시한다.FIG. 10 illustrates a workflow (1000) related to the creation of a quest based on a first electronic device (110) according to various embodiments.
퀘스트의 생성은, NPC(non-player character), 아이템(item)등의 다양한 오브젝트(object) 등의 다양한 요소가 고려되며, 퀘스트의 난이도나 규모에 따라 수백, 수천개의 요소가 리소스로서 사용될 수 있다. 퀘스트 제작을 위해 제작한 리소스들이 다른 퀘스트 제작에 재사용되지 못하고 버려지는 경우가 빈번하며, 사용자들에게 흥미를 줄 수 있는 역동적인 스토리 퀘스트는 그 내러티브가 매우 복잡해질 수밖에 없다. 스토리 퀘스트에 포함된 에피소드 사건을 표현하기 위한 대화와 지문의 구성도 복잡한데, 연속된 퀘스트의 내러티브를 개연성 있게 작성하기는 더 어려울 수밖에 없다. 이와 같이, 스토리 퀘스트를 제작하는 것은 많은 전처리 작업이 필요하고 시간 또한 많이 필요로 하는 작업이며, 메인 퀘스트는, 컨셉 설계부터 실제 게임에 반영할 때까지, 길게는 수 개월의 작업을 요구할 수도 있다. The creation of a quest considers various elements such as NPCs (non-player characters), items, and various objects, and depending on the difficulty or scale of the quest, hundreds or thousands of elements can be used as resources. Resources created for the creation of quests are often discarded instead of being reused for the creation of other quests, and dynamic story quests that can interest users inevitably have very complex narratives. The composition of dialogue and text to express the episodic events included in story quests is also complex, and it is even more difficult to write the narrative of a series of quests with plausibility. In this way, creating story quests requires a lot of preprocessing work and also takes a lot of time, and main quests can require several months of work from concept design to actual reflection in the game.
한편, 퀘스트 제작은 크게, 리소스 제작, 내러티브 작성, 스크립트 작성과 데이터 입력 작업의 3가지 작업으로 분류할 수 있다. 퀘스트 제작을 위해 리소스 제작과 내러티브 작성이 완료되면 해당 내용을 게임 시스템에 적용을 시키는 작업이 필요하다. 이러한 작업을 스크립트 작성과 데이터 입력 작업으로 통칭할 수 있다. 특히 스크립트 작성과 데이터 입력은 개발자가 일일이 수작업으로 작업해온 영역이다. 유사한 퀘스트라도 새로운 퀘스트와 기존 퀘스트는 행동과 그 대상을 처리하는 순서 및 횟수 등의 내부 구성이 다를 수밖에 없기 때문에, 작성한 퀘스트와 유사한 기존 퀘스트의 스크립트를 복사해 재활용하는 방법도 고려하기 어려운 실정이다. 한편, 리소스 제작, 내러티브 작성, 및 스크립트 작성은 서로 종속적이므로, 반복적으로 다른 작업의 수행을 요구할 수 있다. Meanwhile, quest creation can be largely categorized into three tasks: resource creation, narrative writing, script writing, and data entry. Once resource creation and narrative writing are completed for quest creation, the work of applying the content to the game system is required. These tasks can be collectively called script writing and data entry. In particular, script writing and data entry are areas that developers have worked on manually one by one. Even for similar quests, new quests and existing quests are bound to have different internal structures, such as the order and number of times actions and targets are processed, so it is difficult to consider copying and reusing scripts from existing quests that are similar to the quest you created. Meanwhile, resource creation, narrative writing, and script writing are interdependent, so they may require repeated performance of other tasks.
도 10의 워크 플로우(1000)를 참조하면, 제1 전자 장치(110)를 이용하여, 퀘스트 컨셉 설계(작업 1010) 이후의, 퀘스트 스크립트 작성(작업 1020), 퀘스트 리소스 제작(작업 1030), 및 퀘스트 내러티브 작성(작업 1040)과 같은 작업들 사이의 종속성이 제거될 수 있다. 예를 들어, 퀘스트 리소스 제작(작업 1030) 및 퀘스트 내러티브 작성(작업 1040)이 독립적으로 수행될 수 있다. 도 10 과 같이, 독립적으로 수신되는 작업들(1020, 1030, 1040)에 의하여, 퀘스트 컨셉 설계(작업 1010) 이후 퀘스트 테스트 및 검증(작업 1050) 사이의 시간 간격이 줄어들 수 있다. 예를 들어, 제1 전자 장치(110)는 퀘스트 리소스의 재활용을 쉽게 만들고, 병렬적인 활동을 가능하게 만들어, 퀘스트를 생성하는데 소비되는 시간과 같은 비용을 절감할 수 있다.Referring to the workflow (1000) of FIG. 10, dependencies between tasks such as quest script writing (task 1020), quest resource creation (task 1030), and quest narrative writing (task 1040) after quest concept design (task 1010) can be eliminated by using the first electronic device (110). For example, quest resource creation (task 1030) and quest narrative writing (task 1040) can be performed independently. As shown in FIG. 10, by the independently received tasks (1020, 1030, 1040), the time interval between quest concept design (task 1010) and quest testing and verification (task 1050) can be reduced. For example, the first electronic device (110) can make it easy to reuse quest resources and enable parallel activities, thereby reducing costs such as time consumed to create a quest.
상술한 바와 같은, 일 실시예에 따른 컴퓨터 판독가능 저장 매체(computer readable storage medium)는, 하나 이상의 프로그램들을 저장하고, 상기 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시에, 자연어에 기반하는 텍스트들의 시퀀스가 포함된 제1 정보를 수신하고, 상기 제1 정보를 수신하는 것에 응답하여, 상기 텍스트들 중 적어도 하나에 매핑되는 하나 이상의 노드들에 의해 구분되는(distinguished) 하나 이상의 스크립트들을 획득하고, 및 상기 하나 이상의 스크립트들을 획득하는 것에 응답하여, 상기 획득된 하나 이상의 스크립트들에, 상기 텍스트들에 의해 나타나는 리소스 데이터를 결합하여, 지정된 어플리케이션에 의하여 출력 가능한 퀘스트를 나타내는 제2 정보를 획득 하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함할 수 있다.A computer readable storage medium according to one embodiment of the present invention as described above may include instructions storing one or more programs, wherein the one or more programs, when executed by a processor of an electronic device, cause the electronic device to receive first information comprising a sequence of texts based on a natural language, in response to receiving the first information, obtain one or more scripts distinguished by one or more nodes that map to at least one of the texts, and in response to obtaining the one or more scripts, combine resource data represented by the texts with the obtained one or more scripts to obtain second information representing a quest outputtable by a specified application.
예를 들어, 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에, 기계 독해를 지원하기 위한 언어 모델에 기반하여 상기 제1 정보를 인식하여, 상기 하나 이상의 스크립트들을 획득하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함할 수 있다.For example, the one or more programs may further include instructions that, when executed by a processor of the electronic device, cause the electronic device to recognize the first information based on a language model for supporting machine reading, thereby obtaining the one or more scripts.
예를 들어, 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에, 상기 언어 모델에 기반하여 상기 텍스트들의 시퀀스에 의해 나타나는 하나 이상의 이벤트들 을 식별하고, 및 상기 하나 이상의 이벤트들을 식별하는 것에 응답하여, 상기 하나 이상의 이벤트들에 매핑되는 상기 하나 이상의 노드들을 획득하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함할 수 있다.For example, the one or more programs may further include instructions that, when executed by a processor of the electronic device, cause the electronic device to identify one or more events represented by the sequence of texts based on the language model, and in response to identifying the one or more events, obtain one or more nodes mapped to the one or more events.
예를 들어, 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에, 상기 언어 모델에 기반하여, 상기 텍스트들에 포함된 적어도 하나의 단어에 매칭되고, 상기 전자 장치의 메모리 내에 저장된 데이터베이스 내에 포함된 상기 리소스 데이터를 식별하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함할 수 있다.For example, the one or more programs may further include instructions that, when executed by a processor of the electronic device, cause the electronic device to identify, based on the language model, the resource data that matches at least one word included in the texts and is included in a database stored in a memory of the electronic device.
예를 들어, 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에, 상기 전자 장치의 메모리 내에 저장된 데이터베이스에 포함된 스크립트 템플릿들에 기반하여, 상기 하나 이상의 스크립트들을 획득하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함할 수 있다.For example, the one or more programs may further include instructions that, when executed by a processor of the electronic device, cause the electronic device to obtain the one or more scripts based on script templates contained in a database stored within a memory of the electronic device.
예를 들어, 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에, 기계 독해를 지원하기 위한 언어 모델에 기반하여 상기 제1 정보를 인식하여, 상기 스크립트 템플릿들 중에서 상기 하나 이상의 스크립트들을 추출하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함할 수 있다. For example, the one or more programs may further include instructions that, when executed by a processor of the electronic device, cause the electronic device to recognize the first information based on a language model for supporting machine reading, and extract the one or more scripts from among the script templates.
예를 들어, 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에, 상기 제2 정보를 획득하는 것에 응답하여, 상기 제2 정보에 의해 나타나는 퀘스트에 대한 시뮬레이션을 수행하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함할 수 있다.For example, the one or more programs may further include instructions that, when executed by a processor of the electronic device, cause the electronic device, in response to obtaining the second information, to perform a simulation for a quest indicated by the second information.
예를 들어, 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에, 상기 제1 정보로부터 복수의 노드들에 의해 구분되는 복수의 스크립트들을 획득한 상태에서, 상기 텍스트들의 시퀀스에 기반하여 상기 복수의 노드들 사이의 연결을 나타내는 제3 정보를 획득하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함할 수 있다.For example, the one or more programs may further include instructions that, when executed by a processor of the electronic device, cause the electronic device to obtain third information indicating a connection between the plurality of nodes based on a sequence of the texts, in a state where the plurality of scripts, distinguished by the plurality of nodes, are obtained from the first information.
예를 들어, 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에, 상기 전자 장치의 디스플레이의 적어도 일부분에, 상기 복수의 노드들을, 상기 복수의 노드들 사이의 연결에 기반하여 표시하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함할 수 있다. For example, the one or more programs may further include instructions that, when executed by a processor of the electronic device, cause the electronic device to display the plurality of nodes on at least a portion of a display of the electronic device based on connections between the plurality of nodes.
예를 들어, 상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에, 상기 디스플레이의 적어도 일부분에, 상기 복수의 노드들을 표시한 상태에서, 상기 복수의 노드들과 관련된 사용자 입력을 수신하고, 상기 사용자 입력을 수신하는 것에 응답하여, 상기 사용자 입력에 기반하여 상기 디스플레이의 적어도 일부분에 표시된 상기 복수의 노드들을 변경하고, 및 상기 복수의 노드들을 변경하는 것에 기반하여, 상기 제2 정보를 변경하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함할 수 있다. For example, the one or more programs may further include instructions that, when executed by a processor of the electronic device, cause the electronic device to: receive a user input related to the plurality of nodes while displaying the plurality of nodes on at least a portion of the display; in response to receiving the user input, change the plurality of nodes displayed on at least a portion of the display based on the user input; and change the second information based on the changing of the plurality of nodes.
상술한 바와 같은, 일 실시예에 따른 전자 장치(electronic device)는, 복수의 인스트럭션들을 저장하는 메모리, 및 상기 메모리와 작동적으로 결합된(operably coupled to) 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에, 자연어에 기반하는 텍스트들의 시퀀스가 포함된 제1 정보를 수신하고, 상기 제1 정보를 수신하는 것에 응답하여, 상기 텍스트들 중 적어도 하나에 매핑되는 하나 이상의 노드들에 의해 구분되는(distinguished) 하나 이상의 스크립트들을 획득하고, 및 상기 하나 이상의 스크립트들을 획득하는 것에 응답하여, 상기 획득된 하나 이상의 스크립트들에, 상기 텍스트들에 의해 나타나는 리소스 데이터를 결합하여, 지정된 어플리케이션에 의하여 출력 가능한 퀘스트를 나타내는 제2 정보를 획득할 수 있다. An electronic device according to one embodiment of the present invention, as described above, includes a memory storing a plurality of instructions, and at least one processor operably coupled to the memory, wherein the at least one processor, when executing the plurality of instructions, receives first information including a sequence of texts based on a natural language, in response to receiving the first information, obtains one or more scripts distinguished by one or more nodes mapped to at least one of the texts, and in response to obtaining the one or more scripts, combines resource data represented by the texts with the obtained one or more scripts to obtain second information representing a quest outputtable by a specified application.
예를 들어, 상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에, 상기 메모리 내에 저장되고, 기계 독해를 지원하기 위한, 언어 모델에 기반하여 상기 제1 정보를 인식하여, 상기 하나 이상의 스크립트들을 획득할 수 있다. For example, the at least one processor may, when executing the plurality of instructions, recognize the first information based on a language model stored in the memory and supporting machine reading, and obtain the one or more scripts.
예를 들어, 상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에, 상기 언어 모델에 기반하여 상기 텍스트들의 시퀀스에 의해 나타나는 하나 이상의 이벤트들을 식별하고, 및 상기 하나 이상의 이벤트들을 식별하는 것에 응답하여, 상기 하나 이상의 이벤트들에 매핑되는 상기 하나 이상의 노드들을 획득할 수 있다. For example, the at least one processor, when executing the plurality of instructions, may identify one or more events represented by the sequence of texts based on the language model, and in response to identifying the one or more events, obtain one or more nodes mapped to the one or more events.
예를 들어, 상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에, 상기 언어 모델에 기반하여, 상기 텍스트들에 포함된 적어도 하나의 단어에 매칭되고, 상기 전자 장치의 메모리 내에 저장된 데이터베이스 내에 포함된 상기 리소스 데이터를 식별할 수 있다. For example, the at least one processor, when executing the plurality of instructions, may identify, based on the language model, the resource data that matches at least one word included in the texts and is included in a database stored in the memory of the electronic device.
예를 들어, 상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에, 상기 전자 장치의 메모리 내에 저장된 데이터베이스에 포함된 스크립트 템플릿들에 기반하여, 상기 하나 이상의 스크립트들을 획득할 수 있다. For example, the at least one processor may, when executing the plurality of instructions, obtain the one or more scripts based on script templates contained in a database stored in a memory of the electronic device.
예를 들어, 상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에, 상기 메모리 내에 저장되고, 기계 독해를 지원하기 위한, 언어 모델에 기반하여 상기 제1 정보를 인식하여, 상기 스크립트 템플릿들 중에서 상기 하나 이상의 스크립트들을 추출할 수 있다. For example, the at least one processor may, when executing the plurality of instructions, recognize the first information based on a language model stored in the memory and supporting machine reading, and extract one or more scripts from among the script templates.
예를 들어, 상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에, 상기 제2 정보를 획득하는 것에 응답하여, 상기 제2 정보에 의해 나타나는 퀘스트에 대한 시뮬레이션을 수행할 수 있다. For example, the at least one processor may, in response to obtaining the second information, perform a simulation for a quest indicated by the second information when executing the plurality of instructions.
예를 들어, 상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에, 상기 제1 정보로부터 복수의 노드들에 의해 구분되는 복수의 스크립트들을 획득한 상태에서, 상기 텍스트들의 시퀀스에 기반하여 상기 복수의 노드들 사이의 연결을 나타내는 제3 정보를 획득할 수 있다. For example, the at least one processor, when executing the plurality of instructions, may obtain third information indicating a connection between the plurality of nodes based on a sequence of the texts, while obtaining a plurality of scripts distinguished by a plurality of nodes from the first information.
예를 들어, 상기 전자 장치는, 디스플레이를 더 포함하고, 상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에, 상기 디스플레이의 적어도 일부분에, 상기 복수의 노드들을, 상기 복수의 노드들 사이의 연결에 기반하여 표시할 수 있다. For example, the electronic device further includes a display, and the at least one processor, when executing the plurality of instructions, can display the plurality of nodes on at least a portion of the display based on connections between the plurality of nodes.
예를 들어, 상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에, 상기 디스플레이의 적어도 일부분에, 상기 복수의 노드들을 표시한 상태에서, 상기 복수의 노드들과 관련된 사용자 입력을 수신하고, 상기 사용자 입력을 수신하는 것에 응답하여, 상기 사용자 입력에 기반하여 상기 디스플레이의 적어도 일부분에 표시된 상기 복수의 노드들을 변경하고, 및 상기 복수의 노드들을 변경하는 것에 기반하여, 상기 제2 정보를 변경할 수 있다. For example, the at least one processor, when executing the plurality of instructions, may display the plurality of nodes on at least a portion of the display, receive a user input related to the plurality of nodes, and in response to receiving the user input, change the plurality of nodes displayed on at least a portion of the display based on the user input, and change the second information based on the changing of the plurality of nodes.
상술한 바와 같은, 일 실시예에 따른 전자 장치의 방법은, 자연어에 기반하는 텍스트들의 시퀀스가 포함된 제1 정보를 수신하는 동작, 상기 제1 정보를 수신하는 것에 응답하여, 상기 텍스트들 중 적어도 하나에 매핑되는 하나 이상의 노드들에 의해 구분되는 하나 이상의 스크립트들을 획득하는 동작, 및 상기 하나 이상의 스크립트들을 획득하는 것에 응답하여, 상기 획득된 하나 이상의 스크립트들에, 상기 텍스트들에 의해 나타나는 리소스 데이터를 결합하여, 지정된 어플리케이션에 의하여 출력 가능한 퀘스트를 나타내는 제2 정보를 획득하는 동작을 포함할 수 있다.A method of an electronic device according to one embodiment as described above may include receiving first information including a sequence of texts based on a natural language, in response to receiving the first information, obtaining one or more scripts distinguished by one or more nodes mapped to at least one of the texts, and in response to obtaining the one or more scripts, obtaining second information representing a quest outputtable by a specified application by combining resource data represented by the texts with the obtained one or more scripts.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The devices described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, the devices and components described in the embodiments may be implemented using one or more general-purpose computers or special-purpose computers, such as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing instructions and responding to them. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing device is sometimes described as being used alone, but those skilled in the art will appreciate that the processing device may include multiple processing elements and/or multiple types of processing elements. For example, the processing device may include multiple processors, or a processor and a controller. Other processing configurations, such as parallel processors, are also possible.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing device to perform a desired operation or may independently or collectively command the processing device. The software and/or data may be embodied in any type of machine, component, physical device, computer storage medium, or device for interpretation by the processing device or for providing instructions or data to the processing device. The software may be distributed over network-connected computer systems and stored or executed in a distributed manner. The software and data may be stored on one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to the embodiment may be implemented in the form of program commands that can be executed through various computer means and recorded on a computer-readable medium. At this time, the medium may be one that continuously stores a program executable by a computer, or one that temporarily stores it for execution or downloading. In addition, the medium may be various recording means or storage means in the form of a single or multiple hardware combinations, and is not limited to a medium directly connected to a computer system, and may be distributed on a network. Examples of the medium may include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and ROMs, RAMs, flash memories, etc., configured to store program commands. In addition, examples of other media may include recording media or storage media managed by app stores that distribute applications, sites that supply or distribute various software, servers, etc.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described above by way of limited examples and drawings, those skilled in the art may make various modifications and variations from the above description. For example, appropriate results may be achieved even if the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or are replaced or substituted by other components or equivalents.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also included in the scope of the claims described below.
Claims (20)
상기 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시에,
자연어에 기반하는 텍스트들의 시퀀스가 포함된 제1 정보를 수신하고;
상기 제1 정보를 수신하는 것에 응답하여, 상기 텍스트들의 상이한 부분들 각각에 매핑된 복수의 노드들에 의해 구분되는(distinguished) 스크립트들을 획득하고; 및
상기 스크립트들을 획득하는 것에 응답하여, 상기 획득된 스크립트들에, 상기 텍스트들에 의해 나타나는 리소스 데이터를 결합하여, 지정된 어플리케이션에 의하여 출력 가능한 퀘스트를 나타내는 제2 정보를 획득하도록 상기 전자 장치를 야기하는 인스트럭션들을 포함하고,
상기 복수의 노드들에 대응하는 스크립트들은,
상기 지정된 어플리케이션에 의해 로드된 동안, 상기 지정된 어플리케이션을 실행한 다른 전자 장치가 상기 퀘스트를 출력하도록 야기하는 태그들을 포함하고,
상기 태그들은, 상기 제1 정보에 대한 의미 분석 결과에 의하여 결정된 주요 동작에 따라 구분되는 스크립트 템플릿들 중 어느 하나에, 상기 텍스트들에 기반하는 파라미터들을 임베딩하여 생성된,
컴퓨터 판독 가능 저장 매체.In a computer readable storage medium storing one or more programs,
One or more of the above programs, when executed by a processor of an electronic device,
Receiving first information comprising a sequence of texts based on natural language;
In response to receiving said first information, obtaining scripts distinguished by a plurality of nodes mapped to different portions of said texts; and
In response to obtaining said scripts, instructions causing said electronic device to obtain second information representing a quest outputtable by a specified application by combining resource data represented by said texts with said obtained scripts;
The scripts corresponding to the above multiple nodes are:
Contains tags that cause another electronic device running said specified application to output said quest while loaded by said specified application;
The above tags are generated by embedding parameters based on the texts in one of the script templates classified according to the main actions determined by the semantic analysis results for the first information.
Computer readable storage medium.
상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에,
기계 독해를 지원하기 위한 언어 모델에 기반하여 상기 제1 정보를 인식하여, 상기 스크립트들을 획득하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함하는, 컴퓨터 판독 가능 저장 매체.In the first paragraph,
The above one or more programs, when executed by the processor of the electronic device,
A computer-readable storage medium further comprising instructions causing the electronic device to recognize the first information based on a language model for supporting machine reading comprehension and obtain the scripts.
상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에,
상기 언어 모델에 기반하여 상기 텍스트들의 시퀀스에 의해 나타나는 복수의 이벤트들을 식별하고; 및
상기 복수의 이벤트들을 식별하는 것에 응답하여, 상기 복수의 이벤트들에 매핑되는 상기 복수의 노드들을 획득하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함하는, 컴퓨터 판독 가능 저장 매체.In the second paragraph,
The above one or more programs, when executed by the processor of the electronic device,
Identifying multiple events represented by a sequence of texts based on the language model; and
A computer-readable storage medium further comprising instructions that cause the electronic device to obtain the plurality of nodes mapped to the plurality of events, in response to identifying the plurality of events.
상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에,
상기 언어 모델에 기반하여, 상기 텍스트들에 포함된 적어도 하나의 단어에 매칭되고, 상기 전자 장치의 메모리 내에 저장된 데이터베이스 내에 포함된 상기 리소스 데이터를 식별하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함하는, 컴퓨터 판독 가능 저장 매체.In the second paragraph,
The above one or more programs, when executed by the processor of the electronic device,
A computer-readable storage medium further comprising instructions causing the electronic device to identify the resource data contained in a database stored in a memory of the electronic device, the resource data matching at least one word contained in the texts based on the language model.
상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에,
상기 전자 장치의 메모리 내에 저장된 데이터베이스에 포함된 상기 스크립트 템플릿들에 기반하여, 상기 스크립트들을 획득하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함하는, 컴퓨터 판독 가능 저장 매체.In the first paragraph,
The above one or more programs, when executed by the processor of the electronic device,
A computer-readable storage medium further comprising instructions causing the electronic device to obtain the scripts based on the script templates contained in a database stored within a memory of the electronic device.
상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에,
기계 독해를 지원하기 위한 언어 모델에 기반하여 상기 제1 정보를 인식하여, 상기 스크립트 템플릿들 중에서 상기 스크립트들을 추출하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함하는, 컴퓨터 판독 가능 저장 매체.In paragraph 5,
The above one or more programs, when executed by the processor of the electronic device,
A computer-readable storage medium further comprising instructions causing the electronic device to recognize the first information based on a language model for supporting machine reading, and to extract the scripts from the script templates.
상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에,
상기 제2 정보를 획득하는 것에 응답하여, 상기 제2 정보에 의해 나타나는 퀘스트에 대한 시뮬레이션을 수행하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함하는, 컴퓨터 판독 가능 저장 매체.In the first paragraph,
The above one or more programs, when executed by the processor of the electronic device,
A computer-readable storage medium further comprising instructions for causing the electronic device to perform a simulation for a quest indicated by the second information in response to obtaining the second information.
상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에,
상기 제1 정보로부터 복수의 노드들에 의해 구분되는 복수의 스크립트들을 획득한 상태에서, 상기 텍스트들의 시퀀스에 기반하여 상기 복수의 노드들 사이의 연결을 나타내는 제3 정보를 획득하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함하는, 컴퓨터 판독 가능 저장 매체.In the first paragraph,
The above one or more programs, when executed by the processor of the electronic device,
A computer-readable storage medium further comprising instructions that cause the electronic device to obtain third information indicating a connection between the plurality of nodes based on a sequence of the texts, wherein the plurality of scripts, which are distinguished by a plurality of nodes from the first information, are obtained.
상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에,
상기 전자 장치의 디스플레이의 적어도 일부분에, 상기 복수의 노드들을, 상기 복수의 노드들 사이의 연결에 기반하여 표시하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함하는, 컴퓨터 판독 가능 저장 매체.In Article 8,
The above one or more programs, when executed by the processor of the electronic device,
A computer-readable storage medium further comprising instructions causing the electronic device to display the plurality of nodes on at least a portion of a display of the electronic device, based on connections between the plurality of nodes.
상기 하나 이상의 프로그램들은, 상기 전자 장치의 프로세서에 의해 실행될 시에,
상기 디스플레이의 적어도 일부분에, 상기 복수의 노드들을 표시한 상태에서, 상기 복수의 노드들과 관련된 사용자 입력을 수신하고;
상기 사용자 입력을 수신하는 것에 응답하여, 상기 사용자 입력에 기반하여 상기 디스플레이의 적어도 일부분에 표시된 상기 복수의 노드들을 변경하고; 및
상기 복수의 노드들을 변경하는 것에 기반하여, 상기 제2 정보를 변경하도록, 상기 전자 장치를 야기하는 인스트럭션들을 더 포함하는, 컴퓨터 판독 가능 저장 매체.In Article 9,
The above one or more programs, when executed by the processor of the electronic device,
Receiving user input related to the plurality of nodes while displaying the plurality of nodes on at least a portion of the display;
In response to receiving said user input, changing said plurality of nodes displayed on at least a portion of said display based on said user input; and
A computer-readable storage medium further comprising instructions for causing the electronic device to change the second information based on changing the plurality of nodes.
복수의 인스트럭션들을 저장하는 메모리; 및
상기 메모리와 작동적으로 결합된(operably coupled to) 적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에,
자연어에 기반하는 텍스트들의 시퀀스가 포함된 제1 정보를 수신하고;
상기 제1 정보를 수신하는 것에 응답하여, 상기 텍스트들의 상이한 부분들 각각에 매핑된 복수의 노드들에 의해 구분되는(distinguished) 스크립트들을 획득하고; 및
상기 스크립트들을 획득하는 것에 응답하여, 상기 획득된 스크립트들에, 상기 텍스트들에 의해 나타나는 리소스 데이터를 결합하여, 지정된 어플리케이션에 의하여 출력 가능한 퀘스트를 나타내는 제2 정보를 획득하고,
상기 복수의 노드들에 대응하는 스크립트들은,
상기 지정된 어플리케이션에 의해 로드된 동안, 상기 지정된 어플리케이션을 실행한 다른 전자 장치가 상기 퀘스트를 출력하도록 야기하는 태그들을 포함하고,
상기 태그들은, 상기 제1 정보에 대한 의미 분석 결과에 의하여 결정된 주요 동작에 따라 구분되는 스크립트 템플릿들 중 어느 하나에, 상기 텍스트들에 기반하는 파라미터들을 임베딩하여 생성된,
전자 장치.In electronic devices,
Memory for storing multiple instructions; and
comprising at least one processor operably coupled to said memory;
The at least one processor, when executing the plurality of instructions,
Receiving first information comprising a sequence of texts based on natural language;
In response to receiving said first information, obtaining scripts distinguished by a plurality of nodes mapped to different portions of said texts; and
In response to obtaining the above scripts, the second information representing a quest outputtable by the specified application is obtained by combining the resource data indicated by the texts with the obtained scripts,
The scripts corresponding to the above multiple nodes are:
Contains tags that cause another electronic device running said specified application to output said quest while loaded by said specified application;
The above tags are generated by embedding parameters based on the texts in one of the script templates classified according to the main actions determined by the semantic analysis results for the first information.
Electronic devices.
상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에,
상기 메모리 내에 저장되고, 기계 독해를 지원하기 위한, 언어 모델에 기반하여 상기 제1 정보를 인식하여, 상기 스크립트들을 획득하는 전자 장치.In Article 11,
The at least one processor, when executing the plurality of instructions,
An electronic device that recognizes the first information based on a language model stored in the memory and supports machine reading, thereby obtaining the scripts.
상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에,
상기 언어 모델에 기반하여 상기 텍스트들의 시퀀스에 의해 나타나는 복수의 이벤트들을 식별하고; 및
상기 복수의 이벤트들을 식별하는 것에 응답하여, 상기 복수의 이벤트들에 매핑되는 상기 복수의 노드들을 획득하는 전자 장치.In Article 12,
The at least one processor, when executing the plurality of instructions,
Identifying multiple events represented by a sequence of texts based on the language model; and
An electronic device, in response to identifying said plurality of events, obtaining said plurality of nodes mapped to said plurality of events.
상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에,
상기 언어 모델에 기반하여, 상기 텍스트들에 포함된 적어도 하나의 단어에 매칭되고, 상기 전자 장치의 메모리 내에 저장된 데이터베이스 내에 포함된 상기 리소스 데이터를 식별하는 전자 장치.In Article 12,
The at least one processor, when executing the plurality of instructions,
An electronic device that identifies the resource data contained in a database stored in a memory of the electronic device, the resource data matching at least one word contained in the texts based on the language model.
상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에,
상기 전자 장치의 메모리 내에 저장된 데이터베이스에 포함된 상기 스크립트 템플릿들에 기반하여, 상기 스크립트들을 획득하는 전자 장치.In Article 11,
The at least one processor, when executing the plurality of instructions,
An electronic device that obtains the scripts based on the script templates contained in a database stored within a memory of the electronic device.
상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에,
상기 메모리 내에 저장되고, 기계 독해를 지원하기 위한, 언어 모델에 기반하여 상기 제1 정보를 인식하여, 상기 스크립트 템플릿들 중에서 상기 스크립트들을 추출하는 전자 장치.In Article 15,
The at least one processor, when executing the plurality of instructions,
An electronic device that recognizes the first information based on a language model stored in the memory and supporting machine reading, and extracts the scripts from among the script templates.
상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에,
상기 제2 정보를 획득하는 것에 응답하여, 상기 제2 정보에 의해 나타나는 퀘스트에 대한 시뮬레이션을 수행하는 전자 장치.In Article 11,
The at least one processor, when executing the plurality of instructions,
An electronic device that, in response to obtaining the second information, performs a simulation for a quest indicated by the second information.
상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에,
상기 제1 정보로부터 복수의 노드들에 의해 구분되는 복수의 스크립트들을 획득한 상태에서, 상기 텍스트들의 시퀀스에 기반하여 상기 복수의 노드들 사이의 연결을 나타내는 제3 정보를 획득하는 전자 장치.In Article 11,
The at least one processor, when executing the plurality of instructions,
An electronic device that obtains third information indicating a connection between the plurality of nodes based on a sequence of the texts, while obtaining a plurality of scripts distinguished by a plurality of nodes from the first information.
상기 전자 장치는,
디스플레이를 더 포함하고,
상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에,
상기 디스플레이의 적어도 일부분에, 상기 복수의 노드들을, 상기 복수의 노드들 사이의 연결에 기반하여 표시하는 전자 장치.In Article 18,
The above electronic device,
Including more displays,
The at least one processor, when executing the plurality of instructions,
An electronic device that displays a plurality of nodes on at least a portion of the display based on connections between the plurality of nodes.
상기 적어도 하나의 프로세서는, 상기 복수의 인스트럭션들을 실행할 시에,
상기 디스플레이의 적어도 일부분에, 상기 복수의 노드들을 표시한 상태에서, 상기 복수의 노드들과 관련된 사용자 입력을 수신하고;
상기 사용자 입력을 수신하는 것에 응답하여, 상기 사용자 입력에 기반하여 상기 디스플레이의 적어도 일부분에 표시된 상기 복수의 노드들을 변경하고; 및
상기 복수의 노드들을 변경하는 것에 기반하여, 상기 제2 정보를 변경하는 전자 장치.
In Article 19,
The at least one processor, when executing the plurality of instructions,
Receiving user input related to the plurality of nodes while displaying the plurality of nodes on at least a portion of the display;
In response to receiving said user input, changing said plurality of nodes displayed on at least a portion of said display based on said user input; and
An electronic device that changes the second information based on changing the plurality of nodes.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020210177722A KR102705062B1 (en) | 2021-12-13 | 2021-12-13 | Method and computer readable storage medium for automatic generating game quest using machinc readaing comprehension |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020210177722A KR102705062B1 (en) | 2021-12-13 | 2021-12-13 | Method and computer readable storage medium for automatic generating game quest using machinc readaing comprehension |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20230089243A KR20230089243A (en) | 2023-06-20 |
| KR102705062B1 true KR102705062B1 (en) | 2024-09-10 |
Family
ID=86995037
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020210177722A Active KR102705062B1 (en) | 2021-12-13 | 2021-12-13 | Method and computer readable storage medium for automatic generating game quest using machinc readaing comprehension |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102705062B1 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20160206960A1 (en) * | 2014-11-03 | 2016-07-21 | International Business Machines Corporation | Creating dynamic game activities for games |
| KR101935585B1 (en) * | 2018-10-02 | 2019-04-05 | 넷마블 주식회사 | Game command recognition method and game command recognition apparatus |
| US20190213253A1 (en) * | 2018-01-11 | 2019-07-11 | RivetAI, Inc. | Script writing and content generation tools and improved operation of same |
-
2021
- 2021-12-13 KR KR1020210177722A patent/KR102705062B1/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20160206960A1 (en) * | 2014-11-03 | 2016-07-21 | International Business Machines Corporation | Creating dynamic game activities for games |
| US20190213253A1 (en) * | 2018-01-11 | 2019-07-11 | RivetAI, Inc. | Script writing and content generation tools and improved operation of same |
| KR101935585B1 (en) * | 2018-10-02 | 2019-04-05 | 넷마블 주식회사 | Game command recognition method and game command recognition apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20230089243A (en) | 2023-06-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Brown | Web development with node and express: leveraging the JavaScript stack | |
| US9908052B2 (en) | Creating dynamic game activities for games | |
| Moreno-Ger et al. | A documental approach to adventure game development | |
| US9552353B2 (en) | System and method for generating phrases | |
| KR102549681B1 (en) | In-game resource surfacing platform | |
| Giunchi et al. | Dreamcodevr: Towards democratizing behavior design in virtual reality with speech-driven programming | |
| JP2021170310A (en) | Dialogue generation method, device, electronic apparatus, program, and storage medium | |
| WO2021049254A1 (en) | Information processing method, information processing device, and program | |
| CN115827838A (en) | Dialogue generation method and system based on story continuation and dynamic knowledge base | |
| Park et al. | Interactive AI for linguistic education built on VR environment using user generated contents | |
| Macero et al. | Learn Microservices with Spring Boot | |
| US7103585B2 (en) | System and method for logical agent engine | |
| Habib et al. | The role of Artificial Intelligence in shaping the future of Media production and the application of Algorithm bias theory in Storytelling | |
| KR102705062B1 (en) | Method and computer readable storage medium for automatic generating game quest using machinc readaing comprehension | |
| CN118760762A (en) | A large model optimization method for reading domain based on fine-tuning and a method for generating accompanying reading manuscripts | |
| Dai et al. | Managing the personality of NPCs with your interactions: A game design system based on large language models | |
| US20230330526A1 (en) | Controlling agents in a video game using semantic machine learning and a natural language action grammar | |
| JP2023510444A (en) | A Natural Language Dialogue System for Video Game Dialogue | |
| CN117349511A (en) | Methods, devices, electronic devices and storage media for providing media content | |
| Davis et al. | Investigating attitudes of professional writers to GPT text generation AI based creative support tools | |
| Boonstra | Dialogflow essentials concepts | |
| Pathak | Artificial Intelligence for .NET: Speech, Language, and Search | |
| Van Stegeren | Flavor text generation for role-playing video games | |
| JP2022051113A (en) | Information output device, question generator, and program | |
| US11826654B2 (en) | Dynamic spawn assets based on news feeds in a game |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |