Information processing device
The information processing device addresses the lack of user preference consideration in service orchestration by estimating and incorporating user preferences into service combination selection, resulting in more accurate and relevant solutions.
Patent Information
- Application Number
- JP2023198931
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-24
- Publication Date
- 2025-06-05
AI Technical Summary
Conventional information processing systems do not consider user preferences for service combinations when proposing solutions in service orchestration systems.
An information processing device is configured with a user preference estimation unit, a service connectivity information storage unit, and a service selection unit to estimate user preferences for service combinations and select optimal service combinations based on these preferences.
The device effectively presents an optimal combination of services that reflects user preferences, enhancing the accuracy and relevance of service orchestration solutions.
Smart Images

Figure 2025085217000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing device. [Background technology]
[0002] Conventionally, various information processing systems capable of presenting answers to user requests in an interactive format have been proposed (see, for example, Patent Documents 1 and 2). Patent Document 1 discloses an intelligent automated assistance system that includes a service orchestration component and provides a response based on user intent and context information associated with a user request (voice input). Patent Document 2 discloses a voice recognition system that adjusts the weight (score) of related contexts from past user utterances (voice input) and outputs a transcription of the user's voice input. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 7213206 Specification [Patent Document 2] U.S. Pat. No. 1,141,0660 Summary of the Invention [Problem to be solved by the invention]
[0004] Incidentally, when using a service orchestration system capable of proposing and executing a combination of multiple services, a user may have preferences, for example, regarding the track record of collaboration between services or the method of each service. In other words, a user may have preferences for service combinations (hereinafter referred to as "user preferences"). Therefore, it is desirable to take user preferences for service combinations into consideration in a service orchestration system as well. However, the conventional technologies disclosed in the above Patent Documents 1 and 2 do not propose a technology that takes user preferences for service combinations into consideration.
[0005] In view of the above, the present invention has been made in consideration of the above circumstances. An object of the present invention is to provide an information processing device capable of presenting an optimal combination of services as a solution, which reflects the user's preferences for service combinations, in response to a user request for service orchestration. [Means for solving the problem]
[0006] In order to solve the above problems, the information processing device of the present invention includes a user preference estimation unit, a service connectivity information storage unit, and a service selection unit. The user preference estimation unit estimates a first feature related to a user preference for a combination of services based on a user request. The service connectivity information storage unit stores service connectivity information including one or more second features related to connectivity between services associated with each of a plurality of combinations of services. The service selection unit selects a combination of services suitable for the user request based on the first feature and the service connectivity information. Effect of the Invention
[0007] According to the information processing device of the present invention having the above configuration, in response to a user request regarding service orchestration, it is possible to present, as a solution, an optimal combination of services that reflects the user's preferences regarding service combinations. [Brief description of the drawings]
[0008] [Figure 1] 1 is a hardware configuration diagram of an information processing device according to an embodiment of the present invention. [Diagram 2] 1 is a functional block diagram of an information processing device according to an embodiment of the present invention; [Diagram 3] 4 is a diagram showing an example of the configuration of a request state information table stored in a memory of an information processing device according to an embodiment of the present invention; FIG. [Figure 4] 4 is a diagram showing an example of the configuration of a task information table stored in a memory of an information processing device according to an embodiment of the present invention; FIG. [Diagram 5] 10 is a diagram showing an example of the configuration of a service information table stored in a memory of an information processing device according to an embodiment of the present invention; FIG. [Figure 6] 10 is a diagram showing an example of the configuration of a service document information table stored in a memory of an information processing device according to an embodiment of the present invention; FIG. [Figure 7] 10 is a diagram showing an example of the configuration of a service connectivity evaluation item table stored in a memory of an information processing device according to an embodiment of the present invention; FIG. [Figure 8] 10 is a diagram showing an example of the configuration of a prompt information table stored in a memory of an information processing device according to an embodiment of the present invention; FIG. [Figure 9] 1 is a diagram showing an example of the configuration of a service connectivity information table stored in a memory of an information processing device according to an embodiment of the present invention; [Figure 10] 10 is a flowchart showing the procedure of a service orchestration process performed by an information processing device according to an embodiment of the present invention. [Figure 11]FIG. 2 is a diagram showing an example of an interactive solution between an information processing device and a user according to an embodiment of the present invention. [Figure 12] 10 is a flowchart showing the procedure of a service connectivity information estimation process performed by a connectivity estimation unit of the information processing device according to the embodiment of the present invention. [Figure 13] 10 is a flowchart showing the procedure of a necessary task estimation process performed by a task estimation unit of the information processing device according to one embodiment of the present invention. [Figure 14] 10 is a flowchart showing the procedure of a user preference estimation process performed by a preference estimation unit of the information processing device according to one embodiment of the present invention. [Figure 15] 10 is a flowchart showing the procedure of a service / service combination selection process performed by a service selection unit of the information processing device according to one embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, an information processing device used in a service orchestration system according to an embodiment of the present invention that utilizes language AI (Artificial Intelligence) will be specifically described with reference to the drawings.
[0010] [Service orchestration system configuration] FIG. 1 is a diagram showing the configuration of a service orchestration system according to this embodiment. FIG. 1 also shows the hardware configuration of an information processing device according to this embodiment. The service orchestration system 1 according to this embodiment is a system capable of presenting an optimal service or combination of services as a solution in response to a request in natural language from a user (client). Note that hereinafter, "a service or combination of services" will be referred to as "service / service combination."
[0011] As shown in FIG. 1, the service orchestration system 1 includes an information processing device 2, a user or client terminal 3 (hereinafter referred to as “user terminal 3”) connected to the information processing device 2 via a network 5, and a remote service unit 4.
[0012] The user terminal 3 can be configured, for example, as an arithmetic processing device such as a computer device, or a mobile terminal device such as a notebook computer, tablet, or smartphone. Although not shown, the user terminal 3 has an input unit into which the user can input information, and a display unit for displaying various information. The display unit displays, in an interactive format, the contents of a request for a desired service / service combination input by the user via the input unit, and the contents of a proposed solution sent (input) in response to the request from the information processing device 2 (see FIG. 11 described later). The user's request may be input to the input unit by voice input or text input.
[0013] The remote service unit 4 is provided, for example, on a cloud. The remote service unit 4 can appropriately perform processing required in cooperation with a workflow performed by the information processing device 2 while the service orchestration system 1 is in operation. The remote service unit 4 then transmits results of the executed processing to the information processing device 2 via the network 5. The remote service unit 4 can also appropriately provide applications, data, and the like required for various processes performed by the information processing device 2 to the information processing device 2.
[0014] In the service orchestration system 1 configured as above, a request in a user's natural language regarding a desired service / service combination is transmitted (input) from the user terminal 3 to the information processing device 2 via the network 5. Then, as a response to the user's request, information on a proposed solution selected by the information processing device 2 is transmitted (input) from the information processing device 2 to the user terminal 3 via the network 5. While the service orchestration system 1 is operating (while an application is running), the above-mentioned user's request and the response thereto are repeated between the information processing device 2 and the user terminal 3.
[0015] [Configuration of information processing device] The information processing device 2 performs various processes for proposing (presenting) to the user an optimal service / service combination as a solution for implementing a request made in natural language by the user. Hereinafter, these various processes are collectively referred to as "service orchestration processing." In addition, in the service orchestration processing by the information processing device 2, a language model (language AI) is used as appropriate.
[0016] The information processing device 2 is composed of an arithmetic processing device such as a computer device having an arithmetic function and a communication function. As shown in Fig. 1, the information processing device 2 includes a CPU (Central Processing Unit) 11, a memory 12, a storage device 13, a network interface (NW I / F) 14, and an input / output interface (input / output I / F) 15, all connected to a bus line 16.
[0017] The CPU 11 reads out the program code of the software for realizing the functions of various processes that can be executed by the service orchestration system 1 from the storage device 13 to the memory 12 and executes it. At this time, variables and parameters generated during the calculation process are also temporarily written to the memory 12.
[0018] The memory 12 is made up of a RAM (Random Access Memory), and stores various data (see Figs. 3 to 9 described later) required for the arithmetic processing by the CPU 11. The storage device 13 is made up of a ROM (Read Only Memory), and stores various software for executing the arithmetic processing by the CPU 11.
[0019] The network interface 14 is configured, for example, by a NIC (Network Interface Card) or the like, and transmits and receives various data between each device connected via wireless communication. Therefore, the user terminal 3 and the remote service unit 4 are connected to the network interface 14 via the network 5.
[0020] The input / output interface 15 is an interface used when executing input / output processing of various data (various information) between the information processing device 2 and an external device.
[0021] Although not shown, the information processing device 2 includes a nonvolatile storage. The nonvolatile storage can be configured, for example, with a hard disk drive (HDD), a solid state drive (SSD), a flexible disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory, or the like. An operating system (OS), various parameters, and the like are stored in the nonvolatile storage. Information (data) such as programs, tables, and files for implementing the functions of various processes executable by the service orchestration system 1 may also be stored in the nonvolatile storage. Furthermore, the information (data) such as these programs, tables, and files may also be stored in a recording medium such as an IC card, an SD card, or a DVD, in addition to the storage device 13 or the nonvolatile storage.
[0022] [Functional configuration of information processing device] Fig. 2 is a functional block configuration diagram of the information processing device 2. Note that Fig. 2 shows only functional units related to the service orchestration process performed by the information processing device 2.
[0023] As shown in FIG. 2, the information processing device 2 functionally comprises a processing unit 20 and a data management unit 30 connected to the processing unit 20.
[0024] The processing unit 20 is a functional unit for executing service orchestration processing on software. Various processing functions of the processing unit 20 are controlled by software, that is, by the CPU 11 (processor) interpreting and executing programs for realizing each function. The data management unit 30 is a storage unit for storing various information used, referenced, or updated in the service orchestration processing by the processing unit 20. Therefore, the processing unit 20 and the data management unit 30 are functionally included in the CPU 11 and the memory 12, respectively.
[0025] [Configuration of processing unit] 2, the processing unit 20 includes a request acquisition unit 21, a task estimation unit 22, a preference estimation unit 23 (user preference estimation unit), and a service selection unit 24. The processing unit 20 also includes a WF (Workflow) conversion unit 25, a WF execution unit 26, a connectivity estimation unit 27 (service connectivity information estimation unit), and a language model unit 28 (language model processing unit).
[0026] The request acquisition unit 21 receives (acquires) a request (natural language) regarding a service / service combination desired by a user from the user terminal 3. In addition, the request acquisition unit 21 stores information on the received request in a request status information storage unit 31 (a request status information table described later) in the data management unit 30.
[0027] The task estimation unit 22 analyzes the request (natural language) acquired by the request acquisition unit 21 using a language model (language AI) and estimates (extracts) tasks necessary to realize the request. At this time, in the estimation process of the necessary tasks by the task estimation unit 22, not only the request information acquired by the request acquisition unit 21 but also information stored in a task information storage unit 32 (task information table) in the data management unit 30 (described later) is referenced.
[0028] Note that the "task" here does not mean a specific service for solving a problem, but rather means a type of solution to the problem. For example, tasks include BI (Business Intelligence), IoT (Internet of Things), and BPM (Business Process Management). In other words, a task is attribute information of a service.
[0029] The preference estimation unit 23 uses a language model (language AI) to analyze information on the dialogue history between the user and the information processing device 2 when using the system, and estimates the user preference of the user who made the request. At this time, the preference estimation unit 23 estimates, as the user preferences, the user preference for the service (hereinafter referred to as "individual preference": third feature) and the user preference for the service combination (hereinafter referred to as "combination preference": first feature). Note that the information on the dialogue history between the user and the information processing device 2 is stored in a request state information storage unit 31 (request state information table described later) in the data management unit 30. In addition, the preference estimation unit 23 stores information (vector information) on the estimated user preference in a request state information storage unit 31 (request state information table described later).
[0030] The service selection unit 24 selects and presents to the user one or more optimal services / service combinations for realizing the user request, based on the information on the necessary tasks estimated by the task estimation unit 22 and the information on the user preferences estimated by the preference estimation unit 23. In addition, the service selection unit 24 determines the optimal service / service combination, based on the user's selection information for the presented one or more services / service combinations.
[0031] The WF conversion unit 25 converts the information on the optimal service / service combination determined by the service selection unit 24 into a specific workflow (visible work flow) that enables the execution of the service / service combination. The WF execution unit 26 executes the workflow generated by the WF conversion unit 25.
[0032] The connectivity estimation unit 27 estimates various feature amounts (second feature amounts) related to the connectivity (linkage) between services in a service combination that can be verified by the information processing device 2, using a language model (language AI). Note that, hereinafter, information summarizing various feature amounts related to the connectivity (linkage) between services is referred to as a "connectivity score". Also, the connectivity estimation unit 27 stores the estimated connectivity score in a service connectivity information storage unit 37 (service connectivity information table) described later in the data management unit 30. Note that, in this embodiment, the connectivity estimation unit 27 estimates the connectivity score (service connectivity information) when the service orchestration system 1 is started up, but the present invention is not limited to this, and may be performed periodically at a predetermined interval.
[0033] The language model unit 28 performs processing using a language model (language AI) used in each process by the task estimation unit 22, the preference estimation unit 23, and the connectivity estimation unit 27. At this time, the language model unit 28 is called by each of the task estimation unit 22, the preference estimation unit 23, and the connectivity estimation unit 27, and processing using the language model is performed. Note that the "language model" here is a natural language processing model trained using a large amount of text data. In this embodiment, a general-purpose large language model (LLM: Large Language Model) is used as the language model to respond to ambiguous requests in the user's natural language.
[0034] In this embodiment, the various processing function units included in the processing unit 20 described above are configured by software, but the present invention is not limited to this, and some or all of the various processing functions described above may be configured by hardware.
[0035] [Connectivity Score (Service Connectivity Information)] Here, the connectivity score estimated by the connectivity estimation unit 27 will be described. The connectivity score is composed of evaluation values for each of a plurality of evaluation items related to the connectivity between services. The evaluation items included in the connectivity score are roughly classified into evaluation items related to the relationship during service cooperation and evaluation items related to the effect during cooperation. Examples of the former evaluation items include "method," "implementation effort," and "data integrity and security," while examples of the latter evaluation items include "track record," "complementarity," "features," "domain," and "application scenario." Note that the values (feature amounts) of the evaluation items included in the connectivity score are obtained by converting qualitative information (summary) into numerical information (real numbers, vectors) so that they can be processed by the information processing device 2.
[0036] The value of the evaluation item "method" (feature related to the method of integration) is, for example, a numerical representation of the level of integration between the combined services, such as an API (Application Programming Interface) integration level, a library integration level, or a concept level. Note that the value of the evaluation item "method" may also reflect features such as the presence or absence of an integration connector, the presence or absence of official support, and the presence or absence of Azure (registered trademark) AD (Active Directory) compatibility.
[0037] The value of the evaluation item "Realization effort" is a numerical representation of the time (e.g., several weeks or months) required to build a service combination. Also, the value of the evaluation item "Data integrity / security" is a numerical representation of the characteristics of data transfer between the combined services (e.g., whether encryption is performed, whether data integrity is guaranteed, etc.).
[0038] The value of the evaluation item "performance" is a numerical representation of the past implementation performance (e.g., the number of implementations) of the service combination. Note that the value of the evaluation item "performance" may also reflect characteristics such as the presence or absence of performance in large companies, the presence or absence of performance in a specific industry, etc.
[0039] The value of the evaluation item "complementarity" is a numerical representation of the difference in the characteristics between the services to be combined (for example, the similarity between the services). The value of the evaluation item "characteristics" is a numerical representation of the characteristic quantities of evaluation items other than the various evaluation items mentioned above for the service combination, and is expressed as a vector (see Figure 9 below).
[0040] The value of the evaluation item "Domain" is a numerical representation of information such as the industries in which the service combination is suitable and the industries in which the service combination has a track record, and is expressed as a vector as described below (see Figure 9 below). The value of the evaluation item "Domain" may also reflect information such as the size and number of employees of the company to which the service combination is applied. The value of the evaluation item "Application Scene" is a numerical representation of information such as the scenes and uses to which the service combination is applied (e.g., anomaly detection, business efficiency, customer management, etc.).
[0041] As described above, in this embodiment, the values of the evaluation items "Features" and "Domain" are expressed as vectors, but the other evaluation items (such as "Method", "Realization Effort", "Performance", "Complementarity", and "Application Scene") are expressed as real numbers (relative values). The "relative value" here is a value close to "1" when the content of the evaluation item is close to the highest evaluation (when the evaluation is high) with the highest evaluation at the moment being used as the standard ("1") for each evaluation item. On the other hand, when the content of the evaluation item is far from the highest evaluation (when the evaluation is low), the value of the evaluation item is close to "0". For example, if there are many performance results for the service combination to be evaluated, the value of the evaluation item "Performance" will be close to "1", and if there is no performance result, the value of the evaluation item "Performance" will be "0".
[0042] [Data Management Section Structure] 2, the data management unit 30 has a request state information storage unit 31, a task information storage unit 32, a service information storage unit 33, and a service document information storage unit 34. The data management unit 30 also has a service connectivity evaluation item storage unit 35, a prompt information storage unit 36, a service connectivity information storage unit 37, and a WF information storage unit 38. The configuration of the data stored in each information storage unit will be specifically described below.
[0043] (1) Request status information storage section The request state information storage unit 31 stores usage information of the service orchestration system 1 by users (clients). Fig. 3 is a diagram showing an example of the configuration of table data (hereinafter referred to as a "request state information table") stored in the request state information storage unit 31. The request state information table stores usage information for each user request in chronological order.
[0044] In the request state information table, various information at the time of using the system is stored, which is linked (associated) with a "request ID (identification information)" assigned to each user request. Specifically, in the request state information table, as shown in FIG. 3, dialogue history information between the user and the information processing device 2 ("dialogue history" in the figure) and task information required to realize the request ("necessary task list" in the figure) are stored linked to the "request ID". In addition, in the request state information table, information on the service / service combination selected by the user ("service list" in the figure) and information on the user's individual preference ("individual preference vector" in the figure) are stored linked to the "request ID". In addition, in the request state information table, information on the user's combination preference ("combination preference vector" in the figure) and information on the last date and time of the dialogue ("update date and time" in the figure) are stored linked to the "request ID". In addition, in the case where there is no "necessary task list" or "service list" for the request, information of no match ("N / A" in the figure) is stored in the request state information table.
[0045] Here, as an example, various pieces of information associated with the request ID "Request 3" and stored in the request state information table will be described.
[0046] As shown in FIG. 3, the following information group showing the dialogue history is stored in association with the request ID "Request 3" as information on the "dialogue history". <sys>The question "Please enter your request" is stored. Then, the user's response to the question " <user>: How can I detect anomalies in a food factory? I don't really care about the delivery date, but I would prefer a solution that has a proven track record and is stable. <sys>:By combining the following services, an anomaly detection solution can be realized in food factories. "Foo" service: The answer "Baz" service: ..." is stored.
[0047] In addition, information (identification information) of "Task 1" and "Task 2" is linked to and stored in the request ID "Request 3" as information in the "Required Task List". Information (identification information) of "Service 1" and "Service 3" is linked to and stored in the request ID "Request 3" as information in the "Service List". The user's individual preference vector and the user's combined preference vector estimated in the processing during the dialogue are linked to and stored in the request ID "Request 3". Note that in Figure 3, for the sake of simplification of explanation, the specific numerical values of each element of the user's individual preference vector and combined preference vector linked to the request ID "Request 3" are omitted. Furthermore, "2023 / 11 / 25" is linked to and stored in the request ID "Request 3" as information on the "update date and time".
[0048] (2) Task information storage section The task information storage unit 32 stores information on various tasks selectable by the information processing device 2 (service orchestration system 1). Fig. 4 is a diagram showing an example of the configuration of table data (hereinafter referred to as a "task information table") stored in the task information storage unit 32.
[0049] The task information table stores various pieces of information about a task that are linked (associated) with a "task ID (identification information)" that is assigned to each type of task that can be selected by the information processing device 2. Specifically, as shown in FIG. 4, the task information table stores the name information of the task ("task name" in the figure) and the information about the content of the task ("summary" in the figure) linked to the "task ID." Also, the task information table stores the identification information of various services included in the task ("supported service list" in the figure) linked to the "task ID." Each piece of service information specified in the "supported service list" column in the task information table is linked to the corresponding service information (identification information) stored in a service information table (see FIG. 5) described later.
[0050] Here, as an example, various pieces of information that are linked to the task ID "Task 1" and stored in the task information table will be described. As shown in FIG. 4, "BI" is linked to the task ID "Task 1" as the "Task Name" information and stored. The task ID "Task 1" is linked to and stores the information "Service for companies and organizations to collect, organize, and analyze data to support business decision-making" as the "Summary" information of the task. Additionally, the task ID "Task 1" is linked to and stores the identification information of "Service 1" and "Service 3" as the "Supported Service List" information.
[0051] The task information table is stored in advance before use of the service orchestration system 1. The information stored in the task information table may be updated appropriately at a predetermined timing, or may be updated periodically at a predetermined time interval.
[0052] (3) Service information storage section The service information storage unit 33 stores information on various services selectable by the information processing device 2 (service orchestration system 1). Fig. 5 is a diagram showing an example of the configuration of table data (hereinafter referred to as a "service information table") stored in the service information storage unit 33.
[0053] The service information table stores various information about services linked (associated) with a "service ID (identification information)" assigned to each type of service selectable by the information processing device 2. Specifically, as shown in FIG. 5, the service information table stores name information of the service ("service name" in the figure) and information about the content of the service ("overview" in the figure) linked to the "service ID". The service information table stores identification information of the task to which the service belongs ("executable task" in the figure) and identification information of document data related to the service ("related document list" in the figure) linked to the "service ID". The service information table also stores numerical information indicating the characteristics of the service ("feature vector" in the figure: fourth feature amount) linked to the "service ID".
[0054] The identification information of each service document specified in the "Related Document List" column in the service information table is linked to the identification information of the corresponding service document stored in the service document information table (see FIG. 6) described later. Also, the information of the "feature vector" of each service specified in the service information table is estimated (calculated) in advance by, for example, LLM.
[0055] Here, as an example, various information stored in the service information table in association with the service ID "Service 1" will be described. As shown in FIG. 5, "Foo" is associated with the service ID "Service 1" and stored as "service name" information. The information "BI tool that can be used without analytical knowledge because of abundant templates" is associated with the service ID "Service 1" and stored as "overview" information of the service. The identification information of "Task 1" is associated with the service ID "Service 1" and stored as "executable task" information, and the identification information of "Service document 1" and "Service document 4" are associated with the service ID "Service 1" and stored as "related document list" information. Furthermore, [0.1, 0.5, ...] is associated with the service ID "Service 1" and stored as "feature vector" information.
[0056] The service information table is stored in advance before use of the service orchestration system 1. The information stored in the service information table may be updated appropriately at a predetermined timing, or may be updated periodically at a predetermined time interval.
[0057] (4) Service document information storage section The service document information storage unit 34 stores data of various service-related documents that have been collected (and are available) by the information processing device 2 (service orchestration system 1). Fig. 6 is a diagram showing an example of the configuration of table data (hereinafter, referred to as "service document information table") stored in the service document information storage unit 34.
[0058] The service document information table stores various information of document data linked (associated) with a "service document ID (identification information)" assigned to each service document available on the information processing device 2. Specifically, as shown in Fig. 6, the service document information table stores data such as documents related to services ("related document data" in the figure) linked to a "service document ID". The service document information table also stores information on the format type (text format, html format, etc.) of the related document data ("data format" in the figure) and information on the acquisition date of the service document ("update date" in the figure) linked to the "service document ID".
[0059] Here, as an example, various information stored in the service document information table in association with the service document ID "service document 1" will be described. As shown in FIG. 6, the service document ID "service document 1" stores information such as "The "Foo" service is a BI tool that can be used without analytical knowledge because of its abundant templates" as information on "related document data." In addition, the service document ID "service document 1" stores information indicating a text format ("txt" in the figure) as information on "data format" in association with the service document ID, and stores "2023 / 11 / 1" as information on "update date." In this embodiment, as shown in FIG. 6 for the service document ID "service document 2," the service document information table can also store data in html format in association with the service document ID as information on "related document list."
[0060] The service document information table is stored in advance before use of the service orchestration system 1. The information stored in the service document information table may be updated appropriately at a predetermined timing, or may be updated periodically at a predetermined time interval.
[0061] (5) Service connectivity evaluation item storage section The service connectivity evaluation item storage unit 35 stores various information about each evaluation item related to the connectivity between services used in the information processing device 2 (service orchestration system 1). Fig. 7 is a diagram showing an example of the configuration of table data (hereinafter referred to as "service connectivity evaluation item table") stored in the service connectivity evaluation item storage unit 35.
[0062] The service connectivity evaluation item table stores various information on evaluation items linked (associated) with "evaluation item IDs (identification information)" assigned to each type of evaluation item. Specifically, as shown in FIG. 7, the service connectivity evaluation item table stores name information of the evaluation item ("evaluation item name" in the figure) and information on the evaluation content of the evaluation item ("overview" in the figure) linked to the "evaluation item ID." Additionally, the service connectivity evaluation item table stores information on the data type of the evaluation item value (feature amount) ("variable type" in the figure) linked to the "evaluation item ID."
[0063] In the example shown in FIG. 7, to simplify the explanation, the data configuration is shown for the evaluation items "Realized Man-hours," "Actual Results," "Complementarity," "Characteristics," and "Domain" out of the various evaluation items corresponding to the above-mentioned connectivity scores. In the example shown in FIG. 7, evaluation item ID "Evaluation Item 1" is the evaluation item for "Realized Man-hours," evaluation item ID "Evaluation Item 2" is the evaluation item for "Actual Results," and evaluation item ID "Evaluation Item 3" is the evaluation item for "Complementarity." Furthermore, evaluation item ID "Evaluation Item 4" is the evaluation item for "Characteristics," and evaluation item ID "Evaluation Item 5" is the evaluation item for "Domain."
[0064] Here, as an example, various pieces of information that are associated with the evaluation item IDs "evaluation item 1" and "evaluation item 4" and stored in the service connectivity evaluation item table will be described.
[0065] As shown in Fig. 7, for the evaluation item ID "Evaluation item 1", "Realized man-hours" is associated and stored as "Evaluation item name" information, and "Man-hours required for realization (relative value)" is associated and stored as "Summary" information of the evaluation item. Additionally, for the evaluation item ID "Evaluation item 1", information indicating "float type" (floating point type) is associated and stored as "variable type" information. In other words, the value of the evaluation item "Realized man-hours" is expressed as a floating point type numeric value (real number).
[0066] As shown in FIG. 7, the evaluation item ID "evaluation item 4" is associated with "characteristics" as information on the "evaluation item name" and is stored with information on "other characteristics when combined" as information on the "overview" of the evaluation item. As shown in FIG. 7, the evaluation item ID "evaluation item 4" is associated with information indicating "float type
[1000] " as information on the "variable type". The value of the evaluation item "characteristics" is a numerical value obtained by collectively quantifying the feature amounts of evaluation items other than evaluation items 1 to 3 for the service combination, and is represented by a vector (see FIG. 9 described later). The "variable type" information "float type
[1000] " associated with the evaluation item ID "evaluation item 4" shown in FIG. 7 indicates that the data type of each element constituting the vector of the evaluation item "characteristics" is "float type" (floating point type) and the number of elements (order of the vector) is "1000".
[0067] (6) Prompt information storage section The prompt information storage unit 36 stores information on various prompts that serve as input instructions to the LLM (language model). In this embodiment, multiple types of prompts are prepared according to the types of processes to be executed by the LLM. Fig. 8 is a diagram showing an example of the configuration of table data (hereinafter referred to as a "prompt information table") stored in the prompt information storage unit 36.
[0068] The prompt information table stores various types of prompt information linked (associated) with a "prompt ID (identification information)" assigned to each type of prompt. Specifically, as shown in Fig. 8, the prompt information table stores information on input parameters to a prompt that are required when executing the prompt ("required parameters" in the figure) and information on the prompt itself ("prompt" in the figure) linked to a "prompt ID."
[0069] 8 is a prompt that is input to the LLM when the task estimation unit 22 executes the process of estimating a required task. Also, the prompt that is input to the LLM when the connectivity estimation unit 27 executes the process of estimating service connectivity information (connectivity score) is a prompt that is input to the LLM when the connectivity estimation unit 27 executes the process of estimating service connectivity information (connectivity score).
[0070] Here, as an example, various pieces of information that are associated with the prompt ID "prompt 1" and stored in the prompt information table will be described.
[0071] As shown in Fig. 8, the prompt ID "prompt 1" is associated with "request" and "tasklist" as "required parameter" information and stored. Note that the user's request information is set in the input parameter "request", and the list of tasks specified in the task information table (see Fig. 4) is set in the input parameter "tasklist".
[0072] In addition, the prompt ID "Prompt 1" is associated with the following prompt and stored as a "prompt." "Choose one or more of the tasks below that are necessary to complete your next request. Request: {request} Task list: {tasklist}" When inputting the prompt with the above prompt ID "prompt 1" into the LLM, first set (input) the above information into the input parameters "request" and "tasklist" of the prompt. Then, input the prompt with the input parameters set (completed prompt) into the LLM.
[0073] The contents and types of the "prompts" stored in the prompt information table differ depending on the language model used. Furthermore, the information on the "prompts" stored in the prompt information table may be updated appropriately at a predetermined timing, or may be updated periodically at a predetermined time interval.
[0074] (7) Service connectivity information storage unit The service connectivity information storage unit 37 stores a connectivity score (service connectivity information) defined for each service combination selectable by the information processing device 2 (service orchestration system 1). Fig. 9 is a diagram showing an example of the configuration of table data (hereinafter referred to as a "service connectivity information table") stored in the service connectivity information storage unit 37.
[0075] In the service connectivity information table, as shown in Fig. 9, a connectivity score is associated with each type of combination of identification information of one of the combinable services ("Service ID1" in the figure) and identification information of the other service ("Service ID2" in the figure) and stored. In the example shown in Fig. 9, the values of various evaluation items defined in the service connectivity evaluation item table shown in Fig. 7 are defined as various feature amounts constituting the connectivity score for each service combination.
[0076] Specifically, as shown in Fig. 9, in the service connectivity information table, for each type of service combination, the value of evaluation item 1 "executed labor hours" ("realized labor hours score" in the figure) and the value of evaluation item 2 "achievement" ("achievement score" in the figure) are stored in association with each other. In the service connectivity information table, for each type of service combination, the value of evaluation item 3 "complementarity" ("complementarity score" in the figure) and the value of evaluation item 4 "characteristics" ("characteristic vector" in the figure) are stored in association with each other. In addition, in the service connectivity information table, the value of evaluation item 5 "domain" ("domain vector" in the figure) is stored in association with each other.
[0077] Here, as an example, various information stored in the service connectivity information table in association with the combination of service ID 1 "service 1" (BI) and service ID 2 "service 2" (BPM) will be described.
[0078] As shown in Fig. 9, for the combination of service ID 1 "service 1" and service ID 2 "service 2", "0.7" is associated with and stored as the "effort-hour score" value, and "0.2" is associated with and stored as the "achievement score" value. For the combination of service ID 1 "service 1" and service ID 2 "service 2", "0.9" is associated with and stored as the "complementarity score" value, and [0.2, 0.5, 0.1, ...] is associated with and stored as the "feature vector". In addition, for the combination of service ID 1 "service 1" and service ID 2 "service 2", [0.8, 0.2, 0.9, ...] is associated with and stored as the "domain vector".
[0079] Each feature amount constituting the connectivity score is calculated in advance by, for example, LLM, but the values of the "execution effort score", "achievement score", and "complementarity score" may be set in advance by a user, etc. In this embodiment, the service connectivity information table is updated when the service orchestration system 1 is started (see FIG. 10 described later), but the present invention is not limited to this, and the update process of the service connectivity information table may be performed periodically at a predetermined interval.
[0080] (8) WF information storage section The WF information storage unit 38 stores various pieces of information that are referred to, used, updated, etc. in the workflow conversion process performed by the WF conversion unit 25 and the workflow execution process performed by the WF execution unit 26.
[0081] [Service orchestration process flow] Next, specific contents of the service orchestration process executed by the information processing device 2 will be described with reference to the drawings. Note that the control of the service orchestration process by the information processing device 2 described below is executed on software by each functional processing unit of the CPU 11 shown in FIG.
[0082] (1) Service orchestration process flow Fig. 10 is a flowchart showing the procedure of the service orchestration process performed by the information processing device 2. The service orchestration process shown in Fig. 10 is started when the service orchestration system 1 (application) is started.
[0083] First, the connectivity estimation unit 27 (CPU 11) performs a process of estimating service connectivity information (connectivity score) (S1). In this process, the connectivity estimation unit 27 performs a process of generating / updating a service connectivity information table (see FIG. 9). That is, in this process, the connectivity estimation unit 27 performs a process of generating / updating a connectivity score of a service combination selectable in the service orchestration system 1. Details of the service connectivity information estimation process will be described later with reference to FIG. 12.
[0084] Next, the request acquisition unit 21 (CPU 11) performs a process of acquiring a user request (S2). In this process, the request acquisition unit 21 acquires request information (audio information or text information) related to the user's desired service / service combination, which is input (transmitted) from the user terminal 3. Note that, if no request has been input by the user at the time of this process, the request acquisition unit 21 waits until a request is input. Also, in this process, the request acquisition unit 21 records the acquired request in the "dialogue history" of the request state information table (see FIG. 3).
[0085] Next, the task estimation unit 22 (CPU 11) performs a necessary task estimation process (S3). In this process, the task estimation unit 22 estimates (extracts) tasks necessary to realize the input user request. Specifically, the task estimation unit 22 estimates (extracts) one or more necessary tasks for realizing the request using a language AI based on the information of the input user request and the information in the task information table (see FIG. 4). Details of the necessary task estimation process will be described later with reference to FIG. 13.
[0086] Next, the preference estimation unit 23 (CPU 11) performs a user preference estimation process (S4). In this process, the preference estimation unit 23 estimates (obtains) the user's individual preferences for services and the user's combination preferences for service combinations using a language AI based on the input user request information and dialogue history information. Details of the user preference extraction process will be described later with reference to FIG. 14.
[0087] Next, the service selection unit 24 (CPU 11) performs a process of selecting a service / service combination (S5).
[0088] In the process of S5, the service selection unit 24 evaluates each service / service combination selectable by the information processing device 2 based on the user preferences (individual preferences and combination preferences) extracted in S4. In this process, the service selection unit 24 also selects one or more optimal services / service combinations for realizing the user request based on the evaluation results, and presents the selected services / service combinations to the user (client). In addition, in this process, the service selection unit 24 also performs a process of acquiring information on the service / service combination selected by the user from the presented services / service combinations. Details of the service / service combination selection process will be described later with reference to FIG. 15, which will be described later.
[0089] Next, the WF conversion unit 25 (CPU 11) performs a process of converting the service / service combination selected by the user in the process of S5 into a workflow (S6). In this process, the WF conversion unit 25 converts the service / service combination selected by the user in the process of S5 into a specific workflow (a visualizable work flow).
[0090] Next, the WF execution unit 26 (CPU 11) executes the execution process of the workflow of the service / service combination converted in the process of S6 (S7). In addition, in this process, the WF execution unit 26 presents the execution result of the workflow to the user.
[0091] Next, the CPU 11 determines whether or not to end the service orchestration process (S8). In this process, the CPU 11 determines whether or not the user has performed an operation to end (stop) the service orchestration process (application). If the user has performed an operation to end the service orchestration process (application), the result of the determination process in S8 is a Yes determination.
[0092] If the CPU 11 determines in S8 not to end the service orchestration process (if the determination in S8 is No), the CPU 11 returns the process to S2 and repeats the above-described processes from S2 onward. On the other hand, if the CPU 11 determines in S8 to end the service orchestration process (if the determination in S8 is Yes), the CPU 11 ends the service orchestration process.
[0093] The service orchestration process of this embodiment proceeds in an interactive format between the user (user terminal 3) and the information processing device 2. Therefore, although detailed explanation is omitted, if any input operation (request) by the user becomes necessary during the above-mentioned processes of S3 to S5, the process returns to the process of S2 as indicated by the dashed arrow in Fig. 10 as appropriate, and the above-mentioned processes from S2 onwards are repeated. For example, if input information required to perform the processes of S3 to S5 is insufficient, the CPU 11 presents information to that effect to the user side, and again acquires information such as the user's answer or request (S2).
[0094] Furthermore, in this embodiment, in the processes of S2 to S5 during the service orchestration process, the exchange of information between the user and the information processing device 2 in an interactive format, i.e., the interaction history, is displayed on the display unit of the user terminal 3. Fig. 11 is a diagram showing a display mode of interaction history information displayed on the display unit of the user terminal 3 when the system is used for request ID "Request 3" in the request state information table shown in Fig. 3.
[0095] In the example of FIG. 11, first, before the user inputs a request, the information processing device 2 displays a question "Please enter your request" on the display screen G100 of the display unit of the user terminal 3 (A1 in FIG. 11). In response to this, when the user makes a request "How can I detect anomalies in a food factory? I don't really care about the delivery date, but I would like a solution that has a proven track record and is stable as much as possible" by voice input or character input via the user terminal 3, the information is displayed on the display screen G100 (R1 in FIG. 11). The user's request is input into a request input field G101 displayed on the display screen G100 of the user terminal 3. After that, the user performs a predetermined operation (click operation, touch operation, etc.) on the send button G102 on the display screen G100, and the user's request is transmitted from the user terminal 3 to the information processing device 2.
[0096] Then, the information processing device 2 acquires the request information (S2), estimates the user's preferences for services and service combinations based on the request information using language AI (S3-S4), and presents the optimal service combination for realizing the request as a solution (S5). At this time, the display screen G100 of the user terminal 3 displays the message, "Anomaly detection can be achieved by combining the following services. This combination has a proven track record in the industrial field, and... "Foo" service: The evaluation result "Baz" service: ..." is displayed (A2 in Figure 11).
[0097] (2) Flow of service connectivity information estimation process Next, the service connectivity information estimation process performed in S1 during the service orchestration process (see FIG. 10) will be described with reference to FIG 12. FIG 12 is a flowchart showing the procedure of the service connectivity information estimation process.
[0098] First, the connectivity estimation unit 27 (CPU 11) acquires a prompt for estimating service connectivity information (S11). In this process, the connectivity estimation unit 27 acquires a prompt to be used in the service connectivity information estimation process from the prompt information table (see FIG. 8). Note that the prompt to be used in the service connectivity information estimation process is the prompt with the prompt ID "prompt 2" in the prompt information table shown in FIG. 8.
[0099] Next, the connectivity estimation unit 27 acquires information on service connectivity evaluation items (S12). In this process, the connectivity estimation unit 27 acquires a list of evaluation items defined in a service connectivity evaluation item table (see FIG. 7) from the table.
[0100] Next, the connectivity estimation unit 27 selects two services that can be combined in the information processing device 2 (S13). Specifically, the connectivity estimation unit 27 selects a predetermined service combination (combination of service ID1 and service ID2) defined in the service connectivity information table (see FIG. 9). Note that the processes from S13 to S17 described below are repeatedly performed for all service combinations defined in the service connectivity information table (see FIG. 9).
[0101] Next, the connectivity estimation unit 27 acquires the associated document data of each selected service (S14). In this process, the connectivity estimation unit 27 acquires the associated document data linked to the service ID of each selected service from the service information table (see FIG. 5) and the service document information table (see FIG. 6).
[0102] Next, the connectivity estimation unit 27 inputs various parameters required for the prompt when estimating the service connectivity information acquired in S11 (S15). Specifically, the connectivity estimation unit 27 sets the information (list) of the evaluation items acquired in S12 to the necessary parameter "assess" of the prompt ID "prompt 2" shown in Fig. 8, sets the information (service ID) of each service acquired in S13 to the necessary parameters "service1" and "service1", and sets the related document data of each service acquired in S14 to the necessary parameters "doc1-1, ..." and "doc2-1, ...". By this process, a prompt (complete prompt) when estimating the service connectivity information to be input to the language model (LLM) is generated.
[0103] Next, the connectivity estimation unit 27 inputs the prompt generated in S15 for estimating the service connectivity information into a language model (LLM) and extracts a summary (summary information) of the predetermined service combination that is the current evaluation target (S16). In this process, qualitative evaluation information of each evaluation item for the predetermined service combination is extracted.
[0104] Next, the connectivity estimation unit 27 performs embedding processing or the like on the extraction result of S16, vectorizes the extraction result, and generates a connectivity score (S17). Through this processing, the qualitative evaluation information for the predetermined service combination obtained in S16 is converted into numerical information (real numbers, vectors) that can be processed by the information processing device 2. That is, through this processing, values such as "realization effort score," "achievement score," "complementarity score," "feature vector," and "domain vector" that constitute the connectivity score of the service combination to be evaluated (see FIG. 9) are calculated. Furthermore, in the processing of S17, the connectivity estimation unit 27 records (stores) the calculated connectivity score in the service connectivity information table.
[0105] Next, the connectivity estimation unit 27 judges whether or not to end the loop process of S13 to S17 (S18). If the processes of S13 to S17 have been completed for all service combinations specified in the service connectivity information table (see FIG. 9) at this time, the result of the judgment process of S18 is a Yes judgment. On the other hand, if there are any service combinations for which the processes of S13 to S17 have not been completed, the result of the judgment process of S18 is a No judgment.
[0106] If the connectivity estimation unit 27 determines in S18 not to end the loop process (if S18 is judged as No), the connectivity estimation unit 27 returns the process to S13, selects another service combination, and repeats the above-mentioned processes from S13 onwards. On the other hand, if the connectivity estimation unit 27 determines in S18 to end the loop process (if S18 is judged as Yes), the CPU 11 ends the estimation process of the service connectivity information, and shifts the process to the process of S2 in the service orchestration process (see FIG. 10).
[0107] (3) Estimation of required tasks Next, the necessary task estimation process performed in S3 during the service orchestration process (see FIG. 10) will be described with reference to Fig. 13. Fig. 13 is a flowchart showing the procedure of the necessary task estimation process.
[0108] First, the task estimation unit 22 (CPU 11) acquires request information of a user who is currently the subject of processing from the request state information table (see FIG. 3) (S21).
[0109] Next, the task estimation unit 22 acquires a list of tasks that can be handled by the information processing device 2 (S22). In this process, the task estimation unit 22 acquires a list of tasks defined in the task information table (see FIG. 4) from the task information table.
[0110] Next, the task estimation unit 22 acquires a prompt for necessary task estimation (S23). In this process, the task estimation unit 22 acquires a prompt to be used in the necessary task estimation process from the prompt information table (see FIG. 8). Note that the prompt to be used in the necessary task estimation process is the prompt with the prompt ID "prompt 1" in the prompt information table shown in FIG. 8.
[0111] Next, the task estimation unit 22 inputs various parameters required for the prompt at the time of estimating the necessary tasks acquired in S23 (S24). Specifically, the task estimation unit 22 sets the user request information acquired in S21 to the necessary parameter "request" of the prompt ID "prompt 1" shown in Fig. 8, and sets the information of the list of tasks acquired in S22 to the necessary parameter "tasklist". Through this process, a prompt at the time of estimating the necessary tasks to be input to the language model (LLM) is generated.
[0112] Next, the task estimation unit 22 inputs the prompt generated in S24 at the time of estimating the necessary task into a language model (LLM), and extracts (estimates) the necessary task for realizing the user request (S25).
[0113] Next, the task estimation unit 22 records (stores) the information on the necessary tasks extracted in S25 in the "necessary task list" of the request state information table (see FIG. 3) (S26). After the process of S26, the CPU 11 ends the necessary task estimation process and shifts the process to the process of S4 in the service orchestration process (see FIG. 10).
[0114] (4) Estimation of user preferences Next, the user preference estimation process performed in S4 in the service orchestration process (see FIG. 10) will be described with reference to Fig. 14. Fig. 14 is a flowchart showing the procedure of the user preference estimation process.
[0115] First, the preference estimation unit 23 (CPU 11) acquires information on the dialogue history currently being processed from the request state information table (see FIG. 3) (S31).
[0116] Next, the preference estimation unit 23 acquires prompts for estimating user preferences (S32). In this process, the preference estimation unit 23 acquires prompts (not shown) to be used in the process of estimating user preferences from the prompt information table (see FIG. 8). At this time, the preference estimation unit 23 acquires a prompt for estimating the user's individual preferences (hereinafter referred to as an "individual preference estimation prompt") and a prompt for estimating the user's combined preferences (hereinafter referred to as a "combined preference estimation prompt").
[0117] Next, the preference estimation unit 23 inputs various parameters necessary for the prompt for individual preference estimation acquired in S32 (S33). Specifically, the preference estimation unit 23 inputs (sets) the information of the dialogue history acquired in S31 to the necessary parameters of the prompt for individual preference estimation. Through this process, the prompt for individual preference estimation to be input to the language model (LLM) is generated.
[0118] Next, the preference estimation unit 23 inputs the individual preference estimation prompt generated in S33 into a language model (LLM) and extracts (estimates) a summary (summary information) of the user's individual preferences for the service (S34). In this process, qualitative evaluation information about the user's individual preferences is extracted.
[0119] Next, the preference estimation unit 23 performs embedding or the like on the extraction result of S34 to vectorize the extraction result and generate an individual preference vector (S35). Through this process, the qualitative evaluation information of the user's individual preferences obtained in S34 is converted into vector information (individual preference vector) that can be processed by the information processing device 2. Note that this process generates an individual preference vector of the same order as the order of the feature vector of the service defined in the service information table (see FIG. 5). That is, this process generates an individual preference vector that can be used to perform an inner product operation with the feature vector of the service.
[0120] Next, the preference estimation unit 23 acquires information on the service connectivity evaluation items (S36). In this process, the preference estimation unit 23 acquires a list of evaluation items defined in the service connectivity evaluation item table (see FIG. 7) from the table.
[0121] Next, the preference estimation unit 23 inputs various parameters necessary for the combination preference estimation prompt acquired in S32 (S37). Specifically, the preference estimation unit 23 inputs (sets) the information of the dialogue history acquired in S31 and the information (list) of the service connectivity evaluation items acquired in S36 into the necessary parameters of the combination preference estimation prompt. Through this process, a combination preference estimation prompt to be input to the language model (LLM) is generated.
[0122] Next, the preference estimation unit 23 inputs the combination preference estimation prompt generated in S37 into a language model (LLM) and extracts (estimates) a summary of the user's combination preferences for service combinations (S38). In this process, qualitative evaluation information about the user's combination preferences is extracted.
[0123] Next, the preference estimation unit 23 performs embedding or the like on the extraction result of S38 to vectorize the extraction result and generate a combination preference vector (S39). Through this process, the qualitative evaluation information of the user's combination preference obtained in S38 is converted into vector information (combination preference vector) that can be processed by the information processing device 2. Note that in this process, a combination preference vector of the same order as the number of types of feature quantities that make up the connectivity score defined for each service combination in the service connectivity information table (see FIG. 9) is generated. That is, when the connectivity score of each service combination is considered as one feature vector, the process of S39 generates a combination preference vector that can be used to calculate an inner product with the connectivity score.
[0124] Next, the preference estimation unit 23 records the user's individual preference vector obtained in S35 and the user's combined preference vector obtained in S39 in the request state information table (see FIG. 3) (S40). Through this process, the individual preference vector and the combined preference vector are stored in the storage areas for the individual preference vector and the combined preference vector linked to the request ID currently being processed in the request state information table (see FIG. 3). Then, after the process of S40, the CPU 11 ends the user preference estimation process and shifts the process to the process of S5 in the service orchestration process (see FIG. 10).
[0125] (5) Service / service combination selection process Next, the service / service combination selection process performed in S5 in the service orchestration process (see FIG. 10) will be described with reference to Fig. 15. Fig. 15 is a flowchart showing the procedure of the service / service combination selection process.
[0126] First, the service selection unit 24 (CPU 11) acquires information on the necessary task list linked to the request ID currently being processed from the request state information table (see FIG. 3) (S51).
[0127] Next, the service selection unit 24 acquires a service list corresponding to each task included in the necessary task list (S52). Specifically, the service selection unit 24 refers to the task information table (see FIG. 4) and acquires information on a corresponding service list linked to information on each task included in the necessary task list.
[0128] Next, the service selection unit 24 calculates an evaluation value (hereinafter referred to as an "individual evaluation value") for each service in the service list acquired in S52 (S53). In this process, the service selection unit 24 first acquires a feature vector of each service by referring to the service information table (see FIG. 5), and acquires an individual preference vector of the user by referring to the request state information table (see FIG. 3). The service selection unit 24 then calculates the inner product of the feature vector of each service and the individual preference vector, and sets the calculation result as the individual evaluation value of each service.
[0129] In the process of S53, if the information on the compatible service list includes multiple services, multiple individual evaluation values corresponding to each of the multiple services are calculated, whereas if the information on the compatible service list includes only one service, only the individual evaluation value corresponding to that one service is calculated in the process of S53.
[0130] Next, the service selection unit 24 judges whether there are multiple necessary tasks (S54). Specifically, the service selection unit 24 judges whether the information of the necessary task list acquired in S51 includes multiple tasks, and if the information of the necessary task list includes multiple tasks, the result of the judgment process of S54 is a Yes judgment. On the other hand, if the information of the necessary task list includes one task, the result of the judgment process of S54 is a No judgment.
[0131] In S54, if the service selection unit 24 determines that there are not multiple necessary tasks (if S54 is judged as No), the service selection unit 24 presents information on one or more services to the user in descending order of individual evaluation value (S55).
[0132] In the process of S55, the service selection unit 24 (CPU 11) creates list information in which services linked to the necessary task are arranged in descending order of individual evaluation value, and transmits the created list information to the user terminal 3. As a result, the services are displayed on the display unit of the user terminal 3 in descending order of individual evaluation value. Note that the services presented to the user may be all services linked to the necessary task, or a predetermined number of services with high individual evaluation values. Then, after the process of S55, the service selection unit 24 performs the process of S61 described below.
[0133] On the other hand, if the service selection unit 24 determines in S54 that there are multiple required tasks (if S54 is determined to be Yes), the service selection unit 24 selects two tasks from the required task list (S56). Note that if the required task list contains two tasks, the process of S56 may be omitted.
[0134] Next, the service selection unit 24 refers to the service connectivity information table (see FIG. 9) and acquires a connectivity score for a selectable service combination between the two selected tasks (S57). Note that, if there are multiple selectable service combinations between the two selected tasks, a connectivity score is acquired for each service combination in the process of S57 (multiple connectivity scores are acquired).
[0135] Next, the service selection unit 24 calculates an evaluation value for a service combination selectable between two tasks (hereinafter referred to as a "combination evaluation value") (S58). In this process, the service selection unit 24 first acquires a combination preference vector of the user by referring to the request state information table (see FIG. 3). Then, the service selection unit 24 applies the combination preference vector of the user to the connectivity score of the service combination to be evaluated acquired in S57 (performs an inner product operation), and sets the operation result as a combination evaluation value of the service combination. Note that, if there are multiple service combinations selectable between the two selected tasks, a combination evaluation value is calculated for each service combination in the process of S58 (multiple combination evaluation values are calculated).
[0136] Next, the service selection unit 24 calculates an overall evaluation value for the service combination based on the combination evaluation value of the service combination calculated in S58 and the individual evaluation value calculated in S53 for each service constituting the service combination (S59). Various methods can be adopted to calculate the overall evaluation value of the service combination. For example, the individual evaluation value of one service constituting the service combination and the individual evaluation value of the other service can be added, and the result of the addition can be multiplied by the combination evaluation value of the service combination to obtain the overall evaluation value of the service combination. Note that if there are multiple service combinations that can be selected between the two selected tasks, the combined overall evaluation value is calculated for each service combination in the process of S59 (multiple combined overall evaluation values are calculated).
[0137] If the required task list contains three or more tasks, the above-described processes from S56 to S59 are repeated for all combinations of two tasks that can be selected from the three or more tasks (see the dashed arrows in FIG. 15).
[0138] Next, the service selection unit 24 presents one or more service combinations to the user in descending order of overall evaluation value (S60).
[0139] In the process of S60, the service selection unit 24 (CPU 11) creates list information in which service combinations are arranged in descending order of overall evaluation value, and transmits the created list information to the user terminal 3. As a result, the service combinations are displayed in descending order of overall evaluation value on the display unit of the user terminal 3. Note that the service combinations presented to the user may be all the evaluated service combinations, or a predetermined number of service combinations with high overall evaluation values.
[0140] After the process of S60 or S55, the service selection unit 24 acquires the user's selection information (S61). In this process, the service selection unit 24 first waits until the user performs a selection operation of a predetermined service / service combination based on the list of service / service combinations displayed in descending order of evaluation value on the display unit of the user terminal 3. Then, when the user performs a selection operation of the predetermined service / service combination, information (type information) of the service / service combination selected by the user is acquired from the user terminal 3.
[0141] Next, the service selection unit 24 corrects the user's preference vector (S62).
[0142] In addition, when the processing of S62 is performed when the judgment of S54 is No, the service selection unit 24 performs a correction (rotation) process on the individual preference vector of the user so that the direction of the individual preference vector of the user matches the direction of the feature vector of the service selected by the user.
[0143] On the other hand, when the process of S62 is performed in the case where the determination in S54 is Yes, the service selection unit 24 performs a correction (rotation) process on the combination preference vector of the user so that the direction of the combination preference vector of the user coincides with the direction of the vector consisting of the connectivity scores of the service combination selected by the user. Then, when the combination preference vector of the user is corrected, the service selection unit 24 records (stores) the corrected combination preference vector in the service connectivity information table (see FIG. 9). As a result, the corrected combination preference vector is fed back to the service connectivity information table, and the combination preference vector in the service connectivity information table is updated.
[0144] Next, the service selection unit 24 executes the above-mentioned processes of S53 to S60 again using the corrected user preference vector, and updates the information on the services or service combinations to be presented to the user in descending order of evaluation value (S63). After the process of S63, the CPU 11 ends the service / service combination selection process, and shifts the process to the process of S6 in the service orchestration process (see FIG. 10).
[0145] [Various effects] As described above, in this embodiment, various feature quantities (connectivity scores) related to the connectivity between services estimated for each service combination selectable by the information processing device 2 (service orchestration system 1) are stored in advance in the service connectivity information table. Furthermore, in this embodiment, a user preference for a service combination is estimated based on a user request. Then, based on the connectivity score and the user preference for the service combination, a service combination suitable for the user request is presented to the user. Therefore, in this embodiment, a service combination that reflects the user preference for the service combination can be presented to the user as a solution in response to a user request for service orchestration.
[0146] In addition, in this embodiment, in the service combination selection process of the information processing device 2, not only the evaluation value based on the user's preferences for the service combination but also the evaluation value based on the user's preferences for the services are used for comprehensive evaluation. Therefore, in this embodiment, a service combination that is more optimal in line with the user's preferences can be proposed to the user as a solution.
[0147] In addition, in this embodiment, in the process of generating a connectivity score for a service combination (processing of estimating service connectivity information), feature amounts are estimated for items related to service linkage and items related to the effect of service linkage as connectivity evaluation items. Also, in the process of estimating user preferences (combination preferences) for service combinations, the combination preferences are estimated using connectivity evaluation items for similar service combinations. Therefore, in this embodiment, it is possible to present the user with a service combination that is more appropriate for the request.
[0148] Furthermore, in this embodiment, after a specific service combination is selected by a user, the combination preference vector of the user is corrected so that the direction of the combination preference vector of the user coincides with the direction of a vector consisting of the connectivity scores of the selected specific service combination. Then, the corrected combination preference vector of the user is stored (feedback) in the request state information table (see FIG. 9). Therefore, in this embodiment, the corrected combination preference vector of the user can be used as learning data for the language AI, making it possible to improve the estimation accuracy in the subsequent process of estimating the combination preference vector.
[0149] In the above embodiment, the connectivity score representing the characteristics related to the connectivity between services includes a feature amount related to the linkage of services and a feature amount related to the effect of linking the services. Therefore, in the present embodiment, a service combination that takes into consideration both feasibility and effect can be presented to the user as a solution.
[0150] Furthermore, in the information processing device 2 of the present embodiment, the task type (e.g., BI, IoT, BPM, etc.) to which one service constituting a service combination belongs is different from the task type to which the other service belongs, so that the information processing device 2 of the present embodiment can be applied to a wider range of technical fields.
[0151] [Various variations] Although the information processing device 2 (service orchestration system 1) according to one embodiment of the present invention has been described above, the present invention is not limited thereto, and various other modifications may be made without departing from the gist of the present invention described in the claims. For example, the following various modifications may be adopted, and the same effects as those of the above embodiment may be obtained in the following various modifications.
[0152] In the above embodiment, a configuration example has been described in which a processing function unit of a language model (LLM) used in various estimation processes (language model unit 28 in FIG. 2) is provided within the information processing device 2, but the present invention is not limited to this. For example, the processing function unit of the language model (LLM) may be provided outside the information processing device 2 (for example, in the cloud, etc.). However, from the standpoint of, for example, information security and efficiency of calculation processing, it is more advantageous to provide the processing function unit of the language model (LLM) within the information processing device 2 as in the present embodiment.
[0153] In the above embodiment, a configuration example has been described in which the functional units (the WF conversion unit 25 and the WF execution unit 26 in FIG. 2) that convert a service / service combination selected by a user into a workflow and execute the workflow are provided within the information processing device 2, but the present invention is not limited to this. For example, both the WF conversion unit 25 and the WF execution unit 26, or only the WF execution unit 26, may be provided outside the information processing device 2 (for example, in a cloud, etc.).
[0154] In the above embodiment, an example has been described in which one service constituting a service combination belongs to a different task type (e.g., BI, IoT, BPM, etc.) from the other service, but the present invention is not limited to this. For example, if there are two services that can be combined within the same task, the combination of the two services may be evaluated.
[0155] In the above embodiment, an example has been described in which a service combination in which two services are combined is evaluated and an optimal service combination is presented to a user, but the present invention is not limited to this. The technology of the above embodiment can also be applied to a service orchestration system that evaluates a service combination in which three or more services are combined and presents an optimal service combination to a user. [Explanation of symbols]
[0156] 1...service orchestration system, 2...information processing device, 3...user terminal, 5...network, 11...CPU, 12...memory, 21...request acquisition unit, 22...task estimation unit, 23...preference estimation unit, 24...service selection unit, 25...WF conversion unit, 26...WF execution unit, 27...connectivity estimation unit, 28...language model unit, 31...request state information storage unit, 32...task information storage unit, 33...service information storage unit, 34...service document information storage unit, 35...service connectivity evaluation item storage unit, 36...prompt information storage unit, 37...service connectivity information storage unit, 38...WF information storage unit< / sys> < / user> < / sys>
Claims
1. a user preference estimation unit that estimates a first feature value related to a user preference for a combination of services based on a user request; a service connectivity information storage unit in which service connectivity information including one or more second features related to connectivity between services associated with each of a plurality of types of service combinations is stored; a service selection unit that selects a combination of services suitable for a request from the user based on the first feature amount and the service connectivity information. Information processing device.
2. The service selection unit performing a predetermined calculation process on the corresponding service connectivity information by using the first feature amount for each type of the service combination, thereby calculating a combination evaluation value of the service combination; A combination of services suitable for a request from the user is selected based on the combination evaluation value calculated for each type of the combination of services. The information processing device according to claim 1 .
3. The user preference estimation unit further estimates a third feature related to a user preference for a service based on a request from the user; The service selection unit further performing a specific calculation process on a fourth feature amount indicating a feature of the service by using the third feature amount for each type of the service, thereby calculating an individual evaluation value of the service; calculating an overall evaluation value for each type of the service combination that reflects the combination evaluation value of the service combination and the individual evaluation values of the two services that constitute the service combination; A combination of services suitable for a request from the user is selected based on the overall evaluation value calculated for each type of combination of services. The information processing device according to claim 2 .
4. and a service connectivity information estimation unit that estimates the service connectivity information by using a language model based on information on one or more connectivity evaluation items corresponding to one or more of the second feature amounts included in the service connectivity information and information on each service to be combined. The information processing device according to claim 2 .
5. The user preference estimation unit estimates the first feature amount using the language model based on the user request and information on the one or more connectivity evaluation items. The information processing device according to claim 4.
6. The method further includes a language model processing unit that executes processing of the language model. The information processing device according to claim 5 .
7. The service selection unit Selecting a combination of one or more services appropriate to said user's request; The first feature amount is corrected according to a predetermined combination of services selected by a user from the combination of one or more services. The information processing device according to claim 2 .
8. The one or more second features include a feature related to inter-service cooperation and a feature related to an effect of inter-service cooperation. The information processing device according to claim 2 .
9. The type of a task to which one service in the combination of services belongs is different from the type of a task to which the other service belongs. The information processing device according to claim 2 .
Citation Information
Patent Citations
Intelligent Automated Assistant
JP7213206B2
Voice recognition system
US11410660B2
Cited By
Program and design support system
JP7875538B1