Information processing system, information processing device, information processing method, and program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- RICOH CO LTD
- Filing Date
- 2025-10-06
- Publication Date
- 2026-08-05
AI Technical Summary
【0006】 本発明は、対話AIとの対話において外部機能を利用できる。
Smart Images

Figure 2026127015000001_ABST
Abstract
Description
Technical Field
Background Art
[0002] There are known techniques for generating documents or retrieving information by interacting with a dialogue AI. There is also known a technique for using an external function provided by an external server device for data processing required for business. Patent Document 1 describes performing printing of data according to an external function such as a workflow.
Summary of the Invention
Problems to be Solved by the Invention
[0003] However, in the conventional technology, the use of external functions in the dialogue with the dialogue AI has not been considered.
[0004] The present invention has been made in view of the above points, and provides a technique for using an external function in a dialogue with a dialogue AI.
Means for Solving the Problems
[0005] In view of the above problems, the present invention provides an information processing system including: a reception unit that receives an input of an input message to a dialogue AI that is interacting with a user; a search unit that searches for document data using the input message; an external function cooperation unit that transmits the document data searched by the search unit to an external system and acquires an execution result of an external function executed using the document data; and a display control unit that displays the execution result acquired by the external function cooperation unit from the external system.
Effects of the Invention
[0006] The present invention can use an external function in a dialogue with a dialogue AI.
Brief Description of the Drawings
[0007] [Figure 1] This is a diagram showing an example of the configuration of an information processing system. [Figure 2] This figure shows an example of the hardware configuration of an information processing device and a terminal device. [Figure 3] This figure shows an example of the functional configuration of an information processing system. [Figure 4] This figure shows an example of chunk information stored in the data storage unit. [Figure 5] This figure shows an example of agent information stored in the agent information storage unit. [Figure 6] This figure shows an example of user information stored in the user information storage unit. [Figure 7] This figure shows an example of workflow information stored in the workflow information storage unit. [Figure 8] This figure shows an example of history information stored in the history information storage unit. [Figure 9] This diagram shows an example of the processes performed by a workflow tool. [Figure 10] This diagram provides a simplified explanation of how workflow definitions are performed by workflow tools. [Figure 11] This figure shows an example of a registration screen for registering a workflow with an agent. [Figure 12] This is a sequence diagram illustrating an example of the operations and processes performed by an information processing system. [Figure 13] This sequence diagram illustrates an example of the actions and processes performed by an information processing system in response to an input message. [Figure 14] This is a sequence diagram illustrating an example of the actions and processes performed by an information processing system in relation to the workflow proposal process. [Figure 15] This sequence diagram illustrates an example of the actions and processes performed by an information processing system in relation to the execution of a workflow. [Figure 16]It is a flowchart diagram for explaining an example of a determination method when "prioritize chat history". [Figure 17] It is a flowchart diagram for explaining an example of a determination method when "prioritize the relevance with document data that matches the search". [Figure 18] It is a flowchart diagram for explaining an example of a determination method when "prioritize the relevance with the execution agent". [Figure 19] It is a flowchart diagram for explaining an example of a determination method when "prioritize the relevance with the department to which the user belongs". [Figure 20] It is a diagram showing an example of the display of the dialogue screen at the start of the dialogue. [Figure 21] It is a diagram showing an example of the display of output information. [Figure 22] It is a diagram showing an example of the display when selecting document data. [Figure 23] It is a diagram showing an example of the display of the workflow list. [Figure 24] It is a diagram showing an example of the display of reply information. [Figure 25] It is a diagram showing an example of the display of the input message entered by selecting an option. [Figure 26] It is a diagram showing an example of the display of reply information. [Figure 27] It is a diagram showing an example of the functional configuration of the terminal device in the second embodiment. [Figure 28] It is a sequence diagram for explaining an example of the processing procedure of the display processing of the response message etc. in the second embodiment.
Mode for Carrying Out the Invention
[0008] Hereinafter, as an example of the mode for carrying out the present invention, an information processing system and an information processing method performed by the information processing system will be described while referring to the drawings.
[0009] [First Embodiment] <System Configuration Example> Figure 1 shows an example configuration of the information processing system 100 in this embodiment. In Figure 1, one or more terminal devices 20 are connected to the information processing device 10 via a network N such as a LAN (Local Area Network) or the Internet.
[0010] The information processing device 10 is one or more computers having software (hereinafter referred to as "agents") that interacts with the user. An agent is an example of a conversational AI, and is a personified virtual entity that appears to the user as a conversation partner. Interaction with the conversational AI (conversation partner) means that when the user inputs an input message, a response message is output in response to it. In this embodiment, the agent also displays a list of document data that matches the search for the input message. Specifically, the agent receives the input message entered by the user from the terminal device 20, searches for document data, and generates a response message using the document data. The agent outputs output information including the response message and the list of document data to the terminal device 20. The input message entered by the user may be a question, an instruction or request, or other input information that requires a response message. The response message is text containing information corresponding to the input message. The response message may be output as voice.
[0011] The agent generates response messages using RAG (Retrieval Augmented Generation). RAG is a technology that searches a large amount of business documents, regulations, internal information, and external information stored in a company's memory to extract information, and then uses a Large Language Mode (LLM) to generate responses based on the extracted information. By using RAG, it is possible to refer to a database that holds accurate information and generate factual response messages.
[0012] However, simply acquiring document data using RAG or similar means that the information processing system 100 can only support a portion of the user's tasks. For example, there is a demand for automated tasks such as generating documents in a predetermined format using the document data, performing detailed analysis, and making future predictions. Furthermore, there is a need to support tasks beyond information generation, such as scheduling review of generated response messages and reserving meeting rooms.
[0013] Furthermore, high precision is sometimes required regarding the display format of the generated document data. In some cases, it may be necessary to output the data in a customized display format tailored to each user. In these situations, the agent needs to output the data in the required display format.
[0014] Therefore, the information processing system 100 of this embodiment supports user operations by cooperating with an external workflow server 5 based on document data or response messages acquired by RAG or the like. The workflow server 5 has workflows pre-configured to support user operations. As a result, the information processing device 10 can generate information required for user operations with high accuracy.
[0015] As shown in Figure 1, one or more workflow servers 5-1 to 5-N exist on network N. Hereafter, any workflow server 5 will be referred to as "workflow server 5". Workflow server 5 is an external system that is not included in the information processing system 100.
[0016] Workflow tools provided by Workflow Server 5 include, for example, Dify, n8n, dataiku, and PowerAutomate (all registered trademarks; omitted hereafter), but the workflow tool may be selected as appropriate. The Information Processing Device 10 has registered APIs (Application Programming Interfaces) for workflows executed by Workflow Server 5. The Information Processing Device 10 proposes a workflow. For example, the following method can be used to determine which workflow to propose. • Propose a workflow based on the chat history. • Propose frequently used workflows for selected document data that match the search criteria. • Propose frequently used workflows in the execution agent. • Suggest workflows that are frequently used within the user's department.
[0017] The agent may also be called an automated response system, AI agent, digital clone, personalized AI, AI assistant, automated response AI, conversation partner, AI chatbot, companion, concierge, or virtual conversation interface. The agent may also be a virtual human displayed as a conversation partner on the screen of the terminal device 20 as a 3D avatar modeled after a person.
[0018] The terminal device 20 is a device that functions as a user interface for the information processing system 100. For example, a PC (Personal Computer), smartphone, or tablet terminal may be used as the terminal device 20. The terminal device 20 receives input messages from the user and outputs output information corresponding to those input messages. Input messages may be text, images, graphics, audio, etc. Output information may include response messages, images, graphics, and audio.
[0019] In this embodiment, it is assumed that the information processing system 100 is operated within a certain company (hereinafter referred to as "Company X"). Therefore, users who can access the information processing device 10 are employees of Company X or other persons belonging to Company X. However, the services provided by the information processing device 10 may be made publicly available as cloud services.
[0020] <About Terminology> Document data refers to electronically recorded documents, but its data format is not limited to any particular type. An example of document data is an electronic file (hereinafter simply referred to as a file).
[0021] An external system is a separate system that operates independently of the information processing device 10, provides data and services, and interacts with the information processing device 10. For example, the external system may expose an API, and the information processing device 10 may communicate by calling this API. In this embodiment, a workflow server will be used as an example.
[0022] External functions are functions possessed by external systems. External functions include information processing services, data processing services, web services, AI services, and other functions that return results processed over a network. In this embodiment, the workflow corresponds to an external function. A workflow is a process in which data and tasks flow through a system and are processed according to certain rules and procedures. In a workflow, the inputs, outputs, and flow are clearly defined.
[0023] <Example Hardware Configuration> Figure 2 shows an example of the hardware configuration of the information processing device 10 and terminal device 20 in an embodiment of the present invention. As shown in Figure 2, the information processing device 10 and terminal device 20 are built by a computer 500. The computer 500 includes a CPU (Central Processing Unit) 101, ROM (Read Only Memory) 102, RAM (Random Access Memory) 103, HD (Hard Disk) 104, HDD (Hard Disk Drive) controller 105, display 106, external device connection I / F (Interface) 108, network I / F 109, data bus 110, keyboard 111, pointing device 112, optical drive 114, and media I / F 116.
[0024] Of these, the CPU 101 controls the operation of the entire information processing unit 10. The ROM 102 stores programs used to drive the CPU 101, such as the IPL (Initial Program Loader). The RAM 103 is used as the work area for the CPU 101. The HD 104 stores various data such as programs. The HDD controller 105 controls the reading or writing of various data to the HD 104 according to the control of the CPU 101. The display 106 displays various information such as cursors, menus, windows, characters, or images. The external device connection I / F 108 is an interface for connecting various external devices. In this case, external devices include, for example, USB (Universal Serial Bus) memory and printers. The network I / F 109 is an interface for data communication using a communication network. The data bus 110 is an address bus and data bus, etc., for electrically connecting each component such as the CPU 101 shown in Figure 2.
[0025] The keyboard 111 is a type of input means equipped with multiple keys for inputting characters, numbers, and various instructions. The pointing device 112 is a type of input means for selecting and executing various instructions, selecting processing targets, and moving the cursor. The optical drive 114 controls the reading or writing of various data to the removable optical storage medium 113. The optical storage medium 113 may be a CD, DVD, Blu-ray (registered trademark), etc. The media I / F 116 controls the reading or writing (storage) of data to the recording medium 115, such as flash memory.
[0026] <About the features> Figure 3 shows an example of the functional configuration of the information processing system 100 in this embodiment. In Figure 3, a terminal device 20 is shown in the information processing system 100, but the terminal device 20 only needs to be connected to the network N when a user interacts with an agent and is not necessarily included in the information processing system 100.
[0027] <<Terminal device 20>> The terminal device 20 includes a reception unit 41, a communication unit 42, and a display control unit 43. Each of these units is realized by a program installed on the terminal device 20 that causes the CPU of the terminal device 20 to execute a process.
[0028] The reception unit 41 receives user operations on the terminal device 20.
[0029] The communication unit 42 controls communication with the information processing device 10.
[0030] The display control unit 43 controls the display of a screen (for example, an interactive screen, as described later) based on information (display data, etc.) received from the information processing device 10.
[0031] The program executed by terminal device 20 may be a web application or a native application. A web application is an application in which a program on a web server and a program on a web browser work together to perform processing, and does not require installation on terminal device 20. Web applications are downloaded from information processing device 10. A native application is an application that is installed on terminal device 20 and used there.
[0032] <<Information Processing Device 10>> In Figure 3, the information processing device 10 has several functional units and several storage units. Note that Figure 3 only shows the main functions used for interaction, and the information processing device 10 may have functions other than those shown in Figure 3. Also, only the main connections between functional units are shown, and information may be exchanged between functional units that are not connected.
[0033] The information processing device 10 has the following functional units: a reception unit 11, a control unit 12, an authentication unit 13, an agent control unit 14, a conversion unit 15, a search unit 16, an AI control unit 17, a display control unit 18, a proposal unit 19, an external function linkage unit 21, and an AI 150. The information processing device 10 also has a user information storage unit 31, an agent information storage unit 32, data storage units 33-1 to 33-N, a workflow information storage unit 34, and a history information storage unit 35. Hereinafter, any data storage unit among the data storage units 33-1 to 33-N will be referred to as "data storage unit 33".
[0034] Each functional unit of the information processing device 10 and the AI 150 are realized by processing that one or more programs installed on the information processing device 10 cause the CPU 101 to execute. The user information storage unit 31, agent information storage unit 32, data storage unit 33, workflow information storage unit 34, and history information storage unit 35 can be realized using, for example, the HD 104 or a storage device that can be connected to the information processing device 10 via a network.
[0035] AI150 is a machine learning model trained to take text as input and generate text corresponding to that text. Images, shapes, audio, etc., may also be input to AI150. The text input to AI150 is called a "prompt," but in this embodiment, to distinguish it from the prompt described later, the message entered by the user is called an "input message." For example, AI150 generates response messages such as text, images, shapes, or audio based on the input message. One example of such an AI150 is a generative AI using a large-scale language model. A large-scale language model is a natural language processing model trained using a large amount of text data. The large-scale language model takes in a vast amount of text beforehand and learns knowledge from it using deep learning or reinforcement learning. The large-scale language model uses this knowledge to provide response messages to input messages. Input messages to a large-scale language model may include not only text such as instructions or questions, but also files, images, shapes, audio, etc. An AI150 that generates this information is sometimes called a generative AI.
[0036] Large-scale language models are used in many NLP tasks, such as generating responses to specific questions, automatically generating text, summarizing text, translation, and sentiment analysis. They can also be used in a variety of applications, including education, entertainment, customer service, and product development. In this embodiment, the text entered by the user is the main input message. The information processing device 10 does not necessarily have an AI 150. In this case, a generative AI publicly available on the internet or elsewhere may be used as the AI 150.
[0037] Here, machine learning is a technique for enabling computers to acquire human-like learning abilities. It refers to a technique in which a computer autonomously generates algorithms necessary for judgment, such as data identification, from pre-programmed training data, and applies these algorithms to new data to make predictions. The learning method for machine learning can be supervised learning, unsupervised learning, semi-supervised learning, reinforcement learning, or deep learning, or a combination of these methods; the learning method for machine learning is not restricted.
[0038] The reception unit 11 receives input from the user. For example, the reception unit 11 receives input messages for the agent, which is the conversation partner. More precisely, the user's input is made to the terminal device 20. Therefore, the reception unit 11 receives the input messages received by the terminal device 20 from the terminal device 20.
[0039] The control unit 12 controls the interaction between the user and the agent. When the receiving unit 11 receives an input message entered by the user, the control unit 12 controls the agent control unit 14, the conversion unit 15, the search unit 16, and the AI control unit 17 to create a response message. The control unit 12 controls the display control unit 18 to display output information, including this response message, on the terminal device 20.
[0040] The conversion unit 15 converts the input message received from the control unit 12 into a vector (hereinafter referred to as "message vector") that represents the meaning of the input message using multi-dimensional numerical values. Such a semantic vector is called a distributed representation. A distributed representation is a representation of text data using a fixed-length vector. The conversion to a distributed representation is performed by an existing embedded model. Known embedded models include BERT® and Doc2Vec, but any method can be used to convert to a distributed representation.
[0041] Converting the original text into distributed representations allows for the numerical representation of the meaning and content of the original text, and enables comparison using vector data. Traditional text-based searching and comparison methods have drawbacks, such as failing to find a match if even a single character is different, or finding a match if even a single character is the same. In contrast, comparing using vector data allows for searching information based on the degree of similarity in meaning and content of the original text. Since distributed representations are vector data, the original text can be represented as points in a vector space. The similarity of vector data can be calculated using existing methods, such as cosine similarity.
[0042] Furthermore, when the embedded model converts an input message into a distributed representation, there may be an upper limit on the maximum length of the original text, so the input message may also be divided into chunks as described later.
[0043] The search unit 16 uses the message vector generated by the conversion unit 15 to extract a portion of the document data stored in the data storage unit 33 that has a relatively high relevance to the message vector. As will be described in detail later, the document data stored in the data storage unit 33 is pre-divided into chunks, and chunk vectors obtained by converting these chunks into distributed representations are also stored. The chunks that are the source of chunk vectors similar to the message vector are called "similar chunks." The search unit 16 retrieves the document data that were the source of the similar chunks from the data storage unit 33 as part of the search results.
[0044] The agent control unit 14 controls the switching of the executing agent. The executing agent is the agent currently interacting with the user. Agents are prepared for each role (specialty field) in order to generate more accurate response messages.
[0045] When an execution agent is selected by the user, the agent control unit 14 executes a process to make the selected agent the execution agent. When the execution agent is automatically switched according to the progress of the interaction, the control unit 12 determines whether there is an agent among several types of agents that can output a more appropriate response message to the input message received by the reception unit 11 than the current execution agent. If the agent control unit 14 determines that a more appropriate agent exists, it executes a process to make this agent the execution agent. The process to make an agent the execution agent involves switching the prompt and control rules corresponding to the agent. Also, if the data storage units 33-1 to 33-N to be searched differ depending on the execution agent, the agent control unit 14 specifies the data storage units 33-1 to 33-N corresponding to the execution agent to the search unit 16.
[0046] The AI control unit 17 generates a prompt by applying the input message received by the reception unit 11 and the set of similar chunks identified by the search unit 16 to a system prompt. In other words, the AI control unit 17 generates a prompt that extends the input message received by the reception unit 11 with the set of similar chunks related to the search results of the search unit 16. The way in which the set of similar chunks is included in the prompt can be the same as in the well-known RAG. The text of each chunk belonging to the set of similar chunks may be included in the prompt, or the chunk vector of the similar chunks may be included in the prompt. A simple example of a system prompt is as follows.
[0047] <Example of a system prompt> The user's input message is as follows: {message} Please use the following document as a reference to generate a response to the input message. {A set of similar chunks related to the search results} <End of system prompt example> Thus, the system prompt clearly defines a part for which the input message is applied and a part for which a set of similar chunks identified by the search unit 16 is applied. In this case, the AI control unit 17 applies the input message received by the reception unit 11 to the {message} part of the system prompt, and applies the set of similar chunks identified by the search unit 16 to the {set of similar chunks related to the search results} part to generate the prompt. By inputting the prompt thus generated to the AI 150, the AI 150 can generate a response message using knowledge included in the set of similar chunks (knowledge that the AI 150 has not yet learned). In other words, the response message from the AI 150 can be based on the set of similar chunks related to the search results. The system prompt may also include a string to notify the AI 150 of the role of the agent corresponding to the system prompt, such as "You are XXX." (where XXX is a string indicating a role).
[0048] Furthermore, if the control procedure includes multiple phases, a system prompt may be defined that explicitly indicates where to apply an intermediate response obtained in a phase preceding that phase (for example, an intermediate response obtained in any phase from the 1st phase to the (K-1)th phase to the Kth phase).
[0049] Furthermore, each time the AI control unit 17 receives a final response message from the AI 150, it associates the input message that was the basis of the response message, the search results, the response message, the execution agent, and the executed workflow, and stores them in the history information storage unit 35. Intermediate response messages may also be associated and stored. Thus, the history information storage unit 35 stores history information of the interaction between the user and the agent (input and output of the AI 150).
[0050] The display control unit 18 transmits output information to the terminal device 20, causing the terminal device 20 to display various screens that display the output information. The display control unit 18 generates the display data and transmits it to the terminal device 20, so the actual display processing is performed by the display control unit 43 of the terminal device 20. Display data for web applications can be, for example, HTML, CSS (Cascading Style Sheets), JavaScript (registered trademark), JSON, or XML. Display data for native applications can be, for example, JSON or XML.
[0051] The output information includes response messages generated by the AI 150 in response to user input messages, as well as document data suitable for the search. For example, the display control unit 18 displays the response messages obtained from the control unit 12, a list of document data included in the search results, etc., on the terminal device 20.
[0052] The authentication unit 13 authenticates users who log in to the information processing device 10 by operating the terminal device 20. The authentication unit 13 authenticates users based on authentication information (e.g., user identification information and password) received by the reception unit 11. Other authentication methods, such as biometric authentication, may be existing methods. The authentication unit 13 may also authenticate users by communicating with an external authentication server.
[0053] The proposal unit 19 proposes the optimal workflow for the user. The proposal unit 19 has several decision-making methods for determining the workflow to propose. These details are explained in Figures 16 to 19. (1) Prioritize chat history (2) Prioritize the relevance to document data that matches the search. (3) Prioritize association with the execution agent (4) Prioritize the relationship with the user's department. The timing of the workflow suggestion may vary depending on how the suggested workflow is determined. (1) When the agent determines that there is an appropriate workflow based on the input messages up to that point. (2) When document data matching the search is presented to the user. (3) When the execution agent is determined, or when the response message or document data is presented if the workflow uses a response message or document data. (4) When the user logs in, or when the response message or document data is presented if the workflow uses a response message or document data. The information processing device 10 may simply suggest the workflow associated with the agent.
[0054] The external function integration unit 21 communicates with the workflow server 5 by calling the API of the workflow selected by the user, and requests the execution of the workflow. The external function integration unit 21 has a pre-established correspondence between workflow IDs and APIs. The external function integration unit 21 obtains the workflow execution results from the workflow server 5. The workflow execution results include, for example, answers, choices, data to be carried over to the next step, and the status to be carried over to the next step. The content of the answers varies depending on the workflow processing, but could be, for example, search results or generated documents.
[0055] ●Data Storage Unit● Next, the various storage units of the information processing device 10 will be described with reference to Figure 4, etc. Figure 4 is a diagram showing an example of chunk information stored in the data storage unit 33. Document data related to various operations of company X is pre-stored (registered) in the data storage units 33-1 to 33-N. However, the set of document data stored differs for each data storage unit 33-1 to 33-N. This is because the document data required differs depending on the role of the agent. Therefore, data storage units 33-1 to 33-N may be prepared for each agent. Document data may be prepared for each agent in folder units within the data storage units 33-1 to 33-N. Also, some or all of the data storage units 33-1 to 33-N used by two or more agents may be the same.
[0056] Each data storage unit 33-1 to 33-N is synchronized with the database. A database is a mechanism or system that allows for the efficient storage, management, retrieval, and updating of large amounts of data. Therefore, a database can be simply storage or a server. Business document data, etc., is stored in the database. Commercial databases are also known, and the database may be a commercial database. Examples of commercial databases include SharePoint®, BOX, and Dropbox.
[0057] The synchronization of document data (registration from the database) to each data storage unit 33-1 to 33-N may be performed in batches, or it may be performed manually by the administrator at any time. Users may also upload their own document data. Each data storage unit 33-1 to 33-N stores the document name, document ID, chunk, chunk ID, and chunk vector for each document data registered in that data storage unit 33. The document name is, for example, the file name, and the document ID is the identification information for the document data.
[0058] A chunk refers to a part of the document data obtained by dividing the document data into predetermined units. The unit for dividing the document data may be the number of characters, the number of sentences, a semantic unit (e.g., a paragraph, etc.), and it only needs to be divided and stored in advance for each unit. The semantic vector obtained by converting each chunk into a distributed representation is the chunk vector.
[0059] The search unit 16 compares the message vector with the chunk vector related to the document data for each document data in the data storage units 33-1 to 33-N to be searched, and identifies the chunks related to the chunk vectors with a similarity of a certain level or more for the document data. This chunk is the similar chunk. The search unit 16 compares the similarities of the similar chunks and extracts the top M similar chunks. Since there may be multiple similar chunks found for one document data, substantially N (<M) pieces of document data will be extracted. Note that the search unit 16 identifies the similar chunks so that the number of them becomes a fixed number N. For evaluating the similarity between vectors, cosine similarity may be used, or other indicators may be used.
[0060] The search unit 16 includes in the search result information (hereinafter referred to as "related document information") including the top M similar chunks, the chunk ID stored in the data storage unit 33 corresponding to the similar chunk, the document ID of the N pieces of document data from which the similar chunk originated, and the document name. The related document information may include document data. Note that each data storage unit 33 may be a management unit of a folder, a database, or other collections of document data.
[0061] ● Agent Information Storage Unit ● FIG. 5 is a diagram showing an example of the agent information stored in the agent information storage unit 32. As shown in FIG. 5, in the agent information storage unit 32, for each agent registered in the information processing apparatus 10, an agent ID, an agent name, an icon name, a description, a database ID, a control rule, a system prompt, a cooperation workflow, etc. are stored in advance. The agent ID is the identification information for the agent. • The agent name is the agent's name. The icon name is the filename of the icon representing the agent. The icon is displayed on the screen used for interaction between the user and the agent (the interaction screen). The description is text data that describes the agent's role and other details in natural language. The database ID is the identification information for the data storage units 33-1 to 33-N that the agent searches. More specifically, the database ID is the identification information for an external database, but since the database corresponds to the data storage unit 33, it can be considered as the identification information for the data storage units 33-1 to 33-N. Two or more data storage units 33 may be searched.
[0062] The control rules and system prompts are used to enable the AI control unit 17 to function as an agent. Since control rules and system prompts are defined for each agent, multiple types of control rules and system prompts that differ from one another are prepared in advance. Even if multiple agents search the same database, by using different control rules for each agent, each agent can obtain a different response message from the AI 150. In other words, the role of an agent is realized by the control rules and system prompts. For example, if an agent's role is to output a query response that generates an answer message in response to an input message (question) entered by a user, then a descriptive text explaining that role, along with the control rules and system prompts for controlling the agent in that manner, are stored in association with that agent. If an agent's role is to analyze data in response to user instructions and output the analysis results, then a descriptive text explaining that role, along with the control rules and system prompts for controlling the agent in that manner, are stored in association with that agent.
[0063] A system prompt is a template (template) of a prompt that is pre-prepared for each agent (for each role) and is input to the AI150. For example, by applying the input message received by the reception unit 11 to the system template, a prompt to be input to the AI150 is generated.
[0064] A control rule is data that defines the input / output (interaction) procedures for AI150, and is prepared in advance for each agent (role). In order to obtain a response appropriate to the role of the executing agent for an input message entered by the user, it is not enough to simply enter a prompt to AI150 once. For example, it may be necessary to have AI150 perform multiple tasks such as extracting, classifying, predicting, or looping specific information. In this case, a prompt needs to be entered for each task, and the control rule is data that defines what prompts should be entered to AI150 and in what order (i.e., the procedure for interacting with AI150). An interaction with AI150 based on a single control rule will be referred to as a "control procedure," and a single prompt input to AI150 within a control procedure will be referred to as a "phase." If a control procedure includes multiple phases, system prompts corresponding to each phase are prepared. In this case, the system prompt for a certain phase may be the input message received by the reception unit 11. The system prompts for other phases may be the responses obtained in the control procedure up to that phase. When distinguishing between response messages obtained from AI150 during the control procedure and response messages obtained from AI150 at the end of the control procedure (i.e., response messages to user input messages), the former are called "intermediate response messages" and the latter are called "final response messages." Note that if only one prompt input is required during the control procedure, the control rule will consist of one phase, and there will be only one system prompt. In this case, there are no intermediate response messages, and a final response message is obtained for each single prompt input.
[0065] A linked workflow is a workflow registered to the agent in question. More specifically, the workflow API is registered. The external function linkage unit 21 can request the workflow server 5 to execute a specified workflow by calling this API. Workflow registration to agents is mainly performed by the administrator. The administrator registers workflows that are considered effective for the agent in advance, taking into account the agent's functions. Note that multiple linked workflows may be registered to a single agent. An agent cannot use workflows other than those registered to it.
[0066] ●User Information Storage Unit● Figure 6 shows an example of user information stored in the user information storage unit 31. Figure 6 mainly shows the information used to describe this embodiment of user information. User information includes a password and department to which the user ID belongs. The user ID and password are called authentication information. The authentication unit 13 compares the authentication information transmitted from the terminal device 20 with the authentication information in the user information storage unit 31 to determine whether authentication is successful or unsuccessful.
[0067] ●Workflow Information Storage Unit● Figure 7 shows an example of workflow information stored in the workflow information storage unit 34. The workflow information is used, for example, to determine the proposed workflow. The workflow information is aggregated information from the history of the history information storage unit 35, which will be described later. • The workflow ID is the identifier for the workflow. • The workflow name is the name of the workflow, and is set by the administrator when it is registered. The document ID is an identifier (list) of the document data selected by the user when the workflow is executed. In other words, this workflow may have been executed when the document data with this document ID was selected. The "Number of Uses per Agent" refers to the execution agent at the time the workflow was executed and the number of times the workflow was executed under that execution agent. If the same agent is the execution agent, the workflow executed may also be the same. If the agent with the highest "Number of Uses per Agent" is the current execution agent, it is highly likely that this workflow will be executed. • The usage count by department represents the number of times the workflow was executed by users in the department to which the user executing the workflow belongs. Users in the same department may have the same business data processing needs. If a user logs in as a user in a department with a high usage count by department, there is a high probability that this workflow will be executed.
[0068] In Figure 7, the number of workflow executions is recorded in association with the department to which the user belongs; however, the number of workflow executions could also be associated with each individual user.
[0069] ●History Information Storage Unit● Figure 8 shows an example of history information stored in the history information storage unit 35. As shown in Figure 8, the history information storage unit 35 stores history information including session ID, user ID, response ID, input message, search results, execution agent, and execution workflow for each final response from the AI 150. The session ID is unique to each session. A session refers to the series of exchanges between the user and the agent, including messages and final responses (or possibly intermediate responses), from the time the dialogue screen 510 is displayed until it is closed. The same session ID is assigned to final responses output within the same session. The User ID is the identification information of the user who conducted the session (interaction) related to the Session ID. The User ID is identified through user authentication. The response ID is, for example, a unique ID for each final response, and is assigned, for example, when the AI control unit 17 records the final response in the history information storage unit 35. The response is the final response message from AI150. The messages and search results are the input messages, response messages, and search results applied to the prompt that formed the basis of the final response. The execution agent is the agent that handled the interaction during the session. Multiple execution agents can be configured. • An executed workflow is a workflow that was executed during the session. Multiple execution workflows can be configured.
[0070] For example, the "Document ID" information in the workflow information in Figure 7 is extracted from the document IDs and executed workflows included in the search results of the history information. The "Number of Uses per Agent" in the workflow information is calculated by extracting the executing agents and executed workflows from the history information and adding them up according to the number of times the executing agent is extracted. The "Number of Uses per Department" in the workflow information is calculated by extracting the user ID from the history information to identify the department to which the user belongs, extracting the executed workflows from the history information, and adding them up according to the number of times the department to which the user belongs is extracted.
[0071] <About Workflow Tools> Next, we will explain workflow tools. As an example, we will use Dify, one example of a workflow tool. A workflow tool is a platform that allows you to easily create, manage, and deploy AI-powered applications. Workflow tools are designed to allow you to build customizable workflows using AI models (e.g., large-scale language models). The created workflow is sometimes called an application. Workflow tools are no-code or low-code development tools that allow you to easily create applications using drag-and-drop operations. Therefore, they can be used even without advanced knowledge or skills in application development or programming. The created workflow does not need to contain more than one process.
[0072] Furthermore, the workflow tool integrates with various AI models (Claude3, GPT, DALL-E, PythonAI, etc.), allowing you to incorporate AI models into your created workflows. The workflow tool also supports RAG, enabling rapid text extraction from documents such as PDFs, data import, and searching.
[0073] Figure 9 shows an example of the processes performed by a workflow tool. According to Figure 9, it is possible to create workflows that perform various processes such as searching, comparing, predicting, document generation, scheduling, information recognition, and making suggestions. In addition, useful workflows can be envisioned for tasks such as developing customer support bots, generating content, language translation, and determining the appropriate person for a task.
[0074] The process described in Figure 9 is only about one or two lines in natural language, but if a user attempts to perform this process through dialogue with a conversational AI, it requires inputting an input message and outputting a response message. Furthermore, the output information ultimately output by the information processing device 10 often does not meet the user's expectations in terms of display format and quality. In contrast, the workflow server 5 processes based on a pre-configured workflow definition, so it can generate information at the level the user expects. Therefore, in this embodiment, the information processing device 10 proposes the optimal workflow during the dialogue with the user, enabling the user to instruct the agent to execute the appropriate workflow during the dialogue.
[0075] Figure 10 is a simplified diagram illustrating the workflow definition performed by a workflow tool. The process performed by a workflow tool, as shown in Figure 10, is called a workflow definition. Note that actual workflows are often more complex. Process 1: Workflow Server 5 sets the initial parameters required for the workflow. These initial parameters vary, but may include variables that store information selected or entered by the user. Process 2: In this workflow, the workflow server 5 presents the user with options. Options 1 to 3 are displayed on the terminal device 20. Process 3: The process branches depending on the option selected by the user. The following explains the case where option 1 is selected. Note that Process 3 is a search. Process 4: The workflow server 5 inputs the search results into the LLM, for example, to generate a response message. Process 5: Workflow Server 5 formats the response message, for example, by fitting it to the user's format. Process 6: The information processing device 10 displays the reply information generated by the workflow server 5 (for example, a report formatted in the user's unique display format) on the terminal device 20.
[0076] Furthermore, the information processing device 10 displays the reply information obtained from the workflow server 5 on the dialogue screen where the user had been interacting with the agent. In other words, the reply information obtained from the workflow server 5 is displayed seamlessly following the response message. Therefore, the user does not need to be aware that the dialogue partner has changed. On the other hand, the fact that the dialogue partner is the workflow server 5 can be identified by an icon or other means.
[0077] Figure 11 shows an example of the registration screen 200 for registering a workflow to an agent. The registration screen 200 displays information for one agent per row. The information for each agent includes a checkbox 201, agent name 202, owner 203, and last updated date and time 204. The administrator selects the agent to whom they want to register the workflow by clicking checkbox 201.
[0078] An action selection button 205 is displayed in the upper right corner of registration screen 200. When the action selection button 205 is pressed, a pull-down menu appears, containing the option to register an external integration function 206. When the administrator presses the external integration function registration 206, the screen transitions to a screen for registering an external function (workflow).
[0079] <Operation and Processing> Next, referring to Figure 12, the operations and processes performed by the information processing system 100 will be described. Figure 12 is a sequence diagram illustrating an example of the operations and processes performed by the information processing system 100.
[0080] S11: Users who wish to contact an agent log in to the information processing device 10. To do this, the user enters authentication information into the terminal device 20, and the reception unit 41 accepts the input of authentication information.
[0081] S12: The communication unit 42 transmits the authentication request along with the authentication information to the information processing device 10.
[0082] S13: When the receiving unit 11 of the information processing device 10 receives and accepts the authentication information, it transmits the authentication information to the authentication unit 13.
[0083] S14: The authentication unit 13 authenticates the user based on the authentication information. Here, we assume that the authentication was successful. The user ID is identified upon successful authentication.
[0084] S15: The authentication unit 13 transmits a successful authentication message to the control unit 12.
[0085] S16: Upon successful authentication, terminal device 20 displays the execution agent selection screen. The execution agent selection screen displays a list of selectable agents. When the user selects any of the agents displayed on the execution agent selection screen, the reception unit 41 of terminal device 20 accepts the selection.
[0086] S17: The communication unit 42 transmits the identification information of the selected agent (hereinafter referred to as "Agent ID") to the information processing device 10.
[0087] S18: When the receiving unit 11 of the information processing device 10 receives an agent ID, it transmits the agent ID to the control unit 12.
[0088] S19: The control unit 12 sends the agent ID to the agent control unit 14. This is to notify the agent control unit 14 of the execution agent. More specifically, a suitable agent may become the execution agent.
[0089] S20: The agent control unit 14 retrieves agent information corresponding to the transmitted agent ID from the agent information storage unit 32. The agent control unit 14 returns the database ID associated with the agent ID retrieved from the agent information storage unit 32, and the agent list, to the control unit 12. The agent list is a list of agents stored in the agent information storage unit 32. The agent list is returned in order to select the appropriate agent for the input message entered by the user. In addition, the agent control unit 14 sets agent information control rules and system prompts to the AI control unit 17 via the control unit 12.
[0090] S21: Next, the user enters an input message into the message input area of the dialogue screen and clicks the send icon 5121 (see Figure 20). The reception unit 41 of the terminal device 20 receives these operations.
[0091] S22: The communication unit 42 of the terminal device 20 transmits the input message to the information processing device 10.
[0092] S23: When the receiving unit 11 of the information processing device 10 receives an input message, it transmits it to the control unit 12.
[0093] S24: When the control unit 12 receives an input message, it sends an agent selection request to the AI control unit 17. The agent selection request includes the input message and a list of agents. This selection request means a request to select an agent that is suitable for generating a response message for the input message. Being suitable for generating a response message means being able to output the most appropriate response message for the input message.
[0094] S25: The AI control unit 17 generates a prompt to instruct the AI 150 to select a suitable agent based on the input message, the agent list, and system prompts prepared in advance for selecting a suitable agent, and sends the prompt to the AI 150. The prompt generated at this time requests the AI to select an agent from among several agents, each with a different role, that has the role to generate an appropriate response message for the user's input message. In other words, the prompt causes the AI to determine what type of response message the user is requesting based on the input message entered by the user, and then causes the AI to determine which agent can generate that type of response message based on the role of each agent.
[0095] A simple example of the system prompt is as follows: <Example of a system prompt> The user's input message is as follows: {message} The following are candidate agents that will respond to the above input message: {List of Agent IDs and Agent Descriptions} From the agents listed above, select the agent that can output the most appropriate response to the input message above, and output the agent ID of that agent. <End of system prompt example> In this case, the AI control unit 17 generates the prompt by substituting the input message into the {message} portion of the system prompt and substituting the agent ID and description (i.e., the role of the agent) for each agent into the {list of agent IDs and agent descriptions} portion.
[0096] S26: Upon receiving the prompt generated as described above, AI150 selects a suitable agent from among the agents listed in the prompt based on the learned parameters and generates a response message containing the ID of the selected agent. AI150 sends this response message to AI control unit 17. AI control unit 17 receives the response from AI150. This response message contains the agent ID of the agent selected as the suitable agent.
[0097] S27: The AI control unit 17 sends the agent ID of the suitable agent to the control unit 12. The agent designated by the user or the suitable agent is the execution agent. In the sequence diagram of Figure 12, the agent switches automatically, but if the user does not want the agent to switch automatically, the execution agent can be fixed. The method of fixing the agent can be by the user instructing with an input message, or it can be set using a button on the dialogue screen.
[0098] S28: The control unit 12 sends the agent ID of the suitable agent to the agent control unit 14. The agent control unit 14 compares the agent ID of the suitable agent output by the AI control unit 17 with the agent ID selected by the user. If they are the same, it proceeds to the response processing for the input message. If they are different, the agent control unit 14 performs the same processing again as when it received the agent ID in step S19 (setting the agent information control rules and system prompts to the AI control unit 17 via the control unit 12).
[0099] S29: The agent control unit 14 returns to the control unit 12 the database ID associated with the agent ID, which it obtained from the agent information storage unit 32.
[0100] Figure 13 is a sequence diagram illustrating an example of the operations and processes performed by the information processing system 100 in relation to the response processing of an input message.
[0101] S31: First, the control unit 12 sends the database ID obtained from the agent control unit 14 to the search unit 16. As a result, the search unit 16 searches the data storage unit 33 corresponding to the execution agent.
[0102] S32: Next, the control unit 12 transmits the input message entered by the user to the conversion unit 15.
[0103] S33: The conversion unit 15 converts the input message into a message vector.
[0104] S34: The conversion unit 15 returns the message vector to the control unit 12.
[0105] S35: The control unit 12 sends the search request along with the message vector to the search unit 16.
[0106] S36: The search unit 16 identifies the database using the database ID transmitted in step S31, identifies the data storage unit 33 synchronized with this database, and searches for chunk vectors stored in this data storage unit 33 using the message vector. The search unit 16 identifies chunk vectors with relatively high similarity to the message vector and extracts the similar chunks from which these chunk vectors originated. For example, similar chunks from which the top M chunk vectors with the highest similarity between the message vector and the chunk vector originated are extracted. The search unit 16 generates search results that include related document information (the top M similar chunks, the chunk IDs corresponding to those similar chunks, the document IDs and document names of the N document data from which the similar chunks originated). This document data is sometimes referred to as "document data that matches the search."
[0107] S37: Next, the search unit 16 transmits the search results to the control unit 12.
[0108] S38: The control unit 12 sends a document generation request to the AI control unit 17 along with the search results (similar chunks, document IDs of the N document data from which the similar chunks originated, and document names) and the input message.
[0109] S39: The AI control unit 17 generates a prompt based on the received search results and input messages, as well as the control rules and system prompts. The AI control unit 17 sends the prompt to the AI 150.
[0110] S40: The AI control unit 17 receives the response message generated by the AI 150 upon receiving the prompt from the AI 150. Depending on the control procedure, the first response may not be the final response, and the final response message may be obtained by repeating steps S39 and S40 multiple times.
[0111] S41: The AI control unit 17 transmits the generated response message to the control unit 12.
[0112] S42: The control unit 12 sends a response message and a request to display output information, including related document information from the search results, to the display control unit 18.
[0113] S43: The display control unit 18 displays the output information on the dialogue screen displayed on the terminal device 20. Specifically, the display control unit 18 generates display data to display the output information and transmits the generated display data to the terminal device 20, thereby displaying it on the dialogue screen 510.
[0114] S44: The communication unit 42 of the terminal device 20 receives display data, and the display control unit 43 displays the output information (see Figure 21).
[0115] Figure 14 is a sequence diagram illustrating an example of the actions and processes performed by the information processing system 100 in relation to the workflow proposal process.
[0116] S51: An example of the timing for proposing a workflow differs depending on (1) to (4) above. In case (1), the workflow can be determined each time after an input message has been entered. In case (2), the workflow can be determined after the document data has been identified by the search. In case (3), the workflow can be determined after the execution agent has been determined. In case (4), the workflow can be determined after the user has logged in and their department has been identified. After the workflow has been determined, the information processing device 10 may propose the workflow at any time. Here, we will explain assuming that the workflow is proposed along with the document data. When the search results are obtained, the control unit 12 sends a workflow proposal request to the proposal unit 19 along with the relevant document information. Therefore, the processing in step S51 can be executed after step S37, and the proposed workflow may be sent to the terminal device 20 along with the output information from step S44.
[0117] S52: The proposal unit 19 determines the proposed workflow by performing at least one of the processes shown in Figures 16 to 19, which will be described later. The processes shown in Figures 16 to 19 correspond to (1) to (4) above. The user may pre-set which of the (1) to (4) decision methods to use to determine the workflow, or they may specify this during the conversation. If the workflow is determined using multiple decision methods from (1) to (4), the proposal will include at least one workflow determined by each decision method. Alternatively, the proposal unit 19 may simply propose workflows associated with execution agents. If the number of workflows associated with execution agents is small, selecting from a list will not significantly increase the user's workload.
[0118] S53: The proposal unit 19 returns one or more determined workflow IDs to the control unit 12.
[0119] S54: The control unit 12 sends a display request to the display control unit 18 along with the workflow ID and workflow name so that the user can select. In step S54, the control unit 12 displays the workflow name on the terminal device 20, but if there is only one proposed workflow, the process may proceed to step S62 in Figure 15 and start the execution of the workflow.
[0120] S55: The display control unit 18 sends display data to the terminal device 20 so that the workflow name can be displayed on the interactive screen displayed on the terminal device 20. The workflow name is displayed, for example, when the user selects document data, but it may also be displayed on the interactive screen when the display control unit 18 sends the display data to the terminal device 20.
[0121] S56: The user selects the document data displayed on the interactive screen in step S44 (see Figure 22). While there are various ways in which the user utilizes the document data, in this embodiment it is used to execute the workflow. The reception unit 41 accepts the selection.
[0122] S57: Furthermore, the user performs an operation to display a list of workflows. Note that the list of workflows may be displayed without this operation.
[0123] S58: In response to the operation to display a list of workflows, the display control unit 43 displays a list of workflows sent in step S54 (see Figure 23). At this time, the display control unit 43 should display which of the decision methods (1) to (4) the workflow was proposed in association with the workflow.
[0124] Figure 15 is a sequence diagram illustrating an example of the operations and processes performed by the information processing system 100 in relation to the execution of a workflow.
[0125] S59: If the user wants to process selected document data using a workflow, they select the workflow. The reception unit 41 accepts the selection.
[0126] S60: The communication unit 42 of the terminal device 20 sends a workflow execution request to the information processing device 10 along with the workflow ID and the document ID of the selected document data.
[0127] S61: The receiving unit 11 of the information processing device 10 accepts the workflow execution request upon receiving it. The receiving unit 11 transmits the workflow execution request, along with the workflow ID and document ID, to the control unit 12.
[0128] S62: The control unit 12 identifies the document data using the document ID and obtains similar chunks of this document data included in the related document information. The control unit 12 sends a workflow execution request to the external function linkage unit 21 along with the workflow ID, similar chunks, and document data. Note that since similar chunks are sent, the document data does not need to be sent.
[0129] S63: The external function integration unit 21 identifies the API using the workflow ID and calls this API from the workflow server 5. The external function integration unit 21 requests the workflow server 5 to execute the workflow along with the document data and similar chunks via this API. The external function integration unit 21 may also send the tenant ID, user ID, session ID, language code, etc. to the workflow server 5 for internal processing.
[0130] Furthermore, while this embodiment is triggered by the user selecting document data, the workflow can be executed even if the user does not select document data. In this case, the external function linkage unit 21 sends a response message or an input message to the workflow server 5 instead of document data and similar chunks. In other words, the input to the AI 150 can be at least one of document data, a response message, or an input message.
[0131] If an error occurs during an API call, the display control unit 18 displays an error message (for example, "We are currently performing maintenance. We apologize for the inconvenience and ask for your patience") on the terminal device 20, and the external function linkage unit 21 terminates the execution of the external function. If the external function linkage unit 21 obtains an error code from the workflow server 5, it displays an error message corresponding to the error code. For example, "Error code E02: API call timeout (XXX seconds) occurred" is displayed.
[0132] S64: The workflow server 5 executes processing based on the workflow definition of the requested workflow. The external function linkage unit 21 obtains reply information from the workflow server 5 (answer, options, data to be carried over to the next step, and status to be carried over to the next step). The answer is the response message generated by the workflow server 5, and the options are the options set in the workflow definition. The data to be carried over to the next step is the information and reply information sent to the workflow server 5 from the start of the workflow execution request to the present. The status to be carried over to the next step indicates the status (how far the processing has progressed) in the workflow definition.
[0133] During the execution of a single workflow, multiple interactions may occur between the user and the workflow server 5. Therefore, the user confirms the reply information and enters an input message (including the result of selecting an option). The workflow server 5 proceeds with processing based on the input message and the workflow definition. The workflow server 5 repeatedly retrieves input messages and sends reply information until the workflow is completed.
[0134] S65: The external function linkage unit 21 relays the reply information to the control unit 12.
[0135] S66: The control unit 12 sends a display request to the display control unit 18, specifying the answer and the options from the reply information, so that the answer and the options from the reply information are displayed on the dialogue screen.
[0136] S67: The display control unit 18 transmits display data to the terminal device 20 so that the answer and the options can be displayed on the dialogue screen displayed on the terminal device 20.
[0137] This completes the initial exchange between the information processing device 10 and the workflow server 5. However, as described above, multiple exchanges occur between the user and the workflow server 5, so the information processing system 100 repeats the following process until the workflow definition reaches the end state.
[0138] S68: The display control unit 43 of the terminal device 20 displays the answer and options on the dialogue screen (see Figure 24). Therefore, the output information of the dialogue AI and the answer and options from the workflow server 5 are displayed seamlessly.
[0139] S69: The user selects one of the options if available (the identification information of the selected option is recorded as the "Option ID"), and also enters an input message as needed (see Figure 25). The reception unit 41 receives these inputs.
[0140] S70: The communication unit 42 of the terminal device 20 transmits the selection ID and input message to the information processing device 10.
[0141] S71: The receiving unit 11 of the information processing device 10 receives the option ID and input message. The receiving unit 11 transmits the option ID and input message to the control unit 12.
[0142] S72: Since the workflow definition status is not "completed", the control unit 12 sends the selection ID and input message to the external function linkage unit 21.
[0143] S73: The external function integration unit 21 calls an API from the workflow server 5 and sends the selection ID and input message to the workflow server 5 via this API. The external function integration unit 21 also sends the tenant ID, user ID, session ID, language code, etc. to the workflow server 5 for internal processing. Furthermore, when calling the API for the second time or later, the external function integration unit 21 also sends the handover data and current status to the workflow server 5. The handover data and current status allow the workflow server 5 to understand the past data and the current state of the workflow definition.
[0144] S74: The workflow server 5 executes processing based on the workflow definition to be executed, the choice ID, and the input message. The external function linkage unit 21 obtains the reply information from the workflow server 5 (answer, choice, data to be carried over to the next step, and status to be carried over to the next step). The processing in the following steps S75 to S77 is the same as in S65 to S67.
[0145] S75: The external function linkage unit 21 relays the reply information to the control unit 12.
[0146] S76: The control unit 12 sends a display request to the display control unit 18, specifying the answer and the options, so that the answer and the options from the reply information are displayed on the dialogue screen.
[0147] S77: The display control unit 18 transmits display data to the terminal device 20 so that the answers and choices can be displayed on the dialogue screen displayed on the terminal device 20. The display control unit 43 of the terminal device 20 displays the answers and choices on the dialogue screen until the workflow status reaches the end, and then displays the execution result (see Figure 26).
[0148] <How to determine the proposed workflow> Next, we will explain the method for determining the proposed workflow based on Figures 16 to 19. Figure 16 is a flowchart illustrating the method for determining the workflow when "(1) Prioritizing chat history". The process in Figure 16 can be executed each time the user enters an input message, but it may be executed after a certain number of input messages have been entered, taking into consideration the processing load, etc.
[0149] First, the proposal unit 19 determines whether a workflow is associated with the current execution agent (S101). This is because if a workflow not anticipated by the execution agent is executed, the desired result cannot be obtained.
[0150] If the decision in step S101 is Yes, the proposal unit 19 obtains the input messages entered by the user during the dialogue since the start of the current session, as well as the agent's output information (S102). The current session refers to the period from when the dialogue screen was displayed.
[0151] The proposal unit 19 sends the information acquired in step S102 and a list of workflows associated with the execution agent to the AI 150 and requests the selection of a workflow (S103). The actual processing may be carried out by the control unit 12 and the AI control unit 17 in response to a request from the proposal unit 19.
[0152] Next, the proposal unit 19 identifies the workflow proposed by AI 150 from the workflows of step S101 (S104).
[0153] The display control unit 18 causes the terminal device 20 to display a list of workflows identified in step S104 (S105).
[0154] According to the decision method in Figure 16, the information processing device 10 can automatically propose a workflow suitable for the content of the conversation during the session (without requiring the selection of document data). In the decision method in Figure 16, the workflow may also be proposed when document data is selected.
[0155] Figure 17 is a flowchart illustrating the decision-making process when "(2) Prioritizing the relationship with document data that matches the search."
[0156] First, the proposal unit 19 determines whether a workflow is associated with the current execution agent (S111). This is because if a workflow not anticipated by the execution agent is executed, the desired result cannot be obtained.
[0157] If the determination in step S111 is Yes, the suggestion unit 19 retrieves document data that the search unit 16 has determined to be similar to the input message (S112).
[0158] The proposal unit 19 retrieves the workflow to which the document data is associated from the workflow information storage unit 34 (S113). The proposal unit 19 also aggregates the number of workflows to which the document data is associated.
[0159] Next, the proposal unit 19 identifies the workflow acquired in step S113 from the workflow of step S111 (S114).
[0160] The proposal unit 19 sorts the workflow from step S114 in descending order of the number of document data associated with it (S115).
[0161] The display control unit 18 displays a list of the top K workflows on the terminal device 20 (S116). In the process shown in Figure 17, the workflow is linked to document data, so the suggestion unit 19 links the workflow to the document data. On the terminal device 20, only the workflows linked to the document data selected by the user are displayed.
[0162] According to the determination method shown in Figure 17, the information processing device 10 can propose a workflow suitable for document data similar to the input message.
[0163] Figure 18 is a flowchart illustrating the decision-making process when "(3) Prioritizing the relationship with the execution agent" is selected.
[0164] First, the proposal unit 19 determines whether a workflow is associated with the current execution agent (S121). This is because if a workflow not anticipated by the execution agent is executed, the desired result cannot be obtained.
[0165] The proposal unit 19 identifies the current execution agent by querying the control unit 12, etc. (S122).
[0166] The proposal unit 19 identifies the workflow to which the execution agent is associated with the number of uses per agent from the workflow information storage unit 34 (S123).
[0167] The proposal unit 19 identifies the workflow identified in step S123 from the workflow of step S121 (S124).
[0168] Proposal unit 19 sorts the workflows in descending order of the number of times each agent has used them (S125).
[0169] The display control unit 18 causes the terminal device 20 to display a list of the top K workflows (S126).
[0170] According to the determination method shown in Figure 18, the information processing device 10 can propose workflows that are frequently executed by the current execution agent.
[0171] Figure 19 is a flowchart illustrating the decision-making process when "(4) Prioritizing the relationship with the user's department."
[0172] First, the proposal unit 19 determines whether a workflow is associated with the current execution agent (S131). This is because if a workflow not anticipated by the execution agent is executed, the desired result cannot be obtained.
[0173] The proposal unit 19 obtains the department to which the logged-in user belongs by querying the control unit 12, etc. (S132).
[0174] The proposal unit 19 identifies the workflow associated with the department to which the logged-in user belongs, based on the number of uses per department, from the workflow information storage unit 34 (S133).
[0175] The proposal unit 19 identifies the workflow identified in step S133 from the workflow of step S131 (S134).
[0176] Proposal unit 19 sorts the workflows in descending order of frequency of use by department (S135).
[0177] The display control unit 18 causes the terminal device 20 to display a list of the top K workflows (S136).
[0178] According to the determination method shown in Figure 19, the information processing device 10 can suggest workflows that are frequently performed by the department to which the user belongs.
[0179] Furthermore, if the number of workflow executions is associated with each user, the suggestion unit 19 can suggest workflows that the user frequently uses. In this case, in step S133, the suggestion unit 19 identifies the workflow associated with the logged-in user from the workflow information storage unit 34 based on the number of uses per user.
[0180] <Example of terminal device screen> Next, with reference to Figure 20 and other figures, an example of a screen displayed by the terminal device 20 will be explained. Figure 20 is a diagram showing an example of the dialogue screen display at the start of a dialogue. The dialogue screen 510 includes a dialogue display area 511, a message input area 512, and a button 513. The dialogue display area 511 is the area where the content of the dialogue between the agent and the user is displayed. In the initial state, the dialogue display area 511 displays a greeting message g1 ("We will help you with your work.") prompting the user to input an input message. To the left of the greeting message g1, the icon ai1 of the executing agent is displayed. Icon ai1 is an image stored in a file related to the icon name of the agent information. The user can visually recognize the agent they are currently interacting with (i.e., the executing agent) by icon ai1. The message input area 512 is the area for receiving input messages from the user and includes a send icon 5121. Button 513 is a button for receiving an instruction to end the dialogue.
[0181] Figure 21 shows an example of the display of output information. In the description of Figure 21, the same reference numerals are used for parts identical to those in Figure 20, and their descriptions are omitted. In the dialogue screen 510 shown in Figure 21, an input message m1, a response message r1, and related document information d1 have been added. The response message r1 and related document information d1 are the output information.
[0182] The input message m1 is the message entered by the user in the message input area 512 in step S21 of Figure 12. When the user clicks the send icon 5121, the input message entered in the message input area 512 is displayed in the interactive display area 511.
[0183] Response message r1 is a response message generated by AI150. Related document information d1 is document data found in the data storage unit 33 by the agent that matches the input message. Figure 21 shows an example where a list of document names included in the related document information is displayed as related document information d1. A checkbox 521 for user selection is displayed at the beginning of each document name. The display format of the list of document names is just one example; the list of document names may also be output in multiple callouts.
[0184] In Figure 21, icon ui1 is added to the right of input message m1, and icon ai2 is added to the left of response message r1. Icon ui1 is the user's icon. Icon ai2 is the icon of the responding execution agent. Here, the agent has not been switched, so icon ai2 (an example of the first icon) is the same as icon ai1 (an example of the first icon).
[0185] The user may continue the conversation or end it. If the user chooses to end the conversation, they click button 513. In this case, the session ends, and the processing steps in Figures 13 and 14 are completed. If the user chooses to continue the conversation, they enter a new message in the message input area 512 and click the send icon 5121. In this case, the message is sent to the information processing device 10, and steps S21 onward are repeated.
[0186] Figure 22 shows an example of the display when document data is selected. In the description of Figure 22, the same reference numerals are used for parts that are the same as in Figure 21, and their descriptions are omitted. In the dialogue screen 510 shown in Figure 22, checkbox 521 is selected.
[0187] Selecting checkbox 521 displays the document list display menu 523 and the external function list display menu 524. The document list display menu 523 and the external function list display menu 524 may be displayed together with the related document information d1. Both the document list display menu 523 and the external function list display menu 524 are pull-down menus. When the document list display menu 523 is pressed, the document data selected in related document information d1 is displayed. This is to allow the user to check the selected document data if related document information d1 is scrolled out.
[0188] When the External Function List Display menu 524 is pressed, a list of workflows decided by the Proposal Unit 19 is displayed.
[0189] In Figure 22, the selection of document data triggers the display of the workflow, but document data is not required for workflow execution. Workflows can be executed with only a response message. When executed with only a response message, the workflow determined by one or more of the determination methods (1) to (4) may always be displayed, or it may be displayed in response to user action. The user selects a response message and a workflow to request workflow execution.
[0190] Figure 23 shows an example of the workflow list display. In the explanation of Figure 23, the same reference numerals are used for parts identical to those in Figure 23, and their explanations are omitted. In the dialogue screen 510 shown in Figure 23, the workflow list 525 is displayed by pressing the external function list display menu 524. The workflow list 525 displays the workflow name (report creation, comparison table creation) and the execute button 526. The user can press the execute button 526 for the workflow name they want to execute. If document data is linked to a workflow (determined by the determination method in (2)), the displayed workflow will also switch when the user selects different document data.
[0191] For example, a user presses the "Create Report" execution button 526. This sends a request to the information processing device 10 to execute the "Create Report" workflow. The external function linkage unit 21 of the information processing device 10 calls the workflow server 5 via API, as explained in the sequence diagram in Figure 15, to request the execution of the "Create Report" workflow. When the external function linkage unit 21 obtains the reply information from the workflow server 5, the display control unit 18 displays the reply information on the terminal device 20.
[0192] Conventionally, users had to download related document information d1 to a terminal device 20, connect the terminal device 20 to a predetermined workflow server 5, and manually upload the related document information d1. In this embodiment, if a user selects document data on the interactive screen 510 and selects a workflow, the document data can be entered into the workflow.
[0193] Figure 24 shows an example of how reply information is displayed. In the explanation of Figure 24, the same reference numerals are used for parts identical to those in Figure 23, and their explanations are omitted. The dialogue screen 510 shown in Figure 24 displays an icon w1 (an example of a second icon) representing the workflow server 5 and reply information s1. The user can determine that they are interacting with the workflow server 5 when the icon ai changes to icon w1.
[0194] Reply information s1 can be described as the execution result of the workflow definition process. Reply information s1 is as follows: Which of the following report formats should I use? 1. Format A, 2. Format B, 3. Format C Users can choose any option they like.
[0195] Figure 25 shows an example of how an input message is displayed after selecting an option. In the explanation of Figure 25, the same reference numerals are used for parts identical to those in Figure 24, and their explanations are omitted. In the dialogue screen 510 shown in Figure 25, the input message m2, "Format A," is displayed after the user selects an option.
[0196] The option ID selected by the user is sent to the information processing device 10. The external function linkage unit 21 of the information processing device 10 calls the workflow server 5 via API, as explained in the sequence diagram in Figure 15, and sends the option ID and other information to the workflow server 5. When the external function linkage unit 21 obtains the reply information corresponding to the option ID from the workflow server 5, the display control unit 18 displays the reply information on the terminal device 20.
[0197] Figure 26 shows an example of how reply information is displayed. In the explanation of Figure 26, the same reference numerals are used for parts identical to those in Figure 25, and their explanations are omitted. The dialogue screen 510 shown in Figure 26 displays an icon w1 representing the workflow server 5 and reply information s2. Since the reply information s2 was generated by the workflow server 5, there is no change in the icon w1. The user can be determined to be interacting with the workflow server 5.
[0198] Reply information s2 can be considered the execution result of the workflow definition process. Reply information s2 is as follows: {I created the report in format A. "Report.pdf"} When the user clicks on this file name, terminal device 20 retrieves and displays the report based on the embedded URL. In Figure 26, the report is displayed as a pop-up, but it may also be displayed in a separate window or screen.
[0199] If the workflow definition is in the end state when Workflow Server 5 outputs the report, the agent switches to the conversation partner. Therefore, when the user enters an input message, the AI icon displays a response message.
[0200] <Main effects> The information processing system 100 of this embodiment can generate information required for user tasks with high accuracy by inputting document data or response messages acquired by RAG, etc., into an external workflow server 5. There is no interruption in the interaction between the agent and the workflow server 5, and the interaction can continue seamlessly from the interaction with the agent to the interaction with the workflow server 5. The information processing device 10 can propose an optimal workflow based on document data (which may also be response messages), execution agents, the user's department, etc.
[0201] [Second Embodiment] Next, a second embodiment will be described. The differences between the second embodiment and the embodiments described above will be explained. Therefore, points not specifically mentioned may be the same as in the embodiments described above.
[0202] In the second embodiment, we will describe an example in which the terminal device 20 displays various screens using a web browser, and the information processing device 10 functions as a web server that executes web applications.
[0203] Figure 27 shows an example of the functional configuration of the terminal device 20 in the second embodiment. In Figure 27, the terminal device 20 has a web browser 51. The web browser 51 is a general-purpose web browser and includes a browser engine 311, a scripting engine 312, and a network engine 313.
[0204] The browser engine 311 interprets HTML (HyperText Markup Language) data and CSS (Cascading Style Sheets) data that make up the web page and displays the web page. The browser engine 311 mainly corresponds to the reception unit 41 and the display control unit 43 in the first embodiment.
[0205] The network engine 313 sends HTTP requests and receives HTTP responses. The network engine 313 mainly corresponds to the communication unit 42 in the first embodiment.
[0206] The script engine 312 executes scripts (for example, JavaScript®) that make up the web page. Based on the script, the script engine 312 determines how to process input events and executes this process. This processing includes display and communication. For example, the script engine 312 changes the content of the screen or updates the style and displays it on the display control unit 43. The script engine 312 also sends data to the communication unit 42 by calling communication APIs (such as XMLHttpRequest and fetch), receives the response from the server as an event, and displays it based on the script.
[0207] Figure 28 is a sequence diagram illustrating an example of the processing procedure for displaying response messages and the like in the second embodiment. The sequence diagram in Figure 28 shows the processing procedure corresponding to steps S16 onwards in the sequence diagram of Figure 12. However, steps S501 to S509 in Figure 28 show the processing procedure for displaying the dialogue screen 510 (Figure 20) at the start of the dialogue, which is not explicitly shown in Figure 12.
[0208] In step S16 of Figure 12, the user's selection of an agent corresponds to a display instruction on the dialogue screen 510 (Figure 20). The browser engine 311 inputs the URL associated with the display instruction, which is the destination URL for the HTTP request to the information processing device 10, into the network engine 313 (S501). The network engine 313 sends an HTTP request to the URL (S502). This URL is notified by the information processing device 10, for example, as the URL to which the agent ID is selected. Alternatively, the URL may be registered in the bookmarks of the web browser 51, associated with a menu on a menu screen provided by the information processing device 10, or entered directly by the user.
[0209] The display control unit 18 of the information processing device 10 generates an HTTP response containing Web content data (HTML data, CSS data, and scripts (hereinafter referred to as "JS")) in response to the HTTP request (S503). Subsequently, the display control unit 18 transmits the HTTP response to the terminal device 20 (S504).
[0210] The Web content data in question is an example of Web content data for displaying a first Web page (interaction screen 510 (Figure 20)) and a second Web page (interaction screen 510 (Figures 21-26)) that displays various messages and related document information, and includes JavaScript that performs at least the following: a process to send data entered on the first Web page to the information processing device 10, and a process to display the second Web page that displays response messages and related document information. In this embodiment, "response messages and related document information, etc." includes the workflow list 525 in Figure 23, the options in Figure 25, and the report in Figure 26.
[0211] Next, when the network engine 313 of the terminal device 20 receives the HTTP response sent in step S504, it inputs the HTML data, CSS data, and JS contained in the HTTP response into the browser engine 311 (S505). The browser engine 311 inputs the JS input from the network engine 313 into the script engine 312 (S506). The script engine 312 loads the JS (S507) and requests the browser engine 311 to update the screen (S508). The screen update includes displaying a new screen.
[0212] Here, the HTTP response generated in step S503 may include the filename of the JS file rather than the actual JS file itself. In this case, in step S507, the script engine 312 accesses the file based on the filename and downloads the JS file. This method involves loading the JS file as an external file.
[0213] Furthermore, the Web content data for displaying a first Web page (interaction screen 510 (Figure 20)) that accepts input messages and a second Web page (interaction screen 510 (Figures 21 to 26)) that displays response messages and related document information, etc., includes not only JS written directly in HTML, but also JS that is downloaded by loading JS as an external file and accessing it based on the file name.
[0214] Next, the browser engine 311 displays a web page as an interactive screen 510 (Figure 20) based on the HTML data and CSS data (S509).
[0215] The dialogue screen 510 (Figure 20) is a single web page in a single-page application (a web application that has only one web page). From step S511 onward, the content of this single web page is updated, and Figures 21 to 26 are displayed.
[0216] When a user enters an input message into the dialogue screen 510 (Figure 20) (S510) and presses the send button 5121 (S511), the browser engine 311 notifies the script engine 312 of the press of the send button 5121 (S512). The script engine 312 executes JS in response to the notification from the browser engine 311 (S513). As processing when the send button 5121 is pressed, the script engine 312 inputs a request for a response message to the network engine 313 (S514). This request includes the input message. The network engine 313 sends an HTTP request as a request for a response message to the information processing device 10 (S515). This HTTP request is an example of the HTTP request that was sent when JS was executed on the terminal device 20 and includes data entered on the dialogue screen 510 (Figure 12) displayed on the terminal device 20 based on Web content data.
[0217] When the AI control unit 17 of the information processing device 10 receives the HTPT request, it generates a prompt as described in step S39 of Figure 13 and obtains a response message from the AI 150 (S516).
[0218] Next, the display control unit 18 generates an HTTP response containing a response message and related document information in JSON (JavaScript® Object Notation) so that the terminal device 20 can execute JS and display the dialogue screen 510 (Figures 21 to 26, etc.) (S517). Subsequently, the display control unit 18 sends the HTTP response to the terminal device 20 (S518).
[0219] When the network engine 313 of the terminal device 20 receives the HTTP response, it inputs the response message and related document information contained in the HTTP response to the script engine 312 (S519). The script engine 312 executes JS (S520). As processing upon receiving the response message and related document information, the script engine 312 requests the browser engine 311 to update the display content of the web page (S521). Based on the HTML data and CSS data obtained in step S505, the browser engine 311 displays the updated screen, which is the interactive screen 510 (Figures 21 to 26, etc.) (S522).
[0220] As described above, in the fifth embodiment, the dialogue screen 510 (Figure 20) and the dialogue screens 510 (Figures 21 to 26), and the execution of processing corresponding to operations on each of these screens, are realized by a single-page application. Specifically, when displaying the dialogue screen 510 (Figure 20), the terminal device 20 is delivered not just Web content data for displaying the dialogue screen 510 (Figure 20), but Web content data for displaying the dialogue screen 510 (Figure 20) and the dialogue screens 510 (Figures 21 to 26), which includes JavaScript that executes processing such as screen transitions corresponding to operations on the dialogue screens 510 (Figure 20, Figures 21 to 26). Therefore, since the screen transitions to the dialogue screens 510 in Figures 21 to 26 are executed by JavaScript, the terminal device 20 does not need to download the Web content data for the dialogue screens 510 in Figures 21 to 26. As a result, we can expect to improve the display speed of the dialogue screen 510 shown in Figures 21 to 26 and reduce the communication load during screen transitions, thereby solving technical challenges.
[0221] <Other application examples> Although the best mode for carrying out the present invention has been described above using examples, the present invention is not limited in any way to these examples, and various modifications and substitutions can be made without departing from the spirit of the present invention.
[0222] In this embodiment, a workflow is used as an example of an external function, but the external function may also be a service where a server on the network processes data. For example, the external function may be translation, speech recognition, image recognition, natural language processing, web page creation, etc. Furthermore, the external function may require a certain amount of time to elapse between prompt input and output of a response message. Examples include the creation of daily reports, weekly reports, and monthly reports.
[0223] The configuration examples in Figure 3 and other figures are divided according to their main functions to facilitate understanding of the processing performed by the terminal device 20 and the information processing device 10. The present invention is not limited by the way the processing units are divided or the names of those units. The processing of the terminal device 20 and the information processing device 10 can be further divided into more processing units depending on the processing content. Furthermore, each processing unit can be divided to include even more processing.
[0224] Furthermore, the apparatus described in the examples represents only one of several computing environments for carrying out the embodiments disclosed herein. In one embodiment, the information processing apparatus 10 includes multiple computing devices, such as a server cluster. The multiple computing devices are configured to communicate with each other via any type of communication link, including a network or shared memory, and perform the processing disclosed herein.
[0225] Furthermore, the information processing device 10 can be configured to share the disclosed processing steps, for example, Figures 8 and 9, in various combinations. For example, a process executed by a predetermined unit can be executed by multiple information processing devices within the information processing device 10. Also, the information processing device 10 may be consolidated into a single server device or divided into multiple devices.
[0226] Each of the embodiments described above can be implemented by one or more processing circuits. Here, "processing circuit" as used herein includes processors programmed to execute each function by software, such as processors implemented by electronic circuits, as well as devices such as ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), FPGAs (Field Programmable Gate Arrays), and conventional circuit modules designed to execute each of the functions described above.
[0227] <Mode> [Aspect 1] A reception unit that receives input messages for the conversational AI that is interacting with the user, A search unit that searches for document data using the aforementioned input message, An external function linkage unit transmits the document data retrieved by the search unit to an external system and obtains the execution results of an external function performed using the document data. The external function linkage unit includes a display control unit that displays the execution results obtained from the external system, An information processing system having [Aspect 2] The AI control unit transmits the aforementioned input message and document data to the AI and obtains a response message from the AI, The external function linkage unit transmits the response message and the document data to the external system and obtains the execution result of the execution of the external function. The display control unit displays the execution results obtained by the external function linkage unit from the external system. The information processing system according to claim 1. [Aspect 3] The display control unit displays one or more document data retrieved by the search unit. When the reception unit receives a selection of document data from one or more displayed document data, The display control unit displays the list of external functions, The reception unit accepts the selection of the external function. The external function linkage unit transmits the selected document data to an external system, and the receiving unit requests the external system to execute the external function for which it has received the selection. The information processing system according to claim 1. [Aspect 4] The aforementioned conversational AI is pre-associated with one or more of the aforementioned external functions. The display control unit displays a list of the external functions associated with the conversational AI. The information processing system described in Embodiment 3. [Aspect 5] The external function linkage unit transmits the document data selected by the reception unit to the external system and obtains the execution result of the external function executed using the document data. The information processing system according to claim 3 or 4. [Aspect 6] The AI control unit transmits the input message and document data matching the search performed by the search unit to the AI, and obtains a response message from the AI. The display control unit displays the response message obtained from the AI. The external function integration unit displays the execution results obtained from the external system on the same screen as the response message obtained from the AI. An information processing system as described in any one of the three descriptions (3 to 5). [Aspect 7] The display control unit displays the response message together with the first icon associated with the conversational AI. The execution results obtained from the external system are displayed along with a second icon associated with the external system. The first icon and the second icon are different. The information processing system described in Embodiment 6. [Aspect 8] It has a proposal unit that determines the external function to propose to the user based on a pre-set determination method, The display control unit displays the list of external functions determined by the proposal unit. The information processing system described in Embodiment 4. [Aspect 9] The aforementioned conversational AI is pre-associated with one or more of the aforementioned external functions. The proposed unit is one of the external functions associated with the conversational AI, Based on the input messages entered by the user during the conversation after the session has started, and the output information output by the conversational AI, the system determines which external functions to suggest to the user. The information processing system described in Embodiment 8. [Aspect 10] The aforementioned conversational AI is pre-associated with one or more of the aforementioned external functions. The aforementioned proposal section is, Based on information relating document data to the external function performed when the document data was selected, The external function is identified as being associated with one or more document data that match the search performed by the search unit, and the external function currently associated with the conversational AI is selected as the proposed external function. The information processing system described in Embodiment 8. [Aspect 11] The aforementioned proposal section is, Based on information that associates the external function with the conversational AI at the time the external function was executed and the number of times the external function was used during the session with the conversational AI, The system prioritizes the most frequently used external functions currently associated with the aforementioned conversational AI and selects the external function to propose. The information processing system described in Embodiment 8. [Aspect 12] The aforementioned conversational AI is pre-associated with one or more of the aforementioned external functions. The aforementioned proposal section is, Based on the information associating the department to which the user logged in when the external function was executed with the number of times the external function was used by the department, prioritize and identify the external functions with a high number of times of use by the department to which the currently logged-in user belongs, and determine the external functions to be proposed as the external functions associated with the dialogue AI among these external functions. The information processing system according to Aspect 8. [Aspect 13] One or more of the external functions are pre-associated with the dialogue AI. The proposing unit Based on the information associating the user who logged in when the external function was executed with the number of times the external function was used by the user, prioritize and identify the external functions with a high number of times of use by the currently logged-in user, and determine the external functions to be proposed as the external functions associated with the dialogue AI among these external functions. The information processing system according to Aspect 8. [Aspect 14] The external function is a workflow pre-registered for the dialogue AI. The information processing system according to any one of Aspects 1 to 13.
Explanation of Signs
[0228] 10 Information processing device 20 Terminal device 100 Information processing system 150 AI
Prior Art Documents
Patent Documents
[0229]
Patent Document 1
Claims
1. A reception unit that receives input messages for the conversational AI interacting with the user, A search unit that searches for document data using the aforementioned input message, An external function linkage unit transmits the document data retrieved by the search unit to an external system and obtains the execution results of an external function performed using the document data. The external function linkage unit includes a display control unit that displays the execution results obtained from the external system, An information processing system having
2. The AI control unit transmits the input message and the document data to the AI and obtains a response message from the AI. The external function linkage unit transmits the response message and the document data to the external system and obtains the execution result of the execution of the external function. The display control unit displays the execution results obtained by the external function linkage unit from the external system. The information processing system according to claim 1.
3. The display control unit displays one or more document data retrieved by the search unit. When the reception unit receives a selection of document data from one or more displayed document data, The display control unit displays the list of external functions, The reception unit accepts the selection of the external function. The external function linkage unit transmits the selected document data to an external system, and the receiving unit requests the external system to execute the external function for which it has received the selection. The information processing system according to claim 1.
4. The aforementioned conversational AI is pre-associated with one or more of the aforementioned external functions. The display control unit displays a list of the external functions associated with the conversational AI. The information processing system according to claim 3.
5. The external function linkage unit transmits the document data selected by the reception unit to the external system and obtains the execution result of the external function executed using the document data. The information processing system according to claim 3 or 4.
6. The AI control unit transmits the input message and document data matching the search performed by the search unit to the AI, and obtains a response message from the AI. The display control unit displays the response message obtained from the AI. The external function linkage unit displays the execution results obtained from the external system on the same screen as the response message obtained from the AI. The information processing system according to claim 3.
7. The display control unit displays the response message together with the first icon associated with the conversational AI. The execution results obtained from the external system are displayed along with a second icon associated with the external system. The first icon and the second icon are different. The information processing system according to claim 6.
8. It has a proposal unit that determines the external function to propose to the user based on a pre-set determination method, The display control unit displays the list of external functions determined by the proposal unit. The information processing system according to claim 4.
9. The aforementioned conversational AI is pre-associated with one or more of the aforementioned external functions. The proposed unit is one of the external functions associated with the conversational AI, Based on the input messages entered by the user during the conversation after the session has started, and the output information output by the conversational AI, the system determines which external functions to suggest to the user. The information processing system according to claim 8.
10. The aforementioned conversational AI is pre-associated with one or more of the aforementioned external functions. The aforementioned proposal section is, Based on information relating document data to the external function performed when the document data was selected, The external function is identified as being associated with one or more document data that match the search performed by the search unit, and the external function currently associated with the conversational AI is selected as the proposed external function. The information processing system according to claim 8.
11. The aforementioned proposal section is, Based on information that associates the external function with the conversational AI at the time the external function was executed and the number of times the external function was used during the session with the conversational AI, Prioritizing the external functions that are frequently used and currently associated with the aforementioned conversational AI, the system determines which external function to propose. The information processing system according to claim 8.
12. The aforementioned conversational AI is pre-associated with one or more of the aforementioned external functions. The aforementioned proposal section is, Based on information that associates the department to which the user logged in when the external function was executed belongs with the number of times the external function was used by that department, The system prioritizes identifying the external functions that are frequently used by the department to which the currently logged-in user belongs, and then determines which of these external functions is associated with the conversational AI to be the proposed external function. The information processing system according to claim 8.
13. The aforementioned conversational AI is pre-associated with one or more of the aforementioned external functions. The aforementioned proposal section is, Based on information that associates the external function with the user who was logged in when the external function was executed and the number of times that user used the external function, The system prioritizes identifying the external functions that are frequently used by the currently logged-in user, and then determines which of these external functions is associated with the conversational AI to be the proposed external function. The information processing system according to claim 8.
14. The aforementioned external function is a workflow pre-registered for the conversational AI. The information processing system according to claim 1.
15. A reception unit that receives input messages for the conversational AI interacting with the user, A search unit that searches for document data using the aforementioned input message, An external function linkage unit transmits the document data retrieved by the search unit to an external system and obtains the execution results of an external function performed using the document data. The external function linkage unit includes a display control unit that displays the execution results obtained from the external system, An information processing device having
16. The process of receiving input messages for the conversational AI that is interacting with the user, The process of searching for document data using the aforementioned input message, The process involves sending the retrieved document data to an external system and obtaining the execution results of an external function performed using the document data. The process of displaying the execution results obtained from the aforementioned external system, An information processing method characterized by a computer executing the following.
17. Information processing equipment, A reception unit that receives input messages for the conversational AI interacting with the user, A search unit that searches for document data using the aforementioned input message, An external function linkage unit transmits the document data retrieved by the search unit to an external system and obtains the execution results of an external function performed using the document data. The external function linkage unit displays the execution results obtained from the external system. A program designed to function as such.