A feature vector determination method and related apparatus
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-31
- Publication Date
- 2026-08-11
AI Technical Summary
[0004]然而,相关技术中难以准确确定出子向量相对于关联性的重要程度,导致确定出的关联性的可信度难以符合实际需求
[0026] As can be seen from the above technical solution, the target feature vector of the target object is obtained. This target feature vector includes multiple sub-vectors from different data sources. These sub-vectors are first divided into two parts: the sub-vector to be evaluated and the control sub-vector. Then, based on the target feature vector, a virtual object corresponding to the target object is determined, so that the virtual feature vector of the virtual object includes either the sub-vector to be evaluated or the control sub-vector. Thus, the virtual object can serve as a control group for the target object. Based on the target feature vector, a network model predicts the correlation between the target object and objects in the object group, obtaining the target correlation result. Similarly, based on the virtual feature vector, a network model predicts the correlation between the virtual object and objects in the object group, obtaining the virtual correlation result. Since the virtual feature vector only includes a part of the target feature vector, excluding the other part, the difference between the virtual correlation result and the target correlation result lies in the exclusion of the other part of the target feature vector from the virtual feature vector. Therefore, the influence of the virtual feature vector, i.e., a part of the target feature vector, on the target correlation result can be clearly defined. This allows the determination of the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation, and the feature vector of the object to be processed can be determined based on the importance, so as to identify objects correlated with the object to be processed through the feature vector. Therefore, by setting up a virtual object that includes the sub-vector to be evaluated or the control sub-vector, the sub-vector to be evaluated of the target feature vector is completely isolated from the control sub-vector, so that it will not be affected by the noise brought by the data source corresponding to the control sub-vector. This allows for quantitative analysis of the importance of the sub-vector to be evaluated relative to the correlation, making it more accurate. The reliability of the correlation meets the actual needs and helps to indicate the direction of feature vector optimization.
Smart Images

Figure CN115130556B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing technology, and in particular to a method and related apparatus for determining feature vectors. Background Technology
[0002] When determining the relationship between a target object and other objects, it is necessary to construct feature vectors to characterize the characteristics of the target object. For example, when determining whether a user is interested in a video, it is necessary to construct feature vectors to characterize the user's characteristics.
[0003] To more accurately represent the characteristics of a target object, feature vectors are generally composed of multiple sub-vectors from different sources. These sub-vectors can be determined by factors such as the user's age, gender, or behavior (e.g., the user's clicked historical videos). To improve the accuracy of correlation determination, it is necessary to identify which sub-vectors have a greater impact on the accuracy of correlation determination and which have a smaller impact.
[0004] However, it is difficult to accurately determine the importance of sub-vectors relative to correlation in related technologies, which makes it difficult for the reliability of the determined correlation to meet actual needs. Summary of the Invention
[0005] To address the aforementioned technical problems, this application provides a method and related apparatus for determining feature vectors, used to determine the importance of sub-vectors relative to correlation.
[0006] The embodiments of this application disclose the following technical solutions:
[0007] On one hand, embodiments of this application provide a method for determining a feature vector, the method comprising:
[0008] Obtain the target feature vector of the target object, wherein the target feature vector includes multiple sub-vectors from different data sources;
[0009] The subvector to be evaluated is determined from the plurality of subvectors, and the subvectors other than the subvector to be evaluated from the plurality of subvectors are used as control subvectors;
[0010] Based on the target feature vector, a virtual object corresponding to the target object is determined, wherein the virtual feature vector of the virtual object includes the sub-vector to be evaluated or the reference sub-vector;
[0011] Based on the target feature vector, the network model is used to predict the association between the target object and objects in the object group to obtain the target association result; and based on the virtual feature vector, the network model is used to predict the association between the virtual object and objects in the object group to obtain the virtual association result.
[0012] The importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation is determined by the difference between the target correlation result and the virtual correlation result;
[0013] The feature vector of the object to be processed is determined based on the importance level, so as to identify the object with the association with the object to be processed through the feature vector.
[0014] On the other hand, embodiments of this application provide a feature vector determination device, characterized in that the device includes: an acquisition unit, a sub-vector determination unit, a virtual object determination unit, a prediction unit, an importance determination unit, and a feature vector determination unit;
[0015] The acquisition unit is used to acquire the target feature vector of the target object, wherein the target feature vector includes multiple sub-vectors from different data sources;
[0016] The sub-vector determination unit is used to determine the sub-vector to be evaluated from the plurality of sub-vectors, and to use the sub-vectors other than the sub-vector to be evaluated from the plurality of sub-vectors as reference sub-vectors;
[0017] The virtual object determination unit is used to determine the virtual object corresponding to the target object based on the target feature vector, wherein the virtual feature vector of the virtual object includes the sub-vector to be evaluated or the reference sub-vector.
[0018] The prediction unit is configured to predict the correlation between the target object and objects in the object group based on the target feature vector using a network model, thereby obtaining a target correlation result; and to predict the correlation between the virtual object and objects in the object group based on the virtual feature vector using the network model, thereby obtaining a virtual correlation result.
[0019] The importance determination unit is used to determine the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation by the difference between the target correlation result and the virtual correlation result;
[0020] The feature vector determination unit is used to determine the feature vector of the object to be processed according to the importance level, so as to determine the object with the correlation with the object to be processed through the feature vector.
[0021] On the other hand, embodiments of this application provide a computer device, the computer device including a processor and a memory:
[0022] The memory is used to store computer programs and to transfer the computer programs to the processor;
[0023] The processor is configured to execute the methods described above according to instructions in the computer program.
[0024] On the other hand, embodiments of this application provide a computer-readable storage medium for storing a computer program for performing the methods described above.
[0025] On the other hand, embodiments of this application provide a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods described above.
[0026] As can be seen from the above technical solution, the target feature vector of the target object is obtained. This target feature vector includes multiple sub-vectors from different data sources. These sub-vectors are first divided into two parts: the sub-vector to be evaluated and the control sub-vector. Then, based on the target feature vector, a virtual object corresponding to the target object is determined, so that the virtual feature vector of the virtual object includes either the sub-vector to be evaluated or the control sub-vector. Thus, the virtual object can serve as a control group for the target object. Based on the target feature vector, a network model predicts the correlation between the target object and objects in the object group, obtaining the target correlation result. Similarly, based on the virtual feature vector, a network model predicts the correlation between the virtual object and objects in the object group, obtaining the virtual correlation result. Since the virtual feature vector only includes a part of the target feature vector, excluding the other part, the difference between the virtual correlation result and the target correlation result lies in the exclusion of the other part of the target feature vector from the virtual feature vector. Therefore, the influence of the virtual feature vector, i.e., a part of the target feature vector, on the target correlation result can be clearly defined. This allows the determination of the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation, and the feature vector of the object to be processed can be determined based on the importance, so as to identify objects correlated with the object to be processed through the feature vector. Therefore, by setting up a virtual object that includes the sub-vector to be evaluated or the control sub-vector, the sub-vector to be evaluated of the target feature vector is completely isolated from the control sub-vector, so that it will not be affected by the noise brought by the data source corresponding to the control sub-vector. This allows for quantitative analysis of the importance of the sub-vector to be evaluated relative to the correlation, making it more accurate. The reliability of the correlation meets the actual needs and helps to indicate the direction of feature vector optimization. Attached Figure Description
[0027] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0028] Figure 1 A schematic diagram illustrating an application scenario of the feature vector determination method provided in this application embodiment;
[0029] Figure 2 A flowchart illustrating a method for determining a feature vector provided in an embodiment of this application;
[0030] Figure 3 This is a diagram illustrating the importance of a subvector relative to its correlation.
[0031] Figure 4 A schematic diagram illustrating a first virtual object construction method provided in an embodiment of this application;
[0032] Figure 5 A schematic diagram illustrating a second virtual object construction method provided in an embodiment of this application;
[0033] Figure 6 This is a schematic diagram of a graph data structure provided in an embodiment of this application;
[0034] Figure 7 This is a schematic diagram illustrating the determination of a prediction result as provided in an embodiment of this application.
[0035] Figure 8 This application provides a schematic diagram of constructing a first virtual object according to an embodiment of the present application.
[0036] Figure 9 This application provides a schematic diagram of constructing a second virtual object according to an embodiment of the present application;
[0037] Figure 10 A schematic diagram of a feature vector determination device provided in an embodiment of this application;
[0038] Figure 11 This is a schematic diagram of the server structure provided in an embodiment of this application;
[0039] Figure 12 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. Detailed Implementation
[0040] The embodiments of this application will now be described with reference to the accompanying drawings.
[0041] Given that it is difficult to accurately determine the importance of sub-vectors relative to correlation in related technologies, the reliability of the determined correlations may not meet actual needs. This application provides a method and related apparatus for determining feature vectors. By setting a virtual object to include only a portion of the target feature vectors of the target object, and using the virtual object as a control group for the target object, the method determines the importance of the data source corresponding to the sub-vectors to be evaluated in the target object relative to correlation, thereby determining the feature vectors of the object to be processed based on the importance.
[0042] The feature vector determination method provided in this application is based on artificial intelligence. Artificial intelligence (AI) is a theory, method, technology, and application system that uses digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to obtain optimal results. In other words, artificial intelligence is a comprehensive technology within computer science that attempts to understand the essence of intelligence and produce a new type of intelligent machine that can react in a way similar to human intelligence. Artificial intelligence studies the design principles and implementation methods of various intelligent machines, enabling them to possess perception, reasoning, and decision-making capabilities.
[0043] Artificial intelligence (AI) is a comprehensive discipline encompassing a wide range of fields, including both hardware and software technologies. Fundamental AI technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating / interactive systems, and mechatronics. AI software technologies primarily include computer vision, speech processing, natural language processing, as well as machine learning / deep learning, autonomous driving, and intelligent transportation.
[0044] In the embodiments of this application, the main artificial intelligence technologies involved include the aforementioned machine learning / deep learning and other directions.
[0045] The feature vector determination method provided in this application can be applied to feature vector determination devices with data processing capabilities, such as terminal devices and servers. Specifically, terminal devices can be mobile phones, computers, intelligent voice interaction devices, smart home appliances, vehicle terminals, aircraft, etc., but are not limited to these. Servers can be independent physical servers, server clusters or distributed systems composed of multiple physical servers, or cloud servers providing cloud computing services. Terminal devices and servers can be directly or indirectly connected via wired or wireless communication, and this application does not impose any limitations on this connection. The embodiments of this application can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, smart transportation, and assisted driving.
[0046] This feature vector determination device can also possess machine learning capabilities. Machine learning (ML) is a multidisciplinary field involving probability theory, statistics, approximation theory, convex analysis, algorithm complexity theory, and many other disciplines. It specifically studies how computers can simulate or implement human learning behavior to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their performance. Machine learning is the core of artificial intelligence and the fundamental way to endow computers with intelligence; its applications span all areas of artificial intelligence. Machine learning and deep learning typically include techniques such as artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, and instructional learning.
[0047] In the method for determining feature vectors provided in the embodiments of this application, the artificial intelligence model used mainly involves the application of machine learning, and determines the correlation between objects based on feature vectors and network models with machine learning capabilities.
[0048] To facilitate understanding of the technical solution of this application, the method for determining feature vectors provided in the embodiments of this application will be introduced below in conjunction with actual application scenarios.
[0049] See Figure 1 This figure illustrates an application scenario of the feature vector determination method provided in this embodiment. Figure 1 In the application scenario shown, the aforementioned feature vector determination device is server 101. Server 101 is an application server, such as a social application service, game application service, or video application server, etc., and can provide services to terminal device 102. Terminal device 102 has various applications installed, such as social applications, game applications, video applications, etc., and obtains corresponding services from server 101 through the installed applications. The following explanation uses the example of server 101 providing social application services to terminal device 102.
[0050] exist Figure 1 In this context, the target audience is the user, who uses the social application services provided by terminal device 102 to make friends, view articles and videos, etc. Terminal device 102 sends the user's interactive behavior to server 101.
[0051] Server 101 obtains a target feature vector based on user interaction behavior. This target feature vector includes multiple sub-vectors from different data sources. For example, the target feature vector includes three sub-vectors, corresponding to the user's social interaction behavior, the user's article viewing behavior, and the user's video viewing behavior, respectively. Server 101 determines the sub-vector corresponding to the user's social interaction behavior as the sub-vector to be evaluated, while the sub-vectors corresponding to the user's article viewing behavior and the user's video viewing behavior are the control sub-vectors. To avoid other sub-vectors affecting the sub-vector to be evaluated, a virtual object corresponding to the target object is determined. The virtual feature vector of this virtual object includes either the sub-vector to be evaluated or the object's sub-vector. The following example uses the virtual feature vector including the sub-vector to be evaluated.
[0052] Server 101 inputs the target feature vector into the network model to obtain the target association result, and inputs the virtual feature vector into the network model to obtain the virtual association result. The network model is used to determine the association between two objects, such as the association between the target object and objects in a group of objects, or the association between the virtual object and objects in a group of objects. Figure 1 In the application scenario shown, the objects in the object group are users, articles, videos, etc.
[0053] Since the virtual feature vector only includes the sub-vector to be evaluated and not the control sub-vector, the difference between the virtual association result and the target association result lies in the fact that the control sub-vector does not affect the virtual association result. Therefore, the influence of the sub-vector to be evaluated on the target association result can be clearly defined. Thus, server 101 determines the importance of the data source corresponding to the sub-vector to be evaluated relative to the association based on the target association result and the virtual association result. Based on the importance, it determines the feature vector of the object to be processed, so as to identify the objects that are associated with the object to be processed through the feature vector. Among them, the object to be processed is a user who makes friends, views articles and videos through the social application service provided by terminal device 102.
[0054] Therefore, by setting up a virtual object that includes the sub-vector to be evaluated or the control sub-vector, the sub-vector to be evaluated of the target feature vector is completely isolated from the control sub-vector, so that it will not be affected by the noise brought by the data source corresponding to the control sub-vector. This allows for quantitative analysis of the importance of the sub-vector to be evaluated relative to the correlation, making it more accurate. The reliability of the correlation meets the actual needs and helps to indicate the direction of feature vector optimization.
[0055] The feature vector determination method provided in this application embodiment can be executed by a server. However, in other embodiments of this application, the terminal device may also have similar functions to the server to execute the feature vector determination method provided in this application embodiment, or the terminal device and the server may jointly execute the feature vector determination method provided in this application embodiment. This embodiment does not limit this.
[0056] The following description, with reference to the accompanying drawings and taking the aforementioned feature vector determination device as a server, illustrates a feature vector determination method provided in this application embodiment.
[0057] See Figure 2 The figure is a flowchart illustrating a method for determining a feature vector according to an embodiment of this application. Figure 2 As shown, the method for determining the feature vector includes S201-S206.
[0058] S201: Obtain the target feature vector of the target object.
[0059] Everything—entities, virtual objects, events, etc.—can be called an object. For example, a company can be an object, each employee in the company can be an object, and a video can also be an object. Different objects have different characteristics, which can be represented by feature vectors. The target object is one of the objects, and the target feature vector is the feature vector of the target object.
[0060] To more accurately characterize the features of a target object, it is generally represented through multiple data sources. Therefore, the target feature vector will include multiple sub-vectors from different sources, each representing a data dimension. This multi-dimensional representation of the target object provides a richer picture. Here, "data source" refers to the origin of the data. For example, object age, object gender, and object behavior (such as historical video clicks) can all serve as data sources. Different types of object behavior can also be sourced from different data sources; for instance, user clicks on articles and user clicks on videos belong to different data sources.
[0061] To improve the accuracy of correlation determination, it is necessary to identify which sub-vectors have a greater impact on the accuracy of correlation determination and which have a smaller impact, thereby further optimizing data sources and improving the accuracy of feature vectors in representing object characteristics. However, related technologies struggle to accurately determine the relative importance of sub-vectors to correlation, leading to a lack of reliability in the determined correlations that meets practical needs. The following section will combine... Figure 3 Detailed explanation.
[0062] See Figure 3 This diagram illustrates the relative importance of a subvector to its correlation. Figure 3In this context, the target object is the target user, and the target feature vector includes four sub-vectors: the sub-vector corresponding to the target user's article viewing behavior, the sub-vector corresponding to the target user's video viewing behavior, the sub-vector corresponding to the target user's friends' article viewing behavior, and the sub-vector corresponding to the target user's friends' video viewing behavior. To analyze the importance of the sub-vector corresponding to the target user's article viewing behavior relative to relevance, we need to identify users similar to the target user (i.e., similar users) based on the similarity between the target user's target feature vector and the similar user's similar feature vector. Then, based on the target user's target feature vector and the similar user's similar feature vector, we obtain the prediction result of the target user's interest in article A, and the prediction result of the similar user's interest in article A. If the similarity between two sub-vectors is very high, and the similarity between the two prediction results is also very high, then the importance of the sub-vector corresponding to the target user's article viewing behavior relative to relevance is relatively high; if the similarity between two sub-vectors is very high, and the similarity between the two prediction results is very low, then the importance of the sub-vector corresponding to the target user's article viewing behavior relative to relevance is relatively low.
[0063] However, user behavior is complex and diverse, and the prediction result is not only related to a single sub-vector. That is, the prediction result for similar users is influenced not only by one sub-vector but also by three other sub-vectors. The similarity between the prediction results of similar users and the target user may be due to the similarity of the other three sub-vectors; similarly, the dissimilarity between the prediction results of similar users and the target user may be due to significant differences in the other three sub-vectors. In other words, the sub-vectors carried by similar users that are not analyzed can affect the prediction result. The introduction of noise makes it difficult to accurately determine the importance of the analyzed sub-vectors relative to the correlation. Furthermore, this method can only compare the importance of different sub-vectors through a large amount of sampling; it cannot quantitatively analyze the numerical value of the influence of a particular sub-vector, i.e., it cannot quantitatively analyze the importance of a sub-vector relative to the correlation.
[0064] Based on this, the embodiments of this application no longer use similar users as the control group of the target users, but use virtual objects as the control group of the target objects, so that the sub-vector to be evaluated of the target feature vector is completely isolated from the control sub-vector. Thus, the importance of the data source corresponding to the determined sub-vector to be evaluated relative to the correlation will not be affected by the noise brought by the data source corresponding to the control sub-vector, and the importance of the sub-vector to be evaluated relative to the correlation can be quantitatively analyzed, making it more accurate.
[0065] S202: Determine the subvector to be evaluated from multiple subvectors, and use the subvectors other than the subvector to be evaluated from the multiple subvectors as the control subvectors.
[0066] The subvector to be evaluated is the subvector that is to be analyzed, such as the subvector corresponding to the target user's article viewing behavior mentioned above. The subvector to be evaluated may include a single subvector or a combination of some subvectors from multiple subvectors; this application does not specifically limit this. For example, subvector A and subvector B, when analyzed individually, both have relatively low importance relative to correlation. However, when subvector A and subvector B are combined and analyzed, their importance relative to correlation is relatively high. By setting the subvector to be evaluated to include subvector A and subvector B, it is possible to analyze the importance of the combination of the two relative to correlation.
[0067] After determining the subvector to be evaluated, other subvectors among the multiple subvectors besides the subvector to be evaluated are used as control subvectors. The control subvectors may include a single subvector or a combination of some subvectors from multiple subvectors, depending on the subvector to be evaluated.
[0068] S203: Determine the virtual object corresponding to the target object based on the target feature vector.
[0069] Virtual objects are not real objects, but rather virtual objects constructed based on the target feature vectors of the target object. The feature vectors of virtual objects are virtual feature vectors, which include either the sub-vectors to be evaluated or the control sub-vectors. In other words, the virtual feature vectors only include a portion of the target feature vectors. The behavior of virtual objects is controllable, allowing for targeted studies of the importance of sub-vectors relative to correlation. Compared to similar objects carrying noise, virtual objects are more suitable as control groups for the target object.
[0070] S204: Based on the target feature vector, predict the correlation between the target object and objects in the object group through a network model to obtain the target correlation result; and based on the virtual feature vector, predict the correlation between the virtual object and objects in the object group through a network model to obtain the virtual correlation result.
[0071] The network model is used to determine the correlation between two objects, such as the correlation between a target object and objects in an object group, or the correlation between a virtual object and objects in an object group. An object group includes at least one object; for example, a video resource library containing multiple videos can be considered an object group. The model then determines which video in the video resource library the target object has a higher correlation with, in order to recommend videos that the target object might be interested in. As one possible implementation, if recommending content to a user account, the target object in this embodiment can be a user account, and the objects in the object group can be videos, articles, or other content. As another possible implementation, if recommending advertisements or other content to a corresponding user, the target object in this embodiment can be an advertisement, and the objects in the object group can be a user. As yet another possible implementation, if recommending users to users, the target object in this embodiment can be a user account, and the objects in the object group can be user accounts. This embodiment does not specifically limit the network model; for example, it can be a Deep Neural Network (DNN), a Recurrent Neural Network (RNN), etc.
[0072] As one possible implementation, the target feature vector and the feature vectors of objects in the object group can be input into the network model to obtain the target association result; the virtual feature vector and the feature vectors of objects in the object group can be input into the network model to obtain the virtual association result.
[0073] As one possible implementation, the data representing the characteristics of the target object corresponding to the target feature vector and the data representing the characteristics of objects in the object group can be input into the network model to obtain the target association result; the data representing the characteristics of the virtual object corresponding to the virtual feature vector and the data representing the characteristics of objects in the object group can be input into the network model to obtain the virtual association result.
[0074] S205: By comparing the target association results with the virtual association results, determine the importance of the data source corresponding to the sub-vector to be evaluated relative to the association.
[0075] Since the virtual feature vector includes either the sub-vector to be evaluated or the control sub-vector, meaning that the virtual feature vector only includes a part of the target feature vector and does not include the other part of the target feature vector, the difference between the virtual association result and the target association result lies in the other part of the target feature vector that the virtual feature vector does not include. Therefore, based on the difference between the target association result and the virtual association result, we can clarify the influence of the virtual feature vector, i.e., a part of the target feature vector, on the target association result, thereby determining the importance of the data source corresponding to the sub-vector to be evaluated relative to the association.
[0076] If the virtual feature vector includes the sub-vector to be evaluated, the virtual association result is related to the sub-vector to be evaluated, while the target association result is related to both the sub-vector to be evaluated and the control sub-vector. Therefore, the difference between the virtual association result and the target association result can determine the influence of the sub-vector to be evaluated in the target feature vector on the target association result, thereby determining the importance of the sub-vector to be evaluated relative to the association. For example, the smaller the difference between the virtual association result and the target association result, the greater the importance of the sub-vector to be evaluated relative to the association, and similar association results (target association result and virtual association result) can be obtained as long as the sub-vector to be evaluated is present. As one possible implementation, if the virtual feature vector includes the sub-vector to be evaluated, the magnitude of the difference between the virtual association result and the target association result is negatively correlated with the importance.
[0077] If the virtual feature vector includes a control vector, the virtual association result is related to the control vector but not to the vector to be evaluated. The target association result is related to both the vector to be evaluated and the control vector. Therefore, the difference between the virtual and target association results can determine the influence of the control vector in the target feature vector on the target association result, thus determining the importance of the vector to be evaluated relative to the association. For example, the greater the difference between the virtual and target association results, the greater the importance of the vector to be evaluated relative to the association. Even if the control vector is identical, removing the vector to be evaluated will significantly increase the difference between the virtual and target association results. As one possible implementation, if the virtual feature vector includes a control vector, the magnitude of the difference between the virtual and target association results is positively correlated with their importance.
[0078] Taking a recommendation system as an example, if the system recommends potentially interesting content to an object being processed—for instance, when a user is watching short videos on a video app and the system continuously recommends videos they might be interested in—it's crucial to avoid recommending videos the user dislikes. If this happens repeatedly, the user may stop using the app. In other words, this scenario requires greater sensitivity to negative factors; therefore, the virtual feature vector of the virtual object can include a control sub-vector. Similarly, if a scenario requires greater sensitivity to positive factors, the virtual feature vector of the virtual object can include the sub-vector to be evaluated.
[0079] Therefore, by controlling the virtual feature vectors of virtual objects to include either the sub-vector to be evaluated or the control sub-vector, the importance of the sub-vector to be evaluated relative to the correlation can be analyzed in a targeted manner. Furthermore, by analyzing each sub-vector in the target feature vector as a sub-vector to be evaluated, the numerical value of the influence of each sub-vector can be quantitatively analyzed, thereby accurately determining the importance of the sub-vector relative to the correlation.
[0080] As one possible implementation, this application provides an embodiment of S205, which is a specific implementation method for determining the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation based on the difference between the target correlation result and the virtual correlation result. Multiple sampling objects can be obtained, and the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation is determined based on the difference between the target correlation result and the virtual correlation result determined for each of the multiple sampling objects. Here, the target object is any one of the multiple sampling objects, and the multiple sampling objects and the target object are objects of the same type. Therefore, compared to determining the importance based on only one sampling object (target object), determining the importance based on multiple sampling objects can reduce the impact of individual errors on determining the importance, and improve the accuracy of determining the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation.
[0081] It's important to note that after determining the relative importance of the data source corresponding to the sub-vector to be evaluated relative to its correlation, the data can be optimized based on its importance. For example, if data source A is highly important relative to the correlation, we can delve deeper into the data corresponding to data source A, refine the weights of the sub-vectors corresponding to data source A in the target feature vector, and further optimize the network model. Conversely, data with low importance can be skipped for optimization, thus reducing the waste of human and material resources.
[0082] S206: Determine the feature vector of the object to be processed based on its importance, so as to identify objects that are related to the object to be processed through the feature vector.
[0083] After determining the importance of the data source corresponding to each sub-vector in the target feature vector relative to its correlation, the feature vector can be optimized according to its importance, making the feature vector more accurately represent the characteristics of the object. For example, to obtain the feature vector of the object to be processed, where the object to be processed is an object of the same type as the target object, the objects that are correlated with the object to be processed can be determined through the feature vector of the object to be processed.
[0084] This application does not specifically limit the method of determining objects related to the object to be processed through feature vectors. For example, the feature vector of the object to be processed and the feature vectors of objects in the object group can be input into the network model to predict the correlation between the object to be processed and the objects in the object group, so as to recommend objects in the object group that the object to be processed may be of interest to the object to be processed based on the degree of correlation.
[0085] As can be seen from the above technical solution, the target feature vector of the target object is obtained. This target feature vector includes multiple sub-vectors from different data sources. These sub-vectors are first divided into two parts: the sub-vector to be evaluated and the control sub-vector. Then, based on the target feature vector, a virtual object corresponding to the target object is determined, so that the virtual feature vector of the virtual object includes either the sub-vector to be evaluated or the control sub-vector. Thus, the virtual object can serve as a control group for the target object. Based on the target feature vector, a network model predicts the correlation between the target object and objects in the object group, obtaining the target correlation result. Similarly, based on the virtual feature vector, a network model predicts the correlation between the virtual object and objects in the object group, obtaining the virtual correlation result. Since the virtual feature vector only includes a part of the target feature vector, excluding the other part, the difference between the virtual correlation result and the target correlation result lies in the exclusion of the other part of the target feature vector from the virtual feature vector. Therefore, the influence of the virtual feature vector, i.e., a part of the target feature vector, on the target correlation result can be clearly defined. This allows the determination of the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation, and the feature vector of the object to be processed can be determined based on the importance, so as to identify objects correlated with the object to be processed through the feature vector. Therefore, by setting up a virtual object that includes the sub-vector to be evaluated or the control sub-vector, the sub-vector to be evaluated of the target feature vector is completely isolated from the control sub-vector, so that it will not be affected by the noise brought by the data source corresponding to the control sub-vector. This allows for quantitative analysis of the importance of the sub-vector to be evaluated relative to the correlation, making it more accurate. The reliability of the correlation meets the actual needs and helps to indicate the direction of feature vector optimization.
[0086] As one possible implementation, this application provides an embodiment of S203, which is a specific implementation of determining the virtual object corresponding to the target object based on the target feature vector, see S11-S12.
[0087] S11: Determine the first virtual object corresponding to the target object based on the sub-vector to be evaluated.
[0088] S12: Determine the second virtual object corresponding to the target object based on the comparison sub-vector.
[0089] The virtual objects include a first virtual object and a second virtual object. The first virtual feature vector of the first virtual object includes the sub-vector to be evaluated, and the second virtual feature vector of the second virtual object includes the control sub-vector. The first virtual object and the second virtual object are different virtual objects.
[0090] As mentioned above, the virtual object includes the sub-vector to be evaluated or the control sub-vector, which is applicable to situations where it is more sensitive to positive factors or negative factors. Therefore, in this embodiment, by constructing a first virtual object that is more sensitive to positive factors and a second virtual object that is more sensitive to negative factors, the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation can be determined comprehensively from both positive and negative aspects based on the first and second virtual objects, resulting in a higher fault tolerance rate.
[0091] Furthermore, given that network models may have different recognition capabilities for positive or negative information due to their model structure or model type, for example, some network models have a high recognition rate for positive information but a low recognition rate for negative information, while others have a low recognition rate for positive information but a high recognition rate for negative information. When judging the importance of data sources by combining the first virtual object and the second virtual object, the influence of the network model's own recognition preferences on the importance can be reduced, thereby expanding the scope of application of this embodiment and making it applicable to different types of network models.
[0092] Furthermore, this application embodiment also provides a specific implementation method for S204, which is to predict the correlation between virtual objects and objects in the object group through a network model based on virtual feature vectors to obtain virtual correlation results, and a specific implementation method for S205, which determines the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation based on the difference between the target correlation result and the virtual correlation result, see S13-S17 for details.
[0093] S13: Based on the first virtual feature vector, predict the correlation between the first virtual object and objects in the object group through the network model to obtain the first virtual correlation result.
[0094] S14: Based on the second virtual feature vector, predict the association between the second virtual object and objects in the object group through the network model to obtain the second virtual association result.
[0095] A network model is used to determine the association between two objects, such as determining the association between a first virtual object and objects in an object group, and determining the association between a second virtual object and objects in an object group. This application does not specifically limit the method of obtaining the first and second virtual association results through the network model. For example, the first virtual feature vector and the feature vectors of objects in the object group can be input into the network model to obtain the first virtual association result; the second virtual feature vector and the feature vectors of objects in the object group can be input into the network model to obtain the second virtual association result.
[0096] S15: Determine the first difference between the target association result and the first virtual association result.
[0097] As mentioned above, if the virtual feature vector includes the sub-vector to be evaluated, the magnitude of the difference between the virtual association result and the target association result is negatively correlated with the importance. That is, the magnitude of the difference between the first virtual association result and the target association result is negatively correlated with the importance, or in other words, the first difference is negatively correlated with the importance.
[0098] S16: Determine the second difference between the target association result and the second virtual association result.
[0099] As mentioned above, if the virtual feature vector includes the control sub-vector, the magnitude of the difference between the virtual association result and the target association result is positively correlated with the importance. That is, the magnitude of the difference between the second virtual association result and the target association result is positively correlated with the importance, or in other words, the second difference is negatively correlated with the importance.
[0100] S17: Based on the first and second differences, determine the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation.
[0101] The magnitude of the first difference is negatively correlated with importance, and the second difference is also negatively correlated with importance. Therefore, the importance of the data source corresponding to the sub-vector to be evaluated can be determined based on the first and second differences. For example, the larger the first difference and the smaller the second difference, the greater the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation; conversely, the smaller the first difference and the larger the second difference, the less important the data source corresponding to the sub-vector to be evaluated relative to the correlation.
[0102] As one possible approach, the difference between the first and second differences can be used to represent the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation, thereby quantitatively describing the importance of the sub-vector to be evaluated to the correlation.
[0103] Furthermore, in this embodiment of the application, a first difference and a second difference are determined by multiple sampling objects, and then the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation is determined based on the first difference and the second difference, which will be explained in detail below.
[0104] Multiple sampling objects are randomly selected, and the target object is any one of these sampling objects. The set of sampling objects is S, where |S| = K. First, for each object u∈S in S (i.e., each object is considered the target object), a first virtual object u+ corresponding to the target object is determined based on the sub-vector to be evaluated, and a second virtual object u- corresponding to the target object is determined based on the reference sub-vector. Then, based on the target feature vector, a network model predicts the association between the target object and objects in the object group, obtaining the target association result R. uBased on the first virtual feature vector of the first virtual object, the network model is used to predict the association between the first virtual object and objects in the object group, thus obtaining the first virtual association result R. u+ Based on the second virtual feature vector, the network model is used to predict the association between the second virtual object and objects in the object group, thus obtaining the second virtual association result R. u Finally, the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation is determined by the difference between the first difference and the second difference, see formula (1):
[0105]
[0106] Where Imp represents the degree of importance, and R... u For the target association results, R u+ As the first virtual association result, R u - represents the second virtual association result, where K is the number of sampled objects in the sampled object set S.
[0107] If the subvector to be evaluated is more important, then R u and R u+ The greater the similarity, the closer the target association result is to the first virtual association result, as long as the subvectors to be evaluated are consistent; conversely, R... u and R u The less similar the vectors, the greater the difference between the target and the second virtual association results, even if the control vectors are identical. Therefore, the difference between the first and second virtual association results is represented by the first difference minus the second difference. The value range of this index is [-1, 1]. The higher the importance of the data source corresponding to the evaluated vector relative to the association, the higher the value of this index; conversely, the lower the importance of the data source corresponding to the evaluated vector relative to the association, the lower the value of this index.
[0108] Therefore, this embodiment proposes a method to determine the importance of the data source corresponding to the sub-vector to be evaluated relative to its correlation by using multiple sampling objects. This not only reduces the impact of individual errors on the determination of importance and improves the accuracy of determining the importance of the data source corresponding to the sub-vector to be evaluated relative to its correlation, but also accurately assesses the relative importance of each sub-vector to be evaluated, and the magnitude of the difference can be calculated, achieving quantitative analysis of the sub-vector to be evaluated. Furthermore, based on the difference between a first difference used to characterize greater sensitivity to positive factors and a second difference used to characterize greater sensitivity to negative factors, the importance of the data source corresponding to the sub-vector to be evaluated relative to its correlation can be determined for those sub-vectors whose importance cannot be determined or is not obvious based on a single factor, further improving the accuracy of determining the importance of the data source corresponding to the sub-vector to be evaluated relative to its correlation.
[0109] Furthermore, this application embodiment also provides a method for constructing a first virtual object and a second virtual object, that is, when determining the first virtual object corresponding to the target object based on the sub-vector to be evaluated, the position corresponding to the reference sub-vector in the target feature vector is set to zero in the first virtual feature vector; when determining the second virtual object corresponding to the target object based on the reference sub-vector, the position corresponding to the sub-vector to be evaluated in the target feature vector is set to zero in the second virtual feature vector.
[0110] See Figure 4 This figure is a schematic diagram of a first virtual object construction method provided in an embodiment of this application. Figure 4 In this context, the target object is the target user, and the target feature vector includes four sub-vectors: the sub-vector corresponding to the target user's article viewing behavior, the sub-vector corresponding to the target user's video viewing behavior, the sub-vector corresponding to the target user's friends' article viewing behavior, and the sub-vector corresponding to the target user's friends' video viewing behavior. To analyze the importance of the sub-vector corresponding to the target user's article viewing behavior relative to the correlation, the sub-vector corresponding to the target user's article viewing behavior is determined as the sub-vector to be evaluated, and the other sub-vectors are determined as control sub-vectors. A first virtual object that only views articles is constructed, such that in the first virtual feature vector, the position corresponding to the sub-vector to be evaluated in the target feature vector is the same as the sub-vector to be evaluated, and the position corresponding to the control sub-vector in the target feature vector is set to zero. In other words, the length of the first feature vector is the same as the length of the target feature vector, the first feature vector copies the sub-vector to be evaluated at the same position as the target feature vector, and sets the other positions to zero.
[0111] As one possible implementation, the target feature vector and the first feature vector can be input into a multilayer perceptron (MLP). An MLP is a feedforward artificial neural network that maps a set of input vectors to a set of output vectors to obtain the input required by the network model. The target feature vector output by the MLP and the feature vectors of the objects in the object group are then input into the network model to obtain the target association result. Similarly, the first feature vector output by the MLP and the feature vectors of the objects in the object group are input into the network model to obtain the first association result.
[0112] See Figure 5 This figure is a schematic diagram of a second virtual object construction method provided in an embodiment of this application. Continuing with... Figure 4For example, a second virtual object is constructed to display videos, articles, and videos viewed by the user's friends. In this second virtual feature vector, the position corresponding to the reference sub-vector in the target feature vector is the same as the reference sub-vector, while the position corresponding to the sub-vector to be evaluated in the target feature vector is set to zero. In other words, the length of the second feature vector is the same as the length of the target feature vector, the second feature vector copies the reference sub-vector at the same position as the target feature vector, and sets all other positions to zero.
[0113] As one possible implementation, the target feature vector and the second feature vector can be input into the MLP to obtain the input required by the network model. The target feature vector output by the MLP and the feature vectors of the objects in the object group can be input into the network model to obtain the target association result. Similarly, the second feature vector output by the MLP and the feature vectors of the objects in the object group can be input into the network model to obtain the second association result.
[0114] Therefore, this embodiment constructs a virtual object by copying the required sub-vector according to the position of the target feature vector and setting the remaining positions to zero. This ensures that the first and second virtual feature vectors do not introduce unwanted noise and are as similar in length as possible to the target feature vector. By controlling a single variable, the sub-vector to be evaluated can be studied in a targeted manner, resulting in a more accurate assessment of its importance.
[0115] In recommender systems, the relationships between users, items, and other users can naturally be represented as heterogeneous networks. Graph neural networks can naturally aggregate the user and item information associated with the network onto the target user, thus more fully expressing the target user's interests. For example... Figure 6 As shown, the users within the dashed boxes are the target users. Figure 6 The target user has three friends, A, B, and C, and has consumed one video (Video 1) and two articles (Article 1 and Article 3). Article 1 was also consumed by the target user's friends A and B, while Article 3 was consumed by friend C. Furthermore, friend A also consumed Article 2, and friend C also consumed Video 2. As can be seen, the originally complex user relationships and behavioral sequences are made clearer through the graph data structure. Therefore, this embodiment can be applied to graph neural networks; that is, this embodiment provides a specific implementation method for S201, namely, obtaining the target feature vector of the target object, see S2011-S2013:
[0116] Graph Neural Networks (GNNs) is a deep learning method based on graph structures. As can be seen from its definition, GNNs mainly consist of two parts: a "graph" and a "neural network". Here, "graph" refers to the graph data structure in graph theory, that is, a network data structure composed of nodes and edges, and "neural network" refers to the deep learning neural network structure.
[0117] S2011: Obtain the graph data structure containing the target object.
[0118] The graph data structure is determined based on the object behavior of the target object. Object behavior refers to the interaction between the target object and other objects, such as... Figure 6 As shown, viewing an article is a type of object behavior, and viewing a video is another type of object behavior.
[0119] S2012: Using multiple meta-paths in the graph data structure corresponding to the node type of the target object as different data sources, obtain multiple sub-vectors of the target object that conform to multiple meta-paths in the graph data structure.
[0120] Metapaths are path types identified by the connection relationships between node types. They are used to aggregate information among node types in a graph data structure and can be predefined. A single metapath belonging to the type of the target object represents one data source, while multiple metapaths belonging to the same type of the target object represent different data sources.
[0121] exist Figure 6 There are three node types: user, article, and video. The target object belongs to the user node type. Multiple meta-paths for the target user's node type can be defined as [user, article], [user, video], [user, user, article], and [user, user, video], to serve as multiple sub-vectors from different data sources. This tells the model which paths to aggregate information into the target user's corresponding feature vector. For example, the meta-path [user, article] indicates aggregating article information into the user's corresponding feature vector, and so on. Figure 6 For example, since the target user has viewed both Article 1 and Article 3, this meta-path aims to allow the model to aggregate the features of Article 1 and Article 3 into the feature vector corresponding to the target user, thereby expressing the target user's interests. Based on the four meta-paths defined above, four ways of aggregating information from a graph data structure into the sub-feature vector corresponding to the target user can be expressed, such as... Figure 7 As shown, for example, the metapath of [user, article] is in Figure 7On the far left, "user" refers to the target user, and "article" refers to the articles connected to the target user, specifically Article 1 and Article 3 that the target user has viewed. Information about the articles viewed by the target user is aggregated into the target user's target feature vector using sub-vectors. The four meta-paths correspond to four sub-vectors, and these four sub-vectors come from four different data sources.
[0122] S2013: Determine the target feature vector based on multiple sub-vectors.
[0123] Continue with Figure 7 For example, a target feature vector can be constructed by concatenating four sub-vectors to represent the characteristics of the target object. Subsequently, the feature vector of the target object can be input into the network model along with the feature vectors of other objects to obtain prediction results representing the correlation between the target object and other objects. This application does not impose specific limitations on this process.
[0124] As one possible implementation, in graph neural network applications, a virtual user can be constructed to analyze the meta-path corresponding to the sub-vector to be evaluated. This will continue below with... Figure 6 Taking the [user, article] path in the middle as an example, combined with Figure 8 and Figure 9 The construction of the first and second virtual objects is explained.
[0125] exist Figure 6 In the graph data structure shown, if we analyze the subvectors that conform to the metapath [user, article], that is, if we take the subvectors that conform to the metapath [user, article] as the subvectors to be evaluated, we can determine the importance of the metapath [user, article] relative to the relevance. We can create a first virtual object based on the metapath [user, article]. This first virtual object is only connected to all articles viewed by the target user, such as... Figure 8 As shown, the first virtual feature vector of the first virtual object includes the sub-vector to be evaluated; a second virtual object is created based on the meta-paths [user, video], [user, user, article], and [user, user, video]. The second virtual object is not connected to any articles viewed by the target user, but is connected to other objects connected to the target user, such as... Figure 9 As shown, the second virtual feature vector of the second virtual object includes the comparison sub-vector.
[0126] As one possible implementation, this application embodiment also provides a method for determining the data source, as detailed in S21-S22.
[0127] S21: Based on the relative importance of different data sources to the correlation, rank the different data sources according to their importance and obtain the ranking results.
[0128] S22: Based on the ranking results, identify important and unimportant data sources relative to their correlation among different data sources.
[0129] Multiple sub-vectors can be used as sub-vectors to be evaluated, thereby determining the importance of each data source relative to the correlation. Based on the importance of different data sources relative to the correlation, the importance of different data sources can be ranked to obtain the ranking result. For example, the value of the importance corresponding to each sub-vector can be determined by formula (1), thereby ranking the importance of different data sources based on the data of importance.
[0130] Therefore, the ranking results are used to determine the important and unimportant data sources relative to their correlation among different data sources. For example, the first m data sources in the ranking results are considered important data sources, and the last n data sources are considered unimportant data sources. This application does not specifically limit the values of m and n; those skilled in the art can set them according to actual needs.
[0131] Therefore, this embodiment of the application, by quantifying the importance of different data sources relative to correlation and sorting all data sources, determines important and unimportant data sources. This not only macroscopically determines whether the data sources corresponding to multiple sub-vectors in the target feature vector are important or unimportant, but also more accurately determines the relationship between different data sources and correlation. Because the influence of noise is removed in the process of determining the importance of different data sources relative to correlation, the importance of different data sources relative to correlation can be sorted based on the same standard, improving the accuracy of the sorting results and providing reliable guidance for determining important and unimportant data sources.
[0132] Furthermore, this application embodiment also provides a specific implementation method for determining the feature vector of the object to be processed according to its importance in S206, as detailed in S31-S33.
[0133] S31: For the object to be processed, determine the optimization methods for important data sources.
[0134] The object to be processed should be of the same type as the target object, such as both being users or both being videos. For the object to be processed, determine optimization methods for important data sources, such as further mining data from important sources, refining the labels of data from important sources, and increasing the weights of sub-vectors corresponding to important data sources.
[0135] S32: Obtain the corresponding sub-vectors from important data sources according to the optimization method.
[0136] S33: Determine the feature vector of the object to be processed by the sub-vectors corresponding to important data sources.
[0137] Therefore, by further optimizing the features corresponding to important data sources, such as by conducting in-depth and detailed mining of important data sources, the accuracy of recommending highly relevant objects to the objects to be processed can be improved. Alternatively, data from non-important sources can be abandoned to reduce the waste of human and material resources.
[0138] Next, the method for determining feature vectors provided in this application embodiment will be explained through live streaming of the application scenario of training graph neural network models on platforms such as video accounts.
[0139] As the target user, who watches live streams and articles on the platform, the multiple meta paths of the target user's node type, i.e., the user node type, are [user, platform article], [user, live stream], and [user, user, live stream].
[0140] S41: Obtain the graph data structure of the target user, where the graph data structure is determined based on the target user's behavior on the platform;
[0141] S42: Using the three meta-paths for user node types in the graph data structure as different data sources, obtain three sub-vectors for the target user in the graph data structure that conform to the three meta-paths, namely the sub-vector corresponding to [user, platform article], the sub-vector corresponding to [user, live stream], and the sub-vector corresponding to [user, user, live stream].
[0142] S43: Concatenate the three sub-vectors to obtain the target feature vector of the target user.
[0143] S44: Determine the subvector to be evaluated from the three subvectors, and use the subvectors other than the subvector to be evaluated as the control subvectors.
[0144] For example, first use the subvector corresponding to [user, platform article] as the subvector to be evaluated, and then use the subvector corresponding to [user, live stream] and the subvector corresponding to [user, user, live stream] as the control subvector.
[0145] S45: Determine the first virtual object corresponding to the target user based on the sub-vector to be evaluated, and determine the second virtual object corresponding to the target user based on the reference sub-vector.
[0146] S46: Based on the target feature vector, predict the correlation between the target object and objects in the object group through a network model to obtain the target correlation result; based on the first virtual feature vector of the first virtual object, predict the correlation between the first virtual object and objects in the object group through a network model to obtain the first virtual correlation result; based on the second virtual feature vector of the second virtual object, predict the correlation between the second virtual object and objects in the object group through a network model to obtain the second virtual correlation result.
[0147] S47: Determine the first difference between the target association result and the first virtual association result, determine the second difference between the target association result and the second virtual association result, and determine the importance of the data source corresponding to the sub-vector to be evaluated relative to the association based on the first difference and the second difference.
[0148] S48: Rank the different data sources according to their relative importance to the correlation, and obtain the ranking results.
[0149] After determining the relative importance of the data sources [user, platform article] to the relevance, [user, live stream] and [user, user, live stream] were used as vectors to be evaluated to determine their respective relative importance to the relevance. Experiments showed that the ranking result was [user, live stream] > [user, user, live stream] > [user, public account article].
[0150] Therefore, the current ranking structure is inconsistent with the researchers' intuition. The researchers initially believed that direct user behavior, such as accessing platform articles, was more important than connecting to live streams through user friends, and thus spent considerable effort optimizing the [user, platform article] data. However, the embodiments of this application reveal the conclusion that [user, user, live stream] > [user, public account article]. Furthermore, by optimizing the [user, live stream] and [user, user, live stream] data, training the graph neural network model not only improved the optimization performance of the graph neural network model but also saved a significant amount of time.
[0151] S49: Determine the feature vector of the user to be processed based on its importance, and then use the feature vector to identify objects that are related to the user. For example, input the feature vector of the user to be processed into a trained graph neural network model to obtain live streams that the user to be processed may be interested in on the platform.
[0152] Therefore, by quantitatively analyzing the relative importance of different data sources to the correlation, optimizing the data sources can not only improve the model design of graph neural networks and increase the prediction accuracy of graph neural networks, but also make the recommendation results of graph neural networks more in line with users' interests, thereby improving the user experience in the recommendation system.
[0153] In addition to the feature vector determination method provided in the above embodiments, this application also provides a feature vector determination device.
[0154] See Figure 10 This figure is a schematic diagram of a feature vector determination device provided in an embodiment of this application. Figure 10 As shown, the feature vector determination device 1000 includes: an acquisition unit 1001, a sub-vector determination unit 1002, a virtual object determination unit 1003, a prediction unit 1004, an importance determination unit 1005, and a feature vector determination unit 1006.
[0155] The acquisition unit 1001 is used to acquire the target feature vector of the target object, wherein the target feature vector includes multiple sub-vectors from different data sources;
[0156] The sub-vector determination unit 1002 is used to determine the sub-vector to be evaluated from the plurality of sub-vectors, and to use the sub-vectors other than the sub-vector to be evaluated from the plurality of sub-vectors as reference sub-vectors;
[0157] The virtual object determination unit 1003 is used to determine the virtual object corresponding to the target object based on the target feature vector, wherein the virtual feature vector of the virtual object includes the sub-vector to be evaluated or the reference sub-vector.
[0158] The prediction unit 1004 is configured to predict the correlation between the target object and objects in the object group based on the target feature vector using a network model, thereby obtaining a target correlation result; and to predict the correlation between the virtual object and objects in the object group based on the virtual feature vector using the network model, thereby obtaining a virtual correlation result.
[0159] The importance determination unit 1005 is used to determine the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation by the difference between the target correlation result and the virtual correlation result;
[0160] The feature vector determination unit 1006 is used to determine the feature vector of the object to be processed according to the importance level, so as to determine the object with the correlation with the object to be processed through the feature vector.
[0161] As can be seen from the above technical solution, the target feature vector of the target object is obtained. This target feature vector includes multiple sub-vectors from different data sources. These sub-vectors are first divided into two parts: the sub-vector to be evaluated and the control sub-vector. Then, based on the target feature vector, a virtual object corresponding to the target object is determined, so that the virtual feature vector of the virtual object includes either the sub-vector to be evaluated or the control sub-vector. Thus, the virtual object can serve as a control group for the target object. Based on the target feature vector, a network model predicts the correlation between the target object and objects in the object group, obtaining the target correlation result. Similarly, based on the virtual feature vector, a network model predicts the correlation between the virtual object and objects in the object group, obtaining the virtual correlation result. Since the virtual feature vector only includes a part of the target feature vector, excluding the other part, the difference between the virtual correlation result and the target correlation result lies in the exclusion of the other part of the target feature vector from the virtual feature vector. Therefore, the influence of the virtual feature vector, i.e., a part of the target feature vector, on the target correlation result can be clearly defined. This allows the determination of the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation, and the feature vector of the object to be processed can be determined based on the importance, so as to identify objects correlated with the object to be processed through the feature vector. Therefore, by setting up a virtual object that includes the sub-vector to be evaluated or the control sub-vector, the sub-vector to be evaluated of the target feature vector is completely isolated from the control sub-vector, so that it will not be affected by the noise brought by the data source corresponding to the control sub-vector. This allows for quantitative analysis of the importance of the sub-vector to be evaluated relative to the correlation, making it more accurate. The reliability of the correlation meets the actual needs and helps to indicate the direction of feature vector optimization.
[0162] As one possible implementation, the virtual object includes a first virtual object and a second virtual object, and the virtual object determining unit 1003 is specifically used for:
[0163] The first virtual object corresponding to the target object is determined based on the sub-vector to be evaluated, and the first virtual feature vector of the first virtual object includes the sub-vector to be evaluated.
[0164] The second virtual object corresponding to the target object is determined based on the reference sub-vector, and the second virtual feature vector of the second virtual object includes the reference sub-vector.
[0165] As one possible implementation, the virtual object determining unit 1003 is specifically used for:
[0166] Based on the first virtual feature vector, the network model is used to predict the association between the first virtual object and objects in the object group to obtain the first virtual association result;
[0167] Based on the second virtual feature vector, the network model is used to predict the association between the second virtual object and objects in the object group to obtain the second virtual association result;
[0168] The step of determining the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation by the difference between the target correlation result and the virtual correlation result includes:
[0169] Determine a first difference between the target association result and the first virtual association result, wherein the magnitude of the first difference is negatively correlated with the importance.
[0170] Determine a second difference between the target association result and the second virtual association result, wherein the magnitude of the second difference is positively correlated with the importance.
[0171] Based on the first difference and the second difference, determine the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation.
[0172] As one possible implementation, in the first virtual feature vector, the position corresponding to the position of the reference sub-vector in the target feature vector is set to zero; in the second virtual feature vector, the position corresponding to the position of the sub-vector to be evaluated in the target feature vector is set to zero.
[0173] As one possible implementation, when the virtual feature vector includes the sub-vector to be evaluated, the magnitude of the difference is negatively correlated with the importance; when the virtual feature vector includes the control sub-vector, the magnitude of the difference is positively correlated with the importance.
[0174] As one possible implementation, the acquisition unit 1001 is specifically used for:
[0175] Obtain the graph data structure in which the target object resides, wherein the graph data structure is determined based on the object behavior of the target object;
[0176] Using multiple meta-paths in the graph data structure corresponding to the node type of the target object as different data sources, obtain multiple sub-vectors of the target object that conform to the multiple meta-paths in the graph data structure;
[0177] The target feature vector is determined based on the plurality of sub-vectors.
[0178] As one possible implementation, the sub-vector determination unit 1002 is specifically used for:
[0179] One subvector or a combination of some subvectors is selected from the plurality of subvectors as the subvector to be evaluated.
[0180] As one possible implementation, the target object is any one of a plurality of sampled objects, and the plurality of sampled objects and the target object are objects of the same type. The importance determination unit 1005 is specifically used for:
[0181] Based on the differences determined from the multiple sampling objects, the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation is determined.
[0182] As one possible implementation, the feature vector determination device 1000 further includes a sorting unit, used for:
[0183] Based on the relative importance of the different data sources to the correlation, the different data sources are ranked according to their importance, and a ranking result is obtained;
[0184] Based on the sorting results, important and unimportant data sources relative to the correlation are determined from the different data sources.
[0185] As one possible implementation, the sorting unit is specifically used for:
[0186] For the object to be processed, determine the optimization method for the important data sources;
[0187] According to the optimization method, the corresponding sub-vectors are obtained from the important data sources;
[0188] The feature vector of the object to be processed is determined by the sub-vector corresponding to the important data source.
[0189] As one possible implementation, the target object is a user account, and the objects in the object group are content.
[0190] This application also provides a computer device, which is the computer device described above. This computer device can be a server or a terminal device, and the aforementioned feature vector determination device can be built into the server or terminal device. The computer device provided in this application will be described below from a hardware implementation perspective. Wherein, Figure 11 The diagram shown is a structural schematic of the server. Figure 12 The diagram shown is a structural schematic of the terminal device.
[0191] See Figure 11This figure is a schematic diagram of a server structure provided in an embodiment of this application. The server 1400 can vary considerably due to different configurations or performance. It may include one or more processors 1422, such as a central processing unit (CPU), memory 1432, and one or more application programs 1442 or data storage media 1430 (e.g., one or more mass storage devices). The memory 1432 and storage media 1430 can be temporary or persistent storage. The program stored in the storage media 1430 may include one or more modules (not shown in the figure), each module may include a series of instruction operations on the server. Furthermore, the processor 1422 may be configured to communicate with the storage media 1430 and execute the series of instruction operations in the storage media 1430 on the server 1400.
[0192] Server 1400 may also include one or more power supplies 1426, one or more wired or wireless network interfaces 1450, one or more input / output interfaces 1458, and / or one or more operating systems 1441, such as Windows Server. TM Mac OS X TM Unix TM Linux TM FreeBSD TM etc.
[0193] The steps performed by the server in the above embodiments can be based on this Figure 11 The server structure shown.
[0194] CPU 1422 is used to perform the following steps:
[0195] Obtain the target feature vector of the target object, wherein the target feature vector includes multiple sub-vectors from different data sources;
[0196] The subvector to be evaluated is determined from the plurality of subvectors, and the subvectors other than the subvector to be evaluated from the plurality of subvectors are used as control subvectors;
[0197] Based on the target feature vector, a virtual object corresponding to the target object is determined, wherein the virtual feature vector of the virtual object includes the sub-vector to be evaluated or the reference sub-vector;
[0198] Based on the target feature vector, the network model is used to predict the association between the target object and objects in the object group to obtain the target association result; and based on the virtual feature vector, the network model is used to predict the association between the virtual object and objects in the object group to obtain the virtual association result.
[0199] The importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation is determined by the difference between the target correlation result and the virtual correlation result;
[0200] The feature vector of the object to be processed is determined based on the importance level, so as to identify the object with the association with the object to be processed through the feature vector.
[0201] Optionally, the CPU 1422 may also execute method steps of any specific implementation of the feature vector determination method in the embodiments of this application.
[0202] See Figure 12 The figure is a schematic diagram of the structure of a terminal device provided in an embodiment of this application. Figure 12 This diagram illustrates a partial structure of a smartphone related to the terminal device provided in this embodiment. The smartphone includes components such as a radio frequency (RF) circuit 1510, a memory 1520, an input unit 1530, a display unit 1540, a sensor 1550, an audio circuit 1560, a Wi-Fi module 1570, a processor 1580, and a power supply 1590. Those skilled in the art will understand that... Figure 12 The smartphone structure shown does not constitute a limitation on smartphones and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0203] The following is combined Figure 12 A detailed introduction to the various components of a smartphone:
[0204] The RF circuit 1510 can be used to receive and transmit signals during information transmission or calls. In particular, it receives downlink information from the base station and processes it with the processor 1580; in addition, it transmits uplink data to the base station.
[0205] The memory 1520 can be used to store software programs and modules, and the processor 1580 runs the software programs and modules stored in the memory 1520 to realize various functions and data processing of the smartphone.
[0206] Input unit 1530 can be used to receive input numeric or character information and generate key signal inputs related to user settings and function control of the smartphone. Specifically, input unit 1530 may include touch panel 1531 and other input devices 1532. Touch panel 1531, also known as a touch screen, can collect touch operations on or near the user and drive corresponding connected devices according to a pre-set program. In addition to touch panel 1531, input unit 1530 may also include other input devices 1532. Specifically, other input devices 1532 may include, but are not limited to, one or more of the following: physical keyboard, function keys (such as volume control buttons, power buttons, etc.), trackball, mouse, joystick, etc.
[0207] The display unit 1540 can be used to display information input by the user or information provided to the user, as well as various menus of the smartphone. The display unit 1540 may include a display panel 1541, which may optionally be configured as a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
[0208] Smartphones may also include at least one sensor 1550, such as a light sensor, a motion sensor, and other sensors. Other sensors that smartphones may also be equipped with, such as gyroscopes, barometers, hygrometers, thermometers, and infrared sensors, will not be detailed here.
[0209] Audio circuit 1560, speaker 1561, and microphone 1562 provide an audio interface between the user and the smartphone. Audio circuit 1560 converts received audio data into electrical signals and transmits them to speaker 1561, where speaker 1561 converts them into sound signals for output. On the other hand, microphone 1562 converts collected sound signals into electrical signals, which are received by audio circuit 1560, converted into audio data, and then processed by processor 1580 before being transmitted via RF circuit 1510 to, for example, another smartphone, or the audio data can be output to memory 1520 for further processing.
[0210] The processor 1580 is the control center of the smartphone, connecting various parts of the smartphone through various interfaces and lines. It performs various functions and processes data by running or executing software programs and / or modules stored in the memory 1520, and by calling data stored in the memory 1520. Optionally, the processor 1580 may include one or more processing units.
[0211] The smartphone also includes a power supply 1590 (such as a battery) that supplies power to various components. Preferably, the power supply can be logically connected to the processor 1580 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system.
[0212] Although not shown, smartphones may also include a camera, Bluetooth module, etc., which will not be described in detail here.
[0213] In this embodiment of the application, the memory 1520 included in the smartphone can store program code and transmit the program code to the processor.
[0214] The processor 1580 included in the smartphone can execute the feature vector determination method provided in the above embodiments according to the instructions in the program code.
[0215] This application also provides a computer-readable storage medium for storing a computer program for executing the feature vector determination method provided in the above embodiments.
[0216] This application also provides a computer program product or computer program that includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the feature vector determination method provided in the various optional implementations of the above aspects.
[0217] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium can be at least one of the following media: read-only memory (ROM), RAM, magnetic disk, or optical disk, etc., and other media capable of storing program code.
[0218] It should be noted that the terms "first," "second," "third," "fourth," etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "corresponding to," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0219] It should be noted that the various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, for the device and system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the description of the method embodiments. The device and system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of the solution in this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0220] The above description is merely one specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Based on the implementation methods provided in the above aspects, this application can also be further combined to provide more implementation methods. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for determining an eigenvector, characterized in that, The method includes: Obtain the graph data structure in which the target object resides, the graph data structure including user nodes, article nodes, and video nodes; Using multiple meta-paths in the graph data structure corresponding to the node type of the target object as different data sources, the target feature vector of the target object is obtained. The target feature vector includes multiple sub-vectors in the graph data structure that conform to the multiple meta-paths. The sub-vectors corresponding to the multiple meta-paths include sub-vectors corresponding to the target user viewing an article, sub-vectors corresponding to the target user viewing a video, sub-vectors corresponding to the target user's friends viewing an article, and sub-vectors corresponding to the target user's friends viewing a video. In the graph data structure, a first virtual object and a second virtual object are constructed. The first virtual feature vector of the first virtual object is composed of the sub-vector to be evaluated from the plurality of sub-vectors. The second virtual feature vector of the second virtual object is composed of the reference sub-vectors other than the sub-vector to be evaluated from the plurality of sub-vectors. The virtual object is not a real object. The virtual object is a virtual object constructed based on the target feature vector of the target object. The feature vector of the virtual object is a virtual feature vector. The virtual feature vector only includes a portion of the sub-vectors of the target feature vector. The behavior of the virtual object is controllable. Based on the target feature vector, the network model predicts the association between the target object and objects in the object group to obtain a target association result; and based on the first virtual feature vector and the second virtual feature vector, the network model predicts the association between the virtual object and objects in the object group to obtain a virtual association result, wherein the virtual association result includes a first virtual association result and a second virtual association result, wherein the first virtual association result is obtained based on the first virtual feature vector and the second virtual association result is obtained based on the second virtual association result; The importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation is determined by the difference between the target correlation result and the virtual correlation result; the magnitude of the difference between the target correlation result and the first virtual correlation result is negatively correlated with the importance; the magnitude of the difference between the target correlation result and the second virtual correlation result is positively correlated with the importance. The feature vector of the object to be processed is determined based on the importance level, so as to identify the object with the association with the object to be processed through the feature vector.
2. The method according to claim 1, characterized in that, The step of determining the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation by the difference between the target correlation result and the virtual correlation result includes: Determine the first difference between the target association result and the first virtual association result; Determine a second difference between the target association result and the second virtual association result; Based on the first difference and the second difference, determine the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation.
3. The method according to claim 2, characterized in that, In the first virtual feature vector, the position corresponding to the control sub-vector in the target feature vector is set to zero; in the second virtual feature vector, the position corresponding to the sub-vector to be evaluated in the target feature vector is set to zero.
4. The method according to any one of claims 1-3, characterized in that, The method further includes: One subvector or a combination of some subvectors is selected from the plurality of subvectors as the subvector to be evaluated.
5. The method according to claim 1, characterized in that, The target object is any one of a plurality of sampled objects, and the plurality of sampled objects and the target object are objects of the same type. Determining the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation based on the difference between the target correlation result and the virtual correlation result includes: Based on the differences determined from the multiple sampling objects, the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation is determined.
6. The method according to claim 1, characterized in that, The method further includes: Based on the relative importance of the different data sources to the correlation, the different data sources are ranked according to their importance, and a ranking result is obtained; Based on the sorting results, important and unimportant data sources relative to the correlation are determined from the different data sources.
7. The method according to claim 6, characterized in that, Determining the feature vector of the object to be processed based on the importance level includes: For the object to be processed, determine the optimization method for the important data sources; According to the optimization method, the corresponding sub-vectors are obtained from the important data sources; The feature vector of the object to be processed is determined by the sub-vector corresponding to the important data source.
8. The method according to claim 1, characterized in that, The target object is the user account, and the objects in the object group are the content.
9. A device for determining an eigenvector, characterized in that, The device includes: an acquisition unit, a sub-vector determination unit, a virtual object determination unit, a prediction unit, an importance determination unit, and a feature vector determination unit; The acquisition unit is used to acquire the graph data structure where the target object is located, and the graph data structure includes user nodes, article nodes and video nodes. The sub-vector determination unit is used to obtain the target feature vector of the target object by taking multiple meta-paths in the graph data structure that correspond to the node type of the target object as different data sources. The target feature vector includes multiple sub-vectors in the graph data structure that conform to the multiple meta-paths. The sub-vectors corresponding to the multiple meta-paths include sub-vectors corresponding to the target user viewing an article, sub-vectors corresponding to the target user viewing a video, sub-vectors corresponding to the target user's friends viewing an article, and sub-vectors corresponding to the target user's friends viewing a video. The virtual object determination unit is used to construct a first virtual object and a second virtual object in the graph data structure. The first virtual feature vector of the first virtual object is composed of the sub-vector to be evaluated among the plurality of sub-vectors. The second virtual feature vector of the second virtual object is composed of the reference sub-vectors other than the sub-vector to be evaluated among the plurality of sub-vectors. The virtual object is not a real object. The virtual object is a virtual object constructed based on the target feature vector of the target object. The feature vector of the virtual object is a virtual feature vector. The virtual feature vector only includes a portion of the sub-vectors of the target feature vector. The behavior of the virtual object is controllable. The prediction unit is configured to predict the correlation between the target object and objects in the object group using a network model based on the target feature vector, thereby obtaining a target correlation result; and to predict the correlation between the virtual object and objects in the object group using the network model based on the first virtual feature vector and the second virtual feature vector, thereby obtaining a virtual correlation result, wherein the virtual correlation result includes a first virtual correlation result and a second virtual correlation result, wherein the first virtual correlation result is obtained based on the first virtual feature vector and the second virtual correlation result is obtained based on the second virtual correlation result. The importance determination unit is used to determine the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation by the difference between the target correlation result and the virtual correlation result; the magnitude of the difference between the target correlation result and the first virtual correlation result is negatively correlated with the importance; the magnitude of the difference between the target correlation result and the second virtual correlation result is positively correlated with the importance. The feature vector determination unit is used to determine the feature vector of the object to be processed according to the importance level, so as to determine the object with the correlation with the object to be processed through the feature vector.
10. The apparatus according to claim 9, characterized in that, The virtual object determination unit is further specifically used for: Determine the first difference between the target association result and the first virtual association result; Determine a second difference between the target association result and the second virtual association result; Based on the first difference and the second difference, determine the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation.
11. The apparatus according to claim 10, characterized in that, In the first virtual feature vector, the position corresponding to the control sub-vector in the target feature vector is set to zero; in the second virtual feature vector, the position corresponding to the sub-vector to be evaluated in the target feature vector is set to zero.
12. The apparatus according to any one of claims 9-11, characterized in that, The sub-vector determination unit is specifically used for: One subvector or a combination of some subvectors is selected from the plurality of subvectors as the subvector to be evaluated.
13. The apparatus according to claim 9, characterized in that, The target object is any one of a plurality of sampled objects, and the plurality of sampled objects and the target object are objects of the same type. The importance determination unit is specifically used for: Based on the differences determined from the multiple sampling objects, the importance of the data source corresponding to the sub-vector to be evaluated relative to the correlation is determined.
14. The apparatus according to claim 9, characterized in that, The feature vector determination device further includes a sorting unit, used for: Based on the relative importance of the different data sources to the correlation, the different data sources are ranked according to their importance, and a ranking result is obtained; Based on the sorting results, important and unimportant data sources relative to the correlation are determined from the different data sources.
15. The apparatus according to claim 14, characterized in that, The sorting unit is specifically used for: For the object to be processed, determine the optimization method for the important data sources; According to the optimization method, the corresponding sub-vectors are obtained from the important data sources; The feature vector of the object to be processed is determined by the sub-vector corresponding to the important data source.
16. The apparatus according to claim 9, characterized in that, The target object is the user account, and the objects in the object group are the content.
17. A computer device, characterized in that, The computer device includes a processor and memory: The memory is used to store computer programs and to transfer the computer programs to the processor; The processor is configured to execute the method described in any one of claims 1-8 according to instructions in the computer program.
18. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store a computer program for performing the method according to any one of claims 1-8.
19. A computer program product comprising a computer program, characterized in that, When it is run on a computer device, it causes the computer device to perform the method described in any one of claims 1-8.
Citation Information
Patent Citations
Individualized recommending method and system based on element path
CN103955535A
Recommendation model evaluation method and device and electronic equipment
CN113190746A
Model online updating method and device, equipment, storage medium and computer product
CN114429220A