文本首发于AI柠檬博客,原文链接:https://blog.ailemon.net/2017/02/17/how-to-collect-data-for-machine-learning/


我最近因为学习机器学习并且想要做一些实践项目而打算收集一些数据来做机器学习,但是发现,数据不是你想找,想找就能找的。在机器学习方面,用于训练的数据对于整个机器学习进程的重要意义自然不言而喻,而数据问题涉及到收集、存储、表示以及规模和错误率等多个方面。关于数据,我想谈一谈数据的收集问题。

如何收集数据呢?我们绝大部分情况下,收集数据的途径无非以下几种:

一、在网上收集下载公开的免费数据

这是很多人的第一反应,当然,这是很正常的,既免费又好的数据谁不想要?然而实际情况并不乐观,免费数据要么是难以寻找,要么是数据量太小,要么就是不符合需求。比如,我想做中文的自然语言处理方面的一些机器学习,然而浏览了大量的网站之后,发现所能找到的仅有的数据都是关于英文的数据,而用来做中文方面的中文数据难以寻找。有些网站写着免费下载中文数据,然而那里并没有数据。

如果是纯文本的数据还好说,自己写一个爬虫程序,然后运行。比如,如果是实现新闻文本分类的,那么从各大新闻网站直接爬取即可。即使这样,很多想要的功能还是难以实现,比如做机器翻译,需要中英文文本对照,自然状态下并没有这样的数据。

二、购买专业数据公司的数据

这种方法的优劣我不做评价,毕竟你有数据我有钱,大家都高兴。专业的数据公司国内互联网上就有一家算得上是挺知名的,还有各个大公司大企业等,他们自身因为在所在行业的地位,通过各种手段能够收集到大量的数据。他们有足够的人手来管理数据,所以数据的质量一般都是有保证的。这个方法其实当然是很不错的,只要你有钱就行

我看过那家数据公司的数据购买价格,数据量稍微量多一点就是上万元的价格,作为一名普通的程序猿,购买数据的话基本上可以几个月不吃不喝了。

不过,在语音识别方面的大多数数据集都是有版权的,收集的公司因为这些数据获得了大量的利益,但在这一领域里,许多可用的数据集都是比较旧的。

三、自己根据需要和实际情况制造或从身边收集数据

既然购买数据辣么贵,辣么我们自己搞定行不行?O(∩_∩)O

在所需数据量不大的情况下,比如只是几十或者几百个,完全可以通过这种方法来获得数据,然后自己就安心地去训练机器去吧。优点很明显,成本低,随意性高;但是缺点也是很突出的,一个人的精力是有限的,个人的力量不可能收集成千上万乃至几十万几百万的数据量,而实际机器学习的应用往往就是需要如此之多的数据。少量的数据做一些简单的模型(如线性回归或者特征较少的对数几率回归等)尚可,对于类似于使用神经网络实现图像识别的机器学习任务,这种方法显然不合适。

四、自己出钱让别人根据需求一起帮你收集所需要的数据

这种方法相比上面那一种来说,最重要的一点就在于人多力量大,众人拾柴火焰高嘛。当然别人不是白白帮你的,你需要给他们一些报酬,不过相比于购买数据,如果你给每个人的报酬合适的话,成本也算很低了。

这样子确实比较兴师动众,你一个人为了做一些实验,然后让一大群人来帮你,前提也是能有一群人愿意帮你,只要你人缘好,然后能说动他们,不过缺点也正是在于此,而且还需要注意数据的质量。不过这种方法综合下来算是成本较低的,但是需要付出多种类型的成本,除了钱以外,还有比如时间成本、人力组织成本以及人际关系网络等。

我们还有其他的收集数据的方法,只不过一般情况下并不可行。比如,我们自己开发一款浏览器或者新闻APP来收集用户的阅读偏好,通过这些数据来实现一个推荐系统,或者拍照APP收集用户拍摄的照片,并分类,实现一个图像识别和分类的系统等。为了做语音识别,通过已有的可用API和软件,进行文字转语音或者语音转文本从而得到训练数据,再用这些数据来训练机器学习模型。类似的方法还有很多,但是基本上要么是不现实(如通过有大量用户的APP收集数据),要么是不太正义(比如APP收集数据很多情况下侵犯个人隐私),要么就是不符合“科研精神”(数据是造出来的而不是来源于真实世界中)。

但是,长期下去仅仅依靠以上的方法也总归不是个事啊。开源软件是一个大社区,那里有着来自世界各地的计算机软件高手写的各种各样的代码,只要我们遵守开源协议,将程序下载、编译、安装,然后我们就可以尽情的自由使用了,这个过程很容易,然而在人工智能方面却遇到了问题。

人工智能是数据驱动的,我们有开源的TensorFlow, Caffe, CNTK, Torch等人工智能引擎,但是,没有数据就没有机器学习模型,也就等于没有了软件,因为引擎仅仅是引擎,不能成为成品,而且软件的定义是程序+数据,二者缺一不可。我们通常所理解的软件仅仅指程序,那是狭义的软件,这也是以前数据“不重要”的特性导致的,然而现在不同了,仅仅有代码我们的程序无法发挥作用,所以我们需要新的开源模式,将数据也包含进来,其相关的信息也需要一同开源。(详见参考链接【1】)

不过,总是等待也不是办法,就我已经搜集到的信息,我想分享一些人工智能方面开源的数据集,部分内容鉴于原作者因为版权问题禁止转载,我就写到一起,列出来一个列表。这个列表里面的数据如果不出意外应该都是免费的。

通用

Open Datasets for Deep Learning:深度学习专用公开数据集

https://deeplearning4j.org/opendata

计算机视觉

CIFAR 10 & CIFAR 100: 32×32 彩色图像,可用于模式分类。

https://www.cs.toronto.edu/~kriz/cifar.html

ImageNet: 图像数据集。

http://image-net.org/

LSUN:

http://lsun.cs.princeton.edu/2016/

PASCAL VOC: 通用图像识别分类

http://host.robots.ox.ac.uk/pascal/VOC/

SVHN: 门牌号码数据集,来自谷歌街景地图。可用于做数字识别。

http://ufldl.stanford.edu/housenumbers/

MS COCO: 图像识别分类用数据集。

http://mscoco.org/

Labeled Faces in the Wild: 打了标签和框出了面部区域的人脸数据。

http://vis-www.cs.umass.edu/lfw/

自然语言处理

搜狗中文自然语言处理数据集

http://www.sogou.com/labs/resource/list_pingce.php

百度新闻rss:可通过长时间直接抓取来获得文本数据。

https://www.baidu.com/search/rss.html

WikiText:来自维基百科文章中的大型语言建模语料库。

http://metamind.io/research/the-wikitext-long-term-dependency-language-modeling-dataset/

Question Pairs:从包含重复/语义相似性标签的 Quora 发布出来的第一个数据集。

https://data.quora.com/First-Quora-Dataset-Release-Question-Pairs

SQuAD: 斯坦福大学的问答数据集(The Stanford Question Answering Dataset)

https://rajpurkar.github.io/SQuAD-explorer/

CMU Q/A Dataset: CMU的问答数据集

http://www.cs.cmu.edu/~ark/QA-data/

Maluuba Datasets: 自然语言理解研究的数据集。

https://datasets.maluuba.com/

Billion Words: 大型语言建模数据集。

http://www.statmt.org/lm-benchmark/

Stanford Sentiment Treebank: 文本情感分析数据集。

http://nlp.stanford.edu/sentiment/code.html

20 Newsgroups: 文本分类经典数据集中的一个。

http://qwone.com/~jason/20Newsgroups/

Reuters: 旧的,纯粹基于分类的数据集与来自新闻专线的文本。常用于教程。

https://archive.ics.uci.edu/ml/datasets/Reuters-21578+Text+Categorization+Collection

IMDB:一个用于二元情感分类的更旧更小的数据集。

http://ai.stanford.edu/~amaas/data/sentiment/

UCI’s Spambase: 来自著名的 UCI 机器学习库较久的经典垃圾电子邮件数据集。由于数据集的策划细节,这可以是一个学习个性化过滤垃圾邮件的有趣基线。

https://archive.ics.uci.edu/ml/datasets/Spambase

语音数据

LibriSpeech:文本和语音500 小时的有声读物数据集。

http://www.openslr.org/12/

VoxForge:带口音的语音数据集,特别是对于如期望对不同口音或腔调的语音有鲁棒性需求的系统很有用。不过貌似没有找到中文语音数据。

http://www.voxforge.org/

CHIME:包含噪声的语音识别数据集。

http://spandh.dcs.shef.ac.uk/chime_challenge/data.html

TED-LIUM:TED 演讲的语音转录数据集。1495 份 TED 演讲的语音记录,并且这些语音记录有对应的全文本。

http://www-lium.univ-lemans.fr/en/content/ted-lium-corpus

参考链接:

【1】《人工智能的开源模式已经过时,我们需要新的开源模式》

http://www.jiqizhixin.com/article/2218

补充评论:

  1. AI橙子说:

https://github.com/caesar0301/awesome-public-datasets

在数据为王的人工智能时代如何收集机器学习数据相关推荐

  1. 数据为王,聚数学院引领大数据新时代

    中国互联网自1994年接入国际网后,经历过三次大浪潮,第一次是PC互联网时代,这时产生了新浪.搜狐.网易这样的门户网站.第二个是移动互联网的时代,手机成为连接的起点.第三个是物联网的时代,这是一个充满 ...

  2. 深脑链,为人工智能时代提供算力与数据支持

    点击上方 "蓝色字" 可关注我们! 记者:铅笔盒 "未来的每一家科技公司都是人工智能公司.通过区块链技术为人工智能企业提供多维度的服务.让算力做到弹性计算,让计算成本极大 ...

  3. 人工智能时代,Python机器学习及分析工具

    人工智能(Artificial Intelligence,AI)时代,简单易学,同时拥有着丰富模块库的Python成为时代的宠儿,活跃在人工智能的各个领域.我们可以借助Python库执行基本的机器学习 ...

  4. 在人工智能时代下,如何让券商的数据做到“快准稳”

    文 | 郑林峰 财通证券大数据经理 交流微信 | datapipeline2018 财通证券股份有限公司是一家经中国证券监督管理委员会批准设立的综合性证券公司,成立于1993年的浙江财政证券公司,现为 ...

  5. 人工智能时代的主要特征是什么?

    随着人工智能技术的不断完善,我们也逐渐步入了人工智能时代,为了能够更好的适应这个时代,需要搞清楚人工智能时代的主要特征是什么? 人工智能时代的主要特征是什么? 1.万物互联 人工智能时代,人类步入万物 ...

  6. 人工智能:法国浪漫之都的人工智能时代

    转载请标明出处: http://blog.csdn.net/djy1992/article/details/79107246 本文出自:[奥特曼超人的博客] 人工智能,进来热点不断,似乎都在蹭热点,但 ...

  7. 一文读懂机器学习“数据中毒”

    作者 | Ben Dickson 翻译 | 火火酱~ 出品 | AI科技大本营 头图 | 付费下载于视觉中国 在人类的眼中,下面的三张图片分别展示了三样不同的东西:一只鸟.一只狗和一匹马.但对于机器学 ...

  8. 利用物联网+数据建模+数据可视化软件等工具,解决物联网大数据在行业中的应用与挑战

    随着物联网的发展和进步,所有可以想象到的东西和行业都变得更加智能,智能家居和智慧城市.智慧水利.智能交通.智能制造.互联汽车.互联健康等等.无数能够收集和交换数据的事物正在形成一个全新的网络--物联网 ...

  9. 数据为王的时代,如何用图谱挖掘商业数据背后的宝藏?

    这是一个商业时代,一个数据为王的时代,也是一个 AI 迎来黄金发展期的时代. 据史料记载,商业在商朝已初具规模.斗转星移,时光流转,到 2019 年,商业形式已发生翻天覆地的变化,但是商业的本质--等 ...

最新文章

  1. 转换图像分辨率c++代码_哈工大等提出轻量级盲超分辨模型LESRCNN,代码已开源...
  2. 单细胞RNA降维之UMAP
  3. 支付宝被曝光了一段视频,或许“刷脸支付”的时代就要来临了
  4. 高德纳咨询公司(Gartner)预测:2019年七大人工智能科技趋势
  5. [git]通过commit_id找回文件
  6. TeeChart经验总结 10.ZoomScroll
  7. VTK:等值面采样用法实战
  8. python学习实例(7)
  9. jQuery:掌握选择器
  10. 它来了,带着曝光图又来了!疑似小米MIX4谍照流出
  11. shallow clone
  12. Servlet/JSP-02 Servlet相关类
  13. html5中心旋转动画效果图,HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)...
  14. 文远知行公布自动驾驶运营路线图:全新升级自动驾驶方案,建立500辆规模的自动驾驶车队...
  15. php无法上传,为什么php 大文件无法上传
  16. JAVA版村庄哨塔种子_我的世界:5个稀有的地图种子,我在里面居然发现了圆形村庄!...
  17. 用Python在地图上模拟疫情扩散
  18. python 点云重建_点云 表面重建
  19. (15,7)循环码的编译码方法
  20. 一个中关村IT男的房奴心路(转载)

热门文章

  1. 生还者+感染者+物品的轮廓颜色修改方法
  2. 【C】少年时代的经典游戏:三子棋
  3. No MTA installed, discarding output错误排查与处理(Ubuntu16定时任务的使用)
  4. Windows 10 下载
  5. 梆梆加固的Android P版本预兼容之路
  6. javascript面试题大全_Js基础面试题(附答案)
  7. 如何查看计算机是否新装了硬盘,如何查看笔记本电脑换固态硬盘 判断笔记本电脑是否可换固态硬盘的技巧...
  8. PyTorch中FLOPs计算问题
  9. vue的过渡动画(有vue的动画库和ui库的介绍)
  10. 用JS通过新浪天气API接口获取天气