Data processing method and apparatus, and electronic device
Patent Information
- Application Number
- CN202610776793.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-31
- Publication Date
- 2026-08-28
AI Technical Summary
[0004]目前,多采用将整个PCI序列进行全局比对的方式,对PCI序列进行聚类,但是这种方式的时间复杂度过高,会导致训练模型的效率较低
[0052] The second character sequence is used to train a target model, which is used to provide the electronic device with a physical cell to reside in.
Smart Images

Figure CN122661801A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a data processing method, apparatus and electronic device. Background Technology
[0002] In mobile communication network scenarios, electronic devices continuously switch the physical cell they are camped on during a call, thereby generating a character sequence composed of Physical Cell Identity (PCI).
[0003] The PCI sequences corresponding to massive historical calls contain key features such as the rationality of cell handover and the causes of dropped calls. By clustering and matching large-scale PCI sequences, similar handover behavior patterns can be mined, and then a physical cell prediction model can be trained to recommend physical cells that electronic devices can camp on in real time, so as to reduce the call drop rate of electronic devices.
[0004] Currently, the most common approach is to perform a global comparison of the entire PCI sequence to cluster the PCI sequences. However, this approach has a high time complexity, which leads to low efficiency in training the model. Summary of the Invention
[0005] In view of the above, this application provides a data processing method, apparatus, and electronic device, as follows:
[0006] A data processing method, comprising:
[0007] Obtain a set of sequences generated by an electronic device in historical calls; the set of sequences includes multiple first character sequences, each first character sequence consisting of at least one identifier, the identifier representing the physical cell where the electronic device resides during the call;
[0008] Based on the first feature value corresponding to the first character sequence, the plurality of first character sequences are divided into a plurality of sequence groups; each sequence group includes a plurality of first character sequences;
[0009] Based on the second feature value corresponding to the first character sequence, the multiple first character sequences contained in each sequence group are filtered in parallel to obtain multiple second character sequences corresponding to each sequence group.
[0010] The second character sequence is used to train a target model, which is used to provide the electronic device with a physical cell to reside in.
[0011] Optionally, the above method involves filtering the plurality of first character sequences contained in the sequence group based on the second feature value corresponding to the first character sequence to obtain a plurality of second character sequences corresponding to the sequence group, including:
[0012] Based on the local feature values between any two first character sequences in the sequence group, multiple third character sequences are selected from the sequence group;
[0013] The local feature values characterize the degree of similarity between the two first character sequences in their respective local sequence segments;
[0014] Based on the global feature value between any two of the third character sequences, a plurality of second character sequences are selected from the plurality of third character sequences.
[0015] Optionally, the above method involves selecting multiple third character sequences from the sequence group based on local feature values between any two first character sequences, including:
[0016] Each of the first character sequences in the sequence group is segmented to obtain multiple subsequences corresponding to each first character sequence; each subsequence includes at least two identifiers; the order of the identifiers in the subsequence is consistent with their order in the first character sequence;
[0017] Each subsequence is replaced with a local marker to obtain a marker sequence representing local feature values; the string length of the local marker is less than the sequence length of the corresponding subsequence.
[0018] Obtain the first similarity between any two of the labeled sequences;
[0019] The first character sequence corresponding to the marker sequence whose first similarity is greater than or equal to the first threshold is determined as the third character sequence.
[0020] Optionally, the above method involves segmenting the first character sequence to obtain multiple sub-sequences corresponding to the first character sequence, including:
[0021] The first character sequence is divided into multiple consecutive segments according to the target length to obtain multiple ordered subsequences;
[0022] Wherein, two adjacent subsequences have K-1 overlapping identifiers; K is the fixed length of the subsequence, and K is a positive integer greater than or equal to 2.
[0023] Optionally, the above method involves selecting multiple second character sequences from the plurality of third character sequences based on the global feature value between any two of the third character sequences, including:
[0024] The minimum number of edits required to transform between any two of the third character sequences is obtained as a global feature value;
[0025] The third character sequence whose global feature value is less than or equal to the second threshold is determined as the second character sequence.
[0026] Optionally, after obtaining the plurality of second character sequences corresponding to each of the above sequence groups, the method further includes:
[0027] In response to the satisfaction of the target condition, the target model is trained based on the training samples constructed from the second character sequence, wherein the target condition is selected from one of the following combinations:
[0028] Reaching the preset target time;
[0029] The physical cell provided by the target model causes the electronic device to drop the call N times consecutively; N is a positive integer greater than or equal to 2;
[0030] The electronic device is in an idle state.
[0031] Optionally, in the above method, the second character sequence has a first identifier or a second identifier, wherein the first identifier indicates that the electronic device is offline, and the second identifier indicates that the electronic device is not offline.
[0032] The method further includes:
[0033] Based on the second character sequence having the second identifier, verify the identifier and the first identifier in the second character sequence having the first identifier that belong to the same sequence group;
[0034] Based on the verified second character sequence, construct training samples;
[0035] The input samples in the training samples are the identifier sequences generated by the electronic device in historical calls; the output samples in the training samples are the identifiers of the physical cells in which the electronic device does not drop the connection in historical calls; the training samples enable the output of the target model to represent the identifiers of the physical cells in which the electronic device remains or the physical cells to which the electronic device is to switch.
[0036] Optionally, the above method includes verifying, based on the second character sequence having the second identifier, the identifiers in the second character sequences belonging to the same sequence group having the first identifier, including:
[0037] The identifiers contained in any two second character sequences that belong to the same sequence group and have the first identifier are compared to obtain the intersection sequence.
[0038] Wherein, the intersection sequence consists of identifiers that are identical in the same order between any two second character sequences having the first identifier;
[0039] Starting from the last identifier of the second character sequence with the second identifier, the identifiers in the intersection sequence are compared with the identifiers in the second character sequence with the second identifier to locate the first identical first identifier;
[0040] Replace the next identifier of the first identifier in the second character sequence having the second identifier with the next identifier of the first identifier in the second character sequence having the first identifier.
[0041] A data processing apparatus, comprising:
[0042] A sequence acquisition unit is used to acquire a sequence set generated by an electronic device in historical calls; the sequence set includes a plurality of first character sequences, each first character sequence consisting of at least one identifier, the identifier representing the physical cell where the electronic device resides during the call;
[0043] A sequence partitioning unit is used to divide the plurality of first character sequences into a plurality of sequence groups based on a first feature value corresponding to the first character sequence; each sequence group includes a plurality of first character sequences;
[0044] A sequence filtering unit is used to filter multiple first character sequences contained in each sequence group in parallel based on the second feature value corresponding to the first character sequence, so as to obtain multiple second character sequences corresponding to each sequence group.
[0045] The second character sequence is used to train a target model, which is used to provide the electronic device with a physical cell to reside in.
[0046] An electronic device, comprising:
[0047] Memory is used to store computer programs and the data generated by the execution of computer programs.
[0048] A processor is used to execute computer programs to achieve:
[0049] Obtain a set of sequences generated by an electronic device in historical calls; the set of sequences includes multiple first character sequences, each first character sequence consisting of at least one identifier, the identifier representing the physical cell where the electronic device resides during the call;
[0050] Based on the first feature value corresponding to the first character sequence, the plurality of first character sequences are divided into a plurality of sequence groups; each sequence group includes a plurality of first character sequences;
[0051] Based on the second feature value corresponding to the first character sequence, the multiple first character sequences contained in each sequence group are filtered in parallel to obtain multiple second character sequences corresponding to each sequence group.
[0052] The second character sequence is used to train a target model, which is used to provide the electronic device with a physical cell to reside in. Attached Figure Description
[0053] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0054] Figure 1 A flowchart illustrating a data processing method provided in an embodiment of this application;
[0055] Figure 2 This is a partial flowchart of a data processing method provided in an embodiment of this application;
[0056] Figure 3 This is another part of a flowchart of a data processing method provided in an embodiment of this application;
[0057] Figure 4 This is another part of a flowchart illustrating a data processing method provided in an embodiment of this application;
[0058] Figure 5 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application;
[0059] Figure 6 This is another structural schematic diagram of a data processing apparatus provided in an embodiment of this application;
[0060] Figure 7 This is another schematic diagram of a data processing apparatus provided in an embodiment of the present application;
[0061] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;
[0062] Figure 9 This is a flowchart illustrating the process of clustering PCI sequences generated by a mobile phone during historical calls, which is applied to the mobile phone call scenario in this application.
[0063] Figure 10 This is a flowchart illustrating the execution process of training a target model using historical call data in a mobile phone, as described in this application.
[0064] Figure 11 This is a flowchart illustrating the execution of PCI switching based on a model in a mobile phone, as applied to the mobile phone call scenario in this application. Detailed Implementation
[0065] 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.
[0066] refer to Figure 1 This is a flowchart illustrating the implementation of a data processing method provided in this application embodiment. This method can be applied to electronic devices capable of data processing, such as computers or servers. The electronic device can be used to generate training samples for a target model, enabling the target model to provide the electronic device with physical cells to reside in. The technical solution in this embodiment is applied to the clustering scenario of PCI sequences in mobile communication scenarios. By first grouping and then performing parallel clustering within each group, the time complexity of large-scale PCI sequence clustering can be reduced, thereby improving the efficiency of generating training samples for the target model and thus improving the training efficiency of the target model.
[0067] Specifically, the method in this embodiment may include the following steps:
[0068] Step 101: Obtain the set of sequences generated by the electronic device in historical calls.
[0069] The sequence set may include multiple first character sequences, each consisting of at least one identifier, which represents the physical cell where the electronic device resides during a call.
[0070] It should be noted that the identifier refers to the PCI, which stands for Physical Cell Identifier. A first character sequence containing at least one PCI can also be called a PCI sequence. Multiple PCI sequences generated by an electronic device during historical calls form a sequence set, which can be represented by A.
[0071] Specifically, in mobile communication scenarios, users carry electronic devices while moving and maintaining a call. The electronic devices will continuously switch the physical cell they are stationed in as their location changes. During this process, the electronic devices continuously generate PCIs arranged in chronological order. Multiple PCIs arranged in chronological order are then concatenated to form a PCI sequence, such as the first character sequence.
[0072] For example, in this embodiment, the first character sequence generated by one or more electronic devices in each historical call can be monitored, thereby obtaining a massive number of first character sequences, which constitute a sequence set on the scale of tens of millions or even hundreds of millions. This massive number of first character sequences can characterize the handover patterns of electronic devices to physical cells, and features such as dropped or undropped calls. Therefore, in this embodiment, the obtained sequence set can be used for character sequence clustering to construct training samples for the target model. This allows the target model to learn from the clustering results of the sequence set which physical cells can be switched to without dropping the call in a certain communication state, thereby providing the electronic device with physical cells to camp on and improving the call quality of the electronic device.
[0073] Step 102: Based on the first feature value corresponding to the first character sequence, divide the multiple first character sequences into multiple sequence groups.
[0074] Each sequence group includes multiple first character sequences. The sequence set formed by multiple sequence groups can be represented by C. Each sequence group in C can be called a subset, and a subset can be represented by C_sub.
[0075] Specifically, the first feature value can be a high-dimensional feature, an embedded feature, or a hash feature obtained by performing overall feature extraction on the first character sequence.
[0076] In one implementation, this embodiment can use at least one of the following methods: Fourier transform, random projection, locality sensitive signature (LSS), sequence embedding vector, etc., to calculate the first feature value corresponding to each first character sequence. Then, based on the first feature values corresponding to any two first character sequences, it is determined whether the two first character sequences satisfy the sequence similarity condition. If the two first character sequences satisfy the sequence similarity condition, then the two first character sequences are divided into the same sequence group.
[0077] In another implementation, this embodiment can calculate the first feature value corresponding to each first character sequence through at least one of the following methods: locality sensitive hashing (LSH), k-dimensional tree (KD-Tree), ball-tree, feature similarity measure, etc. Then, based on the first feature value corresponding to each first character sequence, it is determined whether any two first character sequences satisfy the sequence similarity condition. If the first character sequences satisfy the sequence similarity condition, then the first character sequences are divided into the same sequence group.
[0078] Specifically, the sequence similarity condition can be: the similarity between the first feature values of two first character sequences is greater than or equal to a similarity threshold. The similarity threshold can be set according to actual business needs. The similarity between the first feature values can be calculated using a similarity algorithm. For example, the similarity between the first feature values can be Euclidean distance or cosine similarity, etc.
[0079] For example, taking LSH as an example, in this embodiment, each PCI sequence can be calculated separately to generate its own LSH hash feature, i.e., the first feature value. Then, the LSH hash features of any two PCI sequences are compared, and PCI sequences whose cosine similarity between their LSH hash features exceeds the similarity threshold are grouped into the same sequence group.
[0080] For example, taking KD-Tree as an example, in this embodiment, each PCI sequence can be mapped to a high-dimensional feature vector, and then a KD-Tree can be constructed using the high-dimensional feature vectors corresponding to all PCI sequences. The tree structure can be used to quickly retrieve the PCI sequences that are adjacent to the vector and group the retrieved PCI sequences that are adjacent to the vector into the same sequence group.
[0081] As can be seen, the first feature value obtained in this embodiment is extracted separately for a single first character sequence, without relying on other character sequences. The first feature value is an abstraction of the overall features of the first character sequence. That is, the first feature value can characterize the overall identifier distribution, identifier arrangement structure, and sequence form in the first character sequence. In the process of calculating the first feature value, no fine processing is performed on each identifier of the first character sequence, resulting in low time complexity. Based on this, the first feature value is used to measure the overall similarity between any two first character sequences from a global perspective, so as to quickly divide first character sequences with similar overall features into the same sequence group, realize the diversion of massive first character sequences, and reduce the scale of subsequent sequence clustering.
[0082] Step 103: Based on the second feature value corresponding to the first character sequence, filter the multiple first character sequences contained in each sequence group in parallel to obtain the multiple second character sequences corresponding to each sequence group.
[0083] The second character sequence is used to train the target model, which is used to provide physical cells for electronic devices to reside in.
[0084] It should be noted that the filtering operation in step 103 can be understood as a clustering operation on the first character sequences in the sequence group, and the filtered second character sequences are similar to each other. The sequence set composed of the filtered second character sequences can be represented by E. The second character sequences clustered from each sequence group in E form a subset of E, which can be represented by E_sub.
[0085] Specifically, the second feature value, distinct from the first feature value, can include, but is not limited to, feature values that characterize the local structural similarity and global editing differences between the first character sequences. Local structural similarity can characterize the local feature similarity of the identifier content of local sequence segments within the first character sequence, and also the local feature similarity of the identifier order of local sequence segments within the first character sequence. Global editing differences, on the other hand, characterize the degree of overall structural difference between the first character sequences. Based on this, the second feature value can comprehensively characterize both the fine-grained local features of each first character sequence and the global editing differences between the first character sequences.
[0086] Based on this, in this embodiment, the first character sequences belonging to the same sequence group can be clustered based on the local fine-grained features of each of the first character sequences and the global editing difference features between the first character sequences, thereby obtaining multiple second character sequences with similarity in the sequence group.
[0087] It should be noted that in traditional schemes, a global comparison is directly performed on any two first character sequences, resulting in a time complexity of O(L·N²). However, in this embodiment, the first character sequences are first grouped according to a first feature value, and then the first character sequences within each group are clustered in parallel according to a second feature value. This way, global comparison is performed only within the sequence groups, reducing the time complexity to O(Nlog N). The more sequence groups there are, the fewer character sequences participate in the global comparison, resulting in less computation. Combined with parallel clustering between sequence groups, the time complexity can be significantly reduced, thereby reducing the time spent on character sequence clustering and improving the efficiency of clustering the first character sequences to obtain the second character sequences.
[0088] As can be seen from the above technical solutions, in the data processing method provided by the embodiments of this application, a large number of first character sequences are first grouped according to the first feature value, and then the sequences within each group are filtered in parallel based on the first feature value. The filtered character sequences are then used to train the target model so that the target model can provide physical cells for electronic devices to reside in. It can be seen that, compared with the situation where global comparison of all character sequences can be avoided, which leads to excessive time complexity, the present application can first converge the number of sequences participating in the character sequence comparison by grouping, and then perform character sequence clustering in parallel within the group, which can significantly reduce the time complexity of character sequence clustering, effectively reduce the computation time of character sequence clustering, and thus significantly improve the efficiency of obtaining character sequences for training the target model, thereby accelerating the training efficiency of the target model.
[0089] Furthermore, in this embodiment, before step 102, sequence cleaning can be added to the first character sequence in the sequence set. This cleaning can include: removing invalid or erroneous first character sequences, deduplicating the first character sequences, and removing first character sequences with non-compliant lengths. The cleaned sequence set can be represented by B.
[0090] In this context, "length non-compliance" refers to the first character sequence containing a number of identifiers that is less than or equal to a certain threshold. Deduplication of the first character sequence involves merging subsequences (sequence fragments) consisting of consecutively repeated identifiers within the first character sequence.
[0091] Specifically, in this embodiment, the first character sequence can be deduplicated in the following way:
[0092] First, monitor whether there is a first subsequence that meets the removal criteria in each first character sequence in the sequence set. Then, if there is a first subsequence that meets the removal criteria in the first character sequence, delete the first subsequence from the first character sequence or delete the second subsequence that meets the removal criteria with the first subsequence.
[0093] The elimination criteria can be: there is a second subsequence in the first character sequence that is the same as the first subsequence, and the first subsequence and the second subsequence are adjacent in the first character sequence.
[0094] For example, in this embodiment, a sliding window can be pre-set with a window size of x, where x is a positive integer greater than or equal to 1. Based on this, in the first character sequence, starting from the (x+1)th identifier, the sliding window is moved by one identifier each time. Each time the sliding window is moved, the subsequence within the sliding window is compared with the x identifiers before the sliding window. If they match, the subsequence within the sliding window is determined to be the first subsequence, and the x identifiers before the sliding window form the second subsequence. The first and second subsequences satisfy the elimination condition, and either the first or second subsequence can be deleted. Similarly, in this embodiment, after cleaning each first character sequence once using the same sliding window, the window size of the sliding window is adjusted to x+1. The first character sequence is cleaned again using the above cleaning method until the sliding window is adjusted from 1 to half the length of the first character sequence. Each time the window size of the sliding window changes, each first character sequence is cleaned once. Through iterative looping, the cleaning of each first character sequence in the sequence set is achieved.
[0095] As can be seen, in this embodiment, the first character sequence is cleaned before grouping and clustering. This reduces the number of first character sequences involved in grouping and clustering, further reducing time complexity. Moreover, it also reduces the impact of invalid, erroneous, duplicate, and non-compliant first character sequences on subsequent grouping and clustering, thereby improving the accuracy of grouping and clustering, which in turn improves the accuracy of the training samples for the target model, and ultimately improves the accuracy of the trained target model.
[0096] Based on the above implementation scheme, in step 103, when filtering the second character sequence in any sequence group, a two-level progressive filtering method combining local preliminary filtering and global fine filtering can be adopted. The specific implementation method is as follows: Figure 2 As shown:
[0097] Step 201: Based on the local feature values between any two first character sequences in the sequence group, select multiple third character sequences from the sequence group.
[0098] Local feature values characterize the degree of similarity between two first character sequences in their respective local sequence segments.
[0099] In one implementation, this embodiment can obtain local sequence fragments by segmenting each first character sequence separately. This can also be understood as segmenting subsequences from each first character sequence. Then, based on these segmented local sequence fragments, local feature values are calculated between any two first character sequences. These local feature values characterize the similarity between the two first character sequences with respect to the local sequence fragments they contain.
[0100] It should be noted that local feature values can characterize the degree of overlap of identifiers and the degree of matching of identifier order between two first character sequences in a local segment. Based on this, in this embodiment, first character sequences with local feature values greater than or equal to the first threshold can be identified as character sequences with high similarity in the initial local screening, i.e., third character sequences. The sequence set composed of third character sequences can be represented by D. Third character sequences from the same sequence group form a subset of D, which can be represented by D_sub. D_sub is a subset of the corresponding subset C_sub in C.
[0101] Specifically, in this embodiment, each first character sequence in the sequence group can be segmented to obtain multiple subsequences corresponding to each first character sequence. Each subsequence can include at least two identifiers, and the order of the identifiers in the subsequence is consistent with their order in the first character sequence. That is, the order of the identifiers in the subsequence is maintained in their order in the first character sequence. Then, each subsequence is replaced with a local marker to obtain a marker sequence representing local feature values. The string length of the local marker is less than the sequence length of the corresponding subsequence (the number of identifiers contained in the subsequence). Thus, a shorter marker sequence can represent both the identifier content and the identifier order, thereby reducing the subsequent computational load. Finally, a first similarity is obtained between any two marker sequences (the marker sequences corresponding to any two first character sequences). This first similarity can represent the degree of overlap of identifiers and the degree of matching of identifier order between the two first character sequences in a local segment, i.e., local feature values. Based on this, the first character sequence corresponding to the marker sequence with a first similarity greater than or equal to a first threshold is determined as the third character sequence.
[0102] It should be noted that, in this embodiment, when segmenting the first character sequence, the first character sequence can be segmented multiple times consecutively according to the target length to obtain multiple ordered subsequences.
[0103] The target length can be represented by K. In the multiple subsequences obtained after segmentation, two adjacent subsequences have K-1 overlapping identifiers, where K is a fixed length of each subsequence and is a positive integer greater than or equal to 2. For example, in two adjacent subsequences, the first subsequence includes the first K-1 identifiers of the second subsequence, and the second subsequence includes the last K-1 identifiers of the first subsequence.
[0104] For example, taking K as 2, the first character sequence [1, 2, 3] is divided into a series of continuous subsequences of fixed length (K) using a sliding window with a window size of 2: [1, 2], [2, 3], where the latter identifier in [1, 2] overlaps with the former identifier in [2, 3]. Based on this, [1, 2] is replaced with local label A, and [2, 3] is replaced with local label B, thus obtaining the label sequence [A, B]. Here, A and B can represent the identifier content in [1, 2, 3], and the arrangement between A and B can represent the identifier order. Based on this, each first character sequence is converted into a label sequence that can represent local feature values. Then, the similarity of this label sequence with the label sequences corresponding to other first character sequences is calculated to obtain the first similarity between the corresponding first character sequences. Then, the first similarity is compared with a first threshold, and the first character sequences corresponding to the label sequences with a first similarity greater than or equal to the first threshold are clustered together as the third character sequence.
[0105] Specifically, in this embodiment, at least one of Jaccard similarity, cosine similarity, and Dice coefficient can be used to calculate the first similarity between any two marker sequences, which is to calculate the degree of overlap of identifier content and the degree of matching of identifier order in the local sequence segment of the corresponding two first character sequences, i.e., local feature value.
[0106] In other implementations, this embodiment can also use the bag of words (BoW) model to segment each first character sequence into subsequences and convert the segmented subsequences into high-dimensional feature vectors. This allows for the subsequent acquisition of the first similarity between any two first character sequences as local feature values based on these high-dimensional feature vectors. Subsequently, the first character sequences corresponding to the labeled sequences with a first similarity greater than or equal to a first threshold are clustered together as the third character sequences.
[0107] As can be seen, the clustering process of subsequence segmentation, label replacement, similarity calculation and filtering in this embodiment can ensure that there is a sequence with the same identifier order in the obtained third character sequence, filter out character sequences with inconsistent order and no identical identifier, further reduce the number of character sequences participating in subsequent clustering, and thus reduce time complexity.
[0108] Step 202: Based on the global feature value between any two third character sequences, select multiple second character sequences from multiple third character sequences.
[0109] Among them, the global feature value can characterize the global editing difference between third character sequences, that is, the degree of difference in the overall structure and the degree of difference in the arrangement of identifiers in the third character sequences. The larger the global feature value, the greater the global editing difference between third character sequences, and the smaller the similarity between third character sequences in terms of overall structure and identifier arrangement.
[0110] Based on this, in this embodiment, a third character sequence whose global feature value is less than or equal to the second threshold can be determined as the second character sequence.
[0111] Specifically, in this embodiment, the minimum number of edits required to transform between any two third character sequences can be obtained as a global feature value. The smaller the minimum number of edits, the smaller the difference between the third character sequences. Based on this, the third character sequences with a global feature value (i.e., the minimum number of edits) less than or equal to a second threshold are clustered together as the second character sequences.
[0112] For example, the minimum number of edits required to transform between any two third character sequences can be obtained by calculating the minimum edit distance (Levenshtein) between any two third character sequences. Based on this, in this embodiment, a second threshold can be used to cluster second character sequences from the third character sequences according to the minimum edit distance. These second character sequences form a sequence set E, which is a subset of D_sub.
[0113] In some embodiments, global feature values can characterize how many elements differ between two third character sequences at corresponding positions, such as Hamming. Of course, there are other ways to characterize global features, which will not be elaborated here.
[0114] As can be seen, in this embodiment, coarse-grained screening of local sequence fragments is first completed through local feature values to reduce the size of the character sequences to be clustered, and then fine-grained matching of the overall character sequence dimension is completed through global feature values such as minimum edit distance. This is beneficial for providing training samples with high similarity to the target model, thereby improving the accuracy of the target model training and thus improving the rationality of recommending physical cells for electronic devices.
[0115] Based on the above implementation scheme, in this embodiment, after obtaining the second character sequence, the training of the target model can be triggered based on the target conditions. Specifically, in this embodiment, in response to the satisfaction of the target conditions, the target model can be trained based on the training samples constructed from the second character sequence. Here, the target conditions can be selected from one of the following combinations:
[0116] Reach the preset target time, for example, 1 a.m. every day;
[0117] The target model recommends the wrong physical cell for N consecutive times, causing the electronic device to drop the call. N is a positive integer greater than or equal to 2. For example, the target model recommends the wrong physical cell for 3 consecutive times, causing the electronic device to drop the call after switching physical cells.
[0118] The operating state of an electronic device meets the idle condition. For example, the idle condition can be based on the communication module, charging status, or processor status.
[0119] For example, in this embodiment, the target model can be trained based on training samples constructed from the second character sequence at 1 a.m. every day;
[0120] For example, in this embodiment, the call status of the electronic device after the target model recommends a physical cell to the electronic device and the electronic device switches to the physical cell can be monitored. If the target model recommends a physical cell to the electronic device for three consecutive times and the electronic device drops the call after switching to the recommended physical cell, it indicates that the inference accuracy of the target model is poor. At this time, it is necessary to train the target model based on the training samples constructed based on the second character sequence to improve the inference accuracy of the target model and avoid recommending the wrong cell again.
[0121] For example, in this embodiment, the operating status of the electronic device can be monitored. If the electronic device is using WiFi communication, is charging, and the processor is idle, it means that training the target model will not affect the normal operation of the electronic device. Therefore, when the idle condition is met, the target model is trained based on the training samples constructed from the second character sequence.
[0122] As can be seen, this embodiment can set multiple target conditions to start the training of the target model, and users can flexibly choose appropriate target conditions, such as training the target model regularly, training the target model during idle time, or training the target model after discovering inference errors. Based on this, the training of the target model in this embodiment can avoid the busy business hours of electronic devices, make reasonable use of the idle resources of electronic devices for the training of the target model, and update the target model in a timely manner when the recommendation effect of the target model deteriorates. This allows the target model to continuously adapt to the changes in the physical cell handover behavior of electronic devices, always maintain the accuracy of physical cell dwell recommendation, and effectively reduce the call drop rate of electronic devices.
[0123] Based on the above implementation scheme, in this embodiment, training samples for the target model can also be constructed based on the second character sequence in the following way, such as... Figure 3 As shown:
[0124] Step 301: Based on the second character sequence with the second identifier, verify the identifier and the first identifier in the second character sequence with the first identifier that belong to the same sequence group.
[0125] The second character sequence contains either a first identifier or a second identifier. The first identifier indicates that the electronic device's communication has dropped, while the second identifier indicates that the electronic device's communication has not dropped. For example, the second character sequence [1, 2, 3, 4, 5] contains the "no dropout" identifier (i.e., the second identifier), the second character sequence [1, 4, 3, 4, 5] contains the "no dropout" identifier (i.e., the second identifier), and the second character sequence [1, 2, 3, 4, 6] contains the "dropout" identifier (i.e., the first identifier).
[0126] It should be noted that in this embodiment, each second character sequence after clustering and filtering can be labeled with a status according to the actual connection and disconnection status of the electronic device in historical calls. Specifically, the second character sequence corresponding to a dropped call is marked as the first identifier, and the second character sequence with a stable call link (i.e., no dropped call) is marked as the second identifier, thereby distinguishing between positive and negative samples of the character sequence. The second character sequence with the first identifier is a negative sample, and the second character sequence with the second identifier is a positive sample.
[0127] Among them, the second character sequences belonging to the same sequence group have the same or similar physical cell handover behavior. Based on this, in this embodiment, the second character sequence that does not lose communication is used as a reference benchmark to verify the identifier in the second character sequence that loses communication in the same group, so that the second character sequence that loses communication is verified as a positive sample that does not lose communication. Thus, through verification, all second character sequences are positive samples that do not lose communication. The training samples constructed subsequently can enable the target model to learn how to recommend physical cells for electronic devices to prevent the electronic devices from losing communication during mobile calls.
[0128] Step 302: Construct training samples based on the verified second character sequence.
[0129] The input samples in the training samples are the identifier sequences generated by the electronic device in historical calls; the output samples in the training samples are the identifiers of the physical cells in which the electronic device does not drop the call in historical calls; the training samples enable the output of the target model to represent the identifiers of the physical cells in which the electronic device remains or the physical cells to which the electronic device is to switch.
[0130] In one implementation, the identifier in the verified second character sequence represents the physical cell in which the electronic device does not drop the call during historical calls. Based on this, in this embodiment, the verified second character sequence can be used as the input of the target model. The target model can learn which physical cell to switch from the previous physical cell to avoid dropping the call according to the input second character sequence. Thus, by using the verified second character sequence as a training sample, the output of the target model can represent that the electronic device stays in the physical cell it is camped on without dropping the call or represents that the electronic device does not drop the call after switching to the physical cell.
[0131] As can be seen, in this embodiment, two types of identifiers, namely "communication dropped" and "no dropped", can be configured for the second character sequence. The identifier and identifier of the character sequence that is stationed without dropping the connection within the same group are used as the benchmark to verify the identifier and identifier of the character sequence that is stationed with the dropped connection. Based on this, training samples are constructed. This allows the target model to fully learn the stationing advantages and disadvantages of different physical cells, and thus output the inference results of maintaining stationing or switching physical cells. This is beneficial for electronic devices to effectively avoid physical cells that are prone to dropping the connection, thereby reducing the probability of dropped calls during mobile calls of electronic devices.
[0132] Based on the above implementation scheme, step 301, when verifying the second character sequence, can be achieved in the following way: Figure 4 As shown:
[0133] Step 401: Compare the identifiers contained in any two second character sequences that have the first identifier and belong to the same sequence group to obtain the intersection sequence.
[0134] The intersection sequence consists of identifiers that are identical in the same order between any two second character sequences with a first identifier.
[0135] Specifically, in this embodiment, the second character sequences that are all call dropouts in the same sequence group can be compared one by one according to the position (order) of the identifier in the second character sequence, and the identifier fragments that are consistent in order among the second character sequences of call dropouts can be extracted to form an intersection sequence that can reflect the common pattern of abnormal handover behavior.
[0136] For example, the intersection of the second character sequence of a dropped call [1, 2, 3, 4, 5] and the second character sequence of a dropped call within the same group [1, 4, 3, 4, 5] is: [1, 3, 4, 5].
[0137] Step 402: Starting from the last identifier of the second character sequence with the second identifier, compare the identifiers in the intersection sequence with the identifiers in the second character sequence with the second identifier to locate the first identical first identifier.
[0138] Specifically, in this embodiment, the identifiers in the intersection sequence can be compared with the identifiers in the second character sequence with the second identifier, starting from their respective end identifiers, to determine the first identical first identifier starting from the end identifier.
[0139] For example, the second character sequence [1, 2, 3, 4, 6] that prevents dropped calls is compared with the intersection sequence [1, 3, 4, 5] starting from the last character. The first identical identifier [4] is found, indicating that the electronic device residing in the physical cell corresponding to "4" will not drop the call, and will not drop the call after switching to the physical cell corresponding to "6", but will drop the call after switching to the physical cell corresponding to "5".
[0140] As can be seen, in this embodiment, starting from the last identifier of the second character sequence with the second identifier, the identifiers in the intersection sequence are matched in reverse. This can quickly locate the first identifier that overlaps with the common identifier fragment between the non-disconnecting character sequence and the disconnecting character sequence, and use this as the dividing point between the non-disconnecting switching behavior and the potential disconnecting switching behavior.
[0141] Step 403: Replace the next identifier of the first identifier in the second character sequence with the second identifier with the next identifier of the first identifier in the second character sequence with the first identifier.
[0142] In addition, in this embodiment, after replacing the next identifier of the first identifier in the second character sequence with the first identifier, the second character sequence of the replaced identifier is also set as the second identifier.
[0143] In this embodiment, under the same identifier order, the identifier following the first identifier is the key point that causes communication drop after physical cell handover. In this embodiment, the non-drop identifier in the corresponding order of the second character sequence of non-drop communication is replaced with the drop identifier in the corresponding order of the second character sequence of non-drop communication, so as to complete the identifier verification and first identifier verification in the second character sequence with the first identifier.
[0144] For example, for the second character sequence of a dropped call [1, 1, 3, 4, 5], replace the "5" in the second character sequence of dropped calls [2, 2, 3, 4, 5] with the identifier "6" following "4" in the second character sequence of a successful call [1, 2, 3, 4, 6]. Then, construct training samples based on the verified second character sequence to train the target model.
[0145] refer to Figure 5 This is a flowchart illustrating the implementation of a data processing device provided in an embodiment of this application. This device can be deployed in an electronic device capable of data processing, such as a computer or server. The electronic device can be used to generate training samples for a target model, enabling the target model to provide the electronic device with a physical cell to reside in. The technical solution in this embodiment is applied to the clustering scenario of PCI sequences in mobile communication scenarios. By first grouping and then performing parallel clustering within each group, the time complexity of large-scale PCI sequence clustering can be reduced, thereby improving the efficiency of generating training samples for the target model and thus improving the training efficiency of the target model.
[0146] Specifically, the apparatus in this embodiment may include the following units:
[0147] The sequence acquisition unit 501 is used to acquire a sequence set generated by the electronic device in historical calls; the sequence set includes a plurality of first character sequences, each first character sequence consisting of at least one identifier, the identifier representing the physical cell where the electronic device resides during the call;
[0148] The sequence partitioning unit 502 is used to divide the plurality of first character sequences into a plurality of sequence groups based on the first feature value corresponding to the first character sequence; each sequence group includes a plurality of first character sequences;
[0149] The sequence filtering unit 503 is used to filter the multiple first character sequences contained in each sequence group in parallel based on the second feature value corresponding to the first character sequence, so as to obtain multiple second character sequences corresponding to each sequence group.
[0150] The second character sequence is used to train a target model, which is used to provide the electronic device with a physical cell to reside in.
[0151] As can be seen from the above technical solution, in the data processing device provided by the embodiments of this application, a large number of first character sequences are first grouped according to the first feature value, and then the sequences within each group are filtered in parallel based on the first feature value. The filtered character sequences are then used to train the target model so that the target model can provide physical cells for electronic devices to reside in. It can be seen that, compared with the situation where global comparison of all character sequences can be avoided, which leads to excessive time complexity, this application can significantly reduce the time complexity of character sequence clustering by first grouping and converging the sequence range for subsequent character sequence comparison, and then filtering in parallel within each group, i.e., clustering. This can effectively reduce the computation time of character sequence clustering, thereby significantly improving the efficiency of obtaining character sequences for training the target model, and correspondingly accelerating the training efficiency of the target model.
[0152] In one implementation, the sequence filtering unit 503 is specifically used to: filter out a plurality of third character sequences from the sequence group based on the local feature values between any two first character sequences in the sequence group; wherein the local feature values characterize the similarity between the two first character sequences in their respective local sequence segments; and filter out a plurality of second character sequences from the plurality of third character sequences based on the global feature values between any two third character sequences.
[0153] Specifically, when the sequence filtering unit 503 filters out multiple third character sequences from the sequence group based on the local feature values between any two first character sequences in the sequence group, it is configured to: segment each first character sequence in the sequence group to obtain multiple sub-sequences corresponding to each first character sequence; each sub-sequence includes at least two identifiers; the order of the identifiers in the sub-sequence is consistent with their order in the first character sequence; replace each sub-sequence with a local marker to obtain a marker sequence representing the local feature value; the string length of the local marker is less than the sequence length of the corresponding sub-sequence; obtain a first similarity between any two marker sequences; and determine the first character sequence corresponding to the marker sequence whose first similarity is greater than or equal to a first threshold as a third character sequence.
[0154] Specifically, when the sequence filtering unit 503 divides the first character sequence to obtain multiple subsequences corresponding to the first character sequence, it is specifically used to: divide the first character sequence multiple times continuously according to the target length to obtain multiple ordered subsequences; wherein, two adjacent subsequences have K-1 overlapping identifiers; K is the fixed length of the subsequence, and K is a positive integer greater than or equal to 2.
[0155] In one implementation, when the sequence filtering unit 503 filters out multiple second character sequences from the plurality of third character sequences based on the global feature value between any two of the third character sequences, it is specifically used to: obtain the minimum number of edits required for conversion between any two of the third character sequences as the global feature value; and determine the third character sequence whose global feature value is less than or equal to a second threshold as the second character sequence.
[0156] In one implementation, this embodiment may further include the following units, such as... Figure 6 As shown:
[0157] The training triggering unit 504 is configured to train the target model based on training samples constructed from the second character sequences in response to a target condition, after the sequence filtering unit 503 obtains multiple second character sequences corresponding to each of the sequence groups, wherein the target condition is selected from one of the following combinations:
[0158] Reaching the preset target time;
[0159] The physical cell provided by the target model causes the electronic device to drop the call N times consecutively; N is a positive integer greater than or equal to 2;
[0160] The electronic device is in an idle state.
[0161] In one implementation, the second character sequence has a first identifier or a second identifier, wherein the first identifier indicates that the electronic device is offline and the second identifier indicates that the electronic device is not offline;
[0162] This embodiment may also include the following units, such as... Figure 7 As shown:
[0163] The sample construction unit 505 is configured to verify, based on the second character sequence having the second identifier, the identifier and the first identifier in the second character sequence belonging to the same sequence group; and to construct training samples based on the verified second character sequence; wherein, the input samples in the training samples are the identifier sequences generated by the electronic device in historical calls; the output samples in the training samples are the identifiers of the physical cells in which the electronic device does not drop the connection in historical calls; and the training samples enable the output of the target model to characterize the identifiers of the physical cells in which the electronic device remains or the physical cells to which the electronic device is to switch.
[0164] Specifically, when the sample construction unit 505 verifies the identifiers in the second character sequences with the first identifier that belong to the same sequence group based on the second character sequence with the second identifier, it is configured to: compare the identifiers contained in any two second character sequences with the first identifier that belong to the same sequence group to obtain an intersection sequence; wherein the intersection sequence consists of identifiers that are the same in the same order between any two second character sequences with the first identifier; starting from the last identifier of the second character sequence with the second identifier, compare the identifiers in the intersection sequence with the identifiers in the second character sequence with the second identifier to locate the first identical first identifier; and replace the next identifier of the first identifier in the second character sequence with the first identifier with the next identifier of the first identifier in the second character sequence with the first identifier.
[0165] refer to Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device may include the following structure:
[0166] Memory 801 is used to store computer programs and data generated during the execution of computer programs;
[0167] Processor 802 is used to execute computer programs to achieve:
[0168] Obtain a set of sequences generated by an electronic device in historical calls; the set of sequences includes multiple first character sequences, each first character sequence consisting of at least one identifier, the identifier representing the physical cell where the electronic device resides during the call;
[0169] Based on the first feature value corresponding to the first character sequence, the plurality of first character sequences are divided into a plurality of sequence groups; each sequence group includes a plurality of first character sequences;
[0170] Based on the second feature value corresponding to the first character sequence, the multiple first character sequences contained in each sequence group are filtered in parallel to obtain multiple second character sequences corresponding to each sequence group.
[0171] The second character sequence is used to train a target model, which is used to provide the electronic device with a physical cell to reside in.
[0172] As can be seen from the above technical solution, in the electronic device provided by the embodiments of this application, a large number of first character sequences are first grouped according to the first feature value, and then the sequences within each group are filtered in parallel based on the first feature value. The filtered character sequences are then used to train the target model so that the target model can provide the electronic device with a physical cell to reside in. It can be seen that, compared with the situation where global comparison of all character sequences can be avoided, which leads to excessive time complexity, this application can significantly reduce the time complexity of character sequence clustering by first grouping and converging the sequence range for subsequent character sequence comparison, and then filtering in parallel within the group, i.e., clustering. This can effectively reduce the computation time of character sequence clustering, thereby significantly improving the efficiency of obtaining character sequences for training the target model, and correspondingly accelerating the training efficiency of the target model.
[0173] Taking mobile communication scenarios as an example, the technical solution of this application is illustrated below:
[0174] First, this application proposes a method based on hierarchical filtering and parallel computing. Through a three-step progressive approximation matching process, it significantly reduces the computational complexity from O(L·N²) to close to O(NlogN), while also greatly improving the feature matching accuracy (achieving 100% accuracy on 40 million data points). Reference Figure 9 The process of clustering PCI sequences generated by mobile phones during historical calls is as follows:
[0175] 1. Data Acquisition: Collect business-related sequence sets A (tens to hundreds of millions or more) through the mobile phone's data acquisition function;
[0176] 2. Data cleaning:
[0177] (1) For sequence set A, first remove invalid / erroneous PCI sequences;
[0178] (2) Remove duplicates from the PCI sequence as follows:
[0179] ① Continuous repetition detection: Scan the PCI sequence and merge consecutive identical identifiers (hereinafter referred to as elements). For example, after merging consecutive identical identifiers [1, 1, 2, 2], we get [1, 2].
[0180] ② Cyclic pattern detection: Starting from the 3rd element, based on a sliding window with a window size of 2, the length of the sliding window is increased by 1 each time, and the preceding subsequences of the same length are compared. For example, it is used to detect whether [1, 2, 3] is a duplicate of the previous [1, 2, 3].
[0181] ③ Dynamic deduplication: After deleting duplicate segments, the index is rearranged and the process jumps to the next position to be checked.
[0182] For example, after removing duplicates from [5, 5, 1, 2, 3, 1, 2, 3, 4], we get [5, 1, 2, 3, 4], which allows us to extract the true features of the PCI sequence.
[0183] (3) After deduplication, remove PCI sequences with non-compliant lengths to generate sequence set B.
[0184] 3. Initial dataset splitting:
[0185] (1) Calculate the first eigenvalue for each PCI sequence in sequence set B;
[0186] (2) Assign the PCI sequences to the same or neighboring sequence groups according to the first feature value. Each sequence group represents a potential similar sequence group, resulting in a sequence set C, where each subset is called C_sub.
[0187] As can be seen, this step ensures that the sequences within C_sub are similar, and the number of PCI sequences within the subset is greatly reduced.
[0188] 4. Initial screening of candidate subsets: Parallel computation is performed on each candidate PCI sequence in C_sub:
[0189] (1) Divide the PCI sequence into a series of continuous, fixed-length (e.g., length K) subsequence segments, such as [1, 2, 3] being divided into [1, 2] and [2, 3] when K is 2. The divided PCI sequences are labeled as A and B respectively, and the PCI sequence is replaced by [A, B], i.e., the labeled sequence.
[0190] (2) Extract the label sequence of each PCI sequence as a feature representation, form a matrix of feature representations in C_sub, and perform similarity calculation within the matrix, i.e., the first similarity.
[0191] (3) Set a first threshold and filter out the set of highly correlated sequences D with a first similarity greater than or equal to the first threshold. D is a subset of C_sub.
[0192] This step ensures that there is a sequence with the same order in the refined D_sub subset, filters out sequences with inconsistent order and no identical elements, and further reduces the number of sequences in each subset.
[0193] 5. High-precision matching: Parallel computation is performed for each PCI sequence in D_sub:
[0194] (1) Perform precise element-level comparisons between the two and calculate the minimum edit distance between them, i.e., the global feature value.
[0195] (2) Set a second threshold and output the set of sequences E that meet the second threshold. E is a subset of D_sub.
[0196] Where E represents the clustering result of the ultra-large sequence, and each E_sub is a set of sequences with extremely high similarity that meet the requirements of the order of identifiers in the sequence.
[0197] It is evident that the technical solution adopted in this application has the following advantages:
[0198] 1. This hierarchical, progressive, coarse-to-fine clustering scheme significantly reduces time complexity (O(L·N²) -> O(NlogN)) and effectively balances the accuracy of the final matching results. Furthermore, this scheme can be extended to form a systematic method for processing sequence data matching, capable of matching, clustering, and filtering sequence data of various categories (numerical / character).
[0199] 2. This solution allows users to perform one-click deduplication of sequence data. Users can set the thresholds for each step, or choose whether to turn off a certain layer of filtering. Users can also choose whether to consider the order of identifiers in the sequence.
[0200] The following describes the deployment of the technical solution of this application in a specific scenario:
[0201] refer to Figure 10 The following is a flowchart illustrating the execution process of training a target model using historical call data on a user's mobile phone in a mobile network environment:
[0202] (1) Data collection: The mobile terminal collects PCI sequence data (with the identifiers of Call Drop and CallSuccess), and then uploads the data to the cloud;
[0203] (2) Data processing: The PCI sequence is processed using the technical solution of this application to obtain a clustered dataset, i.e., a sequence set composed of the second character sequence. The clustered dataset is obtained, and the transition points of Call drop and Call success for each class are obtained, i.e., the first identifier.
[0204] (3) After clustering, the dataset is fed into the model for training: The target model is designed with the following architecture:
[0205] Input layer: Receives a fixed-length sequence of data;
[0206] Embedding: Converts integer category features into dense vector representations;
[0207] Bidirectional Long Short-Term Memory (LSTM) network: captures the dependencies between sequences;
[0208] Layer normalization: stabilizes the training process and accelerates convergence;
[0209] Self-attention mechanism: A custom attention layer that focuses on important parts of a sequence;
[0210] Output layer: Multi-class classification is performed using the Softmax activation function.
[0211] (4) Model compression: Quantize and optimize the model, and output TensorFlow Lite (TFLite). Then, the model is downloaded to the mobile device.
[0212] (5) Model Deployment and PCI Prediction: On the mobile device, the real-time PCI sequence generated during each user call is input into the model, which outputs in real-time the prediction of which PCI to switch to next. If a PCI switch is required, the next PCI is replaced with the model-predicted PCI; otherwise, the PCI is not replaced to prevent dropped calls and reduce the call drop rate. The specific process is as follows:
[0213] Based on the above solution, the entire process of this application can be fully integrated into the mobile phone, realizing true edge intelligence and personalized learning, and automatically processing the sequence data collected by the system for clustering.
[0214] refer to Figure 11 This document presents the execution flowchart for model-based PCI switching in a mobile phone within a mobile network environment. It mainly includes three modules: real-time user call decision-making, data acquisition and processing, and model training and updating. It achieves self-optimization of communication scheduling strategies based on user behavior data. The execution flow is as follows:
[0215] I. Closed-loop of user calls and real-time PCI switching:
[0216] From the start of a user call, the intelligent PCI switching logic is continuously executed throughout the call. This logic is supported by a dynamically updated model, and its specific execution path is as follows:
[0217] First, the model outputs a judgment result of "Switch PCI". If the judgment result is Y (yes), the operation of "replace the next PCI with the predicted PCI" is executed; if the judgment result is N (no), the operation of "do not replace PCI" is executed.
[0218] The results of both operations are fed back to the "user call" stage, forming a continuously running real-time closed loop to ensure PCI scheduling optimization during the call.
[0219] II. User behavior data collection and processing after the call ends:
[0220] (1) Data collection: The mobile phone continuously collects the user's call behavior data, including key information such as PCI sequence, call success or drop status;
[0221] (2) Data processing: The collected data is cleaned and features are extracted, including local hierarchical filtering, deduplication, and delooping. Sequence features and subsequences are extracted in real time, and clustering is performed through precise matching to finally form standardized training samples.
[0222] (3) Model loading and adaptive reinforcement learning training:
[0223] This application triggers the model training process according to preset rules, such as loading the initial model during the first training and loading the existing model during subsequent training.
[0224] The model training is initiated under specific conditions, including: scheduled training at midnight every day, and supplementary training when three consecutive dropped calls are detected. The training process must be carried out under the premise of WiFi connection, device charging, and CPU idleness to avoid occupying terminal resources and affecting normal business.
[0225] The training process of reinforcement learning includes: the system uses processed call behavior data as observation input to construct a state space based on Markov Decision Process (MDP); it adopts a multi-objective reward function that includes call success rate improvement and handover penalty, and performs online iterative optimization of the policy network based on deep reinforcement learning (such as the Actor-Critic algorithm) to realize an adaptive policy for mobile communication scheduling; after the model training is completed, it outputs the decision policy of "not switching PCI or switching to which PCI", and feeds back to the "policy execution: intelligent PCI handover" stage to complete the model update closed loop.
[0226] In summary, the technical effects and end-user value of this application are described as follows:
[0227] 1. Feasibility of terminal computing power: The data processing method of this application enables rapid screening of massive sequences, ensuring high quality and large scale of model training data. It does not rely on large computing power in the cloud and is suitable for mobile phones or edge devices with limited computing power.
[0228] 2. Ensure high-quality training: The dynamic de-looping and deduplication techniques in this application ensure the accuracy of input data, reduce noise interference, and improve the model's generalization ability.
[0229] 3. No network dependency, privacy and security: All inference and learning functions can be completed offline with extremely low response latency. All sensitive behavioral data is processed locally without uploading to any server, addressing users' core concerns about privacy leaks.
[0230] 4. Adaptability: It can automatically adjust the model as user habits change, achieving a personalized intelligent experience.
[0231] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to the method section.
[0232] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0233] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.
[0234] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A data processing method, comprising: Obtain the set of sequences generated by electronic devices in historical calls; The sequence set includes multiple first character sequences, each first character sequence consisting of at least one identifier, the identifier representing the physical cell where the electronic device resides during a call; Based on the first feature value corresponding to the first character sequence, the plurality of first character sequences are divided into a plurality of sequence groups; each sequence group includes a plurality of first character sequences; Based on the second feature value corresponding to the first character sequence, the multiple first character sequences contained in each sequence group are filtered in parallel to obtain multiple second character sequences corresponding to each sequence group. The second character sequence is used to train a target model, which is used to provide the electronic device with a physical cell to which it can reside.
2. The method according to claim 1, wherein based on the second feature value corresponding to the first character sequence, filtering the plurality of first character sequences contained in the sequence group to obtain a plurality of second character sequences corresponding to the sequence group includes: Based on the local feature values between any two first character sequences in the sequence group, multiple third character sequences are selected from the sequence group; The local feature values characterize the degree of similarity between the two first character sequences in their respective local sequence segments; Based on the global feature value between any two of the third character sequences, a plurality of second character sequences are selected from the plurality of third character sequences.
3. The method according to claim 2, wherein multiple third character sequences are selected from the sequence group based on local feature values between any two first character sequences in the sequence group, comprising: Each of the first character sequences in the sequence group is segmented to obtain multiple sub-sequences corresponding to each first character sequence; The subsequence includes at least two identifiers; the order of the identifiers in the subsequence is consistent with their order in the first character sequence; Each subsequence is replaced with a local marker to obtain a marker sequence representing local feature values; the string length of the local marker is less than the sequence length of the corresponding subsequence. Obtain the first similarity between any two of the labeled sequences; The first character sequence corresponding to the marker sequence whose first similarity is greater than or equal to the first threshold is determined as the third character sequence.
4. The method according to claim 3, wherein the first character sequence is segmented to obtain multiple sub-sequences corresponding to the first character sequence, including: The first character sequence is divided into multiple consecutive segments according to the target length to obtain multiple ordered subsequences; Wherein, two adjacent subsequences have K-1 overlapping identifiers; K is the fixed length of the subsequence, and K is a positive integer greater than or equal to 2.
5. The method according to claim 2, wherein a plurality of second character sequences are selected from the plurality of third character sequences based on a global feature value between any two of the third character sequences, comprising: The minimum number of edits required to transform between any two of the third character sequences is obtained as a global feature value; The third character sequence whose global feature value is less than or equal to the second threshold is determined as the second character sequence.
6. The method according to claim 1, after obtaining the plurality of second character sequences corresponding to each of the sequence groups, the method further includes: In response to the satisfaction of the target condition, the target model is trained based on the training samples constructed from the second character sequence, wherein the target condition is selected from one of the following combinations: Reaching the preset target time; The physical cell provided by the target model causes the electronic device to drop the call N times consecutively; N is a positive integer greater than or equal to 2; The electronic device is in an idle state.
7. The method according to claim 1, wherein the second character sequence has a first identifier or a second identifier, the first identifier indicating that the electronic device is offline, and the second identifier indicating that the electronic device is not offline; in, The method further includes: Based on the second character sequence having the second identifier, verify the identifier and the first identifier in the second character sequence having the first identifier that belong to the same sequence group; Based on the verified second character sequence, construct training samples; The input samples in the training samples are the identifier sequences generated by the electronic device in historical calls; the output samples in the training samples are the identifiers of the physical cells in which the electronic device does not drop the connection in historical calls; the training samples enable the output of the target model to represent the identifiers of the physical cells in which the electronic device remains or the physical cells to which the electronic device is to switch.
8. The method according to claim 7, wherein verifying an identifier in a second character sequence having the first identifier that belongs to the same sequence group based on a second character sequence having the second identifier comprises: The identifiers contained in any two second character sequences that belong to the same sequence group and have the first identifier are compared to obtain the intersection sequence. Wherein, the intersection sequence consists of identifiers that are identical in the same order between any two second character sequences having the first identifier; Starting from the last identifier of the second character sequence with the second identifier, the identifiers in the intersection sequence are compared with the identifiers in the second character sequence with the second identifier to locate the first identical first identifier; Replace the next identifier of the first identifier in the second character sequence having the second identifier with the next identifier of the first identifier in the second character sequence having the first identifier.
9. A data processing apparatus, comprising: A sequence acquisition unit is used to acquire a set of sequences generated by electronic devices in historical calls; The sequence set includes multiple first character sequences, each first character sequence consisting of at least one identifier, the identifier representing the physical cell where the electronic device resides during a call; A sequence partitioning unit is used to divide the plurality of first character sequences into a plurality of sequence groups based on a first feature value corresponding to the first character sequence; each sequence group includes a plurality of first character sequences; A sequence filtering unit is used to filter multiple first character sequences contained in each sequence group in parallel based on the second feature value corresponding to the first character sequence, so as to obtain multiple second character sequences corresponding to each sequence group. The second character sequence is used to train a target model, which is used to provide the electronic device with a physical cell to which it can reside.
10. An electronic device, comprising: Memory is used to store computer programs and the data generated by the execution of computer programs. A processor is used to execute computer programs to achieve: Obtain a set of sequences generated by an electronic device in historical calls; the set of sequences includes multiple first character sequences, each first character sequence consisting of at least one identifier, the identifier representing the physical cell where the electronic device resides during the call; Based on the first feature value corresponding to the first character sequence, the plurality of first character sequences are divided into a plurality of sequence groups; each sequence group includes a plurality of first character sequences; Based on the second feature value corresponding to the first character sequence, the multiple first character sequences contained in each sequence group are filtered in parallel to obtain multiple second character sequences corresponding to each sequence group. The second character sequence is used to train a target model, which is used to provide the electronic device with a physical cell to which it can reside.