Frequent data mining method based on federated analysis and related devices

By introducing random prefix segments and extended prefix fields into federated analysis, the problem of limited prefix tree construction is solved, the accuracy and robustness of data mining are improved, the computational complexity of participants is reduced, and data privacy is ensured.

CN116383772BActive Publication Date: 2026-08-04SHENZHEN INST OF ARTIFICIAL INTELLIGENCE & ROBOTICS FOR SOC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHENZHEN INST OF ARTIFICIAL INTELLIGENCE & ROBOTICS FOR SOC
Filing Date
2023-03-30
Publication Date
2026-08-04

AI Technical Summary

Technical Problem

Existing federated analysis techniques are limited by candidate prefix domains when constructing prefix trees, resulting in limited accuracy. Furthermore, they do not consider the limited computing resources of the participants, affecting the robustness and accuracy of data mining.

Method used

By introducing random prefix segments on top of the candidate prefix domain, the prefix domain is expanded, and the target participant is allowed to select perturbation prefix segments within the expanded prefix domain. The federated server constructs a prefix tree and uses a local differential privacy algorithm to relax the restricted domain, allowing subsequent participants to send data within the expanded domain.

Benefits of technology

It improves the robustness and accuracy of data mining, reduces the computational complexity for participants, and enhances the efficiency of federated analysis, especially in scenarios with uneven computing resources, while ensuring data privacy protection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116383772B_ABST
    Figure CN116383772B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a frequent data mining method based on federated analysis and related equipment, which are used for improving the robustness and accuracy of privacy data mining. The method comprises the following steps: receiving a candidate prefix domain of an i-th layer sent by a federated server, wherein the candidate prefix domain comprises at least one candidate prefix segment; determining an extended prefix domain based on the candidate prefix domain of the i-th layer and a random prefix segment; selecting any prefix segment from the extended prefix domain as a perturbation prefix segment; and sending the perturbation prefix segment to the federated server, so that the federated server constructs a prefix tree of the i-th layer according to the perturbation prefix segment sent by each target participant.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of federated analytics, and more particularly to frequent data mining methods and related devices based on federated analytics. Background Technology

[0002] Frequent data mining is an important direction in the field of big data mining. Traditional frequent data mining requires participants to transmit local data to a data center, which then calculates the frequent data. To ensure the data privacy of the participants, Federated Analytics (FA) technology can be used to achieve frequent data mining in privacy-preserving scenarios.

[0003] Federated analytics allows the server to analyze data from multiple participants without them leaving their local machines. Participants need to process their raw data and send it to the central server. Existing solutions use prefix tree models and local differential privacy algorithms to analyze frequent words in user groups. However, the way this algorithm constructs the prefix tree only allows participants to provide frequent data with perturbations within the candidate prefix domain for each iteration. This limits the construction of the prefix tree to the candidate prefix domain, leading to biases and limited accuracy in the resulting prefix tree. Summary of the Invention

[0004] This application provides a method and related equipment for frequent data mining based on federated analysis, which can improve the robustness and accuracy of privacy data mining.

[0005] The first aspect of this application provides a frequent data mining method based on federated analysis, including:

[0006] Receive the i-th layer candidate prefix field sent by the federation server, wherein the candidate prefix field includes at least one candidate prefix segment;

[0007] Based on the i-th layer candidate prefix field and the random prefix segment, the extended prefix field is determined;

[0008] Select any prefix segment from the extended prefix domain as the perturbation prefix segment;

[0009] The perturbation prefix segment is sent to the federation server so that the federation server constructs the i-th layer prefix tree based on the perturbation prefix segment sent by each target participant.

[0010] In one specific implementation, before determining the extended prefix field based on the i-th layer candidate prefix field and the random prefix segment, the method further includes:

[0011] Determine the preset bit length corresponding to the i-th level prefix tree;

[0012] The random prefix segment is determined based on the inclusion relationship between the target participant's local frequent data and the candidate prefix field, as well as the preset bit length.

[0013] In one specific implementation, determining the random prefix segment based on the inclusion relationship between the target participant's local frequent data and the candidate prefix field, and the preset bit length, includes:

[0014] If the prefix segment of the local frequent data belongs to the candidate prefix field, then the random prefix segment is randomly generated, and the bit length of the random prefix segment is consistent with the preset bit length.

[0015] If the local frequent data does not belong to the candidate prefix field, then the prefix segment of the local frequent data is determined as the random prefix segment, and the bit length of the prefix segment of the local frequent data is consistent with the preset bit length.

[0016] In one specific implementation, before determining the extended prefix field based on the i-th layer candidate prefix field and the random prefix segment, the method further includes:

[0017] Determine the preset bit length corresponding to the i-th level prefix tree;

[0018] Receive a random prefix field sent by other participants, wherein the other participants are participants other than the target participant among a plurality of candidate participants, and the random prefix field is determined by the other participants based on local frequent data;

[0019] Extract the prefix segment of any element in the random prefix field, and determine the prefix segment of any element as a random prefix segment, wherein the bit length of the prefix segment of any element is equal to the preset bit length.

[0020] A second aspect of this application provides a federated server, comprising:

[0021] Send the i-th layer candidate prefix field to each target participant corresponding to the i-th iteration;

[0022] Receive a perturbation prefix segment sent by each target participant, wherein the perturbation prefix segment is determined based on the i-th layer candidate prefix field and the random prefix segment;

[0023] Construct the i-th layer prefix tree based on the perturbation prefix segment sent by each target participant;

[0024] If i is less than the maximum depth of the prefix tree, then the candidate prefix field of the (i+1)th layer is determined based on the nodes of the first i layers of the prefix tree.

[0025] In one specific implementation, before sending the i-th layer candidate prefix field to each target participant corresponding to the i-th iteration, the method further includes:

[0026] Multiple candidate participants are divided into g unrelated participant groups, where g is the maximum depth of the prefix tree. The target participants in the i-th participant group are used to construct the i-th layer of the prefix tree. The number of participants in the i-th participant group is less than the number of participants in the (i+1)-th participant group.

[0027] In one specific implementation, dividing the multiple candidate participants into g unrelated participant groups includes:

[0028] The number of participants required for each iteration is determined using the following formula:

[0029] n i =n / 2g+(i-1)n / (g 2 -g)

[0030] Where, n i Let n represent the number of participants required for the i-th iteration, and n represent the number of alternative participants.

[0031] Based on the number of participants required for each iteration, the multiple candidate participants are divided into g unrelated participant groups, where the number of participants in the i-th participant group is equal to the number of participants required for the i-th iteration.

[0032] In one specific implementation, before sending the i-th layer candidate prefix field to each target participant corresponding to the i-th iteration, the method further includes:

[0033] Select some candidate participants as target participants from multiple candidate participants, and divide the target participants into g unrelated participant groups, where g is the maximum depth of the prefix tree. The target participants in the i-th participant group are used to construct the i-th layer prefix tree. The number of participants in the i-th participant group is less than the number of participants in the (i+1)-th participant group.

[0034] The candidate participants other than the target participant among the multiple candidate participants are identified as other participants, and the random prefix segment is determined by the other participants based on local frequent data.

[0035] A third aspect of this application provides a participant device, comprising:

[0036] A receiving unit is configured to receive a candidate prefix field of the i-th layer sent by a federated server, wherein the candidate prefix field includes at least one candidate prefix segment;

[0037] The determining unit is used to determine the extended prefix field based on the i-th layer candidate prefix field and the random prefix segment;

[0038] The perturbation unit is used to select any prefix segment from the extended prefix domain as a perturbation prefix segment;

[0039] A sending unit is configured to send the perturbation prefix segment to the federation server, so that the federation server constructs the i-th layer prefix tree based on the perturbation prefix segment sent by each target participant.

[0040] In one specific implementation, before determining the extended prefix field based on the i-th layer candidate prefix field and the random prefix segment, the method further includes:

[0041] The determining unit is also used to determine the preset bit length corresponding to the i-th layer prefix tree;

[0042] The determining unit is further configured to determine a random prefix segment based on the inclusion relationship between the target participant's local frequent data and the candidate prefix field, as well as the preset bit length.

[0043] In one specific implementation, the fixed unit is specifically used to randomly generate the random prefix segment if the prefix segment of the local frequent data belongs to the candidate prefix field, and the bit length of the random prefix segment is consistent with the preset bit length.

[0044] If the local frequent data does not belong to the candidate prefix field, then the prefix segment of the local frequent data is determined as the random prefix segment, and the bit length of the prefix segment of the local frequent data is consistent with the preset bit length.

[0045] In one specific implementation, the participating device further includes: an extraction unit;

[0046] The determining unit is also used to determine the preset bit length corresponding to the i-th layer prefix tree;

[0047] The receiving unit is further configured to receive a random prefix field sent by other participants, wherein the other participants are participants other than the target participant among a plurality of candidate participants, and the random prefix field is determined by the other participants based on local frequent data.

[0048] The extraction unit is used to extract the prefix segment of any element in the random prefix field, and determine the prefix segment of any element as a random prefix segment, wherein the bit length of the prefix segment of any element is equal to the preset bit length.

[0049] A fourth aspect of this application provides a federated server, comprising:

[0050] The sending unit is used to send the i-th layer candidate prefix field to each target participant corresponding to the i-th iteration;

[0051] A receiving unit is configured to receive a perturbation prefix segment sent by each target participant, wherein the perturbation prefix segment is determined based on the i-th layer candidate prefix field and the random prefix segment;

[0052] A construction unit is used to construct the i-th layer prefix tree based on the perturbation prefix segment sent by each target participant;

[0053] The determining unit is used to determine the (i+1)th layer candidate prefix field based on the first i layers of nodes of the prefix tree if i is less than the maximum depth of the prefix tree.

[0054] In one specific implementation, the federated server further includes: a partitioning unit;

[0055] The partitioning unit is used to divide multiple candidate participants into g unrelated participant groups, where g is the maximum depth of the prefix tree, the target participants in the i-th participant group are used to construct the i-th layer of the prefix tree, and the number of participants in the i-th participant group is less than the number of participants in the (i+1)-th participant group.

[0056] In one specific implementation, the partitioning unit is specifically used to determine the number of participants required for each iteration according to the following formula:

[0057] n i =n / 2g+(i-1)n / (g 2 -g)

[0058] Where, n i Let n represent the number of participants required for the i-th iteration, and n represent the number of alternative participants.

[0059] Based on the number of participants required for each iteration, the multiple candidate participants are divided into g unrelated participant groups, where the number of participants in the i-th participant group is equal to the number of participants required for the i-th iteration.

[0060] In one specific implementation, the federated server further includes: a partitioning unit;

[0061] The partitioning unit is used to select some candidate participants as target participants from multiple candidate participants, and divide the target participants into g unrelated participant groups, where g is the maximum depth of the prefix tree, the target participants in the i-th participant group are used to construct the i-th layer of the prefix tree, and the number of participants in the i-th participant group is less than the number of participants in the (i+1)-th participant group.

[0062] The determining unit is further configured to determine other candidate participants (excluding the target participant) among a plurality of candidate participants as other participants, wherein the random prefix segment is determined by the other participants based on local frequent data.

[0063] A fifth aspect of this application provides a computer device, including:

[0064] Central processing unit, memory, and input / output interfaces;

[0065] The memory is either a short-term storage memory or a persistent storage memory;

[0066] The central processing unit is configured to communicate with the memory and execute instructions in the memory to perform the method described in the first or second aspect.

[0067] A fourth aspect of this application provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the method described in the first or second aspect.

[0068] A fifth aspect of this application provides a computer storage medium storing instructions that, when executed on a computer, cause the computer to perform the method described in the first or second aspect.

[0069] As can be seen from the above technical solutions, the embodiments of this application have the following advantages: The target participants in each iteration can construct an extended prefix domain using random prefix segments and candidate prefix domains sent by the federated server. Then, the target participants select any prefix segment as a perturbation prefix segment from the extended prefix domain. Finally, the federated server constructs a single-layer prefix tree for this iteration based on the perturbation prefix segments of each target participant. This application proposes a local differential privacy perturbation algorithm. Compared with traditional algorithms, this algorithm relaxes the restricted domain, allowing later participants not to completely rely on the restricted domains from earlier participants. While ensuring data privacy, this algorithm increases robustness and prediction accuracy by allowing later participants to send data outside the candidate extended domain but within the extended prefix domain to the server. Attached Figure Description

[0070] Figure 1 This is a flowchart illustrating a frequent data mining method disclosed in an embodiment of this application.

[0071] Figure 2 This is another flowchart illustrating the frequent data mining method disclosed in the embodiments of this application;

[0072] Figure 3 This is another flowchart illustrating the frequent data mining method disclosed in the embodiments of this application;

[0073] Figure 4 This is another flowchart illustrating the frequent data mining method disclosed in the embodiments of this application;

[0074] Figure 5 This is a schematic diagram of the structure of the participating device disclosed in the embodiments of this application;

[0075] Figure 6 This is a schematic diagram of the structure of the federated server disclosed in an embodiment of this application;

[0076] Figure 7 This is another schematic diagram of the computer device disclosed in the embodiments of this application. Detailed Implementation

[0077] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0078] This application provides a method and related equipment for frequent data mining based on federated analysis, which can improve the robustness and accuracy of privacy data mining.

[0079] Please see Figure 1 This application provides a frequent data mining method, executed by a federated server and / or participant devices (i.e., the target participant corresponding to each iteration), comprising the following steps:

[0080] 101. The federated server sends the i-th layer candidate prefix field to each target participant corresponding to the i-th iteration. The candidate prefix field includes at least one candidate prefix segment.

[0081] It should be noted that in this embodiment, each candidate participant only participates in the construction of any one layer of the prefix tree, and only one layer of the prefix tree is constructed in each iteration. Specifically, only one layer of the prefix tree is constructed from top to bottom in each iteration. Therefore, before each iteration, the corresponding candidate prefix fields need to be sent to the target participants according to the pre-assigned target participants for each iteration, so that the target participants can generate frequently perturbed data. Each candidate prefix field is determined by the federated server from the current prefix tree.

[0082] In some specific implementations, this step can be achieved as follows: divide multiple candidate participants into g unrelated participant groups, where g is the maximum depth of the prefix tree, the target participants in the i-th participant group are used to construct the i-th level prefix tree, and the number of participants in the i-th participant group is less than the number of participants in the (i+1)-th participant group.

[0083] Among them, unrelated participant groups refer to groups in which the participants are completely different, or in other words, each candidate participant will only be assigned to one participant group.

[0084] Specifically, in this embodiment, the incremental grouping strategy (a strategy in which the number of participants increases with the number of iterations) reduces the overall user waiting time compared to the traditional equal-number grouping strategy (where the number of participants is the same in each iteration), thereby improving the efficiency of the federated analysis system.

[0085] Furthermore, the aforementioned steps, which divide the multiple candidate participants into g unrelated participant groups, may include the following steps: determining the number of participants required for each iteration according to the following formula: n i =n / 2g+(i-1)n / (g 2 -g), where n i Let represent the number of participants required for the i-th iteration, and n represent the number of candidate participants. Based on the number of participants required for each iteration, the multiple candidate participants are divided into g unrelated participant groups, and the number of participants in the i-th participant group is equal to the number of participants required for the i-th iteration.

[0086] Specifically, besides pre-calculating the number of participants required for each iteration in this embodiment, and then randomly selecting the corresponding number of candidate participants from multiple candidate participants to form the participant group required for the corresponding iteration; alternatively, after calculating the number of participants required for each iteration, a participant group corresponding to that iteration can be constructed, and this process can be repeated until the partitioning is complete; or, in the i-th group (i≠g), i candidate participants can be assigned, and then in the g-th group, i candidate participants can be assigned... There are i candidate participants. This embodiment does not specify the method for determining the group of g participants that satisfies the incremental grouping strategy.

[0087] In other implementations, besides having each candidate participant participate in the prefix tree construction, some candidate participants can be designated as target participants and an unrelated participant group can be constructed. The candidate participants other than the target participants can be designated as other participants. This embodiment does not impose such limitations. In the second case, the target participants and other participants can be determined as follows: Select some candidate participants from multiple candidate participants as target participants, and divide the target participants into g unrelated participant groups, where g is the maximum depth of the prefix tree. The target participants in the i-th participant group are used to construct the i-th level prefix tree, and the number of participants in the i-th participant group is less than the number of participants in the (i+1)-th participant group. The candidate participants other than the target participants are designated as other participants, and the random prefix segment is determined by the other participants based on local frequent data.

[0088] In this context, the target participant is used to construct the prefix tree, while other participants are used to provide at least one random prefix segment. Furthermore, the construction method for the group of g unrelated participants can refer to the aforementioned related embodiments.

[0089] 102. The target participant determines the extended prefix field based on the candidate prefix field of the i-th layer and the random prefix segment.

[0090] To ensure the accuracy of the prefix tree determined based on the extended prefix field to a certain extent, the determination of the extended prefix field also needs to be based on the candidate prefix fields of the i-th layer and the random prefix segment. In some specific implementations, if each candidate participant is also a target participant (i.e., the random prefix segment is determined by each target participant), the random prefix segment can be implemented in the following way: determine the preset bit length corresponding to the i-th layer prefix tree; construct the random prefix segment based on the inclusion relationship between the target participant's local frequent data and the candidate prefix fields, as well as the preset bit length.

[0091] Specifically, the primary condition for constructing a prefix tree is ensuring that the size of the extended prefix field is consistent with that of the candidate prefix field. Therefore, based on the inclusion relationship between local frequent data and the candidate prefix field, and a preset bit length, a random prefix field is constructed. Then, the extended prefix field is obtained using the random prefix field and the candidate prefix field. It should be noted that different methods are needed to construct the random prefix field depending on the different inclusion relationships between local frequent data and the candidate prefix field. The preset bit length can be found in the relevant content of the specific scenario embodiments described later, and will not be repeated here.

[0092] Method 1: If the prefix segment of frequently occurring local data belongs to the candidate prefix field, a random prefix segment is generated, and the bit length of the random prefix segment is the same as the preset bit length. Method 2: If the frequently occurring local data does not belong to the candidate prefix field, the prefix segment of the frequently occurring local data is determined as a random prefix segment, and the bit length of the prefix segment of the frequently occurring local data is the same as the preset bit length.

[0093] In some specific implementations, if only some of the candidate participants are the target participant (i.e., the random prefix segment is determined by each of the other participants), this step can be implemented as follows: determine the preset bit length corresponding to the i-th level prefix tree; receive the random prefix field sent by other participants, who are participants other than the target participant among multiple candidate participants, and the random prefix field is determined by the other participants based on local frequent data; extract the prefix segment of any element in the random prefix field, and determine the prefix segment of any element as the random prefix segment, and the bit length of the prefix segment of any element is equal to the preset bit length.

[0094] Specifically, the random prefix field sent by other participants is composed of the local frequent data sent by each of them. In each iteration, the prefix segment of any element in the random prefix field is directly used as the random prefix segment. It is important to note that the bit length of the determined random prefix segment should be consistent with the preset bit length corresponding to this iteration. Furthermore, the local frequent data of other participants can be determined by the target participant based on its local data and the corresponding frequent data extraction algorithm; this is not limited here.

[0095] It is understandable that the random prefix segment is extracted from local frequent data; therefore, the random prefix segment provided by participant A is extracted from participant A's local frequent data.

[0096] It should be noted that bit length refers to the number of characters, bytes, or bits (not limited here). If each node of the prefix tree consists of at least one letter, then the bit length of the random prefix segment is the same as the preset bit length, which means that the number of letters in the random prefix segment is the same as the number of letters indicated by the preset bit length. If each node of the prefix tree consists of at least one bit, then the bit length of the random prefix segment is the same as the preset bit length, which means that the number of bits in the random prefix segment is the same as the number of bits indicated by the preset bit length.

[0097] 103. The target participant selects any prefix segment from the extended prefix domain as the perturbation prefix segment.

[0098] Generally, any prefix segment can be selected from the extended prefix domain as the perturbation prefix segment. However, in some specific implementations, due to privacy protection requirements, the sampling method for selecting any prefix segment from the extended prefix domain can be any sampling method that satisfies the privacy budget and the local differential privacy algorithm; this embodiment does not impose specific limitations. In other words, the technical effect achieved is that the probability of the perturbation prefix segment being a random prefix segment equals a preset probability, where the preset probability is calculated based on the user-selected privacy budget using the probability function of the corresponding algorithm; this is not specifically limited here.

[0099] 104. The federated server constructs the i-th layer prefix tree based on the perturbation prefix segment sent by each target participant.

[0100] The federated server can construct the i-th layer prefix tree using each perturbation prefix segment. It is important to note that the constructed i-th layer prefix tree should include the perturbation prefix segments sent by each target participant to achieve restricted domain relaxation.

[0101] 105. If i is less than the maximum depth of the prefix tree, the federated server determines the candidate prefix field of the (i+1)th layer based on the nodes of the first i layers of the prefix tree.

[0102] If i is less than the maximum depth of the prefix tree, it means the prefix tree has not yet been fully constructed. Therefore, determine the candidate prefix fields at level i+1 and iteratively execute steps 101 to 105 until the maximum depth is reached. If i is equal to the maximum depth of the prefix tree, it means the prefix tree has been fully constructed, and the iteration ends.

[0103] In this embodiment, the target participants in each iteration can construct an extended prefix domain using random prefix segments and candidate prefix domains sent by the federated server. Then, the target participants select any prefix segment as a perturbation prefix segment from the extended prefix domain. Finally, the federated server constructs a prefix tree for this iteration based on the perturbation prefix segments of each target participant. This embodiment proposes a local differential privacy perturbation algorithm. Compared with traditional algorithms, this algorithm relaxes the restricted domain, allowing later participants not to completely trust the restricted domain from earlier participants. While ensuring data privacy, this algorithm increases robustness and prediction accuracy by allowing later participants to send data outside the candidate extended domain but within the extended prefix domain to the server. In the process of obtaining frequently perturbed data, the target participants only need to make random probability selections from the extended prefix domain (computational complexity is O(1)), instead of performing complex encryption calculations. Especially in scenarios where the participants' computing resources are uneven, this invention greatly reduces the participants' computational complexity, thereby improving the efficiency of federated analysis.

[0104] Furthermore, to improve the algorithm's flexibility, the entire prefix tree can be constructed using bit strings. This is because, given the encoding and decoding methods, all data can be represented in binary. After constructing the prefix tree, the federated server can obtain the first k most frequent bit strings from the prefix tree of depth g, and decode these bit strings to obtain the corresponding frequent data, such as using ASCII encoding and decoding, depending on the requirements.

[0105] Based on the foregoing embodiments, the frequent data mining method of this application embodiment is described in a specific scenario.

[0106] Please see Figure 2 First, the federated server divides all participants into g groups, with each group responsible for expanding one level of the prefix tree. Second, the federated server interacts sequentially with multiple groups of participants, broadcasting candidate prefix fields to the corresponding group in each iteration. Third, the participants, based on the received candidate prefix fields, perturb them using a local differential privacy algorithm to obtain perturbed prefix segments. Then, the federated server aggregates the perturbed prefix segments from the participants and selects the top k most frequent segments to expand the prefix tree. Finally, when the prefix tree depth reaches the set maximum depth, the federated server derives the top k most frequent data points from the prefix tree. Through the federated analysis algorithm, the federated server interacts with participants to construct a prefix tree model and ultimately obtains the top k most frequently used data points in the user group, such as words. While ensuring user local data privacy, the proposed grouping strategy and local differential privacy algorithm not only reduce communication latency among participants but also improve the accuracy of prediction results.

[0107] The specific technical steps are as follows:

[0108] The participants are divided into multiple unrelated groups: Let the total number of all candidate participants be n, and the maximum depth of the prefix tree be g. The federated server divides all participants into g unrelated groups (different groups are denoted by U1, U2, ..., U...). g (This indicates that) a participant can be in at most one group. Group U i The total number of participants is n i =n / 2g+(i-1)n / (g 2 -g), and the number of participants in the g groups satisfies a linear increasing order, i.e., n i >n j(i>j). This strategy assigns more "importance" to later participants (i.e., building a prefix tree at later levels uses more target participants) because they not only validate the prefixes discovered by earlier participants but also provide more information about frequent data, i.e., longer prefix segments. Therefore, as iterations progress, this strategy improves the algorithm's accuracy by increasing the number of target participants, thus allowing more later participants to join.

[0109] After the complete group division, the root node is initialized. The federation server interacts with different groups by building the prefix tree from top to bottom. Each group is responsible for expanding one layer of the prefix tree. Lower-level building participants need to wait for the upper-level prefix tree to be built before they can interact with the federation server.

[0110] Please refer to the following: Figure 3 Specifically, what the federated server needs to do is: in the i-th iteration, connect with group U i Interaction is used to expand the i-th level of the prefix tree. First, the federated server selects candidate prefix fields Φ i Broadcast to group U i The target participants. Next, the federated server collects data from group U. i The perturbation prefix segment v[0:b] of the target participant i ] (i.e., the prefix segment of frequently disturbed data), where v is the binary form of the target participant's local frequent data, b i =i*L / g is the number of bits required to expand the i-th level of the prefix tree (i.e., the preset bit length corresponding to the i-th level), and L is the preset maximum bit length. Finally, the federated server counts the top k most frequent prefix ends A. i ,|A i |≤k (meaning the number of frequent prefix segments obtained from the statistics is not greater than the expected number of frequent data points k), and update the candidate prefix field Φ for the next iteration. i+1 =A i In other words, the candidate prefix field is a set consisting of the first k most frequent prefix segments.

[0111] Please refer to the following. Figure 4 Specifically, the target participants need to do the following: apply the ε-LDP perturbation algorithm to disrupt the prefix segment v[0:b] of their frequently used local data. i ], where v is the target participant, the binary form of frequently occurring local data, and the bit length b i =i*L / g, producing a perturbed prefix segment. The scrambled prefix segment was sent to the federated server.

[0112] First, to relax the strict restrictions on the domain (i.e., not entirely relying on prefixes discovered by early participants, allowing the target participant to send data outside the domain while protecting data privacy both inside and outside the domain), a random prefix segment X is introduced, the value of which is determined by the target participant and not disclosed to the federated server, and X is added to the candidate prefix domain Φ. i From this set, we obtain a new set, which is the extended prefix field Φ. i * , that is Φ i * =Φ i +X.

[0113] The specific construction methods for the extended prefix field can be divided into two cases:

[0114] (1) If the target participant's local frequent data v[0:b i ] belongs to the candidate prefix field Φ i That is, set Φ i This includes v[0:b] i Then the target participant randomly generates a bit length b. i The random prefix segment, i.e. Then to Φ i Add X to form a new set Φ i * , where [0:b i Used to limit the bit length of v.

[0115] (2) If the target participant's local frequent data v[0:b i ] does not belong to Φ i The target participants then send to Φ i Add X = v[0:b i ] Form a new set Φ i * .

[0116] Next, the target participant obtains the candidate extension Φ i * Subsequently, the target participant generates y (i.e., the perturbation prefix segment) using a local differential privacy algorithm. The target participant has a probability p that it does not perturb its local data, i.e., p = Pr[y = v] = e ε / (e ε +d-1), where the size of the candidate domain is d=|Φ i * |; and there is probability q perturbation data, i.e. p=Pr[y≠v]=(1-p) / (d-1)=1 / (e ε+d-1). That is, the prefix segment of frequently disturbed data has a probability p that is consistent with the prefix segment of locally frequent data, and a probability q that is inconsistent with the prefix segment of locally frequent data. Here, ε is the local differential privacy budget (i.e., privacy budget), representing the strength of privacy protection. The smaller ε is, the higher the degree of data perturbation, thus providing stronger data privacy protection. ε can be set to any value as needed; this embodiment does not impose specific limitations. It should be noted that the perturbation mechanism based on the local differential privacy algorithm provided in this embodiment, that is... It is possible to achieve the following for any input v1, v2 and output y∈Φ ★ , in, GRR X Disturbance mechanism.

[0117] The federated server and the target participants corresponding to each iteration repeat the above steps until the maximum depth of the prefix tree (i=g) is reached, thus completing the construction of the prefix tree.

[0118] After the prefix tree is constructed, the federated server obtains the first k frequent bit strings from the prefix tree of depth g, and decodes the bit strings to obtain the corresponding frequent data, such as using ASCII encoding and decoding.

[0119] Existing technical solutions employ prefix tree models and local differential privacy algorithms to analyze frequent words in user groups. However, these methods do not consider the limited computing resources of real-world participants, requiring them to perform hash operations, resulting in high computational complexity. This is particularly problematic in distributed scenarios where computing power is not independently distributed, leading to delays in algorithm execution and impacting user experience and the effectiveness of analysis results. In contrast, in the embodiments of this application, during the process of obtaining the perturbation prefix segment, the target participant only needs to make a random probability selection from the extended prefix domain (computational complexity of O(1)), rather than performing complex encryption calculations. Especially in scenarios where participants have uneven computing resources, this invention significantly reduces the computational complexity of the participants, thereby improving the efficiency of federated analysis.

[0120] Furthermore, to achieve weight control, a corresponding weighting weight can be set for each participant, and a prefix tree of the i-th layer can be constructed using the weighting weights and perturbation prefix segments, without specific limitations here. Additionally, if there is no expected number of frequent data points, the multiple frequent prefix segments and / or multiple frequent data points (determined based on the constructed prefix tree) determined by the federated server in this embodiment can be each frequent prefix segment and / or frequent data point greater than the corresponding preset frequency threshold.

[0121] Please see Figure 5 This application provides a participating device, including:

[0122] The receiving unit 501 is used to receive the i-th layer candidate prefix field sent by the federation server, wherein the candidate prefix field includes at least one candidate prefix segment;

[0123] The determining unit 502 is used to determine the extended prefix field based on the candidate prefix field of the i-th layer and the random prefix segment;

[0124] The perturbation unit 503 is used to select any prefix segment from the extended prefix domain as a perturbation prefix segment;

[0125] The sending unit 504 is used to send the perturbation prefix segment to the federation server so that the federation server can construct the i-th layer prefix tree based on the perturbation prefix segment sent by each target participant.

[0126] In one specific implementation, before determining the extended prefix field based on the candidate prefix field of the i-th layer and the random prefix segment, the method further includes:

[0127] The determining unit 502 is also used to determine the preset bit length corresponding to the i-th level prefix tree;

[0128] The determining unit 502 is also used to determine the random prefix segment based on the inclusion relationship between the target participant's local frequent data and the candidate prefix field, as well as the preset bit length.

[0129] In one specific implementation, a fixed unit is used to randomly generate a random prefix segment if the prefix segment of frequently occurring local data belongs to a candidate prefix field. The bit length of the random prefix segment is consistent with the preset bit length.

[0130] If the local frequent data does not belong to the candidate prefix field, the prefix segment of the local frequent data is determined as a random prefix segment, and the bit length of the prefix segment of the local frequent data is consistent with the preset bit length.

[0131] In one specific implementation, the participating equipment also includes: an extraction unit;

[0132] The determining unit 502 is also used to determine the preset bit length corresponding to the i-th level prefix tree;

[0133] The receiving unit 501 is also used to receive a random prefix field sent by other participants. The other participants are participants other than the target participant among multiple candidate participants. The random prefix field is determined by the other participants based on local frequent data.

[0134] The extraction unit is used to extract the prefix segment of any element in the random prefix field and determine the prefix segment of any element as a random prefix segment, wherein the bit length of the prefix segment of any element is equal to the preset bit length.

[0135] Please see Figure 6 This application provides a federated server, comprising:

[0136] The sending unit 601 is used to send the i-th layer candidate prefix field to each target participant corresponding to the i-th iteration;

[0137] The receiving unit 602 is configured to receive a perturbation prefix segment sent by each target participant, wherein the perturbation prefix segment is determined based on the i-th layer candidate prefix field and the random prefix segment;

[0138] Construction unit 603 is used to construct the i-th layer prefix tree based on the perturbation prefix segment sent by each target participant;

[0139] The determining unit 604 is used to determine the (i+1)th layer candidate prefix field based on the first i layers of nodes of the prefix tree if i is less than the maximum depth of the prefix tree.

[0140] In one specific implementation, the federated server further includes: a partitioning unit;

[0141] The partitioning unit is used to divide multiple candidate participants into g unrelated participant groups, where g is the maximum depth of the prefix tree, the target participants in the i-th participant group are used to construct the i-th layer of the prefix tree, and the number of participants in the i-th participant group is less than the number of participants in the (i+1)-th participant group.

[0142] In one specific implementation, the partitioning unit is specifically used to determine the number of participants required for each iteration according to the following formula:

[0143] n i =n / 2g+(i-1)n / (g 2 -g)

[0144] Where, n i Let n represent the number of participants required for the i-th iteration, and n represent the number of alternative participants.

[0145] Based on the number of participants required for each iteration, the multiple candidate participants are divided into g unrelated participant groups, where the number of participants in the i-th participant group is equal to the number of participants required for the i-th iteration.

[0146] In one specific implementation, the federated server further includes: a partitioning unit;

[0147] The partitioning unit is used to select some candidate participants as target participants from multiple candidate participants, and divide the target participants into g unrelated participant groups, where g is the maximum depth of the prefix tree, the target participants in the i-th participant group are used to construct the i-th layer of the prefix tree, and the number of participants in the i-th participant group is less than the number of participants in the (i+1)-th participant group.

[0148] The determining unit 604 is further configured to determine other participants among the multiple candidate participants besides the target participant as other participants, and the random prefix segment is determined by the other participants based on local frequent data.

[0149] Figure 7 This is a schematic diagram of a computer device structure provided in an embodiment of this application. The computer device 700 may include one or more central processing units (CPUs) 701 and a memory 705, in which one or more application programs or data are stored.

[0150] The memory 705 can be volatile or persistent storage. The program stored in the memory 705 can include one or more modules, each module including a series of instruction operations on the computer device. Furthermore, the central processing unit 701 can be configured to communicate with the memory 705 and execute the series of instruction operations stored in the memory 705 on the computer device 700.

[0151] The computer device 700 may also include one or more power supplies 702, one or more wired or wireless network interfaces 703, one or more input / output interfaces 704, and / or one or more operating systems, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0152] The central processing unit 701 can perform the aforementioned... Figures 1 to 6 The specific operations performed by the federation server and / or participating party devices in the illustrated embodiment will not be described in detail here.

[0153] It should be noted that although the steps in the flowcharts of the various embodiments are drawn sequentially according to the arrows, unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the various embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps.

[0154] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0155] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.

[0156] The units described as separate components may or may not be physically separate. 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 units can be selected to achieve the purpose of this embodiment according to actual needs.

[0157] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0158] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0159] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the frequent data mining method described above.

Claims

1. A frequent data mining method based on federated analysis, characterized by, Applied to the target participants, the method includes: The system receives a candidate prefix field of the i-th layer from the federated server. The candidate prefix field includes at least one candidate prefix segment. The candidate prefix field is determined by the federated server from the (i-1)-th layer prefix tree. If all candidate participants are target participants, determine the preset bit length corresponding to the i-th layer prefix tree; determine the random prefix segment based on the inclusion relationship between the target participant's local frequent data and the candidate prefix field, as well as the preset bit length. If some of the multiple candidate participants are the target participant, determine the preset bit length corresponding to the i-th layer prefix tree; receive random prefix fields sent by other participants, wherein the other participants are participants other than the target participant among the multiple candidate participants, and the random prefix fields are determined by the other participants based on local frequent data; extract the prefix segment of any element in the random prefix field, and determine the prefix segment of any element as a random prefix segment, wherein the bit length of the prefix segment of any element is equal to the preset bit length; Based on the i-th layer candidate prefix field and the random prefix segment, the extended prefix field is determined; Select any prefix segment from the extended prefix domain as the perturbation prefix segment; The perturbation prefix segment is sent to the federation server so that the federation server constructs the i-th layer prefix tree based on the perturbation prefix segment sent by each target participant.

2. The method of claim 1, wherein, The step of determining the random prefix segment based on the inclusion relationship between the target participant's local frequent data and the candidate prefix field, and the preset bit length, includes: If the prefix segment of the local frequent data belongs to the candidate prefix field, then the random prefix segment is randomly generated, and the bit length of the random prefix segment is consistent with the preset bit length. If the local frequent data does not belong to the candidate prefix field, then the prefix segment of the local frequent data is determined as the random prefix segment, and the bit length of the prefix segment of the local frequent data is consistent with the preset bit length.

3. A frequent data mining method based on federated analysis, characterized by, Applied to a federated server, the method includes: Send a candidate prefix field of layer i to each target participant corresponding to the i-th iteration. The candidate prefix field includes at least one candidate prefix segment. The candidate prefix field is determined by the federation server from the (i-1)-th layer prefix tree. The system receives a perturbation prefix segment sent by each target participant, the perturbation prefix segment being determined based on the i-th layer candidate prefix field and a random prefix segment; wherein the random prefix segment is determined in the following ways: if all multiple candidate participants are the target participant, the target participant determines a preset bit length corresponding to the i-th layer prefix tree, and determines a random prefix segment based on the inclusion relationship between the target participant's local frequent data and the candidate prefix field, and the preset bit length; if some of the multiple candidate participants are the target participant, the target participant determines a preset bit length corresponding to the i-th layer prefix tree, and receives a random prefix field sent by other participants, the other participants being participants other than the target participant among the multiple candidate participants, the random prefix field being determined by the other participants based on their local frequent data; the target participant extracts a prefix segment of any element in the random prefix field, and determines the prefix segment of any element as a random prefix segment, the bit length of the prefix segment of any element being equal to the preset bit length; Construct the i-th layer prefix tree based on the perturbation prefix segment sent by each target participant; If i is less than the maximum depth of the prefix tree, then the candidate prefix field of the (i+1)th layer is determined based on the nodes of the first i layers of the prefix tree.

4. The method of claim 3, wherein, Before sending the i-th layer candidate prefix field to each target participant corresponding to the i-th iteration, the method further includes: Multiple candidate participants are divided into g unrelated participant groups, where g is the maximum depth of the prefix tree. The target participants in the i-th participant group are used to construct the i-th layer of the prefix tree. The number of participants in the i-th participant group is less than the number of participants in the (i+1)-th participant group.

5. The method of claim 4, wherein, The process of dividing multiple candidate participants into g unrelated participant groups includes: The number of participants required for each iteration is determined using the following formula: ; wherein, ni represents the number of participants required for the i-th iteration, n represents the number of alternative participants; Based on the number of participants required for each iteration, the multiple candidate participants are divided into g unrelated participant groups, where the number of participants in the i-th participant group is equal to the number of participants required for the i-th iteration.

6. The method of claim 3, wherein, Before sending the i-th layer candidate prefix field to each target participant corresponding to the i-th iteration, the method further includes: Select some candidate participants as target participants from multiple candidate participants, and divide the target participants into g unrelated participant groups, where g is the maximum depth of the prefix tree. The target participants in the i-th participant group are used to construct the i-th layer prefix tree. The number of participants in the i-th participant group is less than the number of participants in the (i+1)-th participant group. The candidate participants other than the target participant among the multiple candidate participants are identified as other participants, and the random prefix segment is determined by the other participants based on local frequent data.

7. A participant device, characterized by include: A receiving unit is configured to receive a candidate prefix field of the i-th layer sent by a federated server, wherein the candidate prefix field includes at least one candidate prefix segment; The candidate prefix field is determined by the federated server from the (i-1)th level prefix tree; The determining unit is used to determine the preset bit length corresponding to the i-th layer prefix tree if all of the multiple candidate participants are target participants; determine the random prefix segment based on the inclusion relationship between the local frequent data of the target participant and the candidate prefix field, and the preset bit length; and determine the preset bit length corresponding to the i-th layer prefix tree if some of the multiple candidate participants are target participants. Receive a random prefix field sent by other participants, wherein the other participants are participants other than the target participant among the plurality of candidate participants, and the random prefix field is determined by the other participants based on local frequent data; extract the prefix segment of any element in the random prefix field, and determine the prefix segment of any element as a random prefix segment, wherein the bit length of the prefix segment of any element is equal to the preset bit length; Based on the i-th layer candidate prefix field and the random prefix segment, the extended prefix field is determined; The perturbation unit is used to select any prefix segment from the extended prefix domain as a perturbation prefix segment; A sending unit is configured to send the perturbation prefix segment to the federation server, so that the federation server constructs the i-th layer prefix tree based on the perturbation prefix segment sent by each target participant.

8. A federation server, characterized by include: A sending unit is configured to send a candidate prefix field of the i-th layer to each target participant corresponding to the i-th iteration, wherein the candidate prefix field includes at least one candidate prefix segment; The candidate prefix field is determined by the federated server from the (i-1)th level prefix tree; A receiving unit is configured to receive a perturbation prefix segment sent by each target participant, wherein the perturbation prefix segment is determined based on the i-th layer candidate prefix field and the random prefix segment; The method for determining the random prefix segment includes: if all candidate participants are the target participant, the target participant determines the preset bit length corresponding to the i-th layer prefix tree, and determines the random prefix segment based on the inclusion relationship between the target participant's local frequent data and the candidate prefix field, as well as the preset bit length; if some of the candidate participants are the target participant, the target participant determines the preset bit length corresponding to the i-th layer prefix tree, and receives the random prefix field sent by other participants, wherein the other participants are participants other than the target participant among the candidate participants, and the random prefix field is determined by the other participants based on their local frequent data; the target participant extracts the prefix segment of any element in the random prefix field, and determines the prefix segment of any element as the random prefix segment, wherein the bit length of the prefix segment of any element is equal to the preset bit length; A construction unit is used to construct the i-th layer prefix tree based on the perturbation prefix segment sent by each target participant; The determining unit is used to determine the (i+1)th layer candidate prefix field based on the first i layers of nodes of the prefix tree if i is less than the maximum depth of the prefix tree.