GitHub 开启了使用机器学习进行代码搜索和分析的开发

GitHub上 提交 项目 代码搜索网,准备了解析、分类和分析各种编程语言代码所需的机器学习模型和数据集。 CodeSearchNet,类似于 影像网,包括大量带有注释的代码片段,这些注释正式化了代码的功能。 训练模型的组件和使用 CodeSearchNet 的示例是使用 Tensorflow 框架用 Python 编写的, 分发者 在麻省理工学院的许可下。

创建 CodeSearchNet 时,使用了自然语言文本解析技术,使机器学习系统不仅能够考虑语法特征,还能够考虑代码执行的操作的含义。 GitHub系统 申请 在使用查询组织语义代码搜索的实验中 自然语言 (例如,当请求“对字符串列表进行排序”时,会显示相应算法的实现代码)。

拟议的数据集包括超过 2 万个代码注释链接,这些链接是根据现有开放库的源文本准备的。 代码涵盖了各个函数或方法的完整源文本,注释描述了函数执行的操作(提供了详细文档)。 目前,数据集已为 Python、JavaScript、Ruby、Go、Java 和 PHP 准备。 提供了使用所提出的数据集来训练各种类型的神经网络的示例,包括 神经词袋法, RNN, 自我关注 (伯特)和 1D-CNN+自注意力混合.

为了开发自然语言搜索机制,还额外准备了一套CodeSearchNet Challenge,包括
99 典型值 具有约 4 个专家注释的查询,描述了 CodeSearchNet 语料库数据集中最有可能的代码绑定,涵盖约 6 万个方法和函数(设置尺寸 约 20 GB)。 CodeSearchNet 挑战赛可以作为评估某些自然语言代码搜索方法有效性的基准。 使用工具 Kubeflow 准备好的
例子 代码搜索引擎。

来源: opennet.ru

添加评论