一句话:提出 ISPY,用 NLP 与深度学习从开发者实时聊天中自动抽取 issue-solution 对。
社区实时聊天包含开发者的问题及解决方案,但对话交错且噪声大,难以自动抽取。本文形式化从开发者实时聊天中抽取 issue-solution 对的问题,提出 ISPY:前馈网络解耦聊天记录为独立对话;含 BERT 话语嵌入和上下文感知对话嵌入的 CNN 检测 issue 对话;同结构 CNN 抽取话语组合为 solution。在 750 个对话(171 个 issue-solution 对)及 8 个开源社区上,issue 检测 F1 为 76%,超基线 30%;solution 抽取 F1 为 63%,超基线 20%。另在 3 个新社区评估并发布 11 个社区的 3 万余 issue-solution 对。
Collaborative live chats are gaining popularity as a development communication tool. In community live chatting, developers are likely to post issues they encountered (e.g., setup issues and compile issues), and other developers respond with possible solutions. Therefore, community live chats contain rich sets of information for reported issues and their corresponding solutions, which can be quite useful for knowledge sharing and future reuse if extracted and restored in time. However, it remains challenging to accurately mine such knowledge due to the noisy nature of interleaved dialogs in live chat data. In this paper, we first formulate the problem of issue-solution pair extraction from developer live chat data, and propose an automated approach, named ISPY, based on natural language processing and deep learning techniques with customized enhancements, to address the problem. Specifically, ISPY automates three tasks: 1) Disentangle live chat logs, employing a feedforward neural network to disentangle a conversation history into separate dialogs automatically; 2) Detect dialogs discussing issues, using a novel convolutional neural network (CNN), which consists of a BERT-based utterance embedding layer, a context-aware dialog embedding layer, and an output layer; 3) Extract appropriate utterances and combine them as corresponding solutions, based on the same CNN structure but with different feeding inputs. To evaluate ISPY, we compare it with six baselines, utilizing a dataset with 750 dialogs including 171 issue-solution pairs and evaluate ISPY from eight open source communities. The results show that, for issue-detection, our approach achieves the F1 of 76%, and outperforms all baselines by 30%. Our approach achieves the F1 of 63% for solution-extraction and outperforms the baselines by 20%. Furthermore, we apply ISPY on three new communities to extensively evaluate ISPY’s practical usage. Moreover, we publish over 30K issue-solution pairs extracted from 11 communities. We believe that ISPY can facilitate community-based software development by promoting knowledge sharing and shortening the issue-resolving process.
DOI 原文 ·
@inproceedings{paperbot6594,
title = {ISPY: Automatic Issue-Solution Pair Extraction from Community Live Chats},
author = {Lin Shi and Ziyou Jiang and Ye Yang and Xiao Chen and Yumin Zhang and Fangwen Mu and Hanzhi Jiang and Qing Wang},
booktitle = {ASE},
year = {2021},
doi = {10.1109/ase51524.2021.9678894}
}