Competitive programming remains a very popular activity that combines both software engineering and education. In order to prepare and to practice, contestants use extensive archives of problems from past contents available on various competitive programming platforms. One way to make this process more effective is to provide an automatic tag system for the tasks. Prior works do that by either using the tasks' problem statements or the code of their solutions. In this study, we investigate which information source is more valuable for tag prediction. To answer that question, we compare existing approaches of both types on the same dataset and with the same set of tags. Then, we propose a novel approach, which is an ensemble of the Gated Graph Neural Network model for analyzing solutions and the Bidirectional Encoder Representations from Transformers model for processing statements. Our experiments show that our approach outperforms previously proposed models by 0.175 of the PR-AUC metric.
翻译:竞争性编程仍然是将软件工程和教育结合起来的一项非常受欢迎的活动。为了准备和实践,参赛者使用各种竞争性编程平台上现有过去内容的大量问题档案。使这一过程更加有效的一种方法是为任务提供一个自动标签系统。以前的工作是通过使用任务的问题说明或其解决办法的代码来这样做的。在这项研究中,我们调查哪些信息来源对标签预测更有价值。为了回答这个问题,我们比较了同一数据集和同一组标签上两种类型的现有方法。然后,我们提出了一个新颖的方法,这是用于分析解决方案的Gate Grad Neal网络模型和用于处理报表的变换者模型的双向编码显示的组合模型的组合。我们的实验表明,我们的方法比原先由PR-ACC指标0.175提出的模型要好。