Stack Overflow引入CROKAGE,搜问题不用再东拼西凑

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

640?wx_fmt=png

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


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


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


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

  • A、语料库准备

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

  • C、搜索相关答案

  • D、整合编程解决方案

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

640?wx_fmt=png

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


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

640?wx_fmt=png

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/314295.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P2487 [SDOI2011]拦截导弹(cdq分治/计数问题思想)

P2487 [SDOI2011]拦截导弹 求解二维上的LIS,并且要求出每个点的选中概率。 首先对于每个点的选中概率,可以通过方案数计算,那么就是选中它的方案数除以总方案数。关键在于选中它的方案数怎么求,可以通过以它开头的LIS方案数和以…

dsu on tree 题集 + ac代码

文章目录**入门讲解****[600E - Lomsat gelral](https://codeforces.ml/problemset/problem/600/E)****[树上数颜色](https://www.luogu.org/problemnew/show/U41492)****[570D - Tree Requests](https://codeforces.ml/problemset/problem/570/D)****[ 阔力梯的树](https://ac…

使用Kubectl部署应用

目录 使用Kubectl部署应用 Kubectl部署流程 部署一个简单的Demo网站 使用Kubectl部署应用一旦运行了Kubernetes集群,就可以在其上部署容器化应用程序。因此在开始之前,我们需要先确保集群已经准备就绪,无论是使用Minikube还是kubeadm创建的集…

SP22343 NORMA2 - Norma(分治优化复杂度)

SP22343 NORMA2 - Norma 一看就像是一个序列分治的题目,求解序列上区间长度乘区间最大值最小值的和,然后考虑如何处理,分治之后每次就可以将右边部分分成三部分,然后对于这三部分可以批量求和,这样就起到优化复杂度的…

Docker系列之.NET Core入门(三)

在Docker生态系统中除了上一节所讲解的基本概念,还有其他专业术语,本文我们将一笔带过,同时会开始陆续进入到在.NET Core中使用Docker。专业术语Docker Engine(Docker引擎):客户端 - 服务器应用程序。Docke…

P3911 最小公倍数之和 (atcoder C - LCMs)(反演)

P3911 最小公倍数之和 推式子 ∑i1n∑j1nlcm(ai,aj)下面的nmax(ai),ci为i在原数组中出现的次数∑i1n∑j1nijgcd(ij)cicj∑d1n1d∑i1n∑j1nijcicj(gcd(i,j)d)∑d1nd∑i1nd∑j1ndijcidcjd∑k∣gcd(i,j)μ(k)∑d1nd∑k1ndμ(k)k2∑i1nkd∑j1nkdijcikdcjkd∑t1nt(∑i1n…

P5502 [JSOI2015]最大公约数(gcd性质/min性质/分治)

P5502 [JSOI2015]最大公约数 对于求解(r-l1)*gcd(l,r)的最大值,首先我们有一个性质,就是一个前缀的gcd本质不同个数只有log个,所以我们可以利用这个性质,然后每次分治处理,每一层的复杂度可以做到O(n)因为枚举前缀后缀…

2019南昌网络赛G. tsy‘s number(反演 + 积性函数O(n)预处理)

tsy’s number 推式子 ∑i1n∑j1n∑k1nϕ(i)ϕ(j2)ϕ(k3)ϕ(i)ϕ(j)ϕ(k)ϕ(gcd(i,j,k))我们假定jp1k1p2k2p3p3……pnkn,有ϕ(j)p1k1−1(p1−1)p2k2−1(p2−1)p3k3−1(p3−1)……pnkn−1(pn−1),ϕ(j2)p12k1−1(p1−1)p22k2−1(p2−1)p32k3−1(p3−1)……

#2989. 数列(cdq分治/曼哈顿距离)

#2989. 数列 给定一个长度为n的正整数数列a[i]。 定义2个位置的graze值为两者位置差与数值差的和,即graze(x,y)|x-y||a[x]-a[y]|。 2种操作(k都是正整数): 1.Modify x k:将第x个数的值修改为k。 2.Query x k&#xff…

通过Blazor使用C#开发SPA单页面应用程序(4) - Ant Design

通过Blazor使用C#开发SPA单页面应用程序(1)通过Blazor使用C#开发SPA单页面应用程序(2)通过Blazor使用C#开发SPA单页面应用程序(3)前面学习了Blazor的特点、环境搭建及基础知识,现在我们尝试的做个实际的组件。Ant Design是蚂蚁金服是基于Ant Design设计体系的 UI 组…

POJ 1741 Tree(点分治)

POJ 1741 Tree 思路 男人八题中的一题,写完这题算是18\frac{1}{8}81​个男人了! 这题是树上距离的计数问题,能够通过巧妙地排序加双指针来解决, 统计距离应该大家都会地,我就来说明一下如何计数吧。 假设我们已经求…

P1975 [国家集训队]排队(三维偏序)

P1975 [国家集训队]排队 查询逆序对数目,交换两个数的位置 首先逆序对是一个经典的二维偏序问题,然后现在问题变为静态,我们可以使用三维偏序来处理多出来的限制。或者也可以使用带修主席树处理。

Mercurial黄昏,Bitbucket宣布全面转向Git

源代码托管平台 Bitbucket 宣布将逐步放弃对版本控制系统 Mercurial 的支持。Bitbucket 推出于 2008 年,当时集中式版本控制是比较普遍的,Mercurial 是其中的典型代表,但是当前 Git 才是主流,它已经成为了大部分开源项目的首选版本…

HDU 4812 D Tree (点分治) (2013ACM/ICPC亚洲区南京站现场赛)

HDU 4812 D Tree 思路 点对距离相等并且要求输出字典序最小的点对,距离相等不就是点分治裸题了嘛, 照着这个思路出发我们只要记录下所有点对是满足要求的,然后再去找字典序最小的点对就行了, 接下来就是考虑如何求最小点对了&…

P2754 [CTSC1999]家园 / 星际转移问题(网络流)

P2754 [CTSC1999]家园 / 星际转移问题 经典问题,利用分层图来跑网络流。

使用 Azure DevTest Lab 搭建云端开发测试环境

点击上方蓝字关注“汪宇杰博客”导语程序员和测试工程师经常需要自己搭环境用于开发和测试目的,这些机器可能只会使用很短一段时间。通常我们会在本机使用 Hyper-V、VMWare 之类的虚拟机产品,或者使用企业IT管理员分配的虚拟机去完成这项工作。然而安装配…

dotNET Core WebAPI 统一处理(返回值、参数验证、异常)

现在 Web 开发比较流行前后端分离现在 Web 开发比较流行前后端分离,我们的产品也是一样,前端使用Vue,后端使用 dotNet Core WebAPI ,在写 API 的过程中有很多地方需要统一处理文档参数验证返回值异常处理本文就说说 API 的统一处理…

HDU 4059 The Boss on Mars (容斥)(2011 Asia Dalian Regional Contest)

The Boss on Mars 思路 显然我们可以求得∑i1ni46n515n410n3−n30\sum_{i 1} ^{n} i ^ 4 \frac{6n^5 15n^4 10n ^3 - n}{30}∑i1n​i4306n515n410n3−n​,接下来就是考虑把其中不与nnn互质的数给踢出去了,显然我们可以考虑容斥。 假设np1a1p2a2p3…

P2764 最小路径覆盖问题(网络流)

P2764 最小路径覆盖问题 最小链覆盖问题,关键在于怎么转化为网络流问题,我们可以发现网络流的常见套路就是将一个点拆成出点和入点来处理,对于一条链恰好满足出点和入点匹配的性质,所以可以拆点然后对应连边,这样跑最…