Information processing device, method, and program
The information processing device efficiently determines service and resource requirements using a knowledge graph, addressing the time-consuming nature of conventional service development by enabling rapid service creation that aligns with user intentions.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- NIPPON TELEGRAPH & TELEPHONE CORP
- Filing Date
- 2026-04-08
- Publication Date
- 2026-06-23
AI Technical Summary
Existing service development methods require significant time to determine resource configurations and requirements due to the need for individual consideration each time a service is developed.
An information processing device with an analysis unit, search unit, and determination unit that utilizes a knowledge graph to analyze user intent, search for corresponding nodes, and determine service and resource types and values efficiently.
Enables the rapid development of services that meet user intentions by leveraging a knowledge graph to streamline service and resource determination processes across multiple domains.
Smart Images

Figure 2026102987000001_ABST
Abstract
Description
Technical Field
[0001] This invention relates to an information processing apparatus, method, and program for determining resource requirements required for a service.
Background Art
[0002] With the diversification of service types and the sophistication of provided services, it has become important to dynamically provide services according to user intentions (intents). It is necessary to determine the configuration and requirements of services and resources according to user intentions. In determining such configurations and requirements, in the conventional method, the necessary services and resources are determined by a method determined for each service (see, for example, Non-Patent Document 1).
Prior Art Documents
Non-Patent Documents
[0003]
Non-Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] As described above, in the conventional method, every time a service is developed, it is necessary to consider and implement a method for determining the configuration and requirements of resources, so there is a problem that service development takes time.
[0005] This invention was made in view of the above circumstances, and its purpose is to provide an information processing device, method, and program that can efficiently develop services that meet the user's intentions in a short period of time. [Means for solving the problem]
[0006] To achieve the above objective, an information processing device according to one aspect of this invention includes an analysis unit, a search unit, and a determination unit. The analysis unit analyzes the user's intent. The search unit searches for a node corresponding to the analysis result of the intent in a knowledge graph in which services, service targets to which the services are implemented, and orchestrators related to the operation and management of the services and service targets are each represented as nodes in different layers, and the relationships between nodes in different layers or between nodes within the same layer are represented as edges. The determination unit determines the type and value of the service and resource based on the user's intent by referring to the knowledge graph based on the corresponding node. [Effects of the Invention]
[0007] In other words, this invention makes it possible to efficiently develop services that meet the user's intentions in a short period of time. [Brief explanation of the drawing]
[0008] [Figure 1] Figure 1 is a block diagram of the information processing device according to this embodiment. [Figure 2] Figure 2 shows a knowledge graph according to this embodiment. [Figure 3] Figure 3 is a flowchart showing an example of the service requirements determination process of the information processing device according to this embodiment. [Figure 4] Figure 4 shows an example of a dialog box illustrating the interaction between a user and a chatbot. [Figure 5] Figure 5 shows an example of the results of analyzing the user's intent in response to the dialog shown in Figure 4. [Figure 6]Figure 6 shows the knowledge graph of the cloud domains that are being searched. [Figure 7] Figure 7 shows an example of the results of determining service requirements and their values based on the knowledge graph shown in Figure 6. [Figure 8] Figure 8 shows the knowledge graph of the IoT domains that are being searched. [Figure 9] Figure 9 shows an example of the results of determining service requirements and their values based on the knowledge graph shown in Figure 8. [Figure 10] Figure 10 shows an example of the operation flow by an orchestrator with configured service requirements. [Modes for carrying out the invention]
[0009] Hereinafter, an information processing apparatus, method, and program according to one embodiment of the present disclosure will be described in detail with reference to the drawings. In the following embodiments, parts numbered the same as those that perform the same operation, and therefore, repeated explanations will be omitted.
[0010] The information processing device according to this embodiment will be described with reference to the block diagram in Figure 1. The information processing device 1 shown in Figure 1 includes a processing circuit 11, a storage unit 12, and a communication interface 13. The processing circuit 11 includes an acquisition unit 111, an analysis unit 112, a search unit 113, a determination unit 114, an update unit 115, and a control unit 116.
[0011] The acquisition unit 111 acquires user utterances or text information entered by the user. For example, the acquisition unit 111 can acquire the dialogue between the user and the chatbot. When acquiring user utterances, the unit can accept voice input via a microphone or the like, process the user's utterances using general speech recognition processing, and acquire the resulting string of characters. It should be noted that the acquisition method is not limited to collecting user utterances via a chatbot; any method of acquisition that allows for the acquisition and collection of the user's intent is acceptable, such as when the user selects an item from a pull-down menu displayed on the screen.
[0012] The analysis unit 112 analyzes the user's intent from the user's utterances acquired by the acquisition unit 111 and the character information entered by the user. In this embodiment, the user's intent also includes the user's commands.
[0013] The search unit 113 searches the knowledge graph for nodes corresponding to the analysis results of the user's intent. The knowledge graph is a graph in which services, service targets, and orchestrators are represented as nodes in different layers, and the relationships between nodes in different layers or between nodes within the same layer are represented as edges. A service is a service provided by a domain. A service target indicates a characteristic feature of the service or a characteristic organization. Specifically, if a service called remote medical consultation exists, the "hospital" that provides remote medical consultation would be the service target. An orchestrator is a function that centrally operates and manages services in each domain.
[0014] The decision unit 114 determines the type of service and resource and its value based on the user's intent by referring to the knowledge graph based on the corresponding node. The requirements for services and resources are collectively referred to as service requirements.
[0015] The update unit 115 updates the knowledge graph. Specifically, the update unit 115 updates the nodes and edges of the knowledge graph in response to the addition, change of a service or a service target, or the change of resource requirements.
[0016] The control unit 116 controls the operations related to the entire information processing apparatus 1. For example, it executes an inquiry to the user.
[0017] The storage unit 12 stores, for example, information regarding the user's intention and a plurality of knowledge graphs created based on common creation criteria for each domain. The communication interface 13 is an interface for communicating with external devices such as servers and IoT (Internet of Things) devices. The communication with external devices may be wireless or wired.
[0018] Note that the processing circuit 11 of the information processing apparatus 1 is composed of a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit), or an integrated circuit such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). Each part of the above-described processing circuit 11 may be realized as a function of the processor or the integrated circuit by, for example, the processor or the integrated circuit executing a processing program stored in the storage unit 12.
[0019] The storage unit 12 of the information processing apparatus 1 is composed of a generally used storage medium such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), or a flash memory.
[0020] Next, an example of expressing the domain management function according to the present embodiment by a knowledge graph will be described with reference to FIG. 2. The knowledge graph shown in Figure 2 illustrates the common skeletal structure for each domain. The management functions of services, service targets, and orchestrators within a domain are represented as nodes 20 in the knowledge graph. Here, the orchestrator 21 is located at the top layer, and in the example in Figure 2, it includes orchestrators A and B. Below orchestrator 21, services 22 are located, and here they include services A and B. Below services 22, service targets 23 are located, and here they include service targets A and B.
[0021] Furthermore, the service requirements for service 22 and the service requirements for service target 23 are expressed as attributes of node 20. Specifically, requirements such as security level, network latency, data volume, priority, and network slice type may be expressed as attributes of node 20 (also called node attributes) relating to service 22 or service target 23.
[0022] For orchestrator 21, the designs (templates) that the orchestrator can read are represented as attributes. For example, slice templates, protocols, and APIs (Application Programming Interfaces) can be represented as attributes of orchestrator 21.
[0023] Other entities associated with the domain may also be represented as node 20 in the knowledge graph.
[0024] Furthermore, the hierarchical relationships between services in service 22, their relationships with resources, their relationships with the orchestrator 21, and their relationships with managed entities are represented as edges 25 connecting the nodes 20 of the knowledge graph. For example, the relationship between the service target 23 and service 22 is represented by the "ObjectsOf" edge 25. If there is a hierarchical relationship between services 22, it is represented by the "BelongsTo" edge 25, indicating that the lower-level service type belongs to the higher-level service type. The relationship between service 22 and orchestrator 21 is represented by "ManagedBy," indicating that service 22 is managed by orchestrator 21.
[0025] Furthermore, hierarchical relationships may exist not only between services 22, but also between orchestrators 21 or between service targets 23. Other relationships belonging to a domain may also be represented as edges 25 in the knowledge graph.
[0026] Next, the service requirements determination process of the information processing device 1 according to this embodiment will be explained with reference to the flowchart in Figure 3. Here, we assume a case where the user's intent is collected from the interaction between the user and the chatbot. We also assume that a knowledge graph corresponding to the domain has been generated in advance. A general method can be used to create the knowledge graph; for example, neo4j (registered trademark), which can create graph databases, can be used to generate one for each of the multiple domains related to the service.
[0027] In step SA1, the acquisition unit 111 acquires the dialogue between the user and the chatbot. If the user is conducting the dialogue by speaking, it acquires the string processed by speech recognition; if the user is conducting the dialogue by keyboard input, it acquires the entered string. Then, the analysis unit 112 extracts one or more parts that represent the user's intent from the acquired string. Specifically, it extracts the predicate and object of the string that expresses the user's intent. The extraction of the command part and the extraction of the predicate and object can be performed using a pre-trained language processing model. For example, the extraction process can be performed using a pre-trained model that uses spaCy and BERT (Bidirectional Encoder Representations from Transformers). As general training methods can be used for the training methods of the pre-trained model that performs the command part extraction and the predicate and object extraction, a detailed explanation is omitted.
[0028] In step SA2, the search unit 113 searches the knowledge graph using the extracted object. Note that the search may include not only the object, but also other words such as proper nouns, or relationships between words. Furthermore, words with similar meanings may be normalized to their node representations on the knowledge graph for the search. For example, since "University," "College," and "Uni." are words with similar meanings, if the node "University" exists in the knowledge graph, the representations of "College" and "Uni." may be normalized to "University," and "University" may be searched for on the knowledge graph.
[0029] In step SA3, the search unit 113 determines whether there is a node or node attribute that matches the object. If there is no exact match, or if multiple nodes are obtained as search results, the control unit 116 may, for example, query the user to confirm whether the matched node or node attribute is correct, or to select the best node from the multiple nodes. If it is determined that there is a node that matches the object, the process proceeds to step SA4; if it is determined that there is no node that matches the object, the process proceeds to step SA6.
[0030] In step SA4, the search unit 113 searches for nodes related to services higher up from the matched node.
[0031] In step SA5, the determination unit 114 extracts the service requirements and their values, which are included in the node attributes of the higher-level service nodes related to the nodes matched in step SA4, which are the search results. The calculated service requirements and their values may be recorded in the storage unit 12, for example. If the node attributes include the method for calculating the service requirements and their values, the determination unit 114 may, for example, determine the value of the service requirements according to the calculation method and record the calculated value in the storage unit 12.
[0032] In step SA6, for example, the search unit 113 determines whether it has processed all of the user's intentions extracted in step SA1. If all intentions have been processed, the process proceeds to step SA8; otherwise, the process proceeds to step SA7.
[0033] In step SA7, for example, the search unit 113 selects one of the unprocessed intentions extracted in step SA1, and similarly performs the processing from step SA2 to step S5 for that intention.
[0034] In step SA8, the determination unit 114 determines the value of the service requirement. If multiple service requirement values for a node related to a higher-level service are calculated, the value with the highest demand should be determined as the value of that service requirement.
[0035] In step SA9, the search unit 113 searches for the orchestrator node that manages the domain's services, which is located at the highest level. The decision unit 114 converts the service requirements and their values calculated in step SA8 into settings that the orchestrator can read. For example, the service requirements obtained from the service node can be converted so that they can be applied to an input template for the orchestrator.
[0036] In step SA10, for example, the control unit 116 implements a user-initiated service in the domain by loading the converted settings into the orchestrator. Before loading the settings into the orchestrator, the control unit 116 may query the user for their consent. The control unit 116 may also provide feedback on the implementation results to the user.
[0037] Next, a specific example of the service requirement determination process of the information processing device 1 according to this embodiment will be described with reference to Figures 4 to 10. Figure 4 shows a dialog 40 illustrating the interaction between a user and a chatbot. As a prerequisite, an event operator has already entered into a service agreement with a telecommunications carrier for watching a sports match. Subsequently, based on the interaction shown in dialog 40, the chatbot estimates the user's intent and, in addition to the agreed-upon service, initiates further services on demand. Note that, rather than executing services on demand from a dialog after service agreement, the user may directly specify their intent, triggering the service requirement determination process by the information processing device 1. This allows for the pre-registration and provisioning of such services.
[0038] In summary, Dialogue 40 describes a security incident that occurred during a sports match, such as the appearance of a suspicious person. The dialogue outlines how to respond to the incident in cooperation with the police and security guards, and how to take action such as opening evacuation gates.
[0039] Next, Figure 5 shows the results of the user intent analysis performed by the analysis unit 112. The analysis unit 112 further extracts the user's commands, predicates, and objects from the dialog 40 shown in Figure 4. Specifically, the analysis unit 112 extracts the content of intent 51 "Contact the police!" and intent 52 "automatically open the emergency gate" as the user's intentions (commands). Furthermore, for intent 51, the analysis unit 112 extracts "Contact" as the predicate and "police" as the object, and for intent 52, it extracts "open" as the predicate and "emergency gate" as the object.
[0040] Next, Figure 6 shows the knowledge graph for the cloud domains that will be searched. The knowledge graph 60 shows the services, service targets, and orchestrators related to the cloud domain. The knowledge graph 60 is assumed to be pre-generated and stored in the storage unit 12. Here, "Police" and "Hospital" are service targets, and the node for "Emergency video call slice" is connected as a higher-layer service by an edge showing the relationship between these service targets and "ObjectsOf". The node for "Bidirectional video transmission" is connected as a higher-layer service by an edge showing the relationship between the service "Emergency video call slice" and "BelongsTo". The node for "Bidirectional video transmission" and the node for "ManagedBy" are connected as higher-layer orchestrators, the node for "Core Network Orchestrator" and the node for "Central Cloud Orchestrator", respectively.
[0041] Here, the analysis results in Figure 5 show that the object "Police" is extracted in intent 51, and the search result of the search unit 113 matches the node for "Police" in the knowledge graph 60, which is the service target. The search unit 113 traverses the "ObjectsOf" edge from the node "Police" upwards to search for services in the higher layers. Here, the node "Emergency video call slice" is selected as the service in the higher layers. Furthermore, the search unit 113 traverses the "BelongsTo" edge from the node "Emergency video call slice" upwards to search for services in the higher layers. Here, the node "Bidirectional video transmission" is selected as the service in the higher layers. Furthermore, the search unit 113 traverses the "ManagedBy" edge from the node "Bidirectional video transmission" upwards to search for orchestrators in the higher layers. Here, two orchestrators, "Core Network Orchestrator" and "Central Cloud Orchestrator," are selected as orchestrators in the higher layers.
[0042] Next, the decision unit 114 extracts the service requirements and their values, which have been previously expressed as attributes, for each node of the service target "Police," the service "Emergency video call slice," and the service "Bidirectional video transmission." Here, "Security: High" is extracted as the service requirement for the service target "Police." The service requirements for the service "Emergency video call slice" are "Priority: High, Latency: Low," as it is an urgent service. The service requirements for the service "Bidirectional video transmission" are "Slice type: eMBB, Data volume: method_a, Priority: High, Latency: Low," as it is not a particularly urgent service.
[0043] In this case, multiple values are calculated for the common service requirements between the "Emergency video call slice" service and the "Bidirectional video transmission" service. Specifically, the "Emergency video call slice" service has a "high priority," while the "Bidirectional video transmission" service has a "low priority." Also, the "Emergency video call slice" service has a "low delay," while the "Bidirectional video transmission" service has a "high delay." The determination unit 114 determines the highest value among the multiple values as the value for the service requirement. Therefore, the determination unit 114 determines the value for the "priority" service requirement to be "high" and the value for the "delay" service requirement to be "low."
[0044] Next, Figure 7 shows an example of the results of determining service requirements and their values based on the knowledge graph 60. Figure 7 shows an example of converting the service requirements and their values, determined by referring to the knowledge graph 60 in Figure 6, into a template format for the orchestrator. As shown in Figure 7, the service requirements and their values are determined to be "Priority: High, Latency: Low". Note that the conversion to service requirements and their values that are suitable for the orchestrator can be done by ensuring consistency with the service requirements of the relevant orchestrator, for example, through template matching, and a detailed explanation of this is omitted here.
[0045] Next, Figure 8 shows the knowledge graph for the IoT domains that will be searched. Knowledge Graph 80 shows the services, service targets, and orchestrators related to the IoT domain. Here, the service targets are nodes for "Drone," "Camera," and "Emergency gate," and the "IoT in Stadium X" node is connected as a higher-layer service by edges showing the relationship between these service targets and "ObjectsOf." The "Public IoT service" node is connected as a higher-layer service by edges showing the relationship between the "IoT in Stadium X" service and "BelongsTo." The "IoT device orchestrator" node is connected as a higher-layer orchestrator by edges showing the relationship between the "Public IoT service" service and "ManagedBy."
[0046] Here, the analysis results in Figure 5 show that the object "Emergency gate" is extracted in intent 52, and the search result of the search unit 113 matches the node "Emergency gate" in the knowledge graph 80, which is the service target. The search unit 113 traverses the "ObjectsOf" edge from the node "police" upwards to search for services in the higher layers. Here, the node "IoT in Stadium X" is selected as the service in the higher layers. Furthermore, the search unit 113 traverses the "BelongsTo" edge from the node "IoT in Stadium X" upwards to search for services in the higher layers. Here, the node "Public IoT service" is selected as the service in the higher layers. Furthermore, the search unit 113 traverses the "ManagedBy" edge from the "Public IoT service" node upwards to search for orchestrators in the higher layers. Here, "IoT device orchestrator" is selected as the orchestrator in the higher layers.
[0047] Next, the decision unit 114 extracts the service requirements and their values, which are pre-expressed as attributes, for each node of the service target "Emergency gate," the service "IoT in Stadium X," and the service "Public IoT service." Here, "Priority: High, Data Volume: Small" is extracted as the service requirement for the service target "Emergency gate." Also, since monitoring accuracy is required for the service "Public IoT service," "Security Level: High" is extracted as the service requirement.
[0048] Next, Figure 9 shows an example of the results of determining service requirements and their values based on the Knowledge Graph 80. Figure 9 shows an example of converting the service requirements and their values extracted according to Figure 8 into a template format for the "IoT device orchestrator". Here, "Security level: High, Priority: High, Data volume: Small, Command: Open, Target: Emergency gate" are set as the service requirements and their values for the orchestrator.
[0049] Furthermore, if there are multiple nodes related to a service that pass through a specified service or service target node, there may be inconsistencies in the service requirements settings for the service. Therefore, for example, the control unit 116 may notify the user of an alert indicating that an inconsistency may have occurred.
[0050] Next, the operation flow of the orchestrator with the service requirements shown in Figures 7 and 9 will be explained with reference to Figure 10. Figure 10 shows the processing flow based on the events that occurred, and consists of an edge device (Edge 1) that monitors the stadium, an image analysis and video call function that uses a cloud server, and an edge device (Edge 2) owned by the police.
[0051] In step SB1, edge devices for monitoring (Edge 1), such as surveillance cameras and thermal cameras, are used to capture images of the stadium in real time. In step SB2, the captured images are analyzed to detect security anomalies such as the presence of suspicious persons or objects.
[0052] In step SB3, if a security anomaly is detected, a video call slice is generated with the police according to the user's intent, and a conversation takes place between the user and the police (police officer). Alternatively, if a security anomaly is detected, the cloud server may automatically notify the police. In step SB4, a command is sent to open the emergency exit (IoT device) controlled by the IoT device, depending on the user's intent. Alternatively, the command to open the emergency exit may be sent based on the user's command (or intent) through the interaction between the user and the police officer in step SB3.
[0053] Furthermore, when a service is implemented in this way, feedback can be received, and if a service is added to a domain, the update unit 115 can update the knowledge graph for each domain. For example, the update unit 115 can update nodes and edges using OpenCypher, a standard graph database interface, in relation to the addition or modification of services. For example, when a domain is added or modified, the orchestrator, services, and the nodes and edges targeted by the services are newly added or modified. Also, when a service type is added or modified within an existing domain, the update unit 115 adds or modifies the nodes targeted by the services and their associated nodes or edges. In addition, service requirements may be added or modified to the existing knowledge graph.
[0054] According to the embodiment described above, a knowledge graph is used to define a service in three layers: "domain orchestrator / service / service target." This allows different services to be defined using the same description method, and thus resource requirements can also be determined using the same method. In other words, it becomes unnecessary to consider resource determination methods for each domain, thus shortening the service development period when developing new services. Furthermore, even when developing a service that requires resource requirements from multiple different domains, the resource requirements can be determined at once, so the more domains used, the shorter the service development period becomes compared to before. In short, services that meet user intent can be developed efficiently and in a short period of time.
[0055] The instructions shown in the processing procedure described in the above-described embodiment can be executed by a computer based on a software program.
[0056] In short, this invention is not limited to the embodiments described above, and in the implementation stage, the components can be modified and materialized without departing from the gist of the invention. Furthermore, various inventions can be formed by appropriately combining the multiple components disclosed in the embodiments. For example, some components may be deleted from all the components shown in the embodiments. Moreover, components from different embodiments may be appropriately combined. [Explanation of symbols]
[0057] 1…Information Processing Device 11…Processing circuit 12...Storage Unit 13…Communication Interface 20...nodes 21… Orchestrator 22…Service 23…Service Target 25… Edge 40…Dialogue 51, 52… Intent 60, 80… Knowledge Graph 111…Acquisition Department 112…Analysis department 113... Search section 114…Decision Section 115...Update section 116... Control Unit
Claims
1. An analysis unit that analyzes the user's intent, In a knowledge graph where a service, a service target subject to the implementation of the service, and an orchestrator for the operation and management of the service and the service target are each represented as nodes in different layers, and the relationships between nodes in different layers or between nodes within the same layer are represented as edges, a search unit searches for a node corresponding to the result of the intent analysis. A determination unit determines the service requirements and corresponding values, and the resource requirements and corresponding values, by traversing the higher-level nodes of the knowledge graph based on the corresponding node and extracting the requirements and corresponding values for each node. An information processing device equipped with the following.
2. The information processing device according to claim 1, wherein the knowledge graph is created for each of several different domains using common creation criteria for the nodes and edges.
3. The aforementioned determination unit, In the knowledge graph, identify the service or the node that is the target of the service that is related to the user's intent. The information processing device according to claim 1, which determines the orchestrator by traversing higher-level nodes based on the identified node.
4. The information processing apparatus according to claim 3, wherein the determination unit converts values corresponding to the service requirements and resource requirements for the identified service and service target for use in the operation of the higher node.
5. The information processing apparatus according to claim 1, further comprising an update unit that updates the nodes and edges of the knowledge graph in response to additions, changes, or changes in the requirements of the services or the service targets.
6. The aforementioned determination unit, In the knowledge graph, identify the service or the node that is the target of the service that is related to the user's intent. The information processing device according to claim 1, which notifies the user of an alert if there are multiple nodes related to a service that passes through the identified node.
7. Analyze the user's intent, In a knowledge graph where a service, a service target subject to the implementation of the service, and an orchestrator for the operation and management of the service and the service target are each represented as nodes in different layers, and the relationships between nodes in different layers or between nodes within the same layer are represented as edges, the node corresponding to the analysis result of the intent is searched for. By traversing the higher-level nodes of the knowledge graph based on the corresponding node and extracting the requirements and corresponding values for each node, the service requirements and corresponding values based on the user's intent, and the resource requirements and corresponding values are determined. Information processing methods.
8. A program for causing a computer to execute as each part of the information processing apparatus described in claim 1.