API Integration System
The API integration system addresses the challenge of executing external service APIs with incomplete user inputs by generating functions based on stored data, ensuring seamless interaction and reduced user burden.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- DENSO CORP
- Filing Date
- 2024-10-02
- Publication Date
- 2026-04-14
AI Technical Summary
Existing information processing systems struggle to execute external service APIs when user inputs lack necessary parameters or prerequisite knowledge, leading to increased user burden and cumbersome interactions.
An API integration system that includes a user input receiving unit, API definition information storage, service data storage, and response generation unit, capable of generating and executing API functions based on user inputs, stored data, and external service APIs, minimizing user burden by supplementing missing parameters and knowledge.
Enables responsive interaction with external services by generating executable API functions using stored data and user inputs, reducing user interaction complexity and burden.
Smart Images

Figure 2026064488000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an API cooperation system that can access an external service and obtain information corresponding to input content by a user via an API (Application Programming Interface) of the external service.
Background Art
[0002] In recent years, with the informatization of society and within companies, various information processing systems that provide various services are operating. For example, a user can access an external information processing system, that is, an external service, from an electronic device that the user operates, and can perform operations or obtain information via an API implemented in the external service.
[0003] However, each external service has an independently defined API implemented. Therefore, depending on the external service to be accessed, different APIs must be used to obtain the necessary information, which is a high load for the user. Against such a background, an information processing system has been proposed that, when a user inputs a request into an electronic device in, for example, a dialogue form using natural language, interprets the input content and obtains information corresponding to the input content via an API of an external service (for example, Patent Document 1).
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] This type of information processing system interprets user input, accesses external services, retrieves data provided by those external services (i.e., service data) via an API implemented in those external services, and presents the results to the user as a response. However, if the external service's API has parameters that the user does not possess, the information processing system cannot execute the API based solely on the user's input and cannot provide a response to the user. Furthermore, the information processing system cannot execute the API if the user makes a request based on prerequisite knowledge not present in the external service, and cannot retrieve results from the external service even if the external service contains service data corresponding to the request.
[0006] In light of the points mentioned above, this disclosure aims to provide an information processing system that can respond to user requests while minimizing the user's burden, even when it is not possible to execute an external service API based solely on the user's input. [Means for solving the problem]
[0007] According to one aspect of this disclosure, the API integration system is an API integration system that operates on a computing device, A user input receiving unit (10) that receives user input, An API definition information storage unit (14) that stores API definition information for an external service (200) that operates outside the device where user input is performed, A service data storage unit (15) that stores a portion of the service data, which is data from an external service, An execution task generation unit (11) interprets user input received by the user input receiving unit, and uses at least one of the API definition information stored in the API definition information storage unit and the service data stored in the service data storage unit to generate API functions and parameters to be input to an external service, An API request processing unit (12) that calls an external service and receives result data from the external service based on the API function and parameters generated by the execution task generation unit, The API includes a response generation unit (20) that renders output in a specified format based on result data received by the API request processing unit.
[0008] The API integration system comprises a user input receiving unit where user requests are entered, an API definition information storage unit that stores API definition information of external services, a service data storage unit that stores a portion of the service data of external services, and a response generation unit that presents results to the user. The API integration system also includes an execution task generation unit that interprets the input content to the user input receiving unit and generates API functions and parameters to be input to the external service based on the API definition information and / or service data. Furthermore, the API integration system includes an API request processing unit that retrieves result data from the external service based on the API functions and parameters generated by the execution task generation unit, and the response generation unit presents a response to the user based on this result data. The API integration system is configured to generate and execute API functions to be input to external services based on user input content by adding or updating service data stored in the service data storage unit. Therefore, even if it is not possible to execute the API of an external service based solely on the user's input content, this API integration system can respond to user requests while minimizing the user's burden.
[0009] The reference numerals in parentheses attached to each component indicate an example of the correspondence between that component and the specific components described in the embodiments described later. [Brief explanation of the drawing]
[0010] [Figure 1] This is a block diagram of the API integration system according to the first embodiment. [Figure 2] This is an explanatory diagram of the intelligent assistant in the comparative example. [Figure 3] Figure 2 illustrates an example of a situation where the intelligent assistant cannot execute the API in response to a user's request. [Figure 4] This diagram illustrates the procedure for a user to obtain requested data using the intelligent assistant shown in Figure 2. [Figure 5] This is a diagram illustrating the interactions between users, API integration systems, and external services. [Figure 6] This figure shows an example of the overall sequence in an API integration system. [Figure 7] This figure shows some examples of API information obtained from external services. [Figure 8] This figure shows an example of an API function that an API integration system presents to the user. [Figure 9] This figure shows an example of how to analyze the return values of API executions by an API integration system and how to store the data. [Figure 10] This figure shows an example of how a user can edit data held within an API integration system. [Figure 11] This is a block diagram of the API integration system according to the second embodiment. [Modes for carrying out the invention]
[0011] The embodiments of this disclosure will be described below with reference to the drawings. In the following embodiments, parts that are the same or equivalent to each other will be denoted by the same reference numerals.
[0012] (First Embodiment) The API integration system 1 of the first embodiment will be described.
[0013] [Basic configuration] The API connection system 1 is constructed to function on a single electronic device such as, for example, a computing device or a mobile computing device, etc., but is not limited thereto. For example, the API connection system 1 may be embodied as a cloud computing system, a cluster computing system, a distributed computing system, etc. The API connection system 1 includes, for example, a CPU, a ROM, a RAM, and a non-volatile rewritable memory, an input / output interface, and a bus, which are not shown in the figures. The CPU, ROM, and RAM are abbreviations for Central Processing Unit, Read Only Memory, and Random Access Memory, respectively. The API connection system 1 reads and executes a computer program stored in a ROM or a non-volatile rewritable memory, which is a non-transitory tangible recording medium. By executing this computer program, a method corresponding to the computer program is executed.
[0014] The API connection system 1 communicates, for example, with other computing devices such as servers existing outside the electronic devices constituting the system, that is, external services, via a communication network such as the Internet. The API connection system 1 includes, for example, as shown in FIG. 1, a user input reception unit 10, an execution task generation unit 11, an API request processing unit 12, an API definition information input unit 13, an API definition information storage unit 14, and a service data storage unit 15. The API connection system 1 further includes, for example, an API definition information analysis unit 16, a service data acquisition setting unit 17, an additional information input unit 18, a service data synchronization control unit 19, and a response generation unit 20.
[0015] The user input receiving unit 10 receives inputs from the user. The user input receiving unit 10 is composed of, for example, any input device such as a microphone, keyboard, touchpad, mouse, or touch panel, or a combination thereof. The user input receiving unit 10 supports any input format such as voice input or manual input. For example, when the user input receiving unit 10 is configured to enable voice input using a microphone or the like, the API linkage system 1 can also be referred to as an interactive API linkage system capable of presenting an answer when a user inputs a question in an interactive format using natural language.
[0016] The execution task generation unit 11 receives the user's input information from the user input receiving unit 10, interprets the input content, and generates a task for obtaining an answer to the user's input content. For example, in the case of a voice input format, the execution task generation unit 11 converts the user's input content from the user input receiving unit 10 into text data using a known voice recognition technology and interprets the text data using a known natural language processing technology. The execution task generation unit 11 generates API functions and parameters using a known language generation technology based on at least one of the API definition information stored in the API definition information storage unit 14 and the service data stored in the service data storage unit 15. Examples of API functions and parameters will be described later.
[0017] The API request processing unit 12 accesses, for example, the external service 200, executes the API using the API functions and parameters generated by the execution task generation unit 11, and obtains the result data answered by the external service 200 due to the API execution. The API request processing unit 12 provides, for example, the data obtained from the external service 200 by the API execution, that is, the service data, to the service data storage unit 15 and the answer generation unit 20.
[0018] The API definition information input unit 13 accesses the external service 200 and obtains the API definition information implemented in the external service. The API definition information input unit 13 provides the obtained API definition information to the API definition information storage unit 14.
[0019] The API definition information storage unit 14 is a database that stores API definition information provided by the API definition information input unit 13, and is composed of any storage medium. The API definition information storage unit 14 can communicate with, for example, the execution task generation unit 11 and the API definition information analysis unit 16. The stored API definition information is read and updated as needed.
[0020] The service data storage unit 15 is a database that stores service data acquired by the API request processing unit 12 and additional data added by the user, and is composed of any storage medium. The service data storage unit 15 can communicate with, for example, the execution task generation unit 11, the API request processing unit 12, the additional information input unit 18, and the service data synchronization control unit 19. The stored service data can be read, new information can be added, and updates can be made. As a result, the API integration system 1 is configured to hold a portion of the service data independently of the database of the external service 200, and the stored service data can be edited without affecting the external service 200. In addition, the service data storage unit 15 optimizes the data stored in the API integration system 1 by selectively saving the service data of the external service 200 that the user has specified.
[0021] The API definition information analysis unit 16 reads, for example, any unanalyzed API definition information stored in the API definition information storage unit 14 and analyzes it using known language analysis techniques. The results of the API definition information analysis by the API definition information analysis unit 16 are provided, for example, to the service data acquisition and setting unit 17 and used for acquiring and setting service data.
[0022] The service data acquisition and setting unit 17 configures the data to be stored in the API integration system 1 from the service data acquired from the external service 200. For example, the service data acquisition and setting unit 17 presents one or more API functions of the external service 200, which have been analyzed by the API definition information analysis unit 16, to the user or administrator via a display device (not shown). Hereinafter, "administrator" in this specification means the administrator of the API integration system 1. Hereinafter, the user or administrator will be referred to as "user, etc." Then, for example, the service data acquisition and setting unit 17 has the user select which of the presented API functions to execute in order to obtain service data. The service data acquisition and setting unit 17 then sets the service data corresponding to the API function specified by the user's selection as the service data to be acquired from the external service 200.
[0023] The additional information input unit 18 is an input device for adding information not included in the external service 200 to the API integration system 1. For example, when a user inputs additional information, the additional information input unit 18 outputs the input content to the service data storage unit 15. The additional information provided by the additional information input unit 18 is stored in the service data storage unit 15 and used when the user makes a request based on prerequisite knowledge not present in the external service 200. In other words, the additional information input unit 18 exports additional data provided by the user into the API integration system 1. As a result, the API integration system 1 can add user-provided additional information that cannot be stored in the external service 200 using the additional information input unit 18 and store it in the service data storage unit 15, thereby enabling integration with the external service 200 based on this additional information.
[0024] The service data synchronization control unit 19 accesses the external service 200 and synchronizes the service data stored in the service data storage unit 15 with the service data stored in the external service 200. The service data synchronization control unit 19 performs the above synchronization at predetermined timings, such as when new additional data is exported by a user, when accessing the external service 200, or when service data is updated within the external service 200, such as by adding or deleting data. The synchronization by the service data synchronization control unit 19 may be performed at different timings than those described above, for example, by pre-configuring the system. As a result, even if the service data of the external service 200 is updated, the service data in the service data storage unit 15 of the API integration system 1 is updated, and the API of the external service 200 can be called based on the latest information.
[0025] The response generation unit 20 is an output device that renders the results obtained by the API request processing unit 12 in a specified format and presents them to the user. The response generation unit 20 is composed of any output device such as a display, screen, speaker, or printer, or a combination thereof, and presents results corresponding to the user's input in any format such as visual, auditory, or both.
[0026] The above describes the basic configuration of API Integration System 1. API Integration System 1 may also be referred to by other names, such as "Intelligent Assistant," "Intelligent System," "Automation Assistant," or "Personal Assistant."
[0027] [Effects of API integration system] Before explaining the effects of the API integration system, let's first describe the comparative information processing system, which executes APIs of external services based on user input, retrieves the answer, and presents it to the user.
[0028] Hereafter, as shown in Figure 2, the information processing system of the comparative example will be referred to as "Intelligent Assistant 100" (hereinafter referred to as "IA100"). Also, for the sake of simplicity, the API implemented in the external service 200 will be referred to as the "external API".
[0029] For example, when IA100 receives voice input from a user in an interactive format, it interprets the input and accesses an external service 200 to obtain a response to that input. External service 200 contains API information about external APIs and service data to be provided to the user. IA100 obtains the information about the external API and executes the API corresponding to the user's input. Then, IA100 returns the result obtained from external service 200 through the API execution to the user as a response.
[0030] In the following explanation, we will use an external service 200 as a representative example, which has, for example, an employee master, a list of employee IDs and names, and patent data, a list of employee IDs and patent information. However, we are not limited to this example. In this case, for example, the external service 200 has two API definitions as API information: "get person list()" which outputs a list of employee IDs, and "get patents(person ID)" which outputs patent information corresponding to the employee IDs.
[0031] For example, as shown in Figure 3, suppose a user launches IA100 and asks, "What are Yamamoto's patents?" However, the external service 200 does not have service data that directly associates employee names with patent information, nor does it have an API definition that outputs patent information corresponding to an employee's name. Therefore, even if IA100 obtains API information from the external service 200, it cannot execute the API that corresponds to the user's question and cannot answer the user's question.
[0032] If a user wants to obtain an answer to the above question using IA100, they need to change the question, for example, as shown in Figure 4. First, the user asks IA100, for example, "What is the employee list information?". In response, IA100 interprets the user's input and executes the "get person list()" API to retrieve employee master information from the external service 200, and presents the result to the user as an answer. This allows the user to understand that Yamamoto's employee ID is 1. Next, the user voice-inputs to IA100, for example, "List of patents for person ID=1". IA100 then interprets the user's input and executes the "get patents(1)" API to retrieve patent information for "Patent X, Patent Y" corresponding to ID=1 from the patent information held by the external service 200, and presents the result to the user as an answer. When using IA100, the user can obtain information on "Patent X, Patent Y" as an answer to the original question, "What are Yamamoto's patents?" by following the above procedure.
[0033] In the example above, the API design of the external service 200 uses the employee ID as a parameter to search for employee patent information, while the user does not know the employee ID. In other words, because the external API is designed to use information that the user does not possess, namely the employee ID, as a parameter, IA100 cannot execute the external API based solely on the user's input, "What are Yamamoto's patents?".
[0034] Furthermore, consider another case where the user has organizational information that "Yamamoto and Terauchi belong to the research department" and asks IA100, "What is the list of patents for the research department?". In this case, IA100 is being asked a question based on prerequisite knowledge not held by the external service 200, and in order to respond to the user's request, it must execute an API that takes this prerequisite knowledge into account. However, the external service 200 does not have the service data corresponding to the above prerequisite knowledge, i.e., the organizational information mentioned above, and does not have an API implemented to handle it. Therefore, as in the example shown in Figure 3, IA100 cannot execute the external API based on the user's input of "What is the list of patents for the research department?", and is unable to answer the user's request.
[0035] Thus, IA100 cannot handle cases where the external service 200's API design uses parameters that the user does not possess, or where the user's request is based on information not held within the external service 200. In other words, if IA100 cannot directly execute the external API based solely on the user's input, it will need to require the user to provide multiple inputs different from the initial input in order to obtain a response to the initial input. This increases the number of processing steps in IA100, making it cumbersome and placing a heavy burden on the user.
[0036] In contrast, the API integration system 1, as shown in Figure 5 for example, is configured to store and retain a portion of the service data in addition to the API information from the external service 200. For the sake of explanation, the service data stored in the service data storage unit 15 will be referred to as "retained data." The retained data is data that the user selects and exports from the external service 200 for the API integration system 1 to acquire and store, and is stored in the API integration system 1 in a predetermined retained format that the user can edit. Then, for example, based on the stored retained data and / or API information, the execution task generation unit 11 generates API functions and parameters to be executed in the external service 200.
[0037] For example, the execution task generation unit 11 interprets the user's input and generates an API function similar to the external API if the API function and parameters can be generated using only the user's input. On the other hand, if this is not possible, for example, the execution task generation unit 11 refers to the stored data and, if the stored data contains information related to the user's input, generates the API function and parameters using the information in the stored data. Also, for example, if the stored data does not contain the above-mentioned related information, the API integration system 1 requests the user to input the missing parameters. In this way, if the external API is designed to use information that the user does not possess as a parameter, the API integration system 1 can refer to the stored data and generate an executable API function and parameters based on the user's input.
[0038] Furthermore, the API integration system 1 allows users to add information to the stored data. For example, as shown in Figure 5, if a user adds organizational information such as "Yamamoto and Terauchi belong to the research department," the API integration system 1 updates the stored data with the added information and retains it in the updated state. As a result, even when a user asks a question based on prerequisite knowledge not present in the external service 200, the API integration system 1 automatically supplements the necessary information from the API definition information and stored data, and generates API functions and parameters that can be executed in the external service 200.
[0039] Furthermore, the API integration system 1 is configured to synchronize the stored data with the service data of the external service 200 at predetermined intervals, for example, by the service data synchronization control unit 19. This ensures that the stored data is kept up-to-date, and the API integration system 1 can generate executable API functions even when the stored data or the service data of the external service 200 is updated.
[0040] Therefore, even if the API integration system 1 cannot directly execute an external API based solely on user input, the execution task generation unit 11 can generate an API function that can be executed on the external service 200, thereby reducing the user's burden.
[0041] [Example of processing in an API integration system] Next, the overall sequence of an example process executed by API integration system 1 will be explained with reference to Figure 6.
[0042] For example, the API integration system 1 has an API definition information input unit 13 that accesses an external service 200 and obtains API definition information from an API specification document or similar document that describes the specifications of the external API. The API definition information obtained in this process is a document that defines the API's functions, usage methods, request and response formats, etc., as shown in Figure 7. Although Figure 7 shows an example where the file is a YAML file compliant with the OpenAPI standard, it is not limited to this format and may be any other known file format. Furthermore, although the above describes an example in which the API integration system 1 automatically downloads API definition information data from the external service 200, this data may also be downloaded manually by a user or other operator.
[0043] Next, the API integration system 1 stores the acquired API definition information in the API definition information storage unit 14. Then, the API integration system 1 analyzes the API definition information acquired and stored in the previous step by the API definition information analysis unit 16, and obtains information on the API specifications (functions, parameters, etc.) of the external service 200.
[0044] Next, the service data acquisition and setting unit 17 of the API integration system 1 presents the API functions of the external service 200 obtained by the analysis in the previous step to the user, for example, as shown in Figure 8. If, for example, multiple API functions are obtained by the analysis, the service data acquisition and setting unit 17 presents at least one of them in a predetermined format that the user can select.
[0045] The user then selects an API function from among the API functions presented by the API integration system 1 that can retrieve the service data they wish to retain. Based on this selection, the service data acquisition setting unit 17, for example, sets the target data to be stored in the API integration system 1 from the service data acquired from the external service 200.
[0046] Figure 8 shows an example where the "get person list()" API function is selected to retrieve employee list data. In this case, the data to be stored in the API integration system 1 is the employee list data. Alternatively, the service data acquisition setting unit 17 may, for example, present the user with the types of data to be acquired and select an API function corresponding to the type of data specified by the user, instead of an API function. For the sake of explanation, the API function directly selected by the user in this process, or the API function selected by the system in response to the user's specification, will be referred to as the "selected API function."
[0047] Next, the API integration system 1 accesses the external service 200 and executes the selected API function. As a result, the external service 200 returns the result obtained from the execution of the selected API function, i.e., the return value, from the service data to the API integration system 1.
[0048] Next, the API integration system 1 analyzes and stores the data obtained from the external service 200 in the previous step. For example, as shown in Figure 9, the API integration system 1 analyzes the information of the selected API function and the return value obtained from its execution, and stores it in a predetermined format that can be edited by the user. Figure 9 shows an example where API information is obtained to request a list of employees, and the return value of the API execution, consisting of employee IDs and names corresponding to the employee IDs, is obtained in the employee master of the service data. In this case, for example, the API integration system 1 generates employee list data in which the names of multiple employees and their employee IDs are linked, and stores and stores this data in the service data storage unit 15.
[0049] For example, the service data acquisition and setting unit 17 of the API integration system 1 displays the contents of the data analyzed / retained in the previous step to the user. At this time, the data displayed to the user is not, for example, the return value of the API execution obtained from the external service 200, but is in a predetermined format that is easy for the user to read, such as the retained data shown in Figure 9. The retained data is, for example, a knowledge graph in RDF format, but is not limited to this and may be in other known formats.
[0050] Furthermore, the API integration system 1 allows users to add information to the stored data in order to respond to requests made by users based on information not held within the external service 200. Specifically, the API integration system 1 is configured so that users can edit the contents of the stored data via the additional information input unit 18. Examples of editing the stored data include adding new information or adding information about the relationships between already included information. Specifically, for example, a user can input prerequisite knowledge not present in the external service 200, such as "Yamamoto and Terauchi belong to the research department," into the additional information input unit 18. As a result, as shown in Figure 10, the stored data is overwritten and saved, including the added information, and updated to data containing information not held within the external service 200.
[0051] Next, when the user inputs a request to the API integration system 1, the API integration system 1, in the execution task generation unit 11, generates an API function to be executed on the external service 200 based on the API definition information and / or stored data. The service request in Figure 6 corresponds to the user's input. For the sake of explanation, the API function generated in this process will be referred to as the "generated API function" below.
[0052] The generated API function is created by referencing, for example, user input, API definition information, and retained data as needed. For example, if the external API can be executed directly based solely on user input, the generated API function will use parameters defined in the same way as the external API. On the other hand, if this is not the case, the generated API function will have the parameters in the external API function replaced with those that correspond to the user input. Specifically, for example, if the user's request is "What are the patents of the Research Department?", and the external API is designed to search for patent information using employee IDs, the external API cannot be executed with the parameter "Research Department". In this case, the generated API function will refer to the organizational information added to the retained data and replace the parameter "Research Department" with the parameters "ID=1, 2". In this way, the generated API function will be made executable on the external service 200 according to the user's input.
[0053] Furthermore, if the issued service request lacks parameters necessary to execute an external API, such as "What about patents?", the API integration system 1 is designed to prompt the user to input the missing parameters. For example, in the above case, the API integration system 1 will return a question to the user prompting them to input the missing parameters for API execution, based on the parameter information used for the API to be executed, which it has estimated from the user's input. For example, in the above example, the API integration system 1 will determine from the API definition information "get patents(person ID)" that the missing parameter is "person ID" and will return a question to the user such as "You need to specify a person to obtain a patent. Whose patent do you want to obtain?". In this way, the API integration system 1 will determine the missing parameters from the user's input and API definition information, and will ask appropriate questions to prompt the user to input those parameters. Then, once the parameters necessary for API execution are complete, the API integration system 1 can generate the API function and parameters by referring to the API analysis results and stored data, etc.
[0054] Next, the API integration system 1 executes the generation API function on the external service 200 and obtains the API execution result from the external service 200. Subsequently, the API integration system 1 generates an answer based on the return value from the execution of the generation API function by the answer generation unit 20 and presents it to the user in a predetermined format.
[0055] The above is an example of processing performed by API integration system 1.
[0056] In summary, the API integration system 1 of this embodiment has a configuration that mainly consists of five functions. The first function is a function that allows the user to select service data to be exported from the external service 200 into the API integration system 1, which is implemented, for example, by the service data acquisition setting unit 17. The second function is a function that exports a portion of the service data from the external service 200 in advance and stores it in the API integration system 1, which is implemented, for example, by the API request processing unit 12 and the service data storage unit 15. The third function is a function that allows the user to add additional information to the data stored in the API integration system 1 by the second function and save it, which is implemented, for example, by the additional information input unit 18 and the service data storage unit 15. The fourth function is a function that combines the content of the request from the user with the information stored by the second and third functions to generate API functions and parameters to be executed in the external service 200, which is implemented, for example, mainly by the execution task generation unit 11. The fifth function is to synchronize the data exported from the external service 200 to the API integration system 1 with the external service 200 at an appropriate time, and this is realized, for example, by the service data synchronization control unit 19.
[0057] API Integration System 1 is configured to generate and execute executable API functions on External Service 200 by combining the five functions described above. If API Integration System 1 cannot execute the external API based solely on user input, it refers to the analysis results of the API information and stored data to generate executable API functions and parameters, and then executes the generated API on External Service 200. Therefore, even when API Integration System 1 cannot execute the external API based solely on user input, it allows for more flexible use of External Service 200 while minimizing the burden on the user.
[0058] (Second Embodiment) The API integration system 1 of the second embodiment differs from the first embodiment in that it further includes a dialogue history storage unit 21, as shown in Figure 11, for example. This embodiment will mainly explain this difference.
[0059] The dialogue history storage unit 21 is a database that stores the dialogue history consisting of user input and responses, i.e., user questions and responses from the API integration system 1, and is composed of any recording medium. The dialogue history storage unit 21 can communicate with, for example, the user input receiving unit 10, the execution task generation unit 11, the API request processing unit 12, the API definition information storage unit 14, and the service data storage unit 15.
[0060] The dialogue history storage unit 21, for example, when a user input request is input to the user input receiving unit 10, receives the interpretation result of the input content from the execution task generation unit 11 and stores it together with the input content as a question history. Also, when the API request processing unit 12 executes the API generated by the execution task generation unit 11 based on the user input content and obtains the API execution result from the external service 200, the dialogue history storage unit 21 receives the API execution result and stores it as an answer history. Furthermore, the dialogue history storage unit 21 may, if necessary, obtain information corresponding to the user input content or the system's answer from the API definition information storage unit 14 or the service data storage unit 15 and store it as a dialogue history.
[0061] In this embodiment, when the API integration system 1 receives a request from a user, for example, it determines whether the interpretation result of the input content by the execution task generation unit 11 is included in the dialogue history of the dialogue history storage unit 21. If it determines that the new input content from the user is included in the dialogue history of the dialogue history storage unit 21, for example, the execution task generation unit 11 obtains the response history information corresponding to the input content from the dialogue history storage unit 21 and outputs the result to the response generation unit 20. In this case, the response generation unit 20 can present a response to the user without having to generate and execute the API function again by the execution task generation unit 11, making it possible to respond to the user's request smoothly. If the API integration system 1 determines that the interpretation result of the input content by the execution task generation unit 11 is not included in the dialogue history of the dialogue history storage unit 21, it obtains data from the external service 200 and presents a response to the user using the same process as in the first embodiment.
[0062] Furthermore, suppose the user inputs "What about patents?", and the API integration system 1 prompts the user for additional parameters by saying "A person needs to be specified to obtain a patent. Whose patent do you want to obtain?", and the user inputs only "Research Department". In this case, without referring to the dialogue history, the API integration system 1 cannot estimate the API to execute from the user's input and therefore cannot generate an API function. Therefore, the API integration system 1 of this embodiment can estimate the API to execute and candidate parameters by referring to the dialogue history and supplementing it by determining that the user's input was a request for "What about the Research Department's patents?".
[0063] According to this embodiment, in addition to the effects of the first embodiment described above, the API integration system 1 has the effect of being able to provide a response more quickly when a request previously made by the user is repeated. Furthermore, the API integration system 1 of this embodiment also has the effect of improving convenience by eliminating the effort required of the user to provide the same information again.
[0064] (Other embodiments) This disclosure is described in accordance with the embodiments, but it is understood that this disclosure is not limited to such embodiments or structures. This disclosure also includes various modifications and variations within the equivalence range. In addition, various combinations and forms, as well as other combinations and forms including one, more, or less of those elements, fall within the scope and concept of this disclosure.
[0065] The systems and methods described herein may be implemented by a dedicated computer provided by configuring a processor and memory programmed to perform one or more functions embodied by a computer program. Alternatively, the systems and methods described herein may be implemented by a dedicated computer provided by configuring a processor by one or more dedicated hardware logic circuits. Alternatively, the systems and methods described herein may be implemented by one or more dedicated computers configured by a combination of a processor and memory programmed to perform one or more functions and a processor configured by one or more hardware logic circuits. Furthermore, the computer program may be stored as instructions executed by the computer on a computer-readable non-transitional tangible recording medium.
[0066] It goes without saying that, in each of the above embodiments, the elements constituting the embodiment are not necessarily essential unless explicitly stated to be particularly essential or unless they are clearly considered essential in principle. Furthermore, in each of the above embodiments, when numerical values such as the number, numerical values, quantities, or ranges of the components of the embodiment are mentioned, the embodiment is not limited to those specific numbers unless explicitly stated to be particularly essential or unless it is clearly limited to a specific number in principle. Furthermore, in each of the above embodiments, when the shape, positional relationship, etc., of the components are mentioned, the embodiment is not limited to those shapes, positional relationships, etc., unless explicitly stated or unless it is clearly limited to a specific shape, positional relationship, etc., in principle. [Explanation of Symbols]
[0067] 10 User input receiving unit 11 Execution Task Generation Unit 12 API Request Processing 14 API definition information storage section 15. Service Data Storage Unit 18 Additional Information Input Section 19 Service Data Synchronization Control Unit 20 Answer generation part 200 External Services
Claims
1. An API integration system that operates on a computing device, A user input receiving unit (10) that receives user input, An API definition information storage unit (14) stores API definition information for an external service (200) that operates outside the device where user input is performed, A service data storage unit (15) that stores a portion of the service data, which is data from the aforementioned external service, An execution task generation unit (11) interprets user input received by the user input receiving unit, and uses at least one of the API definition information stored in the API definition information storage unit and the service data stored in the service data storage unit to generate API functions and parameters to be input to the external service, Based on the API function and parameters generated by the execution task generation unit, an API request processing unit (12) calls the external service and receives result data from the external service. An API linkage system comprising: an answer generation unit (20) that renders output in a specified format based on the result data received by the API request processing unit.
2. The API linkage system according to claim 1, wherein the service data storage unit obtains a portion of the service data from the external service using the execution task generation unit and the API request processing unit based on the API definition stored in the API definition information storage unit.
3. The API linkage system according to claim 1, further comprising a service data acquisition and setting unit (17) that executes control of the API function generated by the execution task generation unit.
4. The API linkage system according to claim 1, further comprising an additional information input unit (18) that enables the addition or editing of information in the service data stored in the service data storage unit.
5. The API linkage system according to claim 1, further comprising a service data synchronization control unit (19) that synchronizes the service data stored in the service data storage unit with the data stored in the external service.
Citation Information
Patent Citations
Intelligent automated assistant
JP2024056744A