Skip to content

Graph Neural Networks for Expertise Classification on Stack Overflow

Notifications You must be signed in to change notification settings

liamhbyrne/Graph4StackOverflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

Graph4StackOverflow

Graph Neural Networks for Expertise Classification on Stack Overflow
Liam Byrne

Report Bug · Request Feature

About The Project

Stack Overflow is a widely-used platform for programmers to ask and find answers to their questions. This project presents two Graph Neural Network (GNN) models, one for identifying expert users who can provide high-quality answers to questions and another for ranking the answers based on the expertise of each user. This project creates the “user graph”; which is a novel graph construction method for representing a user’s contributions to the platform that captures their technical expertise. Heterogeneous GAT and GraphSAGE models are developed to operate directly on the graph structure to predict whether a user will provide a high-quality answer. Experimental results show that the GNN models outperform conventional deep learning methods for upvote classification and achieve an impressive weighted-F1 score of 0.781. Moreover, the GraphSAGE model achieves a P@1 score of 0.395 for accepted answer prediction, which is competitive withthe state-of-the-art approaches. Analysis into the performance-overhead tradeoff was carried out and it has been concluded feasible for Stack Exchange to implement recommendation engines that utilize graph-based models. These outcomes have the potential to make a significant contribution towards improving the quality of answers on Stack Overflow and hold the potential to further enhance the platform.

Built upon

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

Installation

  1. Clone the repo

    git clone https://github.com/liamhbyrne/Graph4StackOverflow.git
  2. Create Anaconda environment from YAML file.

    conda env create --file=env.yml

(back to top)

Contact

Liam Byrne - LinkedIn - lhb1g20@soton.ac.uk

Project Link: https://github.com/liamhbyrne/Graph4StackOverflow/

(back to top)

About

Graph Neural Networks for Expertise Classification on Stack Overflow

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published