CROKAGE帮助开发人员找到Stack Overflow答案
许多开发人员转向Stack Overflow来提问,分享编程知识并向他人学习,但在线社区提供的信息量可能非常大。为了解决这个问题,一组研究人员开发了人群知识答案生成器(CROKAGE),这是一种新的解决方案,旨在帮助开发人员轻松找到有关Stack Overflow的相关信息和解释。
“开发人员经常在网上搜索相关的代码示例来完成编程任务。不幸的是,他们面临两个主要问题。首先,由于查询(任务描述)与与解决方案相关的信息之间存在词汇差异,因此搜索受损。其次,检索到的解决方案可能不全面,即代码段可能会错过简洁的解释。研究人员在一篇论文中写道,这些问题使得开发人员可以浏览数十个文档,以便合成一个合适的解决方案。
为了解决这个问题,CROKAGE旨在将编程任务的描述作为查询,然后提供相关的代码片段和解释,以便开发人员可以轻松地在他们的项目中使用代码。
为了开发CORKAGE,团队使用FastText培训了一个词嵌入模型,使用来自网站的数百万个Q&A线程作为“训练语料库”,并扩展了自然语言查询,包括独特的开源软件库和功能术语。
根据该团队的说法,CROKAGE优于六个基线,包括最先进的研究工具BIKER,并且在建议的代码示例的相关性,代码解释的好处以及整体解决方案质量方面产生了比BIKER更好的结果(代码+解释)。
“结合相关的代码和相应的解释很可能有助于开发人员理解他们的问题的解决方案以及如何最好地在实践中实现该代码,”Stack Overflow的内容主管Ben Popper在博客文章中写道。
但是,Popper补充说,CROKAGE仍然有一些限制,如果查询的表述很差,工具就不会建议如何改进查询。
“与任何其他搜索工具一样,结果虽然令人鼓舞,但并不完美,”波普尔写道。“该团队仍在调查其他因素,这些因素不仅可以帮助找到更高质量的答案,还可以改善作为最终结果提供的综合解决方案。”
该解决方案目前仅限于Java查询,但研究人员希望尽快向公众开放扩展版本。原始论文中提供了更多信息。
开发者可以通过 http://www.isel.ufu.br:9000 体验该功能。