Character-based chatbot platform
Patent Information
- Application Number
- JP2023125153
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-31
- Publication Date
- 2025-02-13
AI Technical Summary
【0008】 本発明によれば、複数事業者の各々により活用可能な、スケーラビリティのあるチャットボットプラットフォームを提供することができる。
Smart Images

Figure 2025021321000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a character-based chatbot platform. [Background technology]
[0002] Conventionally, businesses have attempted to improve customer experience by providing users with an opportunity to converse with chatbots via a chat user interface in conjunction with the services they provide to users. In particular, the need for introducing chatbots is expanding due to the technological evolution and rapid spread of large-scale language models.
[0003] Among these efforts, there are attempts to provide opportunities to converse with chatbots that are not machines but are more human-like. For example, technology related to persona chatbots is disclosed in Patent Document 1. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0005] However, the technology disclosed in Patent Document 1 relates to a technology in which a specific business operator provides a persona chatbot to users who are the target of the service, and does not anticipate the introduction of customized chatbots to each of multiple businesses.
[0006] Therefore, an object of the present invention is to provide a scalable chatbot platform that can be utilized by multiple businesses. [Means for solving the problem]
[0007] In one aspect of the present invention, there is provided a method for supporting conversations with a user by a chatbot customized for multiple businesses, executed by a server terminal, wherein a control unit of the server terminal receives a question from the user's user terminal via a chat interface, generates an answer to the question based on a large-scale language model, and regenerates the answer by referring to personality data and prompt sentences related to personalities set for each of the multiple businesses. Effect of the Invention
[0008] According to the present invention, it is possible to provide a scalable chatbot platform that can be utilized by multiple businesses. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a block diagram showing a system for supporting conversations between a chatbot and a user according to a first embodiment of the present invention. [Diagram 2] 2 is a functional block diagram showing the server terminal 100 of FIG. 1. [Diagram 3] 2 is a functional block diagram showing a user terminal 200 of FIG. 1. [Figure 4] FIG. 2 is a diagram showing an example of user data stored in the server 100. [Diagram 5] FIG. 2 is a diagram showing an example of chatbot data stored in the server 100. [Figure 6] 1 is a flowchart illustrating an example of a method for supporting a conversation between a chatbot and a user according to a first embodiment of the present invention. [Figure 7] 4 is an example of a chat interface screen displayed on a user terminal according to the first embodiment of the present invention. [Figure 8] 13 is another example of a chat interface screen displayed on a user terminal according to the first embodiment of the present invention. [Figure 9]10 is a flowchart illustrating another example of a method for supporting a conversation between a chatbot and a user according to the first embodiment of the present invention. [Figure 10] 11 is a flowchart illustrating yet another example of a method for supporting a conversation between a chatbot and a user according to the first embodiment of the present invention. [Figure 11] 11 is a flowchart illustrating yet another example of a method for supporting a conversation between a chatbot and a user according to the first embodiment of the present invention. [Figure 12] 11 is a flowchart illustrating yet another example of a method for supporting a conversation between a chatbot and a user according to the first embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. Note that the embodiment described below does not unduly limit the contents of the present invention described in the claims. Furthermore, not all of the components shown in the embodiment are necessarily essential components of the present invention.
[0011] <Configuration> FIG. 1 is a block diagram showing a system for supporting a conversation with a user by a chatbot according to a first embodiment of the present invention. The system 1 includes a server terminal 100 managed by a chatbot platform operator, user terminals 200A and 200B managed by users, and operator terminals 300A and 300B managed by local governments, service operators, and other operators, which execute a process of accepting, for example, a predetermined question sentence about products and services for an operator from a user, analyzing the question sentence using a large-scale language model (for example, Chat GPT), and outputting an answer sentence to the question sentence via a chatbot. For convenience of explanation, each terminal is described as a single terminal or a specific number of terminals, but the number of each terminal is not limited.
[0012] The server terminal 100, the user terminals 200A and 200B, and the operator terminals 300A and 300B are each connected via a network NW1. The network NW is configured by the Internet, an intranet, a wireless LAN (Local Area Network), a WAN (Wide Area Network), or the like.
[0013] The server terminal 100 and the operator terminals 300A, 300B may be, for example, general-purpose computers such as workstations or personal computers, or may be configured using cloud computing, or a cluster or multicomputer consisting of multiple computers, or a virtual machine or quantum computer virtually constructed using software.
[0014] The user terminals 200A and 200B are, for example, information processing devices such as personal computers and tablet terminals, but may also be configured as smartphones, mobile phones, PDAs, or the like.
[0015] In this embodiment, the system 1 is described as having a server terminal 100, user terminals 200A, 200B, and business operator terminals 300A, 300B, and a configuration in which users of each terminal use their respective terminals to operate the server terminal 100, but the server terminal 100 may be configured as a stand-alone system, and the server terminal itself may have a function for each user to directly operate it. Hereinafter, as necessary, the user terminals 200A, 200B will be collectively referred to as the user terminal 200, and the business operator terminals 300A, 300B will be collectively referred to as the business operator terminal 300.
[0016] Fig. 2 is a functional block configuration diagram of the server terminal 100 of Fig. 1. The server terminal 100 includes a communication unit 110, a storage unit 120, and a control unit .
[0017] The communication unit 110 is a communication interface for communicating with the user terminal 200 and the operator terminal 300 via the network NW1, and communication is performed according to a communication protocol such as TCP / IP (Transmission Control Protocol / Internet Protocol).
[0018] The storage unit 120 stores programs for executing various control processes and functions in the control unit 130, input data, etc., and is composed of a RAM (Random Access Memory), a ROM (Read Only Memory), etc. The storage unit 120 also has a user data storage unit 121 that stores various data related to users, and a chatbot storage unit 122 that stores conversation history and product information for each business. A database (not shown) that stores various data may be constructed outside the storage unit 120 or the server terminal 100.
[0019] The control unit 130 controls the overall operation of the server terminal 100 by executing a program stored in the storage unit 120, and is composed of a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), etc. Functions of the control unit 130 include an information receiving unit 131 that receives information from each user terminal, and an information processing unit 132 that processes the information. The information receiving unit 131 and the information processing unit 132 are started by a program stored in the storage unit 120 and executed by the server terminal 100, which is a computer (electronic calculator).
[0020] The information receiving unit 131 receives information from the user terminal 200 via the communication unit 110. For example, a question regarding a predetermined product and / or service, etc. is received from the user terminal 200 via a chat interface displayed on the user terminal 200.
[0021] The information processing unit 132 performs predetermined information processing, such as analyzing a question received from the user terminal 200 and generating a response to the question.
[0022] The control unit 130 may also have a screen generation unit (not shown), which generates screen information to be displayed via the user interface of the user terminal 200 upon request. For example, using image and text data (not shown) stored in the storage unit 120 as material, the control unit 130 generates a user interface by arranging various images and text in predetermined areas of the user interface based on predetermined layout rules. Processing related to the image generation unit may also be executed by a GPU (Graphics Processing Unit).
[0023] Fig. 3 is a functional block diagram showing the user terminal 200 of Fig. 1. The user terminal 200 includes a communication unit 210, a display operation unit 220, a storage unit 230, and a control unit 240.
[0024] The communication unit 210 is a communication interface for communicating with the server terminal 100 via the network NW, and communication is performed according to a communication protocol such as TCP / IP.
[0025] The display operation unit 220 is a user interface used for inputting instructions by the provider, analyzing the input data according to the input data such as text, audio, and images from the control unit 240, and displaying the text, audio, and images as output, and is composed of a display, keyboard, and mouse when the user terminal 200 is configured as a personal computer, and is composed of a touch panel, etc. when the user terminal 200 is configured as a smartphone or tablet terminal. This display operation unit 220 is started up by a control program stored in the storage unit 230 and executed by the user terminal 200, which is a computer (electronic calculator).
[0026] The storage unit 230 stores programs for executing various control processes and functions in the control unit 240, input data, etc., and is composed of a RAM, a ROM, etc. The storage unit 230 also temporarily stores the contents of communication with the server terminal 100.
[0027] The control unit 240 controls the overall operation of the user terminal 200 by executing the programs stored in the storage unit 230, and is composed of a CPU, a GPU, and the like.
[0028] FIG. 4 is a diagram showing an example of user data stored in the server 100. As shown in FIG.
[0029] The user data 1000 shown in Fig. 4 stores various data related to a user. For convenience of explanation, Fig. 4 shows an example of one user (e.g., a user unit) (a user identified by a user ID "10001"), but information of multiple users can be stored. The various data related to a user can include, but is not limited to, basic information about the user (e.g., login ID, password, user name, name, address, age, contact information, hobbies, preferences, occupation, company name, department) and conversation history (e.g., questions and answers).
[0030] FIG. 5 is a diagram showing an example of chatbot data stored in the server 100. As shown in FIG.
[0031] The chatbot data 2000 stores various data related to the operation of chatbots for each business operator. Various data related to the operation of the chatbot can include, but are not limited to, business data (information on the business generating and managing the chatbot, such as the business name, address, industry, name of the person in charge, and contact information), conversation history data with the user, language model (data obtained by vectorizing text data including questions and answers and converting it into a specified format, LLM (e.g., ChatGPT, Bart, StableDiffusion, etc.), dataset (character data (image data and personality information associated with a character / virtual character, etc.), text data including questions and answers (including data reflecting the wording, language, dialect, etc. of a character / virtual character), customer data and knowledge data provided by the business), prompt data (conditional statements customized by the business for controlling the answer generated by the language model (including command statements for controlling the wording, language, dialect, etc. of a character / virtual character)) and the like. A feature of this embodiment is that a dataset for generating an appropriate answer to a question is recorded for each business and / or dataset, and a prompt for controlling the answer generated by the language model is recorded.
[0032] <Processing flow> A process flow for supporting a conversation between a chatbot and a user, which is executed by the system 1 of this embodiment, will be described with reference to the figures from Fig. 6 onwards. Fig. 6 is a flowchart showing an example of a method for supporting a conversation between a chatbot and a user according to the first embodiment of the present invention.
[0033] First, in the process of step S101, when a user inputs a question about a specific product and / or service (hereinafter referred to as "service") or the like via a chat interface implemented in a web browser or application of the user terminal 200, the information receiving unit 131 of the control unit 130 of the server terminal 100 receives the question input by the user from the user terminal 200 via the communication unit 110. The information processing unit 132 of the control unit 130 stores the received question in the user data storage unit 121 of the memory unit 120 as user data 1000. For example, as shown in FIG. 7, a question such as "Can you tell me a good ramen restaurant in Kagoshima?" is received from a user via a chat interface displayed on the user terminal 300.
[0034] Next, in the process of step S102, the information processing unit 132 generates an answer by a language model based on the question. Specifically, the information processing unit 132 vector-converts the question received as text data, searches for vector values obtained by vectorizing a data set that is the basis of an answer to the question and that is stored in advance, by using the language model, and generates an answer based on the detected approximate value.
[0035] Next, in the process of step S103, the information processing unit 132 refers to character data stored as a data set in the chatbot data 2000 stored in the storage unit 120 for the generated answer. For example, in chatbot data managed by a business operator in Kagoshima Prefecture, the historical figure "Saigo Takamori" is reflected in the chatbot as a character, and an image and personality information associated with Saigo Takamori are referenced. Here, personality information refers to information related to the personality associated with a specific character or virtual character, such as Saigo Takamori's personality, speech and behavior, dialect, age, and knowledge. The character data may include personality information related to abstract virtual characters such as "tax accountant" and "chef" in addition to the character, and virtual age, personality, etc. are set.
[0036] Next, in the process of step S104, the information processing unit 132 refers to prompt data in the chatbot data 2000 stored in the memory unit 120 for the generated answer. For example, in chatbot data managed by a business operator in Kagoshima Prefecture, on the assumption that the character of the historical figure "Saigo Takamori" is reflected in the chatbot, a data set related to Saigo Takamori is referenced, and a command sentence for generating an answer sentence conforming to the words, actions, and dialect of Saigo Takamori is referenced.
[0037] Next, in the process of step S105, the information processing unit 132 regenerates answer information based on the reference of the character data and the prompt data. For example, if the answer generated in step S102 is "In Kagoshima, XXX ramen is famous for being delicious," and the result of the reference in steps S103 and S104 shows that "XXX ramen" is popular among locals as knowledge of Saigo Takamori and that he has a close personality, an answer such as "In Kagoshima, XXX ramen is famous among locals for being delicious!" is regenerated together with the character icon. The regenerated answer is transmitted from the server terminal 100 to the user terminal 200, and is displayed via the chat interface of the user terminal 200 as shown in FIG. 7. The information processing unit 132 stores the answer sentence in the user data storage unit 121 and the chatbot data storage unit 122 of the storage unit 120. Here, as shown in FIG. 7 and FIG. 8, when the data set stored in the chatbot data 2000 of the storage unit 120 includes information on a store, a product, a service, etc. related to the answer, the server terminal 100 can display the information on the chat interface of the user terminal 200 as an advertisement. As a display form of the advertisement, as shown in FIG. 7, it can be fixedly displayed at the top of the chat room of the chat interface, or it can be displayed in the chat room, in the vicinity of the relevant answer, etc. If it is fixedly displayed, it is always displayed at the top of the screen even if the conversation between the chatbot and the user continues, so that the user can be provided with a constant opportunity to come into contact with the advertisement. In addition, by displaying the advertisement in the main text of the conversation, such as directly below the answer, the advertisement can be provided in a natural manner within the flow of the conversation with the user, as if the conversation was taking place.
[0038] In this manner, in this embodiment, various types of chatbots can be provided as a platform for providing chatbot data generated and managed by each of multiple businesses, and not only can highly accurate answers be provided using characters suited to the question text, but also based on data unique to each business or region. Here, the data set and prompt data included in the chatbot data and affecting the performance of the chatbot based on the large-scale language model can be referenced and edited by multiple people in one business or multiple businesses, thereby encouraging improvements to the chatbot, and furthermore, by providing a marketplace for chatbot data, it is possible to encourage the provision of high-value chatbots.
[0039] FIG. 9 is a flowchart showing another example of a method for supporting a conversation between a chatbot and a user according to the first embodiment of the present invention.
[0040] In the process of step S201, the user inputs a desired question via a chat interface implemented in a web browser or application of the user terminal 200, and the information receiving unit 131 of the control unit 130 of the server terminal 100 receives the question input by the user from the user terminal 200 via the communication unit 110. The information processing unit 132 of the control unit 130 stores the received question in the user data storage unit 121 of the memory unit 120 as user data 1000.
[0041] Next, in step S202, the information processing unit 132 determines a chatbot suitable for the question based on the question. For example, when the user inputs a question such as "Create a presentation material" or "Create a sales document," the information processing unit 132 extracts chatbot data suitable for the question based on keywords included in the question or by machine learning the past conversation history, referring to the business operator data, character data, etc., of multiple chatbot data stored as the chatbot data 2000 in the storage unit 120.
[0042] Next, in the process of step S203, the information processing unit 132 recommends the determined chatbot to the user terminal 200. When making the recommendation, if multiple chatbots were extracted in the above determination step, the information processing unit 132 can present them as candidates to the user terminal 200 and accept a selection. Here, instead of recommending a chatbot, the information processing unit 132 can apply an appropriate chatbot and continue the conversation without the user being aware of it.
[0043] In this way, for a user who uses a chatbot, searching for and identifying an appropriate chatbot in advance would undermine the purpose of using the chatbot. Therefore, by having the chatbot itself search for and recommend an appropriate chatbot, the user can continue to use the chatbot without feeling uncomfortable while conversing with the chatbot.
[0044] As a modified example of the method of supporting a conversation with a user by a chatbot described with reference to FIG. 9, as shown in FIG. 10, for example, in step S301, when the information receiving unit 131 of the control unit 130 of the server terminal 100 receives a question such as "Teach me about accounting entries" from the user terminal 200, the information processing unit 132 in step S302 refers to the user data 1000 of the user who sent the question, identifies the company and department (accounting department) to which the user belongs, and determines a chatbot (e.g., "Tax Accountant Bot") based on the user data in step S303, and recommends the determined chatbot to the user terminal 200 or continues the conversation with the user in step S304.
[0045] FIG. 11 is a flowchart showing yet another example of the method for supporting a conversation between a chatbot and a user according to the first embodiment of the present invention.
[0046] In step S401, the user inputs a desired question via a chat interface implemented in a web browser or application of the user terminal 200, and the information receiving unit 131 of the control unit 130 of the server terminal 100 receives the question input by the user from the user terminal 200 via the communication unit 110. The information processing unit 132 of the control unit 130 stores the received question in the user data storage unit 121 of the memory unit 120 as user data 1000.
[0047] Next, in the process of step S402, the information processing unit 132 determines a large-scale language model (LLM) suitable for the question based on the question. For example, when a user inputs a question such as "Tell me the latest tourist attractions in Seoul," the information processing unit 132 refers to data on multiple large-scale language models stored as the chatbot data 2000 in the storage unit 120 based on keywords included in the question, and extracts a large-scale language model suitable for the question based on information such as advantages and disadvantages of the large-scale language model and / or by machine learning the past conversation history. For example, based on the assumption that a large-scale language model called BARD is linked to the latest information and is therefore suitable for searching for information on entertainment and travel, the information processing unit 132 can determine BARD as the large-scale language model for a question about travel. Here, as a premise, each business entity providing chatbot data can select a large-scale language model suitable for the service in advance.
[0048] Next, in the process of step S403, the information processing unit 132 determines a chatbot suitable for the question based on the question. For example, as described above, when a user asks a question about travel, the information processing unit 132 refers to multiple chatbot data stored as the chatbot data 2000 in the storage unit 120, and extracts chatbot data suitable for the question based on keywords included in the question and / or by machine learning the past conversation history. In this example, a chatbot managed by a travel business operator can be determined as the chatbot suitable for the question.
[0049] Next, in the process of step S404, the information processing unit 132 recommends the determined chatbot to the user terminal 200. When recommending, if multiple chatbots were extracted in the above determination step, the information processing unit 132 can present them as candidates to the user terminal 200 and accept a selection. Here, instead of recommending, the information processing unit 132 can apply an appropriate chatbot and continue the conversation without the user being aware of it.
[0050] In this way, by taking advantage of the platform's strengths of managing multiple large-scale language models and chatbots, it is possible to flexibly apply chatbots to questions entered by users using the chatbot, thereby improving the accuracy of answers.
[0051] FIG. 12 is a flowchart showing yet another example of the method for supporting a conversation between a chatbot and a user according to the first embodiment of the present invention.
[0052] In the process of step S501, the user inputs a desired question via a chat interface implemented in a web browser or application of the user terminal 200, and the information receiving unit 131 of the control unit 130 of the server terminal 100 receives the question input by the user from the user terminal 200 via the communication unit 110. The information processing unit 132 of the control unit 130 stores the received question in the user data storage unit 121 of the memory unit 120 as user data 1000.
[0053] Next, in step S502, the information processing unit 132 generates an answer using a language model based on the question. Specifically, the information processing unit 132 vector-converts the question received as text data, searches for vector values obtained by vectorizing a data set that is the basis of an answer to the question and that is stored in advance, using the language model, and generates an answer based on the detected approximate value.
[0054] Next, in the process of step S503, the information processing unit 132 refers to a plug-in related to the answer sentence based on the answer sentence. As a premise, it is possible to link with an application of a business operator or an application of a third party via a large-scale language model, generate an answer sentence such as "How about Okinawa?" in response to a question sentence such as "What is the recommended travel destination this summer?", and then search for an application based on information included in the answer sentence (e.g., a trip to Okinawa) to determine a travel reservation application provided by a travel business operator.
[0055] Next, in the process of step S504, the information processing unit 132 generates the determined application function as an extended function of the chat interface together with the reply text for the user terminal 200. Alternatively, the information processing unit 132 can display link information (URL) for accessing a web page where the application can be used, on the chat interface.
[0056] In this way, as a platform, in cooperation with other applications, it is possible to not only provide answer sentences to the user, but also to allow the user to utilize functions associated with the answer sentences, thereby improving the user experience.
[0057] Although the embodiments of the present invention have been described above, they can be embodied in various other forms and can be implemented with various omissions, substitutions, and modifications. These embodiments and modifications, as well as omissions, substitutions, and modifications, are included in the technical scope of the claims and their equivalents. [Explanation of symbols]
[0058] 1 System 100 Server terminal, 110 Communication unit, 120 Storage unit, 130 Control unit, 200 User terminal, 300 Carrier terminal, NW1 Network
Claims
1. A method for supporting a conversation between a user and a chatbot, the chatbot being customized for a plurality of businesses, executed by a server terminal, comprising: The control unit of the server terminal receiving a question from the user terminal of the user via a chat interface; generating answers to said questions based on a large-scale language model; Referring to personality data and a prompt sentence related to a personality set for each of the plurality of businesses, Regenerating the answer.
2. The method of claim 1 , further comprising transmitting the answer to a user terminal and transmitting an advertisement related to the answer together with the answer.
3. The method of claim 1 , wherein the persona comprises a character.
4. The method according to claim 1 , wherein the server terminal determines the large-scale language model from among a plurality of large-scale language models in response to the query.
5. The method of claim 1 , wherein the personality data is editable by a first entity and a second entity of the plurality, the second entity being different from the first entity.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A
Cited By
system
JP2026155220A