Method, apparatus, device, and readable storage medium for constructing a life cycle prediction model
By mining the project, Issue and developer characteristics in open source software projects, and building a life cycle prediction model using box graph and cumulative distribution graph analysis methods, the problem of insufficient accuracy of Issue's life cycle prediction is solved, and more accurate life cycle prediction and project management is achieved.
Patent Information
- Application Number
- CN202210885262.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-26
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2042-07-26
AI Technical Summary
The accuracy of the Issue life cycle prediction results in open source software projects in the prior art is poor, mainly due to the lack of mining of relevant features of Issue initiators and participants, and the neglect of project background features, resulting in insufficient feature richness and inaccurate prediction results.
By obtaining the original data set, using box graphs and cumulative distribution graph analysis methods to determine the life cycle classification points, combining feature mining modules and prediction modules, building a life cycle prediction model, mining project, Issue and developer characteristics, and using features such as legitimacy index, compound similarity and project collaboration correlation, the prediction results of the life cycle classification points are selected.
It improves the accuracy of Issue life cycle prediction, can better manage and plan the iterative development of open source projects, and provides more accurate life cycle prediction results through multi-feature fusion prediction models.
Smart Images

Figure CN115292167B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of open source software ecosystems in software engineering, and particularly relates to a method, device, equipment and readable storage medium for constructing a life cycle prediction model. Background Art
[0002] Open source software (OSS) is a type of software with open source code that can be read and modified by users, and users are encouraged to report and fix software vulnerabilities, providing reusable code components for free developers. While significantly reducing the risk of software development, it also improves the quality of software programs. Open source software, with its collaborative development model, is playing an increasingly important role today, has been widely adopted and integrated into various software products, and has gradually become an indispensable part of the software development process.
[0003] As the world's largest open source software community and collaborative development platform, GitHub continuously provides an open collaborative development entry and project hosting service for developers globally. GitHub provides developers with an ITS (Issue Tracker System) function module, supporting developers to record and track software vulnerabilities, project improvement requirements, or other development tasks in the form of submitting Issues, which has become one of the main ways for users to communicate and provide feedback to open source project developers. With the continuous development of open source projects, the number of users and Issues has also been growing at a high speed. However, due to limited project management personnel and time, and most Issues not being assigned specific fixers, most Issues rely on the active and selective participation of developers, resulting in many open Issues in the project remaining unresolved. The uncertainty of the Issue closing time (i.e., the life cycle of the Issue) is not conducive to project management and iterative development. Therefore, predicting the life cycle of open Issues will greatly improve the progress control of project managers over the resolution of Issues and contribute to the iterative evolution of the project.
[0004] In recent years, researchers have carried out many related studies on the Issue life cycle problem. However, the existing methods for constructing life cycle prediction models often only focus on the text content and event characteristics of Issues, resulting in limited richness of prediction features and thus poor accuracy of prediction results. Summary of the Invention
[0005] This application provides a method, device, equipment and readable storage medium for constructing a life cycle prediction model to solve the problem of poor accuracy of Issue life cycle prediction results in related technologies.
[0006] In a first aspect, a method for constructing a life cycle prediction model is provided, including the following steps:
[0007] Obtain an original data set, where the original data set includes Issue data and project data. The Issue data includes Issue basic information, Issue developer information, and Issue event information, and the project data includes project basic information, project developer information, and project event information;
[0008] Based on the box plot analysis method and the cumulative distribution plot analysis method, analyze the distribution law of the Issue life cycle of the original data set to obtain multiple Issue life cycle classification points, and each Issue life cycle classification point includes the corresponding life cycle duration;
[0009] Train a classification model based on the Issue data, the project data, and the multiple Issue life cycle classification points to obtain a life cycle prediction model;
[0010] Among them, the classification model includes a feature mining module and a prediction module. The feature mining module is used to determine project features according to project basic information, project developer information, and project event information, determine Issue features according to Issue basic information, Issue developer information, and Issue event information, and determine developer features according to Issue data and project data. The prediction module is used to screen out the first Issue life cycle classification point corresponding to each Issue from multiple Issue life cycle classification points according to the project features, Issue features, and developer features, and use the life cycle duration corresponding to the first Issue life cycle classification point as the prediction result.
[0011] In some embodiments, the Issue feature includes a readability index. The determining of the Issue feature according to the Issue basic information, Issue developer information, and Issue event information includes:
[0012] Filter out the non-text content in the Issue basic information, Issue developer information, and Issue event information to obtain the text information of each Issue. The text information includes Issue title information, Issue description information, and Issue label information;
[0013] Calculate the total number of words, the total number of sentences, and the total number of syllables of each Issue according to the text information of the Issue;
[0014] Substitute the total number of words, the total number of sentences, and the total number of syllables into a first calculation formula to obtain the readability index of each Issue. The first calculation formula is:
[0015]
[0016] In the formula, Flesch_srore represents the readability index, N words represents the total number of words, N sentences represents the total number of sentences, N syllables represents the total number of syllables.
[0017] In some embodiments, the Issue feature includes a composite similarity. After the step of filtering non-text content in the Issue basic information, Issue developer information, and Issue event information to obtain the text information of each Issue, the method further includes:
[0018] Calculating the cosine similarity between each Issue and other Issues belonging to the same project according to the text information of the Issue;
[0019] Substituting the cosine similarity into a second calculation formula to obtain the composite similarity of each Issue. The second calculation formula is:
[0020] Composer_similarity(i,j) = αCosin_s(i title ,j title ) + βCosin_s(i body ,j body )
[0021] + γCosin_s(i topic ,j topic ) + δCosin_s(i label ,j label )
[0022] where Composer_similarity represents the composite similarity, i represents the ith Issue in a certain project, j represents the jth Issue in a certain project, Cosin_s(i title ,j title ) represents the title cosine similarity between the ith Issue and the jth Issue, Cosin_s(i body ,j body ) represents the description cosine similarity between the ith Issue and the jth Issue, Cosin_s(i topic ,j topic ) represents the topic cosine similarity between the ith Issue and the jth Issue, Cosin_s(i label ,j label) represents the label cosine similarity between the i-th Issue and the j-th Issue, and α, β, γ, and δ respectively represent the weight coefficients of the title cosine similarity, description cosine similarity, subject cosine similarity, and label cosine similarity.
[0023] In some embodiments, the developer feature includes the project collaboration correlation degree, and the calculation formula for the project collaboration correlation degree is:
[0024]
[0025] In the formula, N own represents the number of project owners among all participants in a certain Issue, N col represents the number of project collaborators among all participants in a certain Issue, N mem represents the number of project members among all participants in a certain Issue, N con represents the number of project contributors among all participants in a certain Issue, N ass represents the number of project assignees among all participants in a certain Issue, N all represents the number of all participants in a certain Issue, and w1, w2, w3, w4, and w5 respectively represent the weight coefficients of the project owner, project collaborator, project member, project contributor, and project assignee.
[0026] In a second aspect, a device for constructing a life cycle prediction model is provided, including:
[0027] An acquisition unit, which is used to acquire an original data set, the original data set includes Issue data and project data, the Issue data includes Issue basic information, Issue developer information, and Issue event information, and the project data includes project basic information, project developer information, and project event information;
[0028] An analysis unit, which is used to analyze the distribution law of the Issue life cycle of the original data set based on the box plot analysis method and the cumulative distribution plot analysis method, and obtain multiple Issue life cycle classification points, and each Issue life cycle classification point includes the corresponding life cycle duration;
[0029] A construction unit, which is used to train a classification model based on the Issue data, the project data, and the multiple Issue life cycle classification points to obtain a life cycle prediction model;
[0030] Among them, the classification model includes a feature mining module and a prediction module. The feature mining module is used to determine project features based on project basic information, project developer information, and project event information, determine Issue features based on Issue basic information, Issue developer information, and Issue event information, and determine developer features based on Issue data and project data. The prediction module is used to screen out the first Issue lifecycle classification point corresponding to each Issue from multiple Issue lifecycle classification points according to the project features, Issue features, and developer features, and use the lifecycle duration corresponding to the first Issue lifecycle classification point as the prediction result.
[0031] In some embodiments, the Issue features include a readability index. Specifically, the feature mining module is configured to:
[0032] Filter out non-text content in the Issue basic information, Issue developer information, and Issue event information to obtain the text information of each Issue. The text information includes Issue title information, Issue description information, and Issue label information;
[0033] Calculate the total number of words, total number of sentences, and total number of syllables of each Issue according to the text information of the Issue;
[0034] Substitute the total number of words, total number of sentences, and total number of syllables into the first calculation formula to obtain the readability index of each Issue. The first calculation formula is:
[0035]
[0036] In the formula, Flesch_srore represents the readability index, N words represents the total number of words, N sentences represents the total number of sentences, N syllables represents the total number of syllables.
[0037] In some embodiments, the Issue features include a composite similarity. Specifically, the feature mining module is further configured to:
[0038] Calculate the cosine similarity between each Issue and other Issues belonging to the same project according to the text information of the Issue;
[0039] Substitute the cosine similarity into the second calculation formula to obtain the composite similarity of each Issue. The second calculation formula is:
[0040] Composer_similarity(i,j)=αCosin_s(i title ,jtitle ) + β Cosin_s(i body , j body )
[0041] + γ Cosin_s(i topic , j topic ) + δ Cosin_s(i label , j label )
[0042] Among them, Composer_similarity represents the composite similarity, i represents the i-th Issue within a certain project, j represents the j-th Issue within a certain project, Cosin_s(i title , j title ) represents the title cosine similarity between the i-th Issue and the j-th Issue, Cosin_s(i body , j body ) represents the description cosine similarity between the i-th Issue and the j-th Issue, Cosin_s(i topic , j topic ) represents the topic cosine similarity between the i-th Issue and the j-th Issue, Cosin_s(i label , j label ) represents the tag cosine similarity between the i-th Issue and the j-th Issue, and α, β, γ, and δ respectively represent the weight coefficients of the title cosine similarity, description cosine similarity, topic cosine similarity, and tag cosine similarity.
[0043] In some embodiments, the developer feature includes the project collaboration association degree, and the calculation formula for the project collaboration association degree is:
[0044]
[0045] In the formula, N own represents the number of project owners among all participants of a certain Issue, N col represents the number of project collaborators among all participants of a certain Issue, N mem represents the number of project members among all participants of a certain Issue, N con represents the number of project contributors among all participants of a certain Issue, N ass represents the number of project assignees among all participants of a certain Issue, N all represents the number of all participants of a certain Issue, and w1, w2, w3, w4, and w5 respectively represent the weight coefficients of the project owner, project collaborator, project member, project contributor, and project assignee.
[0046] In a third aspect, a device for constructing a life cycle prediction model is provided, including: a memory and a processor. At least one instruction is stored in the memory, and the at least one instruction is loaded and executed by the processor to implement the foregoing method for constructing a life cycle prediction model.
[0047] In a fourth aspect, a computer-readable storage medium is provided. The computer storage medium stores a computer program, and when the computer program is executed by a processor, the foregoing method for constructing a life cycle prediction model is implemented.
[0048] This application provides a method, device, equipment and readable storage medium for constructing a life cycle prediction model, including: obtaining an original data set, where the original data set includes Issue data and project data. The Issue data includes Issue basic information, Issue developer information and Issue event information, and the project data includes project basic information, project developer information and project event information; analyzing the distribution law of the Issue life cycle of the original data set based on the box plot analysis method and the cumulative distribution plot analysis method to obtain multiple Issue life cycle classification points, and each Issue life cycle classification point includes the corresponding life cycle duration; training a classification model based on the Issue data, project data and multiple Issue life cycle classification points to obtain a life cycle prediction model; where the classification model includes a feature mining module and a prediction module. The feature mining module is used to determine project features according to the project basic information, project developer information and project event information, determine Issue features according to the Issue basic information, Issue developer information and Issue event information, and determine developer features according to the Issue data and project data. The prediction module is used to screen out the first Issue life cycle classification point corresponding to each Issue from multiple Issue life cycle classification points according to the project features, Issue features and developer features, and use the life cycle duration corresponding to the first Issue life cycle classification point as the prediction result. Through this application, analyzing the distribution law of the Issue life cycle is convenient for discovering the distribution law of the Issue life cycle of different projects, establishing the classification interval of the prediction time point, and performing multi-feature mining on the project features, Issue features and developer features to construct an Issue life cycle prediction model based on the distribution law of the Issue life cycle and multi-feature fusion, and then transforming the life cycle prediction problem into a classification problem, thereby effectively improving the accuracy of the Issue life cycle prediction result. Description of the Drawings
[0049] To more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the accompanying drawings required for the description of the embodiments. Obviously, the accompanying drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other accompanying drawings can be obtained based on these drawings.
[0050] Figure 1 It is a schematic flowchart of a method for constructing a life cycle prediction model provided by an embodiment of the present application;
[0051] Figure 2 It is a distribution diagram of Issue life cycle data for all projects provided by an embodiment of the present application;
[0052] Figure 3 It is a distribution diagram of Issue life cycle data for a single project provided by an embodiment of the present application;
[0053] Figure 4 It is a specific schematic flowchart of the method for constructing a life cycle prediction model provided by an embodiment of the present application;
[0054] Figure 5 It is a schematic structural diagram of a device for constructing a life cycle prediction model provided by an embodiment of the present application. Detailed implementation manners
[0055] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the following will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are some, rather than all, of the embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts fall within the scope of protection of the present application.
[0056] The embodiments of the present application provide a method, device, equipment, and readable storage medium for constructing a life cycle prediction model, which can solve the problem of poor accuracy of Issue life cycle prediction results in related technologies.
[0057] Figure 1 It is a method for constructing a life cycle prediction model provided by an embodiment of the present application, including the following steps:
[0058] Step S10: Obtain an original data set, where the original data set includes Issue data and project data, the Issue data includes Issue basic information, Issue developer information, and Issue event information, and the project data includes project basic information, project developer information, and project event information;
[0059] Exemplarily, the existing issue lifecycle prediction methods mainly focus on the text content and event features of issues, neglecting the relevant features of issue initiators and participants, and lacking in-depth exploration of the background features of the projects where the issues are located. The richness of features is limited. Moreover, most of the current issue lifecycle prediction methods lack integration with the distribution rules of the issue lifecycle in real projects. The prediction time is segmented by fixed observation points, and developers cannot be given an adaptable selection range, so the accuracy of the prediction results needs to be further improved. In this embodiment, the original data is cleaned, and the information associated with issue data in the open-source software dataset is screened: the valid issue data in the dataset is screened, all closed developer data and project data associated with the issue are retained, and issues with incomplete associated information are filtered out. For each piece of issue data, the basic information of the issue (such as issue name, task type, described topic, etc.), developer information including creator information and participant information, and event information (such as the start time, close time, number of comments, etc.) of the issue are retained. For each project involved, the basic information of the project (such as the project name, number of contributors, number of issues, proportion of closed issues, and average lifecycle, etc. shown in Table 1), developer information including creator information and participant information, and event information (such as code submission, etc.) are retained.
[0060] Table 1 Basic Information of Open-Source Projects
[0061]
[0062] Step S20: Analyze the distribution rules of the issue lifecycle for the original dataset based on box plot analysis and cumulative distribution plot analysis to obtain multiple issue lifecycle classification points, and each issue lifecycle classification point includes the corresponding lifecycle duration.
[0063] Exemplarily, in this embodiment, based on the issue data and project data in step S10, the distribution rules of the issue lifecycle are statistically analyzed to determine the issue lifecycle prediction time point: the box plot and cumulative distribution plot are used to analyze the distribution rules of the issue lifecycle of the entire project set, and the box plot is used to separately analyze the adaptability of the lifecycle distribution rules to each project to determine the issue lifecycle prediction time point.
[0064] Specifically, the box plot and cumulative distribution plot are used to represent the lifecycle data of issues in all projects in the original dataset, and the data distribution of all issue lifecycles is obtained. For example, see Figure 2As shown, the data distribution of all Issue lifecycles includes distribution information such as the cumulative frequency, quartiles, maximum value, and minimum value of the lifecycles of Issues in all projects; then, refer to Figure 3 As shown, box plots are used to represent the lifecycle data of all Issues in each project (such as Project 1 to Project 12) respectively, and distribution information of quartiles, maximum value, and minimum value is obtained; finally, according to the quartile, maximum value, and minimum value distribution rules of the Issue lifecycle data of individual projects and all projects, multiple Issue lifecycle classification points that conform to the project set are determined, and each Issue lifecycle classification point includes the corresponding lifecycle duration.
[0065] Step S30: Train a classification model based on the Issue data, the project data, and the multiple Issue lifecycle classification points to obtain a lifecycle prediction model;
[0066] Among them, the classification model includes a feature mining module and a prediction module. The feature mining module is used to determine project features according to project basic information, project developer information, and project event information, determine Issue features according to Issue basic information, Issue developer information, and Issue event information, and determine developer features according to Issue data and project data. The prediction module is used to screen out the first Issue lifecycle classification point corresponding to each Issue from multiple Issue lifecycle classification points according to project features, Issue features, and developer features, and use the lifecycle duration corresponding to the first Issue lifecycle classification point as the prediction result.
[0067] Exemplarily, in this embodiment, based on Issue data and project data, multi-level features related to the Issue lifecycle are mined: an automated Issue type classifier (i.e., a classification model) is constructed based on a topic model, a composite similarity is generated by combining cosine similarity and a proportionality coefficient, and multi-level features related to the Issue lifecycle are mined from project data and Issue data; an Issue lifecycle prediction model is constructed based on the multi-level features: one-hot encoding is performed on the label features in the multi-level features, and normalization is performed on the numerical features to form a set of feature vectors, and the classification model is trained based on the set of feature vectors to obtain an Issue lifecycle prediction model.
[0068] Specifically, the Issue features include a readability index, and determining the Issue features according to Issue basic information, Issue developer information, and Issue event information includes:
[0069] Filter the non-text content in the basic information of the Issue, the developer information of the Issue, and the event information of the Issue to obtain the text information of each Issue, where the text information includes the Issue title information, the Issue description information, and the Issue label information;
[0070] Calculate the total number of words, the total number of sentences, and the total number of syllables for each Issue based on the text information of the Issue;
[0071] Substitute the total number of words, the total number of sentences, and the total number of syllables into the first calculation formula to obtain the readability index of each Issue. The first calculation formula is:
[0072]
[0073] In the formula, Flesch_srore represents the readability index, N words represents the total number of words, N sentences represents the total number of sentences, N syllables represents the total number of syllables.
[0074] The Issue features include composite similarity. After the step of filtering the non-text content in the basic information of the Issue, the developer information of the Issue, and the event information of the Issue to obtain the text information of each Issue, it further includes:
[0075] Calculate the cosine similarity between each Issue and other Issues belonging to the same project based on the text information of the Issue;
[0076] Substitute the cosine similarity into the second calculation formula to obtain the composite similarity of each Issue. The second calculation formula is:
[0077] Composer_similarity(i,j)=αCosin_s(i title ,j title )+βCosin_s(i body ,j body )+γCosin_s(i topic ,j topic )+δCosin_s(i label ,j label )
[0078] Among them, Composer_similarity represents the composite similarity, i represents the i-th Issue within a certain project, j represents the j-th Issue within a certain project, Cosin_s(i title ,j title) represents the cosine similarity of the titles of the i-th Issue and the j-th Issue, Cosin_s(i body ,j body ) represents the cosine similarity of the descriptions of the i-th Issue and the j-th Issue, Cosin_s(i topic ,j topic ) represents the cosine similarity of the topics of the i-th Issue and the j-th Issue, Cosin_s(i label ,j label ) represents the cosine similarity of the tags of the i-th Issue and the j-th Issue. α, β, γ, and δ represent the weight coefficients of the title cosine similarity, description cosine similarity, topic cosine similarity, and tag cosine similarity, respectively.
[0079] The developer features include the project collaboration correlation degree, and the calculation formula of the project collaboration correlation degree is:
[0080]
[0081] In the formula, N own represents the number of project owners among all participants in a certain Issue, N col represents the number of project collaborators among all participants in a certain Issue, N mem represents the number of project members among all participants in a certain Issue, N con represents the number of project contributors among all participants in a certain Issue, N ass represents the number of project assignees among all participants in a certain Issue, N all represents the number of all participants in a certain Issue, and w1, w2, w3, w4, and w5 represent the weight coefficients of project owners, project collaborators, project members, project contributors, and project assignees, respectively.
[0082] Exemplarily, in this embodiment, first, the feature mining module in the classification model mines project features according to project basic information, project developer information, and project event information.
[0083] Secondly, the feature mining module mines Issue features according to Issue basic information, Issue developer information, and Issue event information:
[0084] First, extract the text information of each Issue, including the title, description, and tag information of the Issue, and filter out non-text content such as URLs, code, pictures, and emoticons, and then form a pure text data of an Issue. The set of all pure text data of Issues constitutes the pure text dataset of Issues;
[0085] Then calculate the length of the plain text data for each Issue, and calculate the sentiment coefficient and readability index of each Issue text; among them, for the sentiment coefficient, use the SentiStrong tool and the TextBlob tool to evaluate the subjectivity and polarized (optimistic, pessimistic) emotion scores of the text narrative; and for the readability index, the readability index (Flesch Reading Ease) provided by the Textstat tool can be used to measure the readability of the text, and its calculation method is as follows: Calculate the total number of words, the total number of sentences, and the total number of syllables for each Issue according to the text information of the Issue; substitute the total number of words, the total number of sentences, and the total number of syllables into the first calculation formula to obtain the readability index of each Issue. The first calculation formula is:
[0086]
[0087] In the formula, Flesch_srore represents the readability index, N words represents the total number of words, N sentences represents the total number of sentences, N syllables represents the total number of syllables;
[0088] Next, based on the plain text data of the Issue, use the CorEX topic model with prior knowledge to mine the task type of each Issue, and use the LDA topic model to mine the topic distribution of each Issue;
[0089] Finally, calculate the composite similarity between each Issue and all the closed Issues in the same project. The composite similarity represents the duplication degree of the content discussed in this Issue in the closed area of the project issues, that is, calculate the cosine similarity between each Issue and other Issues belonging to the same project according to the text information of the Issue; substitute the cosine similarity into the second calculation formula to obtain the composite similarity of each Issue. The second calculation formula is:
[0090] Composer_similarity(i,j)=αCosin_s(i title ,j title )+βCosin_s(i body ,j body )+γCosin_s(i topic ,j topic )+δCosin_s(i label ,j label )
[0091] Where Composer_similarity represents the composite similarity, i represents the i-th Issue within a certain project, j represents the j-th Issue within a certain project, Cosin_s(i title ,j title ) represents the cosine similarity of the titles between the i-th Issue and the j-th Issue, Cosin_s(i body ,j body ) represents the cosine similarity of the descriptions between the i-th Issue and the j-th Issue, Cosin_s(i topic ,j topic ) represents the cosine similarity of the topics between the i-th Issue and the j-th Issue, Cosin_s(i label ,j label ) represents the cosine similarity of the tags between the i-th Issue and the j-th Issue, α, β, γ, and δ respectively represent the weight coefficients of the title cosine similarity, description cosine similarity, topic cosine similarity, and tag cosine similarity. Among them, α, β, γ, and δ can be set to 0.8, 0.51, 0.01, and 0.37 respectively. It should be noted that the specific values of the weight coefficients can also be set according to actual needs and are not limited here.
[0092] The feature mining module determines the developer features based on the Issue data and project data: Calculate the project collaboration association degree between the participants of each Issue and other developers in the project. The project collaboration association degree represents the comprehensive score of the relevance between the participants of this Issue and other developers in the project, and its calculation formula is:
[0093]
[0094] Where N own represents the number of project owners among all the participants of a certain Issue, N col represents the number of project collaborators among all the participants of a certain Issue, N mem represents the number of project members among all the participants of a certain Issue, N con represents the number of project contributors among all the participants of a certain Issue, N ass represents the number of project assignees among all the participants of a certain Issue, N allIndicates the number of all participants in a certain Issue. w1, w2, w3, w4, and w5 respectively represent the weight coefficients of the project owner, project collaborator, project member, project contributor, and project assignee. w1, w2, w3, w4, and w5 can be set to 2.5, 2, 2, 1.5, and 3 respectively. It should be noted that the specific values of the weight coefficients can also be set according to actual needs and are not limited here.
[0095] It can be seen that in this embodiment, the raw project information, Issue information, and developer information obtained through processing can form an Issue feature set including project features, Issue features, and developer features.
[0096] Process all features of each Issue in the Issue feature set: perform One-hot encoding on the label type among them, perform standardization processing on the numerical features, and splice all features into a feature vector to form a feature vector set; the prediction module in the classification model selects the first Issue life cycle classification point corresponding to each Issue from multiple Issue life cycle classification points according to the project features, Issue features, and developer features in the feature vector set, and uses the life cycle duration corresponding to the first Issue life cycle classification point as the prediction result.
[0097] Among them, in order to improve the prediction accuracy, this embodiment can also apply different machine learning methods to train different classification models and use the sliding verification method for parameter tuning. For example, use micro-average F1-score, macro-average accuracy, macro-average recall rate, macro-average F1-score, and Kappa coefficient to evaluate and compare the performance of different classifiers, and select the classifier with the best performance; apply the multiple logistic regression method for hypothesis testing to verify the effectiveness of the feature vector set, and obtain the importance of each feature according to the regression coefficients.
[0098] The following takes the project dataset developed in the Java language collected on the open-source software platform - Github as an example and combines Figure 4 Describe the implementation process of this embodiment in detail.
[0099] Clean the original dataset: Crawl open-source projects written in the Java language from Github, screen the queried projects, remove projects whose creation time is not between October 1, 2016 and October 1, 2019 and projects whose last push time is before October 1, 2021, and retain projects with more than 10,000 stars (i.e., followers) and more than 2,000 forks (i.e., favorites) to form the original dataset. For each project in the original dataset, use the Github API to crawl all Issue information, obtain the basic information of the project, traverse each closed Issue in the project, retain the basic information of the Issue, developer information including initiators, participants, etc., event information, and project status information, and filter out the useless information.
[0100] Statistical distribution law of Issue life cycle, determine the prediction time point of Issue life cycle: Count the time from creation to closure of all Issues in all projects, draw the cumulative frequency distribution and quartile distribution information of the life cycle of all Issues, as Figure 2 shown; Count the time from creation to closure of all Issues in each project, draw the distribution information of quartiles, maximum and minimum values of the life cycle of each Issue, as Figure 3 shown; According to the distribution law of the Issue life cycle, divide the life cycle time into 6 segments approximately evenly, namely C1 to C6, and determine the Issue life cycle classification points (for example, C1 < less than 3 hours, 3 hours ≤ C2 < 24 hours, 24 hours ≤ C3 < 7 days, 7 days ≤ C4 < 30 days, 30 days ≤ C5 < 120 days, C6 ≥ 120 days).
[0101] Mining multi-level features related to the Issue lifecycle: Connect the title, description, and label information of each Issue, filter out non-text content such as URLs, code, and images, combine them into a piece of text data, and form a pure text dataset of Issues; Calculate the length of the text data of each Issue, and use the SentiStrong tool and TextBlob tool to evaluate the subjectivity and polarized sentiment scores of the text narrative; Use the readability index (Flesch Reading Ease) provided by the Textstat tool to measure the readability of the text; Use the CorEX topic model with prior knowledge to mine the task type of each Issue in the pure text dataset of Issues; Use the LDA topic model to mine the topic of each Issue; Calculate the composite similarity between each Issue and the previously closed Issues in the same project based on the cosine similarity of the topic, label, title, and description of the Issue; Among them, as shown in Table 2, for the original project information, extract information such as the number of project fans, the number of contributors, the project age, and the recent commit volume of the project; For Issue information, extract information such as the number of comments, popularity, citation event volume, and mention event volume; For initiator information, extract the developer's development age (the number of years since joining Github), the number of followers, the recent comment volume, and the recent commit volume; For participant information, extract the relationship of the project and the recent commit volume. The above information constitutes three types of features including project features, Issue features, and developer features (i.e., participant features and initiator features), forming an Issue feature set.
[0102] Table 2 Example of Issue Feature Set
[0103]
[0104]
[0105] Constructing an Issue lifecycle prediction model: Perform One-hot encoding on the label-type features in the Issue feature set, standardize the numerical-type features, connect them into a feature vector, form a feature vector dataset, and train the classification model based on the feature vector dataset to obtain a lifecycle prediction model.
[0106] Among them, in this embodiment, the data set is divided into a training set and a test set at a ratio of 9:1. The KNN, SVM, RF, GBDT, and XGBoost machine learning methods are respectively applied to train classification models on the training set, and the sliding validation method is used for parameter tuning; the trained various models are applied to the test set for testing, and the Micro-F1, Macro-Precision, Macro-Recall, Macro-F1, and Kappa coefficients are used to evaluate and compare the performance of different classifiers:
[0107] Specifically, for the classification model, TP (true positive) represents the number of samples predicted as positive and actually positive; FP (false positive) represents the number of samples predicted as positive and actually negative; TN (true negative) represents the number of samples predicted as negative and actually negative; FN (false negative) represents the number of samples predicted as negative and actually positive.
[0108] Micro-F1: A comprehensive measure of the multi-classification results, which is the harmonic mean used to balance the precision and recall of multiple classes. It is applicable to the case of unbalanced data distribution and measures the closeness between the actual classes and the classification results generated by the model. The larger the Micro-F1, the better the comprehensive accuracy of the classification results, and it is related to TP, FP, and FN.
[0109] Macro-Precision: A measure of the precision of the multi-classification results, which is the average used to balance the precision of multiple classes. It is applicable to the case of balanced data distribution and measures the closeness between the types correctly predicted by the model and the type results predicted by the model. The larger the Macro-Precision, the better the precision of the classification results, and it is related to TP and FP.
[0110] Macro-Recall: A measure of the recall of the multi-classification results, which is the average used to balance the recall of multiple classes. It is applicable to the case of balanced data distribution and measures the closeness between the types correctly predicted by the model and the actual type results. The larger the Macro-Recall, the better the recall of the classification results, and it is related to TP and FN.
[0111] Macro-F1: A comprehensive measure of the multi-classification results, which is the harmonic mean used to balance the precision and recall. It is applicable to the case of balanced data distribution and measures the closeness between the actual classes and the classification results generated by the model. The larger the Macro-F1, the better the comprehensive accuracy of the classification results, and it is related to TP, FP, and FN.
[0112] Kappa coefficient: A measure of the consistency of multi-classification results, an indicator for evaluating the balance of multi-classification models, which measures whether the predicted results are consistent with the actual classification results. The larger the Kappa coefficient, the better the accuracy of the classification results.
[0113] The prediction performances of machine learning methods are compared. Different models have different abilities to learn features. Among them, machine learning methods such as KNN, SVM, RF, GBDT, and XGBoost can be used for multi-classification problems. As shown in Table 3, the XGBoost method is superior to other methods in terms of various performances. Therefore, in this embodiment, the model is selected as XGBoost, so that the model can maintain high precision and high recall while having sufficient consistency.
[0114] Table 3 Performance comparison table of each classification model
[0115]
[0116] In this embodiment, the parameter max_depth (such as 6, 8, 10, 12, 14, 16, 18) of the XGBoost model is also compared. The parameter max_depth determines the maximum depth of the decision tree. The greater the depth of the tree, the worse the interpretability of the model. As shown in Table 4, the interpretability of the model will increase with the increase of the parameter max_depth and then decrease after reaching the highest point. Therefore, the parameters of the model need to maintain a balance between accuracy and interpretability. In this embodiment, the parameter max_depth of the model is selected as 8 so that the model can have sufficient interpretability while maintaining accuracy.
[0117] Table 4 Comparison table of the parameter max_depth
[0118]
[0119]
[0120] In addition, the parameter learning_rate (such as 0.01, 0.015, 0.025, 0.05, 0.1, 0.2, 1.0) of the XGBoost model is also compared. The parameter learning_rate determines the step size when controlling the weight update in each iteration. The smaller the step size, the slower the training. As shown in Table 5, the accuracy of the model will increase with the increase of the parameter learning_rate and then decrease after reaching the highest point. Therefore, the parameters of the model need to maintain a balance between accuracy and learning rate. In this embodiment, the parameter learning_rate of the model is selected as 0.1 so that the model can learn data features faster while maintaining accuracy.
[0121] Table 5 Comparison Table of Parameter learning_rate
[0122] Micro-F1 Macro-Precision Macro-Recall Macro-F1 Kappa coefficient 0.01 0.7631 0.6712 0.6867 0.6694 0.6959 0.015 0.7857 0.7422 0.7403 0.7369 0.7249 0.025 0.7960 0.7239 0.7505 0.7275 0.7382 0.05 0.8073 0.7403 0.7600 0.7422 0.7527 0.1 0.8116 0.7417 0.7639 0.7456 0.7582 0.2 0.8064 0.7482 0.7591 0.7475 0.7514 1.0 0.7998 0.7071 0.7515 0.7112 0.7432
[0123] In this embodiment, the SPSS tool is also used to perform a multicollinearity test among features. The variance inflation factors of all features are less than 10, indicating that there is no multicollinearity problem among the features, and the feature vector dataset is well constructed.
[0124] Meanwhile, in this embodiment, all features (i.e., Issue features, project features, and developer features) are used as independent variables, and the Issue life cycle (C1 - C6) is used as the dependent variable. The SPSS software is used to establish a multiple Logistic regression model to conduct a hypothesis test on the life cycle prediction model in this embodiment. After the hypothesis test, it is found that the significance level p in this embodiment is less than 0.001, indicating that the life cycle prediction model constructed in this embodiment passes the test and has statistical significance. Moreover, the pseudo R-square values in this embodiment are all relatively low, with a maximum of 0.929, indicating that the features in the Issue feature set explain the Issue life cycle well, and the model fitting degree is relatively excellent. In addition, taking the C6 category with a closing time greater than 120 days as the reference and the C5 category with a closing time greater than 30 days and less than 120 days as an example, as shown in Table 6, the influence degree of each feature on the Issue life cycle can be determined according to the odds ratio Exp(B).
[0125] Table 6 Parameter Estimation Values
[0126]
[0127]
[0128] It can be seen that this embodiment provides a statistical analysis method for the distribution law of the Issue life cycle, which is convenient for discovering the distribution law of the Issue life cycle in different projects, transforming the life cycle prediction problem into a classification problem, that is, predicting whether an Issue will be closed within a certain time interval after the Issue is created: using the distribution law of the Issue life cycle in the crawled real project set to establish a classification interval for the prediction time point; proposing a multi-level feature mining method for Issue life cycle prediction, which helps to study the evolution law of the Issue life cycle; and constructing an Issue life cycle prediction model based on multi-feature fusion based on the feature set of Issue features, project features, and developer features to generate prediction results; and verifying the effectiveness of the model and the importance of features through performance evaluation and multiple logistic regression methods. Therefore, this embodiment can predict the Issue life cycle that meets the requirements based on the information provided by the open source project, and can have good accuracy on the premise that the prediction result remains valid, which helps to promote the problem management, progress planning, and version iteration of the open source project.
[0129] The embodiment of the present application also provides a device for constructing a life cycle prediction model, which is characterized by including:
[0130] An acquisition unit, which is used to acquire an original data set, where the original data set includes Issue data and project data, the Issue data includes Issue basic information, Issue developer information, and Issue event information, and the project data includes project basic information, project developer information, and project event information;
[0131] An analysis unit, which is used to analyze the distribution law of the Issue life cycle for the original data set based on the box plot analysis method and the cumulative distribution plot analysis method to obtain multiple Issue life cycle classification points, and each Issue life cycle classification point includes the life cycle duration corresponding to it;
[0132] A construction unit, which is used to train a classification model based on the Issue data, the project data, and the multiple Issue life cycle classification points to obtain a life cycle prediction model;
[0133] Among them, the classification model includes a feature mining module and a prediction module. The feature mining module is used to determine project features based on project basic information, project developer information, and project event information, determine Issue features based on Issue basic information, Issue developer information, and Issue event information, and determine developer features based on Issue data and project data. The prediction module is used to screen out the first Issue lifecycle classification point corresponding to each Issue from multiple Issue lifecycle classification points according to the project features, Issue features, and developer features, and use the lifecycle duration corresponding to the first Issue lifecycle classification point as the prediction result.
[0134] Furthermore, the Issue features include a readability index. Specifically, the feature mining module is used to:
[0135] Filter the non-text content in the Issue basic information, Issue developer information, and Issue event information to obtain the text information of each Issue. The text information includes Issue title information, Issue description information, and Issue label information;
[0136] Calculate the total number of words, total number of sentences, and total number of syllables of each Issue according to the text information of the Issue;
[0137] Substitute the total number of words, total number of sentences, and total number of syllables into the first calculation formula to obtain the readability index of each Issue. The first calculation formula is:
[0138]
[0139] In the formula, Flesch_srore represents the readability index, N words represents the total number of words, N sentences represents the total number of sentences, N syllables represents the total number of syllables.
[0140] Furthermore, the Issue features include a composite similarity. Specifically, the feature mining module is also used to:
[0141] Calculate the cosine similarity between each Issue and other Issues belonging to the same project according to the text information of the Issue;
[0142] Substitute the cosine similarity into the second calculation formula to obtain the composite similarity of each Issue. The second calculation formula is:
[0143] Composer_similarity(i,j)=αCosin_s(i title ,jtitle ) + β Cosin_s(i body , j body ) + γ Cosin_s(i topic , j topic ) + δ Cosin_s(i label , j label )
[0144] Among them, Composer_similarity represents composite similarity, i represents the i-th Issue within a certain project, j represents the j-th Issue within a certain project, Cosin_s(i title , j title ) represents the title cosine similarity between the i-th Issue and the j-th Issue, Cosin_s(i body , j body ) represents the description cosine similarity between the i-th Issue and the j-th Issue, Cosin_s(i topic , j topic ) represents the topic cosine similarity between the i-th Issue and the j-th Issue, Cosin_s(i label , j label ) represents the tag cosine similarity between the i-th Issue and the j-th Issue, and α, β, γ, and δ respectively represent the weight coefficients of the title cosine similarity, description cosine similarity, topic cosine similarity, and tag cosine similarity.
[0145] Furthermore, the developer feature includes the project collaboration correlation degree, and the calculation formula for the project collaboration correlation degree is:
[0146]
[0147] In the formula, N own represents the number of project owners among all participants of a certain Issue, N col represents the number of project collaborators among all participants of a certain Issue, N mem represents the number of project members among all participants of a certain Issue, N con represents the number of project contributors among all participants of a certain Issue, N ass represents the number of project assignees among all participants of a certain Issue, N all represents the number of all participants of a certain Issue, and w1, w2, w3, w4, and w5 respectively represent the weight coefficients of project owners, project collaborators, project members, project contributors, and project assignees.
[0148] It should be noted that those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the above-described device and each unit can refer to the corresponding processes in the foregoing embodiments of the life cycle prediction model construction method, and will not be elaborated herein.
[0149] The device provided in the foregoing embodiment can be implemented in the form of a computer program, and the computer program can run on a life cycle prediction model construction device as Figure 5 shown.
[0150] The embodiment of the present application also provides a life cycle prediction model construction device, including: a memory, a processor, and a network interface connected through a system bus. At least one instruction is stored in the memory, and the at least one instruction is loaded and executed by the processor to implement all or part of the steps of the foregoing life cycle prediction model construction method.
[0151] Among them, the network interface is used for network communication, such as sending assigned tasks, etc. Those skilled in the art can understand that Figure 5 the structure shown in is only a block diagram of some structures related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.
[0152] The processor may be a CPU, or may also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor, or the processor may also be any conventional processor, etc. The processor is the control center of the computer device, and connects various parts of the entire computer device through various interfaces and lines.
[0153] The memory can be used to store computer programs and / or modules. By running or executing the computer programs and / or modules stored in the memory and calling the data stored in the memory, the processor can implement various functions of the computer device. The memory mainly includes a program storage area and a data storage area. Among them, the program storage area can store an operating system, application programs required for at least one function (such as video playback function, image playback function, etc.); the data storage area can store data created according to the use of the mobile phone (such as video data, image data, etc.). In addition, the memory can include high-speed random access memory and can also include non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a SmartMedia Card (SMC), a Secure Digital (SD) card, a Flash Card, at least one magnetic disk storage device, a flash memory device, or other volatile solid-state storage devices.
[0154] An embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, all or some of the steps of the foregoing method for constructing a life cycle prediction model are implemented.
[0155] To implement all or part of the foregoing processes in an embodiment of the present application, it can also be completed by instructing relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, the steps of the foregoing various methods can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, an executable file, or some intermediate form, etc. The computer-readable medium can include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a mobile hard disk, a magnetic disk, an optical disc, a computer memory, a Read-Only Memory (ROM), a Random Access Memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the content included in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable medium does not include electrical carrier signals and telecommunication signals.
[0156] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, a server, or a computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present 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 and optical storage, etc.) containing computer-usable program code.
[0157] The present application is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate means for implementing the functions specified in one Figure 1 one flow or multiple flows and / or blocks Figure 1 one block or multiple blocks.
[0158] It should be noted that in this article, the terms "including", "comprising", or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or system including a series of elements not only includes those elements, but also includes other elements not explicitly listed, or further includes elements inherent to such a process, method, article, or system. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of additional identical elements in the process, method, article, or system including that element.
[0159] The above description is only the specific implementation manners of the present application, enabling those skilled in the art to understand or implement the present application. Various modifications to these embodiments will be obvious to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to these embodiments shown herein, but rather will be accorded the widest scope consistent with the principles and novel features claimed herein.
Claims
1. A method for constructing a life cycle prediction model, characterized in that, It includes the following steps: Obtain an original data set, where the original data set includes Issue data and project data. The Issue data includes Issue basic information, Issue developer information, and Issue event information. The project data includes project basic information, project developer information, and project event information; Based on the box plot analysis method and the cumulative distribution plot analysis method, analyze the distribution law of the Issue life cycle for the original data set to obtain multiple Issue life cycle classification points, and each Issue life cycle classification point includes the corresponding life cycle duration; Based on the Issue data, the project data, and the multiple Issue life cycle classification points, train a classification model to obtain a life cycle prediction model; Among them, the classification model includes a feature mining module and a prediction module. The feature mining module is used to determine project features according to project basic information, project developer information, and project event information, determine Issue features according to Issue basic information, Issue developer information, and Issue event information, and determine developer features according to Issue data and project data. The prediction module is used to screen out the first Issue life cycle classification point corresponding to each Issue from multiple Issue life cycle classification points according to project features, Issue features, and developer features, and use the life cycle duration corresponding to the first Issue life cycle classification point as the prediction result; Among them, the Issue features include a readability index. The step of determining Issue features according to Issue basic information, Issue developer information, and Issue event information includes: Filter out non-text content in the Issue basic information, Issue developer information, and Issue event information to obtain the text information of each Issue. The text information includes Issue title information, Issue description information, and Issue label information; Calculate the total number of words, the total number of sentences, and the total number of syllables of each Issue according to the text information of the Issue; Substitute the total number of words, the total number of sentences, and the total number of syllables into the first calculation formula to obtain the readability index of each Issue. The first calculation formula is: In the formula, represents the readability index, represents the total number of words, represents the total number of sentences, represents the total number of syllables.
2. The method for constructing a life cycle prediction model according to claim 1, wherein The Issue features include a composite similarity. After the step of filtering out non-text content in the Issue basic information, Issue developer information, and Issue event information to obtain the text information of each Issue, it further includes: Calculate the cosine similarity between each Issue and other Issues belonging to the same project according to the text information of the Issue; Substitute the cosine similarity into the second calculation formula to obtain the composite similarity of each Issue. The second calculation formula is: Among them, represents the composite similarity, i represents the i-th Issue within a certain project, and j represents the j-th Issue within a certain project. represents the title cosine similarity between the i-th Issue and the j-th Issue. represents the description cosine similarity between the i-th Issue and the j-th Issue. represents the topic cosine similarity between the i-th Issue and the j-th Issue. represents the label cosine similarity between the i-th Issue and the j-th Issue. and and and represent the weight coefficients of the title cosine similarity, description cosine similarity, topic cosine similarity, and label cosine similarity respectively.
3. The method for constructing a life cycle prediction model according to claim 1, wherein The developer feature includes a project collaboration correlation degree, and the calculation formula of the project collaboration correlation degree is: In the formula, represents the number of project owners among all participants in a certain Issue, represents the number of project collaborators among all participants in a certain Issue, represents the number of project members among all participants in a certain Issue, represents the number of project contributors among all participants in a certain Issue, represents the number of project assignees among all participants in a certain Issue, represents the number of all participants in a certain Issue, 、 、 、 and respectively represent the weight coefficients of the project owner, project collaborator, project member, project contributor, and project assignee.
4. A device for constructing a life cycle prediction model, characterized in that, It includes: An acquisition unit for acquiring an original data set, where the original data set includes Issue data and project data, the Issue data includes Issue basic information, Issue developer information, and Issue event information, and the project data includes project basic information, project developer information, and project event information; An analysis unit for analyzing the distribution law of the Issue life cycle of the original data set based on the box plot analysis method and the cumulative distribution plot analysis method to obtain multiple Issue life cycle classification points, and each Issue life cycle classification point includes the corresponding life cycle duration; A construction unit for training a classification model based on the Issue data, the project data, and the multiple Issue life cycle classification points to obtain a life cycle prediction model; Among them, the classification model includes a feature mining module and a prediction module. The feature mining module is used to determine project features according to project basic information, project developer information, and project event information, determine Issue features according to Issue basic information, Issue developer information, and Issue event information, and determine developer features according to Issue data and project data. The prediction module is used to screen out the first Issue life cycle classification point corresponding to each Issue from multiple Issue life cycle classification points according to project features, Issue features, and developer features, and use the life cycle duration corresponding to the first Issue life cycle classification point as the prediction result; Among them, the Issue features include readability index, and the feature mining module specifically is used for: Filtering non-text content in the Issue basic information, Issue developer information, and Issue event information to obtain the text information of each Issue, where the text information includes Issue title information, Issue description information, and Issue label information; Calculating the total number of words, the total number of sentences, and the total number of syllables of each Issue according to the text information of the Issue; Substituting the total number of words, the total number of sentences, and the total number of syllables into the first calculation formula to obtain the readability index of each Issue. The first calculation formula is: In the formula, represents the readability index, represents the total number of words, represents the total number of sentences, represents the total number of syllables.
5. The device for constructing a life cycle prediction model according to claim 4, wherein The Issue features include composite similarity, and the feature mining module specifically is further used for: Calculating the cosine similarity between each Issue and other Issues belonging to the same project according to the text information of the Issue; Substituting the cosine similarity into the second calculation formula to obtain the composite similarity of each Issue. The second calculation formula is: Among them, represents the composite similarity, i represents the i-th Issue within a certain project, and j represents the j-th Issue within a certain project. represents the cosine similarity of the titles of the i-th Issue and the j-th Issue. represents the cosine similarity of the descriptions of the i-th Issue and the j-th Issue. represents the cosine similarity of the topics of the i-th Issue and the j-th Issue. represents the cosine similarity of the labels of the i-th Issue and the j-th Issue. , , and represent the weight coefficients of the cosine similarity of the title, the cosine similarity of the description, the cosine similarity of the topic, and the cosine similarity of the label, respectively.
6. The apparatus for constructing a life cycle prediction model according to claim 4, wherein The developer feature includes project collaboration association degree, and the calculation formula of the project collaboration association degree is: Wherein, represents the number of project owners among all the participants of a certain Issue, represents the number of project collaborators among all the participants of a certain Issue, represents the number of project members among all the participants of a certain Issue, represents the number of project contributors among all the participants of a certain Issue, represents the number of project assignees among all the participants of a certain Issue, represents the number of all the participants of a certain Issue, 、 、 、 and respectively represent the weight coefficients of the project owner, project collaborator, project member, project contributor and project assignee.
7. A device for constructing a life cycle prediction model, characterized in that, Including: A memory and a processor. At least one instruction is stored in the memory, and the at least one instruction is loaded and executed by the processor to implement the life cycle prediction model construction method according to any one of claims 1 to 3.
8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the method for constructing a life cycle prediction model according to any one of claims 1 to 3.
Citation Information
Patent Citations
Translation Protocol for Large Discovery Projects
US20140358518A1
Automatic recognition of entities related to cloud incidents
US20220012633A1