爬网页、洗数据、创建海量数据集一条龙!英伟达工程师开源工具库

英伟达工程师小姐姐Chip Huyen,在GitHub上开源了一个名为“lazynlp”的工具库。爬网页、清洗数据、创建数据集都可以搞定。

乾明 发自 凹非寺

量子位 报道 | 公众号 QbitAI

想做研究,却没有足够的数据,着实让人抓狂、苦恼。

现在,你可以自己动手创建数据集了。

英伟达工程师小姐姐Chip Huyen,在GitHub上开源了一个名为“lazynlp”的工具库。

爬网页、清洗数据、创建数据集都可以搞定。

她说,使用这个库,你应该能创建一个比大于40G的文本数据集,比OpenAI训练GPT-2时使用的还要大。

爬网页、洗数据、创建海量数据集一条龙!英伟达工程师开源工具库

开源仅一天,项目在GitHub上就获得了300多星,Twitter上获得上千次点赞。fast.ai创始人Jeremy Howard等人也转发推荐。

而且,用这个工具库创建数据集的过程,也并不麻烦。

五步走,一条龙

第一步,获取你想抓取的网页的网址。

小姐姐提供了三个你可以直接拿走使用的网址集合,分别来自Reddit、古腾堡计划(电子书)、维基百科。

当然,你也可以下载自己的。

第二步,删除重复的网址。

网址有很多,重复也在所难免。

这里提供了两种方法,来删除重复的网址。

爬网页、洗数据、创建海量数据集一条龙!英伟达工程师开源工具库

第三步,下载网址内容。

这里提供了两种方法,一种可以并行下载多个文件,另一种可以单独下载网页内容。

如果网址数量比较大,可以将列表分成多个文件的,分别调用函数。

小姐姐说,自己能够并行40个脚本,下载起来也更容易一些。

第四步,清理网页。

这一步有3个方法可以选择,一是使用lazynlp/cleaner.py中的方法,二是直接调用命令行:

lazynlp.clean_page(page)

另外,也可以使用lazynlp.download_pages ( )函数,同时爬网页并清理。

第五步,删除重复网页。

网站下载好了,该清理的东西都清理了,接下来需要去重。

不然就会有一些文本重复出现,从而影响数据集的表现。

小姐姐提供了3个函数,可以帮你完成步骤。

做完这些,你就有自己的NLP数据集了,想干什么就可以放手去做了。

如果你有想法,请收好下面的传送门:

https://github.com/chiphuyen/lazynlp

版权所有,未经授权不得以任何形式转载及使用,违者必究。

相关阅读