Online learning resource evaluation system based on data analysis
By constructing a keyword frequency mutation amplitude parameter and clustering profile coefficient model, combined with concept switching monitoring, the problem of insufficient recognition of knowledge faults in the online learning resource evaluation system in the existing technology is solved, and more accurate resource structure fault detection and evaluation is achieved.
Patent Information
- Application Number
- CN202510630799.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-16
- Publication Date
- 2025-08-29
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
In the prior art, online learning resource evaluation system based on data analysis fails to effectively distinguish between real knowledge faults and random data fluctuations, resulting in insufficient evaluation accuracy and lack of ability to identify resource structure faults.
By constructing keyword frequency mutation amplitude parameters, clustering profile coefficient models and concept switching monitoring, combining dynamic threshold judgment, potential knowledge faults and abnormal concept jump regions are identified and fused to generate evaluation marks.
The online learning resource evaluation system has improved the recognition accuracy of implicit structure fractures in complex text and behavioral data, enhanced the resource semantic coherence and the analytical ability of cognitive paths, and provided a fine-grained quantitative basis.
Smart Images

Figure CN120562691A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of data analysis, and in particular to an online learning resource evaluation system based on data analysis. Background Art
[0002] The field of data analysis encompasses the systematic collection, integration, organization, mining, and modeling of various raw data. Its core content involves in-depth research and processing of data from diverse structures and sources using statistical methods, data mining techniques, and machine learning modeling and analysis approaches to uncover underlying correlations and patterns within the data. Within this technical field, data comes from a wide range of sources, including sensor output, logging systems, user interaction records, and public datasets. Data analysis focuses not only on the accuracy and completeness of the data itself but also on how to predict future trends and assist in decision-making through the use of specific modeling algorithms. Data analysis is widely used in industries such as education, healthcare, finance, and manufacturing, and is crucial for improving data utilization efficiency and supporting scientific decision-making.
[0003] The data-analysis-based online learning resource evaluation system effectively assesses the quality of online learning resources by collecting and analyzing data on learning resource usage behavior, learning outcomes, and resource content characteristics. This system primarily focuses on technical considerations such as frequency of learning resource use, user feedback, and learning outcomes. It uses statistical modeling, natural language processing, and feature extraction techniques to comprehensively evaluate the multidimensional attributes of learning resources. Specifically, it collects learning behavior data, extracts resource text features, and combines this with user interaction data for correlation analysis, ultimately forming a resource evaluation standard system and a basis for grading and classification.
[0004] Existing technologies rely on isolated keyword frequency statistics or fixed threshold break detection, and do not establish a dynamic correlation model between frequency mutation amplitude and semantic coherence, making them susceptible to misjudgment due to local noise interference. Traditional methods use static clustering to analyze broken blocks, lack a dynamic calibration mechanism for aggregation and discreteness, and have difficulty distinguishing between real knowledge gaps and random data fluctuations. Existing concept label analysis is mostly based on independent semantic units, and does not construct a pointing domain association model for label sequences, making it impossible to quantify the frequency of concept switching anomalies. Such defects limit the ability of automatic semantic analysis systems to detect resource structure breaks, easily resulting in insufficient recognition of implicit semantic faults or misjudging normal fluctuations as anomalies, thereby affecting the accuracy of the grading mechanism and optimization recommendations supported by this technology. Summary of the Invention
[0005] The purpose of the present invention is to solve the shortcomings of the prior art and to propose an online learning resource evaluation system based on data analysis.
[0006] In order to achieve the above objectives, the present invention adopts the following technical solutions: An online learning resource evaluation system based on data analysis includes:
[0007] The keyword feature extraction module traverses the sentence segments to count the keyword frequencies and generate vectors, constructs a fixed-length keyword frequency vector sequence, uses cosine similarity to calculate the sum of the absolute values of the differences between adjacent vectors, and performs unit modulus length conversion on the vectors based on preset normalization parameters to generate keyword frequency mutation amplitude parameters. The keyword frequency mutation amplitude parameters are output to the mutation point detection module, and the keyword frequency vector sequence is output to the concept switching monitoring module.
[0008] The mutation point detection module marks the mutation point based on the mutation threshold optimized by the gradient descent method according to the comparison of the keyword frequency mutation amplitude parameter. After delineating the candidate blocks, the clustering silhouette coefficient model is called to calculate the keyword aggregation degree. The dispersion is calculated in combination with the frequency standard deviation. The candidate fracture block set is generated by comparing the dispersion ratio with the preset fracture threshold and outputted to the fault fusion judgment module.
[0009] The concept switching monitoring module extracts the dominant concept labels from the keyword frequency vector sequence to construct a sequence, detects events where the intersection ratio of adjacent label pointing domains is lower than the switching threshold obtained by confusion matrix optimization, counts the number of sliding window switches to generate a switching rate sequence, and generates an abnormal switching block set based on the switching rate, which is output to the fault fusion judgment module.
[0010] As a further solution of the present invention, the keyword frequency mutation amplitude parameter is specifically the sum of the absolute values of the differences between adjacent vectors, the candidate fracture block set includes keyword aggregation degree, frequency standard deviation discreteness, and aggregation discrete ratio, and the abnormal switching block set includes the sliding window switching rate sequence and the number of label pointing domain non-overlapping events.
[0011] As a further solution of the present invention, the normalization parameter is a scaling factor obtained by dividing the value of each dimension of the vector by the L2 norm of the vector;
[0012] The fracture threshold is a numerical range of [0.35, 0.65] determined based on the principle of maximizing the classification accuracy of the test data set;
[0013] The sliding window length is a fixed value of 10 segment units determined by time series periodicity analysis.
[0014] As a further solution of the present invention, the keyword feature extraction module includes:
[0015] The keyword frequency statistics submodule traverses the word segmentation result set of the sentence segment, performs part-of-speech tagging and stop word filtering on the text content of each word segmentation unit, records the names of keywords that are not filtered, and counts the number of repetitions in the sentence segment, generates a mapping relationship between keyword names and frequency values, and obtains a keyword frequency table;
[0016] The vector sequence generation submodule extracts the frequency value corresponding to each keyword from the keyword frequency table based on a preset keyword sorting list, fills it with zero if the keyword does not appear, and combines them into a numerical sequence with a fixed dimension in the order of the list to generate a keyword frequency vector sequence;
[0017] The mutation amplitude quantification submodule calculates the cosine value of the angle between each pair of adjacent vectors in the keyword frequency vector sequence using the normalized cosine similarity formula, takes the absolute value of the difference between the adjacent cosine values, and accumulates all the differences to generate a keyword frequency mutation amplitude parameter;
[0018] The normalized cosine similarity formula is a dot product operation of the vector's dimension values divided by the L2 norm.
[0019] As a further solution of the present invention, the mutation point detection module includes:
[0020] The mutation point marking submodule obtains the keyword frequency mutation amplitude parameter, uses a numerical comparison method to compare the mutation amplitude parameter with the mutation threshold determined by maximizing the area under the ROC curve of the training data set, marks the mutation point coordinates where the mutation amplitude parameter exceeds the threshold, delineates the continuous area covered by the mutation point coordinates, and generates a candidate block set;
[0021] The aggregation degree calculation submodule calls the clustering silhouette coefficient model based on the candidate block set, calculates the silhouette coefficient of each keyword and adjacent keywords according to the keyword distribution density in the block, takes the arithmetic mean of all keyword silhouette coefficients, and generates the keyword aggregation degree;
[0022] The dispersion ratio submodule extracts the keyword frequency sequence in the candidate block set, calculates the frequency fluctuation dispersion using the standard deviation formula, inputs the keyword aggregation degree and the frequency dispersion into the division operator to calculate the ratio, and generates a dispersion ratio;
[0023] The silhouette coefficient calculation formula is (ba) / max(a,b), where a is the average Euclidean distance between the keyword and other keywords in the same cluster, and b is the average Euclidean distance between the keyword and the keyword in the nearest neighbor cluster;
[0024] The fracture block generation submodule sets the discreteness ratio screening condition, traverses the discreteness ratio of each block in the candidate block set, retains the block numbers that meet the condition, merges adjacent block numbers to form a continuous interval, eliminates isolated point numbers based on the knowledge fault detection requirements, and generates a candidate fracture block set.
[0025] As a further solution of the present invention, the concept switching monitoring module includes:
[0026] The dominant tag extraction submodule obtains the keyword frequency vector sequence, calculates the frequency ratio of tag items in multiple time units, compares the domain benchmark values dynamically updated by the domain knowledge base, selects tag items that meet the conditions, arranges them in chronological order, and generates a dominant concept sequence;
[0027] The field benchmark value is the sliding average of the frequency ratio of similar resource tags in the knowledge base;
[0028] The switching event detection submodule traverses the knowledge domain set of adjacent label items in the dominant concept sequence and calculates the intersection ratio. If the ratio is lower than the switching threshold of 0.4 optimized by the gradient descent method, it is marked as a domain non-overlapping event. The total number of events and the window length in the sliding window are counted to generate a switching rate sequence.
[0029] The abnormal block generation submodule scans the segments in the switching rate sequence that continuously exceed the system warning value of 0.6 determined by maximizing the F1 score of the test data set, merges the segments whose intervals are less than the tolerance span, generates an abnormal switching block set, and outputs it synchronously with the dominant concept sequence;
[0030] The tolerance span is 3 sentence units verified by time window overlap experiments.
[0031] As a further embodiment of the present invention, the system further comprises:
[0032] The fault fusion judgment module performs range overlap detection on the candidate fracture block set and the abnormal switching block set. After merging the overlapping block keyword set, it recalculates the aggregate discrete ratio based on the ratio of the sum of the high-frequency word concentration to the average time span of the low-frequency words. The fused blocks with a ratio lower than the threshold are marked as knowledge faults, and an evaluation marked knowledge fault list is generated and output to the evaluation link.
[0033] As a further solution of the present invention, the evaluation mark knowledge fault list specifically refers to the fusion block keyword set and the aggregation discrete ratio threshold, and the sum of the high-frequency word concentration is the sum of the squares of the frequency proportions of the top 10% keywords in frequency ranking.
[0034] As a further solution of the present invention, the tomosynthesis determination module includes:
[0035] The block overlap detection submodule calls the candidate broken block set and the abnormal switching block set, traverses the start and end coordinates of each block, and detects the overlap ratio between the two in terms of time axis and keyword coverage. If the ratio exceeds the minimum overlap threshold dynamically adjusted based on the block length, the keywords in the intersection area are extracted and merged into a unified set to generate an overlapping block set.
[0036] The dynamic adjustment rule is that when the block length is ≤ 5, the threshold is 0.8, and when the length is > 5, the threshold is 0.6;
[0037] The aggregation-dispersion ratio calculation submodule calculates the frequency distribution of the merged keywords based on the overlapping block set, calculates the sum of the high-frequency word concentration as the aggregation degree, and calculates the mean of the time span covered by the low-frequency word distribution as the dispersion. The ratio of the keyword aggregation degree to the dispersion is defined as the aggregation-dispersion ratio;
[0038] The fault mark generation submodule traverses the aggregated discrete ratio, compares it with the fault judgment threshold of 0.45 verified based on the test data set, filters out blocks with ratios lower than the threshold, extracts their numbers and location information, and arranges them in chronological order to generate an evaluation mark knowledge fault list.
[0039] Compared with the prior art, the advantages and positive effects of the present invention are:
[0040] In the present invention, the amplitude of keyword frequency mutation is quantified by the sum of cosine similarity differences, and the aggregation discrete ratio is dynamically calculated in combination with the clustering silhouette coefficient and the frequency standard deviation to screen out candidate fracture blocks with low noise interference, thereby enhancing the noise resistance of fracture identification. The dominant concept label sequence is extracted and the number of times the label pointing domain does not overlap in the sliding window is counted. The switching rate sequence is constructed to locate the abnormal concept jump area and strengthen the semantic coherence detection. The range overlap analysis is performed on the fracture and abnormal blocks, and the aggregation discrete ratio is recalculated after merging the overlapping areas. The fusion block attributes are determined by dynamic thresholds to achieve accurate calibration of the fault boundary. This method integrates multi-dimensional feature mutation detection and dynamic verification mechanism to improve the recognition accuracy of implicit structural fractures in complex text and behavioral data, enhance the evaluation system's ability to analyze the semantic coherence of resources and the rationality of cognitive paths, and provide a fine-grained quantitative basis for resource classification. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 is a system flow chart of the present invention;
[0042] Figure 2 This is a flowchart of the keyword feature extraction module of the present invention;
[0043] Figure 3 This is a flow chart of the mutation point detection module of the present invention;
[0044] Figure 4This is a flow chart of the concept switching monitoring module of the present invention;
[0045] Figure 5 This is a flow chart of the fault fusion determination module of the present invention. DETAILED DESCRIPTION
[0046] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present 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 only used to explain the present invention and are not intended to limit the present invention.
[0047] In the description of the present invention, it should be understood that the terms "length," "width," "up," "down," "front," "back," "left," "right," "vertical," "horizontal," "top," "bottom," "inside," "outside," and the like, indicating positions or relationships, are based on the positions or relationships shown in the accompanying drawings and are intended only to facilitate the description of the present invention and simplify the description. They do not indicate or imply that the devices or elements referred to must have a specific orientation, be constructed, or operate in a specific orientation. Therefore, they should not be construed as limiting the present invention. Furthermore, in the description of the present invention, "plurality" means two or more, unless otherwise expressly and specifically defined.
[0048] Example 1
[0049] See also Figure 1 , an online learning resource evaluation system based on data analysis includes:
[0050] The keyword feature extraction module traverses the sentence segments to count the keyword frequencies and generate vectors, constructing a fixed-length keyword frequency vector sequence. It then uses cosine similarity to calculate the sum of the absolute differences between adjacent vectors and performs unit modulus length conversion on the vectors based on preset normalization parameters. This generates a keyword frequency mutation amplitude parameter, outputs the keyword frequency mutation amplitude parameter to the mutation point detection module, and outputs the keyword frequency vector sequence to the concept switching monitoring module.
[0051] The mutation point detection module marks mutation points based on the mutation threshold optimized by the gradient descent method according to the comparison of keyword frequency mutation amplitude parameters. After delineating candidate blocks, the clustering silhouette coefficient model is used to calculate the keyword aggregation degree. The dispersion is calculated by combining the frequency standard deviation. The candidate fracture block set is generated by comparing the dispersion ratio with the preset fracture threshold and outputted to the fault fusion judgment module.
[0052] The concept switching monitoring module extracts dominant concept labels from the keyword frequency vector sequence to construct a sequence. It detects events where the intersection ratio of adjacent label pointing domains is lower than the switching threshold obtained through confusion matrix optimization. It counts the number of sliding window switches to generate a switching rate sequence. Based on the switching rate, it generates a set of abnormal switching blocks and outputs this set and the dominant concept label sequence to the fault fusion judgment module.
[0053] The fault fusion judgment module performs range overlap detection on the candidate fracture block set and the abnormal switching block set. After merging the overlapping block keyword set, it recalculates the aggregation discrete ratio based on the ratio of the sum of the high-frequency word concentration and the average time span of the low-frequency words. The fused blocks with a ratio lower than the threshold are marked as knowledge faults, and an evaluation marked knowledge fault list is generated and output to the evaluation link.
[0054] The keyword frequency mutation amplitude parameter is specifically the sum of the absolute values of the differences between adjacent vectors. The candidate fracture block set includes keyword aggregation degree, frequency standard deviation dispersion, and aggregation dispersion ratio. The abnormal switching block set includes the sliding window switching rate sequence and the number of events in which the label pointing domain does not overlap. The evaluation mark knowledge fault list specifically refers to the fusion block keyword set and the aggregation dispersion ratio threshold.
[0055] The normalization parameter is the scaling factor obtained by dividing the value of each dimension of the vector by the L2 norm of the vector;
[0056] The fracture threshold is a numerical range of [0.35, 0.65] determined based on the principle of maximizing the classification accuracy of the test data set;
[0057] The sliding window length is a fixed value of 10 segment units determined through time series periodicity analysis;
[0058] The total concentration of high-frequency words is the sum of the squares of the frequency proportions of the top 10% keywords.
[0059] See also Figure 2 ,The keyword feature extraction module includes:
[0060] The keyword frequency statistics submodule traverses the word segmentation result set of the sentence segment, performs part-of-speech tagging and stop word filtering on the text content of each word segmentation unit, records the names of keywords that are not filtered, and counts the number of repetitions in the sentence segment, generates a mapping relationship between keyword names and frequency values, and obtains a keyword frequency table;
[0061] This submodule receives the word segmentation result set of the input sentence. Taking a specific sentence "The development of artificial intelligence has promoted the progress of natural language processing technology, and natural language processing technology is an important branch of artificial intelligence" as an example, after word segmentation processing, the word set obtained is: {"artificial intelligence", "of", "development", "promote", "had", "natural language processing", "technology"
[0062] "artificial intelligence", "development", "progress", ",", "natural language processing", "technology", "is", "artificial intelligence", "of", "important", "branch"}. Then, the part-of-speech tagging operation is performed on each word segmentation unit in the set to identify the part-of-speech attributes of each word, such as "artificial intelligence" is marked as a noun, "development" is a verb, and "of" is an auxiliary word. Next, based on the preset stop word dictionary, which contains functional words such as "of", "released", "is", "," that do not carry core semantics, stop word filtering is performed to remove these words from the set. The words retained after filtering are {"artificial intelligence", "development", "promote", "natural language processing", "technology", "progress ", "important", "branch"}. The system records the names of these keywords that have not been filtered out and counts the specific times they appear in the original sentence: "artificial intelligence" appears 2 times, "natural language processing" appears 2 times, "technology" appears 2 times, "development" appears 1 time, "promote" appears 1 time, "progress" appears 1 time, "important" appears 1 time, and "branch" appears 1 time. Based on this statistical result, a mapping relationship between keyword names and their frequency values is generated to form a keyword frequency table, which is specifically expressed as {"artificial intelligence": 2, "natural language processing": 2, "technology": 2, "development": 1, "promote": 1, "progress": 1, "important": 1, "branch": 1}.
[0063] The vector sequence generation submodule extracts the frequency value corresponding to each keyword from the keyword frequency table based on the preset keyword sorting list. If the keyword does not appear, it is filled with zero value. The frequency values are combined into a fixed-dimensional numerical sequence in the order of the list to generate a keyword frequency vector sequence.
[0064] This submodule reads a keyword ranking list that is pre-set based on the importance of keywords in the domain knowledge base or specific analysis needs. Set the list to ["artificial intelligence", "natural language processing", "technology", "algorithm", "model", "development", "application"]. According to the order of this list, the frequency value corresponding to each keyword is found from the keyword frequency table generated in the previous step. For "artificial intelligence" in the list, the frequency is 2; "natural language processing", the frequency is 2; "technology", the frequency is 2; for "algorithm" in the list, it cannot be found in the frequency table, so it is filled with zero value 0; "model", not found, filled with 0; "development", the frequency is 1; "application", not found, filled with 0. Combine these values extracted or filled in according to the list order to form a numerical sequence with a fixed dimension (the dimension is 7 in this example), that is, the keyword frequency vector of the sentence segment is obtained. For the above sentence segment, the generated vector is When processing multiple consecutive segments, a series of such vectors will be generated to form a sequence of keyword frequency vectors. For example, the second vector obtained after processing the subsequent segments is
[0065] The mutation amplitude quantification submodule calculates the cosine value of the angle between each pair of adjacent vectors in the keyword frequency vector sequence using the normalized cosine similarity formula, takes the absolute value of the difference between the adjacent cosine values, and accumulates all the differences to generate the keyword frequency mutation amplitude parameter;
[0066] The normalized cosine similarity formula is the dot product operation of the vector's dimension values divided by the L2 norm.
[0067] This submodule receives the keyword frequency vector sequence generated above, such as It focuses on calculating the degree of change between each pair of adjacent vectors in the sequence. and First, for these two vectors and Perform normalized cosine similarity calculations. Calculate the L2 norm of each:
[0068]
[0069] Next, perform vector normalization, that is, divide the value of each dimension of each vector by its corresponding L2 norm:
[0070]
[0071] Compute the dot product of these two normalized vectors to get the cosine similarity value between them:
[0072]
[0073] For all adjacent vector pairs in the vector sequence ( etc.) Repeat this calculation to obtain a cosine similarity value sequence. Assume that the similarity values obtained by subsequent calculations are cos(θ 2,3 )=0.750 and cos(θ 3,4 )=0.210. The resulting sequence is [0.815, 0.750, 0.210]. Then, calculate the absolute value of the difference between adjacent values in this similarity sequence:
[0074] |cos(θ 2,3 )-cos(θ 1,2 )|=|0.750-0.815|=0.065;
[0075] |cos(θ 3,4 )-cos(θ 2,3 )|=|0.210-0.750|=0.540;
[0076] All calculated absolute difference values are summed up. For a sequence containing N vectors, this generates N-1 similarity values and N-2 absolute difference values. These N-2 absolute difference values are summed up, and the resulting sum is the final keyword frequency mutation amplitude parameter. In this example, the cumulative sum based on the existing segments is 0.065 + 0.540 = 0.605. A complete calculation requires processing the entire sequence.
[0077] Formula: Normalized cosine similarity Parameter Description:
[0078] Represents two adjacent keyword frequency vectors.
[0079] a i 、b i :represent vectors respectively and The value of the i-th dimension (keyword frequency). Frequency is a unitless count value.
[0080] n: The dimension of the vector, which is equal to the length of the preset keyword sort list, 7 in this example.
[0081] Represents vectors and The L2 norm is calculated by taking the square root of the sum of the squares of the values in each dimension of the vector. The result is related to the original frequency value, but after the dot product and the norm division, the final cosine similarity is a unitless proportional value between -1 and 1. Operation logic: This formula calculates the dot product of two normalized vectors. The L2 norm normalization operation (dividing the vector by its modulus) converts the vector into a unit vector, eliminating the influence of the vector length (that is, the total frequency of keywords in the sentence) on the similarity calculation, so that the result is more focused on the direction of the vector, that is, the relative proportion of the keyword distribution. The dot product operation quantifies the consistency in the direction of the two unit vectors. A result value close to 1 indicates that the keyword distribution patterns are very similar, close to -1 indicates that the distribution patterns are opposite, and close to 0 indicates that the distribution patterns are unrelated. Example (continued): Vector
[0082]
[0083] The benefit of the formula is that, through L2 norm normalization, it effectively eliminates the interference caused by the difference in the absolute length of the text or the total frequency of keywords, making the measurement of the change in the core content or topic focus between adjacent time units more accurate and robust. 1,2)=0.815, indicating that the keyword distribution patterns of Segment 1 and Segment 2 have a high similarity (similarity interval definition: greater than 0.8 is high similarity, 0.5-0.8 is medium similarity, and less than 0.5 is low similarity). The similarity cos(θ 3,4 )=0.210 indicates that there is a significant content change between segment 3 and segment 4 (low similarity).
[0084] See also Figure 3 , the mutation point detection module includes:
[0085] The mutation point marking submodule obtains the keyword frequency mutation amplitude parameter, uses the numerical comparison method to compare the mutation amplitude parameter with the mutation threshold determined by maximizing the area under the ROC curve of the training dataset, marks the mutation point coordinates where the mutation amplitude parameter exceeds the threshold, delineates the continuous area covered by the mutation point coordinates, and generates a set of candidate blocks;
[0086] This submodule receives the keyword frequency mutation amplitude parameter, which is the cumulative sum of the absolute values of the adjacent cosine similarity differences calculated by the previous module. Here we simplify the process and use the sequence of the absolute values of the adjacent similarity differences to illustrate (in practice, the cumulative value should be used, or the judgment should be based on the sequence of the absolute values of the differences). The obtained sequence of the absolute values of the differences is S diff =[0.065,0.540,0.120,0.630,0.050,0.750,0.150], each value in the sequence represents the degree of change in the similarity between the corresponding adjacent vector pairs, for example, 0.065 corresponds to and The similarity between them changes. It is necessary to set a mutation threshold T mutation The threshold is determined based on a well-labeled training data set, which contains the boundaries of sentences with known content mutations and the boundaries without mutations. The determination process is as follows: a series of candidate thresholds t are selected, and for each t, the sequence S diff Points greater than t are marked as mutation points, and points less than or equal to t are marked as non-mutation points. Compare this marking result with the true label of the training data set, and calculate the true positive rate (TPR, the proportion of mutation points correctly identified) and the false positive rate (FPR, the proportion of non-mutation points incorrectly identified as mutation points). Draw the ROC curve with FPR as the horizontal axis and TPR as the vertical axis. Select the point on the curve that maximizes the TPR-FPR value (or the point closest to (0,1)). The candidate threshold t corresponding to this point is the final mutation threshold T mutation . Assume that through this process, we get T mutation =0.6. diff Each value in the sequence is related to T mutation=0.6 for point-by-point comparison: 0.065<0.6, no mark; 0.540<0.6, no mark; 0.120<0.6, no mark; 0.630>0.6, mark the coordinates corresponding to the point (this value represents and Changes in similarity, associated with vectors The end position is recorded as coordinate 5); 0.050<0.6, no mark; 0.750>0.6, mark coordinate 7 (associated with vector The end position of the mutation point is not marked if the value is less than 0.6. The resulting set of mutation point coordinates is {5,7}. Define the continuous area covered by these mutation point coordinates. Since coordinates 5 and 7 are discontinuous, they each form an independent candidate block. The final set of candidate blocks is {[5],[7]}.
[0087] The aggregation degree calculation submodule calls the clustering silhouette coefficient model based on the candidate block set, calculates the silhouette coefficient of each keyword and its adjacent keywords according to the keyword distribution density in the block, takes the arithmetic mean of all keyword silhouette coefficients, and generates the keyword aggregation degree;
[0088] This submodule processes the candidate block set {[5],[7]}. For each candidate block, such as block [5] (corresponding vector ), execute the calculation logic of clustering silhouette coefficient. First, determine the keyword distribution in the block. Since the block [5] contains only one vector The internal distance a(k) cannot be directly calculated. In the case of a single point block, the degree of aggregation can be treated in a special way, such as setting its degree of aggregation to a default value (such as 0) or evaluating it based on its relationship with other blocks. We consider a candidate block containing multiple vectors, such as the block [3,4] (containing ), to illustrate the calculation process. Count all non-zero frequency keywords in block [3,4]. Treat each keyword as a point in the feature space, whose coordinates can be defined by the frequency vector (or average frequency, TF-IDF value, etc.) of the keyword in each sentence in the block. For each keyword k in the block, calculate the average Euclidean distance between it and all other keywords in the same block, denoted as a(k). At the same time, calculate the average Euclidean distance between keyword k and all keywords in another candidate block closest to it (assuming it is block [7]), denoted as b(k). Euclidean distance The silhouette coefficient for keyword k is calculated as s(k) = (b(k) - a(k)) / max(a(k), b(k)). The silhouette coefficients are calculated for all keywords in block [3, 4]. A set of silhouette coefficients for the keywords within the block is obtained, such as {k1: 0.7, k2: 0.5, k3: 0.6}. The arithmetic mean of these silhouette coefficients is taken to calculate the keyword aggregation degree A for the block. A = (0.7 + 0.5 + 0.6) / 3 = 0.6. This aggregation degree A quantifies the density of keyword distribution within the block (value range [-1, 1]; closer to 1, the denser the distribution and the higher the separation from other blocks).
[0089] The dispersion ratio submodule extracts the keyword frequency sequence in the candidate block set, calculates the frequency fluctuation dispersion using the standard deviation formula, inputs the keyword aggregation degree and the frequency dispersion into the division operator to calculate the ratio and generate the dispersion ratio;
[0090] The formula for calculating the silhouette coefficient is (ba) / max(a,b), where a is the average Euclidean distance between the keyword and other keywords in the same cluster, and b is the average Euclidean distance between the keyword and the keywords in the nearest neighbor cluster;
[0091] This submodule is also based on the candidate block set {[5], [7]}. Extract the keyword frequency sequence corresponding to each block. For block [5], extract the vector For the previously assumed block [3,4], extract and Frequency information in the block. Apply the standard deviation formula to calculate the fluctuation dispersion of each keyword frequency in the block over time (sentence index). For the keyword "artificial intelligence", its frequency sequence in the block [3,4] is [4,5]. Calculate its standard deviation: mean μ AI =(4+5) / 2=4.5. Standard deviation Calculate the frequency standard deviation for all keywords appearing in the block ("artificial intelligence," "natural language processing," "technology," "algorithm," and "model"). Aggregate these standard deviations by averaging to obtain the total frequency fluctuation dispersion D for the block. The calculated D = 1.2. Obtain the keyword aggregation degree A = 0.6 for the block calculated in the previous step. Input the aggregation degree A and the frequency dispersion D into the division operator and calculate the ratio R = A / D = 0.6 / 1.2 = 0.5. This ratio R = 0.5 is the dispersion ratio for block [3, 4]. Perform this calculation for all candidate blocks to obtain their respective dispersion ratios.
[0092] The fracture block generation submodule sets the discreteness ratio screening conditions, traverses the discreteness ratio of each block in the candidate block set, retains the block numbers that meet the conditions, merges adjacent block numbers to form a continuous interval, eliminates isolated point numbers based on the knowledge fault detection requirements, and generates a candidate fracture block set.
[0093] Set a discrete ratio screening condition T ratio The threshold is determined based on the analysis results of historical data or validation sets, and is intended to distinguish between real knowledge breakpoints and random text fluctuations. Select a ratio that can better distinguish these two types of situations and set T ratio =0.4. Only when the dispersion ratio is lower than T ratio The block is considered as a potential broken block. Traverse the candidate block set {[5], [7]} and its corresponding discreteness ratio. Assume that the ratio of block [5] is 0.35 and the ratio of block [7] is 0.28. Comparison: The ratio of block [5] is 0.35 < 0.4, which meets the condition, and the number 5 is retained. The ratio of block [7] is 0.28 < 0.4, which meets the condition, and the number 7 is retained. Check whether the retained block numbers form a continuous interval. Here, numbers 5 and 7 are not continuous. Based on the needs of knowledge fault detection, the isolated point numbers are eliminated. The judgment criteria for isolated points are: the block length is 1, and its discreteness ratio is lower than the threshold but is in an edge interval, for example, 0.3 ≤ R < 0.4. In this case, R = 0.35 of block [5] is in this edge interval and its length is 1, so it is determined to be an isolated point and eliminated. Block [7] has an R value of 0.28, which is lower than 0.3 (belonging to the significantly low range). Although its length is 1, its signal strength is sufficient and it is retained. The final set of candidate fracture blocks generated is {[7]}.
[0094] Formula 1: Silhouette Coefficient Parameter Description:
[0095] k: represents a keyword (or the data point it represents) in the block.
[0096] a(k): The average Euclidean distance between keyword k and all other keywords in its block. Since the dimensions of the keyword vector are numerical (such as frequency or TF-IDF), Euclidean distance calculations do not require special unit conversions; the result is simply a distance value.
[0097] b(k): The average Euclidean distance between keyword k and all keywords in other blocks of the nearest neighbor. Operational logic: Calculating a(k) involves the average distance between points within the cluster, and calculating b(k) involves the average distance between points in the nearest neighbor cluster. s(k) combines the cohesion within the cluster and the separation between clusters. The value range is [-1,1]. A high value (such as >0.5) indicates a good clustering effect, and a low or negative value (such as <0.25) indicates a poor clustering effect or an incorrect assignment. Example: Suppose keyword k is in block C1, and its vector Another keyword k′ in C1 is [6,3]. The nearest neighbor block C2 has keywords k1″=[1,5] and k2″=[2,6].
[0098]
[0099]
[0100] s(k)=(5-1.414) / max(1.414,5)=3.586 / 5≈0.717;
[0101] The formula is useful because it provides a standardized metric to assess the relevance of each data point (keyword) relative to its cluster structure, thereby quantifying the degree of concentration and separation of keyword distribution within a candidate block. The result s(k) = 0.717 indicates that keyword k is well clustered (high value) within its block. The overall clustering degree of a block is the arithmetic mean of the silhouette coefficients of all keywords within the block.
[0102] Formula 2: Standard Deviation Parameter Description:
[0103] σ: standard deviation.
[0104] N: The number of data points (the length of the block, i.e. the number of segments it contains).
[0105] x i : The value of the i-th data point (the frequency of the keyword in the i-th sentence segment, a unitless count value).
[0106] μ: The arithmetic mean of the data set. Operational logic: Calculate the mean, then calculate the average of the sum of the squares of the differences between each point and the mean, and finally take the square root. The unit of the standard deviation result is the same as the original data x i Same, here it is a unitless count value.
[0107] Example: Calculate the standard deviation of the frequency sequence [4,5] for the keyword "artificial intelligence" in block [3,4]. N = 2.
[0108] μ=(4+5) / 2=4.5;
[0109]
[0110] The benefit of the formula is that it provides a standard way to quantify the volatility of a numerical sequence (keyword frequency). AI=0.5 indicates the frequency fluctuation of the keyword "artificial intelligence" in block [3,4]. The overall frequency dispersion D of the block is the average of the standard deviations of the frequencies of all keywords in the block. The dispersion ratio R = A / D combines the degree of aggregation A (unitless) and the dispersion D (unitless). A low ratio (for example, below T ratio =0.4) indicates that the distribution of keywords within the block is relatively dispersed (A is low, such as <0.3) or the frequency fluctuation is large (D is high, such as >2.0), which indicates potential knowledge gaps.
[0111] See also Figure 4 ,The concept switching monitoring module includes:
[0112] The dominant tag extraction submodule obtains the keyword frequency vector sequence, calculates the frequency ratio of tag items in multiple time units, compares them with the domain benchmark values dynamically updated by the domain knowledge base, selects the tag items that meet the conditions, arranges them in chronological order, and generates a dominant concept sequence;
[0113] The domain benchmark value is the sliding average of the frequency ratio of similar resource tags in the knowledge base;
[0114] This submodule receives a sequence of keyword frequency vectors Set a time window size W = 3 time units (segments). For the first window (covering ) for processing. The total frequency of each tag item (keyword) in the statistics window is calculated. Using the data in Table 1: The total frequency of each keyword within the window is: Artificial Intelligence (2+3+4) = 9, Natural Language Processing (2+1+1) = 4, Technology (2+1+0) = 3, Algorithm (0+1+2) = 3, Model (0+0+1) = 1, Development (1+1+0) = 2, Application (0+1+0) = 1. The total frequency within the window is 9+4+3+3+1+2+1 = 23. Calculating the frequency percentage of each tag item: Artificial Intelligence 9 / 23 ≈ 0.391, Natural Language Processing 4 / 23 ≈ 0.174, Technology 3 / 23 ≈ 0.130, Algorithm 3 / 23 ≈ 0.130, Model 1 / 23 ≈ 0.043, Development 2 / 23 ≈ 0.087, Application 1 / 23 ≈ 0.043. Obtain dynamically updated field benchmark values. This benchmark value is a sliding average of the frequency percentages of each keyword, calculated from a large number of similar text resources in the domain knowledge base. It reflects the general importance of concepts within the domain. The benchmark values are set as follows: Artificial Intelligence: 0.25, Natural Language Processing: 0.15, Technology: 0.18, Algorithms: 0.10, Models: 0.12, Development: 0.05, and Applications: 0.08. The calculated percentages for the current window are compared with the benchmark values, and tags with percentages exceeding the benchmark values are filtered out: Artificial Intelligence: 0.391 > 0.25 is retained; Natural Language Processing: 0.174 > 0.15 is retained; Technology: 0.130 < 0.18 is discarded; Algorithms: 0.130 > 0.10 is retained; Models: 0.043 < 0.12 is discarded; Development: 0.087 > 0.05 is retained; Applications: 0.043 < 0.08 is discarded. The set of tags that meet the criteria is {Artificial Intelligence, Natural Language Processing, Algorithms, Development}. Slide the window along the vector sequence, for each window (such as covering Window, covering The above calculation process is repeated for each window, and so on. Each window gets a set of dominant label items. These sets are arranged in chronological order to form a dominant concept sequence. Let the obtained sequence be S C =[C1={AI,NLP,Algo,Dev}, C2={AI,Tech,Algo}, C3={AI,Algo,Model}, C4={Algo,Model,App}, C5={Model,App,Dev},…].
[0115] The switching event detection submodule traverses the knowledge domain set of adjacent label items in the dominant concept sequence and calculates the intersection ratio. If the ratio is lower than the switching threshold of 0.4 optimized by the gradient descent method, it is marked as a domain non-overlapping event. The total number of events and the window length in the sliding window are counted to generate a switching rate sequence.
[0116] This submodule traverses the dominant concept sequence S C. Examine adjacent sets of label items, such as C1 and C2. Obtain the knowledge domain set corresponding to the label items in each set. This requires a predefined mapping relationship to map each keyword to one or more knowledge domains D = {domain 1, domain 2, domain 3, ...}. Set the mapping:
[0117] AI->{D1}, NLP->{D1,D2}, Tech->{D2}, Algo->{D1,D3}, Model->{D3}, Dev->{D4}, App->{D2,D4}. C1 = the set of knowledge domains corresponding to {AI, NLP, Algo, Dev}. Dom(C1) = {D1}∪{D1,D2}∪{D1,D3}∪{D4} = {D1,D2,D3,D4}. C2 = the set of knowledge domains corresponding to {AI, Tech, Algo}. Dom(C2) = {D1}∪{D2}∪{D1,D3} = {D1,D2,D3}. Calculate the intersection of the two knowledge domain sets Dom(C1)∩Dom(C2)={D1,D2,D3} and the union Dom(C1)∪Dom(C2)={D1,D2,D3,D4}. Calculate the intersection percentage (using Jaccard similarity): Set a switching threshold T switch This threshold is obtained by applying gradient descent optimization on a dataset that annotates whether concept switching occurs or not. The goal of optimization is to minimize the classification error (misclassifying switching as non-switching, or vice versa) to determine the best distinction boundary. T is determined through this process. switch =0.4. The calculated intersection ratio of 0.75 is added to T switch= 0.4. 0.75 ≥ 0.4, so the transition from C1 to C2 is not marked as a domain mismatch event. Continue processing C2 = {AI, Tech, Algo} (Dom(C2) = {D1, D2, D3}) and C3 = {AI, Algo, Model} (Dom(C3) = {D1} ∪ {D1, D3} ∪ {D3} = {D1, D3}). The intersection is {D1, D3}, and the union is {D1, D2, D3}. The intersection accounts for 2 / 3, which is ≈ 0.67. 0.67 ≥ 0.4, so it is not marked. Process C3={AI,Algo,Model}(Dom(C3)={D1,D3}) and C4={Algo,Model,App}(Dom(C4)={D1,D3}∪{D3}∪{D2,D4}={D1,D2,D3,D4}). Intersection {D1,D3}, union {D1,D2,D3,D4}. The intersection ratio is 2 / 4=0.5. 0.5≥0.4, not marked. Process C4={Algo,Model,App}(Dom(C4)={D1,D2,D3,D4}) and C5={Model,App,Dev}(Dom(C5)={D3}∪{D2,D4}∪{D4}={D2,D3,D4}). Intersection {D2, D3, D4}, union {D1, D2, D3, D4}. Intersection ratio 3 / 4 = 0.75. 0.75 ≥ 0.4, not marked. (For demonstration, we modify the data to allow switching events.) Assume C5 to C6 = {Tech} (Dom(C6) = {D2}). Intersection {D2}, union {D2, D3, D4}. Intersection ratio 1 / 3 ≈ 0.33. 0.33 < 0.4, mark C5 → C6 as a domain non-overlap event. Count the total number of domain non-overlap events that occur within a sliding window (set window length L = 4). For the window covering the three transitions C1 → C2, C2 → C3, and C3 → C4, the number of events is 0, and the switching rate Rate = 0 / (4-1) = 0. For the window covering C2→C3, C3→C4, and C4→C5, the number of events is 0 and the switching rate is 0. For the window covering C3→C4, C4→C5, and C5→C6, one event (C5→C6) is detected, and the switching rate is Rate = 1 / (4-1) = 1 / 3 ≈ 0.33. Slide the window along the sequence and calculate the switching rate at each position to generate a switching rate sequence. The sequence R is obtained. seq =[0,0,0.33,0.67,0.67,0.33,0,…] (assuming that subsequent events cause the switching rate to increase and then decrease).
[0118] The abnormal block generation sub-module scans the segments in the switching rate sequence that continuously exceed the system warning value of 0.6 determined by maximizing the F1 score of the test data set F1, merges the segments with an interval smaller than the tolerance span, generates a set of abnormal switching blocks, and outputs them synchronously with the dominant concept sequence;
[0119] The tolerance span is 3 sentence units verified by the time window overlap experiment.
[0120] This sub-module scans the switching rate sequence R seq =[0,0,0.33,0.67,0.67,0.33,0,…]. Set a system warning value T alert . This value is determined by evaluating the F1 score (an index that combines precision and recall) at different thresholds on the test data set. Select the switching rate value that maximizes the F1 score as T alert . Determine T through this process alert =0.6. Scan R seq , and find the segments that continuously exceed T alert =0.6. In the sequence R seq [3]=0.67 and R seq [4]=0.67 continuously exceed 0.6. These switching rate values correspond to the window center positions covering C4→C5, C5→C6 and C5→C6, C6→C7 (assuming there is also an event for C6→C7). This marks an abnormal activity area, whose core is roughly around time points 5 and 6. We define the abnormal segment to cover the time points when the events detected by these high switching rate windows occur, that is, [5,6] (corresponding to C5→C6 and C6→C7). Check whether there are multiple such abnormal segments and the interval between them is less than the set tolerance span G. The tolerance span G is determined to be 3 sentence units through the time window overlap experiment. If two abnormal segments [t1,t2] and [t3,t4] satisfy t3 - t2 - 1 < G, then merge them into [t1,t4]. Suppose there is another abnormal segment [9,9] at a subsequent position in the sequence. The interval between segments [5,6] and [9,9] is 9 - 6 - 1 = 2. Since 2 < G = 3, merge these two segments into [5,9]. This merged segment set constitutes the set of abnormal switching blocks. Finally, we get {[5,9]}. Output this set synchronously with the original dominant concept sequence.
[0121] Table 1 Example of training data (for determining T mutation )
[0122] Segment Pair Index Absolute value of adjacent similarity difference True label (1 = mutation, 0 = non-mutation) 1 0.065 0 2 0.540 0 3 0.120 0 4 0.630 1 5 0.050 0 6 0.750 1 7 0.150 0 8 0.450 0 9 0.680 1 10 0.210 0
[0123] Table 1 shows the training data used to determine the mutation threshold T mutationConsider a subset of training data. By applying different thresholds to this data and calculating the TPR and FPR, we plot the ROC curve and select the optimal threshold. For example, consider a threshold of t = 0.6, marking points 4, 6, and 9 as mutations. Comparing the true labels, we find TP = 3 (4, 6, 9), FP = 0, FN = 0, and TN = 7.
[0124] TPR = TP / (TP+FN) = 3 / 3 = 1.0, FPR = FP / (FP+TN) = 0 / 7 = 0. Try threshold t = 0.5 and mark points 2, 4, 6, and 9.
[0125] TP=3,FP=1(point 2),FN=0,TN=6. TPR=1.0,FPR=1 / 7≈0.14. Calculate the (TPR,FPR) points under each threshold value and select the optimal one (such as (0,1.0)). The corresponding threshold value is T mutation =0.6.
[0126] See also Figure 5 , the fault fusion judgment module includes:
[0127] The block overlap detection submodule calls the candidate broken block set and the abnormal switching block set, traverses the start and end coordinates of each block, and detects the overlap ratio between the two in terms of time axis and keyword coverage. If the ratio exceeds the minimum overlap threshold dynamically adjusted based on the block length, the keywords in the intersection area are extracted and merged into a unified set to generate the overlapping block set.
[0128] The dynamic adjustment rule is that when the block length is ≤ 5, the threshold is 0.8, and when the length is greater than 5, the threshold is 0.6;
[0129] This submodule receives two block sets: the candidate broken block set from module two, set to {[7], [12, 14]}; and the abnormal switching block set from module three, set to {[5, 9], [13, 16]}. The blocks in these two sets are compared in pairs. Compare the candidate broken block [7] (length L1 = 1) and the abnormal switching block [5, 9] (length L2 = 5). Check the timeline overlap: block [7] covers index 7, and block [5, 9] covers indexes 5, 6, 7, 8, 9. Their intersection is [7], and the intersection length is 1. Set the dynamically adjusted minimum overlap threshold T overlap The rule is: the length L of the shorter of the two blocks to be compared min If L min ≤5, then T overlap =0.8; if L min >5, then T overlap =0.6. In this example, L min =min(1,5)=1, satisfying L min ≤5, so Toverlap = 0.8. Calculate the overlap ratio. Use the intersection length divided by the shortest block length as the metric: Overlap = Length(Intersection) / L min =1 / 1=1.0. Compare the overlap ratio with the threshold: 1.0>T overlap =0.8. The overlap condition is satisfied. Extract the intersection area [7] and the keywords involved in the two blocks and merge them. Block [7] comes from the fracture detection and associates its corresponding vector Keywords. Blocks [5,9] come from concept switching and are associated with the dominant concepts {Model, App, Dev, Tech} in this period (refer to C5, C6, etc.). Merge to obtain a unified keyword set and record the overlapping blocks [7]. Continue to compare the candidate fracture blocks [12,14] (L1=3) and the abnormal switching blocks [13,16] (L2=4). L min =min(3,4)=3, satisfying L min ≤5, so T overlap = 0.8. The intersection is [13, 14], with a length of 2. Overlap = 2 / 3 ≈ 0.67. Compare: 0.67 < T overlap =0.8. The overlap condition is not met. Compare candidate break block [12,14] with abnormal switching block [5,9]. No timeline intersection, the condition is not met. Compare candidate break block [7] with abnormal switching block [13,16]. No timeline intersection, the condition is not met. After completing all comparisons, the generated overlapping block set is {Block:[7],Keywords:{…}}.
[0130] The aggregation-dispersion ratio calculation submodule counts the frequency distribution of the merged keywords based on the overlapping block set, calculates the sum of the high-frequency word concentration as the aggregation degree, and counts the mean of the time span covered by the low-frequency word distribution as the dispersion. The ratio of the keyword aggregation degree to dispersion is defined as the aggregation-dispersion ratio;
[0131] This submodule is based on a set of overlapping blocks, such as {Block:[7], Keywords:{…}}. Statistics are in the overlapping area (i.e., the segment index 7, the corresponding vector Frequency distribution of the merged keywords using the adjusted data in Table 1. Assume that the merged keyword set is {natural language processing (1), technology (2), algorithm (3), development (4), application (5)} (frequency from ). Calculate the sum of the high-frequency word concentration as the aggregation degree A fused The words with a frequency higher than the median frequency (median is 3) in the block (here only one sentence) are defined as high-frequency words, namely {development (4), application (5)}. The sum of their frequencies is 4+5=9. Then the degree of aggregation A fused=9. The aggregation degree is the sum of frequencies and has no unit. The mean of the normalized time span covered by the distribution of low-frequency words (frequency is less than or equal to the median, i.e., {natural language processing (1), technology (2), algorithm (3)}) is used as the dispersion D fused Since the length of the overlapping block is only 1 (sentence 7), the time span cannot be calculated. Consider a longer overlapping block, set to [10,12]. We need to check the position index t of the first and last occurrence of the low-frequency word in the block [10,12]. first and t last . Calculate the normalized span of each low-frequency word (t last -t first +1) / BlockLength. The average of the normalized spans of all low-frequency words is used to obtain the dispersion D fused This D fused is a unitless proportional value between 0 and 1. In this special case of a single point block [7], it is not possible to calculate the discreteness based on the time span. An alternative method is to calculate the discreteness within the block (vector ) The standard deviation of the keyword frequency is used as the dispersion. The mean of the frequency sequence [1,2,3,4,5] is 3, and the standard deviation Set the discreteness D fused = 1.414. Dispersion is the standard deviation, which has the same units as the frequency (unitless). Calculate the aggregate dispersion ratio R fused =A fused / D fused =9 / 1.414≈6.365. This ratio is also unitless.
[0132] The fault mark generation submodule traverses the aggregated discrete ratio, compares it with the fault judgment threshold of 0.45 verified based on the test data set, filters out blocks with ratios lower than the threshold, extracts their numbers and location information, and arranges them in chronological order to generate an evaluation mark knowledge fault list.
[0133] This submodule traverses all overlapping blocks and calculates the aggregate discrete ratios. The ratio sequence is obtained, such as
[0134] [6.365, 0.35, 5.8, ...] (assuming other values are obtained in subsequent calculations). Set a fault determination threshold T fault This threshold is determined based on validation on a test dataset containing known knowledge gaps. Adjust T fault The value of T is used to evaluate its performance in distinguishing true fault overlap areas from non-fault overlap areas (such as accuracy, F1 score), and the threshold with the best performance is selected. fault =0.45. This threshold is unitless and is related to the aggregate dispersion ratio R fused The units are consistent. The aggregate discrete ratio R of each overlapping block isfused With T fault =0.45 for comparison. Block [7] has a ratio of 6.365>0.45 and is not screened. Blocks with a ratio of 0.35 and 0.35<0.45 are screened out. Define the aggregated discrete ratio below 0.45 as the "low ratio" interval. Blocks with a ratio of 5.8 and 5.8>0.45 are not screened out. Define the aggregated discrete ratio above 2.0 as the "high ratio" interval, and the range between 0.45 and 2.0 as the "medium ratio" interval. Extract the screened blocks (i.e., R fused The number (assuming it corresponds to the original segment index 15) and location information (start coordinate 15, end coordinate 15) of the blocks in the low ratio range are collected. These selected fault information are arranged in chronological order to generate the final evaluation and marked knowledge fault list: [(15, segment 15 start timestamp, segment 15 end timestamp)].
[0135] The above are merely preferred embodiments of the present invention and do not limit the present invention in any other form. Any technician familiar with the profession may use the technical content disclosed above to change or modify it into an equivalent embodiment with equivalent changes and apply it to other fields. However, any simple modification, equivalent change and modification made to the above embodiment based on the technical essence of the present invention without departing from the content of the technical solution of the present invention shall still fall within the scope of protection of the technical solution of the present invention.
Claims
1. An online learning resource evaluation system based on data analysis, characterized in that: The system comprises: The keyword feature extraction module traverses the sentence segments to count the keyword frequencies and generate vectors, constructs a fixed-length keyword frequency vector sequence, uses cosine similarity to calculate the sum of the absolute values of the differences between adjacent vectors, and performs unit modulus length conversion on the vectors based on preset normalization parameters to generate keyword frequency mutation amplitude parameters. The keyword frequency mutation amplitude parameters are output to the mutation point detection module, and the keyword frequency vector sequence is output to the concept switching monitoring module. The mutation point detection module marks the mutation point based on the mutation threshold optimized by the gradient descent method according to the comparison of the keyword frequency mutation amplitude parameter. After delineating the candidate blocks, the clustering silhouette coefficient model is called to calculate the keyword aggregation degree. The dispersion is calculated in combination with the frequency standard deviation. The candidate fracture block set is generated by comparing the dispersion ratio with the preset fracture threshold and outputted to the fault fusion judgment module. The concept switching monitoring module extracts the dominant concept labels from the keyword frequency vector sequence to construct a sequence, detects events where the intersection ratio of adjacent label pointing domains is lower than the switching threshold obtained by confusion matrix optimization, counts the number of sliding window switches to generate a switching rate sequence, and generates an abnormal switching block set based on the switching rate, which is output to the fault fusion judgment module.
2. The online learning resource evaluation system based on data analysis according to claim 1 is characterized in that: The keyword frequency mutation amplitude parameter is specifically the sum of the absolute values of the differences between adjacent vectors. The candidate fracture block set includes keyword aggregation degree, frequency standard deviation dispersion, and aggregation dispersion ratio. The abnormal switching block set includes the sliding window switching rate sequence and the number of label pointing domain non-overlapping events.
3. The online learning resource evaluation system based on data analysis according to claim 2 is characterized in that: The normalization parameter is a scaling factor obtained by dividing the value of each dimension of the vector by the L2 norm of the vector; The fracture threshold is a numerical range of [0.35, 0.65] determined based on the principle of maximizing the classification accuracy of the test data set; The sliding window length is a fixed value of 10 segment units determined by time series periodicity analysis.
4. The online learning resource evaluation system based on data analysis according to claim 3 is characterized in that: The keyword feature extraction module includes: The keyword frequency statistics submodule traverses the word segmentation result set of the sentence segment, performs part-of-speech tagging and stop word filtering on the text content of each word segmentation unit, records the names of keywords that are not filtered, and counts the number of repetitions in the sentence segment, generates a mapping relationship between keyword names and frequency values, and obtains a keyword frequency table; The vector sequence generation submodule extracts the frequency value corresponding to each keyword from the keyword frequency table based on a preset keyword sorting list, fills it with zero if the keyword does not appear, and combines them into a numerical sequence with a fixed dimension in the order of the list to generate a keyword frequency vector sequence; The mutation amplitude quantification submodule calculates the cosine value of the angle between each pair of adjacent vectors in the keyword frequency vector sequence using the normalized cosine similarity formula, takes the absolute value of the difference between the adjacent cosine values, and accumulates all the differences to generate a keyword frequency mutation amplitude parameter; The normalized cosine similarity formula is a dot product operation of the vector's dimension values divided by the L2 norm.
5. The online learning resource evaluation system based on data analysis according to claim 4 is characterized in that: The mutation point detection module includes: The mutation point marking submodule obtains the keyword frequency mutation amplitude parameter, uses a numerical comparison method to compare the mutation amplitude parameter with the mutation threshold determined by maximizing the area under the ROC curve of the training data set, marks the mutation point coordinates where the mutation amplitude parameter exceeds the threshold, delineates the continuous area covered by the mutation point coordinates, and generates a candidate block set; The aggregation degree calculation submodule calls the clustering silhouette coefficient model based on the candidate block set, calculates the silhouette coefficient of each keyword and adjacent keywords according to the keyword distribution density in the block, takes the arithmetic mean of all keyword silhouette coefficients, and generates the keyword aggregation degree; The dispersion ratio submodule extracts the keyword frequency sequence in the candidate block set, calculates the frequency fluctuation dispersion using the standard deviation formula, inputs the keyword aggregation degree and the frequency dispersion into the division operator to calculate the ratio, and generates a dispersion ratio; The silhouette coefficient calculation formula is (ba) / max(a,b), where a is the average Euclidean distance between the keyword and other keywords in the same cluster, and b is the average Euclidean distance between the keyword and the keyword in the nearest neighbor cluster; The fracture block generation submodule sets the discreteness ratio screening condition, traverses the discreteness ratio of each block in the candidate block set, retains the block numbers that meet the condition, merges adjacent block numbers to form a continuous interval, eliminates isolated point numbers based on the knowledge fault detection requirements, and generates a candidate fracture block set.
6. The online learning resource evaluation system based on data analysis according to claim 5, characterized in that: The concept switching monitoring module includes: The dominant tag extraction submodule obtains the keyword frequency vector sequence, calculates the frequency ratio of tag items in multiple time units, compares the domain benchmark values dynamically updated by the domain knowledge base, selects tag items that meet the conditions, arranges them in chronological order, and generates a dominant concept sequence; The field benchmark value is the sliding average of the frequency ratio of similar resource tags in the knowledge base; The switching event detection submodule traverses the knowledge domain set of adjacent label items in the dominant concept sequence and calculates the intersection ratio. If the ratio is lower than the switching threshold of 0.4 optimized by the gradient descent method, it is marked as a domain non-overlapping event. The total number of events and the window length in the sliding window are counted to generate a switching rate sequence. The abnormal block generation submodule scans the segments in the switching rate sequence that continuously exceed the system warning value of 0.6 determined by maximizing the F1 score of the test data set, merges the segments whose intervals are less than the tolerance span, generates an abnormal switching block set, and outputs it synchronously with the dominant concept sequence; The tolerance span is 3 sentence units verified by time window overlap experiments.
7. The online learning resource evaluation system based on data analysis according to claim 6, characterized in that: The system further comprises: The fault fusion judgment module performs range overlap detection on the candidate fracture block set and the abnormal switching block set. After merging the overlapping block keyword set, it recalculates the aggregate discrete ratio based on the ratio of the sum of the high-frequency word concentration to the average time span of the low-frequency words. The fused blocks with a ratio lower than the threshold are marked as knowledge faults, and an evaluation marked knowledge fault list is generated and output to the evaluation link.
8. The online learning resource evaluation system based on data analysis according to claim 7 is characterized in that: The evaluation mark knowledge fault list specifically refers to the fusion block keyword set and the aggregation discrete ratio threshold, and the sum of the high-frequency word concentration is the sum of the squares of the frequency proportions of the top 10% keywords in frequency ranking.
9. The online learning resource evaluation system based on data analysis according to claim 8, characterized in that: The tomosynthesis determination module includes: The block overlap detection submodule calls the candidate broken block set and the abnormal switching block set, traverses the start and end coordinates of each block, and detects the overlap ratio between the two in terms of time axis and keyword coverage. If the ratio exceeds the minimum overlap threshold dynamically adjusted based on the block length, the keywords in the intersection area are extracted and merged into a unified set to generate an overlapping block set. The dynamic adjustment rule is that when the block length is ≤ 5, the threshold is 0.8, and when the length is > 5, the threshold is 0.6; The aggregation-dispersion ratio calculation submodule calculates the frequency distribution of the merged keywords based on the overlapping block set, calculates the sum of the high-frequency word concentration as the aggregation degree, and calculates the mean of the time span covered by the low-frequency word distribution as the dispersion. The ratio of the keyword aggregation degree to the dispersion is defined as the aggregation-dispersion ratio; The fault mark generation submodule traverses the aggregated discrete ratio, compares it with the fault judgment threshold of 0.45 verified based on the test data set, filters out blocks with ratios lower than the threshold, extracts their numbers and location information, and arranges them in chronological order to generate an evaluation mark knowledge fault list.