当前位置: 首页 > 行业资讯 > Stack Overflow 引入 CROKAGE,搜问题不用再东拼西凑
Stack Overflow 引入 CROKAGE,搜问题不用再东拼西凑
2019-08-20 作者开源中国 浏览次数2950

许多开发者使用 Stack Overflow 搜索开发中遇到的问题,有时候需要查询的结果中有通俗的讲解,而且最好还能够带上代码 demo,但是两者同时很完美地满足要求还是比较困难的。不过最近 Stack Overflow 官方博客上介绍了一种智能化的技术,或许可以解决这一问题。

新技术名叫 CROKAGE(Crowd Knowledge Answer Generator,群众知识答案生成器),它来源于今年早些时候一个计算机科学研究小组发表的一篇论文,CROKAGE 可以将提问作为查询,然后返回相关的、全面的编程解决方案,所谓全面,就是说它不仅有代码片段,还包括简洁的自然语言解释,这样开发者就不用在众多的答案中拼凑出一个解决方案。

CROKAGE 使用 Stack Overflow 上的数百万个 Q&A 作为训练语料库进行训练,还扩展了自然语言查询(任务描述),包括从 Stack Overflow 中仔细挖掘出来的独特的开源软件库和功能术语。

对于返回来的候选答案,研究人员组合了四个加权因子进行排序,他们利用传统的信息检索(IR)指标,如 TF-IDF 和非对称相关性,同时为了适应 Stack Overflow 的环境,还采用了非常适合软件特定文档的针对性排序机制。

简单来讲,整个运作机制如前边的图片所示,主要分为几个步骤:

  • A、语料库准备

  • B、构建模型,map、索引

  • C、搜索相关答案

  • D、整合编程解决方案

研究团队还对结果进行了对比,如下图所示,在对比中,CROKAGE 给出的建议答案中,代码示例的相关性、代码解释的清晰度以及整体解决方案的质量(也就是代码+解释的整体质量),比目前最先进的工具产出了更好的结果。

目前 CROKAGE 还有一些局限性,比如它仅支持 Java 语言的相关查询,而且如果问题描述比较差,那工具也无法给出如何改进的建议。

开发者可以通过 http://www.isel.ufu.br:9000 体验该功能。

关于该功能的更多信息,查看:

  • https://stackoverflow.blog/2019/08/14/crokage-a-new-way-to-search-stack-overflow

  • https://dl.acm.org/citation.cfm?id=3339130

文章转载自 OSCHINA 社区 



好文推荐:

2019年最流行的五大JavaScript 自动化测试框架

测试人的福音:超实用的自动化测试平台推荐

测试人员必备:全球最好用的7款Bug管理软件

印象笔记被曝严重Bug,数百万用户数据恐遭泄露!

细数那些让玩家心情复杂的游戏Bug

咨询软件测试