专栏首页PPV课数据科学社区【译文】用R创建云词

【译文】用R创建云词

在这篇文章中,我会向大家展示如何利用文本数据在R中建立云词。我们会使用一个包含20万个问题的数据集,而这数据集可以在这里下载(感谢reddit网站的用户trexmatt给我们提供的数据集)。

我们会使用这三个包:tm, SnowballC 和 wordcloud。

首先,我们要加载所需的包和读取数据。

library(tm)

library(SnowballC)

library(wordcloud)

jeopQ <- read.csv(‘JEOPARDY_CSV.csv’, stringsAsFactors = FALSE)

那些你需要问的问题都可以在问题栏上找到答案。

现在我们会在文本数据方面进行一系列的操作依次简化这种过程。

首先,我们需要创建一个语料库。

jeopCorpus <- Corpus(VectorSource(jeopQ$Question))

接下来,我们把语料库内容转化为小写。

jeopCorpus <- tm_map(jeopCorpus, content_transformer(tolower))

然后,我们会去除所有的标点符号和停用词。停用词通常都会应用在英语语言中,如I,me,my等等。你可以通过使用stopwords(‘english’)这条语句来查看整个停用词列表。

jeopCorpus <- tm_map(jeopCorpus, removePunctuation)jeopCorpus <- tm_map(jeopCorpus, PlainTextDocument)

jeopCorpus <- tm_map(jeopCorpus, removeWords, stopwords(‘english’))

再下一步,我们会提取词干。这意味着所有的词都会转化成它们的原形(如learning -> learn, walked -> walk等等)。这可以确保任何形式的单词都可以转化为相同的形式只会在云词中出现一次。

jeopCorpus <- tm_map(jeopCorpus, stemDocument)

现在,我们来描绘一下云词。

wordcloud(jeopCorpus, max.words = 100, random.order = FALSE)

如果你想去除”this”和”that”这样的词汇,你可以在removeWords函数中写上这些词语,操作如下:

jeopCorpus <- tm_map(jeopCorpus, removeWords, c(‘the’, ‘this’, stopwords(‘english’)))

这里有以下几种方式可对它进行自定义操作:

比例尺(scale):这可以用于展现一定范围内文字的大小。

max.words and min.freq:这些参数可用于限制被标绘的字数。Max.words可以标出一个特定的词汇数以及丢弃最不常用的词,因此,min.freq会丢弃所有使用频率低于某一个特别的数值的词语。

随机顺序(random.order):通过把它设定为FALSE,我们可以使得所有出现频率最高的词语首先被标记。如果我们不这样设定,它会以一个随即顺序方式标记所有词语,而且出现频率最高的词也不必出现在中心位置。

Rot.per:这个值可以决定多少个部分的词语会纵向出现。

色彩(colors):默认值是黑色。如果你想基于不同的频率展现不同的颜色,你可以特殊设定一个向量的颜色,或者使用一个已经定义好的主色板。你可以在这里找到其中的清单。

这篇文章到这里就可以结束了。我希望你能享受使用它的过程。一如既往的,如果你有什么问题,请你大胆的留言或者在我的twitter上问问题。

记住,我在edX上的麻省理工学院《The Analytics Edge》课程上学会这种方法的。这是一个伟大的课程。如果你对数据科学感兴趣,我高度推荐你去学习这门课程。

品言译,陆勤审,PPV课原创翻译文章,禁止转载,转载需获得PPV课和作者的授权

原文链接:http://datascienceplus.com/building-wordclouds-in-r/

投稿须知

①稿件可以是原创文章、原创翻译文章等等,优秀的原创文章可以申请PPV课博客专栏,获得相应稿酬。

②凡是投稿的学员均可获得PPV课社区积分奖励3000积分,用于下载其他资料。

③欢迎大家积极投稿,投稿请联系PPV课编辑 lily QQ:2941275750

1、回复“数据分析师”查看数据分析师系列文章

2、回复“案例”查看大数据案例系列文章

3、回复“征信”查看相关征信的系列文章

4、回复“可视化”查看可视化专题系列文章

5、回复“SPPS”查看SPSS系列文章

6、回复“答案”查看hadoop面试题题目及答案

7、回复“爱情”查看大数据与爱情的故事

8、回复“笑话”查看大数据系列笑话

9、回复“大数据1、大数据2、大数据3、大数据4”查看大数据历史机遇连载

PPV课大数据ID: ppvke123 (长按可复制)

大数据人才的摇篮!专注大数据行业人才的培养。每日一课,大数据(EXCEL、SAS、SPSS、Hadoop、CDA)视频课程。大数据资讯,每日分享!数据咖—PPV课数据爱好者俱乐部!

本文分享自微信公众号 - PPV课数据科学社区(ppvke123)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-09-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 大数据会抢分析师饭碗吗?

    文 | 车品觉(阿里巴巴集团副总裁,数据委员会会长) 假如你是一位出色的分析师,你会发现业务方对你的要求是最好能未卜先知,不仅提出问题,同时告诉他解决方案。可是...

    小莹莹
  • 详谈数据科学与大数据技术专业

    从IT时代进入DT时代,高校在大数据方向上设置了哪些专业,具体学什么,就业怎么样,作为新兴专业,考生如何报考具体内容: 专业名称:数据科学与大数据技术; 人才培...

    小莹莹
  • AI时代就业指南:大数据工程师到底应该会什么?

    大数据领域包含哪些职位? 在大数据行业中有很多领域。通常来说它们可以被分为两类: 大数据工程 大数据分析 这两个领域互相独立又互相关联。 数据工程涉及平台和数据...

    小莹莹
  • 线下大数据才是“大蓝海”,但几乎还是处女地,破局之法何在?

    镁客网
  • 大数据会抢分析师饭碗吗?

    文 | 车品觉(阿里巴巴集团副总裁,数据委员会会长) 假如你是一位出色的分析师,你会发现业务方对你的要求是最好能未卜先知,不仅提出问题,同时告诉他解决方案。可是...

    小莹莹
  • 用大数据捉奸?算得上是大数据应用吗?

    你还不来,我怎敢老去 本文大概2040字,读完共需5分钟 一直想着写点关于当今大数据的看法,即便观点有些鼠目寸光,照例不怕大家对我嗤之以鼻,脸皮厚着呢。 首先来...

    企鹅号小编
  • 邱寒:新零售笔记(四)基于区块链大数据的人工智能

    人工智能是新零售的基础技术之一,但目前的人工智能主要是基于大数据的深度学习,数据的广度、深度、结构化与粒度对深度学习的模型和结果有非常大的影响。 ? 区块链对于...

    企鹅号小编
  • 译文|数据湖泊和网络优化:什么才是电信和大数据的下一个阶段?

    在过去,关系数据仓库为电信运营商提供着非常好的服务,但现在已到了不能只考虑最简单的问题的时候了。在不久的将来,非结构化数据将是燃料,将引燃权利危及风险管理和决策...

    CDA数据分析师
  • 数据库系统的特点

    爱学习的孙小白
  • 数据的生命周期

    大多数数据不是静态的。不,数据具有改变的生命,可能用于多种用途,并且可以在各处移动。因此,考虑组织中数据的生命周期是有意义的。

    二狗不要跑

扫码关注云+社区

领取腾讯云代金券