Data recording source user determination method and apparatus, electronic device, and medium
Patent Information
- Application Number
- CN202211538988.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-02
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2042-12-02
AI Technical Summary
[0005]本申请提供一种数据记录的来源用户确定方法、装置、电子设备及存储介质,用以解决现有技术无法从不同数据源中确定相同身份的用户的问题,实现从不同数据源中确定相同身份的用户,以精准建立顾客肖像的技术效果
[0039]另一方面,本申请提供一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机执行指令,上述计算机执行指令被处理器执行时用于实现如任一项上述的方法。
Smart Images

Figure CN116150432B_ABST
Abstract
Description
Technical Field
[0001] This application relates to computer technology, and more particularly to a method, apparatus, electronic device, and medium for determining the source user of a data record. Background Technology
[0002] In internet marketing and after-sales service, accurately creating customer profiles is a crucial foundational task. This requires first understanding customer browsing history across various websites and then using this data to infer customer preferences and needs. This allows for targeted product recommendations on subsequent visits, or adjustments to marketing and production strategies based on this information to improve service levels.
[0003] To obtain product user information and records from multiple channels, it is first necessary to locate the product user's access records and determine the source of access. However, this is extremely difficult for some product users who do not need to log in.
[0004] Therefore, it is necessary to identify and align users (product users) with the same identity from different data sources to achieve the user identity resolution task in order to accurately build customer profiles. Summary of the Invention
[0005] This application provides a method, apparatus, electronic device, and storage medium for determining the source user of data records, in order to solve the problem that the prior art cannot determine users with the same identity from different data sources, and to achieve the technical effect of accurately establishing customer profiles by determining users with the same identity from different data sources.
[0006] On the one hand, this application provides a method for determining the source user of data records, the method comprising:
[0007] Retrieve multiple data records from multiple data sources, as well as the data attributes corresponding to each data record. For any one data source, there exists at least one other data source, and there are at least one data record with the same data attribute between the two data sources.
[0008] Based on the data attributes corresponding to each data record, multiple data records are stored in the graph storage space, where each data attribute corresponds to a storage node in the graph storage space;
[0009] Obtain the predefined relationships between multiple data attributes, and add edges between multiple storage nodes in the graph storage space based on the predefined relationships;
[0010] A representation learning algorithm is used to represent multiple storage nodes and edges as spatial vectors, so as to determine whether multiple data records originate from the same user based on the vector distance between multiple spatial vectors.
[0011] Furthermore, based on the data attributes corresponding to each data record, multiple data records are stored in the graph storage space, including:
[0012] Split multiple data records from multiple data sources based on data attributes to obtain the split data record corresponding to each data attribute;
[0013] Retrieve the storage node corresponding to each data attribute in the graph storage space;
[0014] The split data records corresponding to each data attribute are stored in the storage node corresponding to that data attribute in the graph storage space.
[0015] Furthermore, the method also includes:
[0016] Create a record node in the graph storage space corresponding to each data record, where each data record corresponds to one or more storage nodes;
[0017] Add an edge between the record node and at least one storage node corresponding to the data record.
[0018] Furthermore, after storing multiple data records into the graph storage space according to their respective data attributes, the method also includes:
[0019] The system detects whether there are duplicate storage nodes in the graph storage space. Duplicate storage nodes are those with the same data attributes and data storage content.
[0020] Duplicate storage nodes are merged into one storage node.
[0021] Furthermore, each storage node corresponds to an entity, and each edge corresponds to a predetermined relationship between the first and second entities connected to it. The representation learning algorithm is implemented based on at least one of the following neural network models: translation model, rotation model, semantic matching model, graph convolutional neural network model, and pre-trained language model.
[0022] On the other hand, this application provides a device for determining the source user of a data record, the device comprising:
[0023] The second acquisition module is used to acquire multiple data records from multiple data sources, as well as the data attributes corresponding to each of the multiple data records. For any one data source, there exists at least one other data source, and there are at least one data record with the same data attribute between the two.
[0024] The storage module is used to store multiple data records into the graph storage space according to their respective data attributes, wherein each data attribute corresponds to a storage node in the graph storage space;
[0025] The second acquisition module is used to acquire the predetermined relationship between multiple data attributes, so as to add edges between multiple storage nodes in the graph storage space based on the predetermined relationship;
[0026] The determination module is used to represent multiple storage nodes and edges as spatial vectors using a representation learning algorithm, so as to determine whether the source users of multiple data records are the same user based on the vector distance between the multiple spatial vectors.
[0027] Furthermore, the storage module includes:
[0028] Split sub-units are used to split multiple data records from multiple data sources based on data attributes, so as to obtain the split data record corresponding to each data attribute;
[0029] Get sub-units, used to retrieve the storage node corresponding to each data attribute in the graph storage space;
[0030] The storage sub-unit is used to store the split data records corresponding to each data attribute to the storage node corresponding to that data attribute in the graph storage space.
[0031] Furthermore, the device also includes:
[0032] The creation module is used to create a record node in the graph storage space corresponding to each data record, wherein each data record corresponds to one or more storage nodes;
[0033] Add a module to add an edge between a record node and at least one storage node corresponding to a data record.
[0034] Furthermore, after storing multiple data records into the graph storage space according to their respective data attributes, the method also includes:
[0035] The system detects whether there are duplicate storage nodes in the graph storage space. Duplicate storage nodes are those with the same data attributes and data storage content.
[0036] Duplicate storage nodes are merged into one storage node.
[0037] Furthermore, each storage node corresponds to an entity, and each edge corresponds to a predetermined relationship between the first and second entities connected to it. The representation learning algorithm is implemented based on at least one of the following neural network models: translation model, rotation model, semantic matching model, graph convolutional neural network model, and pre-trained language model.
[0038] On the other hand, this application provides an electronic device, including: a processor and a memory connected to the processor; the memory stores computer execution instructions; the processor executes the computer execution instructions stored in the memory to implement any of the methods described above.
[0039] On the other hand, this application provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement any of the methods described above.
[0040] On the other hand, this application provides a computer program product, including a computer program that, when executed by a processor, implements any of the methods described above.
[0041] This application provides a method, apparatus, electronic device, and storage medium for determining the source user of data records. It acquires multiple data records from multiple data sources, along with their corresponding data attributes. For any given data source, there exists at least one other data source with at least one data record sharing the same data attribute. Based on the data attributes, the multiple data records are stored in a graph storage space, where each data attribute corresponds to a storage node. A predetermined relationship between the multiple data attributes is obtained, and edges are added between the storage nodes in the graph storage space based on this relationship. A representation learning algorithm is used to represent the multiple storage nodes and edges as spatial vectors, and the vector distance between these spatial vectors is used to determine whether the source user of the multiple data records is the same user. This addresses the problem in existing technologies where it is impossible to determine users with the same identity from different data sources, achieving the technical effect of accurately establishing customer profiles by identifying users with the same identity from different data sources. Attached Figure Description
[0042] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0043] Figure 1 A flowchart illustrating a method for determining the source user of a data record, provided in an embodiment of this application;
[0044] Figure 2 A flowchart illustrating an optional method for determining the source user of a data record, provided in an embodiment of this application;
[0045] Figure 3 This application provides a schematic diagram of a scenario where data records are stored in a graph storage space, as illustrated in an embodiment of the present application.
[0046] Figure 4A structural block diagram of a data record source user determination device provided in an embodiment of this application;
[0047] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.
[0048] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0049] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0050] Identity resolution is the task of finding and aligning product users with the same identity across different information channels. To achieve this, many existing methods exist, which operate on records or specific attributes within records and match records from the same source. The first type of method directly matches different records using manually defined rules; the second type calculates similarity between different records or their attributes and matches them based on this similarity; the third type uses relational reasoning to deduce the possible sources of records.
[0051] The first type of method, such as traditional identity resolution methods, directly matches based on preset rules. This method is the simplest and most natural. This method requires that the patterns of the two records have at least some overlap, meaning they must contain at least some attributes of the same category, such as a portion of the product user's name, email address, phone number, or address (but this content does not have to be completely identical; otherwise, direct matching is possible).
[0052] The first type of method has the following drawbacks: First, it relies on expert design. This identity resolution method depends almost entirely on expert-designed rules, and if the rules are poorly designed, the matching results will be quite poor. Second, it cannot fully cover all paradigms. Manually designed rules are unlikely to cover all types, which determines that this method will inevitably have some shortcomings. Third, it lacks transferability. All rules can only be constructed for the current dataset. In another dataset with different patterns, it may be necessary to redesign the rules.
[0053] The second type of method, such as similarity-based identity resolution methods, calculates the similarity between records using certain methods, assuming that records with a similarity score higher than a certain level originate from the same product user. Depending on the method of calculating similarity, typical similarity-based identity resolution methods include those based on thesaurus and semantic verification, as well as those based on machine learning and active learning.
[0054] The drawbacks of the second type of method mentioned above are: First, it can only handle text-type attributes because all similarity calculation functions are based on synonyms or antonyms of text, and cannot calculate similarity for non-text-type attributes. Second, it requires some manual annotation. The Automated Semantic Matching of Ontologies with Verification (ASMOV) method requires manually constructing thesaurus and antonym sets, and machine learning and active learning methods also require a certain amount of labeled data, all of which require manual annotation.
[0055] The third type of method, for example, considers the relationships between attributes contained in a record, as well as between attributes and product users. It leverages the semantic equivalence between the relationships of two data records to infer whether the records are equivalent. PARIS (Probabilistic Alignment of Relations, Instances, and Schema), a typical example of this approach, functionalizes relations and further performs probabilistic calculations based on relational reasoning principles, thus probabilizing entity alignment and achieving the entity alignment task. Here, "entity" refers to the collective term for attributes, records, or product users connected by the relationship.
[0056] The drawback of the second type of method mentioned above is that it can only handle one-to-one relationships. For example, if a head entity can correspond to multiple tail entities under a certain relationship, or multiple head entities can correspond to one tail entity, such as a product user having multiple mobile phone numbers, then reasoning and matching cannot be performed.
[0057] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0058] To address the aforementioned technical problems, embodiments of this application provide a method for determining the source user of data records. Figure 1 This is a flowchart illustrating a method for determining the source user of data records according to an embodiment of the present invention, as shown below. Figure 1As shown, the method includes:
[0059] S101, obtain multiple data records from multiple data sources, and the data attributes corresponding to each of the multiple data records, wherein for any one data source, there exists at least one other data source, and there is at least one data record with the same data attribute between the two.
[0060] S102, based on the data attributes corresponding to each data record, store the multiple data records into the graph storage space, where each data attribute corresponds to a storage node in the graph storage space.
[0061] S103, obtain the predefined relationship between multiple data attributes, and add edges between multiple storage nodes in the graph storage space based on the predefined relationship.
[0062] S104, a representation learning algorithm is used to represent multiple storage nodes and edges as spatial vectors, so as to determine whether the source users of multiple data records are the same user based on the vector distance between multiple spatial vectors.
[0063] The method for determining the source user of data records provided in this application embodiment can be used in scenarios such as establishing customer profiles in internet marketing and after-sales service.
[0064] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or refuse.
[0065] Optionally, in this embodiment of the application, determining the source user of different data records constitutes a user identity resolution task. By mastering data such as customers' access records on various websites, and inferring customers' preferences and needs, relevant products can be pushed to them on their next visit, or market and production strategies can be changed based on relevant information to improve service levels.
[0066] Optionally, multiple data sources refer to data sources from different data channels (e.g., different shopping websites). Each data source contains webpage access records of product users, or information such as submitted work orders and emails. This information is collectively referred to as data records.
[0067] Optionally, the aforementioned data attributes include, but are not limited to, name, email address, mobile phone number, address, etc. For any given data source, there exists at least one other data source with at least one data record sharing the same data attribute. It should be noted that this embodiment does not require that any two records must have the same attribute; in practice, it is sufficient that there is an intersection of attributes between two data records.
[0068] Optionally, a data record may contain one or more data attributes.
[0069] For example, each data record may contain one or more pieces of personal information such as the product user's name, email address, and mobile phone number. This information can be called the product user's data attributes. The set of attribute categories contained in each data record is also called the pattern of the data record. The goal is to use the data attributes contained in data records from different channels to pinpoint the source user of each data record, that is, the product user who accessed the webpage.
[0070] In this embodiment of the application, a graph storage space is constructed by using data attributes as storage nodes. Specifically, in the graph storage space, each data attribute corresponds to a storage node in the graph storage space. Multiple data records can be stored in the graph storage space according to their respective data attributes.
[0071] Next, pre-defined relationships between multiple data attributes are obtained, and edges are added between multiple storage nodes in the graph storage space based on these relationships. Then, a representation learning algorithm can be used to represent the multiple storage nodes and edges as spatial vectors, and the source user of multiple data records can be determined based on the vector distance between these spatial vectors.
[0072] There are pre-defined relationships between the various data attributes contained in a data record, as well as between the data attributes and the product user. The semantic equivalence between the pre-defined relationships of two data records can be used to infer whether the two data records are equivalent.
[0073] In one optional embodiment, each storage node corresponds to one entity, and each edge corresponds to a predetermined relationship between the first entity and the second entity. Optionally, the first entity is the head entity and the second entity is the tail entity. Similarly, the second entity can be the head entity and the first entity can be the tail entity.
[0074] Optionally, under a certain pre-determined relationship, one head entity can correspond to one tail entity. For example, a product user may have a real name. Under a certain pre-determined relationship, one head entity may correspond to multiple tail entities, or multiple head entities may correspond to one tail entity. For example, a product user may have multiple mobile phone numbers, multiple shipping addresses, etc.
[0075] The representation learning method proposed in this invention can be a type of method specifically for graph-type data. For example, the representation learning algorithm is implemented based on at least one of the following neural network models: translation model, rotation model, semantic matching model, graph convolutional neural network model, and pre-trained language model.
[0076] In this embodiment, the representation learning method transforms all nodes and edges in the graph into distributed vectors. These distributed vectors have multiple dimensions, each representing a feature extracted by a relevant algorithm. Vectors that are closer in distance within the vector space are more similar; when the distance is close enough, they are considered identical. Through the representation learning method, all nodes with the same attribute in the graph space can be obtained, and it can be assumed that the records they originate from belong to the same product user, thus enabling the resolution of product user identities.
[0077] The present invention aims to establish a product user identity resolution method based on representation learning. In response to the problem of chaotic data records from different channels and unclear product user identities, the method stores data records from different channels in the same graph storage space for management and uses representation learning methods for data alignment.
[0078] Data records from different sources generally possess different data attributes, and the alignment algorithms used for data records with different attributes typically differ. This leads to extremely complex algorithm design and limited portability. Therefore, this application's embodiments first require processing data records from multiple data sources to uniformly align them using a representation learning algorithm. For example, a representation learning algorithm is used to transform each data record into a distributed vector, which represents the characteristics of the data record. Vectors that are closer in space have higher similarity, thus enabling the parsing of product user identities.
[0079] In another example, multiple data records are stored in the graph storage space according to their respective data attributes, including:
[0080] S201, split multiple data records from multiple data sources according to data attributes to obtain the split data record corresponding to each data attribute.
[0081] S202, obtain the storage node corresponding to each data attribute in the graph storage space.
[0082] S203, store the split data record corresponding to each data attribute to the storage node corresponding to that data attribute in the graph storage space.
[0083] like Figure 2The diagram shows multiple data sources, data source 1, data source 2, ..., data source n. Taking the matching of two data sources as an example, let's first assume that data source 1 is x. (1) It has attributes Record Similarly, data source 2 is denoted as This represents the attribute of the j-th data item in data source k. The specific content, Similarly, the two data sources must have at least one common attribute, which means that:
[0084] Furthermore, the situation is similar for multiple data sources, but it requires that no data source has all its properties isolated from all other data sources, that is:
[0085] Data records from different data sources generally have different schemas, meaning their data attributes are not entirely the same. Different algorithms are needed for data records with different schemas, which greatly increases the workload of algorithm design. Furthermore, if data records with different data attributes need to be stored separately, it will undoubtedly increase the difficulty of data retrieval. Therefore, such as... Figure 2 As shown, in this embodiment of the invention, the minimum storage structure of user data is split into individual data records according to data attributes and stored in a graph database, that is, stored in the graph storage space, for easy subsequent management and storage.
[0086] Specifically, such as Figure 3 As shown in the figure, taking the j-th record of the k-th data source as an example, it contains m data attributes. In this embodiment of the invention, there is no need to consider the data source of the data record. Instead, each data record is split according to the data attributes to obtain the split data record corresponding to each data attribute. Each data attribute is used as a storage node in the graph storage space. Data records with the same data attributes can be stored on a storage node.
[0087] In another example, the above method also includes:
[0088] S301, create a record node in the graph storage space corresponding to each data record, wherein each data record corresponds to one or more storage nodes.
[0089] S302, add an edge between the record node and at least one storage node corresponding to the data record.
[0090] In one example, each data record is split according to its data attributes, and the data attributes are used as the smallest storage structure unit. That is, each data attribute is treated as a separate storage node in the graph storage space, also known as an attribute node. Furthermore, in this embodiment, additional record nodes are created in the graph storage space. We can consider pre-defined relationships between data attributes and use these relationships to add edges between storage nodes in the graph storage space, as well as add top edges between record nodes and storage nodes.
[0091] In an optional embodiment, after storing the multiple data records into the graph storage space according to their respective data attributes, the method further includes:
[0092] S401, Detect whether there are duplicate storage nodes in the graph storage space, where duplicate storage nodes are storage nodes with the same data attributes and data storage content.
[0093] S402 merges duplicate storage nodes into a single storage node.
[0094] It should be noted that the graph storage space in this embodiment is a heterogeneous graph, meaning that the nodes and edges in the graph storage space each have different types, and their types depend on the types of the attributes themselves. Each node in the graph storage space can be considered to correspond to an entity, and each edge represents the relationship between entities.
[0095] Furthermore, depending on the specific situation, the edges between record nodes and attribute nodes can be connected in two ways. For example, a record node may be connected to all attribute nodes within that record; or, a record node may be connected to only one of the more important attribute nodes. "Important" here refers to a node that better reflects the characteristics of the product user or has more connections to other nodes.
[0096] After storing the split data records in the graph storage space, duplicate nodes can be further merged. Duplicate nodes are nodes with the same attribute type and content, and this data attribute should have a certain degree of exclusivity, meaning that nodes with the same name must only point to the same entity in reality. This merging step can also be completed when storing the split data records in the graph storage space, i.e., a duplicate check is performed when creating nodes.
[0097] After creating the graph database using the above method, representation learning methods are further used to resolve product user identities.
[0098] The representation learning method referred to in this invention is a class of methods specifically for graph-type data. It transforms all nodes and edges in the graph storage space into distributed vectors (spatial vectors). The distributed vectors have multiple dimensions, each representing an extracted feature. Vectors that are closer in distance in the vector space are more similar, and when the distance is close to a certain extent, they are considered to be the same.
[0099] Still Figure 2 As shown, by using representation learning methods to calculate vector distance for node matching, all nodes with the same attribute in the graph storage space can be obtained, and it can be assumed that the records from which they originate belong to the same product user, that is, the node affiliation is determined, and the identity resolution of the product user can be realized.
[0100] Optionally, the method for determining the distance between two vectors in a vector space can be Euclidean distance, Manhattan distance, or other distances defined by other methods.
[0101]
[0102] d = |x1-y1| + |x2-y2| + ... + |x n -y n |
[0103] In addition, there is an optional embodiment in which the representation learning method of the present invention includes, but is not limited to, any of the following methods or derivative methods:
[0104] Translation Model: This method assumes that there is a translation relationship between the head entity and the tail entity. The sum of the head entity vector (the spatial vector of the head entity) and the relation vector (the spatial vector of the predetermined relation) of the head entity is used as the tail entity vector (the spatial vector of the tail entity). Machine learning is used to make the vectors of all entities and relations conform to this rule to the greatest extent.
[0105] Rotation Model: This method assumes that there is a rotation relationship between the head entity and the tail entity. In complex space, the product of the head entity vector of the head entity and the relation vector of the predetermined relationship is used as the tail entity vector of the tail entity. Machine learning is used to make the vectors of all entities and relations conform to this rule to the greatest extent.
[0106] Semantic matching model: This method assumes that there is a certain matching effect between the head and tail entities in the relation, and assumes that the relation is a diagonal matrix. The product of the head entity vector, the relation matrix and the tail entity vector should be as large as possible. Machine learning methods are used to make all entity vectors conform to this rule to the greatest extent possible with the relation matrix.
[0107] Graph Convolutional Neural Network (GCN): GCN is a neural network model designed for graph structures. It extracts features from nodes and edges in the graph's storage space through aggregation and propagation, and can generate a spatial vector for each node or edge.
[0108] Pre-trained Language Model (PLM): PLM is a neural network model that is pre-trained with a large amount of text. It can accurately encode nodes or edges of text type and generate spatial vectors.
[0109] In this embodiment of the application, one or more of the above methods can be used to generate spatial vectors for storage nodes and edges, and the similarity or identity of nodes can be determined by using Euclidean distance, Manhattan distance or other defined distances, and further the similarity or identity of records can be determined.
[0110] After matching data records, the storage nodes to which the collected records belong will be further merged to maintain graph storage space for subsequent use and analysis. For example, the following operations can be performed: merging all nodes with duplicate names, with the new node containing all the relationships of the original old node; and establishing some relationships between nodes according to rules.
[0111] To address the issue that different matching methods need to be designed for data with different patterns in identity resolution tasks, this invention stores data with different patterns in the same graph space, breaking it down into smaller parts. Only the attribute types present in different data need to be considered, which greatly reduces the workload of designing algorithms.
[0112] This application also proposes a method that utilizes representation learning to represent nodes and edges in the graph storage space as vectors, and then uses the distance between vectors for matching, greatly improving matching efficiency. Furthermore, only a small number of relationship rules between various data attributes need to be manually specified, significantly reducing manpower compared to the previous methods that required manually formulating numerous matching rules or labeling large amounts of data. Moreover, existing representation learning methods can cover almost all types of data, and combining multiple methods can further improve the accuracy of identity resolution.
[0113] Taking into full account the difficulty of designing algorithms for multi-channel data with different patterns in identity resolution, the data is stored in a graph database according to attributes for management. This allows subsequent algorithms to process only the nodes and edges in this graph space.
[0114] Building upon the above, various representation learning methods are employed to transform each node and edge in the graph space into a vector. The distance between these node vectors is then used for node matching, ultimately achieving record matching and parsing of product user identities. Furthermore, the obtained node and relation vectors can be used for downstream tasks, such as recommendation systems.
[0115] According to one or more embodiments of this application, a device for determining the source user of data records is provided. Figure 4 A structural block diagram of a data record source user determination device provided in this application embodiment is shown below. Figure 4 As shown, the above-mentioned data record source user determination device 400 includes:
[0116] The first acquisition module 401 is used to acquire multiple data records from multiple data sources, as well as the data attributes corresponding to each of the multiple data records. For any one data source, there exists at least one other data source, and there are at least one data record with the same data attribute between the two.
[0117] Storage module 402 is used to store multiple data records into a graph storage space according to their respective data attributes, wherein each data attribute corresponds to a storage node in the graph storage space;
[0118] The second acquisition module 403 is used to acquire the predetermined relationship between multiple data attributes, so as to add edges between multiple storage nodes in the graph storage space based on the predetermined relationship;
[0119] The determination module 404 is used to represent multiple storage nodes and edges as spatial vectors using a representation learning algorithm, so as to determine whether the source users of multiple data records are the same user based on the vector distance between the multiple spatial vectors.
[0120] According to one or more embodiments of this application, a storage module includes:
[0121] Split sub-units are used to split multiple data records from multiple data sources based on data attributes, so as to obtain the split data record corresponding to each data attribute;
[0122] The acquisition sub-unit is used to retrieve the storage node corresponding to each data attribute in the graph storage space; the storage sub-unit is used to store each data attribute corresponding to...
[0123] The split data records are stored on the storage node corresponding to the data attribute in the graph storage space.
[0124] According to one or more embodiments of this application, the apparatus further includes:
[0125] The creation module is used to create a record node in the graph storage space corresponding to each data record, wherein each data record corresponds to one or more storage nodes;
[0126] Add a module to add an edge between a record node and at least one storage node corresponding to a data record.
[0127] According to one or more embodiments of this application, after storing multiple data records into a graph storage space based on their respective data attributes, the method further includes:
[0128] The system detects whether there are duplicate storage nodes in the graph storage space. Duplicate storage nodes are those with the same data attributes and data storage content.
[0129] Duplicate storage nodes are merged into one storage node.
[0130] According to one or more embodiments of this application, each storage node corresponds to an entity, and each edge corresponds to a predetermined relationship between the first entity and the second entity connected to it. The representation learning algorithm is implemented based on at least one of the following neural network models: translation model, rotation model, semantic matching model, graph convolutional neural network model, and pre-trained language model.
[0131] In an exemplary embodiment, this application also provides an electronic device, including: a processor, and a memory connected to the processor;
[0132] The aforementioned memory stores instructions executed by the computer;
[0133] The processor executes computer execution instructions stored in the memory to implement any of the methods described above.
[0134] In an exemplary embodiment, this application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the methods described above.
[0135] In an exemplary embodiment, this application also provides a computer program product, including a computer program that, when executed by a processor, implements any of the methods described above.
[0136] To implement the above embodiments, this application also provides an electronic device.
[0137] refer to Figure 5The diagram illustrates a structural schematic of an electronic device 700 suitable for implementing embodiments of this application. The electronic device 700 can be a terminal device or a server. The terminal device can include, but is not limited to, mobile terminals such as mobile phones, laptops, digital radio receivers, personal digital assistants (PDAs), portable Android devices (PADs), portable media players (PMPs), and in-vehicle terminals (e.g., in-vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 5 The electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.
[0138] like Figure 5 As shown, the electronic device 700 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage device 708 into a random access memory (RAM) 703. The RAM 703 also stores various programs and data required for the operation of the electronic device 700. The processing unit 701, ROM 702, and RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0139] Typically, the following devices can be connected to the I / O interface 705: input devices 707 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 707 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 708 including, for example, magnetic tapes, hard disks, etc.; and communication devices 707. The communication device 707 allows the electronic device 700 to communicate wirelessly or wiredly with other devices to exchange data. Although... Figure 5 An electronic device 700 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0140] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 707, or installed from storage device 708, or installed from ROM 702. When the computer program is executed by processing device 701, it performs the functions defined in the methods of embodiments of this application.
[0141] It should be noted that the computer-readable medium described above in this application can be a computer-readable signal medium, a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor device or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution device or apparatus. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution device or apparatus. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0142] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0143] The aforementioned computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the methods shown in the above embodiments.
[0144] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof. These programming languages include object-oriented programming languages—such as Java, Smalltalk, and C++—and conventional procedural programming languages—such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0145] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of methods and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0146] The units described in the embodiments of this application can be implemented in software or in hardware. The name of a unit does not necessarily limit the unit itself; for example, the first acquisition unit can also be described as "a unit that acquires at least two Internet Protocol addresses".
[0147] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0148] In the context of this application, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution apparatus or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor device or device, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
Claims
1. A method for determining the source user of a data record, characterized in that, The method includes: The system retrieves multiple data records from multiple data sources, along with their respective data attributes. For any given data source, there exists at least one other data source with at least one data record sharing the same data attribute. These data attributes are used to characterize the user's identity. Based on the data attributes corresponding to each of the multiple data records, the multiple data records are stored in the graph storage space, wherein each data attribute corresponds to a storage node in the graph storage space; Obtain predetermined relationships between multiple data attributes, and add edges between multiple storage nodes in the graph storage space based on the predetermined relationships; the predetermined relationships include one-to-one, one-to-many, and many-to-one attribute association forms, used to characterize the logical binding relationships between data attributes; A representation learning algorithm is used to represent multiple storage nodes and edges as spatial vectors, so as to determine whether multiple data records originate from the same user based on the vector distance between the multiple spatial vectors; the spatial vectors are used to characterize the features of data attributes and the correlation features between attributes; The step of storing the multiple data records into the graph storage space according to their respective data attributes includes: The data records in the multiple data sources are split according to the data attributes to obtain the split data record corresponding to each data attribute; the storage node corresponding to each data attribute is obtained on the graph storage space; and the split data record corresponding to each data attribute is stored on the storage node corresponding to the data attribute on the graph storage space.
2. The method according to claim 1, characterized in that, The method further includes: A record node corresponding to each of the data records is created in the graph storage space, wherein each of the data records corresponds to one or more of the storage nodes; Add an edge between the record node and at least one storage node corresponding to the data record.
3. The method according to claim 1, characterized in that, After storing the multiple data records into the graph storage space according to their respective data attributes, the method further includes: Detect whether there are duplicate storage nodes in the graph storage space, wherein the duplicate storage nodes are storage nodes with the same data attributes and data storage content; The duplicate storage nodes are merged into one storage node.
4. The method according to any one of claims 1 to 3, characterized in that, Each of the storage nodes corresponds to an entity, and each of the edges corresponds to a predetermined relationship between the first entity and the second entity connected to it. The representation learning algorithm is implemented based on at least one of the following neural network models: translation model, rotation model, semantic matching model, graph convolutional neural network model, and pre-trained language model.
5. A device for determining the source user of data records, characterized in that, The device includes: The first acquisition module is used to acquire multiple data records from multiple data sources, as well as the data attributes corresponding to each of the multiple data records. For any one data source, there exists at least one other data source, and there are at least one data record with the same data attribute between the two. The data attribute is used to characterize the feature information of the user's identity. A storage module is used to store multiple data records into a graph storage space according to their respective data attributes, wherein each data attribute corresponds to a storage node in the graph storage space; The second acquisition module is used to acquire a predetermined relationship between multiple data attributes, so as to add edges between multiple storage nodes in the graph storage space based on the predetermined relationship; the predetermined relationship includes one-to-one, one-to-many, and many-to-one attribute association forms, which are used to represent the logical binding relationship between data attributes; The determination module is used to represent multiple storage nodes and edges as spatial vectors using a representation learning algorithm, so as to determine whether the source users of multiple data records belong to the same user based on the vector distance between the multiple spatial vectors; the spatial vectors are used to characterize the features of data attributes and the correlation features between attributes; The storage module includes: A splitting subunit is used to split multiple data records from multiple data sources according to the data attributes, so as to obtain the split data record corresponding to each data attribute; A sub-unit is used to obtain the storage node corresponding to each of the data attributes in the graph storage space; The storage subunit is used to store the split data record corresponding to each data attribute to the storage node corresponding to the data attribute in the graph storage space.
6. The apparatus according to claim 5, characterized in that, The device further includes: A creation module is used to create a record node corresponding to each of the data records in the graph storage space, wherein each of the data records corresponds to one or more of the storage nodes; An addition module is used to add an edge between the record node and at least one storage node corresponding to the data record.
7. The apparatus according to claim 5, characterized in that, The device further includes: The detection module is used to detect whether there are duplicate storage nodes in the graph storage space after storing multiple data records into the graph storage space according to their respective data attributes. The duplicate storage nodes are storage nodes with the same data attributes and data storage content. The merging module is used to merge the duplicate storage nodes into one storage node.
8. The apparatus according to any one of claims 5 to 7, characterized in that, Each of the storage nodes corresponds to an entity, and each of the edges corresponds to a predetermined relationship between the first entity and the second entity connected to it. The representation learning algorithm is implemented based on at least one of the following neural network models: translation model, rotation model, semantic matching model, graph convolutional neural network model, and pre-trained language model.
9. An electronic device, characterized in that, include: A processor, and a memory connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1 to 4.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1 to 4.
11. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method of any one of claims 1 to 4.
Citation Information
Patent Citations
Cross-social-network user identity recognition method based on community structure
CN110532436A
Cross-platform user identification method and device
CN110826605A