代码语料小组目标
关注代码语料的处理,包括github、gitlab等各大代码仓库的最新代码、commit数据、issue数据等的爬取和清洗。
小组任务
1. github issues信息获取
2. github commits信息获取
3. 其他代码托管平台调研
小组成果
github仓库元信息下载:https://github.com/washing1127/publicRepos_mnbvc
github仓库代码下载+语料提取:https://github.com/imgingroot/github_downloader_mnbvc
运行前准备:在剩余空间较大的盘符中新建文件夹,将运行脚本和repos_list.txt文件放入新建的文件夹中;
运行: - windows: 双击运行脚本文件“run.exe”即可开始运行。 - macOS: 命令行输入 `sudo ./run`,点击回车即可。需要输入电脑密码。 - linux:1. 安装依赖`pip install -r requirements.txt`;2. 运行脚本`python3 run.py`;
运行中:程序会首先创建output文件夹,并在其中创建zips文件夹和jsonl文件夹。然后依照运行逻辑下载代码下载仓库的zip文件到zips文件夹下,再将其解压。解压后再提取其中的代码语料到jsonl文件夹下的jsonl文件中中,随后删除下载过的zip文件。jsonl文件每达到500M会打包成zip文件,打包后文件大小约为50M~100M。同时如果下载过程中会有一些已知的错误问题,会被记录到output文件夹下的error.log文件中,不用在意,最后将这个文件和jsonl文件夹下的所有文件一同返回给项目负责人即可。
其他说明:此外,运行是还会在运行脚本统计文件夹下创造.done文件。该文件是记录已经完全处理过的仓库,以防止重复处理的。正常运行时不可更改或删除,如果下载过程中遇到非程序错误的意外操作,需要重新下载的话,可以将output文件夹和这个.done文件一起删除,重新双击脚本运行即可。
代码仓库语料提取:https://github.com/LinnaWang76/githubcode_extractor_mnbvc
googleSourceCode下载:https://github.com/washing1127/googleOpenSourceCode_mnbvc
年度工作总结
2024
数据与语料任务总结
项目开展情况
截至2024年末,MNBVC代码语料组共在8个大型泛代码类平台上成功开展25项分布式爬虫工作、代码语料的提取、打包系列任务和教科书中代码数据识别任务。
其中平台包括GitHub、Google Source、BitBucket、Notabug、Savannah、sr.ht等共6个代码托管平台和Stack Overflow、LeetCode这2个代码相关平台,此外SourceForge经组员前期调研未成功放弃爬虫获取。
爬虫项目包括了在8个代码平台的调研工作和元信息/仓库数据/clone地址的获取方面的共19项任务,GitHub上Code、Commit、Issues部分和BitBucket、Savannah等平台的Code Review方面的共5项任务,Google Source的Code部分、Notabug的数据提取方面的共2项任务,以及sr.ht的代码语料提取任务。
总共27.85TB的纯文本数据,包括代码、配置文件等数据。
项目变动情况
GitHub
截至2024年初,GitHub的Code部分已由washing和water完成平台调研,washing完成了元信息获取,water完成了仓库数据获取代码并由washing进行了Code Review,并进展到了数据下载的阶段;棒负责的Commits和Issues尚未开始,清泠负责Commit获取Code Review,zhange则负责Issues获取Code Review。
2024年,棒完成了GitHub的Commits和Issues的爬虫Coding,3月份washing将组长工作交给子轩。
Commit获取于3月份由清泠移交wxid_salb74o1i4jh21,再于6月份移交纳凉nado完成了编写,于9月份进入Code Review阶段由Ashuy负责,随后交由金子yc进行二次Code Review。
Issues的Code Review工作在3月份由zhange移交智,在5月中旬移交给Jacky咏杰并于6月初完成,在9月初交由八大山人打包验证。
BitBucket
url地址集:https://github.com/L1aoXingyu/bitbucket_download_mnbvc/releases/tag/v0.1
爬虫代码:https://github.com/zwpride/bitbucket_crawl_mnbvc
截至2024年初,BitBucket项目已经完成的工作如下:廖星宇完成了平台调研和仓库数据获取代码,并由智完成了Code Review,廖星宇和washing完成了仓库数据获取测试。
2024年BitBucket的工作进入了获取仓库Git clone 地址以提取语料的阶段,由whyseu 完成了clone地址获取,washing对此进行了核验并确认url获取完毕,整合的url地址集v0.1上传到了Github,5月中旬至6月,Jacky咏杰和zwpride进行了对BitBucket的clone地址爬虫代码的编写以及分布式改造,并将爬虫代码上传至Github,9月份完成了所有数据爬取工作。
Savannah
Savannah的代码还剩下code review的工作,由林夕到王颢,未有进一步反馈随后再转交。
其他爬虫和数据获取情况
专利网爬虫:https://github.com/X-233/wipo_mnbvc
chinaxiv全量爬虫代码:https://github.com/flychen59/chinaxivCrawler_mnbvc
在今年6月份,代码语料小组确立了查找新的非开源语料的方向,并在6月中旬前确立了专利网的爬取任务,于6月末分配给Jacky咏杰,随后转交张林,在9月份爬完所有ipc分类目录,修改代码为本地文件读取,目前由金子yc负责Code Review工作。
10月中旬起,Jacky咏杰负责huggingface的Issues数据获取。
项目完成情况
在8个泛代码平台中,Notabug、Overflow、LeetCode等3个平台的所有爬虫任务工作已完成。而在MNBVC代码语料组的26项爬虫任务中,已完成的有19项,包括前述对于8个平台的调研和基本数据爬取下载;目前还待着手或正在进行中的工作有7项,包括数据提取获取方面的4项任务:GitHub的Code部分的仓库数据获取、Google Source的Code部分的数据提取、BitBucket仓库Git clone 地址下载、sr.ht的代码语料提取,和Code Review方面的3项任务GitHub的Commit获取和Issues获取、Savannah的Code Review。
在非爬虫任务中,代码语料提取、打包工作均已完成,而教科书中代码数据识别已完成了Coding部分,Code Review的工作尚未完成。
项目组人员及贡献情况
成员昵称 | 职业及技能 | 组内情况 | 参与任务 |
子轩 | 职业:算法/后端(前端外全栈);语言:java、scala、python、go;技能:1.分布式计算/存储,2.高并发业务系统架构/开发,3.网站安全防护,4.爬虫/反爬,分布式爬虫,代理复用,5.区块链(eth链),合约,安全,6.机器学习sklearn,7.深度学习/ 强化学习/cv,8.大模型微调/rag/agent,9.硬件/运维 | 现组长 | |
washing | 前大厂外包爬虫,自学nlp,现小厂做算法 | 原代理组长,平时较忙但能联系上,乐意接手组内工作 | Github/Google Source/BitBucket的仓库数据获取和Code Review,代码语料的提取和打包工作,教科书pdf代码数据识别Code Review,5次论文带读 |
water | 中年企业leader,人在山东,掌握go,rust和python | 前组长,对项目有整体方向性的思考,平时较忙难联系 | 定下GitHub代码仓库爬取下载的逻辑,参与仓库数据获取Coding |
🍋 | 参与组内多项多量工作,近期较忙能联系上,有时回复较晚 | 编写和维护code仓库转代码语料的脚本,sr.ht平台调研和clone地址获取 | |
zhange | 一般都能联系上,主要帮忙脚本打包工作 | GitHub的Issues获取Code Review,代码语料打包 | |
廖星宇 | 比较活跃联系方便,为组内做了许多工作,带读论文能力强,热心 | BitBucket的平台调研、仓库数据获取Coding、仓库数据获取测试,2篇论文带读:符尧关于数据论文、Ilya 超级对齐论文 | |
棒 | 能联系上,完成GitHub爬虫工作 | GitHub issues和commits的爬虫代码 | |
智 | 360(?)非算法岗 | 做过一些爬虫和代码review的工作,领读过论文 | BitBucket的仓库数据获取Code Review,Savannah平台调研和仓库数据获取Coding,1次论文带读:AlphaCode2 技术文档,GitHub的Issues获取Code Review |
冬天 | 代码语料组PM,负责组织会议和发布会议消息 | ||
whyseu | 新同学,帮忙跑过一些脚本 | BitBucket仓库Git clone地址获取爬取 | |
zwpride | https://github.com/zwpride | None | BitBucket仓库爬取代码 |
wxid_salb74o1i4jh21 | 新同学,帮忙下载过一个代码托管平台的代码 | GitHub的Commit获取 | |
林夕 | 保研大学生 | 做过代码review的工作 | Notabug平台调研和仓库数据获取Coding、仓库数据获取,Savannah的Code Review |
崔自成 | 组内的测试同学,可以做一些测试或者跑一些脚本 | ||
逃课的人工智能 | 公司leader | 经常联系不上,爬虫热情不高,做过一个pdf中代码片段识别的任务,没有售后 | 教科书pdf中代码数据识别Coding |
王潇Xiao/代码熊猫 | 人在法国(?) | review了pdf代码识别的代码,没有后续。领读过论文,能联系上,但有时差。 | 教科书pdf中代码数据识别Code Review;论文带读:CodeLLama 论文 |
byeah | 之前偶尔能联系上,最近半年失联 | 尝试做过GitHub issues的爬虫,未完成 | |
天空 | 联系上过一次,平台调研未成功 | SourceForge平台调研 | |
清泠 | 参与过项目组一些代码review的工作,目前未能联系上 | GitHub的Commit获取Code Review | |
王颢 | 有一些python基础,之前在RWKV的中文语料小组打过杂 | 新同学 | Savannah的Code Review,未完成;2024年度总结撰写 |
Ryan | 操作系统相关工作 | 新同学,暂没时间,暂未安排过组内任务 | |
Jane·H | water的同事 | ||
项目组外成员致谢
冠:华为代码生成组,代码语料组技术指导
Alan:MNBVC语料增强组组长,帮忙解决一些编码方面的问题。