Automatic answering system, automatic answering method, and automatic answering program
Patent Information
- Application Number
- JP2024095321
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-12
- Publication Date
- 2025-03-12
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Conventional chatbot systems struggle with flexibility in cooperating with external systems due to a lack of structured scenario information, making it difficult to seamlessly integrate external information sources for responsive interactions.
An automatic response system that includes a receiving unit for user input, a storage unit for internally registered information, and a cooperation judgment unit to determine whether to acquire response information internally or from an external system, enabling flexible collaboration through a chatbot function that can switch between normal and external cooperation modes.
Enables seamless integration with external systems, enhancing the chatbot's ability to provide responsive interactions by leveraging both internal and external information sources as needed.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an automatic response system, an automatic response method, and an automatic response program. [Background technology]
[0002] Nowadays, so-called chatbots are known that recognize patterns of text, voice, or images input by users via the cloud, and carry out conversations, respond to questions, control machines, etc. As such chatbots, those that perform interactive communication to send and receive information by interacting with users in a dialogue (chat) format are known.
[0003] For example, in a system for interactive communication, a technology has been disclosed that aims to obtain all necessary information without missing anything, by displaying questions about the subject of the search, information about the progress of narrowing down the search, and information about providing answers to the questions in different formats (Patent Document 1). Summary of the Invention [Problem to be solved by the invention]
[0004] Usually, responses to questions from users are obtained based on internally registered information, such as an FAQ table, that is registered in advance in a system that realizes a chatbot. However, depending on the content of the question, information obtained from an external system may be required. In conventional technologies, scenario information does not have a configuration that fully considers cooperation with external systems, so it is difficult to flexibly cooperate with external systems when performing interactive communication based on scenario information.
[0005] The present invention has been made in consideration of the above-mentioned problems, and has an object to provide an automatic response system, an automatic response method, and an automatic response program that are capable of flexibly coordinating with external systems. [Means for solving the problem]
[0006] In order to solve the above-mentioned problems and achieve the object, the present invention provides an automatic response system that provides a chatbot function, and is characterized by comprising: a receiving unit that receives question information sent from a user terminal; a transmitting unit that transmits response information to the received question information to the user terminal; a memory unit that stores internal registration information that associates elements contained in the question information with the response information; a linkage determination unit that performs processing to determine, based on keywords contained in the question information received from the user terminal, whether to obtain response information corresponding to the question information next received from the user terminal in a normal mode in which response information is obtained based on the internal registration information, or in an external linkage mode in which the question information is sent to an external system and the response information is received from the external system; and a linkage unit that performs processing to send the question information to the external system and obtain the response information from the external system when it is determined that the external linkage mode should be executed. Effect of the Invention
[0007] According to the present invention, it becomes possible to flexibly cooperate with external systems. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram illustrating an example of a system configuration including an automatic response system according to an embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of a hardware configuration of the chatbot service server and the external linking server according to the embodiment. [Diagram 3] FIG. 3 is a diagram illustrating an example of a functional configuration of the automatic response system according to the embodiment. [Figure 4] FIG. 4 is a diagram illustrating an example of a data configuration of the FAQ table according to the embodiment. [Diagram 5] FIG. 5 is a diagram illustrating an example of a data configuration of the external linkage table according to the embodiment. [Figure 6] FIG. 6 is a diagram illustrating an example of a data configuration of scenario information according to the embodiment. [Figure 7]FIG. 7 is a sequence diagram illustrating an example of an automatic response process in the automatic response system according to the embodiment. [Figure 8] FIG. 8 is a flowchart illustrating an example of a process for switching between the normal mode and the external linkage mode according to the embodiment. [Figure 9] FIG. 9 is a flowchart showing an example of a main routine of interactive communication in the normal mode according to the embodiment. [Figure 10] FIG. 10 is a flowchart showing an example of a first subroutine of interactive communication in the normal mode according to the embodiment. [Figure 11] FIG. 11 is a flowchart showing an example of the second subroutine of the interactive communication in the normal mode according to the embodiment. [Figure 12] FIG. 12 is a sequence diagram illustrating an example of a registration process of the FAQ table, the external linkage table, and the scenario table according to the embodiment. [Figure 13] FIG. 13 is a diagram illustrating an example of the external link registration screen according to the embodiment. [Figure 14] FIG. 14 is a diagram illustrating an example of the correspondence between the scenario registration screen, the FAQ table, the scenario table, and the linkage destination table according to the embodiment. [Figure 15] FIG. 15 is a diagram illustrating an example of a display screen in the external linkage mode according to the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, an embodiment will be described as an application example of an automatic response system, an automatic response method, and an automatic response program.
[0010] (System Configuration) 1 is a diagram showing an example of a system configuration including an automatic response system 1 according to an embodiment. The automatic response system 1 is a system for automatically or semi-automatically responding to questions from a user using a user terminal 3 by using a so-called chatbot.
[0011] 1, an automatic response system 1 is communicatively connected to a user terminal 3 and an administrator terminal 4 via a network 2, and communicatively connected to external systems 6A, 6B, ... via a network 5. Hereinafter, when there is no need to distinguish between the multiple external systems 6A, 6B, ..., they may be referred to as external systems 6.
[0012] The user terminal 3 is a terminal device used by a user, such as a PC (Personal Computer), a tablet terminal, a smartphone, etc. The administrator terminal 4 is a terminal device used by an administrator who manages the contents of the exchanges realized by the automatic response system 1, such as a PC, a tablet terminal, a smartphone, etc. The external system 6 is a computer system capable of providing predetermined information, such as a system composed of one or more computers (servers, PCs, etc.). The networks 2 and 5 are, for example, the Internet, a LAN (Local Area Network), etc. The networks 2 and 5 may be independent of each other, or may overlap or cooperate with each other. There may be multiple user terminals 3 and multiple administrator terminals 4. The number of external systems 6 should not be particularly limited, and may be one or three or more.
[0013] The automatic response system 1 of this embodiment has a chatbot service server 11 and an external linking server 12. The chatbot service server 11 establishes interactive communication with a user terminal 3 based on preregistered scenario information, and performs processing for transmitting response information to question information transmitted from the user terminal 3 to the user terminal 3 that transmitted the question information. The external linking server 12 performs processing for acquiring necessary information from an external system 6 in order to generate appropriate response information.
[0014] (Hardware configuration) 2 is a diagram showing an example of a hardware configuration of the chatbot service server 11 and the external linking server 12 according to the embodiment. The chatbot service server 11 and the external linking server 12 according to the present embodiment are constructed by a computer, and include a CPU 21, a ROM 22, a RAM 23, an HD 24, a HDD (Hard Disk Drive) controller 25, a display 26, an external device connection I / F (Interface) 28, a network I / F 29, a data bus 30, a keyboard 31, a pointing device 32, a DVD-RW (Digital Versatile Disk Rewritable) drive 34, and a media I / F 36.
[0015] The CPU 21 controls the overall operation of the chatbot service server 11 or the external linkage server 12. The ROM 22 stores programs used to drive the CPU 21, such as an IPL (Initial Program Loader). The RAM 23 is used as a work area for the CPU 21. The HD 24 stores various data such as programs. The HDD controller 25 controls the reading or writing of various data from the HD 24 under the control of the CPU 21. The display 26 displays various information such as a cursor, a menu, a window, characters, and an image. The external device connection I / F 28 is an interface for connecting various external devices. In this case, the external device is, for example, a USB (Universal Serial Bus) memory, a printer, and the like. The network I / F 29 is an interface for data communication using the networks 2 and 5. The bus line 30 is an address bus, a data bus, and the like for electrically connecting each component such as the CPU 21. The keyboard 31 is a type of input means having a plurality of keys for inputting characters, numbers, various instructions, and the like. The pointing device 32 is a type of input means for selecting and executing various instructions, selecting a processing target, moving a cursor, etc. The DVD-RW drive 34 controls reading and writing of various data from a DVD-RW 33, which is an example of a removable recording medium. Note that the medium is not limited to DVD-RW, and may be DVD-R, etc. The media I / F 36 controls reading and writing (storing) of data from a recording medium 35, such as a flash memory.
[0016] (Functional configuration) 3 is a diagram showing an example of a functional configuration of the automatic response system 1 according to the embodiment. The automatic response system 1 includes a communication unit 101, a linkage determination unit 102, a search unit 103, a linkage unit 104, a registration unit 105, an FAQ table 131 (internal registration information), an external linkage table 132 (external linkage information), and a scenario table 133 (scenario information). These functional units 101 to 105 and tables 131 to 133 are configured, for example, by cooperation of components 21 to 36 of the hardware configuration shown in FIG. 2 and programs.
[0017] The communication unit 101 performs processing for executing interactive communication for transmitting and receiving information between an unspecified number of user terminals 3A, 3B, and 3C. Interactive communication is for transmitting and receiving information by carrying out a dialogue (chat)-style exchange between a user terminal and a chatbot. Hereinafter, when there is no need to distinguish between the multiple user terminals 3A, 3B, and 3C, they may be referred to as user terminals 3. The communication unit 101 in this example has a receiving unit 111 for receiving information transmitted from the user terminal 3, and a transmitting unit 112 for transmitting information to the user terminal 3. The receiving unit 111 receives question information from the user terminal 3. The transmitting unit 112 transmits response information to the received question information to the user terminal 3 that transmitted the question information.
[0018] In the example shown in Fig. 3, three user terminals 3A, 3B, and 3C are shown which have different means for performing interactive communication. The user terminal 3A establishes interactive communication using a browser (internet browser) 41. The user terminal 3B establishes interactive communication using a communication tool 42 such as a specific SNS (Social Networking Service). The user terminal 3C establishes interactive communication using the browser 41 and / or the specific communication tool 42. In this way, the means on the user terminal 3 side for establishing interactive communication can be set arbitrarily.
[0019] The linkage determination unit 102 determines whether or not linkage with the external system 6 is necessary when acquiring response information to the question information received by the receiving unit 111. The linkage determination unit 102 determines whether to execute the normal mode or the external linkage mode based on a keyword included in the question information received from the user terminal 3. The linkage determination unit 102 can also make a determination based on the question information acquired in the interactive communication and the scenario table 133. The normal mode is a mode in which response information is acquired based on the FAQ table 131 in which elements included in the question information (e.g., options selected by the user, free words entered by the user, etc.) are associated with response information. The external linkage mode is a mode in which response information is acquired by linking with the external system 6 based on the external linkage table 132 in which elements included in the question information are associated with information on the external system 6 to be linked.
[0020] When the cooperation determination unit 102 determines that the normal mode is to be executed, the search unit 103 acquires response information from the FAQ table 131. The search unit 103 may also acquire response information by referring to the scenario table 133 in addition to the FAQ table 131.
[0021] When the collaboration determination unit 102 determines that the external collaboration mode is to be executed, the collaboration unit 104 performs processing for acquiring information from the external system 6. The collaboration unit 104 of this embodiment includes a collaboration control unit 115 included in the chatbot service server 11 and a collaboration processing unit 116 included in the external collaboration server 12. When the collaboration determination unit 102 determines that the external collaboration mode is to be executed, the collaboration control unit 115 acquires information on the external system 6 to be linked from the external collaboration table 132. Based on the information on the external system 6 acquired by the collaboration control unit 115, the collaboration processing unit 116 establishes communication with the target external system 6 and performs processing for acquiring necessary information from the external system 6. Note that the configuration of the collaboration unit 104 is an example, and the collaboration control unit 115 and the collaboration processing unit 116 may be mounted on the same hardware.
[0022] The registration unit 105 performs processing for registering (including generating, editing, deleting, etc.) the FAQ table 131, the external linkage table 132, and the scenario table 133 based on registration information transmitted from the administrator terminal 4, which is a specific terminal other than the user terminal 3. The registration unit 105 of this embodiment includes an internal registration unit 121 that performs processing for registering the FAQ table 131 and the scenario table 133, and an external registration unit 122 that performs processing for registering the external linkage table 132.
[0023] (Table data structure) FIG. 4 is a diagram showing an example of the data configuration of the FAQ table 131 according to the embodiment. The FAQ table 131 in this example associates a "question ID," "question content," and "response information." The "question ID" is identification information for identifying a combination of the "question content" and the "response information" (a row in the FAQ table 131 in this example). The "question content" is information indicating the content of a question input by a user in interactive communication, and is an example of an "element" included in the question information. The "question content" may be, for example, an option selected by the user from a plurality of options, a free word input by the user, or a synonym thereof. The "response information" is information indicating the content of a response corresponding to the question content, and here, information indicating the URL of a homepage viewable on the Internet is exemplified.
[0024] 5 is a diagram showing an example of a data configuration of the external linkage table 132 according to the embodiment. The external linkage table 132 in this example includes a link destination table 135 and a required information table 136.
[0025] The link destination table 135 in this example is information indicating a method of accessing an external service (a service provided by the external system 6) to be used to obtain appropriate response information, and associates an "external service URL", an "linked ID", a "type", a "keyword", and a "call ID". The "external service URL" is a URL for accessing an external service provided by the external system 6. The "external service URL" may be, for example, a URL for accessing a specific homepage assigned to each of the external systems 6A, 6B, .... The "linked ID" is identification information for identifying a combination of a "keyword", a "type", and a "call ID" (a row in the link destination table 135 in this example). The "type" is information indicating the type of the call ID. Here, the type of the "call ID" is illustrated as a function. The "keyword" is a phrase, a phrase, a sentence, or the like that a user can select or input in interactive communication, and is an example of an "element" included in the question information. The "call ID" is information required to obtain target information within an external service, and may be, for example, information indicating a specific link destination on a homepage corresponding to the "external service URL". The above-described link destination table 135 may be generated for each of the external systems 6A, 6B, . . .
[0026] The necessary information table 136 is a table for identifying parameters (necessary information) required for establishing communication with the external system 6 (using an external service) for each external system 6A, 6B, ... (for each external service URL and call ID in this example). The necessary information table 136 in this example associates "external service URL", "call ID", "parameter", "type", "reply information", "user input information", and "end message". The "external service URL" and "call ID" in the necessary information table 136 correspond to the "external service URL" and "call ID" in the link destination table 135. "Parameters" are information required (requested by the external system 6) to obtain necessary information from the external system 6 (external service), and are determined for each "call ID" in this example. In the example shown in FIG. 5, it is shown that a user's name, organization name, and email address are required to obtain information corresponding to the call ID: HttpConnector?code=02 in the external service corresponding to the URL: https: / / △△△△△.net / api / . "Type" is information indicating the type (input condition, etc.) of "parameter". "Reply information" is information indicating text or audio output to the user terminal 3 to prompt the user to input "parameters." "User input" is information indicating parameters input to the user terminal 3. "End message" is information indicating a message output to the user terminal 3 after all parameters have been acquired.
[0027] FIG. 6 is a diagram showing an example of the data configuration of the scenario information 133 according to the embodiment. The scenario information 133 in this example associates a "scenario ID", a "title", a "display text", a "type", and a "question ID / association ID". The "scenario ID" is identification information given to each group of scenarios, and is information capable of identifying a combination of a "title", a "display text", a "type", and a "question ID / association ID" (a row in the scenario table 133 in this example). The "title" is information given to each group of scenarios, and indicates a category of a question, etc. The "display text" is information indicating a message to be displayed on the user terminal 3 when a scenario of the "title" ("scenario ID") associated therewith is executed. Here, an example is shown in which a text is displayed to prompt the user to select one or more options from a plurality of options. Also, here, an example of a scenario is shown in which four "keywords" corresponding to the "association IDs" 01 to 04 included in the association destination table 135 in FIG. 5 and two "question contents" corresponding to the "question IDs" 0001 and 0002 included in the FAQ table 131 in FIG. 4 are displayed as options. The options displayed at this time correspond to the "elements" included in the question information. "Type" is information indicating whether to execute normal mode (normal) or external linkage mode (external linkage). Here, an example is shown in which the external linkage mode is executed when an option corresponding to "Linkage ID" 01 to 04 is selected, and the normal mode is executed when an option corresponding to "Question ID" 0001, 0002 is selected. "Question ID / Linkage ID" is information corresponding to the "Question ID" included in FAQ table 131 in FIG. 4 or the "Linkage ID" included in linkage destination table 135 in FIG. 5.
[0028] (Automatic response process flow) 7 is a sequence diagram showing an example of an automatic response process in the automatic response system 1 of the embodiment. When a user operates the user terminal 3 to input a question (S1), the browser 41 or communication tool (hereinafter, abbreviated as tool) 42 of the user terminal 3 transmits the question to the receiving unit 111 of the chatbot service server 11 (S2). The user may input the question directly or by selecting from options of a displayed scenario. The receiving unit 111 passes the question 111 to the cooperation determination unit 102 and requests the cooperation determination unit 102 to determine whether or not external cooperation is required (S3). The cooperation determination unit 102 determines whether or not external cooperation is required, that is, whether to execute a normal mode or an external cooperation mode, based on the elements included in the question 111 and the scenario table 133 (S4).
[0029] If it is determined that the normal mode is to be executed, the receiving unit 111 requests the searching unit 103 to search for response information (S5). The searching unit 103 searches the FAQ table 131 for response information corresponding to an element included in the question (S6), and passes the response information to the transmitting unit 112 (S7). The transmitting unit 112 generates a response message based on the received response information (S8), and transmits the response message to the browser 41 or the tool 42 of the user terminal 3 (S9). The browser 41 or the tool 42 displays the received response message (S10).
[0030] When it is determined that the external link mode is to be executed, the link determination unit 102 passes a question to the link control unit 115 and requests external linkage (S11). When the link control unit 115 receives the request for external linkage, it acquires information (external linkage information) about the external system 6 to be linked from the external linkage table 132 (S12). Thereafter, the linkage control unit 115 calls an API (Application Programming Interface) for establishing linkage (communication) with the external system 6 to be linked, and transmits the question to the linkage processing unit 116 of the external linkage server 12 (S13). The linkage processing unit 116 determines whether or not it is necessary to ask again (acquire parameters exemplified in FIG. 5) based on the elements included in the received question and the external linkage table 132 (S14).
[0031] If it is determined that the user needs to ask again, the cooperation processing unit 116 sets the external cooperation state information to "continue" and transmits the information for asking back to the cooperation control unit 115 (S15). The cooperation control unit 115 passes the information for asking back to the transmission unit 112 and requests the transmission to the user terminal 3 (S16). The transmission unit 112 transmits the received information for asking back to the browser 41 or the tool 42 (S17). The browser 41 or the tool 42 displays the received information for asking back (S18). When the user inputs answer information (parameters, etc.) to the information for asking back to the browser 41 or the tool 42 (S19), the browser 41 or the tool 42 transmits the answer information to the reception unit 111 (S20). The reception unit 111 passes the received answer information to the cooperation control unit 115 and requests the transmission to the cooperation processing unit 116 (S21). The cooperation control unit 115 transmits the received answer information to the cooperation processing unit 116 (S22). Then, the cooperative processing unit 116 repeats the above-mentioned processes of S15 to S22 a necessary number of times to acquire all the parameters.
[0032] If it is determined that asking again is not necessary or if asking again is complete (if all parameters have been acquired), the cooperation processing unit 116 generates a request to the external system 6 to acquire the necessary information (S23), sends the request to the external system 6 (S24), and receives a response to the request from the external system 6 (S25). At this time, the cooperation processing unit 116 determines whether to continue or end the external cooperation state based on the response from the external system 6. For example, if all requested information has been acquired, it is determined to end, and if further information input is requested from the external system 6, it is determined to continue.
[0033] When the cooperation processing unit 116 judges that the external cooperation state is to be ended (S26), it generates a response message based on the response received from the external system 6 (S27) and transmits the response message to the cooperation control unit 115 (S28). At this time, the cooperation processing unit 116 sets the external cooperation state information to "End". The cooperation control unit 115 transfers the response message from the cooperation processing unit 116 to the transmission unit 112 (S29), and the transmission unit 112 transmits the response message to the browser 41 or the tool 42 of the user terminal 3 (S30). The browser 41 or the tool 42 displays the received response message (S31). After that, when the user inputs a new question to the browser 41 or the tool 42 (S32), the browser 41 or the tool 42 transmits the question to the acquisition unit 111 (S33). The acquisition unit 111 judges whether or not external cooperation is necessary based on the external cooperation state information (S34). At this time, if the external cooperation state information is "End", the normal mode is executed, and if it is "Continue", the external cooperation mode is executed (continue). That is, in the external linkage mode, next question information received from the user terminal 3 is also transmitted to the external system, and response information corresponding to the question information is obtained from the external system. Then, depending on the mode, the processes of steps S5 to S10 or the processes of steps S11 to S34 are repeated.
[0034] 8 is a flowchart showing an example of a process for switching between the normal mode and the external link mode according to the embodiment. When the link processing unit 116 acquires mode information (S101), it determines whether the normal mode or the external link mode is currently being executed (S102). If the normal mode is being executed in step S102 (S102: normal mode), that is, if the mode information is "normal", the link processing unit 116 sets a variable n to n=1 (S103), searches for a question sentence with the nth registered keyword (S104), and determines whether the question sentence contains a registered keyword (S105). The registered keyword is, for example, a "keyword" registered in the link destination table 135.
[0035] If the question does not include a registered keyword in step S105 (S105: No), the collaboration determination unit 102 determines whether or not there is a next registered keyword (S106). If there is no next registered keyword in step S106 (S106: No), the collaboration determination unit 102 determines that the normal mode should be executed, updates the mode information to "normal" (S107), and ends this routine. If there is a next registered keyword in step S106 (S106: Yes), the collaboration determination unit 102 sets the variable n to n=n+1 (S108), and executes step S104 again. If the question includes a registered keyword in step S105 (S105: Yes), the collaboration determination unit 102 determines that the external collaboration mode should be executed, updates the mode information to "external collaboration" (S109), and ends this routine.
[0036] If the external linkage mode is running in step S102 (S102: external linkage mode), i.e., if the mode information is "external linkage", the linkage processing unit 116 acquires external linkage status information (S110) and determines whether the external linkage status information is "continue" or "end" (S111). If the external linkage status information is "continue" in step S111 (S111: continue), this routine is ended while maintaining the current external linkage status. If the external linkage status information is "end" in step S111 (S111: end), the linkage processing unit 116 changes the mode information to "normal" (S112) and then ends this routine.
[0037] (Example of interactive communication in normal mode) Fig. 9 is a flowchart showing an example of a main routine of interactive communication in normal mode according to an embodiment. Fig. 10 is a flowchart showing an example of a first subroutine of interactive communication in normal mode according to an embodiment. Fig. 11 is a flowchart showing an example of a second subroutine of interactive communication in normal mode according to an embodiment. The automatic response system 1 provides, for example, a website of a company or the like, and realizes a chatbot that responds to user questions on the website.
[0038] A user starts a browser 41 or a communication tool 42 (hereinafter abbreviated as browser, etc. 41) of the user terminal 3 and accesses the chatbot service server 11 via the network 2. As a result, the homepage of the company, etc. is displayed on the browser 41, etc. of the user terminal 3. A question acceptance button using a chatbot, etc. is provided on this homepage, and when a user has a question about, for example, a product of the company, etc., the user operates the question acceptance button, etc. on the homepage using an input device such as a mouse device. When the CPU 21 of the chatbot service server 11 detects the operation of the question acceptance button, etc., it displays, for example, a chat screen for answering questions on the user terminal 3 and starts the processing of the flowchart shown in FIG. 9.
[0039] When the flowchart in Fig. 9 starts, the browser 41 or the like displays a search method selection menu on the chat screen (S201). Here, an example is shown in which the search methods "Search all categories", "Search by selecting a category", and "Search by frequently asked questions" are displayed in text. The user operates an input device such as a keyboard or pointing device to specify the desired search method. Note that, in this example, the explanation will be given assuming that the user inputs characters (text input), but input voice may also be recognized and converted into text, which is then displayed on the chat screen.
[0040] If the user selects "Search all categories" in step S201, the browser 41 or the like displays a message such as "Please post a question" on the chat screen to prompt the user to enter a question, and transitions to a state waiting for the user to post a question (S202). The user operates an input device such as a keyboard to enter a desired question.
[0041] When a question is input by a user, the search unit 103 of the chatbot service server 11 performs a morphological analysis of the question and acquires a plurality of words contained in the user's question. At this time, synonyms of each of the acquired words may be acquired.
[0042] The search unit 103 searches the FAQ table 131 based on the words or synonyms contained in the question sentence, and determines whether one answer candidate has been found, two or more answer candidates have been found, or no answer candidates have been found (S203).
[0043] If there is one answer candidate in step S203 (S203: one candidate), the process proceeds to the subroutine shown in FIG. 10, and the browser 41 etc. displays a response corresponding to the searched answer candidate on the chat screen, along with a feedback button for selecting whether or not to return the display screen to the initial screen of the chat screen (screen for selecting the search method) (S221).
[0044] The search unit 103 monitors whether the feedback button has been operated (S222), and when the operation of the "Yes" feedback button is detected, the browser 41 etc. displays a message such as "Thank you" on the chat screen (S223) and returns the process to step S201. On the other hand, the operation of the "No" feedback button means that the answer to the user's question is not displayed, and the user also refuses to return the chat screen to the search method selection screen. Therefore, when the search unit 103 detects the operation of the "No" feedback button, the process proceeds to the subroutine shown in FIG. 11, and the browser 41 etc. displays a message such as "I'm sorry" on the chat screen apologizing for not being able to display the answer to the question at this stage (S231). At this time, the telephone number, email address, etc. of the help desk may be displayed on the chat screen together with the apology message.
[0045] If there are two or more answer candidates in step S203 (S203: two or more candidates), the browser 41 or the like displays on the chat screen a "display selection button" corresponding to each answer candidate and a "no answer button" indicating that there is no answer corresponding to the user's question among the displayed answer candidates (S204). The search unit 102 monitors whether or not the "display selection button" and the "no answer button" are selected (S205). If an operation of the "display selection button" is detected in step S205 (S205: candidate selected), the process proceeds to a subroutine shown in FIG. 10, and the process from step S221 onwards is executed. If an operation of the "no answer button" is detected in step S205 (S205: no corresponding item exists), the process proceeds to a subroutine shown in FIG. 11, and the process from step S231 onwards is executed.
[0046] If no response candidate is found in step S203 (S203: No candidate found), the browser 41 etc. displays a message on the chat screen apologizing and encouraging the user to search again, such as, for example, "Sorry. No relevant answer was found. Please try searching again using a different search method or different words" (S206), and returns the process to step S201.
[0047] If the user selects “Choose from FAQs” in step S201, the browser 41 etc. displays, for example, “List of frequently asked questions (3 items)” or “Search in a different way” on the chat screen (S207), and the search unit 102 monitors the input operation by the user (S208).
[0048] In step S208, if one is selected from the FAQ list (S208: Select FAQ), the process from step S221 onward is executed. In step S208, if another search method is selected (S208: Select Search by Another Method), the process returns to step S201.
[0049] If the user selects "select from category" in step S201, the browser 41 etc. displays, for example, a list of categories on the chat screen (S209). When the user selects a category from the category list, the browser 41 etc. displays a message prompting the user to input a question, for example, "Please post a question," on the chat screen, and transitions to a state waiting for the question to be posted (S210). The user operates an input device such as a keyboard to input the desired question. At this time, the search unit 102 narrows the search down to the selected category.
[0050] When a question is input by the user, the search unit 103 performs a morphological analysis of the question and acquires a plurality of words contained in the user's question. At this time, synonyms of each of the acquired words may be acquired.
[0051] The search unit 103 searches the FAQ table 131 etc. based on the words or synonyms contained in the question sentence, and determines whether one answer candidate has been found, two or more answer candidates have been found, or no answer candidates have been found (S211).
[0052] If there is one answer candidate in step S211 (S211: one candidate), the process proceeds to a subroutine shown in FIG. 10, and the process from step S221 onward is executed. If there are two or more answer candidates in step S211 (S211: two or more candidates), the browser 41 or the like displays a "display selection button" corresponding to each answer candidate and a "no answer button" indicating that there is no answer corresponding to the user's question among the displayed answer candidates on the chat screen (S212). The search unit 102 monitors whether or not there is a selection operation of the "display selection button" and the "no answer button" (S213). If an operation of the "display selection button" is detected in step S213 (S213: candidate selected), the process proceeds to a subroutine shown in FIG. 10, and the process from step S221 onward is executed. If an operation of the "no answer button" is detected in step S213 (S213: no corresponding item exists), the process proceeds to a subroutine shown in FIG. 11, and the process from step S231 onward is executed.
[0053] If no response candidate is found in step S211 (S211: No candidate found), the browser 41 etc. displays a message on the chat screen apologizing and encouraging the user to search again, such as, for example, "Sorry. No relevant answer was found. Please try searching again using a different search method or different words" (S214), and returns the process to step S201.
[0054] (Table registration process) FIG. 12 is a sequence diagram showing an example of a registration process of the FAQ table 131, the external linkage table 132, and the scenario table 133 according to the embodiment.
[0055] Steps S51 to S56 exemplify the flow of processing for registering the FAQ table 131. When the administrator instructs the browser 45 of the administrator terminal 4 to display an FAQ registration screen for registering the FAQ table 131 (S51), the browser 45 requests the internal registration unit 121 of the chatbot service server 11 for an FAQ registration screen (S52). The internal registration unit 121 transmits predetermined information to the browser 45, and the browser 45 displays the FAQ registration screen based on the information from the internal registration unit 121 (S53). When the administrator inputs information related to FAQs into the browser 45 and instructs the browser 45 to register the information (S54), the browser 45 transmits the input FAQ information to the internal registration unit 121 (S55). The internal registration unit 121 registers the FAQ table 131 based on the FAQ information received from the browser 45 (S56).
[0056] Steps S57 to S72 exemplify the process flow for registering the external linkage table 132 and the scenario table 133. When the administrator instructs the browser 45 of the administrator terminal 4 to display an external linkage registration screen for registering the external linkage table 132 (S57), the browser 45 requests the external linkage registration screen from the internal registration unit 121 of the chatbot service server 11 (S58). The internal registration unit 121 transmits predetermined information to the browser 45, and the browser 45 displays the external linkage registration screen based on the information from the internal registration unit 121 (S59). When the administrator inputs external linkage information related to external linkage to the browser 45 and instructs the browser 45 to register the information (S60), the browser 45 transmits the input external linkage information to the external registration unit 122 (S61). Based on the external linkage information received from the browser 45, the external registration unit 122 transmits information for displaying a scenario registration screen for registering a scenario to the browser 45, and the browser 45 displays the scenario registration screen based on the information received from the external registration unit 122 (S62). Furthermore, the external registration unit 122 registers the external linkage table based on the external linkage information received from the browser 45 (S63).
[0057] When the administrator instructs the browser 45 of the administrator terminal 4 to display a scenario registration screen (S64), the browser 45 requests the internal registration unit 121 of the chatbot service server 11 to send a scenario registration screen (S65). When the internal registration unit 121 receives the request from the browser 45, it requests the external registration unit 122 to acquire information registered in the external linkage table 132 (S66). The external registration unit 122 passes the keyword registered in the external linkage table 132 to the internal registration unit 121 as a response to the request (S67). The internal registration unit 121 transmits the keyword received from the external registration unit 122 to the browser 45, and the browser 45 displays a list of questions including the received keyword (S68). The administrator sets a title or the like for the list of questions displayed on the browser 45, selects a question, and instructs the browser 45 to register it in the scenario (S69). The browser 45 displays a message in response to the instruction from the administrator (S70), and transmits scenario information including the content instructed by the administrator to the internal registration unit 121 (S71). The internal registration unit 121 registers the scenario table 133 based on the scenario information received from the browser 45 (S72).
[0058] 13 is a diagram showing an example of an external link registration screen 201 according to an embodiment. The external link registration screen 201 of this example has a service URL input section 202, a type input section 203, a keyword input section 204, a call ID input section 205, and a registration button 206.
[0059] The service URL input section 202 is a section for inputting "external service URL" in the link destination table 135 of the external linkage table 132 shown in FIG. 5. The type input section 203 is a section for inputting "type" in the link destination table 135. The keyword input section 204 is a section for inputting "keyword" in the link destination table 135. The call ID input section 205 is a section for inputting "call ID" in the link destination table 135. The register button 206 is an operation section for confirming the information input in the input sections 202 to 205. Note that the configuration of the external linkage registration screen 201 is not limited to this, and may further include sections for inputting, for example, "parameters", "reply information", etc. in the necessary information table 136 shown in FIG. 5.
[0060] FIG. 14 is a diagram showing an example of the correspondence between the scenario registration screen 211, the FAQ table 131, the scenario table 133, and the link destination table 135 according to the embodiment.
[0061] The scenario registration screen 211 is displayed on the administrator terminal 4 in response to a request from the administrator terminal 4. The administrator can create, edit, delete, etc. the scenario table 133 by inputting any information into the scenario registration screen 211 via the browser 45 of the administrator terminal 4. The scenario registration screen 211 illustrated in FIG. 14 has a title input section 212, a display text input section 213, a choice input section 214, an add button 215, and a save button 216.
[0062] The title input section 211 is a section for inputting words, phrases, sentences, etc. corresponding to the "title" in the scenario table 133. As described above, the "title" is given to each group of scenarios, and is information indicating the category of a question, etc.
[0063] The display text input section 213 is a section for inputting text etc. corresponding to the "display text" in the scenario table 133. As described above, the "display text" is information indicating a message to be displayed on the user terminal 3 when executing a scenario of the corresponding "title" ("scenario ID").
[0064] The option input section 214 is an area for inputting options presented to the user when executing the "Title" scenario. In this example, the scenario registration screen 211 is configured to allow the administrator to arbitrarily select an option from among multiple option candidates displayed in a box below the display that reads "Please select." The Add button 215 is an operation section for confirming the option selected by the administrator. Here, an example is shown of the state in which the Add button 215 has been pressed after the options "Summary of XX Exhibition" and "Request for materials on XX Exhibition" have been selected.
[0065] Although not shown in the example shown in Figure 14, the scenario registration screen 211 may further have an input section for inputting a "scenario ID", an input section for inputting a "type" in the scenario table 133, an input section for inputting a "question ID / association ID", etc.
[0066] The save button 216 is an operation section for confirming the information inputted on the scenario registration screen 211 and registering the confirmed information in the scenario table 133 .
[0067] 14, the "question ID / linkage ID" in the scenario table 133 is associated with the "question ID" in the FAQ table 131 or the "linkage ID" in the linkage destination table 135. In this manner, the scenario table 133, the FAQ table 131, and the linkage destination table 135 (external linkage table 132) are associated with each other.
[0068] As described above, the scenario table 133 of this embodiment associates elements included in question information acquired during interactive communication with information indicating whether to refer to the internal registration information or the external linkage information. In this embodiment, the "elements included in question information" refer to an option selected by the user from a plurality of options registered in advance by the administrator, a free word arbitrarily input by the user, etc. In this embodiment, the "internal registration information" refers to the FAQ table 131. In this embodiment, the "external linkage information" refers to the external linkage table 132 (linkage destination table 135 and required information table 136). By using such a scenario table 133, it becomes possible to flexibly and efficiently switch between the normal mode and the external linkage mode.
[0069] (Example of interactive communication in external linkage mode) 15 is a diagram showing an example of a display screen 221 in the external linkage mode of the embodiment. The display screen 221 is displayed via the browser 41 or the communication tool 42 of the user terminal 3 during execution of interactive communication based on the scenario table 133. The display screen 211 of this example shows a state in which a first dialogue 222, a second dialogue 223, a third dialogue 224, and a result display 225A are displayed in sequence.
[0070] In the first dialogue 222, the chatbot service server 11 requests the user to input a question, to which the user terminal 3 responds. In this example, the chatbot service server 11 presents three options and suggests input of a free word (direct input), and one option (XX Exhibition) is selected from the user terminal 3. The display screen 211 is provided with a direct input section 226, and the user can input a free word (any phrase, sentence, etc.) into the direct input section 226, so that "XX Exhibition" may be input into the direct input section 226.
[0071] In the second dialogue 223, three options related to the "XX Exhibition" are presented by the chatbot service server 11, and one option (request for materials on the XX Exhibition) is selected by the user terminal 3. The user may also directly input "request for materials on the XX Exhibition" into the input unit 226.
[0072] In the third dialogue 224, the chatbot service server 11 requests input of parameters necessary for executing the external linkage mode, and each parameter is input from the user terminal 3. In this example, a linkage with an external system 6 is required to request information about an exhibition, and the user's name, organization name, and email address are required to link with the external system 6 (to request information from the external system 6).
[0073] The situation in the third dialogue 224 corresponds to the scenario in the second row from the top of the scenario table 133 shown in FIG. 14. "Question ID / Linkage ID: 02" in the second row from the top of the scenario table 133 corresponds to "Linkage ID: 02" in the linkage destination table 135. As shown in the external linkage table 132 (linkage destination table 135 and necessary information table 136) in FIG. 5, "Call ID: HttpConnector?code=02" corresponding to "Linkage ID: 02" is associated with "Parameters: Name, Organization Name, and Email Address". That is, the parameters required for external linkage can be obtained based on the information included in the scenario table 133. The linkage unit 104 (see FIG. 3) of the automatic response system 1 performs processing to request the user of the user terminal 3 to input the above parameters based on the information obtained from the scenario table 133 and the external linkage table 132. This allows the scenario to proceed smoothly without the user being aware of the start or end of external linkage in interactive communication.
[0074] The result display 225A shows an example of a state where the chatbot service server 11 has notified the user that the request for information has been completed normally and that the user is to return to the beginning of the scenario. Instead of the result display 225A, the result display 225B may allow the user to select an option to maintain the linked state with the external system 6 (research further into the XXX exhibition). This can prevent unnecessary switching between the external linked mode and the normal mode.
[0075] By using the scenario table 133 as described above, the chatbot service server 11 can flexibly cooperate with the external system 6. In addition, by allowing the administrator terminal 4 to arbitrarily register the scenario table 133, etc., it becomes possible to cooperate with the external system 6 more flexibly.
[0076] The above-described embodiment is presented as an example, and is not intended to limit the scope of the present invention. This novel embodiment can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the gist of the invention. In addition, the embodiment and modifications of the embodiment are included in the scope and gist of the invention, and are included in the scope of the invention and its equivalents described in the claims. [Explanation of symbols]
[0077] 1. Automated Response System 2.5 Network 3,3A,3B,3C User terminal 4. Administrator terminal 6,6A,6B External Systems 11 Chatbot service server 12 External Linkage Server 21 CPU 22 ROM 23 RAM 24 HD 25 HDD Controller 26 Display 28 External device connection interface 29 Network Interface 30 Bus Line 31 Keyboard 32 Pointing Device 33 DVD-RW 34 Media 36 Media I / F 41 Browser 42 Communication Tools 45 Browser 101 Communications Department 102 Collaboration Judgment Department 103 Search Department 104 Collaboration Department 105 Registration Department 111 Receiving unit 112 Transmitter 115 Coordination control section 116 Collaboration Processing Unit 121 Internal Registration Department 122 External Registration Department 131 FAQ Table 132 External Linkage Table 133 Scenarios 135 Linked Table 136 Required Information Table 201 External Link Registration Screen 202 Service URL input section 203 Type input section 204 Keyword input section 205 Call ID input section 211 Scenario registration screen 212 Title input section 213 Display text input section 214 Choice input section 215 Add button 216 Save button 221 Display screen 222 Dialogue No. 1 223 Second Dialogue 224 Third Dialogue 225A,225B Result display 226 Direct Input Section [Prior art documents] [Patent documents]
[0078] [Patent Document 1] JP 2018-92585 A
Claims
1. An automatic response system that provides a chatbot function, A receiving unit that receives question information transmitted from a user terminal; a link determination unit that determines whether or not to obtain response information corresponding to the received question information from an external system based on the received question information; a linking unit that, when it is determined that the information is to be acquired from the external system, performs a process on the user terminal to request input of necessary information required for using the service of the external system, based on information that the user terminal needs to ask again when using the service of the external system; and a transmission unit that transmits response information to the question information to the user terminal; An automatic response system comprising:
2. The linking unit terminates external linkage with the external system when acquired information acquired from the external system or the user terminal satisfies a predetermined termination condition.
2. The automated response system according to claim 1.
3. The termination condition is receiving information indicating that transmission of all information has been completed from the external system.
3. The automated response system according to claim 2.
4. The termination condition is receiving information indicating that the external link mode is to be terminated from the user terminal.
3. The automated response system according to claim 2.
5. the linking unit transmits question information to be received next from the user terminal to the external system based on the response information acquired from the external system, and acquires response information corresponding to the question information from the external system. The automatic response system according to any one of claims 1 to 4.
6. The cooperation determination unit determines that response information corresponding to the question information is to be acquired from the external system when an element included in the question information received from the user terminal and information related to the external system are associated and registered. The automatic response system according to any one of claims 1 to 5.
7. the linking unit transmits the question information to an external system corresponding to information on the external system among a plurality of external systems, and acquires response information; 7. The automated response system according to claim 6.
8. a storage unit that stores internal registration information in which question content included in the question information is associated with response information; The automatic response system according to any one of claims 1 to 7, further comprising:
9. A scenario table that associates a plurality of question contents registered in the scenario information with information indicating whether to refer to internal registration information or external linkage information for each of the question contents, the collaboration determination unit determines, based on the scenario table, whether to obtain response information corresponding to a question received in a first dialogue with the user terminal from the external system or from the internal registration information, and determines, based on the scenario table, whether to obtain response information corresponding to a next question received in a second dialogue following the first dialogue from the external system or from the internal registration information; When it is determined in the first dialogue or the second dialogue that the information is to be acquired from the external system, the linking unit performs a process of requesting the user terminal to input necessary information required for using a service of the external system through a third dialogue.
9. The automated response system according to claim 8.
10. The question content of the received question information includes an option selected by a user or a free word input by a user.
10. The automatic response system according to claim 8 or 9.
11. An automatic response method for a server providing a chatbot function, comprising: receiving question information transmitted from a user terminal; determining whether or not to acquire response information corresponding to the question information from an external system based on the received question information; a step of, when it is determined that the information is to be acquired from the external system, performing a process on the user terminal to request input of necessary information required for using the service of the external system, based on information that needs to be asked back from the user terminal when using the service of the external system; transmitting response information to the question information to the user terminal; Auto-response methods including:
12. A computer that processes data to provide chatbot functions. A process of receiving question information transmitted from a user terminal; A process of determining whether or not to acquire response information corresponding to the received question information from an external system based on the received question information; a process for requesting the user terminal to input necessary information required for using the service of the external system, based on information that needs to be asked back from the user terminal when using the service of the external system, when it is determined that the information should be acquired from the external system; A process of transmitting response information to the question information to the user terminal; An auto-response program that runs