Intelligent call data analysis and prediction method
By generating path node sequences through temporal adjacency clustering and sliding three-node detection algorithms, and combining dynamic frequency-varying window scanning and hidden Markov models, the problems of lost behavior patterns and insufficient accuracy in identifying sudden events in existing call data analysis are solved, achieving efficient multi-dimensional call path classification and accurate behavior prediction.
Patent Information
- Application Number
- CN202511545174.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-28
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2045-10-28
AI Technical Summary
Existing intelligent call data analysis methods cannot adjust the compression ratio according to the dynamic characteristics of the call path, resulting in the loss of behavioral patterns. Furthermore, they lack a response mechanism to sudden changes in call frequency, which affects the accuracy of capturing sudden event-driven calls.
A temporal adjacency clustering algorithm is used to generate path node sequences, combined with a sliding three-node detection algorithm to identify compressible subsequences, and a dynamic frequency-varying window scanning algorithm to capture abrupt windows. A joint discrimination model is constructed and frequency difference group analysis is performed in real time using a hidden Markov model.
It improves the temporal consistency of data, reduces interference from redundant data, enables multi-dimensional call path type classification, and enhances the sensitivity of non-steady-state scenario identification and the temporal matching accuracy of future call behavior.
Smart Images

Figure CN121030231B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data analysis technology, and in particular to a method for intelligent call data analysis and prediction. Background Technology
[0002] The field of data analytics encompasses the entire process of collecting, organizing, processing, analyzing, and interpreting various types of raw data. Its aim is to extract valuable information for practical applications through in-depth analysis of data characteristics, structure, and their inherent relationships. Core components of this field include data acquisition and preprocessing, statistical modeling, pattern recognition, and trend analysis, and it is widely applied in business intelligence, operations management, and market forecasting. Current data analytics practices place particular emphasis on the ability to fuse and analyze multi-source heterogeneous data, as well as in-depth processing methods for structured and unstructured data such as time series and behavioral data, thereby providing theoretical basis and data support for decision-making. The technological system in this field covers a complete methodological framework, from data acquisition equipment and analytical model design to computational process construction and the expression of analytical results, emphasizing the closed-loop nature and verifiability of the data logic chain.
[0003] The intelligent call data analysis and prediction method refers to the in-depth analysis and determination of user intent based on user call behavior data in communication networks. This is achieved through methods such as establishing user behavior rule recognition, call data classification and statistics, historical call frequency modeling, and future call probability prediction. Specifically, this patent covers the continuous tracking of elements such as call time, call recipients, and call frequency. It also involves constructing a behavioral model based on changes in user communication cycles, and then performing time window matching calculations and probability scoring ranking based on the established behavioral model to ultimately determine potential high-frequency call contacts within a specific future time period. Its implementation typically includes using call record timestamps for sequence extraction, employing a distance-based call interval classification method, and using data segmentation calculations and threshold judgment strategies to identify user call trends.
[0004] Existing technologies rely on fixed thresholds to filter data, failing to adjust compression ratios based on dynamic call path characteristics, leading to the loss of some behavioral patterns. Traditional methods use single statistical indicators for path classification, ignoring the synergistic effects of multi-dimensional features, resulting in high misclassification rates in complex scenarios. Static time windows lack a response mechanism to sudden changes in call frequency, making it difficult to identify non-steady-state behavioral characteristics and affecting the accuracy of capturing sudden event-driven calls. Existing prediction models do not integrate real-time updated frequency difference group data, resulting in lagging state transition probability updates and temporal deviations between prediction results and real-world scenarios. For example, traditional methods suffer from decreased accuracy in identifying high-frequency contacts in scenarios with fluctuating communication cycles due to fixed windows, or miss key call predictions in sudden event scenarios due to the lack of a symmetrical time window mechanism. Summary of the Invention
[0005] The purpose of this invention is to address the shortcomings of existing technologies by proposing an intelligent call data analysis and prediction method.
[0006] To achieve the above objectives, the present invention adopts the following technical solution: a method for intelligent call data analysis and prediction, comprising the following steps:
[0007] S1: Obtain the main user's call records through communication devices, extract timestamps, other party identifiers and directions, sort and merge adjacent cross-object call events based on temporal adjacency clustering algorithm, generate path node sequence, and normalize call duration to generate node weight matrix.
[0008] S2: Call the path node sequence, use the sliding three-node detection algorithm to traverse the subsequence, count the proportion of compressible subsequences to generate a compression score, extract the set of compressed subsequences and record the compressed path length;
[0009] S3: Based on the compressed subsequence set, call the node weight matrix to calculate the node density, path length change ratio and weight concentration distribution, and input them into the structural feature joint discrimination model to generate path type evaluation results;
[0010] S4: Use a dynamic frequency-varying window scanning algorithm to traverse the call frequency sequence, detect abrupt windows and extract event-driven timestamps, construct a symmetrical time window, calculate the frequency difference of contacts within the window to generate a frequency difference group, and combine the path type evaluation results to generate a set of behavior labels.
[0011] As a further aspect of the present invention, the path node sequence specifically comprises a timestamp sequence, a set of counterparty identifiers, and a call direction sequence; the node weight matrix includes the mean call duration, the variance of call duration, and the duration distribution density; the compression score specifically refers to the proportion of compressible subsequences and the compression efficiency coefficient; the set of compressed subsequences includes repetitive pattern segments, high-frequency call segments, and cross-object merging units; the compressed path length specifically comprises the length reduction rate, the number of segmented nodes, and the amount of redundancy elimination; the path type evaluation result includes regular path classification, abnormal path classification, structural complexity level, and network stability score; and the behavioral label set specifically comprises high-frequency abnormal labels, low-frequency stable labels, sudden interaction labels, and periodic behavior identifiers.
[0012] As a further aspect of the present invention, the step of obtaining the node weight matrix specifically includes:
[0013] S101: Obtain call records from the main user's communication device, extract the timestamp, the other party identifier, and the call direction of each record, rearrange the timestamps according to the ascending order, perform secondary sorting according to the direction parameter for cases where there are multiple sets of call records under the same timestamp, and integrate the sorted timestamp, the other party identifier, and the three parameters of direction into a structured data set to generate a call record triplet.
[0014] S102: Call the call record triplet, set the time difference threshold between adjacent call events, extract the timestamp parameters of adjacent events to calculate the difference, and compare the direction parameters of call events with a difference less than the threshold. If the direction parameters of the two events are different and the other party identifiers are inconsistent, they are merged into cross-object call nodes and arranged along the time axis according to the merged node order to generate a path node sequence.
[0015] S103: Based on the path node sequence, extract the total duration of call events within multiple nodes, normalize the calculation based on the maximum call duration, map it to an interval value, construct the weight relationship between nodes, and construct the node weight matrix.
[0016] As a further aspect of the present invention, the step of obtaining the compressed subsequence set specifically includes:
[0017] S201: Call the path node sequence, select every three adjacent nodes in sequence to form a sliding window, compare the coordinate difference between the middle node and the predecessor and successor nodes, if both differences are less than the preset path curvature threshold, mark the middle node as a redundant node, traverse all nodes, and generate a compressible node identifier.
[0018] S202: Based on the compressible node identifier, calculate the ratio of the number of redundant nodes to the total number of nodes in the original path, and combine the ratio of the number of consecutive segments of redundant nodes to the number of segments in the original path. Then, sum the two values by weight to generate a compression score.
[0019] S203: Based on the compressible node identifier, merge adjacent redundant nodes into a compressible subsequence, retain the first and last nodes and remove intermediate redundant nodes to generate a set of compressed subsequences, calculate the difference between the total number of nodes after compression and the original number of nodes, and combine the accumulated value of the key node spacing to generate the compressed path length.
[0020] As a further aspect of the present invention, the steps for obtaining the path type evaluation result are specifically as follows:
[0021] S301: Call the node position coordinates and node weight matrix in the compressed subsequence set, count the total number of nodes whose horizontal and vertical coordinates are in the set interval within the coverage area of each subsequence, divide the total number of nodes by the product of the difference in boundary coordinates of the subsequence coverage area, and obtain the average node density.
[0022] S302: Extract the initial length and current length of all paths in the compressed subsequence set, subtract the current length from the initial length value of each path, divide the difference by the initial length value to obtain the length change ratio, take the absolute value of the length change ratio of all paths and calculate the arithmetic mean to generate the path length change rate.
[0023] S303: Traverse the weight value of each node in the node weight matrix, calculate the arithmetic mean of the weight values of its neighboring nodes, count the number of nodes whose weight values exceed the average of the neighboring nodes, and use the ratio of the number to the total number of nodes as the weight concentration. Input the mean node density, the path length change rate, and the weight concentration into the structural feature joint discrimination model, match the preset path type classification threshold conditions in the model, and generate the path type evaluation result.
[0024] As a further aspect of the present invention, the step of obtaining the behavior tag set specifically includes:
[0025] S401: Detect continuous intervals in the call frequency sequence where the window length changes dynamically. When traversing the sequence, dynamically adjust the window length to twice the current frequency fluctuation amplitude. Calculate the mean of the call frequencies in adjacent windows. Compare the square of the mean difference with a preset frequency change threshold. When the cumulative difference exceeds the threshold, a window mutation is determined. Extract the start and end times of the mutation window and generate an event timestamp sequence.
[0026] S402: Call the event timestamp sequence, expand the same time span to both sides of the timestamp, capture all call records in the window, count the number of calls of multiple contacts and convert them into frequency values, calculate the absolute difference between the frequency value of each contact and the average frequency of the window, perform mean normalization on the difference sequence, and aggregate the dispersion to generate frequency difference groups.
[0027] S403: Call the frequency difference group and the path type evaluation result, perform scalar product of the normalized difference of each contact in the difference group and the corresponding path weight, accumulate the product results to obtain the comprehensive evaluation value, compare the evaluation value with the preset behavior judgment threshold item by item, filter the contact number that exceeds the threshold, and generate a set of behavior tags.
[0028] As a further aspect of the present invention, the method further includes:
[0029] S5: Call the set of behavior labels and the evaluation results of the path type, input them into the hidden Markov prediction model, calculate the probability of occurrence of each behavior label in the next period based on the label state transition probability matrix, and output the behavior evolution prediction results;
[0030] The behavioral evolution prediction results include the label probability distribution sequence, state transition trend prediction, periodic fluctuation range, and probability peak timestamp.
[0031] As a further aspect of the present invention, the steps for obtaining the behavior evolution prediction results are specifically as follows:
[0032] S501: Call the current period last state value of all tags in the behavior tag set, extract the direction parameter from the path type evaluation result, arrange the state value and direction parameter in time order into a two-dimensional input vector, and generate a tag state direction sequence;
[0033] S502: Based on the spatial distribution of multiple vectors within the label state direction sequence, the horizontal transition probability value corresponding to the direction parameter in the label state transition probability matrix is called, and the probability accumulation operation is performed on the current state value. The direction parameter and the transition probability value are weighted and superimposed according to the path weight ratio. At the same time, the superposition result is normalized according to the path dimension to obtain the path transition probability set.
[0034] S503: Based on the probability values of the same type of label for differentiated paths in the path transition probability set, perform a linear superposition operation on the probability values of the same label for adjacent paths, filter the label types whose probability values after superposition exceed the preset path benchmark value, integrate all label probability distributions that meet the conditions, and generate behavior evolution prediction results.
[0035] Compared with the prior art, the advantages and positive effects of the present invention are as follows:
[0036] In this invention, a temporal adjacency clustering algorithm is used to integrate discrete call events into a continuous path node sequence, eliminating the temporal fragmentation of cross-object calls and improving the temporal continuity of data. Normalization quantifies the weight distribution of different call durations, establishing a standardized input benchmark for path feature extraction. A sliding three-node detection algorithm dynamically identifies compressible subsequences and filters high-frequency repetitive behaviors based on compression scores, reducing redundant data interference. Multi-dimensional feature vectors are fused with node density, path length variation ratio, and weight concentration distribution to construct a joint discrimination model, overcoming the limitations of single statistical indicators and achieving multi-dimensional classification of call path types. A dynamic frequency-varying window scanning algorithm, combined with a symmetrical time window, calculates frequency differences to capture sudden and periodic behavioral characteristics, enhancing the sensitivity to non-steady-state scenarios. A Hidden Markov Model integrates real-time updated frequency difference groups and label state transition probabilities to establish a dynamic prediction mechanism, improving the temporal matching accuracy and scenario coverage of future call behaviors. Attached Figure Description
[0037] Figure 1 This is a schematic diagram of the main steps of the present invention;
[0038] Figure 2This is a flowchart illustrating the steps for obtaining the node weight matrix in this invention.
[0039] Figure 3 This is a flowchart illustrating the steps for obtaining the compressed subsequence set according to the present invention.
[0040] Figure 4 This is a flowchart of the steps for obtaining the path type evaluation result of the present invention;
[0041] Figure 5 This is a flowchart illustrating the steps for obtaining the behavior tag set in this invention.
[0042] Figure 6 This is a flowchart illustrating the steps for obtaining the behavioral evolution prediction results of this invention. Detailed Implementation
[0043] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0044] In the description of this invention, it should be understood that the terms "length," "width," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," and "outer," etc., indicating orientation or positional relationships, are based on the orientation or positional relationships shown in the accompanying drawings and are only for the convenience of describing the invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the invention. Furthermore, in the description of this invention, "a plurality of" means two or more, unless otherwise explicitly specified.
[0045] Example 1: Please refer to Figure 1 This invention provides a technical solution: a method for intelligent call data analysis and prediction, comprising the following steps:
[0046] S1: Obtain the main user's call records through communication devices, extract timestamps, other party identifiers and directions, sort and merge adjacent cross-object call events based on temporal adjacency clustering algorithm, generate path node sequence, and normalize call duration to generate node weight matrix.
[0047] S2: Call the path node sequence, use the sliding three-node detection algorithm to traverse the subsequence, count the proportion of compressible subsequences to generate a compression score, extract the set of compressed subsequences and record the compressed path length;
[0048] S3: Based on the compressed subsequence set, call the node weight matrix to calculate the node density, path length change ratio and weight concentration distribution, and input them into the structural feature joint discrimination model to generate path type evaluation results;
[0049] S4: Use a dynamic frequency-varying window scanning algorithm to traverse the call frequency sequence, detect abrupt windows and extract event-driven timestamps, construct a symmetrical time window, calculate the frequency difference of contacts within the window to generate a frequency difference group, and combine the path type evaluation results to generate a set of behavior labels.
[0050] S5: Call the behavior label set and path type evaluation results, input them into the hidden Markov prediction model, calculate the occurrence probability of each behavior label in the next period based on the label state transition probability matrix, and output the behavior evolution prediction results.
[0051] The path node sequence specifically includes a timestamp sequence, a set of counterparty identifiers, and a call direction sequence. The node weight matrix includes the mean call duration, the variance of call duration, and the duration distribution density. The compression score specifically refers to the proportion of compressible subsequences and the compression efficiency coefficient. The set of compressed subsequences includes repetitive pattern segments, high-frequency call segments, and cross-object merging units. The compressed path length specifically includes the length reduction rate, the number of segment nodes, and the amount of redundancy elimination. The path type evaluation results include regular path classification, abnormal path classification, structural complexity level, and network stability score. The behavioral label set specifically includes high-frequency abnormal labels, low-frequency stable labels, sudden interaction labels, and periodic behavior identifiers. The behavioral evolution prediction results include the label probability distribution sequence, state transition trend prediction, periodic fluctuation range, and probability peak timestamp.
[0052] Please see Figure 2 The specific steps for obtaining the node weight matrix are as follows:
[0053] S101: Obtain call records from the main user's communication device, extract the timestamp, the other party identifier, and the call direction of each record, rearrange the timestamps according to the ascending order, perform secondary sorting according to the direction parameter for cases where there are multiple sets of call records under the same timestamp, and integrate the sorted timestamp, the other party identifier, and the three parameters of direction into a structured data set to generate a call record triplet.
[0054] First, the call log data stored on the main user's communication device is accessed. This data is usually stored in a structured data table in a local database or cloud server, containing fields such as "record ID", "timestamp", "other party number", "call type", and "call duration". Data extraction is performed to filter all call records of a specific user (taking user "Li Ming" as an example) within a set period (selecting the past 60 days). For each filtered call record, three core parameters are precisely extracted: the precise timestamp of the call (recorded to the second, such as '2025-03-15 09:30:15'), the unique phone number identifier of the other party (such as '13812345678'), and the clear call direction (identified as 'incoming' or 'outgoing').
[0055] After extraction, the obtained record set is sorted in ascending order according to the timestamp parameter. A stable sorting algorithm (such as merge sort) is used to ensure the accuracy of the time order. During the sorting process, if a case with completely identical timestamps is encountered (e.g., '2025-03-16 10:00:00' has both an incoming call record and an outgoing call record), it is processed according to a predefined secondary sorting rule: 'outgoing' records are prioritized over 'incoming' records to ensure the deterministic order of events at the same time. After sorting and integration, the three parameters of "timestamp", "recipient identifier", and "direction" of each record are encapsulated into a structured data unit. This unit constitutes a call record triplet. Specifically, let the initially extracted partial records be: ('2025-04-01 14:20:05', '159876543'). The initial part of the triplet sequence formed after sorting and recombination is: ('2025-04-01 09:30:15', '13812345678', 'outgoing', 120 seconds), ('2025-04-01 09:30:15', '13911112222', 'incoming', 45 seconds). The sets of triples ('2025-04-01 09:30:15', '13812345678', 'Outgoing Call'), ('2025-04-01 09:30:15', '13911112222', 'Incoming Call'), ('2025-04-01 14:20:05', '15987654321', 'Incoming Call') are the basic data source for subsequent analysis, generating call record triples.
[0056] S102: Call the call record triplet, set the time difference threshold between adjacent call events, extract the timestamp parameters of adjacent events to calculate the difference, and compare the direction parameters of call events with a difference less than the threshold. If the direction parameters of the two events are different and the other party identifiers are inconsistent, they are merged into cross-object call nodes and arranged along the time axis according to the merged node order to generate a path node sequence.
[0057] To determine the degree of correlation between call events when accessing the call log triple sequence, a threshold for the time difference between adjacent call events needs to be set. The threshold was set based on the analysis of user "Li Ming's" historical call habits. Specifically, the time intervals of all adjacent calls in Li Ming's call records over the past 60 days were collected, and the 25th percentile of these intervals was calculated. This 25th percentile was used as the threshold for judging continuous interaction behavior within a short period of time. The calculation was as follows: the collected partial call intervals (in seconds) were [150, 90, 200, 60, 180, 110, 130, 55, 210, 95], which, after sorting, became [55, 60, 90, 95, 110, 130, 150, 180, 200, 210]. The sample size was n=10, and the index position of the 25th percentile was... Take the weighted average of the second and third values, that is... Seconds, rounded down for ease of use. Second.
[0058] Next, the sorted sequence of call record triples is traversed in chronological order, and for each pair of adjacent call events in the sequence... and Extract its timestamp and Calculate the time difference Compare this difference with the threshold Compare and perform a judgment: If If the timer continues, the direction of their calls will be compared. and and the other party's identifier and The merging conditions are set as follows: the call directions of the two events must be different (one outgoing, one incoming) and the other party identifiers must be different. Consider a scenario: events For ('2025-04-05 11:05:30', '13510101010', 'Call Out'), the event Given ('2025-04-05 11:06:15', '13620202020', 'incoming call'), calculate the time difference. If the time interval is less than 70 seconds, the direction is "outbound" followed by "inbound", and the other party identifiers are different, the merging condition is met. These two events are merged into a "cross-object call node". This node records the start time '2025-04-05 11:05:30' and the end time '2025-04-05 11:06:15'. The list of other parties involved is ['13510101010', '13620202020']. If a call event does not meet the merging condition with its adjacent events, then the event itself constitutes an independent path node, recording its timestamp, other party identifier, and direction. After completing the traversal of the entire triplet sequence, all the generated independent nodes and the merged cross-object call nodes are arranged in their time order (based on the node's start timestamp) to generate a path node sequence.
[0059] S103: Based on the path node sequence, extract the total duration of call events within multiple nodes, normalize the calculation based on the maximum call duration, map it to an interval value, construct the weight relationship between nodes, and construct the node weight matrix.
[0060] Based on the path node sequence, weights are assigned to the nodes in the sequence to quantify their importance or activity. For each node in the path node sequence (independent node or cross-object call node), the original call record obtained in S101 is accessed, the "call duration" data of all call events contained in that node is extracted and accumulated to obtain the total call duration of each node. (Unit: seconds) If a cross-object call node merges three call events with durations of 30 seconds, 45 seconds, and 60 seconds respectively, its Second.
[0061] Find the maximum total call duration for all nodes in the sequence. Let the calculated durations (in seconds) of each node in the sequence be [50, 135, 80, 200, 95], then the maximum call duration is... seconds, with Based on this, the total call duration for each node Normalization calculations are performed because and The units are all seconds; dividing them yields a preliminary weight value without units. The initial weight sequence was calculated to be [50 / 200, 135 / 200, 80 / 200, 200 / 200, 95 / 200] = [0.25, 0.675, 0.4, 1.0, 0.475]. To distribute the weights within a more suitable range and avoid extreme values, these initial weights were... Linear mapping to preset Interval, mapping rule is Applying this rule, the final node weight sequence is calculated as follows: ,These The values constitute the node weight vector. Finally, these weight values are organized and formalized into a node weight vector. Alternatively, a more complex N×N weight matrix can be constructed as needed (constructed as a vector here) to build a node weight matrix (in vector form).
[0062] Please see Figure 3 The specific steps for obtaining the compressed subsequence set are as follows:
[0063] S201: Call the path node sequence, select every three adjacent nodes in sequence to form a sliding window, compare the coordinate difference between the middle node and the predecessor and successor nodes. If both differences are less than the preset path curvature threshold, mark the middle node as a redundant node. After traversing all nodes, generate a compressible node identifier.
[0064] Call the path node sequence and the calculated node weight vector Set a sliding window of fixed size 3, and select three consecutive adjacent nodes in the sequence in turn. To determine the smoothness of a path along the node weight dimension, a path curvature threshold is set. This threshold is used to identify nodes where weight changes are not significant, and its setting is based on the analysis of the normal fluctuation range of the weight sequence: calculating the weight vector The average of the absolute values of the differences between all adjacent elements in the set. By setting the threshold to a specific multiple of this average fluctuation amplitude, and selecting 0.6 times as the threshold coefficient, relatively smoother changes can be identified. ,set up .
[0065] Move the sliding window sequentially to traverse the path node sequence (and its corresponding weight vector). For each group within the window... Extract the corresponding weights Calculate intermediate nodes Absolute value of the weight difference with the predecessor node The absolute value of the weight difference between the sum and the successor node Execute the judgment: If and Then the intermediate node A node marked as "redundant" indicates that the change in the weight dimension of the node is lower than the set smoothness threshold and can be compressed. For example, in the weight sequence [0.325, 0.7075, 0.46, 1.0, 0.5275]: window [0.325, 0.7075, 0.46]: the weight of the middle node is 0.7075. , . The condition is not met; node 0.7075 is not redundant. Window [0.7075, 0.46, 1.0]: intermediate node weight 0.46. , . The condition is not met; node 0.46 is non-redundant. Window [0.46, 1.0, 0.5275]: intermediate node weight 1.0. , All are not less than 0.25, which does not meet the condition, so node 1.0 is not redundant. In this example, no node is marked as redundant. If there exists another sequence [0.4, 0.45, 0.48, 0.6], when the window is in [0.4, 0.45, 0.48], the middle node is 0.45. , If node 0.45 is marked as redundant, then after traversal, a compressible node identifier sequence corresponding to the original path node sequence is generated (using 0 to represent non-redundant and 1 to represent redundant), thus generating compressible node identifiers.
[0066] S202: Based on the compressible node identifier, the proportion of redundant nodes to the total number of nodes in the original path is calculated. Combined with the ratio of the number of consecutive segments of redundant nodes to the number of segments in the original path, the two are weighted and summed to generate a compression score.
[0067] Based on the compressible node identifier sequence and the original path node sequence, the overall compressibility of the path needs to be quantified. First, the total number of nodes marked as "redundant" (value 1) in the identifier sequence is counted. And obtain the total number of original path nodes. (The sequence length from S102 is 5 in this example), calculate the percentage of redundant nodes. In the aforementioned example [0.325, 0.7075, 0.46, 1.0, 0.5275], ,so .
[0068] Next, we analyze the distribution of redundant nodes and find the number of segments in the identifier sequence where the "redundant" marker appears consecutively. In the aforementioned example, there are no redundant nodes. At the same time, determine the total number of segments in the original path. This segmentation is defined based on the analysis requirements. For example, if it is divided by calendar days, and these 5 nodes are distributed within 2 days, then... Calculate the ratio of the number of consecutive segments of redundant nodes to the number of segments in the original path. In this example To comprehensively consider the redundancy ratio and distribution concentration, and Assign weights and Weight settings reflect the focus of the analysis: setting Focusing on overall redundancy, Focus on the distribution and satisfy the following conditions: The compression score is calculated by weighted summation: Substitute the values, A score of 0 indicates that the path is not compressible according to the currently set curvature threshold. The score range is [0,1]. The higher the score, the greater the compressibility potential. A compressibility score is generated.
[0069] S203: Based on the compressible node identifier, merge adjacent redundant nodes into a compressible subsequence, retain the first and last nodes and remove intermediate redundant nodes to generate a set of compressed subsequences. Calculate the difference between the total number of nodes after compression and the original number of nodes. Combine this with the cumulative value of the key node spacing to generate the compressed path length.
[0070] Based on the compressible node identifier sequence, the original path node sequence is processed to remove redundant parts. All consecutive node segments marked as "redundant" are identified. For each such segment, its first and last nodes are retained, and all redundant nodes in the middle are removed. If only one node is marked as redundant and its preceding and following nodes are not redundant, then the node is directly removed. All the retained nodes (including nodes not marked as redundant in the original sequence) are reorganized according to their order in the original sequence to form compressed subsequences. All subsequences constitute a compressed subsequence set. In the aforementioned example [0.325, 0.7075, 0.46, 1.0, 0.5275], since there are no redundant nodes, the compressed sequence is the same as the original sequence.
[0071] Calculate the total number of nodes remaining after compression. (In this example, it's 5), calculate the total number of nodes compared to the original number. (5 in this example) the difference In this example This difference reflects the number of nodes removed during compression, and also calculates the length of the compressed path. The path length metric is the sum of the time intervals between adjacent key nodes (nodes retained after compression) in the compressed sequence. Let the compressed node timestamp sequence be... ,but When calculating, it is necessary to ensure that the timestamp unit is consistent, such as seconds. Add all time intervals (in seconds) together to obtain the total length (in seconds). The value represents the time span of the compressed path. A set of compressed subsequences is generated, and the difference between the total number of nodes after compression and the original number of nodes is calculated. Calculate the compressed path length .
[0072] Please see Figure 4 The specific steps for obtaining the path type evaluation results are as follows:
[0073] S301: Call the node position coordinates and node weight matrix in the compressed subsequence set, count the total number of nodes whose horizontal and vertical coordinates are within the set interval in the coverage area of each subsequence, divide the total number of nodes by the product of the difference in the boundary coordinates of the subsequence coverage area, and obtain the average node density.
[0074] Call the compressed subsequence set (the same as the original sequence in this example) and the constructed node weight vector. Define the coordinates of the node in the two-dimensional feature space, and select the node's timestamp ( (Unit: seconds) as the x-axis, node weight ( (unitless) is used as the ordinate, i.e., the node coordinates are... Define a statistical region to analyze the node distribution density within a specific area. Set the horizontal axis (time) interval to a segment within the analysis period, such as '2025-04-10 00:00:00' to '2025-04-10 23:59:59' (converted to a second-level timestamp interval). (Assuming this interval covers nodes 3 and 4), the ordinate (weight) interval is set to the high-weight interval. , recorded as This range is used to identify highly active nodes.
[0075] Iterate through each subsequence in the compressed subsequence set (there is only one in this example), determine the two-dimensional region it covers, and count the coordinates of the nodes within that subsequence. Simultaneously satisfy and Record this quantity as Check node 3 ( ,0.46) and node 4 ( ,1.0), Assuming and If all values are within the set time interval, then the weight of node 3, 0.46, is not considered. The weight of node 4, 1.0, is within the interval, so... Calculate the "area" of the region covered by this subsequence. , is defined as the product of the time span (seconds) and the weight range, i.e. Where time is the difference in seconds between the timestamps of the last node and the first node of the subsequence, and the weight range is the difference between the maximum and minimum weights of the subsequence (unitless). Assuming the time span of the subsequence is 86400 seconds (1 day), the weight range is... ,but (Unit: seconds) Calculate the node density of this subsequence. (Unit: 1 / second), due to the existence of only one subsequence, the mean node density is... (1 / second) is used to obtain the average node density.
[0076] S302: Extract the initial length and current length of all paths in the compressed subsequence set. Subtract the current length from the initial length of each path, divide the difference by the initial length to obtain the length change ratio, take the absolute value of the length change ratio of all paths and calculate the arithmetic mean to generate the path length change rate.
[0077] Extract the length information of each path (or subsequence) before and after compression, including the original path length. The total time span of the original path node sequence (the timestamp of the last node minus the timestamp of the first node, in seconds) needs to be calculated and recorded before compression. Seconds (2 days), current length This is the compressed path length (in seconds) calculated by S203. In the aforementioned example, since it was not compressed, Second.
[0078] For each path analyzed , obtain its and Calculate the change in length In this example Seconds, calculate the proportion of length change. During calculation The value cannot be zero; if it is zero, the ratio is meaningless or can be considered 0. In this example... To focus on the magnitude of change, we take its absolute value. In this example For all The arithmetic mean of the percentage changes in the absolute length of each analyzed path is calculated using the following formula: If there is only this one path, then This rate of change reflects the degree of length reduction of the entire path set due to compression, and its value ranges from [0,1]. 0 indicates no length change, generating the path length change rate.
[0079] S303: Traverse the weight value of each node in the node weight matrix, calculate the arithmetic mean of the weight values of its neighboring nodes, count the number of nodes whose weight values exceed the average of the neighboring nodes, and use the ratio of the number to the total number of nodes as the weight concentration. Input the mean node density, the path length change rate, and the weight concentration into the structural feature joint discrimination model, match the preset path type classification threshold conditions in the model, and generate the path type evaluation result.
[0080] The node weight vector obtained by traversal For each internal node (i.e., not the first or last node), determine its temporally adjacent nodes. and Calculate the arithmetic mean of the weights of adjacent nodes. For the first node , For the tail node , Set judgment criteria to identify nodes with "prominent" weights: the node's own weight. Greater than the average weight of its neighboring nodes ,Right now Statistics meet this condition Number of nodes Calculations are performed on node 1 (0.325): . Node 2 (0.7075): . The condition is met. Node 3 (0.46): . Node 4 (1.0): . The condition is met. Node 5 (0.5275): . Nodes 2 and 4 satisfy the condition, therefore Total number of nodes Calculate the weighted concentration .
[0081] Calculate the mean node density (1 / second), calculated path length change rate and the weight concentration calculated in this step. These three feature values are input into the structural feature joint discrimination logic. This logic includes preset path type classification threshold conditions. The thresholds are set based on statistical analysis of a large amount of known path type data. For example, stable and highly active type: defined as... (1 / second) and and Sparse variation type: defined as (1 / second) and Standard type: Does not meet the conditions of any of the above special types. Match the calculated feature values with the conditions: . . It does not fully meet the criteria of "stable and highly active". The "sparse and variable" condition is not met. Therefore, it matches "regular" and the generated path type evaluation result is "regular".
[0082] Please see Figure 5 The specific steps for obtaining the behavior tag set are as follows:
[0083] S401: Detect continuous intervals in the call frequency sequence where the window length changes dynamically. When traversing the sequence, dynamically adjust the window length to twice the current frequency fluctuation amplitude. Calculate the mean of the call frequencies in adjacent windows. Compare the square of the mean difference with a preset frequency change threshold. When the cumulative difference exceeds the threshold, a window mutation is determined. Extract the start and end times of the mutation window and generate an event timestamp sequence.
[0084] First, based on the acquired raw call records, a call frequency time series for the user is generated, with a time window set to 1 day (24 hours). The total number of calls (incoming and outgoing) for user "Li Ming" each day is counted to obtain the daily frequency series. ,in It is the first The number of calls per day, assuming T = 10 days, the sequence is as follows: .
[0085] Next, we will detect abrupt changes in this frequency sequence using a dynamic window method, traversing the sequence. At each point in time ( ), calculate the frequency standard deviation over the most recent 3 days as the fluctuation range. Dynamically set the analysis window length (Minimum length is 3), calculate the current window Adjacent window of the same length as the previous one Mean of internal frequency and Calculate the square of the difference between the means Set frequency threshold This threshold is set based on the statistical distribution of the squared difference of historical normal daily frequency variations, and its 90th percentile value is selected for design and calculation. To determine whether a sudden change has occurred: a cumulative judgment method is used, with an observation window of W=3 days, and the cumulative squared difference is calculated. Set cumulative threshold This threshold is set based on historical cumulative changes. ,when At that time, it was determined that at the time point A mutation occurred.
[0086] With sequence For example, calculated to hour: , If the window is too large and exceeds the existing data, adjust the strategy or use a fixed window. Here, a fixed window with L=3 days is used for demonstration: The previous window is [None], and the current window is [5,6,4]. No comparison is needed. : Previous window [5,6,4]Avg=5, Current window [6,4,7]Avg=5.67, Cumulative = 0.45. The previous window [6,4,7] has an Avg value of 5.67, while the current window [4,7,15] has an Avg value of 8.67. The cumulative total (t=3..5) is 0.45 + 9 = 9.45. The Avg of the previous window [4,7,15] is 8.67, and the Avg of the current window [7,15,12] is 11.33. Cumulative (t=4..6) = 0.45 + 9 + 7.08 = 16.53. … (Continue calculation) Assume that in When the calculated cumulative squared difference first exceeds Then it is determined that in If a mutation occurs at any given time, extract the time point (or corresponding date) when the mutation occurs. All detected mutation moments are arranged in chronological order to generate an event timestamp sequence.
[0087] S402: Call the event timestamp sequence, expand the same time span to both sides of the timestamp, capture all call records in the window, count the number of calls of multiple contacts and convert them into frequency values, calculate the absolute difference between the frequency value of each contact and the average frequency of the window, perform mean normalization on the difference sequence, and aggregate the dispersion to generate frequency difference groups.
[0088] Call the generated event timestamp sequence For each event timestamp (Representing the date the mutation occurred), set an analysis time window to... Expanding forward and backward from the center. sky, The setting is based on the typical duration of the event's impact, and is set to... This forms a 5-day analysis window. Within this time window, all original call records of user "Li Ming" (from S101 data) are captured.
[0089] For the call records within this 5-day window, group them by the other party identifier (contact person), count the total number of calls made by each unique contact within the window, and convert this to a daily average frequency value. The conversion rule is: divide the total number of calls by the number of days in the window (5 days) to obtain... (Unit: times / day) Calculate the arithmetic mean of the daily average call frequency of all contacts appearing in this window. Then calculate the frequency of each contact. With window average frequency absolute difference This yields the frequency deviation of each contact within this event window.
[0090] To eliminate the influence of baseline frequency differences and numerical ranges among different contacts, the calculated absolute difference sequence was... Mean normalization is performed using the Z-score standardization method: the mean of the difference sequence is calculated. and standard deviation (If the standard deviation is zero, then all normalized values are zero), so the normalized frequency difference for each contact is calculated as follows: This value is a unitless standard score, representing the timestamp of each event. Calculated normalized frequency differences between each contact The data is stored to form frequency difference groups, which record the relative deviation of each contact's call frequency in each mutation event window.
[0091] Table 1 Frequency Difference Groups
[0092]
[0093] As shown in Table 1, this table displays the results of the normalized frequency difference calculation for some contacts within different event timestamp windows.
[0094] S403: Call the frequency difference group and path type evaluation results, perform scalar product of the normalized difference of each contact in the difference group and the corresponding path weight, accumulate the product results to obtain the comprehensive evaluation value, compare the evaluation value with the preset behavior judgment threshold item by item, filter the contact number that exceeds the threshold, and generate a set of behavior tags.
[0095] The process involves calling the frequency difference group (as shown in Table 1) and the generated path type evaluation result ('regular' in this example). It requires associating the contacts in the frequency difference group with the generated path nodes. A contact may appear in multiple nodes, and a node may contain multiple contacts. Simultaneously, the calculated node weight vector needs to be called. Assign a relationship weight to each contact. The rule for determining this is: find all the nodes where the contact appears, and take the average of the weights of these nodes as its association weight.
[0096] For each contact in the frequency difference group, at a specific event timestamp Normalized frequency difference (Taken from Table 1), along with the weights of the associated paths (nodes) calculated. Perform a scalar product operation to obtain the individual assessment score of the contact person in this event. This score is a unitless numerical value that combines frequency deviation and call importance. For example, if contact '13812345678' appears at nodes 2 and 4, its association weight is... ,exist When ='2025-04-10', its ,but .
[0097] Set a behavior judgment threshold This threshold is used to filter behaviors (contacts) that warrant attention, and it is based on historical data. The statistical properties of the distribution are set, and the 80th percentile of the distribution is selected as the threshold. The design calculation yields... Calculate the value of each contact under each event timestamp. With threshold Compare and judge, and filter out all that meet the criteria. The contact identifier, contact '13812345678', has a score of 1.58 > 1.2 on '2025-04-10' and is therefore selected. If the score of contact '13510101010' is calculated to be 0.9, then it is not selected. All contact identifiers selected under at least one event timestamp are collected to form a set, generating a set of behavioral tags (e.g., {'13812345678', '13620202020'}).
[0098] Please see Figure 6 The specific steps for obtaining behavioral evolution prediction results are as follows:
[0099] S501: Call the current period last state value of all tags in the behavior tag set, extract the direction parameter from the path type evaluation result, arrange the state value and direction parameter in time order into a two-dimensional input vector, and generate the tag state direction sequence;
[0100] Call the generated set of behavior tags {'13812345678', '13620202020'}, and define the end time (set as 13812345678', '13620202020') for each tag (contact) in the set. ) state value Using binary representation: if the label is in the set, ,otherwise Therefore, the status of contacts '13812345678' and '13620202020' is 1, while the status of other contacts is 0. Additionally, a direction parameter needs to be determined for each contact (or its associated path). This parameter needs to be obtained from path analysis and can be determined based on the ratio of inbound and outbound records in the path nodes: if the proportion of outbound records is >0.6, Direction=1 (outbound dominant); if the proportion of inbound records is >0.6, Direction=-1 (inbound dominant); if it is between the two, Direction=0 (balanced). The dominant direction needs to be obtained by statistically calculating all nodes involved in each contact.
[0101] The design calculations show that the direction of the associated path for contact '13812345678' is... The associated path direction for contact person '13620202020' is... Set the current state value of each label. and its corresponding direction parameters Combined into a two-dimensional vector For the tagged contact, the vector is and For untagged contacts (e.g., '15987654321', assuming their direction is -1), the vector is... Arrange the two-dimensional state-direction vectors formed by all analysis objects (contacts) at the end of the current period in a certain order (such as sorting by contact identifier) to generate a label state-direction sequence (at the current moment).
[0102] S502: Based on the spatial distribution of multiple vectors within the label state direction sequence, the horizontal transition probability value corresponding to the direction parameter in the label state transition probability matrix is called, and the probability accumulation operation is performed on the current state value. The direction parameter and the transition probability value are weighted and superimposed according to the path weight ratio. At the same time, the superposition result is normalized according to the path dimension to obtain the path transition probability set.
[0103] Based on the generated current label state direction sequence, a predefined label state transition probability model needs to be applied to predict the next period. The core of this model is the state transition probability matrix. It describes the current state. and direction The state of the next cycle is The probability matrix represents the probability of (0 or 1). This was obtained through statistical learning on a large amount of historical state transition data, including data for different directional parameters (-1, 0, 1). Transition probability.
[0104] Table 2 Tag State Transition Probability Matrix P
[0105]
[0106] As shown in Table 2, this table gives the probability of a label transitioning from the current state to the next state under different directions.
[0107] Call this transition probability matrix (As shown in Table 2) and the calculated associated path weights for each contact. (For example, '13812345678' has a weight of 0.85375, and '13620202020' has a weight of 0.6), for the current state... And the direction is The tag, its next cycle state is The base prediction probability of (0 or 1) is Path weights are introduced for adjustment, and the adjusted probability is... ,in It is a default transition probability that does not consider direction and weight (e.g., set to 0.5). This step aims to combine general patterns with individual path characteristics.
[0108] Calculation: Contact person '13812345678' (State=1,Direction=1,W=0.85375): Refer to Table 2. .set up .
[0109] Contact person '13620202020' (State=1,Direction=0,W=0.6): Refer to Table 2. .set up .
[0110] Perform this calculation on all tags to obtain the state probability distribution of each tag in the next period (i.e. and These probability distributions together constitute the path transition probability set.
[0111] S503: Based on the probability values of the same type of label for differentiated paths in the path transition probability set, perform a linear superposition operation on the probability values of the same label for adjacent paths, filter the label types whose probability values after superposition exceed the preset path benchmark value, integrate all label probability distributions that meet the conditions, and generate behavior evolution prediction results.
[0112] Based on the path transition probability set, which contains the state prediction probability of each behavior label in the next cycle, the prediction results need to be integrated and filtered. First, identify the probability of the same type of label of "adjacent path". Here, adjacent path is defined as the path that is close in distance in the feature space (such as based on the similarity of call patterns). Alternatively, to simplify the process, the overlapping of adjacent paths is not considered, and the prediction probability of a single label calculated by S502 is used directly.
[0113] Set a path baseline value This is a probability threshold used to filter label states with high confidence in the prediction results. This threshold is set based on an acceptable prediction error rate. This means focusing only on label states with a prediction probability exceeding 60% (typically focusing on the probability of state 1), and calculating the prediction probability of each label's state being 1 in the next cycle using S502. and Compare and filter out all that meet the requirements. The tag.
[0114] In the aforementioned example: the contact person is '13812345678'. The conditions are met. Contact person '13620202020': The conditions are not met.
[0115] By integrating all the selected tags that meet the criteria and their predicted state of 1, the final behavioral evolution prediction result is formed. This result clearly indicates which behavioral tags have a high probability of being marked (state 1) in the next period, as well as the corresponding probability values. In this example, the prediction result is: {'13812345678': 0.67075}, indicating that the behavioral tag of the contact '13812345678' has a high probability (67.075%) of appearing in the next period.
[0116] The above are merely preferred embodiments of the present invention and are not intended to limit the present invention in any other way. Any person skilled in the art may make changes or modifications to the above-disclosed technical content to create equivalent embodiments that can be applied to other fields. However, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the protection scope of the present invention.
Claims
1. A method for intelligent call data analysis and prediction, characterized in that, Includes the following steps: S1: Obtain the main user's call records through communication devices, extract timestamps, other party identifiers and directions, sort and merge adjacent cross-object call events based on temporal adjacency clustering algorithm, generate path node sequence, and normalize call duration to generate node weight matrix. S2: Call the path node sequence, use the sliding three-node detection algorithm to traverse the subsequence, count the proportion of compressible subsequences to generate a compression score, extract the set of compressed subsequences and record the compressed path length; S3: Based on the compressed subsequence set, call the node weight matrix to calculate the node density, path length change ratio and weight concentration distribution, and input them into the structural feature joint discrimination model to generate path type evaluation results; S4: Use a dynamic frequency-varying window scanning algorithm to traverse the call frequency sequence, detect abrupt windows and extract event-driven timestamps, construct a symmetrical time window, calculate the frequency difference of contacts within the window to generate a frequency difference group, and combine the path type evaluation results to generate a set of behavior labels. S5: Call the set of behavior labels and the evaluation results of the path type, input them into the hidden Markov prediction model, calculate the probability of occurrence of each behavior label in the next period based on the label state transition probability matrix, and output the behavior evolution prediction results; The path node sequence specifically includes a timestamp sequence, a set of counterparty identifiers, and a call direction sequence. The node weight matrix includes the mean call duration, the variance of call duration, and the duration distribution density. The compression score specifically refers to the proportion of compressible subsequences and the compression efficiency coefficient. The set of compressed subsequences includes repetitive pattern segments, high-frequency call segments, and cross-object merging units. The compressed path length specifically includes the length reduction rate, the number of segmented nodes, and the amount of redundancy elimination. The path type evaluation results include regular path classification, abnormal path classification, structural complexity level, and network stability score. The set of behavior labels specifically includes high-frequency abnormal labels, low-frequency stable labels, sudden interaction labels, and periodic behavior identifiers. The behavior evolution prediction results include a label probability distribution sequence, state transition trend prediction, periodic fluctuation interval, and probability peak timestamp. The specific steps for obtaining the behavior evolution prediction results are as follows: S501: Call the current period last state value of all tags in the behavior tag set, extract the direction parameter from the path type evaluation result, arrange the state value and direction parameter in time order into a two-dimensional input vector, and generate a tag state direction sequence; S502: Based on the spatial distribution of multiple vectors within the label state direction sequence, the horizontal transition probability value corresponding to the direction parameter in the label state transition probability matrix is called, and the probability accumulation operation is performed on the current state value. The direction parameter and the transition probability value are weighted and superimposed according to the path weight ratio. At the same time, the superposition result is normalized according to the path dimension to obtain the path transition probability set. S503: Based on the probability values of the same type of label for differentiated paths in the path transition probability set, perform a linear superposition operation on the probability values of the same label for adjacent paths, filter the label types whose probability values after superposition exceed the preset path benchmark value, integrate all label probability distributions that meet the conditions, and generate behavior evolution prediction results.
2. The intelligent call data analysis and prediction method according to claim 1, characterized in that, The specific steps for obtaining the node weight matrix are as follows: S101: Obtain call records from the main user's communication device, extract the timestamp, the other party identifier, and the call direction of each record, rearrange the timestamps according to the ascending order, perform secondary sorting according to the direction parameter for cases where there are multiple sets of call records under the same timestamp, and integrate the sorted timestamp, the other party identifier, and the three parameters of direction into a structured data set to generate a call record triplet. S102: Call the call record triplet, set the time difference threshold between adjacent call events, extract the timestamp parameters of adjacent events to calculate the difference, and compare the direction parameters of call events with a difference less than the threshold. If the direction parameters of the two events are different and the other party identifiers are inconsistent, they are merged into cross-object call nodes and arranged along the time axis according to the merged node order to generate a path node sequence. S103: Based on the path node sequence, extract the total duration of call events within multiple nodes, normalize the calculation based on the maximum call duration, map it to an interval value, construct the weight relationship between nodes, and construct the node weight matrix.
3. The intelligent call data analysis and prediction method according to claim 2, characterized in that, The specific steps for obtaining the compressed subsequence set are as follows: S201: Call the path node sequence, select every three adjacent nodes in sequence to form a sliding window, compare the coordinate difference between the middle node and the predecessor and successor nodes, if both differences are less than the preset path curvature threshold, mark the middle node as a redundant node, traverse all nodes, and generate a compressible node identifier. S202: Based on the compressible node identifier, calculate the ratio of the number of redundant nodes to the total number of nodes in the original path, and combine the ratio of the number of consecutive segments of redundant nodes to the number of segments in the original path. Then, sum the two values by weight to generate a compression score. S203: Based on the compressible node identifier, merge adjacent redundant nodes into a compressible subsequence, retain the first and last nodes and remove intermediate redundant nodes to generate a set of compressed subsequences, calculate the difference between the total number of nodes after compression and the original number of nodes, and combine the accumulated value of the key node spacing to generate the compressed path length.
4. The intelligent call data analysis and prediction method according to claim 3, characterized in that, The specific steps for obtaining the path type evaluation result are as follows: S301: Call the node position coordinates and node weight matrix in the compressed subsequence set, count the total number of nodes whose horizontal and vertical coordinates are in the set interval within the coverage area of each subsequence, divide the total number of nodes by the product of the difference in boundary coordinates of the subsequence coverage area, and obtain the average node density. S302: Extract the initial length and current length of all paths in the compressed subsequence set, subtract the current length from the initial length value of each path, divide the difference by the initial length value to obtain the length change ratio, take the absolute value of the length change ratio of all paths and calculate the arithmetic mean to generate the path length change rate. S303: Traverse the weight value of each node in the node weight matrix, calculate the arithmetic mean of the weight values of its neighboring nodes, count the number of nodes whose weight values exceed the average of the neighboring nodes, and use the ratio of the number to the total number of nodes as the weight concentration. Input the mean node density, the path length change rate, and the weight concentration into the structural feature joint discrimination model, match the preset path type classification threshold conditions in the model, and generate the path type evaluation result.
5. The intelligent call data analysis and prediction method according to claim 4, characterized in that, The specific steps for obtaining the behavior tag set are as follows: S401: Detect continuous intervals in the call frequency sequence where the window length changes dynamically. When traversing the sequence, dynamically adjust the window length to twice the current frequency fluctuation amplitude. Calculate the mean of the call frequencies in adjacent windows. Compare the square of the mean difference with a preset frequency change threshold. When the cumulative difference exceeds the threshold, a window mutation is determined. Extract the start and end times of the mutation window and generate an event timestamp sequence. S402: Call the event timestamp sequence, expand the same time span to both sides of the timestamp, capture all call records in the window, count the number of calls of multiple contacts and convert them into frequency values, calculate the absolute difference between the frequency value of each contact and the average frequency of the window, perform mean normalization on the difference sequence, and aggregate the dispersion to generate frequency difference groups. S403: Call the frequency difference group and the path type evaluation result, perform scalar product of the normalized difference of each contact in the difference group and the corresponding path weight, accumulate the product results to obtain the comprehensive evaluation value, compare the evaluation value with the preset behavior judgment threshold item by item, filter the contact number that exceeds the threshold, and generate a set of behavior tags.
Citation Information
Patent Citations
Intelligent communication device with protection structure
CN119892136A
Multi-channel communication management method and system for 5G message application
CN120075850A