Recommendation generation system, recommendation generation method, and recommendation generation program

The recommendation generation system addresses the lack of user-value alignment in existing methods by integrating spatial and user preference data, enhancing the relevance of urban function recommendations through machine learning-based path length evaluation.

JP7844262B2Active Publication Date: 2026-04-13HITACHI LTD
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
HITACHI LTD
Filing Date
2022-06-02
Publication Date
2026-04-13

AI Technical Summary

Technical Problem

Existing recommendation generation methods for urban functions fail to consider value information regarding the location, leading to recommendations that may not align with user preferences, as they rely solely on spatial location correlations without evaluating user perceptions.

Method used

A recommendation generation system that constructs a graph integrating location and value information, using machine learning to evaluate path lengths between nodes representing urban functions, locations, and value indicators, thereby generating recommendations that consider both spatial and user value alignment.

Benefits of technology

The system provides recommendations that take into account user-valued urban functions by quantifying spatial relationships and user preferences, improving the relevance of suggested urban functions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007844262000003
    Figure 0007844262000003
  • Figure 0007844262000004
    Figure 0007844262000004
  • Figure 0007844262000005
    Figure 0007844262000005
Patent Text Reader

Abstract

To provide a recommendation generation system capable of generating recommendations considering value information regarding a location of urban functions.SOLUTION: The recommendation generation system performs: graph creation processing of setting multiple nodes that indicate first location information and second location information in a graph by using a first table that associates the first location information and value information and a second table that associates the second location information including at least one or more out of the multiple pieces of first location information and urban functions, and creating a single graph that represents the urban functions as nodes connected to the first location information and the value information as nodes connected to the second location information; graph learning processing of representing a mutual relation between nodes in a vector space using machine learning techniques based on the graphs; and recommendation result generation processing of evaluating a path length between nodes from the vector space by evaluating the path length from distributed representation vector of the nodes of the first location information, the urban functions, the value information based on a specification of the first location information to generate a recommendation for the urban functions for the first location information.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a recommendation generation system, a recommendation generation method, and a recommendation generation program.

Background Art

[0002] As the background art in this technical field, there is Japanese Patent Application Laid-Open No. 2021-135722 (Patent Document 1). This publication describes, "Provided are an information processing apparatus and a program that can quantify the relationship between information items such as an analysis target and a product, etc., even for social media with a sparse relationship, and use the quantified relationship."

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

[0007] However, in this recommendation generation method, it is necessary to pre-set a predetermined distance for the range of surrounding urban functions that are considered when calculating affinity with the recommended location. Generally, system users do not have information about the range of surrounding urban functions that may have affinity with the recommended location, making it difficult to set an appropriate distance.

[0008] Furthermore, in this recommendation generation method, the graph used as input to the machine learning method is constructed using only the current spatial location relationships of urban functions. Therefore, the relationships between urban functions estimated by the machine learning method only show the strength of the location correlation between urban functions, and do not take into account how urban function users evaluate the relationships between urban functions. As a result, this recommendation generation method may recommend urban functions that have high location affinity with surrounding urban functions but are undesirable to urban function users. To prevent this, it is necessary to consider value information regarding the location of urban functions.

[0009] The present invention aims to provide a technology that enables recommendations that take into account value information regarding the location of urban functions. [Means for solving the problem]

[0010] To solve the above problems, for example, the configuration described in the claims may be adopted. The present invention includes multiple means for solving the above problems, but to give one example, a recommendation generation system that uses a computer having a processor and memory to present urban functions for a location, wherein the processor is configured as a recommendation generation system characterized by: setting up nodes in a graph that points to the first location information and the second location information using a first table that associates first location information and value information, and a second table that associates second location information containing at least one of a plurality of first location information with urban functions, and constructing a single graph in which the urban functions are represented as nodes that connect to the first location information and the value information as nodes that connect to the second location information; a graph learning process that expresses the interrelationships between nodes in a vector space using a machine learning method based on the graph; and a recommendation result generation process that evaluates the path length from the node distributed representation vectors of the first location information, the urban functions, and the value information based on the specification of the first location information, evaluates the path length between nodes from the vector space, and generates a recommendation for the urban functions for the first location information. [Effects of the Invention]

[0011] According to one aspect of the present invention, it is possible to provide a technology that enables recommendations that take into account value information regarding the location of urban functions. [Brief explanation of the drawing]

[0012] [Figure 1] This is a system configuration diagram of the recommendation generation system in the example. [Figure 2] This is a hardware configuration diagram for realizing the recommendation generation system of the embodiment. [Figure 3] It is a diagram showing an example of a table of value information. [Figure 4] It is a diagram showing an example of a table of implemented urban functions. [Figure 5] It is a diagram showing an example of a table of spatial structure. [Figure 6A] It is a diagram showing an example of a table of graph structure (node table). [Figure 6B] It is a diagram showing an example of a table of graph structure (edge table). [Figure 7] It is a diagram showing an example of a table of distributed representation. [Figure 8] It is a diagram showing an example of a table of recommendation results. [Figure 9] It is a diagram showing an example of a screen for performing initial settings for graph construction. [Figure 10] It is a diagram showing an example of a screen for setting recommendation target locations. [Figure 11] It is a diagram showing an example of a screen for displaying recommendation results. [Figure 12] It is a flowchart showing the operation for generating recommendations in Example 1. [Figure 13] It is a diagram showing an example of a screen for performing initial settings for graph construction in Field Example 2. [Figure 14] It is a flowchart showing the operation for generating recommendations in Example 2. [Figure 15] It is a diagram showing an example of a screen for performing initial settings for graph construction in Example 3. [Figure 16] [[ID=​​​​​​​​

[0014] In other words, the following description and drawings are illustrative examples for explaining the present invention, and have been omitted and simplified as appropriate for clarity of explanation. The present invention can also be implemented in various other forms. Unless otherwise specified, each component may be singular or plural.

[0015] The positions, sizes, shapes, and ranges of the components shown in the drawings may not represent their actual positions, sizes, shapes, and ranges in order to facilitate understanding of the invention. Therefore, the present invention is not necessarily limited to the positions, sizes, shapes, and ranges disclosed in the drawings.

[0016] In the following explanation, various types of information may be described using terms such as "database," "table," and "list," but these types of information may also be represented using data structures other than these. To indicate independence from data structures, "XX table," "XX list," etc., may be referred to as "XX information." When describing identification information, if terms such as "identification information," "identifier," "name," "ID," and "number" are used, these terms are interchangeable.

[0017] When there are multiple components with the same or similar function, they may be described using the same symbol but with different subscripts. However, if it is not necessary to distinguish between these multiple components, the subscripts may be omitted in the description.

[0018] Furthermore, while the following explanation may describe the processes performed by executing a program, the processor (e.g., CPU (Central Processing Unit), GPU (Graphics Processing Unit)) executes the defined processes, using memory resources (e.g., memory) and / or interface devices (e.g., communication ports) as appropriate; therefore, the processor may be the primary driver of the processing. Similarly, the primary driver of the processing performed by executing a program may be a controller, device, system, computer, or node having a processor. The primary driver of the processing performed by executing a program may be an arithmetic unit or arithmetic device, and may include dedicated circuits that perform specific processing (e.g., FPGA (Field-Programmable Gate Array) or ASIC (Application Specific Integrated Circuit)).

[0019] A program may be installed from its program source into a device such as a computer. The program source may be, for example, a program distribution server or a computer-readable storage medium. If the program source is a program distribution server, the program distribution server includes a processor and storage resources for storing the program to be distributed, and the processor of the program distribution server may distribute the program to other computers. Furthermore, in the following description, two or more programs may be implemented as a single program, or one program may be implemented as two or more programs. [Examples]

[0020] This embodiment describes an example of a recommendation generation method in the recommendation generation system A1100, which simultaneously evaluates the affinity with surrounding urban functions and the relationship with value indicators for a given location, and recommends urban functions.

[0021] The recommendation generation system of this embodiment will be described with reference to Figure 1. The recommendation generation system A1100 includes a value information database A1111, an implemented urban function database A1112, a spatial structure database A1113, a graph structure database A1114, a distributed representation database A1115, a recommendation result database A1116, an automatic data update unit A1121, a graph construction unit A1122, a graph learning unit A1123, a recommendation result generation unit A1124, and a user interface A1125.

[0022] Here, the value information DBA1111 is a database for storing value information characteristic of each area, which can be obtained from various statistical values ​​and surveys conducted on residents, and linking it with the aggregated area. To enable linking with other databases within the recommendation generation system A1100, an area ID that uniquely identifies the area name is assigned to all records.

[0023] The implemented urban functions DBA1112 is a database published by mapmakers and public institutions that publish map information, which holds coordinates and urban functions implemented at those coordinate points. To enable linking with other databases within the recommendation generation system A1100, each record is assigned a unique location ID that identifies the coordinate point.

[0024] The spatial structure DBA1113 is information used within the recommendation generation system A1100 to link area IDs included in value information DBA1111 and location IDs included in implemented urban function DBA1112, based on the hierarchy of urban space, and also holds the area name corresponding to the area ID.

[0025] The graph structure DBA1114 is information used to record the structure of a single graph containing various information items necessary for generating recommendation results, such as location, area, urban function, and value information, and consists of a node table and an edge table.

[0026] The distributed representation DBA1115 is information used to record the characteristics of each graph node, obtained by inputting a graph into a machine learning method. It holds the node ID and a distributed representation that expresses the characteristics of the graph node as a high-dimensional real vector.

[0027] The recommendation result DBA1116 is information used to record the results of evaluating the relationships between locations, urban functions, and value information from the node distributed representation using path length. In addition to urban functions and their path lengths, it also stores various information used to calculate the path length.

[0028] The automatic data update unit A1121 is a function for updating the information used in this system. It collects data via the network A1300, such as the local network or the internet, and registers the information in the value information DBA1111, the implemented urban function DBA1112, and the spatial structure DBA1113.

[0029] The graph construction unit A1122 is a function that enables the quantification of relationships using machine learning methods by constructing a single graph that represents the connection relationships of locations, areas, urban functions, and value information necessary for recommendation generation. It performs graph construction processing using value information DBA1111, implemented urban function DBA1112, and spatial structure DBA1113, and outputs the results to graph structure DBA1114. Initial settings for graph construction are performed by the system user using a screen as shown in Figure 9, Figure 13, or Figure 15.

[0030] The graph learning unit A1123 is a function that obtains distributed representations for all nodes from the graph constructed by the graph construction unit A1122. It takes the graph structure DBA1114 as input, applies machine learning methods to learn the distributed representations, and outputs the results to the distributed representation DBA1115.

[0031] The recommendation result generation unit A1124 takes the distributed representation DB1115 as input and is a function for evaluating the relationship between a location, urban functions, and value information using path length in a vector space. It outputs the evaluation result of urban functions for a location, taking into account its affinity with surrounding urban functions and its relationship with value information, to the recommendation result DBA1116.

[0032] When the user interface A1125 receives information from the user terminal A1200, it transmits that data to the graph construction unit A1122, the graph learning unit A1123, and the recommendation result generation unit A1124 of the recommendation generation system A1100.

[0033] The user terminal A1200 is a terminal used by the user to configure settings for the recommendation generation system A1100, and includes, for example, a PC or mobile phone. The user connects to the recommendation generation system A1100 using this terminal.

[0034] Referring to Figure 2, the hardware configuration for realizing the embodiment will be described. The hardware configuration shown in Figure 2 is the H2000 hardware configuration for implementing the recommendation generation system A1100 and the user terminal A1200.

[0035] The hardware consists of a central processing unit H2002, main memory H2003, internal bus H2004, bus interface H2005, external bus H2006, screen output interface H2007, user input interface H2008, mass storage H2009, communication interface H2010, and input / output interface H2011.

[0036] The central processing unit H2002 is a device for performing calculations such as program execution, and is used, for example, to realize the operation of the graph construction unit A1122, the graph learning unit A1123, and the recommendation result generation unit A1124 of the recommendation generation system A1100 shown in Figure 1.

[0037] The main memory H2003 is used as a processing area during program execution and as a temporary data storage area. For example, it temporarily stores basic programs such as the OS (Operating System), as well as programs and temporary information for each device, such as the recommendation generation system A1100 and the user terminal A1200, which are necessary for processing on each device.

[0038] The central processing unit H2002 and the main memory H2003 are connected by an internal bus H2004, which in turn is connected to an external bus H2006 via a bus interface H2005.

[0039] The external bus H2006 is connected to the screen output device I / F H2007, user input device I / F H2008, mass storage device I / F H2009, communication device I / F H2010, and input / output device I / F H2011. Data input and output between these I / Fs and the central processing unit H2002 and main memory H2003 is mediated using the bus I / F H2005 and internal bus H2004.

[0040] The screen output device interface H2007 is an interface for connecting to the display H2100, and outputs information obtained via the external bus H2006 to the display H2100. The display H2100 is a device that can display, for example, the settings screen shown in Figure 9, and can also display information for operating the basic program.

[0041] The User Input Device I / F H2008 is an interface for connecting to the User Input Device H2200 and outputs information input from the User Input Device to the external bus H2006. The User Input Device is a device that receives input from the user, such as a keyboard or mouse, and the information input from the User Input Device is output to the User Input Device I / F H2008.

[0042] The Mass Storage Device I / F H2009 is an interface for connecting to the Mass Storage Device H2300, and mediates data input / output from the Mass Storage Device to the external bus H2006. The Mass Storage Device is a device such as an HDD (Hard Disk Drive), and stores basic programs for realizing the functions of the Recommendation Generation System A1100, temporary storage information of processing results when programs are executed, programs for realizing processing on each device such as the Recommendation Generation System A1100 and the user terminal A1200, and information such as value information DBA1111, implemented city functions DBA1112, spatial structure DBA1113, graph structure DBA1114, distributed representation DBA1115, and recommendation results DBA1116 in the Recommendation Generation System A1100 when the device is powered off or programs are not being executed. Furthermore, when various processes are executed, the Central Processing Unit H2002 reads these programs and data into the main memory H2003 and executes the programs. The high-capacity storage device may be a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, SD card, or DVD.

[0043] Communication device I / F H2010 is an interface for connecting to communication device H2400, and mediates data input / output from the communication device to the external bus H2006. The communication device is a device for connecting to external server devices, for example via Ethernet®, and can communicate with systems connected via network A1300 between recommendation generation systems A1100.

[0044] The I / F H2011 is an interface for connecting to the I / F H2500, mediating data input and output from the I / F to the external bus H2006. The I / F includes devices such as drive devices capable of reading and writing to external media and finger vein readers for user authentication.

[0045] Figure 3 shows an example of a table for value information DBA1111. It includes the value information name T10, the area name T11 associated with the value information, a score T12 indicating the relative evaluation value of the value information for the area name, an area ID T13 to uniquely identify the area name, and the prefecture T14 to which the area belongs. By setting such values, it is possible to associate area names with value information, for example, "Area name: XX town" corresponds to the value indicator "Value information: Child-rearing-friendliness". In Figure 3, for example, "XX town" identified by area ID "1" belonging to the prefecture "Kanagawa prefecture" has a score value of "10" for "Child-rearing-friendliness". The value of this score is set to a value that expresses the child-rearing-friendliness as a percentage obtained from a survey, for example.

[0046] Figure 4 shows an example of a table for the implemented urban functions DBA1112. It includes a location ID T20 to uniquely identify a location, coordinates T21 to specify the location of the above location, the implemented urban function T22 of the above location, and the prefecture T23 to which the location belongs. By setting such values, it is possible to associate a location with an implemented urban function, for example, "Location ID: 1" with "Implemented urban function: Convenience store". For example, in Figure 4, the coordinates of the location identified by location ID "1" belonging to the prefecture "Kanagawa Prefecture" are "(36.30, 140.46)", indicating that there is a "convenience store" there.

[0047] Figure 5 shows an example of a table for the spatial structure DBA1113. It includes location ID T31 defined in Figure 4, area ID T32 defined in Figure 3, and area name T33. By setting such values, it is possible to search for location IDs belonging to an area ID. In Figure 5, for example, it shows that in the prefecture "Kanagawa Prefecture", the location identified by location ID "1" and the location identified by location ID "2" belong to "XX Town" identified by area ID "1".

[0048] Figures 6A and 6B show examples of tables in the graph structure DBA1114. The graph structure DBA1114 manages the nodes and edges, which are components of the graph, using a node table and an edge table, respectively.

[0049] The node table shown in Figure 6A is used to record a list of nodes that make up the graph, and includes node ID T41, node name T42, and node attribute T43. The node ID is used to uniquely identify a node, and multiple nodes will not be assigned the same node ID. The node name describes the information item that the node represents, and multiple nodes may be assigned the same node name. The node attribute describes the attribute of the information item that the node name represents, and can take one of the following values: "Value Information," "Urban Function," "Location," or "Area." In Figure 6A, for example, the node identified by node ID "1" with the node name "Livability" is shown to belong to the node attribute "Value Information."

[0050] The edge table shown in Figure 6B is used to record the connection relationships between nodes and includes edge ID T51 and edge constituent node T52. Furthermore, if information regarding the strength of the edge connection is available, this information can be represented by setting a numerical value for the edge weight T53 in the edge table. In Figure 6B, for example, the edge identified by edge ID "2" records the connection relationship between the node identified by node ID "3" and the node identified by node ID "4," and no edge weight is set.

[0051] Figure 7 shows an example of a table for distributed representation DBA1115. It includes node ID T61 as defined in Figure 6A, and distributed representation T62, which is information that represents the characteristics of the node ID as a high-dimensional real vector. In Figure 7, for example, it is shown that a node identified by node ID "1" is represented by the distributed representation (20.73, 28.56, 20.85, ...).

[0052] Figure 8 shows an example of a recommendation result table for DBA1116. It holds the urban function T71, which is a recommendation candidate, the route length T72, which is the evaluation result of the urban function, and the information T73 and T74 used to calculate the route length. In Figure 8, for example, the evaluation result of the urban function "Super" is shown as a route length of "89.87". Furthermore, it is shown that the parameters d(p,f) and d(f,v), which are used in the calculation formula for calculating a predetermined route length described later, are represented as "16.35" and "73.52", respectively.

[0053] Figure 9 shows the initial setup screen for configuring the graph construction unit A1122. The settings screen W10 includes screen W11 for selecting the target prefecture, screen W12 for selecting the value information to be introduced, and screen W13 for previewing the graph according to the selections made on screens W11 and W12. System users can use this screen to select one target prefecture and one or more value information items, and can also check a sample graph generated according to the settings on screens W11 and W12 on screen W13. The information displayed on screen W13 can be displayed by performing the processing S130 to S150 shown in Figure 12, which will be described later. In this example, when value information such as "ease of raising children," "ease of walking around," and "liveliness" is selected for an area belonging to the prefecture "Kanagawa Prefecture," the value information DBA1111 shown in Figure 3, the implemented urban function DBA1112 shown in Figure 4, and the spatial structure DBA1113 shown in Figure 5 are read, and a graph like the one described later is constructed, thereby creating a single graph that expresses the connection relationships of all "locations," "urban functions," and "value indicators." Furthermore, Figure 9 shows that the value information "Ease of raising children" and the area name "XX Shopping Street" have a high relationship between the nodes, and therefore a higher weight value of "30" has been assigned to them compared to other nodes.

[0054] Traditionally, it was possible to construct graphs that represented the relationship between, for example, "urban functions" and "value indicators," but location-specific information was missing, resulting in the same urban functions being recommended at many locations. However, in this embodiment, the map graph is interpreted as a graph that fixes "space" and "urban functions" and does not contain value information, and a graph is constructed that focuses on the dependency characteristics of value indicators and urban functions mediated by urban space. In other words, by considering that "urban functions" and "value information" are in a relationship that influences each other mediated by space, it is possible to separate "space" and "urban functions" and further realize a graph representation that links "value information" to "space."

[0055] Figure 10 shows the recommendation location setting screen for configuring the recommendation result generation unit A1124. The setting screen W20 includes screen W21 for selecting the target location for recommendation, screen W22 for setting the value indicators to be evaluated during recommendation and the importance of each value indicator, and screen W23 for visualizing the relationships between each information item according to the settings on screens W21 and W22. System users can use this screen to select one target location for recommendation and one or more value information items, and can also set the importance of the selected value indicators numerically. Furthermore, the interrelationships between locations, urban functions, and value indicators, which are visualized according to the settings on screens W11 and W12, can be confirmed on screen W23. The information displayed on screen W23 can be displayed by performing the processing S170 shown in Figure 12, which will be described later.

[0056] Figure 11 shows the results display screen for visualizing the output results of the recommendation result generation unit A1124. The settings screen W30 contains a screen W31 for displaying urban function recommendation results and a screen W32 for visualizing the relationship with surrounding urban functions. System users can use this screen to check urban function recommendation results for the location set in the settings screen W20, and also check the visualization results of the relationship with surrounding urban functions when urban functions are introduced to the target location. The information displayed on screen W32 can be displayed by performing the processing S180 shown in Figure 12, which will be described later.

[0057] Referring to Figure 12, the operation for recommending urban functions in Example 1 will be described.

[0058] Step S110 is an operation in which the system accepts input of target prefectures and introduction value information from the system user in order to determine the read range of the database. The graph construction unit A1122 reads the target prefecture information and target value information from screens W11 and W12 transmitted from the user terminal A1200 via the user I / FA1125.

[0059] Step S120 is the operation of searching for and reading records of the target prefecture from multiple databases in order to obtain the data necessary for recommendation generation from the database. The graph construction unit A1122 searches for and reads records in the value information DBA1111 where the value information name T10 matches the target value information and the prefecture T14 matches the target prefecture information. Next, it searches for records in the implementing city function DBA1112 where the prefecture T23 matches the target prefecture information and records in the spatial structure DBA1113 where the prefecture T34 matches the target prefecture information, and reads the corresponding records.

[0060] Step S130 is the operation in which the graph construction unit A1122 determines the nodes and edges that make up the graph in order to construct a graph that represents the interrelationships between locations, urban functions, and value information, and consists of multiple operations starting from step S131.

[0061] Step S131 is an operation to create nodes that make up the graph. Using the records read in step S120 from value information DBA1111, implemented urban function DBA1112, and spatial structure DBA1113, the information items that make up the node, the node name, and the node attributes are determined and registered in the node table of graph structure DBA1114.

[0062] Specifically, records read from the value function DBA1111 are converted into nodes with the value information name T10 set as the node name, and the value of "value information" is set as the node attribute. Records read from the value function DBA1111 are converted into nodes with the node name area IDT13, and the value of "area" is set as the node attribute. Records read from the implementation city function DBA1112 are converted into nodes with the node name location IDT20, and the value of "location" is set as the node attribute. Next, a list of values ​​set in implementation city function T22 is created from the records read from implementation city function DBA1112, and duplicate elements are removed from the list. Subsequently, the elements of the list are converted into nodes, and the value of "city function" is set as the node attribute. The node name and node attribute information created through the above operations is registered in graph structure DBA1114, a unique node IDT41 is assigned to all records in graph structure DBA1114, and step S131 is terminated.

[0063] Step S132 is the operation of setting an edge between nodes whose node attributes are "Value Information" and "Area". Referring to the value information DBA1111 read in step S120, for all records, the node pointed to by the value information name T10 and area IDT13 of the record is identified from the node table of graph structure DBA1114, and the operation of setting an edge between the two identified nodes is repeated. Next, the edge configuration nodes identified by the above operation are registered in the edge table of graph structure DBA1114, and step S132 is terminated.

[0064] Step S133 is the operation of setting weight information for the edges set in step S132. If information about the strength of the connection between the edges set in step S132 is available, that information is set as the edge weight. For example, if the value of the score T12 mentioned above is above a predetermined threshold, it can be determined that the relationship between the nodes is strong and weight information can be set. Edges for which information about the strength of the connection is not available may not have an edge weight set.

[0065] Step S134 is the operation of setting an edge between nodes whose node attributes are "area" and "location". Referring to the spatial structure DBA1113 read in step S120, for all records, the node pointed to by location IDT31 and area IDT13 of the record is identified from the node table of graph structure DBA1114, and the operation of setting an edge between the two identified nodes is repeated. Next, the edge configuration node identified by the above operation is registered in the edge table of graph structure DBA1114, and step S134 is terminated.

[0066] Step S135 is the operation of setting edges between nodes whose node attribute is "location". The record of the implemented city function DBA1112 read in step S120 is used as input, and the adjacency between nodes with the "location" attribute is determined from the coordinate T21 contained in the record, and edges are set between nodes that have an adjacency relationship. The process of setting edges from the above coordinates can be carried out using a general method such as a Nearest Neighbor Graph.

[0067] Step S136 is the operation of setting an edge between nodes whose node attributes are "location" and "urban function". Referring to the implemented urban function DBA1112 read in step S120, for all records, the node pointed to by location IDT20 and implemented urban function T22 of the record is identified from the node table of graph structure DBA1114, and the operation of setting an edge between the two identified nodes is repeated. Next, the edge configuration node identified by the above operation is registered in the edge table of graph structure DBA1114, and step S136 is terminated.

[0068] Steps S140 and S150 are operations performed by the graph learning unit A1123 to obtain distributed representations of nodes from the graph by applying a graph embedding technique, which is one of the machine learning methods. Methods for obtaining distributed representations from a graph structure can be used, for example, the method disclosed in Grover and Leskovec, “node2vec: Scalable Feature Learning for Networks”, Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining, 2016.

[0069] Graph embedding techniques generally enable the extraction of distributed representations from a graph by performing two processes in this order: sampling graph nodes according to certain rules, and calculating node distributed representations from the sampling results. In the embodiment of this disclosure, graph information is read from the graph structure DBA1114, graph nodes are sampled in step S140, and node distributed representations are calculated from the sampling results in step S141. Subsequently, the calculated node distributed representations are recorded in distributed representation A1115.

[0070] Step S160 is an operation in which the system accepts input of the recommended locations and the value information to be introduced, and the recommendation result generation unit A1124 reads the setting information of screens W21 and W22 transmitted from the user terminal A1200 via the user I / FA1125.

[0071] Step S170 is the operation in which the recommendation result generation unit A1124 calculates an evaluation value at the recommendation location for urban functions among the recommendation candidate urban functions that are not registered in the recommendation result DBA1116. In this disclosure, the distributed representation vector of nodes recorded in the distributed representation DBA1115 is taken as input, and the path length corresponding to the distance traveled when traversing multiple nodes in the vector space is calculated and used as the evaluation value of the urban function.

[0072] The formula for calculating the path length in this disclosure is, for example, the following formula (1).

[0073]

number

[0074] However, d(x,y) is a function that represents the length of the line segment connecting the distributed representation vector of node x and the distributed representation vector of node y in the vector space, p is any node whose node attribute is "location", f is any node whose node attribute is "urban function", and v is any node whose node attribute is "value information".

[0075] Equation (1) takes arbitrary nodes of location, urban function, and value information as input and calculates the path length L when moving from a node with the "location" attribute, via a node with the "urban function" attribute, to a node of "value information".

[0076] The first term of equation (1) represents the degree of affinity between the target location and urban functions, with smaller values ​​indicating higher affinity.

[0077] The second term of equation (1) represents the strength of the relationship between urban functions and value information, with smaller values ​​indicating a stronger relationship.

[0078] λ, included in the second term of equation (1), is an adjustment parameter, and its value can be the indicator importance on screen W22. The above adjustment parameter can adjust the weighting of the first term, which indicates the degree of affinity between the target location and urban functions, and the second term, which indicates the strength of the relationship between urban functions and value information.

[0079] By using equation (1), it is possible to calculate an evaluation value for any urban function among the recommendation candidates, while simultaneously considering its affinity with the function of the recommended location and its relationship with the value index.

[0080] Equation (1) considers only one evaluation indicator, but it is also possible to consider multiple value indicators. In that case, equation (1) can be replaced with equation (2).

[0081]

number

[0082] However, n is the number of value indicators to consider, v i is the distributed representation vector of the i-th value information node (where i is a natural number less than or equal to n).

[0083] The second term of equation (2) represents the sum of the strengths of the relationships between urban functions and all value information considered. λ i This parameter is an adjustment parameter for the i-th value information, and its value can be used to adjust the weighting of importance between each piece of value information.

[0084] The urban functions, the calculated route length, and the values ​​of d(p,f) and d(f,v) are recorded in the recommendation result DBA1116, and step S170 is terminated.

[0085] Step S171 is the operation in which the recommendation result generation unit A1124 determines whether the calculation of the route length shown in step S170 has been completed for all city functions that are candidates for recommendation. If the route length for all city functions is recorded in the recommendation result DBA1116 (step S171; Yes), the process proceeds to step S180; otherwise (step S171; No), it returns to step S170.

[0086] Step S180 is the operation in which the recommendation result generation unit A1124 takes the recommendation result DBA1116 as input, sorts urban functions in order of shortest route length, and transmits the results to the user terminal A1200 via the user I / FA1125. The user terminal A1200 presents the recommendation results to the system user using screen W31 within the result display screen W30. For example, for point 1 selected on screen W21 in Figure 10, the above-mentioned route length L is presented as the overall match degree, the above-mentioned d(p,f) as the current match, and the above-mentioned d(f,v) as the value match.

[0087] At this time, the recommendation result generation unit A1124 can also calculate the relationships between nodes of the "urban function" attribute recorded in the distributed representation DBA1115 using the distance between nodes, and visualize this on a map in screen W32 within the result display screen W30.

[0088] To facilitate the use of the system, in step S110, a preview of the graph that is immediately constructed according to the selections made on screens W11 and W12 can also be displayed on screen W13.

[0089] Furthermore, in step S160, depending on the selections made on screen W12, steps S170 and S171 can be executed immediately to display a visualization of distributed representation vectors and path lengths between locations, urban functions, and value information on screen W23. In this case, to visualize higher-order distributed representation vectors on the screen, a dimensionality reduction algorithm such as t-SNE (t-Distributed Stochastic Neighbor Embedding), disclosed in Van der Maaten and Hinton, “Visualizing data using t-SNE”, Journal of machine learning research, 2008, can be used. [Examples]

[0090] In Example 1, graph construction was performed based on database information. However, it is also possible that system users possess knowledge that is not included in the database but can be used to construct graphs.

[0091] This embodiment describes an example of a recommendation generation system that can reflect the knowledge held by the system user as a foresight knowledge edge and can automatically determine the weight information of the foresight knowledge edge.

[0092] Regarding the recommendation generation system A1100 shown in Figure 1, the parts that have the same function as those already described in Figure 1 and are denoted by the same reference numerals will not be explained.

[0093] Figure 13 shows the initial setup screen for configuring the graph construction unit A1122, which was done in Figure 9 in Example 1, in Example 2. In addition to the screens in the setting screen W10 described in Figure 9, the setting screen W40 includes a screen W43 for accepting the addition of foresight knowledge edges from the system user.

[0094] Screen W43 includes a settings area W431, a checkbox W432, an input area W433, and a button W434.

[0095] The configuration area W431 is an area that accepts the selection of combinations of nodes to configure the foresight edge, allowing for the addition of foresight as an edge in the graph.

[0096] Checkbox W432 is used to determine whether the recommendation generation system A1100 automatically sets the weight information for the edges set in setting area W431. If the system user wishes to set the edge weight information themselves using checkbox W432, they can input the edge weight information using input area W433.

[0097] After setting various information on screen W43, pressing button W434 sends the setting information to graph construction unit A1122. Graph construction unit A1122 registers the various information set on screen W43 in the edge table of graph structure DBA1114. System users can view a sample graph, including edge 1301 which is added according to the settings information on screen W43, on screen W44.

[0098] Referring to Figure 14, the operation for recommending urban functions in Example 2 will be described.

[0099] In Example 2, the same operations as in Example 1 are performed, except for steps S237, S2371, S2372, and S2373 described below.

[0100] Step S237 is an operation in which the graph construction unit A1122 determines whether the system user's foresight has been added. If the system has received input of foresight from the user on screen W43 (Step S237; Yes), it proceeds to step S2371; otherwise (Step S237; No), it terminates the series of processes included in step S230.

[0101] Step S2371 is an operation in which the graph construction unit A1122 reflects the foresight of the system user, which is not included in the DB, into the graph. Based on the foresight information regarding the relationships between specific nodes received from the system user via screen W43, the unit identifies the node in question from the graph structure DBA1114 and sets an edge between the node. Next, the edge and its constituent nodes are registered in the edge table of the graph structure DBA1114, and step S238 is completed.

[0102] Step S2372 is an operation in which the graph construction unit A1122 determines whether the system user wishes to automatically set the weight information of the edges added in step S2371. If the user wishes to automatically set the weight information in the checkbox W432 on screen W43 (step S2372; Yes), the system proceeds to step S2373. Otherwise (step S2372; No), the series of processes included in step S230 is terminated.

[0103] Step S2373 is the operation in which the graph construction unit A1122 automatically sets the weight information of the edges added in step S2371. In the automatic setting of edge weight information, first, the mutual reachability probability between all nodes is calculated from the graph constructed up to step S236. The mutual reachability probability between nodes can be solved by considering a Markov process in which the nodes of the graph are states and the edge weights are transition probabilities, and applying a general method for deriving the stationary state of a Markov process.

[0104] Next, the attributes of the two nodes that make up the edge added in step S2371 are obtained (for example, "urban function" and "value information"), and all combinations of nodes with those attributes are enumerated (for example, a combination of a node with the "urban function" attribute and a node with the "value information" attribute). Furthermore, from the node combinations enumerated by the above operation, the node combination with the highest probability of reaching each other is identified by referring to the mutual reachability between the nodes that was solved. The weight information of the foresight edge is set so that the mutual reachability between the nodes in the identified node combination is equal to the mutual reachability between the nodes that make up the foresight edge.

[0105] The operation in step S2373 ensures, through mutual reachability probabilities, that the inter-node relationship in which foresight exists is the most important compared to other comparable inter-node relationships. [Examples]

[0106] In Example 1, the graph sampling was performed on the entire graph. However, since the graph constructed in Example 1 is expected to have nodes with the "Area" and "Urban Function" attributes connected to a large number of nodes with the "Location" attribute, it is conceivable that extracting the relationships between nodes with the "Location" attribute will be difficult during sampling.

[0107] In this embodiment, we describe an example of a recommendation generation system that can perform priority sampling of nodes with a specific attribute (e.g., the "location" attribute) when there is concern that the relationships between nodes of the same attribute may not be sufficiently estimated by machine learning methods due to tight coupling with many nodes of other attributes.

[0108] Regarding the recommendation generation system A1100 shown in Figure 1, the parts that have the same function as those already described in Figure 1 and are denoted by the same reference numerals will not be explained.

[0109] Figure 15 shows the initial setup screen for configuring the graph construction unit A1122, which was done in Figure 9 in Example 1, in Example 3. In addition to the screens described in Figure 9, the settings screen W50 includes a screen W53 for receiving requests for emphasis sampling of nodes with specific attributes of the system user. Screen W53 is provided with a checkbox W531, a selection area W532, and an input area W533.

[0110] Checkbox W531 is a checkbox that allows system users to set whether or not to perform priority sampling. If a system user wishes to perform priority sampling using checkbox W531, they can input priority sampling settings using selection area W532 and input area W533.

[0111] System users can view a sample graph on screen W54 in which the areas where priority sampling will be performed are highlighted according to the settings information on screen W53.

[0112] Referring to Figure 16, the operation for recommending urban functions in Example 3 will be described.

[0113] In Example 3, the same operations as in Example 1 are performed, except for steps S350, S351, and S360 described below.

[0114] Step S350 is the operation in which the graph learning unit A1123 determines whether the user has requested that sampling be concentrated between nodes of a specific attribute. If the user has made a setting using the checkbox W531 on screen W53 (Step S350; Yes), the process proceeds to step S351; otherwise (Step S350; No), the process proceeds to step S360.

[0115] Step S351 is the operation in which the graph learning unit A1123 constructs a subgraph consisting only of nodes with specific attributes and performs sampling from the subgraph. At this time, the number of samples to be taken from the subgraph can be determined from the ratio specified by the system user in the input area W533.

[0116] Step S360 is the operation in which the graph learning unit A1123 calculates the node distributed representation from the sampling results. In Example 1, the node distributed representation was calculated using only the sampling results for the entire graph, but in this example, both the sampling results for the entire graph (step S340) and the sampling results for a subgraph consisting only of nodes with specific attributes (step S351) are used as training data to calculate the node distributed representation.

[0117] As described above for each embodiment, in Embodiment 1, as explained with reference to Figure 12, etc., in a recommendation generation system A1100 that presents urban functions for a location using a computer having a processor and memory, the processor uses a first table (value information DBA1111) that associates first location information (points) with value information, and a second table (implemented urban functions DBA1112) that associates second location information (areas) containing at least one of a plurality of first location information with urban functions to set up graph nodes that point to the first location information and the second location information, as shown in Figures 6A and 6B. As shown, the process involves: a graph construction process that constructs a single graph in which the above urban functions are represented as nodes connecting to the first location information and the above value information as nodes connecting to the second location information; a graph learning process that represents the interrelationships between nodes in a vector space using a machine learning method based on the above graph; and a recommendation result generation process that evaluates the path length from the node-distributed representation vectors of the first location information, the above urban functions, and the above value information based on the specification of the first location information (point 1), evaluates the path length between nodes from the above vector space, and generates recommendations for the above urban functions for the above first location information. This makes it possible to generate recommendations for urban functions for a point by automatically estimating the range and degree of surrounding urban functions that may have affinity with the recommended point, and by explicitly adjusting the weighting of both affinity with surrounding urban functions and relationship with value information.

[0118] Furthermore, in Example 2, as explained using Figure 14, etc., the processor adds a foresight knowledge edge (edge ​​1301) between the nodes of the graph based on the user's specified foresight knowledge during the graph construction process, and sets the weight information of the added foresight knowledge edge by comparing the reach probabilities between the graph nodes. This makes it possible to reflect expert knowledge, which cannot be obtained from data, in the graph.

[0119] Furthermore, in Example 3, as explained using Figure 16, the processor extracts nodes with specific attributes (locations) from the graph as subgraphs during the graph learning process, and generates learning data from the extracted subgraphs, thereby generating learning data from both the graph and the subgraphs. This makes it easy to extract the relationships between location nodes even when area nodes and function nodes are connected to a large number of location nodes.

[0120] The present invention is not limited to the embodiments described above, and in the implementation stage, the components can be modified and implemented without departing from the gist of the invention, or the multiple components disclosed in the embodiments can be appropriately combined. [Explanation of symbols]

[0121] A1100…Recommendation generation system, A1200…User terminal, A1300…Network, A1111…Value information DB, A1112…Implemented city function DB, A1113…Spatial structure DB, A1114…Graph structure DB, A1115…Distributed representation DB, A1116…Recommendation result DB, A1121…Automatic data update unit, A1122…Graph construction unit, A1123…Graph learning unit, A1124…Recommendation result generation unit, A1125…User I / F

Claims

1. A recommendation generation system that uses a computer having a processor and memory to present urban functions for a given location, The aforementioned processor executes the program, A graph construction process that uses a first table that associates areas, value information, and the prefecture to which the area belongs, and a second table that associates points included in at least one of multiple areas, urban functions, and the prefecture, to set up graph nodes that point to the areas and points, and constructs a single graph in which the urban functions are represented as nodes that connect to the points and the value information as nodes that connect to the areas. Based on the aforementioned graph, a graph learning process is performed to represent the interrelationships between nodes in a vector space using a machine learning method, Based on the designation of the aforementioned locations, the path length is evaluated from the node-distributed representation vector of the aforementioned locations, urban functions, and value information, thereby evaluating the path length between nodes from the vector space, and a recommendation result generation process is performed to generate recommendations for urban functions for the aforementioned locations. A recommendation generation system characterized by performing the following.

2. In the graph construction process, the processor adds foresight knowledge edges between the nodes of the graph based on the user's specified addition of foresight knowledge, and sets the weight information of the added foresight knowledge edges by comparing the reach probabilities between the graph nodes. The recommendation generation system according to claim 1, characterized in that

3. The processor, in the graph learning process, extracts nodes having specific attributes from the graph as subgraphs, and generates learning data from the extracted subgraphs, thereby generating learning data from both the graph and the subgraphs. The recommendation generation system according to claim 1, characterized in that

4. A recommendation generation method that uses a computer having a processor and memory to present urban functions for a given location, Using a first table that associates areas, value information, and the prefectures to which the areas belong, and a second table that associates locations included in at least one of multiple areas, urban functions, and the prefectures, a single graph is constructed in which nodes representing the areas and locations are set up, and the urban functions are represented as nodes connecting to the locations, and the value information as nodes connecting to the areas. Based on the aforementioned graph, the interrelationships between nodes are represented in a vector space using a machine learning method. Based on the designation of the aforementioned locations, the path length is evaluated from the node-distributed representation vector of the aforementioned locations, the aforementioned urban functions, and the aforementioned value information, thereby evaluating the path length between nodes from the vector space, and a recommendation of the aforementioned urban functions is generated for the aforementioned locations. A recommendation generation method characterized by the following.

5. In constructing the aforementioned graph, based on the user's specified addition of foresightful knowledge, foresightful knowledge edges are added between the nodes of the graph, and the weight information of these added foresightful knowledge edges is set by comparing the reach probabilities between the graph nodes. The recommendation generation method according to claim 4, characterized in that

6. In the learning process of the graph, nodes with specific attributes are extracted from the graph as subgraphs, and training data is generated from the extracted subgraphs, thereby generating training data from both the graph and the subgraphs. The recommendation generation method according to claim 4, characterized in that

7. A computer having a processor and memory, A graph construction process that uses a first table that associates areas, value information, and the prefecture to which the area belongs, and a second table that associates points included in at least one of multiple areas, urban functions, and the prefecture, to set up graph nodes that point to the areas and points, and constructs a single graph in which the urban functions are represented as nodes that connect to the points and the value information as nodes that connect to the areas. Based on the aforementioned graph, a graph learning process is performed to represent the interrelationships between nodes in a vector space using a machine learning method, Based on the designation of the aforementioned locations, the path length is evaluated from the node-distributed representation vector of the aforementioned locations, urban functions, and value information, thereby evaluating the path length between nodes from the vector space, and a recommendation result generation process is performed to generate recommendations for urban functions for the aforementioned locations. A recommendation generation program characterized by executing [the specified action].

Citation Information

Patent Citations

  • Machine learning model design support device, machine learning model design support method, program for machine learning model design support device

    JP2015167041A

  • Data structure of guide data, information processor, guide system, guide data creation method, and computer program

    JP2016011891A

  • Information processing device, and program

    JP2021135722A

  • Structuring Incoherent Nodes by Overlaying them on a Basic Knowledge Graph

    JP2021504818A

  • Urban asset management system and urban asset management method

    JP2022023495A