Information processing apparatus, information processing method, and program

By dividing relational data into subgraphs and calculating representation vectors for each, the method efficiently addresses computational limitations, enabling accurate vector calculations and capturing relationships across subgraphs.

JP2026021959APending Publication Date: 2026-02-12KK TOSHIBA
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024123245
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-30
Publication Date
2026-02-12

AI Technical Summary

Technical Problem

Existing technologies face challenges in efficiently calculating large-scale representation vectors due to computational resource limitations, particularly when dealing with vast amounts of relational data such as purchase data, where the size of the vectors becomes enormous, making it impossible to perform calculations.

Method used

The method involves dividing the overall graph representing relationships between elements into multiple subgraphs, setting an objective function for each subgraph, and calculating representation vectors for each subgraph, which are then concatenated to form the final representation vector of the overall graph.

Benefits of technology

This approach allows for more efficient and accurate calculation of representation vectors, preventing computational resource limitations and improving the accuracy of capturing relationships between elements across different subgraphs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026021959000001_ABST
    Figure 2026021959000001_ABST
Patent Text Reader

Abstract

To more efficiently calculate an expression vector.SOLUTION: The information processing apparatus includes a processing unit. The processor is configured to divide an entire graph into a plurality of subgraphs, the entire graph indicating a relationship between a plurality of elements. The processing unit sets, for each of the plurality of subgraphs, an objective function for learning an expression vector of the subgraph. The processing unit calculates n (n is an integer of 1 or more) representation vectors by learning for optimizing an objective function using each of n setting values for each of the plurality of subgraphs.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] An embodiment of the present invention relates to an information processing device, an information processing method, and a program. [Background technology]

[0002] With the recent advancement of IoT (Internet of Things), the utilization of relational data, which shows the relationships between data, has accelerated. Specific examples of relational data include purchase data and application data. Purchase data is data that indicates which users purchased what products. Application data is data that indicates which companies individuals applied to during job hunting.

[0003] Furthermore, for example, for purchasing data, a technology has been proposed that treats the relationship between users and products as a graph, calculates the representation vectors (also called hidden states or distributed representations) of each user and each product based on the adjacency relationships on the graph, and utilizes these in applications such as promotions. With such technology, for example, as the number of users and the number of products increases, the size of the representation vectors becomes enormous, and there are cases where it becomes impossible to calculate the representation vectors due to constraints on computational resources. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent No. 7298769 [Patent Document 2] Patent Publication No. 2021-135722 [Patent Document 3] Japanese Patent Publication No. 2022-035314 Summary of the Invention [Problem to be solved by the invention]

[0005] An object of the present invention is to provide an information processing device, an information processing method, and a program that can more efficiently calculate expression vectors. [Means for solving the problem]

[0006] An information processing apparatus according to an embodiment includes a processing unit. The processing unit divides an overall graph showing relationships between multiple elements into multiple subgraphs. The processing unit sets an objective function for learning a representation vector of each of the multiple subgraphs. The processing unit calculates n representation vectors for each of the multiple subgraphs by learning to optimize the objective function using n (n is an integer equal to or greater than 1) setting values. [Brief explanation of the drawings]

[0007] [Figure 1] FIG. 1 is a block diagram of an information processing apparatus according to a first embodiment. [Figure 2] FIG. 1 is a diagram showing an example of relationship data represented in the form of a relationship graph. [Figure 3] 10 is a flowchart of a calculation process according to the first embodiment. [Figure 4] FIG. 10 is a diagram showing an example of a subgraph. [Figure 5] FIG. 10 is a block diagram of an information processing apparatus according to a second embodiment. [Figure 6] 10A and 10B are diagrams showing examples of the presence or absence of branches in each pair obtained in the embodiment. [Figure 7] 10 is a flowchart of a calculation process according to the second embodiment. [Figure 8] FIG. 10 is a block diagram of an information processing apparatus according to a third embodiment. [Figure 9] 10 is a flowchart of a calculation process according to the third embodiment. [Figure 10] FIG. 10 is a diagram showing a display example of evaluation indices. [Figure 11] FIG. 10 is a block diagram of an information processing apparatus according to a fourth embodiment. [Figure 12] FIG. 1 is a diagram for explaining an example of a knowledge graph. [Figure 13] FIG. 10 is a block diagram of an information processing apparatus according to a fifth embodiment. [Figure 14] FIG. 10 is a diagram showing an example of displaying features. [Figure 15] FIG. 1 is a hardware diagram of an information processing apparatus according to first to fifth embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0008] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of an information processing apparatus according to the present invention will be described in detail below with reference to the accompanying drawings.

[0009] As described above, for example, purchase data is expected to capture the characteristics of users and products and be used for new product development, marketing, customer profiling, promotions, and the like.

[0010] For example, by listing products with expression vectors similar to a user's expression vector (hidden state, distributed representation), it is possible to recommend products to that user. Also, by clustering the expression vectors of products and users, it is possible to cluster (classify) users and products with similar purchasing patterns, and the classification results can be used for marketing purposes.

[0011] In the case of purchasing data, the representation vector is calculated by learning to capture the presence or absence of a purchase as accurately as possible. Representation vector calculation is becoming a technology that can be used for a variety of tasks. However, purchasing data often contains a variety of products, and the number of target users is becoming enormous.

[0012] A representation vector is calculated for each element, such as a user or a product. When learning to capture the relationship between multiple elements (e.g., whether or not a purchase was made), the representation vectors of multiple elements included in the purchase data are calculated together. In such a case, the representation vector corresponding to the entire purchase data is a vector with a size equivalent to the product of the number of elements and the number of dimensions of the representation vector.

[0013] Calculation (learning) of expression vectors may use a graphics processing unit (GPU), which is a computational resource suitable for calculating expression vectors. Furthermore, the memory used in GPU calculations (GPU memory) may be smaller in size than memory such as random access memory (RAM), which is also used for other calculations. Therefore, when the number of elements, such as the number of users and products, becomes enormous, the size of the expression vector corresponding to the entire data becomes enormous, and it may become impossible to calculate the expression vector due to computational resource limitations. Considering these circumstances, there is a demand for more efficient calculation of expression vectors with higher accuracy.

[0014] It is also possible to divide the graph (overall graph) that represents the relationship between users and products into multiple small subgraphs and learn the representation vectors only for the users and products that belong to each subgraph. However, this method cannot capture the relationship between products or users that belong to different subgraphs, which can lead to problems such as a limited range of usable products and users and a decrease in performance.

[0015] Therefore, in the following embodiment, a target graph (overall graph) is divided into multiple small subgraphs, an appropriate objective function is set for each subgraph, and a representation vector is calculated for each subgraph using the objective function. The representation vectors of the multiple subgraphs can be concatenated to form the final representation vector of the overall graph.

[0016] Since the expression vector is calculated for each small-scale subgraph, it is possible to prevent the expression vector from being unable to be calculated due to limitations on computational resources, and to calculate the expression vector more efficiently. Note that the expression vector for each subgraph is, for example, a vector obtained by concatenating the expression vectors for the number of elements included in the subgraph.

[0017] (First embodiment) 1 is a block diagram showing an example of the configuration of an information processing device 100 according to the first embodiment. As shown in FIG. 1, the information processing device 100 includes a storage unit 121, an acquisition unit 101, a division unit 102, a function setting unit 103, a vector calculation unit 104, and an output control unit 105.

[0018] The storage unit 121 stores various types of information used in the information processing device 100. For example, the storage unit 121 stores relational data that is the target of expression vector calculation, subgraphs obtained by the division unit 102, and the like.

[0019] The relational data may be any type of data as long as it indicates the relationship between multiple elements. Examples of relational data are listed below. · Purchase data showing the relationship between products and users: The elements are products and users. Document data showing the relationship between words and documents: The elements are words and documents. Citation data indicating citation relationships between documents: The element is a document. Application data indicating which company an individual (user) has applied to: The elements are the user and the company. Social networking service (SNS) data showing who is connected to whom (connections between multiple users): The elements are users.

[0020] The following describes an example that mainly uses relational data related to purchase data. FIG. 2 is a diagram showing an example of relational data related to purchase data. FIG. 2 shows an example of relational data expressed in the form of a graph (relationship graph) showing the relationship between multiple users UA, UB, UC, and UD and multiple products Pa, Pb, and Pc. In this embodiment, the relationship graph shown in FIG. 2 corresponds to the overall graph that is the target of expression vector calculation.

[0021] The relational data may be preprocessed in advance. For example, in the case of relational data related to document data, the preprocessing may involve a process of leaving as elements only words whose frequency of appearance is equal to or greater than a specified number of times. In the case of relational data related to purchase data, the preprocessing may involve a process of setting up branches between users and products that have a relationship of having purchased a specified number of times or more. In the case of relational data related to citation data, the preprocessing may involve a process of constructing a graph based only on the citation relationships of specified data from the past few years.

[0022] The storage unit 121 can be configured from any commonly used storage medium such as a flash memory, a memory card, a RAM (Random Access Memory), an HDD (Hard Disk Drive), and an optical disk.

[0023] The acquisition unit 101 acquires various information used in the information processing device 100. For example, the acquisition unit 101 acquires relational data to be processed and stores the data in the storage unit 121. The acquisition unit 101 may acquire information used in the processing of each unit, such as the specified number of divisions (number of divisions) and the number of dimensions of the specified expression vector.

[0024] The acquisition unit 101 may acquire information by any method, for example, a method of receiving information from an external device via a network, or a method of reading information from a storage medium.

[0025] The dividing unit 102 divides an overall graph indicating relational data into a plurality of subgraphs. The dividing unit 102 may divide the overall graph into a specified number (number of divisions) of subgraphs. The dividing unit 102 stores the subgraphs obtained by the division in, for example, the storage unit 121.

[0026] The function setting unit 103 sets an objective function for learning a representation vector of each of the plurality of subgraphs. For example, the function setting unit 103 sets an objective function including a function FA (first function) that outputs different values ​​between a combination of two elements included in the subgraph, the combination including two connected elements, and the combination including two unconnected elements. The function setting unit 103 may set an objective function for finding a representation vector with a specified number of dimensions.

[0027] The vector calculation unit 104 calculates the expression vector by optimizing the value of the objective function. For example, the vector calculation unit 104 calculates n expression vectors for each of a plurality of subgraphs by learning to optimize an objective function using n (n is an integer equal to or greater than 1) setting values. In this embodiment, an example in which one (n=1) setting value is used will be described. An example in which n is 2 or greater will be described in the third embodiment.

[0028] The setting value can be any information, for example, a hyperparameter that determines the learning method. For example, when learning the representation vector of an element, information indicating how many hops away elements should be considered among elements connected to the element in the subgraph can be used as the setting value.

[0029] The output control unit 105 controls the output of various information used in the information processing device 100. For example, the output control unit 105 outputs an expression vector calculated for each of a plurality of subgraphs. The output control unit 105 may output an expression vector obtained by concatenating the expression vectors of a plurality of subgraphs as a final expression vector for the entire graph.

[0030] Any method for outputting information may be used, but for example, a method of displaying information on a display device or a method of transmitting information to an external device via a network may be applied.

[0031] At least a part of each of the above units (acquisition unit 101, division unit 102, function setting unit 103, vector calculation unit 104, and output control unit 105) may be realized by one or more processing units. Each of the above units is realized, for example, by one or more processors. For example, each of the above units may be realized by having a processor such as a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit) execute a program, that is, by software. Each of the above units may be realized by a processor such as a dedicated IC (Integrated Circuit), that is, by hardware. Each of the above units may be realized by a combination of software and hardware. When multiple processors are used, each processor may realize one of the units, or may realize two or more of the units.

[0032] Furthermore, the information processing device 100 may be physically configured as one device or may be physically configured as multiple devices. For example, the information processing device 100 may be constructed in a cloud environment. Furthermore, each unit within the information processing device 100 may be distributed across multiple devices.

[0033] Next, a description will be given of the calculation process of the expression vector by the information processing apparatus 100 of the first embodiment. Fig. 3 is a flowchart showing an example of the calculation process in the first embodiment.

[0034] The dividing unit 102 divides the overall graph representing relational data into a plurality of subgraphs (step S101).

[0035] The function setting unit 103 determines whether or not there is an edge for each pair of user and product included in the subgraph in the multiple subgraphs obtained by division (step S102). For example, the function setting unit 103 extracts users and products belonging to the subgraph from the target subgraph, and extracts pairs including users and products, among pairs including users and products, pairs that have an edge connecting the users and products included in the pair, and pairs that do not have an edge.

[0036] FIG. 4 is a diagram showing examples of subgraphs obtained by division and pairs within the subgraphs. FIG. 4 shows examples of four subgraphs PG1 to PG4. Elements A to N correspond to either users or products. The elements at both ends of each branch are users and products. For example, for subgraph PG1, pairs with branches are {AD} and {BC}, and pairs without branches are {AB}, {AC}, {BD}, and {CD}. For other subgraphs, the presence or absence of a branch for each pair is determined in a similar manner.

[0037] Returning to the explanation of FIG. 3, the function setting unit 103 sets an objective function for learning a representation vector for each of a plurality of subgraphs (step S103). For example, the function setting unit 103 sets an objective function for evaluating the presence or absence of an edge for pairs included in the subgraphs. For example, the objective function is set to output a higher evaluation value for pairs with edges than for pairs without edges. Such an objective function may be any function, but is, for example, an objective function using logistic regression and BPR (Bayesian Personalized Ranking) loss.

[0038] The vector calculation unit 104 learns the expression vector so as to optimize the objective function obtained by the function setting unit 103. First, the vector calculation unit 104 sets the number of dimensions of the expression vector corresponding to each subgraph (step S104).

[0039] For example, the vector calculation unit 104 sets the number of dimensions acquired by the acquisition unit 101 as the number of dimensions of the representation vector. The vector calculation unit 104 may determine the number of dimensions of the representation vector for each of the multiple subgraphs based on the characteristics of the subgraph. The characteristics of the subgraph are, for example, the number of elements included in the subgraph and the number of edges connecting the elements included in the subgraph. For example, the vector calculation unit 104 may multiply the number of edges in each subgraph by a predetermined proportional constant and then round the result to an integer value to determine the number of dimensions of the representation vector. The vector calculation unit 104 may determine the number of dimensions of the representation vector according to the size of a storage device (e.g., GPU memory) that stores the subgraphs.

[0040] Next, the vector calculation unit 104 calculates the representation vector of the subgraph by learning the representation vector of the subgraph so as to optimize the objective function (step S105). The learning method may be any conventionally used method, and for example, the following method can be applied. -Methods using matrix decomposition -Methods that use graph analysis techniques such as graph neural networks

[0041] The output control unit 105 outputs the calculated expression vectors of each subgraph (step S106), and ends the calculation process. The output control unit 105 may generate and output an expression vector of the entire graph by combining the calculated expression vectors of each subgraph.

[0042] In this way, the information processing device of the first embodiment calculates the expression vector for each of the subgraphs obtained by dividing the entire graph, thereby enabling more efficient calculation of the expression vector.

[0043] (Second embodiment) In the first embodiment, a representation vector is learned for each subgraph so as to capture the relationship between the presence or absence of edges within the subgraph. On the other hand, many other subgraphs exist within the overall graph. Therefore, it is considered that the accuracy of the representation vector can be further improved by incorporating the structure of edges other than those of the subgraph being learned. In the second embodiment, an objective function is used that takes into account the presence or absence of edges paired with elements of other subgraphs and the presence or absence of edges paired with elements within the overall graph.

[0044] Fig. 5 is a block diagram showing an example of the configuration of an information processing device 100-2 according to the second embodiment. As shown in Fig. 5, the information processing device 100-2 includes a storage unit 121, an acquisition unit 101, a division unit 102, a function setting unit 103-2, a vector calculation unit 104-2, and an output control unit 105.

[0045] In the second embodiment, the functions of the function setting unit 103-2 and the vector calculation unit 104-2 are different from those in the first embodiment. The other configurations and functions are the same as those in the block diagram of the information processing device 100 in the first embodiment shown in FIG. 1, so the same reference numerals are used and the description thereof will be omitted here.

[0046] The function setting unit 103-2 differs from the function setting unit 103 of the first embodiment in that it sets an objective function that further includes at least one of the following functions FB (second function) and FC (third function) in addition to the above function FA. Function FB: A function that outputs different values ​​depending on whether an element included in the subgraph that is the target of the objective function (hereafter referred to as the target graph) is connected to an element included in one or more subgraphs other than the target graph (hereafter referred to as the non-target graphs) or not. Function FC: A function that outputs different values ​​between combinations of two elements included in the overall graph, including two connected elements, and combinations of two unconnected elements.

[0047] For the functions FB and FC, the function setting unit 103-2 determines whether or not there is an edge for each pair between the subgraphs, and whether or not there is an edge for each pair between the entire graph. For example, the function setting unit 103-2 extracts pairs of elements (users, products) included in the target graph and elements included in the non-target graphs, which have an edge connecting the two elements included in the pair, and pairs that do not have an edge. In addition, the function setting unit 103-2 extracts pairs of elements included in the entire graph, which have an edge connecting the two elements included in the pair, and pairs that do not have an edge.

[0048] Fig. 6 is a diagram showing an example of whether or not there is an edge for each pair obtained in this embodiment. Fig. 6 shows an example of whether or not there is an edge for each pair obtained from four subgraphs PG1 to PG4 similar to Fig. 4 of the first embodiment.

[0049] When subgraph PG1 is the target graph and attention is focused on the relationship between subgraphs, for example, the pair {DE} of element D included in subgraph PG1 and element E included in subgraph PG2, and the pair {CI} of element C included in subgraph PG1 and element I included in subgraph PG3 are extracted as pairs with edges.

[0050] When the subgraph PG1 is the target graph and attention is focused on the overall graph, for example, a pair of elements {EF} in the subgraph PG2, which is the non-target graph, is extracted as a pair with an edge.

[0051] Returning to the description of Fig. 5, the vector calculation unit 104-2 calculates an expression vector by optimizing the value of an objective function including the function FA and at least one of the functions FB and FC.

[0052] Next, the calculation process performed by the information processing device 100-2 according to the second embodiment will be described with reference to Fig. 7. Fig. 7 is a flowchart showing an example of the calculation process according to the second embodiment.

[0053] Steps S201 to S202 are the same as steps S101 to S102 in the information processing apparatus 100 of the first embodiment, and therefore a description thereof will be omitted.

[0054] In this embodiment, the function setting unit 103-2 determines whether or not each subgraph (target graph) has an edge with respect to other subgraphs (non-target graphs) (step S203). The function setting unit 103-2 also determines whether or not an edge exists for each user and product included in the overall graph (step S204). As a result, a determination result of whether or not an edge exists for each pair can be obtained, for example, as shown in FIG. 6.

[0055] The function setting unit 103-2 sets an objective function including the function FA and at least one of the functions FB and FC according to the obtained determination result of the presence or absence of an edge (step S205). As in the first embodiment, the objective function is, for example, an objective function that outputs a larger evaluation value for a pair with an edge than for a pair without an edge.

[0056] The objective function may be set by weighting three functions FA, FB, and FC. For example, the function setting unit 103-2 may set the objective function expressed by the following equation (1). α, β, and γ represent weights. One of β and γ may be set to 0. Objective function = α × function FA + β × function FB + γ × function FC (1)

[0057] Steps S206 to S208 are the same as steps S104 to S106 in the information processing apparatus 100 of the first embodiment, and therefore a description thereof will be omitted.

[0058] In this way, the information processing device of the second embodiment learns the expression vectors of the target graph by considering not only pairs of elements in the target subgraph (target graph), but also pairs with elements in other subgraphs (non-target graphs) and pairs in the overall graph. This makes it possible to calculate expression vectors that capture the relationships between products or users belonging to different subgraphs, for example. As a result, the accuracy of processing using expression vectors can be further improved.

[0059] (Third embodiment) The information processing device of the third embodiment calculates multiple expression vectors for each subgraph using multiple setting values ​​(n≧2), and then appropriately combines the multiple expression vectors to obtain an optimal expression vector, thereby improving the quality of the expression vector.

[0060] Fig. 8 is a block diagram showing an example of the configuration of an information processing device 100-3 according to the third embodiment. As shown in Fig. 8, the information processing device 100-2 includes a storage unit 121, an acquisition unit 101, a division unit 102, a function setting unit 103, a vector calculation unit 104, an output control unit 105, and an optimization unit 106-3.

[0061] The third embodiment differs from the first embodiment in that an optimization unit 106-3 is added. Other configurations and functions are the same as those of the information processing device 100 of the first embodiment shown in FIG. 1, which is a block diagram of the information processing device 100, and therefore the same reference numerals are used and the description thereof will be omitted here.

[0062] In this embodiment, the vector calculation unit 104 calculates n expression vectors for each of a plurality of subgraphs by learning to optimize an objective function using n (n≧2) setting values.

[0063] The optimization unit 106-3 executes a process of finding an optimal expression vector from n expression vectors. For example, the optimization unit 106-3 finds a combination of n expression vectors calculated for each of a plurality of subgraphs, the combination having a larger evaluation index than the other combinations.

[0064] The overall flow of the expression vector calculation process of this embodiment is the same as the calculation process of the first embodiment (FIG. 3). After the expression vectors of each subgraph are calculated in step S106, the optimization unit 106-3 executes a process to calculate the expression vector of the entire graph.

[0065] The optimization process by the optimization unit 106-3 will be described with reference to Fig. 9. Fig. 9 is a flowchart showing an example of the calculation process in the third embodiment.

[0066] The optimization unit 106-3 generates a representation vector of the entire graph from the representation vectors included in the combination of the representation vectors of each subgraph (step S301). A specified number (for example, one) of representation vectors is selected from the n representation vectors of each subgraph. The following describes an example in which one representation vector is selected from each subgraph.

[0067] The optimization unit 106-3 generates a final expression vector for the entire graph from the multiple expression vectors included in the obtained combination. For example, the optimization unit 106-3 generates the final expression vector by concatenating the multiple expression vectors included in the combination.

[0068] For example, consider a case where the number of subgraphs is four and five (n=5) 20-dimensional expression vectors are calculated for each of the four subgraphs by the vector calculation unit 104. In this case, the number of combinations of expression vectors is 5×5×5×5=625. The optimization unit 106-3 concatenates the four 20-dimensional expression vectors included in the combinations to generate a final 20×4=80-dimensional expression vector.

[0069] The method for generating the representation vector of the entire graph is not limited to the above, and the optimization unit 106-3 may use any of the following generation methods. - Weighted average of multiple expression vectors included in the combination Concatenation of multiple transformation vectors obtained by transforming each of the multiple representation vectors included in the combination Each of the multiple expression vectors included in the combination is calculated as the weighted average of multiple transformation vectors.

[0070] When the weighted average is used, the number of dimensions of the representation vector of the entire graph is the same as the number of dimensions of the representation vector of the subgraph. The conversion of the representation vector may be performed by any method, but can be realized, for example, by a method using deep learning.

[0071] The optimization unit 106-3 calculates the evaluation index of the generated expression vectors, and finds a combination corresponding to an expression vector whose evaluation index is larger than that of other combinations (for example, whose evaluation index is the largest) (step S302).

[0072] Any evaluation index may be used, but performance indexes used in product recommendation such as Recall and AUC (Area Under the ROC Curve) may also be used. The process of searching for the optimal combination of evaluation indexes may be a brute force search process or a search process utilizing a mathematical optimization method such as Bayesian optimization.

[0073] The optimization unit 106-3 outputs the representation vector of the entire graph corresponding to the obtained combination (step S303), and ends the optimization process.

[0074] The device may further include a function for outputting evaluation indices for various combinations. For example, the output control unit 105 may display the evaluation indices calculated for multiple combinations in a list format on a display device or the like. Fig. 10 is a diagram showing an example of display of evaluation indices. As shown in Fig. 10, the evaluation indices may be calculated for combinations in which expression vectors are selected from a portion of multiple subgraphs.

[0075] In this way, the information processing device of the third embodiment can obtain an optimal expression vector by combining multiple expression vectors calculated for each subgraph, thereby enabling more efficient calculation of higher quality expression vectors.

[0076] (Fourth embodiment) The information processing device of the fourth embodiment further improves the quality of the calculated expression vectors by using knowledge about the elements of the graph.

[0077] 11 is a block diagram showing an example of the configuration of an information processing device 100-4 according to the fourth embodiment. As shown in FIG. 11, the information processing device 100-4 includes a storage unit 121-4, an acquisition unit 101, a division unit 102-4, a function setting unit 103, a vector calculation unit 104, and an output control unit 105.

[0078] In the fourth embodiment, the functions of the storage unit 121-4 and the division unit 102-4 are different from those in the first embodiment. The other configurations and functions are the same as those in the block diagram of the information processing device 100 in the first embodiment shown in FIG. 1, so the same reference numerals are used and the description thereof will be omitted here.

[0079] The storage unit 121-4 differs from the storage unit 121 of the first embodiment in that it further stores a knowledge graph that represents knowledge related to elements. Fig. 12 is a diagram for explaining an example of a knowledge graph.

[0080] 12 shows examples of a knowledge graph 1211, which is a graph representing knowledge 1201 about a user, and a knowledge graph 1212, which is a graph representing knowledge 1202 about a product. Knowledge 1201 includes user attribute data, which is one of the elements of purchase data, as knowledge. The user attribute data is, for example, age and gender. Knowledge 1202 includes product attribute data, which is one of the elements of purchase data, as knowledge. The product attribute data is, for example, product category information.

[0081] The division unit 102-4 performs graph division on an overall graph that combines a relationship graph showing relationships between multiple elements and a knowledge graph. The overall graph may be generated in advance and stored in the storage unit 121-4. The division unit 102-4 may generate the overall graph by combining the relationship graph and the knowledge graph.

[0082] By targeting the overall graph that combines knowledge graphs, elements with the same or similar attributes (users of the same age group, products in the same category, etc.) tend to belong to the same subgraph. This makes it possible to create subgraphs tailored to the preferences of users and products.

[0083] In this way, the information processing device of the fourth embodiment can further improve the quality of the calculated expression vectors by using knowledge about the elements of the graph.

[0084] (Fifth embodiment) The information processing device of the fifth embodiment further includes a function of utilizing the calculated expression vectors. For example, when expression vectors are obtained for each user and product, the method of utilizing the expression vectors includes recommending products to users (product recommendation) and marketing.

[0085] Fig. 13 is a block diagram showing an example of the configuration of an information processing device 100-5 according to the fifth embodiment. As shown in Fig. 13, the information processing device 100-5 includes a storage unit 121, an acquisition unit 101, a division unit 102, a function setting unit 103, a vector calculation unit 104, an output control unit 105, a recommendation unit 107-5, and a feature calculation unit 108-5.

[0086] The fifth embodiment differs from the first embodiment in that a recommendation unit 107-5 and a feature calculation unit 108-5 are added. Other configurations and functions are the same as those in FIG. 1, which is a block diagram of the information processing device 100 of the first embodiment, so the same reference numerals are used and the description thereof will be omitted here.

[0087] The recommendation unit 107-5 is a function for executing product recommendation. For example, the recommendation unit 107-5 finds, from among the expression vectors of a plurality of elements, an expression vector similar to the expression vector of the overall graph calculated by the same function as in the above embodiment, and outputs the element corresponding to the found expression vector as the element to be recommended.

[0088] For example, the recommendation unit 107-5 may recommend a product having an expression vector similar to that of the target user. Any method may be used to calculate the similarity of the expression vectors, but a method using an inner product or cosine similarity may be applied. When a product to be recommended has already been determined and it is desired to determine to which user the product should be recommended, the recommendation unit 107-5 may recommend a user having an expression vector similar to that of the product.

[0089] The recommendation unit 107-5 may determine a ranking (order) according to the magnitude of the similarity. In this case, for example, the output control unit 105 may output information (recommendation information) in which the product to be recommended is associated with the ranking.

[0090] The feature calculation unit 108-5 is a function for calculating features that can be used for marketing. For example, the feature calculation unit 108-5 calculates features of multiple elements using an expression vector of the overall graph calculated by the same function as in the above embodiment, and outputs the calculated features.

[0091] The features may be calculated by any method, but for example, a method of clustering the expression vectors and calculating features for each cluster can be applied. For example, the feature calculation unit 108-5 performs clustering on the calculated expression vectors for each element to obtain multiple clusters. The feature calculation unit 108-5 calculates the features of each cluster. The features of a cluster are calculated, for example, by analyzing the elements corresponding to the expression vectors included in the cluster. For example, if the element is a product, the product name and other information related to the product can be referenced to determine the feature that the product is high in salt. Furthermore, if the element is a user, the user's preference patterns, etc. can be determined as user features from products classified into the same cluster as the user.

[0092] The output control unit 105 may output information indicating the determined characteristics (characteristic information). Fig. 14 is a diagram showing an example of a display of characteristics. Fig. 14 shows an example of an expression vector calculated for purchase data, and recommendation information and characteristic information obtained from the expression vector.

[0093] 14 shows an example of expression vectors that have been simplified to two dimensions for ease of explanation. Clusters 1401 and 1402 are examples of clusters obtained by clustering the expression vectors.

[0094] Recommendation information 1411 is an example of recommendation information obtained by, for example, recommendation unit 107-5. For example, for user UA, products Pa and Pb classified into the same cluster 1402 are associated with high rankings.

[0095] The feature information 1412 is an example of feature information calculated by the feature calculation unit 108-5, for example. The preference pattern Pt1 is an example of a feature obtained for the cluster 1402. The preference pattern Pt2 is an example of a feature obtained for the cluster 1401.

[0096] In this way, in the information processing device of the fifth embodiment, the expression vectors can be utilized for product recommendation, marketing, and the like.

[0097] As described above, according to the first to fifth embodiments, it is possible to more efficiently calculate the expression vector.

[0098] Next, the hardware configuration of the information processing apparatus according to the first to fifth embodiments will be described with reference to Fig. 15. Fig. 15 is an explanatory diagram showing an example of the hardware configuration of the information processing apparatus according to the first to fifth embodiments.

[0099] The information processing device of the first to fifth embodiments includes a control device such as a CPU (Central Processing Unit) 51, a storage device such as a ROM (Read Only Memory) 52 and a RAM (Random Access Memory) 53, a communication I / F 54 that connects to a network and communicates, and a bus 61 that connects each part.

[0100] The programs executed by the information processing apparatuses of the first to fifth embodiments are provided in advance in the ROM 52 or the like.

[0101] The programs executed by the information processing devices of the first to fifth embodiments may be configured to be provided as a computer program product by being recorded in an installable or executable file format on a computer-readable recording medium such as a CD-ROM (Compact Disk Read Only Memory), a flexible disk (FD), a CD-R (Compact Disk Recordable), or a DVD (Digital Versatile Disk).

[0102] Furthermore, the programs executed by the information processing apparatuses of the first to fifth embodiments may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Also, the programs executed by the information processing apparatuses of the first to fifth embodiments may be provided or distributed via a network such as the Internet.

[0103] The programs executed by the information processing devices of the first to fifth embodiments can cause a computer to function as each unit of the information processing device described above. In this computer, the CPU 51 can read the programs from a computer-readable storage medium onto a main storage device and execute the programs.

[0104] A configuration example of the embodiment will be described below. (Configuration example 1) Divide the overall graph showing the relationships between multiple elements into multiple subgraphs, setting an objective function for learning a representation vector of each of the plurality of subgraphs; Calculating the n representation vectors for each of the plurality of subgraphs by learning to optimize the objective function using n (n is an integer equal to or greater than 1) setting values. Processing section An information processing device comprising: (Configuration example 2) the objective function includes a first function that outputs a different value between a combination including two connected elements and a combination including two unconnected elements, among combinations of two elements included in the subgraph; The information processing device according to claim 1. (Configuration example 3) The objective function further includes a second function that outputs different values ​​depending on whether an element included in a target graph representing the subgraph for which the objective function is set is connected to an element included in a non-target graph representing one or more of the subgraphs other than the target graph, among the plurality of subgraphs, is connected or not connected. The information processing device according to claim 2. (Configuration example 4) the objective function further includes a third function that outputs a different value between a combination including two connected elements and a combination including two unconnected elements, among combinations of two elements included in the overall graph; The information processing device according to claim 2. (Configuration Example 5) The objective function is: a second function that outputs different values ​​depending on whether a target graph representing the subgraph for which the objective function is set and a non-target graph representing one or more subgraphs other than the target graph among the plurality of subgraphs are connected or not; a third function that outputs different values ​​between a combination including two connected elements and a combination including two unconnected elements among combinations of two elements included in the overall graph; further comprising: The information processing device according to claim 2. (Configuration Example 6) The processing unit Finding a combination of the n expression vectors calculated for each of the plurality of subgraphs that has a larger evaluation index than other combinations. 6. An information processing device according to claim 1. (Configuration Example 7) The processing unit Among the combinations of n representation vectors, a concatenation of a plurality of said representation vectors included in a combination; calculating a weighted average value of the plurality of said representation vectors included in the combination; a concatenation of a plurality of transformation vectors obtained by transforming each of the plurality of representation vectors included in the combination; and calculating a weighted average of a plurality of said transformation vectors; a combination in which the evaluation index of the expression vector of the entire graph calculated by any one of the above is greater than that of other combinations; The information processing device according to claim 6. (Configuration Example 8) The processing unit Using Bayesian optimization, a combination whose evaluation index is greater than other combinations is found. The information processing device according to claim 6. (Configuration Example 9) The processing unit determining the number of dimensions of the representation vector based on characteristics of each of the plurality of subgraphs, including the number of elements included in the subgraph and the number of edges connecting the elements included in the subgraph; 9. An information processing device according to claim 1. (Configuration Example 10) The processing unit determining the number of dimensions of the representation vector according to the size of a storage device that stores the subgraph; 10. An information processing device according to claim 1. (Configuration Example 11) The overall graph is a graph that combines a relationship graph that shows relationships between the plurality of elements and a knowledge graph that shows knowledge about the plurality of elements. 11. An information processing device according to claim 1. (Configuration Example 12) The processing unit outputting an evaluation index for each of the n combinations of expression vectors calculated for each of the plurality of subgraphs; 12. An information processing device according to claim 1. (Configuration Example 13) The processing unit determining, from among the expression vectors of the plurality of elements, an expression vector similar to the expression vector of the entire graph calculated based on the expression vectors of the plurality of subgraphs, and outputting the element corresponding to the determined expression vector; 13. An information processing device according to claim 1. (Configuration Example 14) The processing unit determining characteristics of the plurality of elements using a representation vector of the entire graph calculated based on the representation vectors of the plurality of subgraphs; 14. An information processing device according to claim 1. (Configuration Example 15) An information processing method executed by an information processing device, Dividing an overall graph showing relationships between a plurality of elements into a plurality of subgraphs; setting an objective function for learning a representation vector of each of the plurality of subgraphs; calculating the n representation vectors for each of the plurality of subgraphs by learning to optimize the objective function using n (n is an integer equal to or greater than 1) setting values; An information processing method including: (Configuration Example 16) On the computer, Dividing an overall graph showing relationships between a plurality of elements into a plurality of subgraphs; setting an objective function for learning a representation vector of each of the plurality of subgraphs; calculating the n representation vectors for each of the plurality of subgraphs by learning to optimize the objective function using n (n is an integer equal to or greater than 1) setting values; A program to execute.

[0105] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. [Explanation of symbols]

[0106] 100, 100-2, 100-3, 100-4, 100-5 Information processing equipment 101 Acquisition Department 102,102-4 Split part 103,103-2 Function setting section 104,104-2 Vector calculation unit 105 Output control section 106-3 Optimization Section 107-5 Recommendation Department 108-5 Feature calculation unit 121,121-4 Storage section

Claims

1. Divide the overall graph showing the relationships between multiple elements into multiple subgraphs, setting an objective function for learning a representation vector of each of the plurality of subgraphs; calculating the n representation vectors for each of the plurality of subgraphs by learning to optimize the objective function using n (n is an integer equal to or greater than 1) setting values; Processing section An information processing device comprising:

2. the objective function includes a first function that outputs a different value between a combination including two connected elements and a combination including two unconnected elements, among combinations of two elements included in the subgraph; The information processing device according to claim 1 .

3. the objective function further includes a second function that outputs different values ​​depending on whether an element included in a target graph representing the subgraph for which the objective function is set is connected to an element included in a non-target graph representing one or more of the subgraphs other than the target graph, among the plurality of subgraphs, and whether the element is not connected to the target graph, The information processing device according to claim 2 .

4. the objective function further includes a third function that outputs a different value between a combination including two connected elements and a combination including two unconnected elements, among combinations of two elements included in the overall graph; The information processing device according to claim 2 .

5. The objective function is: a second function that outputs different values ​​depending on whether a target graph representing the subgraph for which the objective function is set and a non-target graph representing one or more subgraphs other than the target graph among the plurality of subgraphs are connected or not; a third function that outputs different values ​​between a combination including two connected elements and a combination including two unconnected elements among combinations of two elements included in the overall graph; further comprising: The information processing device according to claim 2 .

6. The processing unit Finding a combination of the n expression vectors calculated for each of the plurality of subgraphs that has a larger evaluation index than other combinations. The information processing device according to claim 1 .

7. The processing unit Among the combinations of n representation vectors, a concatenation of a plurality of said representation vectors included in a combination; calculating a weighted average value of the plurality of said representation vectors included in the combination; a concatenation of a plurality of transformation vectors obtained by transforming each of the plurality of representation vectors included in the combination; and calculating a weighted average of a plurality of said transformation vectors; a combination in which the evaluation index of the expression vector of the entire graph calculated by any one of the above is greater than that of other combinations; The information processing device according to claim 6 .

8. The processing unit Using Bayesian optimization, a combination whose evaluation index is greater than other combinations is found. The information processing device according to claim 6 .

9. The processing unit determining the number of dimensions of the representation vector based on characteristics of each of the plurality of subgraphs, including the number of elements included in the subgraph and the number of edges connecting the elements included in the subgraph; The information processing device according to claim 1 .

10. The processing unit determining the number of dimensions of the representation vector according to the size of a storage device that stores the subgraph; The information processing device according to claim 1 .

11. The overall graph is a graph that combines a relationship graph that shows relationships between the plurality of elements and a knowledge graph that shows knowledge about the plurality of elements. The information processing device according to claim 1 .

12. The processing unit outputting an evaluation index for each of the n combinations of expression vectors calculated for each of the plurality of subgraphs; The information processing device according to claim 1 .

13. The processing unit determining, from among the expression vectors of the plurality of elements, an expression vector similar to the expression vector of the entire graph calculated based on the expression vectors of the plurality of subgraphs, and outputting the element corresponding to the determined expression vector; The information processing device according to claim 1 .

14. The processing unit determining characteristics of the plurality of elements using a representation vector of the entire graph calculated based on the representation vectors of the plurality of subgraphs; The information processing device according to claim 1 .

15. An information processing method executed by an information processing device, Dividing an overall graph showing relationships between a plurality of elements into a plurality of subgraphs; setting an objective function for learning a representation vector of each of the plurality of subgraphs; calculating the n representation vectors for each of the plurality of subgraphs by learning to optimize the objective function using n (n is an integer equal to or greater than 1) setting values; An information processing method including:

16. On the computer, Dividing an overall graph showing relationships between a plurality of elements into a plurality of subgraphs; setting an objective function for learning a representation vector of each of the plurality of subgraphs; calculating the n representation vectors for each of the plurality of subgraphs by learning to optimize the objective function using n (n is an integer equal to or greater than 1) setting values; A program to execute.

Citation Information

Patent Citations

  • Information processing device, and program

    JP2021135722A

  • Information processing unit and program

    JP2022035314A

  • Machine learning program, machine learning method, and machine learning device

    JP7298769B2