Business distribution method and device, equipment, medium and program product
By constructing heterogeneous graphs and performing multi-layer feature aggregation processing, the problem of insufficient implicit correlation identification in personnel job scheduling was solved, thereby improving the accuracy and flexibility of business allocation.
Patent Information
- Application Number
- CN202511125612.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-12
- Publication Date
- 2025-11-21
AI Technical Summary
In existing technologies, enterprises lack the ability to capture the implicit correlation between personnel and business when scheduling personnel for different positions, resulting in insufficient accuracy in business allocation and matching.
By constructing a heterogeneous graph and performing multi-layer feature aggregation, the initial allocation result is generated by utilizing the association between object nodes and business nodes, and then updated based on the first and second matching degrees to improve matching accuracy.
It improves the accuracy and flexibility of business allocation in complex scenarios, ensures that the implicit relationship between objects and business to be allocated is effectively captured, and enhances the accuracy and rationality of matching.
Smart Images

Figure CN120996478A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of artificial intelligence, in particular to the fields of deep learning and financial technology, and more particularly to a business allocation method, device, equipment, medium and program product. BACKGROUND
[0002] With the rapid development of digital business, enterprises face complex scenarios such as multi-project parallelism and dynamic changes in business demand, and personnel post scheduling of enterprises faces complex challenges. Enterprises need to allocate business personnel in a timely and accurate manner according to factors such as business demand and business cycle.
[0003] In related technologies, business allocation is usually a rough docking based on keyword matching of personnel portraits and business portraits. This approach lacks the ability to capture implicit associations between personnel and business, resulting in insufficient matching accuracy. SUMMARY
[0004] In view of the above problems, the present application provides a business method, device, equipment, medium and program product.
[0005] According to a first aspect of the present application, a business allocation method is provided, comprising: obtaining object attribute information of a plurality of objects and business attribute information of a to-be-allocated business; determining an initial allocation result of the to-be-allocated business based on a first matching degree of each of the plurality of objects, the first matching degree representing a matching relationship between the object attribute information of the object and the business attribute information; constructing a heterogeneous graph taking the objects as object nodes, the to-be-allocated business as a business node, the object attribute information and the business attribute information as intermediate nodes, and the association relationship between the intermediate nodes as edges; performing multi-layer feature aggregation processing on the object nodes and the business node respectively to obtain a first aggregated feature of each of the plurality of object nodes and a second aggregated feature of the business node; updating the initial allocation result based on a second matching degree of the first aggregated feature and the second aggregated feature to determine an allocation result of the to-be-allocated business.
[0006] According to an embodiment of the present application, multi-layer feature aggregation processing is performed on the object nodes and the business node respectively to obtain a first aggregated feature of each of the plurality of object nodes and a second aggregated feature of the business node, comprising: determining a plurality of layers of object association nodes having an association relationship with the object node and a plurality of layers of business association nodes having an association relationship with the business node from the intermediate nodes; performing feature aggregation processing on the object node and the plurality of layers of object association nodes to obtain the first aggregated feature; and performing feature aggregation processing on the business node and the plurality of layers of business association nodes to obtain the second aggregated feature.
[0007] According to an embodiment of the present application, the feature aggregation processing is performed on the object node and the object association nodes of the multiple layers to obtain the first aggregated feature, including: performing the aggregation processing on the features of the multiple object association nodes of the i-th layer to obtain the initial aggregated feature of the i-th layer, wherein the number of layers of the object association nodes is I, I≥i>1, I and i are integers; performing the aggregation processing on the initial aggregated feature of the i-th layer and the aggregated feature of the (i-1)-th layer to obtain the aggregated feature of the i-th layer; and obtaining the first aggregated feature of the object node based on the aggregated feature of the I-th layer.
[0008] According to an embodiment of the present application, the aggregation processing is performed on the features of the multiple object association nodes of the i-th layer to obtain the initial aggregated feature of the i-th layer, including: determining a target node of the (i-1)-th layer connected to the object association nodes of the i-th layer; and performing the aggregation processing on the features of the multiple object association nodes of the i-th layer based on the weight of the edge relationship between the object association nodes of the i-th layer and the target node to obtain the initial aggregated feature of the i-th layer.
[0009] According to an embodiment of the present application, the initial allocation result of the to-be-allocated service is determined based on the first matching degrees of the multiple objects, including: screening the multiple objects based on the service demand indicators in the service attribute information to determine candidate objects; determining the first matching degrees of the candidate objects based on the multiple indicator values in the object attribute information matched with the service demand indicators in the service attribute information; and determining the initial allocation result of the to-be-allocated service based on the first matching degrees of the multiple candidate objects.
[0010] According to an embodiment of the present application, the initial allocation result is updated based on the second matching degrees of the first aggregated feature and the second aggregated feature to determine the allocation result of the to-be-allocated service, including: in a case where it is determined that the initial allocation result meets the predetermined allocation condition of the to-be-allocated service, performing the weighted fusion processing on the first matching degrees and the second matching degrees of the multiple objects to obtain a comprehensive matching degree; updating the initial allocation result based on the comprehensive matching degree to determine the allocation result of the to-be-allocated service; in a case where it is determined that the initial allocation result does not meet the predetermined allocation condition of the to-be-allocated service, determining a supplementary allocation object of the to-be-allocated service based on the second matching degrees; and updating the initial allocation result based on the supplementary allocation object to determine the allocation result of the to-be-allocated service.
[0011] According to an embodiment of the present application, the above method further includes: in a case where the to-be-allocated service includes multiple to-be-allocated services, detecting the allocation results of the multiple to-be-allocated services; in a case where it is determined that a candidate object is allocated to at least two to-be-allocated services, updating the allocation results of the multiple to-be-allocated services based on the priorities of the to-be-allocated services to obtain updated allocation results.
[0012] The second aspect of the present application provides a service allocation apparatus, the apparatus comprising: an acquisition module configured to acquire object attribute information of a plurality of objects and service attribute information of a service to be allocated; a first determination module configured to determine an initial allocation result of the service to be allocated based on a first matching degree of the plurality of objects, the first matching degree representing a matching relationship between the object attribute information and the service attribute information; a construction module configured to construct a heterogeneous graph taking the plurality of objects as object nodes, the service to be allocated as a service node, the object attribute information and the service attribute as intermediate nodes, and an association relationship between the intermediate nodes as edges; an aggregation module configured to perform multi-layer feature aggregation processing on the object nodes and the service node respectively to obtain a first aggregated feature of each of the object nodes and a second aggregated feature of the service node; and a second determination module configured to update the initial allocation result based on a second matching degree of the first aggregated feature and the second aggregated feature to determine an allocation result of the service to be allocated.
[0013] The third aspect of the present application provides an electronic device, comprising: one or more processors; a memory configured to store one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the method.
[0014] The fourth aspect of the present application further provides a computer-readable storage medium having stored thereon a computer program or instructions, wherein the computer program or instructions, when executed by a processor, implement the steps of the method.
[0015] The fifth aspect of the present application further provides a computer program product comprising a computer program or instructions, wherein the computer program or instructions, when executed by a processor, implement the steps of the method.
[0016] According to the embodiments of the present application, by using the direct matching degree of the object attribute and the service attribute to generate the initial allocation result, the object that obviously matches the service to be allocated can be quickly matched. Then by performing multi-layer feature aggregation on the object nodes and the service node, the global features of the object nodes and the service node can be extracted, and the implicit association between the object attribute information and the service attribute information can be effectively captured. Then by using the second matching degree of the first aggregated feature and the second aggregated feature to update the initial allocation result, the accuracy of matching the object and the service to be allocated can be improved. BRIEF DESCRIPTION OF DRAWINGS
[0017] The above content of the present application and other purposes, features and advantages will be more apparent through the following description of the embodiments of the present application with reference to the accompanying drawings, in which:
[0018] Figure 1 An application scenario diagram of the service allocation method and apparatus according to the embodiments of the present application is schematically shown;
[0019] Figure 2 a flowchart of a service allocation method according to an embodiment of the present application is schematically shown;
[0020] Figure 3 a schematic diagram of a heterogeneous map according to an embodiment of the present application is schematically shown;
[0021] Figure 4 a flowchart of a service allocation method according to another embodiment of the present application is schematically shown;
[0022] Figure 5 a block diagram of a service allocation apparatus according to an embodiment of the present application is schematically shown; and
[0023] Figure 6 a block diagram of an electronic device suitable for implementing a service allocation method according to an embodiment of the present application is schematically shown. DETAILED DESCRIPTION
[0024] Hereinafter, embodiments of the present application will be described with reference to the accompanying drawings. It is to be understood, however, that the description is merely illustrative of the present application, and is not intended to limit the scope of the present application. In the following detailed description of the embodiments of the present application, numerous specific details are set forth in order to provide a thorough understanding of the present application. However, it will be apparent to one skilled in the art that one or more embodiments of the present application can be practiced without these specific details. In other instances, well-known structures and functions have not been described in detail in order to avoid obscuring aspects of the present application.
[0025] The terms used herein are merely used to describe specific embodiments, and are not intended to limit the present application. The terms "include" and "have" and the like used herein indicate the presence of the features, steps, operations and / or components, but do not exclude the presence or addition of one or more other features, steps, operations or components.
[0026] All terms used herein, including technical and scientific terms, have the same meanings as those generally understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having meanings consistent with the context of the present specification, and should not be interpreted in an idealized or overly formal manner.
[0027] In the case of using expressions similar to "at least one of A, B, and C, etc.", it is generally to be interpreted as including one or more of the same. For example, "a system having at least one of A, B, and C" should be interpreted as including a system having A alone, a system having B alone, a system having C alone, a system having A and B together, a system having A and C together, a system having B and C together, and / or a system having A, B, and C together, etc.
[0028] In the technical solutions of the present application, the user information (including but not limited to user personal information, user image information, user device information such as location information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved are all information and data authorized by the user or authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of related data comply with relevant laws, regulations and standards, necessary security measures are taken, do not violate public order and good customs, and provide corresponding operation portal for user to choose authorization or refusal.
[0029] In the scenario of making automated decisions with personal information, the method, device and system provided by the embodiments of the present application all provide corresponding operation portal for the user to choose to agree or refuse the automated decision result; if the user chooses to refuse, the expert decision process is entered. The expression "automated decision" here refers to the activity of automatically analyzing, evaluating the behavior habits, interests and hobbies or economic, health, credit status of individuals, etc. by computer programs, and making decisions. The expression "expert decision" here refers to the activity of making decisions by personnel who are engaged in a certain field of work, have special experience, knowledge and skills and reach a certain professional level.
[0030] Figure 1 The application scenario diagram of the business allocation method and device according to the embodiments of the present application is schematically shown.
[0031] As shown in Figure 1 The application scenario 100 according to the embodiments can include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104 and a server 105. The network 104 is used as a medium to provide communication links between the first terminal device 101, the second terminal device 102, the third terminal device 103 and the server 105. The network 104 can include various connection types, such as wired, wireless communication links or optical fiber cables, etc.
[0032] The user can use the first terminal device 101, the second terminal device 102, the third terminal device 103 to interact with the server 105 through the network 104 to receive or send messages, etc. Various communication client applications can be installed on the first terminal device 101, the second terminal device 102, the third terminal device 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only as examples).
[0033] The first terminal device 101, the second terminal device 102, the third terminal device 103 can be various electronic devices with display screens and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers and desktop computers, etc.
[0034] The server 105 can be a server providing various services, for example, a background management server providing support for a website browsed by a user using the first terminal device 101, the second terminal device 102, and the third terminal device 103 (only as an example). The background management server can perform analysis and the like on received user requests and the like, and feed back a processing result (for example, a webpage, information, or data, or the like, obtained or generated according to a user request) to a terminal device.
[0035] It should be noted that the service allocation method provided by the embodiments of the present application can generally be executed by the server 105. Correspondingly, the service allocation apparatus provided by the embodiments of the present application can generally be arranged in the server 105. The service allocation method provided by the embodiments of the present application can also be executed by a server or a server cluster different from the server 105 and capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and / or the server 105. Correspondingly, the service allocation apparatus provided by the embodiments of the present application can also be arranged in a server or a server cluster different from the server 105 and capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and / or the server 105.
[0036] It should be understood that the number of terminal devices, networks, and servers in the system 100 is only illustrative. According to the needs of implementation, there can be any number of terminal devices, networks, and servers. Figure 1
[0037] The service allocation method according to the embodiments of the present application will be described in detail below based on the scenario described above. Figure 1 Figures 2-6
[0038] Figure 2 An illustrative flowchart of the service allocation method according to the embodiments of the present application is shown.
[0039] As shown in FIG. 2, the service allocation method of this embodiment includes operations S210-S250. Figure 2 In operation S210, object attribute information of each of a plurality of objects and service attribute information of a service to be allocated are obtained.
[0040] In operation S220, an initial allocation result of the service to be allocated is determined based on a first matching degree of each of the plurality of objects, the first matching degree representing a matching relationship between the object attribute information of the object and the service attribute information.
[0041]
[0042] In operation S230, a heterogeneous graph is constructed with the object as an object node, the to-be-assigned business as a business node, the object attribute information and the business attribute information as intermediate nodes, and the association relationship between the intermediate nodes as edges.
[0043] In operation S240, multi-layer feature aggregation processing is performed on the object nodes and the business nodes respectively to obtain first aggregation features of the object nodes and second aggregation features of the business nodes.
[0044] In operation S250, the initial assignment result is updated based on the second matching degree of the first aggregation features and the second aggregation features to determine an assignment result of the to-be-assigned business.
[0045] For example, the object can be an employee of an enterprise, and the object attribute information can include basic attribute information of the object and additional attribute information of the object. The basic attribute information of the object can include basic information such as the employee's name, gender, age, department, and current position. The additional attribute information of the object can include information such as the object's skills, qualifications, work experience, projects participated in, historical evaluation, career interest, and development intention.
[0046] The business attribute information can include basic attribute information and additional attribute information of the business. The basic attribute information of the business can include information such as the name, type, and size of the business. The additional attribute information of the business can include information such as skill requirements, experience requirements, project requirements, resource requirements, time and schedule, budget and cost, priority, compliance, and constraint information.
[0047] In an embodiment of the present application, the user's consent or authorization can be obtained before the user's information is acquired. For example, a request for acquiring the user's information can be sent to the user before operation S210. In the case where the user agrees or authorizes the acquisition of the user's information, operation S210 is performed.
[0048] For example, the skills, qualifications, work experience, and projects participated in in the object attribute information can be used as a plurality of intermediate nodes representing the object attribute information, and the "has" and "participates in" relationships can be used as edges to connect the object node and the plurality of intermediate nodes representing the object attribute information. Similarly, the skill requirements, experience requirements, project requirements, and resource requirements in the business attribute information can be used as a plurality of intermediate nodes representing the business attribute information, and the "requirement" relationship can be used as an edge to connect the business node and the intermediate nodes representing the business attribute information. Meanwhile, according to the matching relationship between the business attribute information and the object attribute information, such as the equivalence relationship, the similarity relationship, the complementary relationship, and the inclusion relationship, the intermediate nodes representing the business attribute information and the intermediate nodes representing the object attribute information are connected to obtain a multi-layer heterogeneous graph.
[0049] Furthermore, the intermediate nodes representing business attribute information and object attribute information can be further expanded. For example, intermediate layers describing object attribute information can be added, such as skill A proficiency, years of work experience, project type, and department.
[0050] In the embodiments of this disclosure, a first matching degree is determined by the matching relationship between object attribute information and business attributes, and then the initial allocation result is determined by the first matching degree. This method, through explicit keyword matching, quickly matches objects that clearly match the business to be allocated. However, this method cannot identify the implicit association between the object and the business to be allocated. For example, although the business to be allocated requires skill Y and object A possesses skill X, skills Y and X are similar or substitutable; or object A may not have a direct skill S, but possesses a large number of highly related skills S1, S2, S3. In these cases, the implicit association between the object and the business to be allocated cannot be identified by the matching relationship between object attribute information and business attribute information, leading to reduced allocation accuracy or the omission of suitable potential objects.
[0051] According to embodiments of this application, by generating initial allocation results using the direct matching degree between object attributes and business attributes, objects that clearly conform to the business to be allocated can be quickly matched. Furthermore, by performing multi-level feature aggregation on object nodes and business nodes, global features of object nodes and business nodes can be extracted, effectively capturing the implicit association between object attribute information and business attribute information. Finally, the initial allocation results are updated using the second matching degree of the first and second aggregated features, thereby improving the accuracy of matching objects and the business to be allocated.
[0052] Figure 3 A schematic diagram of a heterogeneous spectrum according to an embodiment of this application is shown.
[0053] like Figure 3 As shown, object node 310 and multiple intermediate nodes 330 representing object association nodes in the second layer are connected by edges representing relationships such as "own" and "participate". Business node 320 and multiple intermediate nodes 330 representing business association nodes in the second layer are connected by edges representing relationships such as "demand". Multiple intermediate nodes 330 representing object association nodes in the second layer and multiple intermediate nodes representing business association nodes in the second layer are connected by edges representing relationships such as "equivalent", "similar", and "contains", thus forming a multi-layered heterogeneous graph. Furthermore, object association nodes representing the second layer and object association nodes representing the third layer can be connected by edges representing relationships such as "own", and business association nodes representing the second layer and business association nodes representing the third layer can also be connected by edges representing relationships such as "own" (for example only).
[0054] The implicit association between the object and the to-be-assigned business is captured through multi-layer feature aggregation processing of the object node features and the business node features of the heterogeneous graph, so as to improve the accuracy of business allocation.
[0055] Figure 4 A flowchart of a business allocation method according to another embodiment of the application is schematically shown.
[0056] As shown in Figure 4 , based on the matching relationship between the object attribute information 401 of the object and the business attribute information 402 of the to-be-assigned business, the first matching degree 404 of the object is determined, and the initial allocation result 405 of the to-be-assigned business is determined based on the respective first matching degrees 404 of the plurality of objects. The heterogeneous graph 403 is constructed with the object as the object node, the to-be-assigned business as the business node, the object attribute information and the business attribute information as the intermediate node, and the association relationship between the intermediate nodes as the edge. Multi-layer feature aggregation processing is performed on the object node and the business node of the heterogeneous graph 403 to obtain the first aggregated feature 406 and the second aggregated feature 407. Based on the second matching degree 408 of the first aggregated feature 406 and the second aggregated feature 407, the initial allocation result 405 is updated to obtain the allocation result 409.
[0057] According to an embodiment of the application, determining the initial allocation result of the to-be-assigned business based on the respective first matching degrees of the plurality of objects can include: filtering the plurality of objects based on the first business demand index in the business attribute information to determine the candidate objects; determining the first matching degree of the candidate object based on the plurality of index values in the object attribute information that match the second business demand index in the business attribute information; and determining the initial allocation result of the to-be-assigned business based on the respective first matching degrees of the plurality of candidate objects.
[0058] The first business demand index represents a necessary business index in the business attribute information. For example, the first business demand index can be the minimum skill threshold, object qualification, object availability, etc. The first business demand index is a hard index, and objects that do not meet the first business demand index are filtered to obtain candidate objects.
[0059] The second business demand index represents a selectivity index in the business attribute information, for example, the second business demand index can be that the skill proficiency is greater than primary, the work experience is 1 year, and the A-class project experience is possessed, etc.
[0060] Exemplarily, the plurality of index values can be score values that map the business attribute information and the second business demand index to the same dimension. For example, the skill proficiency can be mapped to 0-100 points.
[0061] Exemplarily, respective weight parameters can be assigned to the plurality of index values, and the plurality of index values are weighted and summed based on the weight parameters to obtain the first matching degrees of the plurality of candidate objects.
[0062] According to the embodiments of the present application, by preliminarily screening the objects based on the first service demand index, the objects that obviously do not meet the conditions are quickly eliminated, the candidate range is narrowed, and the subsequent calculation complexity is reduced; and then by extracting the index values directly related to the second service demand from the object attributes and calculating the first matching degrees, the rationality and effectiveness of the initial allocation result are ensured.
[0063] According to the embodiments of the present application, the multi-layer feature aggregation processing is respectively performed on the object nodes and the service nodes to obtain the first aggregation features of the plurality of object nodes and the second aggregation features of the service nodes can include: determining, from the intermediate nodes, a plurality of object association nodes having an association relationship with the object nodes and a plurality of service association nodes having an association relationship with the service nodes; performing feature aggregation processing on the object nodes and the plurality of object association nodes to obtain the first aggregation features; and performing feature aggregation processing on the service nodes and the plurality of service association nodes to obtain the second aggregation features.
[0064] Exemplarily, the plurality of object association nodes can include a first layer of intermediate nodes directly connected to the object nodes and a second layer of intermediate nodes, an i-th layer of intermediate nodes, and the like indirectly connected to the object nodes. Similarly, the plurality of service association nodes can include a first layer of intermediate nodes directly connected to the service nodes and a second layer of intermediate nodes, an i-th layer of intermediate nodes, and the like indirectly connected to the service nodes.
[0065] Exemplarily, the object nodes and the plurality of object association nodes can be encoded into feature vectors, and the obtained feature vectors are fused, spliced, or weighted fused, and the like to obtain the first aggregation features. Similarly, the service nodes and the plurality of service association nodes can be encoded into feature vectors, and the obtained feature vectors are fused, spliced, or weighted fused, and the like to obtain the second aggregation features.
[0066] Optionally, the aggregation operation in the graph neural network can be used to perform feature aggregation processing on the object nodes and the plurality of object association nodes to obtain the first aggregation features of the object nodes; and the aggregation operation in the graph neural network can be used to perform similar feature aggregation processing on the service nodes and the plurality of service association nodes to obtain the second aggregation features of the service nodes.
[0067] According to the embodiments of the present application, by constructing a heterogeneous graph and taking object attribute information and service attribute information as intermediate nodes, complex association relationships between objects and to-be-assigned services can be mined. Multi-layer feature aggregation processing can integrate feature information of different levels and different types, so that the feature representation of object nodes and service nodes is more rich and comprehensive.
[0068] According to the embodiments of the present application, the feature aggregation processing on the object node and the multi-layer object association node to obtain the first aggregated feature can include: performing aggregation processing on the respective features of the plurality of object association nodes of the i-th layer to obtain initial aggregated features of the i-th layer. The number of layers of the object association node is I, I≥i>1, I and i are integers. The initial aggregated features of the i-th layer and the aggregated features of the i-1-th layer are aggregated to obtain the aggregated features of the i-th layer. Based on the aggregated features of the I-th layer, the first aggregated features of the object node are obtained.
[0069] Exemplarily, the aggregation processing on the initial aggregated features of the i-th layer and the aggregated features of the i-1-th layer can be performed by directly splicing the features of the two layers to retain the feature information of the two layers. The present application is not limited to this. The aggregation processing on the initial aggregated features of the i-th layer and the aggregated features of the i-1-th layer can also be performed by learning the weight parameters of the two layers and performing aggregation processing in the form of weighted summation to balance the importance of the features of the two layers.
[0070] Optionally, the number of layers I of the object association node can be set to 2-3 layers, so as to capture the implicit association between the multi-layer features while avoiding excessive smoothing caused by too many layers.
[0071] Similarly, the second aggregated feature can also be obtained by fusing the features of the plurality of service association nodes of the same layer, combining the initial aggregated features of the current layer with the aggregated features of the previous layer, and taking the aggregated features of the topmost layer as the second aggregated features of the service node.
[0072] According to the embodiments of the present application, by fusing the features of the plurality of association nodes of the same layer and combining the initial aggregated features of the current layer with the aggregated features of the previous layer, high-level semantics can be gradually constructed, and the aggregated features of the I-th layer are taken as the global representation of the object node, so as to gradually construct features from local to global and avoid information overload.
[0073] According to the embodiments of the present application, the aggregation processing on the respective features of the plurality of object association nodes of the i-th layer to obtain the initial aggregated features of the i-th layer can include: determining a target node of the i-1-th layer that has an edge connection relationship with the object association node of the i-th layer; and based on the weight of the edge relationship between the object association node of the i-th layer and the target node, performing aggregation processing on the respective features of the plurality of object association nodes of the i-th layer to obtain the initial aggregated features of the i-th layer.
[0074] Exemplarily, the relationship type in which the object association node exists can be determined first, the object association nodes of the same relationship type are set with the same weight, the object association nodes of the same relationship type are aggregated with weights first, and then all the relationship type sets are aggregated, so as to obtain the initial aggregation feature of the current layer.
[0075] Exemplarily, the object association node can be encoded into a vector, the edge uses an independent weight matrix, and the aggregation formula of each layer is shown in formula (1):
[0076] (1)
[0077] wherein, The feature vector of node m at the i+1th layer. is an activation function. Indicates all the relationship type sets. is the set of all neighbor nodes connected with node m through relationship r. Indicates the representation of neighbor node n at the i th layer. The transformation weight matrix corresponding to relationship r is used for linear transformation of the information of the neighbor of this type.c m,r is a normalization constant, used to balance the influence of different neighbor numbers. Indicates the weight matrix of the self-connection term, is the feature vector of node m at the i th layer.
[0078] According to the embodiments of the present application, the i-1th target node connected with the i th object association node is determined, and the features of the i th multiple object association nodes are aggregated to obtain the initial aggregation feature according to the edge relationship weight between the two. By learning the weight distribution of different relationship types, the adaptive aggregation of heterogeneous relationships can be realized, and the accuracy of feature expression is enhanced.
[0079] According to the embodiments of the present application, the initial allocation result is updated based on the second matching degree of the first aggregation feature and the second aggregation feature, and the allocation result of the to-be-allocated service can include: in the case where it is determined that the initial allocation result meets the predetermined allocation condition of the service, the first matching degree and the second matching degree of each of the multiple objects are weighted and fused to obtain a comprehensive matching degree; the initial allocation result is updated based on the comprehensive matching degree to determine the allocation result of the to-be-allocated service. In the case where it is determined that the initial allocation result does not meet the predetermined allocation condition of the service, a supplementary allocation object of the to-be-allocated service is determined based on the second matching degree; the initial allocation result is updated based on the supplementary allocation object to determine the allocation result of the to-be-allocated service.
[0080] Exemplarily, the second matching degree can be determined by calculating the cosine similarity of the first aggregated feature and the second aggregated feature. The application is not limited thereto, and the second matching degree can also be obtained by inputting the spliced first aggregated feature and second aggregated feature into a full connection network.
[0081] The predetermined allocation condition can be a predetermined number of object allocations of the to-be-allocated service. When the number of object allocations determined based on the first matching degree is greater than or equal to the predetermined number of object allocations, the comprehensive matching degree determined based on the first matching degree and the second matching degree can be used to reorder the plurality of candidate objects, and the predetermined number of candidate objects with high ranking can be screened as the allocation result of the to-be-allocated service. In this way, the accuracy of object screening can be improved.
[0082] Exemplarily, the calculation formula of the comprehensive matching degree can be formula (2)
[0083] (2)
[0084] wherein, the comprehensive matching degree, the first matching degree, the second matching degree. The fusion weight α is usually 0.6-0.8.
[0085] When the number of object allocations determined based on the first matching degree is less than the predetermined number of object allocations, the candidate objects that potentially meet the to-be-allocated service can be screened based on the second matching degree, and the supplementary allocation objects are obtained. The initial allocation result is supplemented by using the supplementary allocation objects, and the allocation result of the to-be-allocated service is obtained. In this way, the comprehensiveness of object screening is improved.
[0086] According to the embodiments of the application, whether the initial allocation result meets the predetermined allocation condition of the service is determined, and the initial allocation result is updated by using the comprehensive matching degree and the second matching degree respectively. In this way, the flexibility of the to-be-allocated service is improved.
[0087] According to the embodiments of the application, after the initial allocation result is updated based on the second matching degree of the first aggregated feature and the second aggregated feature to determine the allocation result of the to-be-allocated service, the allocation result of the plurality of to-be-allocated services can be detected. When it is determined that the candidate object is allocated to at least two to-be-allocated services, the allocation result of the plurality of to-be-allocated services is updated based on the priority of the to-be-allocated service to obtain the updated allocation result.
[0088] When there are multiple services to be allocated, such as service 1, service 2, and service 3, it can be checked whether there is a case where the same candidate object is allocated to multiple services in the initial allocation result, such as "object A is allocated to service 1 and service 2 at the same time".
[0089] If a conflict is detected, the allocation result is updated according to the priority of the service to be allocated. The priority can be, for example, emergency service > regular service, high-value service > low-value service. The candidate object can be reserved for a service with higher priority, and the allocation of the low-priority service is cancelled; and other candidate objects are matched for the service that is cancelled.
[0090] According to an embodiment of the present application, by detecting conflicts in the allocation result, when a candidate object is matched to multiple services, the high-priority service is allocated first, and the rationality of service allocation is improved.
[0091] Figure 5 A structural block diagram of a service allocation apparatus according to an embodiment of the present application is schematically shown.
[0092] As shown in Figure 5 The service allocation apparatus 500 of this embodiment includes an acquisition module 510, a first determination module 520, a construction module 530, an aggregation module 540, and a second determination module 550.
[0093] The acquisition module 510 is configured to acquire object attribute information of each of a plurality of objects and service attribute information of a service to be allocated. In an embodiment, the acquisition module 510 can be configured to perform the operation S210 described above, and details are not repeated here.
[0094] The first determination module 520 is configured to determine an initial allocation result of the service to be allocated based on a first matching degree of each of the plurality of objects, the first matching degree representing a matching relationship between the object attribute information of the object and the service attribute information. In an embodiment, the first determination module 520 can be configured to perform the operation S220 described above, and details are not repeated here.
[0095] The construction module 530 is configured to construct a heterogeneous graph with the plurality of objects as object nodes, the service to be allocated as a service node, the object attribute information and the service attribute as intermediate nodes, and an association relationship between the intermediate nodes as edges. In an embodiment, the construction module 530 can be configured to perform the operation S230 described above, and details are not repeated here.
[0096] The aggregation module 540 is configured to perform multi-layer feature aggregation on the object nodes and the service nodes respectively to obtain first aggregation features of the object nodes and second aggregation features of the service nodes. In an embodiment, the aggregation module 540 can be configured to perform the operation S240 described above, and details are not described herein again.
[0097] The second determination module 550 is configured to update the initial allocation result based on the second matching degrees of the first aggregation features and the second aggregation features, and determine the allocation result of the service to be allocated. In an embodiment, the second determination module 550 can be configured to perform the operation S250 described above, and details are not described herein again.
[0098] According to an embodiment of the present application, the first determination module 520 includes a first determination sub-module, a second determination sub-module and a third determination sub-module.
[0099] The first determination sub-module is configured to filter the plurality of objects based on the service demand indicators in the service attribute information, and determine the candidate objects.
[0100] The second determination sub-module is configured to determine the first matching degrees of the candidate objects based on the matching indicator values in the object attribute information and the service demand indicators in the service attribute information.
[0101] The third determination sub-module is configured to determine the initial allocation result of the service to be allocated based on the first matching degrees of the plurality of candidate objects.
[0102] According to an embodiment of the present application, the aggregation module 540 includes a fourth determination sub-module, a first aggregation sub-module and a second aggregation sub-module.
[0103] The fourth determination sub-module is configured to determine the multi-layer object association nodes associated with the object nodes and the multi-layer service association nodes associated with the service nodes.
[0104] The first aggregation sub-module is configured to perform feature aggregation on the object nodes and the multi-layer object association nodes to obtain the first aggregation features.
[0105] The second aggregation sub-module is configured to perform feature aggregation on the service nodes and the multi-layer service association nodes to obtain the second aggregation features.
[0106] According to an embodiment of the present application, the first aggregation sub-module includes a first aggregation unit and a second aggregation unit.
[0107] The first aggregation unit is configured to perform aggregation on the features of the plurality of object association nodes in the i-th layer to obtain the initial aggregation features of the i-th layer, where the number of layers of the object association nodes is I, I≥i>1, and I and i are integers.
[0108] The second aggregation unit is configured to aggregate the initial aggregated feature of the i-th layer and the aggregated feature of the (i-1)-th layer to obtain the aggregated feature of the i-th layer.
[0109] The determining unit is configured to obtain the first aggregated feature of the object node based on the aggregated feature of the i-th layer.
[0110] According to an embodiment of the present application, the first aggregation unit comprises a first determining sub-unit and a first aggregation sub-unit.
[0111] The first determining sub-unit is configured to determine a target node of the (i-1)-th layer which has an edge connection relationship with the object association node of the i-th layer.
[0112] The first aggregation sub-unit is configured to aggregate the respective features of the plurality of object association nodes of the i-th layer based on the weights of the edge relationships between the object association nodes and the target node of the i-th layer to obtain the initial aggregated feature of the i-th layer.
[0113] According to an embodiment of the present application, the second determining module 550 comprises a fusion sub-module, a first updating sub-module, a supplement sub-module and a second updating sub-module.
[0114] The fusion sub-module is configured to, in a case where it is determined that the initial allocation result satisfies the predetermined allocation condition of the service, perform a weighted fusion processing on the respective first matching degrees and the respective second matching degrees of the plurality of objects to obtain a comprehensive matching degree.
[0115] The first updating sub-module is configured to update the initial allocation result based on the comprehensive matching degree to determine the allocation result of the to-be-allocated service.
[0116] The supplement sub-module is configured to, in a case where it is determined that the initial allocation result does not satisfy the predetermined allocation condition of the service, determine a supplementary allocation object of the to-be-allocated service based on the second matching degree.
[0117] The second updating sub-module is configured to update the initial allocation result based on the supplementary allocation object to determine the allocation result of the to-be-allocated service.
[0118] According to an embodiment of the present application, the service allocation apparatus 500 further comprises a detection module and an updating module.
[0119] The detection module is configured to, in a case where the to-be-allocated service comprises a plurality of to-be-allocated services, detect the allocation results of the plurality of to-be-allocated services.
[0120] The updating module is configured to, in a case where it is determined that there is a candidate object which is allocated to at least two to-be-allocated services, update the allocation results of the plurality of to-be-allocated services based on the priorities of the to-be-allocated services to obtain updated allocation results.
[0121] According to an embodiment of the present application, any of the modules of the obtaining module 510, the obtaining module 510, the first determining module 520, the constructing module 530, the aggregating module 540 and the second determining module 550 can be combined in one module, or any of the modules can be split into multiple modules. Alternatively, at least part of the functions of one or more of the modules can be combined with at least part of the functions of the other modules, and implemented in one module.
[0122] According to an embodiment of the present application, at least one of the obtaining module 510, the obtaining module 510, the first determining module 520, the constructing module 530, the aggregating module 540 and the second determining module 550 can be implemented at least in part as a hardware circuit, such as a field-programmable gate array (FPGA), a programmable logic array (PLA), a system on chip, a system on board, a system in package, an application specific integrated circuit (ASIC), or any other reasonable manner of integrating or packaging a circuit, etc. in hardware or firmware, or in any one of the three implementation manners of software, hardware and firmware, or in a proper combination of any of the three implementation manners. Alternatively, at least one of the obtaining module 510, the obtaining module 510, the first determining module 520, the constructing module 530, the aggregating module 540 and the second determining module 550 can be implemented at least in part as a computer program module, which can perform the corresponding functions when the computer program module is run.
[0123] Figure 6 A block diagram of an electronic device suitable for implementing the method of allocating services according to an embodiment of the present application is schematically shown.
[0124] Figure 6 A schematic block diagram of an example electronic device 600 that can be used to implement embodiments of the present application is shown. The electronic device is intended to represent various forms of digital computers, such as laptops, desktops, tablets, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the present application described and / or claimed in this document.
[0125] As Figure 6As shown, the electronic device 600 includes a computing unit 601 that can perform various appropriate actions and processes in accordance with a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. Various programs and data required for the operation of the electronic device 600 can also be stored in the RAM 603. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other through a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0126] A plurality of components in the electronic device 600 are connected to the input / output (I / O) interface 605, including: an input unit 606, such as a keyboard, a mouse, and the like; an output unit 607, such as various types of displays, a speaker, and the like; a storage unit 608, such as a magnetic disk, an optical disk, and the like; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, and the like. The communication unit 609 allows the device 600 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunication networks.
[0127] The computing unit 601 can be various general and / or special purpose processing components having processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, and the like. The computing unit 601 performs various methods and processes described above, such as the traffic allocation method. For example, in some embodiments, the traffic allocation method can be implemented as a computer software program that is tangibly embodied in a machine-readable medium, such as the storage unit 608. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 600 via the ROM 602 and / or the communication unit 609. When the computer program is loaded into the RAM 603 and executed by the computing unit 601, one or more steps of the traffic allocation method described above can be performed. Alternatively, in other embodiments, the computing unit 601 can be configured to perform the traffic allocation method by any other appropriate means, such as by means of firmware.
[0128] The various embodiments of the systems and techniques described above can be implemented in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a complex programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0129] Program code for carrying out methods of the present application can be written in any combination of one or more programming languages. This program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces a means for implementing the functions / acts specified in the flowcharts and / or block diagrams. The program code can be executed entirely on a machine, partially on a machine, partially on a machine as a stand-alone software package, or entirely on a remote machine or server.
[0130] In the context of the present application, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium will include one or more lines of electrical conductors, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0131] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0132] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0133] The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server is generally established by computer programs running on the respective computers and having a client-server relationship to each other. The servers can be cloud servers, servers of distributed systems, or servers combined with blockchains.
[0134] It should be understood that the various forms of flow shown above can be re-ordered, added to, or deleted from without departing from the scope of the present disclosure. For example, the steps recited in the present disclosure can be performed in parallel, in series, or in different orders, as long as the desired results of the present disclosure are achieved, and the present disclosure is not limited herein.
[0135] The specific embodiments described above are not intended to limit the scope of the present application. One skilled in the art will understand that various modifications, combinations, sub-combinations, and alternatives can be made to the specific embodiments described above without departing from the spirit and principles of the present application. Accordingly, the disclosure is intended to embrace all such alternatives, modifications, and variances that fall within the scope of the present application.
Claims
1. A business allocation method, characterized in that, The method includes: Obtain the object attribute information of multiple objects and the business attribute information of the business to be assigned; Based on the first matching degree of each of the multiple objects, the initial allocation result of the business to be allocated is determined, wherein the first matching degree represents the matching relationship between the object attribute information and the business attribute information of the object; A heterogeneous graph is constructed using the object as an object node, the business to be assigned as a business node, the object attribute information and the business attribute information as intermediate nodes, and the association relationship between intermediate nodes as edges. Multi-level feature aggregation processing is performed on the object nodes and the business nodes respectively to obtain the first aggregated features of each of the object nodes and the second aggregated features of the business nodes; Based on the second matching degree of the first aggregation feature and the second aggregation feature, the initial allocation result is updated to determine the allocation result of the service to be allocated.
2. The method according to claim 1, characterized in that, Multi-level feature aggregation processing is performed on the object nodes and the business nodes respectively to obtain a first aggregated feature for each of the object nodes and a second aggregated feature for each business node, including: From the intermediate nodes, determine multi-layered object-related nodes that are associated with the object node and multi-layered business-related nodes that are associated with the business node; The object node and the associated object nodes at multiple levels are subjected to feature aggregation processing to obtain the first aggregated feature; The business node and the multi-layered business-related nodes are subjected to feature aggregation processing to obtain the second aggregated feature.
3. The method according to claim 2, characterized in that, The first aggregated feature is obtained by performing feature aggregation processing on the object node and the multi-layered object association nodes, including: The features of each of the multiple object-associated nodes in the i-th layer are aggregated to obtain the initial aggregated features of the i-th layer, wherein the number of the object-associated nodes is I, I≥i>1, and I and i are integers; The initial aggregated features of layer i and the aggregated features of layer (i-1) are aggregated to obtain the aggregated features of layer i. Based on the aggregation features of the I-th layer, the first aggregation feature of the object node is obtained.
4. The method according to claim 3, characterized in that, The features of each of the multiple object-associated nodes in the i-th layer are aggregated to obtain the initial aggregated features of the i-th layer, including: Identify the target node in the (i-1)th layer that has an edge connection with the object associated node in the i-th layer; Based on the weights of the edge relationships between the object-associated nodes and the target node in the i-th layer, the features of each of the multiple object-associated nodes in the i-th layer are aggregated to obtain the initial aggregated features of the i-th layer.
5. The method according to claim 1, characterized in that, Based on the first matching degree of each of the multiple objects, the initial allocation result of the service to be allocated is determined, including: Based on the first business requirement indicator in the business attribute information, multiple objects are filtered to determine candidate objects; Based on multiple indicator values in the object attribute information that match the second business requirement indicator in the business attribute information, the first matching degree of the candidate object is determined; The initial allocation result of the service to be allocated is determined based on the first matching degree of each of the multiple candidate objects.
6. The method according to claim 1, characterized in that, The step of updating the initial allocation result based on the second matching degree of the first aggregation feature and the second aggregation feature to determine the allocation result of the service to be allocated includes: If the initial allocation result satisfies the predetermined allocation conditions of the service to be allocated, the first matching degree and the second matching degree of each of the multiple objects are weighted and fused to obtain the comprehensive matching degree. The initial allocation result is updated based on the comprehensive matching degree to determine the allocation result of the service to be allocated; If it is determined that the initial allocation result does not meet the predetermined allocation conditions of the service to be allocated, a supplementary allocation object for the service to be allocated is determined based on the second matching degree. The initial allocation result is updated based on the supplementary allocation object to determine the allocation result of the service to be allocated.
7. The method according to claim 1, characterized in that, The method further includes: When there are multiple services to be assigned, the assignment results of the multiple services to be assigned are detected. If it is determined that there are candidate objects that have been assigned to at least two of the services to be assigned, the allocation results of multiple services to be assigned are updated based on the priority of the services to be assigned, and the updated allocation results are obtained.
8. A service allocation device, characterized in that, The device includes: The acquisition module is used to acquire the object attribute information of multiple objects and the business attribute information of the business to be assigned. The first determining module is used to determine the initial allocation result of the service to be allocated based on the first matching degree of each of the multiple objects, wherein the first matching degree represents the matching relationship between the object attribute information and the service attribute information of the object; The construction module is used to construct a heterogeneous graph using multiple objects as object nodes, the business to be assigned as business nodes, the object attribute information and the business attributes as intermediate nodes, and the association relationship between intermediate nodes as edges. An aggregation module is used to perform multi-level feature aggregation processing on the object nodes and the business nodes respectively, to obtain a first aggregated feature of each of the object nodes and a second aggregated feature of the business nodes; The second determining module is used to update the initial allocation result based on the second matching degree of the first aggregation feature and the second aggregation feature, and determine the allocation result of the service to be allocated.
9. An electronic device, comprising: One or more processors; Memory, used to store one or more computer programs. The characteristic feature is that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, When the computer program or instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 7.
11. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 7.