Computer systems and programs
The computer system uses a shared generative AI model to generate personalized NPC responses based on retrieved reference information and user data, addressing the challenge of creating diverse virtual characters with human-like personality changes at a lower cost.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-12
- Publication Date
- 2026-03-25
AI Technical Summary
Existing technologies face challenges in creating virtual characters with diverse personalities at a low cost and replicating human-like personality changes in conversations.
A computer system that includes information retrieval and response generation mechanisms to control NPC responses, utilizing a shared generative AI model to generate personalized responses based on retrieved reference information and user data, with adjustable search priorities and update capabilities.
Enables cost-effective generation of varied NPC responses reflecting unique personalities and adapting to user interactions, allowing for dynamic and personalized conversations.
Smart Images

Figure 2026052998000001_ABST
Abstract
Description
Technical Field
[0005] , , , , , , , , , ,
[0006]
[0001] The present invention relates to a computer system and the like.
Background Art
[0002] One type of virtual experience involves communication between a virtual character and a user. If the virtual character is an NPC (Non Player Character) that appears in a game, the conversation between the player character and the NPC corresponds to this. In terms of being automatically operated, virtual characters such as virtual idols can also be said to be NPCs. Conversations with virtual idols and the like can also be said to correspond to communication between a virtual character and a user. And to realize high-quality communication between a virtual character and a user, the mechanism of how to form the personality of the virtual character and how to respond to inquiries from the user becomes important.
[0003] Patent Document 1 describes a technique for expressing the personality of a virtual character using five personality factors.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] In recent years, methods for realizing conversations between users and virtual characters using a generation unit such as generative AI (Artificial Intelligence) have been explored. In particular, how to realize virtual characters with different personalities at low cost and how to give personality changes like those of real humans have become issues.
[0006] The problem that this invention aims to solve is to provide a new technology for realizing the response of a virtual character using a generation unit. [Means for solving the problem]
[0007] The first invention for solving the above problem is a computer system for controlling the responses of an NPC (Non-Player Character) to a given question information, Information retrieval means (for example, information retrieval unit 224 in Figure 11, reference information 732 in Figure 12, step S16 in Figure 14) that retrieves reference information from a database that stores information including NPC information relating to the aforementioned NPC, A response information acquisition control means (for example, the response information acquisition control unit 230 in Figure 11, steps S18 to S30 in Figure 14) that generates generation instruction information based on the aforementioned question information and the aforementioned reference information, and controls the acquisition of response information by providing the generation instruction information to a generation unit (for example, the response information generation unit 228 in Figure 11) that generates response information based on the said generation instruction information, The computer system includes NPC control means (for example, the NPC control unit 238 in Figure 11, step S50 in Figure 15) that controls the NPC to provide a response based on the aforementioned response information.
[0008] Furthermore, the second invention is a computer system in which, in the above-described computer system, the information retrieval means retrieves the reference information based on the question information.
[0009] Furthermore, the third invention is a computer system in which the information retrieval means retrieves the reference information as information related to the question information.
[0010] NPCs are virtual characters. Question information is information about the question posed to the NPC, and answer information is information about the NPC's response to that question.
[0011] According to any of the first to third inventions, reference information is retrieved from a database that stores NPC information, and generation instruction information is generated based on that reference information and question information and provided to the generation unit. Therefore, it becomes possible to generate response information corresponding to various information about the NPC and to control the NPC to provide a response based on that response information.
[0012] Therefore, for example, it becomes possible to share the generated AI for multiple NPCs, making it possible to implement the system at a much lower cost than preparing a separate trained AI model for each NPC. Furthermore, by appropriately changing the NPC information stored in the database for each NPC, it becomes possible to make each NPC's responses reflect the unique personality of that NPC.
[0013] The fourth invention is a computer system in which, in the above-described computer system, the database stores a search priority associated with each piece of information to be stored (for example, the search priority in the personality information 631 in Figure 5), and the information retrieval means searches for information in which the search priority satisfies predetermined priority conditions to be included in the reference information (for example, the priority condition data 530 in Figure 6, step S14 in Figure 14).
[0014] According to the fourth invention, the information included in the reference information is determined by the search priority of the search targets stored in the database. Therefore, by appropriately setting the search priority, it becomes possible to differentiate the personalities of NPCs.
[0015] The fifth invention is a computer system further comprising, in the above-described computer system, a means for setting the advantage conditions (for example, the advantage condition setting unit 226 in Figure 11, the advantage condition data 530 in Figure 6, and step S14 in Figure 14).
[0016] According to the fifth invention, the computer system can change the NPC information included in the reference information according to the priority conditions. Therefore, by appropriately setting the priority conditions in response to the question, the computer system can change the content and manner of the NPC's response according to the question.
[0017] The sixth invention is a computer system further comprising the above-described computer system, a search priority changing means for changing the search priority (for example, the search priority changing unit 256 in Figure 11, the data type to be updated "search priority" in the profile information update data 546 in Figure 9, and step S70 in Figure 15).
[0018] According to the sixth invention, the information contained in the reference information can be varied in various ways by changing the search priority.
[0019] The seventh invention is a computer system in which, in the above-described computer system, the NPC information includes at least information indicating the NPC's profile regarding at least one of personality, tone of voice, values, knowledge, and preferences, the information retrieval means retrieves the reference information which includes at least the information indicating the profile, and the response information acquisition control means generates the generation instruction information which causes the generation unit to generate a response that conforms to the profile.
[0020] According to the seventh invention, the computer system can differentiate NPCs based on at least one of the following personality traits: character, tone of voice, values, knowledge, and preferences.
[0021] The eighth invention is a computer system further comprising the above-described computer system, an NPC information update control means for performing control to update the NPC information (for example, the NPC information update control unit 242 in Figure 11, the NPC information change definition data 540 in Figure 9, and step S70 in Figure 15).
[0022] According to the eighth invention, by updating the NPC information stored in the database to be searched by the information search means in the computer system, the reference information searched by the information search means changes, and as a result, the generation instruction information changes, and there is a possibility that the answer of the NPC changes.
[0023] The ninth invention is a computer system in which, in the above computer system, the NPC information update control means performs update control of the NPC information according to the number of executions of the answer of the NPC to the question information (for example, step S60 in FIG. 15).
[0024] According to the ninth invention, the computer system can update the NPC information according to the number of executions of the answer of the NPC.
[0025] The tenth invention is a computer system in which, in the above computer system, among the plurality of NPCs, answer NPC selection means for selecting an answer NPC that gives the answer (for example, answer NPC selection unit 222 in FIG. 11, step S12 in FIG. 14) is further provided, and the answer information acquisition control means acquires the answer information by giving the generation instruction information for the answer NPC to give the answer to the generation unit, and the NPC control means causes the answer NPC to give the answer.
[0026] According to the tenth invention, the computer system can select an answer NPC that gives an answer and cause the generation unit to generate answer information for the answer given by this answer NPC.
[0027] The eleventh invention is a computer system in which, in the above computer system, the answer NPC selection means selects the answer NPC based on the question information (for example, step S12 in FIG. 14).
[0028] According to the eleventh invention, the computer system becomes capable of selecting an answering NPC based on the question information. For example, if the user writes a question in a tone that addresses a specific NPC, it becomes possible to designate that specific NPC as the answering NPC.
[0029] The twelfth invention is a computer system in which the database further stores user information, which is information about the user (for example, user information 600 in Figure 10), and further comprises question information receiving means for receiving the question information from the user (for example, question information receiving unit 220 in Figure 11, step S10 in Figure 14), and the answer NPC selection means selects the answer NPC based on the user information.
[0030] According to the twelfth invention, the computer system becomes capable of selecting a response NPC based on user information received from the user.
[0031] The 13th invention is a computer system in which the database further stores past generated information indicating past question information and past answer information (for example, past generated information 605 in Figure 4), and the answer NPC selection means selects the answer NPC based on the past generated information.
[0032] According to the 13th invention, the computer system becomes capable of selecting the responding NPC based on previously generated information.
[0033] The fourteenth invention is a computer system further comprising the above-described computer system, wherein each NPC has a generation unit (for example, an NPC-specific generation AI 12 in Figure 17), and the response information acquisition control means acquires the response information by providing the generation instruction information to the generation unit corresponding to the responding NPC, and performs additional learning control means (for example, an additional learning control unit 250 in Figure 18) that controls the generation unit for each NPC to perform additional learning.
[0034] According to the 14th invention, the computer system can be further trained by having each NPC's generation unit learn additionally.
[0035] The fifteenth invention is a computer system in which the database further stores user information which is information about a user, and further comprises question information receiving means (for example, the question information receiving unit 220 in Figure 11, the question information 712 in Figure 12, and step S10 in Figure 14) that receives the question information from the user, the information retrieval means retrieves the reference information which includes at least some or all of the user information, and the answer information acquisition control means generates the generation instruction information based on the user information retrieved by the information retrieval means.
[0036] According to the 15th invention, a computer system becomes capable of generating generation instruction information based on user information.
[0037] The sixteenth invention is a computer system in which, in the above-described computer system, the user information includes the user's personal information, the information retrieval means retrieves the reference information which includes at least the personal information, and the response information acquisition control means generates the generation instruction information which causes the generation unit to generate a response whose content is in line with the personal information.
[0038] According to the 16th invention, a computer system becomes capable of generating generation instruction information based on the user's personal information.
[0039] The 17th invention is a computer system in which, in the above-described computer system, the user information includes response evaluation information that evaluates the past responses of the NPC (for example, response evaluation information in past response evaluation information 604 in Figure 4), the information retrieval means retrieves the reference information which includes at least the response evaluation information, and the response information acquisition control means generates the generation instruction information in a variable manner based on the response evaluation information.
[0040] According to the 17th invention, the computer system becomes capable of variably generating generation instruction information based on an evaluation of the NPC's past responses.
[0041] The 18th invention is a computer system in which, in the above-described computer system, the NPC is a character that appears in content playable by the user, and the response information acquisition control means generates the generation instruction information variably based on the play status of the content.
[0042] According to the 18th invention, a computer system can variably generate generation instruction information based on the content's play status.
[0043] The 19th invention is a computer system in which, in the above-described computer system, the database further stores past generated information indicating past question information and past answer information, the information retrieval means retrieves the reference information which includes at least the past generated information, and the answer information acquisition control means generates the generation instruction information based on the past generated information.
[0044] According to the 19th invention, a computer system becomes capable of generating generation instruction information based on previously generated information.
[0045] The 20th invention is a computer system in which, in the above-mentioned computer system, the response information acquisition control means is configured to refrain from providing the response information if the question information satisfies given response constraint conditions (for example, FALSE in step S32 of Figure 14 → step S80 of Figure 15).
[0046] According to the 20th invention, the computer system can make the NPC refrain from answering if the question information satisfies the answer constraints.
[0047] The 21st invention is a computer system further comprising: determination means for determining whether the response information needs to be modified (for example, the modification necessity determination unit 234 in Figure 11, and steps S34 to S38 in Figure 14); and response modification means for modifying the response information when the determination means determines that modification is necessary (for example, the generation AI 10 in Figure 1, and the response modification unit 236 in Figure 11); and the NPC control means controls the NPC to provide a response based on the response information modified by the response modification means when the determination means determines that modification is necessary.
[0048] According to the 21st invention, the computer system becomes capable of modifying the answer information.
[0049] The 22nd invention is a computer system further comprising determination means for determining whether or not to accept the response information (for example, the acceptance determination unit 232 in Figure 11, step S32 in Figure 14), wherein the NPC control means controls the NPC so as not to provide a response if the determination means determines that it should not be accepted, and to provide a response based on the response information only if it determines that it should be accepted.
[0050] According to the 22nd invention, the computer system can determine whether to accept or reject the answer information, and only allow the NPC to respond if it is determined to accept it.
[0051] The 23rd invention is a program for a computer system to control responses by an NPC (Non-Player Character) to a given question information, comprising: information retrieval means for searching reference information from a database that stores information including NPC information relating to the NPC; response information acquisition control means for performing control to acquire response information by providing generation instruction information to a generation unit that generates response information based on generation instruction information based on the question information and the reference information; and NPC control means for controlling the NPC to provide a response based on the response information.
[0052] According to the 23rd invention, it becomes possible to realize a program that makes a computer system perform the same functions as the first invention. [Brief explanation of the drawing]
[0053] [Figure 1] A system configuration diagram showing an example of a content delivery system. [Figure 2] A diagram illustrating an example of content. [Figure 3] A diagram illustrating the overview of the processing performed by the server system 1100, from the input of a question by the user to the answer provided by the NPC. [Figure 4] A diagram showing an example of the data structure of user information. [Figure 5] A diagram showing an example of the data structure for NPC information. [Figure 6] This diagram shows an example of the data structure for related information search condition definition data. [Figure 7] A diagram showing an example of generation instruction information. [Figure 8] A conceptual diagram explaining how to update NPC information. [Figure 9] This diagram shows an example of the data structure for NPC information update definition data. [Figure 10] A diagram showing examples of programs and data stored by a server system. [Figure 11] A diagram showing an example of the functional configuration of the server processing unit. [Figure 12] A diagram showing an example of the data structure of conversation control data. [Figure 13] A diagram showing an example of evaluation instruction information described in natural language. [Figure 14] A flowchart illustrating the processing flow related to an NPC's response to a single question executed by a server system. [Figure 15] Flowchart continuing from Figure 14. [Figure 16] A diagram illustrating variations of the content delivery system. [Figure 17] A diagram illustrating a modified example where each NPC has its own generated AI. [Figure 18] A diagram illustrating a modified example of the server processing unit. [Figure 19] A diagram illustrating variations of NPC information change definition data. [Figure 20] A diagram illustrating the LoRA training dataset. [Modes for carrying out the invention]
[0054] Examples of embodiments of the present invention will be described below, but it goes without saying that the embodiments to which the present invention can be applied are not limited to the following embodiments.
[0055] Figure 1 is a system configuration diagram showing an example of the configuration of a content provision system according to this embodiment. The content provision system 1000 is a computer system that provides virtual experience content to user 2. The content provision system 1000 provides a communication experience with a virtual character through gameplay as virtual experience content.
[0056] The content provision system 1000 is a computer system that includes a server system 1100 and user terminals 1500 for each user, all connected via a network 9 for data communication.
[0057] Network 9 refers to a communication path capable of data transmission. In other words, Network 9 includes not only LANs (Local Area Networks) using dedicated lines (dedicated cables) or Ethernet (registered trademark) for direct connections, but also telephone networks, cable networks, and the Internet.
[0058] The server system 1100 is a computer system that performs various processes such as managing and controlling registered user information and controlling content provision.
[0059] The server system 1100 has a control board 1150 mounted on the main unit 1101. The control board 1150 is equipped with various microprocessors such as a CPU (Central Processing Unit) 1151, a GPU (Graphics Processing Unit), and a DSP (Digital Signal Processor), various IC memories 1152 such as VRAM, RAM, and ROM, and a communication device 1153. Some or all of the functions mounted on the control board 1150 may be implemented using an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a SoC (System on a Chip).
[0060] The server system 1100 also has a database 1140 (or online storage).
[0061] In Figure 1, the server system 1100 is depicted as a single server device, but it may also be configured with multiple devices. For example, the server system 1100 may be configured with multiple server devices, each responsible for a specific function, connected to each other via an internal bus or network 9 for data communication.
[0062] The server system 1100 has a generating AI 10. The AI model of the generating AI 10 is a Large Language Model (LLM) implemented by deep learning based on hardware employing a multi-core architecture (for example, a group of GPUs and memory, a group of AI chips, etc.).
[0063] The generation AI 10 generates text data based on the given generation instruction information. Specifically, the Generative AI 10 is capable of accepting generation instruction information written in natural language, and is built as a machine learning AI model that takes question text and annotations as input and outputs answer text to the question. The Generative AI 10 generates answer text according to the generation conditions (prerequisites for generation) specified in the generation instruction information.
[0064] Furthermore, the generating AI10 generates response text that appears as if it were written by a respondent with a given personality, based on the text data (for example, example questions and answers) of the reference information (supplementary information) included in the generation instruction information. In other words, it generates response text that includes word choice, word connections, emotional expressions, and word endings that convey the "essence" of the respondent.
[0065] Furthermore, the AI10 generator has a self-regulation function. This self-regulation function restricts the content of the response and searches for whether the initially generated response contains inappropriate content. If inappropriate content is found, the initially generated response is replaced with a response stating "cannot answer." The definition of "inappropriate content" can be set as appropriate. For example, it may include hate speech, information concerning the privacy of real people, statements or information biased towards a particular religion or political ideology, statements or information that demean the dignity of others, confidential information, classified information, antisocial statements, statements that incite antisocial behavior, etc.
[0066] The generating AI 10 may be implemented with a single AI model, or it may be constructed using multiple sub-AI models. Each sub-AI model is constructed as an LLM, and it is also possible to prepare AI models that are good at answering questions in different genres (for example, for casual conversation, for game strategy advice, for life advice, etc.).
[0067] Figure 2 is a diagram illustrating an example of content. The content provision system 1000 provides a video game as content, in which a player character 4 and NPCs 5 (5a, 5b, ...) appear in a game space constructed in a virtual three-dimensional space. The game genre can be set as appropriate, but for example, as shown in game screen W2, it may be an action RPG (Role Playing Game) in which the story unfolds as the player character 4 and NPC 5 encounter and battle enemy NPCs 6.
[0068] During gameplay, User 2 can communicate with NPC 5 by having Player Character 4 speak to them. Specifically, User 2 performs a predetermined conversation start operation on User Terminal 1500 and inputs a question (a conversational sentence that initiates communication). The question can be entered either by using the on-screen software keyboard or by voice input.
[0069] When a question is entered, NPC5, who is being addressed, is controlled to respond based on the answer text generated by AI10 within the game. For example, suppose player user 2 asks player character 4, "This boss character is tough. Do you have any good strategies?" Then, one or more of the NPCs 5 will respond by explaining how to effectively use their items, pointing out what they believe to be the boss character's weak points, and so on. The responses will reflect the personalities of the NPCs 5. Some NPCs 5 will give blunt answers, while others will include words of encouragement before or after their answers.
[0070] Figure 3 is a diagram illustrating the overview of the processing performed by the server system 1100 from the input of a question by user 2 to the answer by NPC 5. When user 2 enters a question at user terminal 1500, server system 1100 searches for information related to the question and the NPC 5 being questioned from various information stored in IC memory 1152 or database 1140.
[0071] The search for related information includes user information 600, which contains various information linked to user 2; NPC information 620, which is prepared by type and more specifically by personality of NPC 5; and play status information 700, which contains various parameter values describing the game's progress. Since play status information 700 is created separately for each user 2, play status information 700 is also the second user information 600b.
[0072] Figure 4 shows an example of the data structure of user information 600. One user information 600 includes a user account 602, personal information 603, past response evaluation information 604, and content-related save data 606.
[0073] Personal information 603 includes personal information such as age, hobbies, and preferences, and is declared and set by the user 2 themselves when registering as a user.
[0074] Past response evaluation information 604 is created each time an answer is given by NPC5. Each past response evaluation information 604 stores the date and time of the answer, the question text data, the answer text data, and the response evaluation information, which is User 2's evaluation result of that answer. Each time NPC5 gives an answer on the game screen, User 2's evaluation input is received and stored as response evaluation information. Since the past response evaluation information 604 includes question text data and response text data, it can also be said that it is past generated information 605 that shows past questions and past answers.
[0075] Save data 606 contains character relationship information 608 for each NPC5, describing the relationship between player character 4 and NPC5. Each piece of character relationship information 608 includes the relationship target NPCID, which indicates which NPC5 the relationship pertains to, and a compatibility value. A higher compatibility value indicates better compatibility. The compatibility value may also be expressed as intimacy or a word indicating the relationship (for example, just a friend, best friend, someone I don't care about, someone who annoys me, etc.).
[0076] Figure 5 shows an example of the data structure of NPC information 620. NPC information 620 includes NPCID 621, which indicates the NPC's identification information, basic settings information 622, and profile information 630.
[0077] Basic setting information 622 is fixed setting information corresponding to the type of NPC5, such as character name, age, race, ability parameter values, skill type, etc.
[0078] Profile information 630 is information about various elements that may influence the personality of NPC5. For example, profile information 630 includes personality information 631, speech pattern information 632, values information 633, knowledge information 634, preference information 635, past experience information 636, etc. It may also include setting information for five trait factors that psychologically classify personality.
[0079] Personality information 631 is setting information regarding the personality of the NPC5, and is prepared separately for each personality type. Each personality information entry includes personality type, search priority, and personality description text data.
[0080] Personality types include, for example, calm, bold, and optimistic. The type to adopt can be set appropriately depending on the content and the role of the NPC5 in question. For example, several types of personality information 631 can be prepared as the initial settings for the NPC5, and then added or removed later.
[0081] The search priority for personality information 631 is set so that the higher the influence of the type on the NPC5's personality, the higher the priority. While there is an initial value for the search priority, it is variable.
[0082] The personality description text data is a description of the personality type in question. Specifically, it is a description that helps the LLM (Low Level Master) Generator AI10 understand the personality type in order to make it mimic that personality type. The level of detail in the description changes the information given to Generator AI10 (and thus its level of understanding), which is one of the reasons why NPC5s can differ even if they have the same personality elements.
[0083] Furthermore, if the generating AI 10 has already been trained to specify personality types in the generation conditions of the generation instruction information, the personality description text data may be omitted.
[0084] The speech pattern information 632 is setting information regarding the speech pattern of NPC5. Each speech pattern information 632 includes the speech pattern type, search priority, and speech pattern description text data.
[0085] Speech tone information 632 is basically provided in two forms: a normal tone and an emergency tone. The emergency tone is used when being questioned, shocked, or in situations that cause significant emotional distress. The search priority for speech tone information 632 is set higher for the normal tone than for the emergency tone.
[0086] The speech pattern description text data is a text that explains the type of speech pattern in question and serves as an example. It is a text intended to make the LLM (Low-Level Memory) Generator AI10 imitate the speech pattern and understand it. Depending on how detailed the description is, the information given to Generator AI10 (and therefore its level of understanding) will change, which can result in differences in sentence endings, personal pronouns, and names used by NPC5, even if they have the same speech pattern.
[0087] Furthermore, if the generating AI 10 has already been trained to allow the specification of tone in the generation conditions of the generation instruction information, the tone description text data may be omitted.
[0088] Value information 633 is setting information about the values that NPC5 possesses that are distinctive compared to others, and is prepared for each type of value. One value information 633 includes the value type, search priority, and value description text data. Value information 633 for average or normal values does not need to be set.
[0089] The search priority for value information 633 is set higher the greater the impact it has on the NPC5 in question.
[0090] The value explanation text data is a sentence that explains the type of value in question and serves as an example. It is a sentence that allows the LLM (Learning Leader Machine) Generating AI 10 to generate a response based on that value and to understand that value. Depending on how detailed the explanation is, the information given to Generating AI 10 (the level of understanding of Generating AI 10) will change, which can be one reason why conversations differ among NPCs 5 even if they share the same values. Note that if Generating AI 10 has already learned to specify values in the generation conditions of the generation instruction information, the value explanation text data may be omitted.
[0091] Knowledge information 634 is setting information about the knowledge possessed by NPC5, and is prepared by knowledge category and item. Each piece of knowledge information 634 includes the knowledge type, search priority, knowledge description text data, and applicable play status data.
[0092] The search priority for Knowledge Information 634 is set higher the deeper the knowledge is and the more confident NPC5 is in it.
[0093] Knowledge description text data is a sentence that describes the type of knowledge in question and is an example sentence. It is a sentence that is provided retrospectively to the generation AI 10, which is the LLM, regarding the knowledge, and is set appropriately according to the content. Since the content of this embodiment is an action RPG, the knowledge may include knowledge about the game world (for example, geography, information about countries and towns, how to use magic, item descriptions, the ecology of magical beasts, rumors, etc.) or game strategy advice.
[0094] The level of detail provided to the generating AI 10 (and thus its level of understanding) depends on how thoroughly the text used as knowledge description data is explained. As a result, depending on the type of knowledge, this can lead to differences in the depth and content of the knowledge incorporated into the conversation by NPC 5. Note that if the generating AI 10 has already learned to specify the type and depth of knowledge in the generation conditions for the generation instruction information, the knowledge description text data may be omitted.
[0095] The applicable play status data indicates the circumstances under which the knowledge in question comes to mind as part of NPC5's memory, and the circumstances under which it can be used in NPC5's dialogue. The applicable play status data is described as game progress. For example, it may be described using parameter values such as the player character 4's level, the type of NPC5 acting together, the type of game stage or event being played, whether in combat or not, and the status of player character 4 and NPC5, along with thresholds or ranges. Of course, wildcard settings are also possible.
[0096] The preference information 635 is setting information regarding the preferences of the NPC5, and is prepared for each type of preference that the NPC5 is characterized by. One piece of preference information 635 includes the preference type, the search priority, and the preference description text data.
[0097] The search priority for preference information 635 is set higher the more the NPC5 likes it.
[0098] The preference description text data is a sentence that explains the type of preference in question and serves as an example. It is a sentence that is provided retrospectively to the LLM (Learning Manager) Generating AI 10 regarding the preference, and is set appropriately according to the content. Depending on how detailed the sentence used as the preference description text data is, the information provided to Generating AI 10 (Generating AI 10's level of understanding) will change, and as a result, even if NPC 5 has the same preference, the level of enthusiasm for conversations about that preference will vary. Note that if Generating AI 10 has already learned to specify the type of preference in the generation conditions of the generation instruction information, the preference description text data may be omitted.
[0099] Past experience information 636 is setting information related to the experience of the NPC5 in question, and is prepared separately for each experience. It can be described as simulated memory or recollection information of the experience. One piece of past experience information 636 includes the experience type corresponding to the experience category, search priority, experience description text data, and applicable play status data.
[0100] The search priority for past experience information 636 is set higher the easier the experience is to recall, and higher the priority the greater the impact it had on NPC5.
[0101] The experience description text data is a sentence that explains the experience in question. It is a sentence that is provided retrospectively to the LLM (Low-Level Memory) generating AI 10 regarding the experience, and is set appropriately according to the content. Depending on how detailed the sentence used as the experience description text data is, the information provided to the generating AI 10 (the level of understanding of the generating AI 10) will change, and as a result, even if NPC 5 has similar experiences, the descriptions of those experiences woven into the conversation will change.
[0102] The applicable play status data specifies the game progress as a situation in which the relevant experience can be recalled. The applicable play status data may also be set as a wildcard, meaning it can be recalled at any time.
[0103] Returning to Figure 3, the server system 1100 searches for information related to the question and the NPC 5 being questioned from at least one of the following: user information 600, NPC information 620, and play status information 700.
[0104] Figure 6 shows an example of the data structure of the related information search condition definition data 520. The related information search condition definition data 520 defines the conditions for searching for information related to the question and the NPC 5 to whom the question was asked, from at least one of the following: user information 600, NPC information 620, and play status information 700. Multiple types of related information search condition definition data 520 are available according to the application requirements 522, and each is associated with at least one priority condition data 530, a search user information type 532, and a search play status information type 534.
[0105] Application requirement 522 indicates the conditions that must be met in order to select and adopt the relevant information search condition definition data 520, and is written by combining multiple subconditions with AND or OR. Subconditions that may be used include the question content keyword condition 523, the NPC preference condition 524, the user information related condition 525, and the play status related condition 526.
[0106] Question content keyword condition 523 specifies keywords that should be included in the question text.
[0107] NPC preference condition 524 is a condition about the preferences of the responding NPC, and is described using one or more preference types.
[0108] User information-related conditions 525 specify the conditions that must be met for various pieces of information included in user information 600. For example, the age range and gender of user 2 may be specified. If the requirement is that NPC 5 and user 2 have the same preferences, then the same type of preferences as NPC preference conditions 524 should be specified in user information-related conditions 525.
[0109] The play status-related conditions 526 specify the conditions that must be met for the various parameter values describing the play status information 700, i.e., the specific game progress that must be met.
[0110] Priority condition data 530 is prepared one or more times for each type of profile information related to the NPC5 to be searched, and specifies the search priority range for that type of profile information.
[0111] Search user information type 532 specifies which type of information from user information 600 should be searched as reference information. A search expression is also acceptable. The search type 534 for play status information specifies which type of information from the 700 play status information categories to search for as reference information. A search expression is also acceptable.
[0112] Returning to Figure 3, the server system 1100 adopts the priority conditions indicated by the priority condition data 530 of the related information search condition definition data 520 that satisfy the application requirement 522, and searches for related information from the NPC information 620.
[0113] Additionally, information related to user 2 who asked the question is searched from user information 600 and play status information 700 (second user information 600b). For example, answer evaluation information and the latest play status are searched.
[0114] The server system 1100 then generates generation instruction information 730 to be given to the generation AI 10. The generation instruction information 730 includes reference information 732. The reference information 732 includes search result NPC information 734, which is related information retrieved from NPC information 620, and search result user information 736, which is information retrieved from user information 600 and play status information 700.
[0115] Figure 7 shows an example of generation instruction information 730, which is an example of a prompt written in natural language. The LLM generation AI 10 understands the generation instruction information 730 written in natural language, and while referring to the reference information 732, applies the generation conditions 731 to generate a response sentence.
[0116] Reference information 732 includes profile information 630 regarding the personality settings of NPC5, the answering NPC. Although the generation AI 10 is shared by NPC5, the generated answers (statements) reflect the personality of NPC5. In other words, it is possible to generate answers that reflect the personality of each virtual character at a much lower cost than preparing a dedicated generation AI for each virtual character.
[0117] Figure 8 is a conceptual diagram illustrating the update of NPC information 620. When the given update implementation conditions are met, the server system 1100 generates a reflective question directed at NPC5.
[0118] The "update implementation conditions" can be set as appropriate, but for example, one or more of the following may be set in combination: 1) every time the NPC5 responds a predetermined number of times (for example, 20 times), 2) every time a predetermined period of time has elapsed, or 3) when the processing load of the server system 1100 is at a predetermined low load condition.
[0119] An "introspective question" is a question that prompts the respondent to objectively reflect on their own thoughts and values, and to examine themselves based on what they have learned. For example, "What do you think of <another NPC's character name>?" is one such introspective question. When NPC5 answers this, they gain a new confirmation or reaffirmation of their values regarding the other NPC in question (for example, like / dislike, respect, despise, etc.). Of course, since NPC5 is not a real person, introspection does not automatically update NPC5's values (one of the profile information items 630). Therefore, the server system 1100 performs this task on their behalf.
[0120] Specifically, the server system 1100 searches for relevant information based on the content of the introspective question, similar to the question asked by user 2 mentioned above, generates generation instruction information 730 that includes this information as reference information 732, and provides this to the generation AI 10 to obtain a response. This is referred to as the "introspective response." However, unlike the question asked by user 2 mentioned above, NPC 5 does not speak the introspective response obtained here.
[0121] The server system 1100 has pre-stored multiple NPC information change definition data 540 as shown in Figure 9. Each NPC information change definition data 540 stores application requirements 542 that indicate the matters that must be met for the definition data to be applied, and profile information update data 546.
[0122] Application requirement 542 is written by combining one or more subconditions with AND or OR. Examples of subconditions include the reflective question keyword condition 543, the reflective answer affirmative keyword condition 544, and the reflective answer negative keyword condition 545.
[0123] Condition 544 for positive keywords in reflective responses is a condition that must be met regarding the number and types of positive words included in the reflective response. Condition 545 for negative keywords in reflective responses specifies the number and types of negative words that must be met in the reflective response.
[0124] Profile information update data 546 specifies whether or not to add, delete, or update the profile information 630 of NPC information 620 when the application requirement 542 is met. The profile information update data 546 stores the update type, which indicates whether to perform a partial update, addition, or deletion, the type of profile information to be updated, the type of data to be updated, and the data to be updated, in association with each other. The type of profile information to be updated indicates whether to update personality information 631, speech pattern information 632, etc. The data types to be updated indicate either search priority, descriptive text data, or both.
[0125] Returning to Figure 8, the server system 1100 updates the NPC information 620 of the responding NPC 5 according to the profile information update data 546 of the NPC information change definition data 540 that satisfies application requirement 542. In the example in Figure 8, it is shown that new value information 633x is added to the NPC information 620 (620a).
[0126] When NPC Information 620's Profile Information 630 is updated, the next time NPC5 becomes a responding NPC, this updated Profile Information 630 will be searched as related information. Depending on the updated content, even if the answer is to the same question, it may be different from the previous answer (for example, an answer with a different tone of voice). Therefore, it becomes easy to bring about changes in the personality of a virtual character like NPC5, just as it would for a real person.
[0127] Figure 10 shows an example of programs and data stored by the server system 1100. The server system 1100 stores the server program 501 and the distribution client program 503, which is the original client program to be provided to the user terminal 1500, in the IC memory 1152. The server program 501 may include one or more generation AI programs 502 to realize the function of generation AI 10. Alternatively, the generation AI programs 502 may be stored separately from the server program 501.
[0128] The server system 1100 also stores content initial setting data 510, the trained AI model 514 of the generating AI 10, related information search condition definition data 520, and NPC information change definition data 540. It also stores introspective question definition data 560, user information 600, NPC information 620, and play status information 700. User information 600 and NPC information 620 are stored in the database 1140, but they may also be stored in the IC memory 1152.
[0129] The server system 1100 performs the server program 501 and calculates the results on the CPU 1151, thereby realizing the function of the server processing unit 200s shown in Figure 11.
[0130] The server processing unit 200s performs various controls related to content provision, controls the responses of NPC5 to question information, and so on.
[0131] Specifically, the server processing unit 200s stores the user registration control unit 202, the content control unit 210, the question information receiving unit 220, the answer NPC selection unit 222, the information retrieval unit 224, the answer information generation unit 228, and the answer information acquisition control unit 230.
[0132] Furthermore, the server processing unit 200s includes an adoption determination unit 232, a correction necessity determination unit 234, a response correction unit 236, an NPC control unit 238, a previously generated information storage control unit 240, and an NPC information update control unit 242.
[0133] The user registration control unit 202 performs various processes related to the registration procedure for user 2. During the registration procedure, the user registration control unit 202 accepts input of personal information 603 (see Figure 4).
[0134] The content control unit 210 controls the progress of the content. In this embodiment, the content controls the game progress as an action RPG. The content control unit 210 is involved in automatic control within the game and includes an event origin question information generation unit 212.
[0135] The event-origin question information generation unit 212 generates question information from NPC5 when an event occurs that includes a conversation between NPC5s.
[0136] The question information receiving unit 220 receives question information from user 2. This includes the control related to receiving the question text from user 2.
[0137] The Answer NPC Selection Unit 222 selects an answering NPC from among multiple NPCs 5. Specifically, if the question text contains a keyword that directs the question to a specific NPC 5, the Answer NPC Selection Unit 222 selects that specific NPC 5 as the answering NPC. If the question text does not direct the question to a specific NPC 5, the Answer NPC Selection Unit 222 selects an answering NPC from among the NPCs 5 acting with the player character 4. In this case, if there is only one NPC 5 acting with the player character 4, that NPC 5 is selected as the answering NPC. If there are multiple NPCs 5 acting together, one of them is selected as the answering NPC based on user information 600 (see Figure 4) or NPC information 620 (see Figure 5).
[0138] The information retrieval unit 224 retrieves reference information from the database 1140, which stores information including NPC information 620 related to NPC5, as information related to the question information. Specifically, the information retrieval unit 224 has a priority condition setting unit 226 that sets priority conditions for retrieving reference information (see Figure 6). The information retrieval unit 224 searches for information that satisfies predetermined priority conditions and includes it in the reference information.
[0139] The response information generation unit 228 generates response information. The generation AI 10 is responsible for this.
[0140] The response information acquisition control unit 230 generates generation instruction information 730 to cause the generation AI 10 to generate a response that conforms to the profile of the NPC 5 to answer, based on the question information and reference information, and performs control to acquire the response information by providing the generation instruction information 730 to the given generation AI 10.
[0141] The adoption determination unit 232 determines whether or not to adopt the response information. Specifically, the generation AI 10 has a self-regulation function (see Figure 1), and if it generates a response that violates the regulations, it is designed to discard that response and provide a predetermined response for violations stating "I cannot answer." When the adoption determination unit 232 obtains this response for violations from the generation AI 10, it determines that it will not adopt the response.
[0142] The correction necessity determination unit 234 determines whether correction is necessary for the response information. It determines whether the content of the response information is appropriate as an answer to the question.
[0143] The response correction unit 236 corrects the response information if the correction necessity determination unit 234 determines that correction is necessary. Specifically, it causes the generation AI 10 to regenerate the response.
[0144] The NPC control unit 238 controls the NPC 5 to provide a response based on the response information.
[0145] The past generated information storage control unit 240 controls the storage of past generated information 605 (see Figure 4), which indicates past question information and past answer information.
[0146] The NPC information update control unit 242 performs control to update the NPC information 620. The NPC information update control unit 242 has a search priority changing unit 256.
[0147] The search priority modification unit 256 modifies the search priority included in the profile information 630 of the NPC information 620 (see Figure 9).
[0148] Returning to Figure 10, the content initial setup data 510 stores various initial setup data necessary for content provision. For example, the content initial setup data 510 stores one or more NPC conversation event definition data 512. One NPC conversation event definition data 512 stores various data that defines a conversation event between NPCs 5. For example, it stores the event activation conditions, the question NPC type indicating the NPC 5 asking the question, the answer NPC type indicating the NPC 5 answering, and the question text data.
[0149] The reflective question definition data 560 is provided for each type of reflective question and stores data for generating reflective questions. For example, it may be text data of the reflective questions.
[0150] The play status information 700 stores progress and latest information related to the content's gameplay. For example, the play status information 700 includes player character definition data 702, NPC control data 704, and conversation control data 710 which stores various data related to conversations with NPC 5.
[0151] Figure 12 shows an example of the data structure of the conversation control data 710. The conversation control data 710 includes question information 712, the type of responding NPC 714, related information 720, generation instruction information 730, response information 740, and evaluation instruction information 750. Of course, other information may also be included as appropriate.
[0152] Question information 712 includes the question type, the date and time of the question, and the text data of the question. The question type indicates whether the question originated with User 2, NPC 5 (derived from an NPC conversation event), or is a reflective question.
[0153] Response information 740 is the text data of the response. If question information 712 is a reflective question, then response information 740 corresponds to reflective response information 742.
[0154] The evaluation instruction information 750 is an instruction to cause the generating AI 10 to perform an evaluation of whether the content of the answer shown in the response information 740 is appropriate as an answer to the question. For example, Figure 13 shows an example of evaluation instruction information 750 described in natural language. The evaluation instruction information 750 includes generation conditions 751 and reference information 752.
[0155] Figures 14 and 15 are flowcharts illustrating the processing flow related to the NPC5's response to a single question executed by the server system 1100. As shown in Figure 14, the server system 1100 receives or generates question information. That is, the server system 1100 detects a predetermined conversation start operation by user 2 at user terminal 1500 and accepts the input of a question sentence. Alternatively, it refers to NPC conversation event definition data 512 (see Figure 10) that has met the event activation conditions and selects a question sentence to be spoken by the NPC 5 asking the question in response to the occurrence of a conversation event between multiple NPCs 5.
[0156] Next, the server system 1100 selects a responding NPC (step S12). Specifically, if the server system 1100 contains keywords that direct the question to a specific NPC5, it selects that specific NPC5 as the answering NPC.
[0157] If the question does not specifically address NPC5, select an answering NPC from among the NPC5s acting alongside player character 4.
[0158] If there is only one NPC5 acting together, the server system 1100 selects that NPC5 as the responding NPC. If there are multiple NPC5 acting together, the server system 1100 selects one of them as the responding NPC based on user information 600 (see Figure 4) or profile information 630 (see Figure 5).
[0159] For example, if there are multiple NPCs 5 acting together, the server system 1100 may refer to the character relationship information 608 (see Figure 4) in the user information 60 and select an NPC 5 whose compatibility value is above the standard and whose intimacy level is above the standard. Alternatively, based on past response evaluation information 604, the server system 1100 may select the NPC 5 with the highest response evaluation as the responding NPC, or it may select an NPC 5 that has never responded before as the responding NPC.
[0160] For example, if there are multiple NPCs 5 acting together, the server system 1100 may, if the question text concerns game strategy, select an NPC 5 from the knowledge information 634 (see Figure 5) in the profile information 630 whose applicable play status data matches or is similar to the current play status as the answering NPC. Alternatively, the server system 1100 may select an NPC 5 from the past experience information 636 (see Figure 5) in the profile information 630 whose applicable play status data matches or is similar to the current play status as the answering NPC.
[0161] Furthermore, if NPC conversation event definition data 512 (see Figure 10) is referenced, the server system 1100 will select a responding NPC according to that definition data.
[0162] Next, the server system 1100 sets the priority conditions (step S14) by referring to the priority condition data 530 of the related information search condition definition data 520 that satisfies the application requirement 522 (see Figure 6). It also sets the type of information to be searched from among the user information 600 and play status information 700 (second user information 600b) as related information.
[0163] The server system 1100 then searches for related information 720 (see Figure 12; step S16) and generates generation instruction information 730 (step S18). At this time, the randomness parameter value of the generation condition 731 is set to a predetermined initial value (see Figure 7).
[0164] Next, the server system 1100 provides the generation instruction information 730 to the generation AI 10, causing it to generate and obtain the response information 740 (step S30). Since the generation AI 10 is equipped with a self-regulation function, if the initially generated response violates the regulations, the response information 740 is automatically replaced with content indicating "cannot answer".
[0165] The server system 1100 determines whether or not to accept the response information 740 (step S32). If the response information 740 does not contain a statement indicating "cannot answer", the server system 1100 determines "accept (YES)" (TRUE in step S32) and generates evaluation instruction information 750 (step S34; see Figure 13).
[0166] Then, the server system 1100 provides evaluation instruction information 750 to the generation AI 10 to obtain multiple hypothetical question sentences and the similarity between the content of each hypothetical question sentence and the content of the question sentence indicated by the question information 712 received or generated in step S10 (step S36).
[0167] Next, the server system 1100 determines whether there are any hypothetical question sentences whose similarity meets a predetermined passing standard (step S38).
[0168] If there are no hypothetical question sentences that meet the passing criteria, the server system 1100 determines that the content of the answer information 740 is inappropriate or insufficient as an answer to the question information 712, i.e., it needs to be corrected (NO in step S38). Then, the server system 1100 changes the randomness parameter value of the generation instruction information 730 (see Figure 7) to slightly increase the randomness from the initial value (step S40), and returns to step S30. In other words, it causes the generation AI 10 to regenerate the answer.
[0169] If there is a hypothetical question that meets the passing criteria, the server system 1100 determines that the answer content of answer information 740 is appropriate as an answer to the question in question information 712, that is, it does not require modification (YES in step S38).
[0170] Moving to Figure 15, the server system 1100 causes the responding NPC to make a response (step S50). For example, a speech bubble is displayed for NPC5, the responding NPC shown on the screen, and the response text is displayed in the speech bubble. Alternatively, the system may play an audio recording of NPC5 reading the response text aloud.
[0171] Next, the server system 1100 receives the user 2's evaluation of the response (step S52) and stores the previously generated information 605 (see Figure 4) (step S54).
[0172] Next, the server system 1100 determines whether or not it is time to update the NPC information 620 (step S60). For example, each time the amount of previously generated information 605 increases by a predetermined number (e.g., "10"), it may be considered time to update.
[0173] If it determines that it is time to update (YES in step S60), the server system 1100 generates a reflective question (step S62) and searches for related information 720 (step S64). Then it generates generation instruction information 730 to generate an answer to the reflective question (step S66), and provides this to the generation AI 10 to obtain answer information 740 which will become the reflective answer information 742 (see Figure 12; step S68).
[0174] Next, the server system 1100 modifies the NPC information 620 of NPC5, which is the responding NPC, according to the profile information update data 546 of the NPC information change definition data 540 (see Figure 9) which satisfies the application requirement 542 (step S70). Depending on the profile information update data 546, the profile information 630 of the NPC information 620 and the search priority included therein will also be changed. Then, the server system 1100 terminates the series of processes.
[0175] On the other hand, if the response information 740 is deemed unacceptable (FALSE in step S32), the server system 1100 has the responding NPC, NPC5, make a statement or gesture indicating that it "cannot answer" (step S80), and terminates the series of processes.
[0176] In summary, according to this embodiment, it becomes possible to reduce costs and provide a new technology that allows for appropriate, human-like changes in the personality of a virtual character when realizing the responses of a virtual character using LLM's generation AI.
[0177] In other words, the server system 1100 can generate generation instruction information for the generation AI 10 to generate an answer to a question, based on the NPC information 620 referenced from the database 1140, and obtain answer information 740.
[0178] In the case of generation AI10, especially LLM, the original answer generated based on the generation conditions (prerequisites for generation) specified by generation instruction information 730 is modified as appropriate to have the characteristics indicated by the reference information and then output. Alternatively, the reference information is considered from the beginning, and an answer having the characteristics indicated by the reference information is generated and output.
[0179] In other words, by including information describing NPC5's personality in NPC information 620 and managing it according to NPC5's personality, it becomes possible to have the generating AI 10 generate response information 740 that corresponds to NPC5's personality.
[0180] Therefore, it becomes possible to generate responses from virtual characters (NPC5) with various personalities at a much lower cost than preparing a separate trained AI model 514 for each NPC of the generating AI 10. Furthermore, by appropriately changing the NPC information 620, it becomes possible to give these NPC5 personalities appropriate human-like variations.
[0181] [Variation] Although examples of embodiments to which the present invention is applied have been described above, the forms to which the present invention can be applied are not limited to the above forms, and it is possible to add, omit, or change the components as appropriate.
[0182] (Variation 1) For example, although the content provision system 1000 was exemplified as a client-server type, multiple user terminals 1500 may be implemented using a P2P (Peer to Peer) architecture. In this case, programs and data corresponding to the functional division are stored in the user terminals 1500, and the functions corresponding to the server processing unit 200s in the above embodiment are implemented in a distributed manner across the user terminals 1500, which act as P2P nodes. The same effects as in the above embodiment can be obtained with this configuration as well.
[0183] (Variation 2) In the above embodiment, the server system 1100 is exemplified as having a generation AI 10, but it is not limited to this configuration. As shown in the content provision system 1000B in Figure 16, the user terminal 1500B may also have these generation AIs 10. In this configuration, the server system 1100B transmits various instruction information to the AI of the user terminal 1500B via the network 9 to acquire data.
[0184] (Variation 3) Furthermore, in the above embodiment, the content provision system 1000 may be implemented not as a client-server type, but as a single computer system that was designated as the user terminal 1500 in the above embodiment.
[0185] Specifically, the user terminal 1500B in Figure 16 stores all the data that the server system 1100 in the above embodiment is supposed to store (see Figure 10). However, instead of the server program 501 and the distribution client program 503, a content provision program is provided as an application program for the user terminal 1500.
[0186] In the above embodiment, the content provision program implements all of the functional units of the server system 1100 (see Figure 11) on the user terminal 1500B. In this modified example, the content provision program is executed on the user terminal 1500B. The processing flow in the above embodiment (see Figures 14 to 15) can be interpreted by replacing the execution entity from the server system 1100 to the user terminal 1500B.
[0187] (Modification #4) Furthermore, in the above embodiment, the generated AI 10 was shared among different types of NPCs 5, but it is also possible to have a configuration in which a generated AI 10 is prepared for each type of NPC 5. For example, as shown in Figure 17, the generating AI 10 and the trained AI model 514 (or its base model) are fine-tuned in advance to prepare NPC-specific generating AIs 12 (12a, 12b, ...) and NPC-specific trained AI models 516 (516a, 516b, ...). Then, the server system 1100 generates generation instruction information 730 for the NPC-specific generating AI 12 of the NPC 5 selected as the responding NPC, provides this information, and obtains the response information 740.
[0188] The NPC-specific AI12 realizes some profile elements such as personality, tone of voice, and values by differentiating the weights of the Transformer model. Therefore, in this configuration, the NPC information 620 omits information about profile elements realized by weight differences from the profile information 630 (see Figure 5).
[0189] The profile elements resulting from the weighting differences are modified by fine-tuning (additional training) the NPC-specific trained AI model 516 of the responding NPC, NPC5 (NPC5a in the example in Figure 17). The additional training method can be selected as appropriate, but for example, LoRA (Low-Rank Adaptation) may be used.
[0190] Specifically, as shown in Figure 18, the server processing unit 200s implemented in the server system 1100C of this configuration performs control to additionally train generation AI (NPC-specific generation AI 12) for each NPC, instead of the NPC information update control unit 242 (see Figure 11) in the above embodiment.
[0191] Furthermore, the server system 1100C in this configuration stores NPC information change definition data 540C as shown in Figure 19, instead of the NPC information change definition data 540 (see Figure 9) in the above embodiment. The NPC information change definition data 540C basically has the same application requirements 542 as the NPC information change definition data 540, but stores profile information update data 546C and LoRA learning dataset 570. Therefore, the NPC information change definition data 540C also serves as additional learning definition data 541 that defines the content of additional learning.
[0192] Profile information update data 546C is prepared for updating profile elements other than those realized by differences in the weighting of the neural network in the transformer model. For example, in a configuration where differences in personality, tone of voice, and values are realized by differences in weighting, profile information update data 546C would be prepared for updating profile elements such as knowledge, preferences, and past experiences.
[0193] Figure 20 shows an example of a LoRA training dataset 570 described in natural language. The LoRA training dataset 570 may also be described, for example, by including example sentences 572 written in the format of a question from a user to an NPC5 and an answer from the NPC5, and reference information 574.
[0194] The NPC-specific AI 12 learns example sentence 572 from the given LoRA training dataset 570 and undergoes further training to enable it to generate response sentences similar to example sentence 572. As a result, the NPC-specific trained AI model 516 will begin to include in its response sentences the personality traits described in example sentence 572 for the NPC 5 (in the illustrated example, gentle and positive). [Explanation of symbols]
[0195] 2…User 4…Player Mission 5…NPC 10…Generation AI 12…NPC generation AI 200s... Server Processing Unit 210...Content Control Unit 220... Question and Information Reception Department 222... Answer NPC Selection Section 224... Information Retrieval Department 226... Superiority Condition Setting Section 230...Response Information Acquisition Control Unit 232…Recruitment Judgment Department 234...Revision necessity determination section 236…Answer correction section 238...NPC Control Unit 240... Past Generation Information Storage Control Unit 242...NPC Information Update Control Unit 250... Additional Learning Control Unit 256... Search priority change section 501…Server program 514... Pre-trained AI models 516... Pre-trained AI models for each NPC 520... Related information search condition definition data 530… Advantageous Conditions Data 532... Search user information type 534... Search Play Status Information Type 540…NPC Information Change Definition Data 541... Additional training definition data 546…Profile information update data 560… Introspective Question Definition Data 570…Training dataset 600... User Information 603... Personal Information 604…Past Answer Evaluation Information 605…Past generation information 620...NPC Information 630…Profile Information 700... Play status information 710...Conversation control data 712... Question Information 714…Answer NPC type 720... Related Information 730…Generation instruction information 732…Reference information 734... Search Results NPC Information 736… Search Results User Information 740…Answer information 1000... Content delivery system 1100…Server System 1140…Database 1500... User terminal
Claims
1. A computer system that controls the responses of NPCs (Non-Player Characters) to given question information, Information retrieval means for retrieving reference information from a database that stores information including NPC information relating to the aforementioned NPC, A response information acquisition control means that generates generation instruction information based on the aforementioned question information and the aforementioned reference information, and controls the acquisition of response information by providing the said generation instruction information to a generation unit that generates response information based on the said generation instruction information, NPC control means for controlling the NPC to provide a response based on the aforementioned response information, A computer system equipped with the following features.
2. The information retrieval means searches for the reference information based on the question information. The computer system according to claim 1.
3. The information retrieval means searches for the reference information as information related to the question information. The computer system according to claim 1.
4. The aforementioned database stores information with a corresponding search priority. The information retrieval means searches for information that satisfies predetermined priority conditions and includes it in the reference information. The computer system according to claim 1.
5. means for setting the aforementioned advantage conditions, The computer system according to claim 4, further comprising:
6. Search priority changing means for changing the search priority, The computer system according to claim 4, further comprising:
7. The aforementioned NPC information includes at least information that shows the profile of the NPC regarding at least one of the following: personality, tone of voice, values, knowledge, and preferences. The information retrieval means retrieves the reference information which includes at least the information indicating the profile, The response information acquisition control means generates the generation instruction information for causing the generation unit to generate a response that conforms to the profile. The computer system according to claim 1.
8. NPC information update control means for performing control to update the aforementioned NPC information, The computer system according to claim 1, further comprising:
9. The NPC information update control means performs update control of the NPC information according to the number of times the NPC has performed an answer to the question information. The computer system according to claim 8.
10. A response NPC selection means for selecting a response NPC from among a plurality of NPCs that will provide the response. Furthermore, The response information acquisition control means acquires the response information by providing the generation instruction information for the response NPC to provide a response to the generation unit. The NPC control means causes the responding NPC to provide the response. The computer system according to claim 1.
11. The aforementioned response NPC selection means selects the response NPC based on the question information. The computer system according to claim 10.
12. The aforementioned database further stores user information, which is information about the user. Question information receiving means for receiving the question information from the user, Furthermore, The aforementioned response NPC selection means selects the response NPC based on the user information. The computer system according to claim 10.
13. The database further stores past generated information indicating past question information and past answer information. The aforementioned response NPC selection means selects the response NPC based on the previously generated information. The computer system according to claim 10.
14. Each of the aforementioned NPCs has the aforementioned generation unit. The response information acquisition control means acquires the response information by providing the generation instruction information to the generation unit corresponding to the response NPC, An additional learning control means that controls the generation unit for each NPC to perform additional learning. The computer system according to claim 10, further comprising:
15. The aforementioned database further stores user information, which is information about the user. Question information receiving means for receiving the question information from the user, Furthermore, The information retrieval means retrieves the reference information which includes at least some or all of the user information, The response information acquisition control means generates the generation instruction information based on the user information retrieved by the information retrieval means. The computer system according to claim 1.
16. The user information includes the user's personal information, The information retrieval means retrieves the reference information which includes at least the personal information, The response information acquisition control means generates the generation instruction information for causing the generation unit to generate a response with content consistent with the personal information. The computer system according to claim 15.
17. The user information includes response evaluation information that evaluates the NPC's past responses, The information retrieval means retrieves the reference information which includes at least the response evaluation information, The response information acquisition control means generates the generation instruction information in a variable manner based on the response evaluation information. The computer system according to claim 15.
18. The aforementioned NPC is a character that appears in the content playable by the user. The response information acquisition control means generates the generation instruction information variably based on the play status of the content. The computer system according to claim 15.
19. The database further stores past generated information indicating past question information and past answer information. The information retrieval means retrieves the reference information which includes at least the previously generated information, The response information acquisition control means generates the generation instruction information based on the previously generated information. The computer system according to claim 1.
20. The aforementioned response information acquisition control means includes a statement indicating that if the question information satisfies a given response constraint condition, the response information will be withheld. The computer system according to claim 1.
21. A determination means for determining whether the aforementioned response information needs to be corrected, A response correction means for correcting the response information when the determination means determines that correction is necessary, Furthermore, The NPC control means controls the NPC to provide a response based on the response information after it has been corrected by the response correction means, when the determination means determines that correction is required. The computer system according to claim 1.
22. A determination means for determining whether or not to adopt the aforementioned response information, Furthermore, The NPC control means controls the NPC so that it does not provide a response if the determination means determines that it is not accepted, and only provides a response based on the response information if it determines that it is accepted. The computer system according to claim 1.
23. A computer system program for controlling the responses of NPCs (Non-Player Characters) to given question information, Information retrieval means for searching reference information from a database that stores information including NPC information relating to the aforementioned NPC, A response information acquisition control means that generates generation instruction information based on the aforementioned question information and the aforementioned reference information, and controls the acquisition of response information by providing the generation instruction information to a generation unit that generates response information based on the said generation instruction information. NPC control means for controlling the NPC to provide a response based on the aforementioned response information, A program for causing the aforementioned computer system to function.
Citation Information
Patent Citations
Virtual character creating system as preliminary stage of project by virtual character
JP2021028792A