Method and system for predicting project development participation in open source community and electronic equipment
Through feature interaction perception enhancement network FIENA, the problem of inability to capture the importance of feature context in the existing technology is solved, and the rapid and accurate prediction of developer participation in the open source community is achieved, and information interaction between developer skills and project attributes is combined to improve prediction accuracy.
Patent Information
- Application Number
- CN202410286740.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-13
- Publication Date
- 2025-07-25
AI Technical Summary
Existing feature interaction technologies cannot effectively capture the different importance of each feature in different contexts when predicting the development of open source community projects, and ignore the consistency and information interaction between developers and project attributes.
The feature interaction perception enhancement network FIENA is used to build the original embedding matrix, and feature relationships are captured using the feature interaction perception module and self-attention mechanism, and context-aware feature representations are generated by combining the complementary selection gate to achieve matching prediction between developers and projects.
It realizes fast and accurate developer participatory prediction, improves feature representation ability in different contexts, combines information interaction between developer skills and project attributes, and improves prediction accuracy.
Smart Images

Figure CN120373508A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of project development information analysis in software engineering, and particularly relates to a method, system and electronic device for predicting project development participation in an open source community. Background Art
[0002] With the advent of the big data era, the importance of feature interaction awareness has increased significantly. Traditional feature engineering methods become less flexible and efficient when facing the potential relationships between high-dimensional data and complex features. Therefore, feature interaction awareness not only covers the scope of feature engineering, but also extends to key tasks such as automated feature extraction, feature selection, model selection, and model interpretation. As the speed of software development increases and the scope of software expands, the number of users in the open source community may increase rapidly. Traditional search and discovery techniques can be used to find projects that match the actual skills of developers. However, when faced with a large number of projects with similar descriptions, developers often have difficulty making a quick and accurate choice from the candidate projects. In this case, the introduction of feature interaction can provide them with more decision-making support and information, helping them better understand the differences and potential values between projects, and thus make more informed choices. Therefore, it can be said that project selection is the topic that attracts the most attention from developers and project providers in the open source community.
[0003] Although existing feature interaction techniques have helped achieve better performance, they still have an inherent problem: most of these methods only learn a fixed representation of each feature without considering the different importance of each feature in different contexts. Few prediction methods attempt to learn the weights of vector-level feature representations to address the problem of fixed feature representations. However, it is unreasonable for these models to only produce linear transformations to refine the fixed feature representations, which are still not flexible enough to capture the different importance of each feature in different environments. Several recent recommendation prediction methods have attempted to learn the vector-level weights of feature representations to solve the problem of fixed feature representations. Input-aware factorization machine (IFM) and Dual Input-aware Factorization Machine (DIFM) proposed a factor estimation network and a dual factor estimation network to improve the factor estimation network by learning the vector-level weights of different feature representations. Similarly, Feature Importance and Bilinear Interaction Network (FiBiNET) uses a squeeze-and-excitation network (SENET) to extract informative features by reweighing the original features. However, in different situations, assigning vector-level weights only to the same features results in a strictly linear relationship between the learned representations of the same features. However, it is unreasonable to only produce linear transformations to refine the fixed feature representations because they are not flexible enough to capture the different importance of each feature in different contexts. Recently, EGate applied an independent multi-layer perceptron MLP to each feature to learn bit-level weights. However, the representation of the same feature remains fixed because it only transforms the representation space. In addition, most models ignore the consistency between the actual skills of developers and the project attributes, as well as the lack of information interaction between them. Summary of the Invention
[0004] To solve the above problems, the present invention provides a method for predicting the participation in project development in an open source community.
[0005] To achieve the above object, the present invention provides the following technical solutions:
[0006] A method for predicting the participation in project development in an open source community, comprising the following steps:
[0007] Obtain the practical skills of developers and the basic attributes of projects, and construct an original embedding matrix E through the practical skills of developers and the basic attributes of projects. All features related to developers and projects in the original embedding matrix E are represented by feature vectors, where each feature vector is assigned a global identifier;
[0008] Input the feature vector to be assigned a global identifier into the Feature Interaction Enhanced Network with Awareness (FIENA) to output a feature representation of participation; predict the project development participation based on the feature representation of participation;
[0009] The step of inputting the feature vector to be assigned a global identifier into the Feature Interaction Enhanced Network with Awareness (FIENA) to output a feature representation of participation is as follows:
[0010] Perform context feature interaction awareness on the feature vectors in the original embedding matrix E through the feature interaction awareness module to obtain the feature interaction awareness matrix W t ;
[0011] Capture the cross-feature relationships between the feature vectors in the original embedding matrix E through the self-attention mechanism unit to obtain the feature relationship matrix Ec;
[0012] Send the feature relationship matrix Ec, the feature interaction awareness matrix W t , and the original embedding matrix E into the complementary selection gate to output a feature representation of participation.
[0013] Preferably, the performing context feature interaction awareness on the feature vectors in the original embedding matrix E through the feature interaction awareness module is specifically:
[0014] Flatten the pre-processed original embedding matrix E ∈ R f×d , associate each feature with a dense vector to achieve its distributed representation, and convert the vector from sparse to dense; R f×d indicates that each element in the original embedding matrix E is a real number, and the matrix has f rows and d columns;
[0015] Among them, the feature interaction awareness is divided into two parts, namely the summation part and the product part; in the summation part, after the vector is converted from sparse to dense, the model sums all the embedding vectors to obtain the first-order feature:
[0016]
[0017] Among them, is the first-order feature representation, E x represents a set composed of non-zero features and their corresponding dense vectors, x i represents the i-th feature of the developer or project, and e i ∈ R d is a d-dimensional vector;
[0018] In the product part, it is obtained by multiplying the elements of the embedding vectors and is used for the second-order interaction between features:
[0019]
[0020] Among them, is a second-order interaction feature representation, C dev represents the second-order interaction feature representation, C proj represents the features of the item.
[0021] Preferably, the second-order interaction between the features is specifically:
[0022] Merge the first-order features and the second-order cross features, that is, calculate the output O of the feature interaction perception vector bit ;
[0023]
[0024] Preferably, the capturing of the cross-feature relationships between the feature vectors in the original embedding matrix E by the self-attention mechanism unit includes the following sub-steps:
[0025] Take the original embedding matrix E ∈ R f×d as the input, and map the input sequence to a new representation form through three linear transformations, and the three linear transformations are query, key, and value respectively;
[0026] Q = EW Q ; K = EW K ; V = EW V
[0027] Among them, Q, K, and V respectively represent the query, key, and value obtained after calculation in the self-attention mechanism; W Q , W K , W V all represent different transformation matrices;
[0028] Calculate the attention scores between each position and other positions to measure their correlation;
[0029] A = K T ·Q
[0030] A' = SoftMax(K T ·Q)
[0031] Among them, K T represents the transpose of the key matrix; perform the SoftMax operation on the A matrix to obtain the A' matrix, and then use the obtained A' and V to calculate the attention matrix on the output of the self-attention mechanism corresponding to each input vector;
[0032] Attention(O, K, V) = A'·V
[0033] Transform the dimension of the output matrix to be the same as that of the input matrix through the projection matrix W P to obtain the output O of the self-attention mechanism unitvec It is expressed as follows:
[0034] O vec = Attention(O, K, V) · W P .
[0035] Preferably, the feature interaction perception module and the self-attention mechanism unit constitute an information mining unit IRU. After obtaining the output O of the feature interaction perception vector bit and the output O of the self-attention mechanism unit vec , directly use O bit to weight the feature representation O vec to obtain the representation of the information mining unit;
[0036] O IRU = O vec ⊙ O bit
[0037] ⊙ represents element-wise multiplication. O vec is the feature representation from the self-attention mechanism unit, which captures cross-feature relationships, and O bit enables each feature representation to be aware of the context information.
[0038] Preferably, the output of the complementary selection gate is the representation of the final feature embedding matrix:
[0039] E final = E ⊙ σ(W t ) + E c ⊙ (1 - σ(W t ))
[0040] where σ(·) is the sigmoid activation function, and E final contains two parts of features: the original embedding matrix E and the feature relationship matrix E c , and these two parts are connected by the selection gate σ(W t ).
[0041] Preferably, the feature interaction perception enhanced network FIENA is evaluated using precision and recall:
[0042]
[0043]
[0044] where TP is the true positive, that is, the number of samples that the model correctly predicts as the positive class; FP is the false positive, that is, the number of samples that the model wrongly predicts the negative class samples as the positive class; FN is the false negative, that is, the number of samples that the model wrongly predicts the positive class samples as the negative class.
[0045] The present invention also provides a prediction system for project development participation in an open source community, including:
[0046] A data acquisition module, configured to acquire the practical skills of developers and the basic attributes of projects, and construct an original embedding matrix E through the practical skills of developers and the basic attributes of projects. All features related to developers and projects in the original embedding matrix E are represented by feature vectors, and each feature vector is assigned a global identifier;
[0047] A participation prediction module, configured to input the feature vectors assigned with global identifiers into a Feature Interaction Perception Enhanced Network (FIENA), and output a feature representation of participation; predict the project development participation according to the feature representation of participation;
[0048] The Feature Interaction Perception Enhanced Network (FIENA) includes:
[0049] A Feature Interaction Perception (FIP) module, configured to perform context feature interaction perception on the feature vectors in the original embedding matrix E to obtain a feature interaction perception matrix W t ;
[0050] A self-attention mechanism unit, configured to capture the cross-feature relationships between the feature vectors in the original embedding matrix E to obtain a feature relationship matrix Ec;
[0051] A complementary selection gate, configured to obtain the feature representation of participation through the feature relationship matrix Ec, the feature interaction perception matrix W t , and the original embedding matrix E.
[0052] The present invention also provides an electronic device, including a memory, a processor, and a computer program stored on the memory. The processor executes the computer program to implement the steps of the above-mentioned prediction method for project development participation in an open source community.
[0053] The prediction method for project development participation in an open source community provided by the present invention has the following beneficial effects:
[0054] The present invention establishes an original embedding matrix through the practical skills of community developers and the basic attributes of projects, and at the same time constructs a Feature Interaction Perception Enhanced Network (FIENA). FIENA not only combines first-order features and second-order cross features to train the embedding vectors, but also uses the self-attention mechanism to capture the cross-feature relationships between all feature pairs to improve the feature representation in different contexts. Moreover, it uses the complementary selection gate to generate context-aware feature interactions by integrating the original embedding matrix and the feature relationship matrix based on bit-level weights, combining the consistency and information interaction between the actual skills of developers and project attributes, and realizing fast and accurate prediction of developers' participation. Description of the Drawings
[0055] To more clearly illustrate the embodiments of the present invention and their design solutions, the accompanying drawings required for this embodiment will be briefly introduced below. The accompanying drawings in the following description are only partial embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.
[0056] Figure 1 is an example diagram of the interaction between developers and projects;
[0057] Figure 2 is a diagram of the Feature Interaction Enhanced Network Awareness (FIENA) model. Detailed implementation manners
[0058] To enable those skilled in the art to better understand the technical solutions of the present invention and be able to implement them, the present invention will be described in detail below with reference to the accompanying drawings and specific embodiments. The following embodiments are only used to more clearly illustrate the technical solutions of the present invention and cannot be used to limit the protection scope of the present invention.
[0059] Embodiment 1
[0060] The present invention proposes a method for predicting the participation in project development in an open-source community. First, a Feature Interaction Enhanced Network Awareness (FIENA) is constructed. To evaluate the performance of the Feature Interaction Enhanced Network Awareness, the present invention uses the SourceForge open-source community dataset. As one of the largest open-source communities, SourceForge has a large amount of open-source project information and attracts the participation of many developers. The experimental data of the present invention comes from FLOSS-mole, which advocates the free download of open-source project data. In the data preprocessing stage, there is a lot of missing or invalid information about developers and projects. Some attribute tables contain incorrect attribute information. Some developers only store personal information that has nothing to do with project information. These developers may be new users or spam accounts. Therefore, the above situations are considered invalid information in the experiment. The present invention combines the dynamic information of the last two months and regards users who do not update information as no longer participating in development. If a project does not update dynamic information, it is considered that the project has terminated or expired, and these projects no longer require developers to develop. The dataset is preprocessed according to the above criteria, and finally the dataset required for the experiment is determined: 11,710 developers, 17,236 projects, 19 audience types, 240 topic types, 7 status types, 60 license types, 22 position types, 59 system types, 72 language types, and 33 database environments.
[0061] The Feature Interaction Enhanced Network with Awareness (FIENA) proposed by the present invention includes two key components: (1) an information mining unit, which can capture context information and cross-feature relationships to guide the improvement of context-aware features. (2) a complementary selection gate, which can adaptively combine the original and complementary feature representations with bit-level weights to achieve context-aware feature representation learning. In the feature interaction awareness of the information mining unit, for data embedding, developers, projects, and context attributes appear in the form of categorical variables after being flattened, indicating readable features that affect task effectiveness. However, each categorical variable implies some potential features, so the embedding task is to map these explicit variables to distributed representations to capture implicit semantics. Considering that the interaction between categorical variables may generate more useful cross-features, the present invention creates a feature interaction awareness to cluster features and reduce model parameters. Also, because the self-attention mechanism can dynamically allocate attention weights, the present invention uses it to better capture context information. Finally, three different inputs from three channels: 1) the feature relationship matrix Ec; 2) the feature interaction awareness matrix Wt; 3) the original embedding matrix E. These are fed into the complementary selection gate to obtain the final feature representation.
[0062] Specifically, as Figure 1 and Figure 2 shown, the prediction method for project development participation in the open source community proposed by the present invention, for each context-aware feature, by learning their bit-level feature representations, realizes capturing the different importance of each feature in different contexts, thereby improving the prediction performance, including the following steps:
[0063] Step 1, obtain the practical skills of developers and the basic attributes of projects, and construct the original embedding matrix E through the practical skills of developers and the basic attributes of projects. All features related to developers and projects in the original embedding matrix E are represented by feature vectors, and each feature vector is assigned a global identifier, specifically as follows:
[0064] The input data is divided into two parts, developers and projects, which respectively contain the practical skills of developers and the basic attributes of projects. An original embedding matrix E is constructed through the practical skills of developers and the basic attributes of projects. For example, the practical skills of developers include what programming languages the developers know (which may be Java, Python, C++, etc.). Assume that developers have language and role attributes, and projects have theme and audience attributes. If there is a historical development record of developer #1 and project #2, this record can be stored as a tuple: [developer, language, position, project, theme, audience] = [DEV1, DLA1, DPO3, PRO2, STO2, SAU3]. To define the input method, the present invention regards all developers and projects, as well as their languages, roles, themes, and audiences, as features. Each feature vector is assigned a global identifier, and the global identifier also indicates the position of the feature in the input vector. In this case, if the i-th feature exists, let x i = 1; otherwise x i = 0. Accordingly, the input vector obtained by the present invention is: x = [10000100100001001000100],
[0065] so it can be known that there are a total of n = 23 different features, and the feature identifiers in the tuple can be written as: [1, 6, 9, 14, 17, 22].
[0066] Step 2: Input the feature vectors assigned with global identifiers into the Feature Interaction and Enhancement Network with Awareness (FIENA), and output the feature representations of participation; predict the project development participation according to the feature representations of participation. Among them, the Feature Interaction and Enhancement Network with Awareness (FIENA) includes a feature interaction and awareness module, a self-attention mechanism unit, and a complementary selection gate.
[0067] Among them, inputting the feature vectors assigned with global identifiers into the Feature Interaction and Enhancement Network with Awareness (FIENA) and outputting the feature representations of participation includes the following sub-steps:
[0068] Step 21: Perform context feature interaction and awareness on the feature vectors in the original embedding matrix E through the feature interaction and awareness module to obtain the feature interaction and awareness matrix W t , including the following sub-steps:
[0069] Step B1: First, flatten the original embedding matrix (E ∈ R f×d ) that has been preprocessed in Step 1, associate each feature with a dense vector to achieve its distributed representation, and convert the vector from sparse to dense. R f×dIt is indicated that each element in the original embedding matrix E is a real number, and this matrix has f rows and d columns; the preprocessing here refers to processing the features that humans can understand into vector features that computers can understand. For example, [JACK, Python, Test] --> [100, 001, 1010, 00001]. Formally, let e i ∈R d be a d-dimensional vector that semantically describes the i-th feature of a developer or a project in the latent space. After the embedding is completed, the present invention obtains a set of size d×n, corresponding to x embedding vectors: E X ={x1e1,..., x i e i}(1≤i≤n). Due to the sparse representation of x, the present invention only needs to include non-zero features as embedding vectors, that is, E x ={x i e i |x i ≠0}.
[0070] Step B2, feature interaction perception is mainly divided into two parts: the summation part and the product part. In the summation part, after the vectors are converted from sparse to dense, the model sums all the embedding vectors to obtain the first-order features, which are used to retain the influence of the first-order features.
[0071]
[0072] Among them, is the first-order feature representation, and E x represents a set composed of non-zero features and their corresponding dense vectors. This set is obtained by multiplying each non-zero feature by its corresponding dense vector. It originally had a description, namely Ex = {x1e1,…,xiei}, x i represents the i-th feature of a developer or a project, and e i ∈R d is a d-dimensional vector.
[0073] Step B3, in the product part, it is obtained by multiplying the elements of the embedding vectors. This part is used to encode the second-order cross features. When the present invention interacts with E x in the embedding setting, the present invention converts a group of embedding vectors into a single vector for the second-order interaction between features.
[0074]
[0075] Among them, is the second-order interaction feature representation, C dev represents the second-order interaction feature representation, and C proj represents the feature of the project.
[0076] The features here are divided into two different subsets: C that contains features of developers and projects respectively dev and C proj . Since the interaction between developers and projects to a certain extent includes the interaction between developers and their attributes, developers and projects, and projects and their attributes. So such processing can reduce the redundancy of cross features and the risk of overfitting caused by a large number of parameters. The time complexity of this operation is O[d(|C dev | + |C proj |)], which means that modeling the pairwise interaction features will not incur any additional cost.
[0077] Step B4, since the combination of first-order features and second-order cross features is beneficial to improving the modeling ability of the neural network, these two parts are further combined, that is, calculating the output O of the feature interaction perception vector bit .
[0078]
[0079] Step 22, capture the cross-feature relationship between feature vectors in the original embedding matrix E through the self-attention mechanism unit to obtain the feature relationship matrix Ec, including the following sub-steps:
[0080] Step C1, the self-attention mechanism improves the feature representation of different contexts by capturing the cross-feature relationship between all feature pairs, so as to realize the feature representation learning of partial context awareness. The self-attention mechanism unit first takes the original embedding matrix (E ∈ R f×d ) as input, and then converts it into three different matrices through three linear transformations (query, key, value).
[0081] Q = EW Q ; K = EW K ; V = EW V (4)
[0082] In the above formula (4), W Q , W K , are transformation matrices.
[0083] Step C2, after mapping the input sequence in Step C1 to a new representation form, calculate the attention scores between each position and other positions to measure their correlation, which is achieved through dot product and SoftMax function operations.
[0084] A = K T ·Q (5)
[0085] A' = SoftMax(K T ·Q) (6)
[0086] Each value in matrix A records the magnitude of the Attention of the corresponding two input vectors. Then, a SoftMax operation is performed on matrix A to obtain A', and the attention matrix on the self-attention mechanism output corresponding to each input vector is calculated using the obtained A' and V in step C1.
[0087] Attention(O, K, V) = A'·V (7)
[0088] Step C3, the present invention uses the projection matrix W P to transform the dimension of the output matrix to be the same as that of the input matrix. The output (O vec ) of the self-attention mechanism unit can be expressed as follows.
[0089] O vec = Attention(O, K, V)·W P (8)
[0090] Step C4, after obtaining the output O bit of the feature interaction perception vector in step B4 and obtaining the output O vec of the self-attention mechanism unit in step C3, the present invention directly uses O bit to weight the feature representation O vec to obtain the representation of the information mining unit.
[0091] O IRU = O vec ⊙O bit (9)
[0092] ⊙ represents element-wise multiplication, O vec is the feature representation from the self-attention mechanism unit, which captures cross-feature relationships, and O bit enables each feature representation to be aware of the context information. The present invention also additionally deploys two independent information mining units: (1) W t learns bit-level weights; (2) E c has complementary features.
[0093] E c = IRU c (E), W t = IRU w (E) (10)
[0094] Step 23, send the feature relationship matrix Ec, the feature interaction perception matrix W t , and the original embedding matrix E into the complementary selection gate to output the participating feature representation, including the following sub-steps:
[0095] Step D1, in the complementary selection gate, the present invention designs a new gating mechanism to control the information flow, and selects important information from the original embedding matrix and the feature interaction perception matrix (complementary features) through bit-level weights. The complementary selection gate has three different inputs from three channels: 1) the feature relationship matrix E c ; 2) the feature interaction perception matrix (weight matrix) W t ; 2) the original embedding matrix E. The output of the complementary selection gate is the representation of the final feature embedding matrix:
[0096] E final = E ⊙ σ(W t ) + E c ⊙ (1 - σ(W t )) (11)
[0097] where σ(·) is the sigmoid activation function. Equation (11) contains two parts of features: the original embedding matrix and the feature interaction perception matrix (complementary features), and these two parts are connected by the selection gate σ(W t ).
[0098] Among them, the present invention uses Pytorch to implement the method of the present invention. All models are learned by optimizing the cross-entropy loss through the Adam optimizer. In this example, Precision and Recall are used for evaluation.
[0099]
[0100]
[0101] Among them, TP is True Positives, that is, the number of samples that the model correctly predicts as the positive class;
[0102] FP is False Positives, that is, the number of samples that the model wrongly predicts the negative class samples as the positive class; FN is False Negatives, that is, the number of samples that the model wrongly predicts the positive class samples as the negative class.
[0103] Considering the impact of data density on the experiment, the data is divided into a training set, a test set, and a validation set according to the ratios of the developer project matrix (MD = 2.5%, MD = 5%, MD = 7.5%, MD = 10%). Then, the experimental results of each method are subjected to triple cross-validation to evaluate the prediction performance. The number of neural network layers in the interaction-aware layer of the FIENA model is set to three, the default learning rate is 0.001, and the dropout rate is set to 0.5. When the recall rate on the validation set stops improving, the present invention uses early stopping to avoid overfitting. The mini-batch size of the experiment of the present invention is set to 4096, and the embedding size of the data set is 20. According to previous work, the present invention adopts the same neural structure (i.e., 3 layers, 400-400-400) for the models involving MLP for fair comparison. Unless otherwise specified, all activation functions are ReLU.
[0104]
[0105]
[0106] After applying the model to FM, by comparing with nine other comparison models, FM FIENA has significantly better effects than other comparison models. FM FIENA The performance in terms of Precision is as follows: it is 4.19% - 10.41% higher than other models at MD = 2.5%, 3.1% - 9.92% higher than other models at MD = 5%, 7.32% - 14.15% higher than other models at MD = 7.5%, and 4.21% - 13.29 higher than other models at MD = 10%. FM FIENA The performance in terms of Recall is as follows: it is 9.67% - 48.97% higher than other models at MD = 2.5%, 7.54% - 42.26% higher than other models at MD = 5%, 4.63 - 34.81 higher than other models at MD = 7.5%, and 8.05 - 24.91 higher than other models at MD = 10%.
[0107] Based on the same inventive concept, the present invention also provides a prediction system for project development participation in an open-source community, including a data acquisition module and a participation prediction module.
[0108] Specifically, the data acquisition module is used to acquire the practical skills of developers and the basic attributes of projects, and construct an original embedding matrix E through the practical skills of developers and the basic attributes of projects. All features related to developers and projects in the original embedding matrix E are represented by feature vectors, and each feature vector is assigned a global identifier.
[0109] The participation prediction module is used to input the feature vectors assigned with global identifiers into the Feature Interaction Perception Enhanced Network (FIENA) to output the participation feature representation; and predict the project development participation based on the participation feature representation.
[0110] The Feature Interaction Perception Enhanced Network (FIENA) includes a Feature Interaction Perception module (FIP), a self-attention mechanism unit, and a complementary selection gate. The Feature Interaction Perception module (FIP) is used to perform context feature interaction perception on the feature vectors in the original embedding matrix E to obtain the feature interaction perception matrix W. t ; The self-attention mechanism unit is used to capture the cross-feature relationships between the feature vectors in the original embedding matrix E to obtain the feature relationship matrix Ec; the complementary selection gate is used to obtain the participation feature representation through the feature relationship matrix Ec, the feature interaction perception matrix W. t and the original embedding matrix E.
[0111] Each module in the above-mentioned prediction system for project development participation in the open source community can be implemented in whole or in part by software, hardware, and their combination. Each of the above modules can be embedded in the processor of the computer device in hardware form or be independent of it, or can be stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to each of the above modules.
[0112] The present invention also provides an electronic device, including a memory, a processor, and a computer program stored on the memory. The processor executes the computer program to implement the steps in the embodiment of the prediction method for project development participation in the open source community described in the embodiment. The specific implementation method can be referred to the method embodiment and will not be elaborated here.
[0113] Those skilled in the art should understand that the embodiments of the present invention can be provided as a method, a system, or a computer program product. Therefore, the present invention can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memories, CD-ROMs, optical memories, etc.) containing computer-usable program codes.
[0114] The present invention 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 invention. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, as well as the combination of flows and / or blocks in the flowcharts and / or block diagrams, can be realized by computer program instructions. These computer program instructions can be provided to the processors of general-purpose computers, special-purpose computers, embedded processors, or other programmable data processing devices to generate a machine, so that the instructions executed by the processors of the computer or other programmable data processing devices generate for realizing the process.Figure 1 means for the functions specified in one or more processes and / or blocks Figure 1 or a plurality of blocks.
[0115] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory produce a manufactured article including an instruction means that implements the functions specified in Figure 1 one or more processes and / or blocks Figure 1 or a plurality of blocks.
[0116] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operational steps are performed on the computer or other programmable device to produce a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide the steps for implementing the functions specified in Figure 1 one or more processes and / or blocks Figure 1 or a plurality of blocks.
[0117] It should be noted that the above-described specific embodiments can enable those skilled in the art to more comprehensively understand the present invention, but do not limit the present invention in any way. Therefore, although this specification and the embodiments have described the present invention in detail, those skilled in the art should understand that the present invention can still be modified or equivalently replaced; and all technical solutions and improvements that do not depart from the spirit and scope of the present invention are covered by the protection scope of the patent of the present invention. Any reference signs in the claims should not be regarded as limiting the claimed claims involved.
Claims
1. A prediction method for project development participation in an open source community, characterized in that, Including the following steps: Obtain the practical skills of the developer and the basic attributes of the project, and construct an original embedding matrix E through the practical skills of the developer and the basic attributes of the project. All features related to the developer and the project in the original embedding matrix E are represented by feature vectors, and each feature vector is assigned a global identifier; Input the feature vectors assigned with global identifiers into the Feature Interaction Enhanced Network with Attention (FIENA) to output the feature representation of participation; predict the participation in project development based on the feature representation of participation; The step of inputting the feature vectors assigned with global identifiers into the Feature Interaction Enhanced Network with Attention (FIENA) to output the feature representation of participation is specifically as follows: The feature interaction perception module performs context feature interaction perception on the feature vectors in the original embedding matrix E to obtain the feature interaction perception matrix W t ; Capture the cross-feature relationships between the feature vectors in the original embedding matrix E through the self-attention mechanism unit to obtain the feature relationship matrix Ec; The feature relationship matrix Ec, the feature interaction perception matrix W t and the original embedding matrix E are fed into the complementary selection gate to output the feature representation of participation.
2. The prediction method for project development participation in an open-source community according to claim 1, wherein The context feature interaction perception of the feature vectors in the original embedding matrix E is specifically carried out through the feature interaction perception module: Flatten the original embedding matrix $E \in \mathbb{R}$ f×d to associate each feature with a dense vector, achieve its distributed representation, and convert the vector from sparse to dense; $\mathbb{R}$ f×d indicates that each element in the original embedding matrix $E$ is a real number, and this matrix has $f$ rows and $d$ columns; Among them, the feature interaction perception is divided into two parts, namely the summation part and the multiplication part; in the summation part, after the vectors are converted from sparse to dense, the model sums all the embedding vectors to obtain the first-order features: Among them, is the first-order feature representation, E x represents a set composed of non-zero features and their corresponding dense vectors, x i represents the i-th feature of the developer or project, e i ∈R d is a d-dimensional vector; In the multiplication part, it is obtained by multiplying the elements of the embedding vectors and is used for the second-order interaction between features: Among them, is the second-order interaction feature representation, C dev represents the second-order interaction feature representation, C proj represents the features of the item.
3. The prediction method for project development participation in an open-source community according to claim 2, wherein The second-order interaction between features is specifically: Combine the first-order features and second-order cross features, that is, calculate the output O of the feature interaction perception vector bit ; 4. The prediction method for project development participation in an open-source community according to claim 3, characterized in that, The capture of the cross-feature relationships between the feature vectors in the original embedding matrix E through the self-attention mechanism unit includes the following sub-steps: Take the original embedding matrix E ∈ R f×d as the input and map the input sequence to a new representation through three linear transformations, namely query, key, and value; Q = EW Q ; K = EW K ; V = EW V Among them, Q, K, and V respectively represent the query, key, and value obtained after calculation in the self-attention mechanism; W Q , W K , W V all represent different transformation matrices; Calculate the attention scores between each position and other positions to measure the correlation between them; A = K T ·Q A' = SoftMax(K T ·Q) Among them, K T represents the transpose of the key matrix; perform a SoftMax operation on the A matrix to obtain the A' matrix, and then use the obtained A' and V to calculate the attention matrix on the self-attention mechanism output corresponding to each input vector; Attention(O, K, V) = A'·V Through the projection matrix W P transform the dimension of the output matrix to be the same as that of the input matrix, and the output O of the self-attention mechanism unit vec is expressed as follows: O vec = Attention(O, K, V) · W P .
5. The prediction method for project development participation in an open-source community according to claim 4, wherein The feature interaction perception module and the self-attention mechanism unit constitute the information mining unit IRU, and after obtaining the output O of the feature interaction perception vector bit and the output O of the self-attention mechanism unit vec , directly use O bit to weight the feature representation O vec to obtain the representation of the information mining unit; O IRU = O vec ⊙O bit ⊙ represents the element-wise product, O vec is the feature representation from the self-attention mechanism unit, which captures cross-feature relationships, O bit enabling each feature representation to be aware of the context information.
6. The prediction method for project development participation in an open-source community according to claim 1, wherein The output of the complementary selection gate is the representation of the final feature embedding matrix: E final = E ⊙ σ(W t ) + E c ⊙ (1 - σ(W t )) Among them, σ(·) is the sigmoid activation function, where E final contains two parts of features: the original embedding matrix E and the feature relationship matrix E c , and these two parts are connected by the selection gate σ(W t ).
7. The prediction method for project development participation in an open-source community according to claim 1, characterized in that Use Precision and Recall to evaluate the Feature Interaction Enhanced Network with Attention (FIENA): Among them, TP is the true positive, that is, the number of samples correctly predicted as the positive class by the model; FP is the false positive, that is, the number of samples that the model wrongly predicts the negative class samples as the positive class; FN is the false negative, that is, the number of samples that the model wrongly predicts the positive class samples as the negative class.
8. A prediction system for project development participation in an open-source community, characterized in that, Including: A data acquisition module, used to obtain the practical skills of the developer and the basic attributes of the project, and construct an original embedding matrix E through the practical skills of the developer and the basic attributes of the project. All features related to the developer and the project in the original embedding matrix E are represented by feature vectors, and each feature vector is assigned a global identifier; A participation prediction module, used to input the feature vectors assigned with global identifiers into the Feature Interaction Enhanced Network with Attention (FIENA) to output the feature representation of participation; Predict the participation in project development based on the feature representation of participation; The Feature Interaction Enhanced Network with Attention (FIENA) includes: The Feature Interaction Perception module FIP is used to perform context feature interaction perception on the feature vectors in the original embedding matrix E to obtain the feature interaction perception matrix W t ; A self-attention mechanism unit, used to capture the cross-feature relationships between the feature vectors in the original embedding matrix E to obtain the feature relationship matrix Ec; Complementary selection gate for obtaining the participatory feature representation through the feature relationship matrix Ec, the feature interaction perception matrix W t and the original embedding matrix E.
9. An electronic device, comprising a memory, a processor, and a computer program stored on the memory, characterized in that, The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 7.