You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 5.3 kB

4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # DataCollector
  2. DataCollector项目主要介绍NLP预训练模型训练数据集资源、数据清洗过滤方法。
  3. <!-- [[1.数据集资源](#数据集资源)] -->
  4. [[网页数据介绍及清洗过滤方法](#网页数据介绍及清洗过滤方法)]
  5. - Common Crawl介绍
  6. - Common Crawl数据格式
  7. <!-- - (2)Common Crawl数据统计 -->
  8. <!-- - (3)已有基于Common Crawl数据的研究工作 -->
  9. - 基于common crawl WET格式原始数据清洗过滤方法
  10. - (1)不同语言数据分类过滤
  11. - (2)基于规则的过滤
  12. - (3)基于分类模型的垃圾数据过滤
  13. - (4)数据去重方法
  14. [[加入鹏程·PanGu-α微信交流群](#微信交流群)]
  15. <!--
  16. # 数据集资源
  17. | 序号 | 数据集 | 数据集大小 |数据集说明|
  18. | :-------------- | :---- | :------------------------------------------------------------ |:-------------------- |
  19. | 1 | CLUECorpus2020 |100G |来自CLUE官方搜集 |
  20. | 2 | CLUECorpus2020-14G |14G |来自wiki_zh_2019、webtext2019zh、new2016zh、comments2019四个开放数据集的合集 |
  21. | 3 | Sogou-CA |3.2G |搜狗新闻语料数据集 |
  22. | 4 | THUCNews |7.2G |清华新闻数据,包括14个类别:体育、娱乐、家居、彩票、房产、教育、时尚、时政、星座、游戏、社会、科技、股票、财经 | -->
  23. # 网页数据介绍及清洗过滤方法
  24. ## Common Crawl介绍
  25. ### Common Crawl数据格式
  26. >Common Crawl网站提供了包含上百亿网页数据的免费数据库,并希望这项服务能激发更多新的研究或在线服务。Common Crawl原始数据包括三种格式:WARC、WAT、WET。
  27. >
  28. >>WARC:WARC格式是抓取的原始数据,提供了到抓取过程的直接映射。该格式不仅存储了它联系的网站的HTTP响应(WARC-Type: response),它还存储了关于该信息是如何被请求的信息(WARC-Type: request)和抓取过程本身的元数据(WARC-Type: metadata)。
  29. >>WAT:WAT格式以JSON格式存储, WAT文件包含关于上面以WARC格式存储的记录的重要元数据。该元数据是为这三种类型的记录(元数据、请求和响应)中的每一种计算的。如果爬行的信息是HTML,计算的元数据包括返回的HTTP头和页面上列出的链接(包括链接的类型)。
  30. >>WET:由于许多任务只需要文本信息,普通抓取数据集提供了只包含提取的明文的湿文件。以WET格式存储文本数据的方法非常简单。WARC元数据包含各种细节,包括URL和明文数据的长度,明文数据紧随其后。
  31. <!-- ### (2)Common Crawl数据统计
  32. >Common crawl针对原始网页数据进行了多个维度的分析统计工作,相关的统计分析参考[cc-crawl-statistics](https://commoncrawl.github.io/cc-crawl-statistics/)网站,如:
  33. 截止2020年底累积网页数统计如下图,当目前已经累积约200亿网页。
  34. <img src="./docs/CC_total_size.png" width="550" height="400"/><br/>
  35. 每月发布的爬取页面数量统计图:
  36. <img src="./docs/CC_data_size_stat.png" width="550" height="400"/><br/>
  37. Common Crawl网页中域名分布图:
  38. <img src="./docs/CC_domain.png" width="550" height="400"/><br/>
  39. Common Crawl数据中各种语言比例统计表(部分):
  40. <img src="./docs/CC_language.png" width="450" height="600"/><br/>
  41. ### (3)已有基于Common Crawl数据的研究工作
  42. 目前已经有相当多的基于common crawl数据进行数据抽取、算法研究等相关工作:
  43. - [Extracting Job Ads from Common Crawl](https://skeptric.com/common-crawl-job-ads/)
  44. - [构建大规模新闻数据集](https://doi.org/10.1145/3340531.3412762)
  45. - [多语言语料构建](https://arxiv.org/abs/2104.08758)
  46. - [More](https://commoncrawl.org/the-data/examples/) -->
  47. ## 基于common crawl WET格式原始数据清洗过滤方法
  48. ### 不同语言数据分类过滤
  49. 通过不同语言的Unicode编码范围可以快速过滤出相应语言的网页,[languageExtract.py](./src/languageExtract.py)提供了同时抽取多种语言单语言语料的工具。在实际数据抽取中可能还需要同时考虑原始数据的编码格式、网页结构等因素,构建网页黑白名单等方法提高数据抽取效率和数据的质量。除此之外也可以考虑采用文本分类模型等方式进行过滤。
  50. ### 基于规则的过滤
  51. Common Crawl数据包含较多各种类型的垃圾,如特殊符号、广告、网页标题,通过数据特点构建相应的数据清洗规则往往能比较好的提高数据质量。
  52. ### 基于分类模型的垃圾数据过滤
  53. 通过上述两个步骤形成的文本数据往往仍然包含大量敏感、黄色、广告等信息,我们通过基于[Fasttext](./src/3-JunkDataFilter)的文本分类模型、关键词等方法对于敏感、黄色、广告等文本信息进行了过滤。
  54. ### 大规模数据去重方法
  55. 网页内部、不同网页之间均存在文本完全重复的情形,基于Hadoop+Spark平台采用[HashTF+MiniHashLSH](./src/)算法对数据在段落粒度做了文本去重。
  56. ## 微信交流群
  57. 添加微信入鹏程.盘古α交流群:<img src="./docs/个人微信.jpg" width="270"/><br/>
  58. <img src="./docs/交流群00.jpg" width="270"/><br/>

No Description

Contributors (1)