R语言学习-词频分析

概念

1、语料库-Corpus

  语料库是我们要分析的所有文档的集合,就是需要为哪些文档来做词频

2、中文分词-Chinese Word Segmentation

  指的是将一个汉字序列切分成一个一个单独的词语。

3、停用词-Stop Words

  数据处理的时候,自动过滤掉某些字或词,包括泛滥的词如Web、网站等,又如语气助词如的、地、得等。

需要加载的包

1、tm包

  安装方式:install.packages("tm")

  语料库:

      Corpus(x,readerControl)

        x-语料库的数据源,可以使用目录数据源-DirSource,或者向量数据源-VectorSource

        readerControl-语料库的读取控制器,是一个list;参数reader-文本为reader,pdf为readPDF等,参数language为文本语言,默认为“en”

举例:

#按目录读入语料库,就是把数据读取出来
C000007 <- Corpus(
  DirSource(
    ‘SogouC.mini/Sample/C000007‘    //这个是相对路径,绝对路径为:C:\Users\22636\Desktop\R语言资料\2.1\SogouC.mini\Sample\C000007
  ),
  readerControl = list(language="UTF-8")
)

  语料库处理:

        tm_map(x,FUN)

          x-上面的语料库

          FUN-使用哪个处理函数,函数如下

            tolower-转成小写

            removeWords-移除分词,一般用语移除停用词

            stripWhitespace-移除空白字符

            PlainTextDocument-处理HTML或者XML文档

            segmengCN-中文分词函数,来自Rwordseg包

2、tmcn包-停用词包

  安装方式:install.packages("tmcn", repos="http://R-Forge.R-project.org");

  安装后使用stopwordsCN()

3、Rwordseg包

  安装方式:

      install.packages("rJava")
      install.packages("Rwordseg", repos="http://R-Forge.R-project.org")//如果这个不行则用下面的
      #install.packages("Rwordseg", repos="http://R-Forge.R-project.org", type="source")

  分词方法:

      segmentCN(strwords,outfile="",returnType=c("vector","tm"))

        strwords-需要分词的字符串或者文件路径

        outfile-分词后输出的路径,默认为输入文件的同级目录

        returnType-返回值类型,默认是数组,可以选择为tm包的语料库类型

  安装/卸载字典:

      installDict(dictpath,dictname)

      uninstallDict(dictname)

        dictpath-字典文件路径

        dictname-字典名字

      字典下载:http://pinyin.sogou.com/dict/

  显示字典列表

      listDict()

举例:

  segmentCN("真武七截阵和天罡北斗阵哪个厉害")

输出:  

  [1] "真" "武" "七" "截" "阵" "和" "天罡" "北斗"
  [9] "阵" "哪个" "厉害"

加载字典:

  installDict(‘金庸武功招式.scel‘, ‘金庸武功招式‘)

输出:

  [1] "真武七截阵" "和" "天罡北斗阵" "哪个"
  [5] "厉害"

当然也可以使用路径的方式来进行分词,如下面则是根据路径来针对文档里面的语句进行分词,并且分词后会在同目录下生成分词后的新文档:

data <- segmentCN(
  ‘SogouC.mini/Sample/C000007/10.txt‘
)

4、TM包和Rwordseg包组合使用

#加载tm和tmcn包

library(tm)
library(tmcn)

#按目录读入语料库
C000007 <- Corpus(
  DirSource(
    ‘SogouC.mini/Sample/C000007‘
  ),
  readerControl = list(language="UTF-8")
)

stopwordsCN()

#加载rwordreg包

library(Rwordseg)

C000007 <- tm_map(C000007, stripWhitespace) //先把c000007语料库中的空格移除
C000007 = tm_map(C000007, content_transformer(segmentCN), returnType=‘tm‘) //用segmentcn方式进行分词

时间: 2024-08-03 11:26:51

R语言学习-词频分析的相关文章

R语言学习笔记

參考:W.N. Venables, D.M. Smith and the R DCT: Introduction to R -- Notes on R: A Programming Environment for Data Analysis and Graphics,2003. http://bayes.math.montana.edu/Rweb/Rnotes/R.html 前言:关于R 在R的官方教程里是这么给R下注解的:一个数据分析和图形显示的程序设计环境(A system for data

R语言学习笔记 之 可视化地研究参议员相似性

基于相似性聚类 很多时候,我们想了解一群人中的一个成员与其他成员之间有多么相似.例如,假设我们是一家品牌营销公司,刚刚完成了一份挂怒有潜力新品牌的研究调查问卷.在这份调查问卷中,我们向一群人展示了新品牌的几个特征,并且要求他们对这个新品牌的每个特征按五分制打分.同时也收集了目标人群的社会经济特征,例如:年龄.性别.种族.住址的邮编以及大概的年收入. 通过这份调查问卷,我们想搞清楚品牌如何吸引不同社会经济特征的人群.最重要的是,我们想要知道这个品牌是否有很大的吸引力.换个角度想这个问题,我们想看看

R语言学习笔记2——绘图

R语言提供了非常强大的图形绘制功能.下面来看一个例子: > dose <- c(20, 30, 40, 45, 60)> drugA <- c(16, 20, 27, 40, 60)> drugB <- c(15, 18, 25, 31, 40) > plot(dose, drugA, type="b") > plot(dose, drugB, type="b") 该例中,我们引入了R语言中第一个绘图函数plot.pl

R语言学习(5)-字符串和因子

字符串和因子 1.字符串 创建字符串 > c("HELLO","WORLD") [1] "HELLO" "WORLD" 使用paste函数连接字符串 > paste(c("hello","hi"),"world") [1] "hello world" "hi world" > paste(c("hel

R语言学习中的小bug:R中矩阵相乘错误于A %*% B: 需要数值/复数矩阵/矢量参数

遇到了小bug: R中矩阵相乘错误于A %*% B: 需要数值/复数矩阵/矢量参数 看到网上别人的做法,发现了用class(A)和class(B)之后才发现,是因为读入的时候数据的类型不对,A.B的类型并不是matrix,才导致了这个问题. 用as.matrix来变型一下,就OK了. R语言学习中的小bug:R中矩阵相乘错误于A %*% B: 需要数值/复数矩阵/矢量参数,布布扣,bubuko.com

R语言学习(2)

向量矩阵和数组 1.vector函数可以创建指定类型.长度的矢量 (其结果中的值可以是0,FLASE,空字符串) > vector("numeric",5) [1] 0 0 0 0 0 > vector("complex",6) [1] 0+0i 0+0i 0+0i 0+0i 0+0i 0+0i > vector("logical",6) [1] FALSE FALSE FALSE FALSE FALSE FALSE > 

R语言重要数据集分析研究——需要整理分析阐明理念

1.R语言重要数据集分析研究需要整理分析阐明理念? 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候如何下手分析,数据分析的第一步,探索性数据分析. 统计量,即统计学里面关注的数据集的几个指标,常用的如下:最小值,最大值,四分位数,均值,中位数,众数,方差,标准差,极差,偏度,峰度 先来解释一下各个量得含义,浅显就不说了,这里主要说一下不常见的 众数:出现次数最多的 方差:每个样本值与均值的差得平方和的平均数 标准差:又称均方差,是方差的二次方根,用来衡量一个数据集的集中性 极差:最大值

R语言学习(3)

列表和数据框 1.列表 list函数创建列表 > (a_list <- list(c(1,1,2,5,14,42),month.abb,matrix(c(3,-8,1,-3),nrow=2),asin)) [[1]] [1]  1  1  2  5 14 42 [[2]] [1] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul&qu

R语言学习(4)-环境和函数

环境和函数 1.环境 使用new.env函数创建环境 > an_environment <- new.env() 向环境中分配变量与列表相同 > an_environment[["pythag"]] <- c(12,15,20,21) > an_environment$root <- polyroot(c(6,-5,1)) > assign("moonday",weekdays(as.Date("1969/07/2