Software function point duplication checking method, device and equipment based on neural network and medium
By using a neural network-based approach, utilizing CBOW and CNN models to generate word vectors and classification models, the problem of high time and cost in function point duplication checks is solved, achieving efficient and accurate function point duplication detection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUNAN CREATOR INFORMATION TECH CO LTD
- Filing Date
- 2022-11-30
- Publication Date
- 2026-04-21
AI Technical Summary
Existing technologies suffer from high time and cost, low efficiency and accuracy in function point duplication checks, and manual duplication checks are difficult to guarantee quality.
A neural network-based approach is adopted to process the function point details table by training a model. CBOW and CNN models are used to generate word vectors and classification models to calculate the similarity of function points. Combined with multi-dimensional weighted calculation, the function point deduplication is automatically achieved.
It improves the efficiency and accuracy of function point deduplication, reduces the amount of calculation, and can complete the deduplication of massive amounts of data in a short time with a significant improvement in accuracy.
Smart Images

Figure CN115936003B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular, to a method, apparatus, device, and medium for detecting duplicate software function points based on neural networks. Background Technology
[0002] Function Point Method (IFPUG-FPA) is a software size measurement method based on user requirements, supported by specific algorithms, objectively independent of technical implementation, and capable of estimation before actual development. It is characterized by strong scientific rigor, authority, and operability, and is a method adopted by national and industry standards. The function point counting process refers to the process of quantifying functional user requirements and evaluating non-functional point user requirements to count the functions of the application system software.
[0003] With the increasing number of software projects, there are often duplicate or similar projects in the same field, and identical or similar functionalities within the same project. Checking for duplicate functionalities can identify unreasonable features and effectively prevent redundant development. However, with a large number of software functionalities accumulated from various projects, manual deduplication is difficult. The labor and waiting costs would be enormous. Furthermore, manually identifying and judging each functionality data point individually is challenging due to subjectivity and physical fatigue, making it difficult to guarantee the quality of the deduplication check.
[0004] Therefore, how to effectively reduce the time and cost for users to check for duplicate functions and improve the accuracy of the check is an urgent problem that technical personnel need to solve. Summary of the Invention
[0005] This application provides a method for checking software function points based on neural networks to solve the technical problems of high time and cost, low efficiency and accuracy in existing function point duplication checks.
[0006] The technical solution adopted in this application is as follows:
[0007] A method for detecting duplicate software function points based on neural networks, comprising the following steps:
[0008] Obtain a software function point detail table based on the function point method, wherein the software function point detail table includes function point hierarchical structure information and function point category information;
[0009] The model is trained using a software function point detail table to obtain a trained model and a function point detail table with labeled information. The function point detail table with labeled information serves as a historical function point feature index, which includes historical function point level, historical function point word vector, and historical function point type.
[0010] Input the detailed list of function points of the software to be checked into the trained model, and output the feature index of each function point in the detailed list of function points of the software to be checked. The feature index of the function point to be checked includes the level of the function point to be checked, the word vector of the function point to be checked, and the type of the function point to be checked.
[0011] Calculate the similarity between the historical functional point feature indicators and the functional point feature indicators to be checked for duplication;
[0012] Based on the similarity and the set threshold, similar function points in the software function point detail table to be checked for plagiarism are determined, and the software function point detail table with duplicate annotation information is output to obtain the software function point plagiarism check result.
[0013] Preferably, the step of training the model using a software function point detail table to obtain a trained model and a function point detail table with labeled information, wherein the labeled function point detail table serves as a historical function point feature index, specifically includes the following steps:
[0014] The hierarchical structure of the software function point details table is read out using the function point hierarchy model to form function point text. The hierarchical structure of the function point text is described using natural language and added to the function point text to complete the function point text data.
[0015] We collect and supplement the functional point text data and massive amounts of Chinese data to train the word vector model, enabling the word vector model to understand the true semantics of the functional point text.
[0016] The model is trained using the completed function point text data as training corpus and the function point category as training label. The resulting function point classification model is used to directly extract key semantic features from the function point text data and calculate the function point category probability based on the key semantic features.
[0017] Preferably, the step of collecting and completing the functional point text data and training a word vector model with massive amounts of Chinese data, enabling the word vector model to understand the true semantics of the functional point text, specifically includes the following steps:
[0018] Training corpus construction: Construct a self-training corpus for the word vector model from text data including completed function point text data and massive amounts of Chinese data with no annotation information;
[0019] Word vector model construction: A word vector model is built based on CBOW. The word vector model uses the text context to infer the missing real words, obtains more accurate text semantics, and transforms the words into vectors that represent the text semantics. The more similar the semantics of the words, the closer the word vectors are.
[0020] Word vector model training: The word vector model is trained using the prepared self-training corpus to enable the word vector model to have semantic understanding capabilities;
[0021] Saving the word vector model: The trained word vector model is saved for direct calculation of the function point word vectors.
[0022] Preferably, the step of training the model using the completed function point text data as training corpus and the function point category as training label to obtain a function point classification model for directly extracting key semantic features from the function point text data, and calculating the function point category probability based on the key semantic features, specifically includes the following steps:
[0023] Constructing the training corpus: The completed function point text data is used as the training corpus, and the function point category is taken as the label to ensure the accuracy of the training data;
[0024] Constructing a function point classification model: The function point classification model adopts a convolutional neural network model, including an input layer, convolutional layer, pooling layer, fully connected layer, and output layer;
[0025] Training the function point classification model: The function point classification model is trained using the prepared function point text data with category information after preprocessing. The model parameters are adjusted through backpropagation, and the hyperparameters are adjusted multiple times to ensure that the model is trained to the optimal state, and finally correctly classifies the function point text data.
[0026] Output classification results: Save the trained function point classification model for use in classifying software function points.
[0027] Preferably, the step of inputting the detailed list of function points of the software to be checked into the trained model and outputting the feature index of each function point in the detailed list of function points of the software to be checked for plagiarism specifically includes the following steps:
[0028] The function point hierarchical model reads the hierarchical structure from the function point details table of the software to be checked for plagiarism and forms the function point text. Then, it describes the hierarchical structure of the function point text using natural language and adds it to the function point text. After completing the function point text data, it outputs and saves the function point level to be checked for plagiarism.
[0029] The function point word vector model uses the context of the function point text data to infer the missing real words, obtain more accurate text semantics, and after converting the words into vectors representing the text semantics, outputs and saves the function point word vectors to be checked for deduplication.
[0030] The function point classification model extracts key semantic features from function point text data, identifies hidden relationships between texts, correctly classifies function point texts, and outputs and saves each function point type to be checked in the function point details table of the software to be checked for plagiarism.
[0031] Preferably, the calculation of the similarity between the historical functional point feature indicators and the functional point feature indicators to be checked for duplication specifically includes the following steps:
[0032] Calculate the similarity of the function points to be checked for plagiarism at the level of the function points to be checked, the similarity of the word vectors of the function points to be checked, and the similarity of the types of the function points to be checked, respectively.
[0033] The similarity of the functions to be checked is calculated by weighting the similarity at the function level, the similarity of the word vectors of the functions to be checked, and the similarity of the types of the functions to be checked.
[0034] W = α×X + β×Y + θ×Z;
[0035] In the formula:
[0036] α, β, and θ represent the weights of the corresponding indicators;
[0037] W represents the similarity of the duplicate functional points to be checked;
[0038] X represents the similarity at the functional point level to be checked for plagiarism.
[0039] Y represents the similarity of the word vectors of the functional points to be checked for duplication;
[0040] Z represents the similarity of the functional points to be checked for duplicates.
[0041] Preferably, the steps of calculating the similarity of the functional points to be checked for plagiarism at the level of the functional points to be checked, the similarity of the word vectors of the functional points to be checked, and the similarity of the types of the functional points to be checked specifically include the following steps:
[0042] When calculating the level similarity of the function points to be checked for plagiarism, the principle of hierarchical comparison is adopted. The level similarity of the function points to be checked is determined according to the level depth of the function points in the functional modules. The magnitude of the level similarity of the function points to be checked is positively correlated with the level depth of the function points in the functional modules.
[0043] When calculating the similarity of word vectors of the function points to be checked for plagiarism, the function point text data is converted into word vectors, and the cosine similarity between the historical function point word vectors and the function point word vectors to be checked for plagiarism is calculated to obtain the similarity between the two.
[0044] When calculating the similarity of the function points to be checked for plagiarism, the function point types output by the model are divided into five categories: EI, EQ, EO, EIF, and ILF. The similarity between different function points is set according to the different function point types.
[0045] This application also provides a software function point deduplication device based on neural networks, comprising:
[0046] The function point detail table acquisition module is used to acquire a software function point detail table based on the function point method. The software function point detail table includes function point hierarchical structure information and function point category information.
[0047] The historical function point feature index calculation module is used to train the model using the software function point detail table to obtain the trained model and the function point detail table with annotation information. The function point detail table with annotation information serves as the historical function point feature index, which includes historical function point level, historical function point word vector, and historical function point type.
[0048] The module for calculating the feature index of the function point to be checked is used to input the detailed table of the function points of the software to be checked into the trained model and output the feature index of the function point to be checked for each function point in the detailed table of the function points of the software to be checked. The feature index of the function point to be checked includes the level of the function point to be checked, the word vector of the function point to be checked, and the type of the function point to be checked.
[0049] The similarity calculation module is used to calculate the similarity between the historical function point feature indicators and the function point feature indicators to be checked for duplicates.
[0050] The function point deduplication result output module is used to determine similar function points in the function point detail table of the software to be deduplicated based on the similarity and the set threshold, output the software function point detail table with duplicate annotation information, and obtain the software function point deduplication result.
[0051] This application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of the neural network-based software function point deduplication method.
[0052] This application also provides a storage medium including a stored program, which, when the program is running, controls the device where the storage medium is located to execute the steps of the neural network-based software function point deduplication method.
[0053] Compared with the prior art, this application has the following advantages:
[0054] This application replaces manual methods with machine-based deduplication for function point deduplication, improving efficiency and accuracy while reducing redundant project development. Specifically, it employs the CBOW spatial semantic vector model, a convolutional neural network (CNN) classification model, and a deep semantic word vector generation algorithm to correctly classify function points. This converts function point text into word vectors with contextual semantic features and the correct categories, enabling the model to achieve text semantic understanding capabilities comparable to business experts. Furthermore, by combining function point types and hierarchies, the accuracy of deduplication is significantly improved. Inspired by big data clustering technology, this application utilizes a fast indexing algorithm based on converting function point text into word vectors with contextual semantic features, supporting the comparison of massive amounts of function point text. This method can quickly compare the similarity between function point texts, reducing the computational load for deduplication to 1 / 100th of the original, ensuring the completion of deduplication for 100,000 historical requirements within 0.1 seconds, greatly improving efficiency and enabling rapid deduplication of massive amounts of data in a short time. This application calculates the similarity of function points by comparing multiple dimensions of indicators and then using a weighted method. Compared with calculating the text similarity of function points using a single-dimensional word vector cosine similarity, this method adds comparison of function point hierarchy and type, effectively improving the accuracy of plagiarism detection.
[0055] In addition to the purposes, features, and advantages described above, this application has other purposes, features, and advantages. The application will now be described in further detail with reference to the accompanying drawings. Attached Figure Description
[0056] The accompanying drawings, which form part of this application, are used to provide a further understanding of this application. The illustrative embodiments and descriptions of this application are used to explain this application and do not constitute an undue limitation of this application. In the drawings:
[0057] Figure 1 This is a schematic flowchart of a preferred embodiment of the software function point deduplication method based on neural networks in this application.
[0058] Figure 2 This is a schematic representation of the software function points of a preferred embodiment of this application.
[0059] Figure 3 This is a flowchart illustrating a sub-step of step S2 in a preferred embodiment of this application.
[0060] Figure 4 This is a flowchart illustrating a sub-step of step S22 in a preferred embodiment of this application.
[0061] Figure 5 This is a flowchart illustrating a sub-step of step S23 in a preferred embodiment of this application.
[0062] Figure 6This is a flowchart illustrating a sub-step of step S3 in a preferred embodiment of this application.
[0063] Figure 7 This is a flowchart illustrating a sub-step of step S4 in a preferred embodiment of this application.
[0064] Figure 8 This is a flowchart illustrating a sub-step of step S41 in a preferred embodiment of this application.
[0065] Figure 9 This is a schematic diagram of the process for calculating the similarity of the functional points to be checked in a preferred embodiment of this application.
[0066] Figure 10 This is a schematic diagram of a software function point deduplication device module based on a neural network according to a preferred embodiment of this application.
[0067] Figure 11 This is a schematic block diagram of an electronic device according to a preferred embodiment of this application.
[0068] Figure 12 This is an internal structural diagram of a computer device according to a preferred embodiment of this application. Detailed Implementation
[0069] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.
[0070] Reference Figure 1 A preferred embodiment of this application provides a method for deduplication of software function points based on neural networks, including the following steps:
[0071] S1. Obtain a detailed list of software function points based on the function point method. This detailed list includes function point hierarchy information and function point category information, such as... Figure 2 As shown, the software function point list is generated by the enterprise during the process of using the function point method to evaluate project workload, and has been formed through accumulation and refinement. The software function point list clearly records the hierarchical structure of function points, function point types, and other information. Because this data has undergone multiple evaluations and reviews, with quality control at each level, the data quality and reliability can be fully guaranteed.
[0072] S2. The model is trained using the software function point detail table to obtain the trained model and the function point detail table with annotation information. The function point detail table with annotation information is used as the historical function point feature index. The historical function point feature index includes historical function point level, historical function point word vector, and historical function point type.
[0073] S3. Input the detailed list of function points of the software to be checked into the trained model, and output the feature index of each function point in the detailed list of function points of the software to be checked. The feature index of the function point to be checked includes the level of the function point to be checked, the word vector of the function point to be checked, and the type of the function point to be checked.
[0074] S4. Calculate the similarity between the historical function point feature indicators and the function point feature indicators to be checked for duplication;
[0075] S5. Based on the similarity and the set threshold, determine the similar function points in the software function point detail table to be checked for plagiarism, output the software function point detail table with duplicate annotation information, and obtain the software function point plagiarism check result.
[0076] This embodiment provides a machine-based approach to replace manual deduplication for function point deduplication, improving efficiency and accuracy while reducing redundant project development. Specifically, this application employs the CBOW spatial semantic vector model, a convolutional neural network (CNN) classification model, and a deep semantic word vector generation algorithm to correctly classify function points. This converts function point text into word vectors with contextual semantic features and the correct categories, enabling the model to achieve text semantic understanding capabilities comparable to business experts. Furthermore, combining function point types and hierarchies significantly improves deduplication accuracy. Inspired by big data clustering technology, this embodiment utilizes a fast indexing algorithm based on converting function point text into word vectors with contextual semantic features, supporting comparison of massive amounts of function point text. This method can quickly compare the similarity between function point texts, reducing the computational load for deduplication to 1 / 100th of the original, ensuring the completion of deduplication for 100,000 historical requests within 0.1 seconds, greatly improving efficiency and enabling rapid deduplication of massive amounts of data in a short time. This embodiment calculates the similarity of function points by comparing multiple dimensions of indicators and then using a weighted method. Compared with calculating the text similarity of function points using a single-dimensional word vector cosine similarity, this method adds comparison of function point levels and types, effectively improving the accuracy of plagiarism detection.
[0077] Preferably, such as Figure 3 As shown, the process of training the model using a software function point detail table to obtain a trained model and a function point detail table with labeled information, wherein the labeled function point detail table serves as a historical function point feature index, specifically includes the following steps:
[0078] S21. Using the function point hierarchy model, the hierarchical structure (including level 1, level 2, level 3, level 4, etc.) of the software function point details table is extracted to form function point text. The hierarchical structure of the function point text is then described using natural language and added to the function point text to complete the function point text data. For example, the original function point description is "Login function point: Single sign-on," and the completed text is "Level 1 function is login function, Level 2 function is single sign-on." This information completion in the function point text helps the subsequent model understand the hierarchical information of the function point text and make more reasonable judgments.
[0079] by Figure 2 Taking the function point numbered 1 as an example, the function point text read by the machine is "Face Basic Information Management Face Local Management Face Basic Management Face Basic Management User Group Creation". After completion, the text is: "Function Module Face Basic Information Management, Level 1 function is Face Local Management, Level 2 function is Face Basic Management, Level 3 function is Face Basic Management, Level 4 function is User Group Creation".
[0080] S22. Collect the completed function point text data and massive amounts of Chinese data to train the word vector model, enabling the word vector model to understand the true semantics of the function point text. The word vector model can map words to a high-dimensional space. In a high-dimensional space, words with similar meanings are closer together, allowing the computer to mimic the process of reading and recognizing characters, thus possessing semantic understanding capabilities. To facilitate subsequent training, the function point text that has been graded in the previous step is randomly divided into training data and test data in an 8:2 ratio.
[0081] S23. Using the completed function point text data as training corpus and function point categories as training labels, train the model to obtain a function point classification model for directly extracting key semantic features from the function point text data, and calculate the probability of function point categories based on the key semantic features.
[0082] Preferably, such as Figure 4 As shown, the process of collecting and completing the functional point text data and using massive amounts of Chinese data to train a word vector model, enabling the word vector model to understand the true semantics of the functional point text, specifically includes the following steps:
[0083] S221. Training Corpus Construction: Construct a self-training corpus for the word vector model from text data including completed function point text data and massive amounts of Chinese data with no annotation information.
[0084] S222, Word Vector Model Construction: A word vector model is constructed based on CBOW. The word vector model uses the text context to infer the missing real words, obtains more accurate text semantics, and transforms the words into vectors representing the text semantics. The more similar the semantics of the words, the closer the word vectors are.
[0085] S223. Word Vector Model Training: The word vector model is trained using the prepared self-training corpus to enable it to have semantic understanding capabilities. Therefore, a large amount of training corpus is required to train the word vector model. The parameters of the model are continuously adjusted through backpropagation, and the hyperparameters are adjusted multiple times to ensure that the model is trained to the optimal state. Finally, the word vector model can have semantic understanding capabilities and can visualize the distance relationship between two functional point word vectors in a two-dimensional contour plane.
[0086] S224. Saving the word vector model: Save the trained word vector model for direct calculation of function point word vectors.
[0087] Preferably, such as Figure 5 As shown, the process of training the model using the completed function point text data as training corpus and the function point category as training label to obtain a function point classification model for directly extracting key semantic features from the function point text data, and calculating the probability of the function point category based on the key semantic features, specifically includes the following steps:
[0088] S231. Constructing training corpus: Use the completed function point text data as training corpus, and take the function point category as label to ensure the accuracy of training data.
[0089] S232. Constructing a Function Point Classification Model: The function point classification model adopts a convolutional neural network model, including an input layer, convolutional layer, pooling layer, fully connected layer, and output layer. In the convolutional layer, convolution operations are performed at all positions by sliding the filter window at certain intervals to obtain the output of the convolution operation. In the pooling layer, local word order information is used to extract primary features and combine the primary features into high-level features. Through convolution and pooling operations, the feature engineering steps in traditional machine learning are eliminated. The fully connected layer inputs the features extracted by the convolution and pooling layers into a classifier for classification. The output layer uses a Softmax classification model to divide the function point text data into 5 categories, corresponding to the function point text "EI", "EQ", "EO", "EIL", and "ILF" respectively.
[0090] S233. Training the function point classification model: After preprocessing the prepared function point text data with category information, the function point classification model is trained. The model parameters are adjusted through backpropagation, and the hyperparameters are adjusted multiple times to ensure that the model is trained to the optimal state, and finally the function point text data is correctly classified.
[0091] S234. Output classification results: Save the trained function point classification model for use in classifying software function points.
[0092] Preferably, such as Figure 6 As shown, the step of inputting the detailed list of function points of the software to be checked into the trained model and outputting the feature index of each function point in the detailed list of function points of the software to be checked for plagiarism specifically includes the following steps:
[0093] S31. The function point hierarchical model reads the hierarchical structure from the function point details table of the software to be checked to form function point text. Then, it describes the hierarchical structure of the function point text using natural language and adds it to the function point text. After completing the function point text data, it outputs and saves the function point level to be checked.
[0094] S32. The function point word vector model uses the context of the function point text data to infer the missing real words, obtains more accurate text semantics, converts the words into vectors representing text semantics, and outputs and saves the function point word vectors to be checked for deduplication.
[0095] S33. The function point classification model extracts key semantic features from function point text data, identifies hidden relationships between texts, correctly classifies function point texts, and outputs and saves each function point type to be checked in the function point details table of the software to be checked.
[0096] Preferably, such as Figure 7 As shown, the calculation of the similarity between the historical functional point feature indicators and the functional point feature indicators to be checked for duplication specifically includes the following steps:
[0097] S41. Calculate the similarity of the function points to be checked for plagiarism at the level of the function points to be checked, the similarity of the word vectors of the function points to be checked, and the similarity of the types of the function points to be checked, respectively.
[0098] Specifically, such as Figure 8 As shown, the steps for calculating the similarity of the functional points to be checked (level similarity, word vector similarity, and type similarity) specifically include:
[0099] S411, such as Figure 9As shown, when calculating the level similarity of the function points to be checked for duplication, a step-by-step comparison principle is adopted. The level similarity of the function points to be checked is determined according to the level depth of the function points in the functional modules. The magnitude of the level similarity of the function points to be checked is positively correlated with the level depth of the function points in the functional modules. That is, the level similarity (X) of the function points is shown in Table 1:
[0100] Table 1:
[0101]
[0102] In this embodiment, based on the text level of historical function points and the level of the function point to be checked, we can look up Table 1. If the type of the function point to be checked is similar to the text level of historical function points at level two, then the level similarity X of the function point to be checked is 60%.
[0103] S412. When calculating the similarity of word vectors of the functional points to be checked for plagiarism, the text data of the functional points is converted into word vectors, and the cosine similarity between the historical functional point word vector A and the functional point word vector B to be checked for plagiarism is calculated to obtain the similarity between the two: ;
[0104] In the formula: n represents the number of dimensions of the spatial vector, and i represents the i-th dimension of the space;
[0105] In this embodiment, the similarity Y of the word vectors of historical function points and the word vectors of function points to be checked for duplication is calculated using the above formula. For example, if the word vectors of historical function points are A(1, 3, 2) and the word vectors of function points to be checked for duplication are B(2, 4, 5), then the similarity Y of the word vectors of function points to be checked for duplication is:
[0106] =95.63%;
[0107] S413. When calculating the type similarity of the function points to be checked for plagiarism, the function point types output by the model are divided into five categories: EI, EQ, EO, EIF, and ILF. Based on the different function point types, the type similarity (Z) between different function points is set, as shown in Table 2:
[0108] Table 2:
[0109]
[0110] In this embodiment, based on the historical function point type and the function point type to be checked for duplication, we can look up Table 2. For example, if the historical function point type is EI and the function point type to be checked for duplication is EO, then the similarity Z of the function point type to be checked for duplication is 60%.
[0111] S42. Calculate the similarity of the functions to be checked for based on the weighted similarity of the function level, the word vector similarity, and the type similarity:
[0112] W=α×X+β×Y+θ×Z=30%×60%+40%×95.63%+30%×60%=74.25%,
[0113] In the formula:
[0114] α, β, and θ represent the weights of the corresponding indicators, set to 30%, 40%, and 30%, respectively.
[0115] W represents the similarity of the duplicate functional points to be checked;
[0116] X represents the similarity at the functional point level to be checked for plagiarism.
[0117] Y represents the similarity of the word vectors of the functional points to be checked for duplication;
[0118] Z represents the similarity of the functional points to be checked for duplicates.
[0119] like Figure 10 As shown, this application also provides a software function point deduplication device based on a neural network, comprising:
[0120] The function point detail table acquisition module is used to acquire a software function point detail table based on the function point method. The software function point detail table includes function point hierarchical structure information and function point category information.
[0121] The historical function point feature index calculation module is used to train the model using the software function point detail table to obtain the trained model and the function point detail table with annotation information. The function point detail table with annotation information serves as the historical function point feature index, which includes historical function point level, historical function point word vector, and historical function point type.
[0122] The module for calculating the feature index of the function point to be checked is used to input the detailed table of the function points of the software to be checked into the trained model and output the feature index of the function point to be checked for each function point in the detailed table of the function points of the software to be checked. The feature index of the function point to be checked includes the level of the function point to be checked, the word vector of the function point to be checked, and the type of the function point to be checked.
[0123] The similarity calculation module is used to calculate the similarity between the historical function point feature indicators and the function point feature indicators to be checked for duplicates.
[0124] The function point deduplication result output module is used to determine similar function points in the function point detail table of the software to be deduplicated based on the similarity and the set threshold, output the software function point detail table with duplicate annotation information, and obtain the software function point deduplication result.
[0125] like Figure 11As shown, a preferred embodiment of this application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, it implements the steps of the software function point deduplication method based on neural networks in the above embodiments.
[0126] like Figure 12 As shown, a preferred embodiment of this application also provides a computer device, which may be a terminal or a liveness detection server, and its internal structure diagram may be as follows. Figure 12 As shown, the computer device includes a processor, memory, and a network interface connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The network interface is used to communicate with other external computer devices via a network connection. When the computer program is executed by the processor, it implements the steps of the aforementioned neural network-based software function point deduplication method.
[0127] Those skilled in the art will understand that Figure 12 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0128] A preferred embodiment of this application also provides a storage medium, the storage medium including a stored program, which, when the program is running, controls the device where the storage medium is located to execute the steps of the neural network-based software function point deduplication method in the above embodiments.
[0129] It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.
[0130] If the functions described in this embodiment are implemented as software functional units and sold or used as independent products, they can be stored in one or more computing device-readable storage media. Based on this understanding, the parts of this application's embodiments that contribute to the prior art or the technical solutions can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a computing device (which may be a personal computer, server, mobile computing device, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage media include: USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, optical disks, and other media capable of storing program code.
[0131] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code. The solutions in the embodiments of this application can be implemented in various computer languages, such as the object-oriented programming language Java and the interpreted scripting language JavaScript.
[0132] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0133] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1The function specified in one or more boxes.
[0134] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0135] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.
[0136] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A method for detecting duplicate software function points based on neural networks, characterized in that, Including the following steps: Obtain a software function point detail table based on the function point method, wherein the software function point detail table includes function point hierarchical structure information and function point category information; The model is trained using a software function point detail table to obtain a trained model and a function point detail table with labeled information. This labeled function point detail table serves as a historical function point feature index, which includes historical function point level, historical function point word vectors, and historical function point type. The specific steps include: The hierarchical structure of the software function point details table is read out using the function point hierarchy model to form function point text. The hierarchical structure of the function point text is described using natural language and added to the function point text to complete the function point text data. We collect and supplement the functional point text data and massive amounts of Chinese data to train the word vector model, enabling the word vector model to understand the true semantics of the functional point text. Using the completed function point text data as training corpus and function point categories as training labels, the model is trained to obtain a function point classification model for directly extracting key semantic features from the function point text data. Based on these key semantic features, the probability of function point categories is calculated. The specific steps include: Constructing the training corpus: The completed function point text data is used as the training corpus, and the function point category is taken as the label to ensure the accuracy of the training data; Constructing a function point classification model: The function point classification model adopts a convolutional neural network model, including an input layer, convolutional layer, pooling layer, fully connected layer, and output layer; Training the function point classification model: The function point classification model is trained using the prepared function point text data with category information after preprocessing. The model parameters are adjusted through backpropagation, and the hyperparameters are adjusted multiple times to ensure that the model is trained to the optimal state, and finally correctly classifies the function point text data. Output classification results: Save the trained function point classification model for classifying software function points; Input the detailed list of function points of the software to be checked into the trained model, and output the feature index of each function point in the detailed list of function points of the software to be checked. The feature index of the function point to be checked includes the level of the function point to be checked, the word vector of the function point to be checked, and the type of the function point to be checked. Calculate the similarity between the historical functional point feature indicators and the functional point feature indicators to be checked for duplication; Based on the similarity and the set threshold, similar function points in the software function point detail table to be checked for plagiarism are determined, and the software function point detail table with duplicate annotation information is output to obtain the software function point plagiarism check result.
2. The software function point deduplication method based on neural networks according to claim 1, characterized in that, The process of collecting and completing the functional point text data and using massive amounts of Chinese data to train a word vector model enables the word vector model to understand the true semantics of the functional point text. This includes the following steps: Training corpus construction: Construct a self-training corpus for the word vector model from text data including completed function point text data and massive amounts of Chinese data with no annotation information; Word vector model construction: A word vector model is built based on CBOW. The word vector model uses the text context to infer the missing real words, obtains more accurate text semantics, and transforms the words into vectors that represent the text semantics. The more similar the semantics of the words, the closer the word vectors are. Word vector model training: The word vector model is trained using the prepared self-training corpus to enable the word vector model to have semantic understanding capabilities; Saving the word vector model: The trained word vector model is saved for direct calculation of the function point word vectors.
3. The software function point deduplication method based on neural networks according to claim 1, characterized in that, The process of inputting the detailed list of function points of the software to be checked into the trained model and outputting the feature index of each function point in the detailed list of function points of the software to be checked for plagiarism specifically includes the following steps: The function point hierarchical model reads the hierarchical structure from the function point details table of the software to be checked for plagiarism and forms the function point text. Then, it describes the hierarchical structure of the function point text using natural language and adds it to the function point text. After completing the function point text data, it outputs and saves the function point level to be checked for plagiarism. The function point word vector model uses the context of the function point text data to infer the missing real words, obtain more accurate text semantics, and after converting the words into vectors representing the text semantics, outputs and saves the function point word vectors to be checked for deduplication. The function point classification model extracts key semantic features from function point text data, identifies hidden relationships between texts, correctly classifies function point texts, and outputs and saves each function point type to be checked in the function point details table of the software to be checked for plagiarism.
4. The software function point deduplication method based on neural networks according to claim 1, characterized in that, The calculation of the similarity between the historical functional point feature indicators and the functional point feature indicators to be checked for duplication specifically includes the following steps: Calculate the similarity of the function points to be checked for plagiarism at the level of the function points to be checked, the similarity of the word vectors of the function points to be checked, and the similarity of the types of the function points to be checked, respectively. The similarity of the functions to be checked is calculated by weighting the similarity at the function level, the similarity of the word vectors of the functions to be checked, and the similarity of the types of the functions to be checked. W = α×X + β×Y + θ×Z; In the formula: α, β, and θ represent the weights of the corresponding indicators; W represents the similarity of the duplicate functional points to be checked; X represents the similarity at the functional point level to be checked for plagiarism. Y represents the similarity of the word vectors of the functional points to be checked for duplication; Z represents the similarity of the functional points to be checked for duplicates.
5. The software function point deduplication method based on neural networks according to claim 4, characterized in that, The calculation of the similarity of the functional points to be checked for plagiarism at the level, the similarity of the word vectors of the functional points to be checked, and the similarity of the types of the functional points to be checked specifically includes the following steps: When calculating the level similarity of the function points to be checked for plagiarism, the principle of hierarchical comparison is adopted. The level similarity of the function points to be checked is determined according to the level depth of the function points in the functional modules. The magnitude of the level similarity of the function points to be checked is positively correlated with the level depth of the function points in the functional modules. When calculating the similarity of word vectors of the function points to be checked for plagiarism, the function point text data is converted into word vectors, and the cosine similarity between the historical function point word vectors and the function point word vectors to be checked for plagiarism is calculated to obtain the similarity between the two. When calculating the similarity of the function points to be checked for plagiarism, the function point types output by the model are divided into five categories: EI, EQ, EO, EIF, and ILF. The similarity between different function points is set according to the different function point types.
6. A software function point deduplication device based on neural networks, characterized in that, For implementing the method as described in any one of claims 1 to 5, comprising: The function point detail table acquisition module is used to acquire a software function point detail table based on the function point method. The software function point detail table includes function point hierarchical structure information and function point category information. The historical function point feature index calculation module is used to train the model using the software function point detail table to obtain the trained model and the function point detail table with annotation information. The function point detail table with annotation information serves as the historical function point feature index, which includes historical function point level, historical function point word vector, and historical function point type. The module for calculating the feature index of the function point to be checked is used to input the detailed table of the function points of the software to be checked into the trained model and output the feature index of the function point to be checked for each function point in the detailed table of the function points of the software to be checked. The feature index of the function point to be checked includes the level of the function point to be checked, the word vector of the function point to be checked, and the type of the function point to be checked. The similarity calculation module is used to calculate the similarity between the historical function point feature indicators and the function point feature indicators to be checked for duplicates. The function point deduplication result output module is used to determine similar function points in the function point detail table of the software to be deduplicated based on the similarity and the set threshold, output the software function point detail table with duplicate annotation information, and obtain the software function point deduplication result.
7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the software function point deduplication method based on any one of claims 1 to 5.
8. A storage medium comprising a stored program, characterized in that, When the program is running, it controls the device where the storage medium is located to perform the steps of the software function point deduplication method based on any one of claims 1 to 5.
Citation Information
Patent Citations
Transaction type function point structured extraction method and system of software requirement document
CN112817561A
Software development workload evaluation method and device and calculation equipment
CN113011689A