Information processing system, control method thereof, and program
Patent Information
- Application Number
- JP2024177656
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-10
- Publication Date
- 2025-01-23
AI Technical Summary
Existing chatbot mechanisms, such as those described in Patent Document 1, do not integrate with other systems or applications, requiring a separate creation of a chatbot function for each application, which is inefficient.
A program and information processing device that acquires definition information and user questions to build applications with integrated chatbot functionality, utilizing setting acquisition means to enable chatbot functions based on this information.
Enables easy integration of chatbot functions into applications, allowing for efficient construction and management of chatbot capabilities across multiple applications.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a program, an information processing device, and a processing method for constructing an application. [Background technology]
[0002] Conventionally, there are tools and services that construct (generate) applications based on set definition information.
[0003] In addition, applications often have help and FAQ functions for application users, but in recent years, an increasing number of applications are offering chatbot functions that allow users to ask questions in a conversational format instead of the help and FAQ functions.
[0004] Patent Document 1 discloses a chatbot mechanism that answers questions about financial products. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2018-60503 A Summary of the Invention [Problem to be solved by the invention]
[0006] However, Patent Document 1 describes an independent chatbot mechanism that does not link with other systems or applications, and is not a technology for generating a chatbot function that accepts questions related to applications built using an application building tool.
[0007] Therefore, even if an application can be built in a short period of time using an application building tool, there is a problem in that a chatbot function must be separately created for the application users.
[0008] Therefore, an object of the present invention is to provide a mechanism for easily building applications that can utilize chatbot functions. [Means for solving the problem]
[0009] A program executable on an information processing device that builds an application, the program causing the information processing device to function as a construction means that builds an application using the chatbot function based on the definition information acquired by the definition information acquisition means, the information processing device having a definition information acquisition means that acquires definition information for building the application, a setting acquisition means that acquires a setting for whether to use a chatbot function that accepts questions related to the application from a user of the application and outputs answers to the questions, and when a setting for using the chatbot function is acquired by the setting acquisition means, the program causes the information processing device to function as a construction means that builds an application that can use the chatbot function based on the definition information acquired by the definition information acquisition means. Effect of the Invention
[0010] According to the present invention, a mechanism for easily constructing applications capable of utilizing chatbot functions can be provided. [Brief description of the drawings]
[0011] [Figure 1] FIG. 1 is a diagram illustrating an example of a configuration of a system according to the present invention. [Diagram 2] FIG. 2 is a block diagram showing an example of each hardware configuration applicable to an information processing device, an application server, a database server, and an application client. [Diagram 3] FIG. 2 is a block diagram illustrating an example of a software configuration. [Figure 4] 1 is a configuration diagram of a system according to the present invention. [Diagram 5] FIG. 13 illustrates an example of a flowchart for generating an application. [Figure 6] FIG. 13 illustrates an example of a flowchart for executing an application. [Figure 7] FIG. 13 is a diagram illustrating an example of a flowchart of chatbot processing. [Figure 8] FIG. 4 is a diagram showing an example of application setting information 407. [Figure 9] FIG. 4 is a diagram showing an example of QA data 425. [Figure 10] FIG. 13 is a diagram showing an example of a chatbot screen and a question. [Figure 11] FIG. 13 is a diagram showing an example of a chatbot screen and a response. [Figure 12] FIG. 13 is a diagram illustrating an example of an answer search process by a chatbot. [Figure 13] FIG. 13 is a diagram illustrating an example of a response sent from a chatbot. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
[0013] 1 is a system (information processing system) configuration diagram showing an example of the configuration of an information processing device (a software development device operated by a software developer for software development) according to the present invention, an application server, a database server, and an application client. Note that in this embodiment, software developed by the information processing device is called an application, but is not limited to an application and may be software other than an application (e.g., an OS).
[0014] The information processing device 101 defines screen layouts, database search instructions, etc. in accordance with operations by software developers. The information processing device 101 generates programs and applications.
[0015] In this embodiment, the application generated by the information processing device 101 is a Web application, but this is not limited to this, and the application may be an application other than an application that uses communication via Web technology, such as an application that runs on an information processing device such as a mobile phone, smartphone, or tablet, or embedded software.
[0016] In addition, in this embodiment, the information processing device 101 generates source code (program code) for the application, but this is not limited to this method. It is also possible to construct an application (operating environment) by generating data, files, etc. so that the application runs on the application server 102, a cloud environment, etc., without generating source code.
[0017] The application server 102 executes an application developed in the information processing device 101. Also, the application server 102 can be connected to a database server 103 for operation.
[0018] The database server 103 is a database used by the developed application, and may be used during development for checking operation, etc. For example, the database server 103 for use by a software developer may be configured as the same device as the information processing device 101 or the application server 102, or may be located within a network 105 such as a LAN.
[0019] The application client 104 (information processing device) is an input terminal of an end user that operates an application program developed in the information processing device 101 in cooperation with the application server 102. This application client 104 may be an information processing device such as a mobile terminal.
[0020] Any of the information processing device 101, the application server 102, the database server 103, and the application client 104 may be located on the Internet, such as in the cloud.
[0021] This concludes the explanation of FIG.
[0022] FIG. 2 is a block diagram showing an example of the hardware configuration applicable to the information processing device 101, application server 102, database server 103, and application client 104 according to the present invention.
[0023] In FIG. 2, a CPU 201 comprehensively controls each device connected to a system bus 204 .
[0024] The ROM 203 or the external memory 211 also stores an operating system (OS) which is a control program for the CPU 201, and programs for implementing various functions of the information processing device, such as each server, client, and device, which will be described later.
[0025] The RAM 202 functions as a main memory, a work area, a temporary save area, and the like for the CPU 201.
[0026] The input controller 205 controls input from an input unit 209. In an information processing device, the input unit 209 may include a keyboard, a pointing device such as a mouse, and a touch panel.
[0027] When the input unit 209 is a touch panel, the user can give various instructions by pressing (touching with a finger or the like) an icon, cursor, or button displayed on the touch panel.
[0028] The touch panel may be a touch panel capable of detecting positions touched by multiple fingers, such as a multi-touch screen.
[0029] The output controller 206 controls the display of the output unit 210. Examples of the output unit 210 include a CRT or a liquid crystal display. The output unit 210 also includes a display of a notebook computer integrated with the main body. It may also be a projector.
[0030] The external memory controller 207 controls access to an external memory 211 that stores a boot program, various applications, font data, user files, edit files, printer drivers, etc. The external memory 211 stores various tables and parameters for implementing various functions of each server, client, device, etc. Examples of the external memory 211 include a hard disk (HD), a flexible disk (FD), a compact flash (registered trademark) connected to a PCMCIA card slot via an adapter, a smart media, etc.
[0031] The CPU 201 enables display on the output unit 210 by, for example, executing outline font expansion (rasterization) processing on a display information area in the RAM 202. The CPU 201 also enables user instructions with a mouse cursor (not shown) on the output unit 210.
[0032] A communication I / F controller 208 executes a process for controlling communication with external devices via a network. For example, communication using TCP / IP is possible.
[0033] A program 212 for implementing the present invention is recorded in the external memory 211, and is executed by the CPU 201 by being loaded into the RAM 202 as required.
[0034] FIG. 3 is a block diagram showing an example of a software configuration according to the embodiment of the present invention.
[0035] The information processing device 101 includes the following functional units.
[0036] The definition information acquisition unit 301 is a functional unit that acquires definition information for constructing an application.
[0037] The setting acquisition unit 302 is a functional unit that acquires settings on whether to use a chatbot function that accepts questions about an application from a user of the application and outputs answers to the questions.
[0038] The construction unit 303 is a functional unit that, when settings for using the chatbot function are acquired by the setting acquisition unit 302, constructs an application that can use the chatbot function based on the definition information acquired by the definition information acquisition unit 301.
[0039] The construction unit 303 is a functional unit that constructs an application that can use the chatbot function on a screen for which the settings for using the chatbot function have been acquired by the setting acquisition unit 302.
[0040] The construction unit 303 is a functional unit that constructs an application that can utilize a chatbot function to output an answer acquired based on the content of a question and identification information of an application screen related to the question.
[0041] The construction unit 303 is a functional unit that constructs an application that can utilize a chatbot function to output an answer acquired based on the content of a question and the identification information of an application related to the question.
[0042] This concludes the explanation of FIG.
[0043] FIG. 4 is a diagram showing the configuration of the information processing device 101, the application server 102, and the application client 104.
[0044] The information processing device 101 includes a repository definition unit 401 and an application generation unit 410 .
[0045] The information processing device 101 generates an application by an application generation unit 410 using the definitions in a repository definition unit 401 set by a developer who develops the application.
[0046] The repository definition section 401 stores an application definition 402, an input / output definition 403, a data model definition 404, a business process definition 405, a database definition 406, application setting information 407, and QA data 408. These definitions 402 to 408 are set or arranged mainly by an application developer via an application construction tool. Of course, the QA data 408 etc. may be created by an application manager or the like, instead of the application developer.
[0047] The input / output definition 403 holds definition information of the layout of various items arranged on the application screen, and includes input item definition information and output item definition information.
[0048] Input item definition information is information that defines the input items that an end user of the application enters via the screen of the generated application. Output item definition information is information that defines the output items that are output on the screen of the generated application. Hereinafter, "input item definition information" and "output item definition information" are collectively referred to as "input / output item definition information."
[0049] In this embodiment, "input item definition information is information that defines the input items input by the end user of the application via the screen of the generated application" and "output item definition information is information that defines the output items to be output on the screen of the generated application", but this is not limited to these and may be, for example, like batches and Web services that do not have screens, "input item definition information is information that defines the input items to be input into the generated application" and "output item definition information is information that defines the output items to be output by the generated application".
[0050] The data model definition 404 holds definition information of items of a database table. Each item of the input / output definition 403 can be associated with an item of the data model definition 404.
[0051] The business process definition 405 holds definition information of logic for processing data in an application.
[0052] The database definition 406 defines information related to the database to which the application connects (such as the IP address of the database server 103, the connecting user, and the connecting password).
[0053] The application setting information 407 defines whether or not a chat area is to be displayed on the application screen.
[0054] The QA data 408 defines a combination of Q&A for the chatbot server 106 to answer a question.
[0055] The application generation unit 410 uses a repository definition analysis unit 411 for application generation to analyze each definition stored in the repository definition unit 401 and the relationships between the definitions, and uses a source code generation unit 413 to generate application source code including HTML / JSP / JavaScript (registered trademark) 422 and 424. Furthermore, for any of the generated application source codes that require compilation, a source code compilation unit 414 is used to generate compiled source code 421. In other words, the application generation unit 410 is an example of a means for generating a program to be used as an application by using a set definition.
[0056] Next, the chatbot server 106 will be described.
[0057] Compiled source code 423 used for chatbot processing, and application source code including HTML / JSP / JavaScript (registered trademark) 424 are similarly generated using an application generation unit 410, a source code generation unit 413, and a source code compilation unit 414.
[0058] Furthermore, the chatbot server 106 generates QA data 425 based on the QA data 408 stored in the repository definition unit 401. The chatbot server 106 refers to the QA data 425, acquires an answer to a question from an application user, and returns the answer.
[0059] This is the end of the explanation of FIG.
[0060] FIG. 5 is a diagram illustrating an example of a flowchart for generating an application.
[0061] The information processing device 101 manages each definition in the repository definition section 401 as a file using a directory structure. Note that in the present embodiment, the definition in the repository definition section 401 is managed as a file using a directory structure, but this is not limiting, and for example, each definition in the repository definition section 401 may be managed using a database, or may be managed using a storage device on a network such as the cloud.
[0062] The flow chart of application generation will now be described.
[0063] In step S501, the information processing apparatus 101 accepts the setting of the application definition 402. That is, step S501 is a step showing an example of a process of acquiring definition information for constructing an application.
[0064] Specifically, settings of an input / output definition 403, a data model definition 404, a business process definition 405, a database definition 406, application setting information 407, and QA data 408 are accepted from an application developer via the screen of the application construction tool.
[0065] In step S501, the settings of the accepted application definition 402, input / output definition 403, data model definition 404, business process definition 405, database definition 406, application setting information 407, and QA data 408 are stored in the XML file format in the repository definition section 401. Note that, although the XML file format is used in this embodiment, the format is not limited to this and other formats may be used.
[0066] In step S502, the information processing apparatus 101 receives an instruction to generate an application.
[0067] In step S503, the information processing apparatus 101 acquires the application definition 402 from the repository definition unit 401. The repository definition analysis unit 411 analyzes the read definition and stores it in the ROM 203, and the analyzed definition is appropriately referred to by each generation unit.
[0068] In step S 504 , the information processing device 101 acquires the data model definition 404 from the repository definition unit 401 .
[0069] In step S 505 , the information processing device 101 acquires the input / output definition 403 from the repository definition unit 401 .
[0070] In step S 506 , the information processing device 101 acquires the business process definition 405 from the repository definition unit 401 .
[0071] In step S 507 , the information processing device 101 acquires the database definition 406 from the repository definition section 401 .
[0072] In step S 508 , the information processing apparatus 101 acquires the application setting information 407 from the repository definition unit 401 .
[0073] In step S509, the information processing apparatus 101 acquires the QA data 408 from the repository definition section 401. That is, steps S501 to S509 are steps showing an example of a process of acquiring definition information for constructing an application.
[0074] In step S510, the information processing device 101 uses the application generation unit 410 to generate the application source code 440 to be used in the application.
[0075] In step S511, the information processing device 101 places (deploys) the application source code 440 generated in step S510 in the application server .
[0076] That is, step S511 is a step showing an example of a process for constructing an application based on the acquired definition information.
[0077] That is, step S511 is a step showing an example of a process of constructing an application capable of using the chatbot function based on the acquired definition information when a setting for using the chatbot function is acquired.
[0078] That is, step S511 is a step showing an example of a process for constructing an application that can use the chatbot function on a screen where settings for using the chatbot function have been acquired.
[0079] Furthermore, the QA data 408, the compiled source code 423 for executing the chatbot function, and the screen information 424 acquired in step S509 are placed in the chatbot server 106. Note that in this embodiment, the QA data 408, the compiled source code 423, and the screen information 424 are placed in the chatbot server 106, but this is not limiting, and only the QA data 408 may be placed in the chatbot server 106, or the QA data 408 etc. may be placed in other information processing devices such as the application server 102 or the application client 104.
[0080] In this manner, the application for which a generation instruction has been received can be generated (constructed).
[0081] This concludes the explanation of FIG.
[0082] FIG. 6 is a diagram illustrating an example of a flowchart of application execution.
[0083] In step S601, when the application server 102 starts the application deployed in step S511, it acquires the application setting information 407 included in the application and acquires chat area display settings for the application and each screen. That is, step S601 is a step showing an example of a process for acquiring settings for using a chatbot function that accepts questions about the application from a user of the application and outputs answers to the questions.
[0084] 800 in Fig. 8 is a diagram showing an example of the application setting information 407. Here, Fig. 8 will be explained.
[0085] "help.chatUI.show" (801 in FIG. 8) is a setting for whether or not to display the chat area on the screen of the generated application (0: hidden, 1: displayed in closed state, 2: displayed in open state).
[0086] "sampleIO.help.chatUI.show" (802 in Fig. 8) is a setting for whether or not to display the chat area on the screen with screen code = "sampleIO" (0: hidden, 1: displayed in closed state, 2: displayed in open state). In other words, 802 in Fig. 8 is an example of a means for setting whether or not to use the chatbot function for each identification information of an application screen.
[0087] The display / hide status of each screen is determined by prioritizing the setting value of "screencode.help.chatUI.show" over the setting value of "help.chatUI.show", so for screens for which you want to set settings differently from those of "help.chatUI.show", set them individually using "screencode.help.chatUI.show".
[0088] In step S602, application server 102 determines the chat area display setting of the application screen to be displayed. If the chat area is not to be displayed, application screen information that does not display the chat area is sent to application client 104 and the process proceeds to step S603. If the chat area is to be displayed, application screen information that displays the chat area is sent to application client 104 and the process proceeds to step S604.
[0089] That is, step S602 is a step showing an example of a process for making the chatbot function available based on the acquired definition information when a setting for using the chatbot function is acquired.
[0090] That is, step S602 is a step showing an example of a process for making the chatbot function available on a screen on which settings for using the chatbot function have been acquired.
[0091] In other words, if the screen ID of the application screen to be displayed is set in "sampleIO.help.chatUI.show" (802 in FIG. 8) in the application setting information 407, the chat area display setting is determined by the setting value, and if not set, the chat area display setting is determined by the setting value of "help.chatUI.show" (801 in FIG. 8).
[0092] In this embodiment, the "chat area display setting = display / hide" is used, but the setting method is not limited to this, and may be, for example, "chatbot function usage setting = possible (enabled) / impossible (disabled)". In this case, if the "chatbot function usage setting = possible (enabled)", the control is made to allow the input of a question to be accepted, and if the "chatbot function usage setting = impossible (disabled)", the control is made to prevent the input of a question from being accepted.
[0093] In this embodiment, the chatbot function can be enabled / disabled on an application-by-application or screen-by-screen basis set in the application setting information 407, but this setting method is not limited to this. The "chat area display setting = display / hide" may be determined based on the attributes of the application user (company, organization, authority, etc.), the type and version of the terminal, OS, and browser of the application client, the value or status of the application data referenced, the time or place of application use, or the identification information of the application server, etc.
[0094] In step S603, application client 104 receives the application screen information transmitted from application server 102, and displays an application screen that does not display a chat area.
[0095] In step S604, the application client 104 receives the application screen information transmitted from the application server 102, and displays an application screen showing a chat area 1010 (FIG. 10). In the chat area, a text box 1011 (FIG. 10) is displayed for inputting a question to be sent to the chatbot.
[0096] In step S605, application client 104 accepts a question from the application user. Specifically, a question is input into text box 1011. Here, it is assumed that the question "What kind of function is line jump?" is input (1021 in FIG. 10). Note that in this embodiment, the question is input by text, but this is not limited to this method, and other input methods may be used, such as selection of display content on the application screen, selection from question options, or voice input of the question.
[0097] In step S606, the application client 104 transmits the question content, application code, and screen code received in step S605 as question information to the chatbot server 106. 1003 in Fig. 10 is an example of question information transmitted to the chatbot server 106 when the question content "What kind of function is line jump?" is input from a screen with application code = "sampleAPP" and screen code = "sampleIO".
[0098] In step S607, the chatbot server 106 executes the chatbot process (FIG. 7).
[0099] Here, a description will be given of Fig. 7. Fig. 7 is a diagram showing an example of a flowchart of chatbot processing.
[0100] In step S701, the chatbot server 106 receives question information sent from the application client 104.
[0101] In step S702, the chatbot server 106 compares the date and time when the QA data was last read with the date and time when the QA data file was updated, and if the QA data file has been updated since the QA data was last read, the process proceeds to step S703; if it has not been updated, the process proceeds to step S704.
[0102] In step S703, the chatbot server 106 reads the QA data 425 (FIG. 9) and stores it in the RAM 202.
[0103] Here, a description will be given of Fig. 9. Reference numeral 900 in Fig. 9 is a diagram showing an example of the QA data 425.
[0104] For example, four QA records are stored in the QA data 425 900 in Fig. 9. The QA data is written in the order of {question, answer, application code, screen code}, separated by commas.
[0105] "Question" and "Answer" are used to search for QA. "Application code" and "Screen code" are set when you want to prepare different QA records for each application and each screen. For example, if you want to prepare QA data for a specific application or a specific screen, you can set the respective code in the application code or screen code to hit QA records only for questions from that application or that screen.
[0106] QA record 901 does not have an "application code" or a "screen code" set, so it can be used as an answer that does not limit the application or screen. In other words, it is a broad and general question that may be asked from any application or screen.
[0107] QA record 902 sets an "application code" but not a "screen code," so it can be used as an answer that limits the application but not the screen code. In other words, it is a question that is likely to be asked on multiple screens of a specific application. In other words, QA record 902 is QA data about a function that exists only in a specific application.
[0108] QA record 903 does not set an "application code" but a "screen code," so it can be used as an answer that does not limit the application but limits the screen code. In other words, it is a question that is likely to be asked from a specific screen in multiple applications. In other words, QA record 903 is QA data about a function that is common to multiple applications but exists only on a specific screen (e.g., a print function).
[0109] Since the QA record 904 has an "application code" and a "screen code" set, it can be used as an answer that limits both the application and the screen code. In other words, it is a pinpoint question that is likely to be asked from a specific screen of a specific application. In other words, the QA record 904 is QA data about a function that exists only on a specific screen of a specific application.
[0110] This is the end of the explanation of FIG.
[0111] Returning to the explanation of Figure 7.
[0112] In step S704, the chatbot server 106 searches for an answer corresponding to the question from among the QA data 425 stored in the RAM 202 whose "application code" and "screen code" match the "application code" and "screen code" included in the question information (1201 in FIG. 12). If an answer is found, the process proceeds to step S708; if not, the process proceeds to step S705.
[0113] That is, step S704 is a step showing an example of a process of acquiring an answer based on the content of the question and the identification information of the application screen related to the question.
[0114] That is, step S704 is a step showing an example of a process of acquiring an answer based on the content of the question and the identification information of the application related to the question.
[0115] This will result in a hit for a QA record in which an "application code" and a "screen code" are set, such as QA record 904 (Figure 9), and answers to pinpoint questions that are likely to be asked from a specific screen of a specific application will be output preferentially.
[0116] Here, a description will be given of Fig. 12. Fig. 12 is a diagram showing an example of an answer search process by a chatbot.
[0117] The answer search process is performed in the order of 1201 to 1204, and when an answer corresponding to the question is found, the process of FIG.
[0118] The searcher is an object that performs morphological analysis, extracts keywords, and indexes the QA data 425.
[0119] A query is an object that is obtained by morphologically analyzing the question content of the question information 1003, extracting keywords, and indexing the same.
[0120] The appFilter is the application code of the question information 1003. When no application code is specified, "allAppFilter", which means all application codes, is used instead of appFilter.
[0121] The ioFilter is the screen code of the question information 1003. If the screen code is not specified, "allIoFilter", which means all screen codes, is used instead of ioFilter.
[0122] In this embodiment, the QA data 425 and the question information 1003 are subjected to morphological analysis, keyword extraction, and indexing to obtain answers to questions. However, this is not limited to this method, and answers may be obtained using other language analysis techniques, artificial intelligence, or in cooperation with other systems.
[0123] This is the end of the explanation of FIG.
[0124] Returning to the explanation of Figure 7.
[0125] In step S705, the chatbot server 106 searches for an answer corresponding to the question from among the QA data 425 stored in the RAM 202, whose "application code" matches the "application code" included in the question information (1202 in FIG. 12), and if an answer is found, the process proceeds to step S708, and if not, the process proceeds to step S706. That is, step S705 is an example of a process for acquiring an answer based on the content of the question and the identification information of the application related to the question.
[0126] This will result in a hit for a QA record with an "application code" set, such as QA record 902 (Figure 9), and answers to questions that are likely to be asked on multiple screens of a specific application will be output preferentially.
[0127] In step S706, the chatbot server 106 searches for an answer corresponding to the question from among the QA data 425 stored in the RAM 202, whose screen code matches the screen code included in the question information (1203 in FIG. 12), and if an answer is found, the process proceeds to step S708, and if not, the process proceeds to step S707. That is, step S706 is an example of a process for acquiring an answer based on the content of the question and the identification information of the application screen related to the question.
[0128] This will result in a hit for a QA record with a "screen code" set, such as QA record 903 (Figure 9), and answers to questions that are likely to be asked on multiple screens of a specific application will be output preferentially.
[0129] In step S707, the chatbot server 106 searches for an answer corresponding to the question from the QA data 425 stored in the RAM 202 (1204 in FIG. 12), and if an answer is found, the process proceeds to step S708, and if not, the process proceeds to step S709.
[0130] This will hit a QA record that does not have an "application code" or "screen code" set, such as QA record 901 (Figure 9), and output answers to general questions that may be asked from any application or any screen.
[0131] In this embodiment, if an answer is found in steps S704 to S706, no further search is performed, but the present invention is not limited to this procedure, and even if an answer is found in steps S704 to S706, a subsequent search may be performed and the answers may be output in the order of hits (step S609 in FIG. 6). This allows pinpoint answers to be output preferentially, and general answers to be output last, allowing the application user to preferentially obtain the answer he or she desires.
[0132] In step S708, the chatbot server 106 transmits the hit answer content to the application client 104. 1301 in Fig. 13 is an example of a log of the chatbot server 106 when an answer is hit in step S706. 1302 in Fig. 13 is an example of a log of the chatbot server 106 when an answer is hit in step S707.
[0133] In step S709, the chatbot server 106 transmits a message indicating that there is no hit answer to the application client 104. 1303 in Fig. 13 is an example of a log of the chatbot server 106 when no hit answer is found.
[0134] This is the end of the explanation of FIG.
[0135] Returning to the explanation of Figure 6.
[0136] In step S608, the application client 104 receives the answer from the chatbot server 106. 1101 in Fig. 11 is an example of answer information received from the chatbot server 106 when an answer is found by the process in Fig. 7.
[0137] In step S609, the application client 104 outputs the answer from the chatbot server 106. 1102 in Fig. 11 is an example of output of answer information when an answer is found by the process of Fig. 7. 1103 in Fig. 11 is an example of output of answer information when an answer is not found by the process of Fig. 7.
[0138] In this embodiment, the answer is displayed in text in the chat area, but this output method is not limited to this, and other output methods may be used, such as displaying the answer near the application screen component related to the question content, displaying the answer as an image, outputting the answer as audio, etc.
[0139] In this embodiment, the application client 104 and the chatbot server 106 send and receive information to obtain answers to questions, but this is not limited to this method. Alternatively, the QA data 425 may be downloaded to the application client 104 and answers to questions may be obtained through processing within the application client 104, or information may be sent and received between the application client 104 and the chatbot server 106 via the application server 102.
[0140] In step S610, the application client 104 accepts an operation on the application screen. This process is not directly related to the chatbot function.
[0141] In step S611, the application client 104 transmits the operation information accepted in step S610.
[0142] In step S612, the application server 102 receives the operation information for the application screen.
[0143] In step S613, the application server 102 executes the application process based on the operation information of the application screen, and after the process, specifies the transition destination application screen and returns to step S602.
[0144] This concludes the explanation of FIG.
[0145] As a result, an application can be constructed using an application construction tool, and a chatbot function can be easily constructed for the application user. In other words, an application capable of utilizing the chatbot function can be easily constructed.
[0146] In addition, by having the "application code" and "screen code" in the QA data and performing processing as shown in Figure 7, it becomes possible to adjust the hit rate for each "application" and "screen," making it easier to tune the hit rate of the QA data.
[0147] In this embodiment, the QA record can have one "application code" and one "screen code", but this is not limited to one, and multiple "application codes" and multiple "screen codes" may be set. This allows for more flexible adjustment of the hit rate of QA data.
[0148] In addition, by having an "application code" in the QA data and configuring the system as shown in Figure 4, it becomes possible to share the chatbot function among multiple applications, making it easier to manage the chatbot function and QA data.
[0149] As described above, it goes without saying that the object of the present invention can be achieved by supplying a recording medium on which a program that realizes the functions of the above-mentioned embodiments is recorded to a system or device, and having the computer (or CPU or MPU) of that system or device read and execute the program stored on the recording medium.
[0150] In this case, the program itself read out from the recording medium will realize the novel functions of the present invention, and the recording medium on which the program is recorded will constitute the present invention.
[0151] Examples of recording media for supplying the program include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, DVD-ROMs, magnetic tapes, non-volatile memory cards, ROMs, EEPROMs, silicon disks, etc.
[0152] Furthermore, it goes without saying that the functions of the above-mentioned embodiments are not only realized by the computer executing a program it has read, but also includes cases where an OS (operating system) running on the computer performs some or all of the actual processing based on the instructions of the program, and the functions of the above-mentioned embodiments are realized through that processing.
[0153] Furthermore, it goes without saying that this also includes cases where a program read from a recording medium is written into a memory provided on a function expansion board inserted into a computer or a function expansion unit connected to a computer, and then a CPU or the like provided on the function expansion board or function expansion unit performs some or all of the actual processing based on the instructions of the program code, thereby realizing the functions of the above-mentioned embodiments.
[0154] The present invention may be applied to a system consisting of multiple devices, or to an apparatus consisting of a single device. Needless to say, the present invention can also be applied to a case where the object is achieved by supplying a program to a system or apparatus. In this case, the effect of the present invention can be enjoyed by the system or apparatus by reading a recording medium storing a program for achieving the present invention into the system or apparatus.
[0155] The program may be in the form of object code, program code executed by an interpreter, script data supplied to an OS (operating system), or the like.
[0156] Furthermore, by downloading and reading a program for achieving the present invention from a server, database, etc. on a network using a communication program, the system or device can enjoy the effects of the present invention. Note that the present invention also includes configurations that combine the above-mentioned embodiments and their modified examples. [Explanation of symbols]
[0157] 101 Information processing device 102 Application Server 103 Database Server 104 Application Client 105 Network 106 Chatbot Server
Claims
1. An acquisition means for acquiring setting information related to an application to be constructed; a control means for controlling, when the setting information acquired by the acquisition means includes setting information related to a predetermined function of outputting an answer to a question received from a user of the application, to construct an application that realizes the predetermined function based on the setting information acquired by the acquisition means. An information processing system comprising:
2. The control means When detecting a setting related to the predetermined function or when detecting that an instruction related to the predetermined function has been received, control is performed so as to construct an application that realizes the predetermined function based on the setting information acquired by the acquisition means.
2. The information processing system according to claim 1,
3. The setting information is Definition information of the layout of various items to be arranged on the screen of the application; Information defining input items to be input into the application; Information defining output items to be output by the application; Definition information for database table fields, definition information of logic for processing data in the application; information relating to the database to which the application connects; IP address of the database, connection user, and connection password information At least one of the following must be included:
3. The information processing system according to claim 1 or 2,
4. The predetermined function is: A function including displaying a function area including an input area for the question and an output area for the answer when displaying a screen of the application.
4. The information processing system according to claim 1, wherein:
5. The functional area is a chat area.
5. The information processing system according to claim 4,
6. The control means When the setting information related to the predetermined function is included in association with the screen of the application, control is performed to construct an application that controls whether or not to display the function area in association with the screen of the application.
6. The information processing system according to claim 4 or 5,
7. The control means Controlling to construct an application that controls whether the functional area is displayed in a closed state or an open state when the functional area is displayed.
7. The information processing system according to claim 4, wherein:
8. The control means and controlling the construction of an application that outputs an answer obtained by searching the question and the application identification information.
8. The information processing system according to claim 1, wherein:
9. The control means and controlling to construct an application that outputs an answer obtained by a search using the question and screen identification information of the application when the question was entered.
9. The information processing system according to claim 1, wherein:
10. The predetermined function is The search is executed by searching data in which the question, the answer, the application identification information, and the application screen identification information are associated with each other; The setting or placement of the data can be accepted from the developer.
10. The information processing system according to claim 1, wherein:
11. When the application instructs execution of the predetermined function, A first type of answer in which both the identification information of the application when the question was entered and the screen identification information of the application match; A second type of answer in which the identification information of the application at the time the question was entered matches and is not related to the screen identification information of the application; A third type of answer in which the screen identification information of the application matches regardless of the identification information of the application when the question was entered; A fourth type of answer that is independent of both the application identification information and the application screen identification information when the question was entered; Any of the above is output preferentially in the order of the first type of answer, the second type of answer, the third type of answer, and the fourth type of answer.
11. The information processing system according to claim 10,
12. The predetermined function is a chatbot.
12. The information processing system according to claim 1, wherein:
13. The predetermined function is a chatbot that a user of the application uses to ask questions about the application.
13. The information processing system according to claim 1, wherein:
14. An acquisition step of acquiring setting information related to an application to be constructed; a control step of controlling to build an application that realizes a predetermined function based on the setting information acquired in the acquisition step when the setting information acquired in the acquisition step includes setting information related to a predetermined function of outputting an answer to a question received from a user of the application.
13. A method for controlling an information processing system comprising:
15. A program for causing at least one computer to function as each of the means of the information processing system according to any one of claims 1 to 13.