码迷,mamicode.com
首页 > 编程语言 > 详细

R语言学习-词频分析

时间:2017-08-15 23:32:31      阅读:975      评论:0      收藏:0      [点我收藏+]

标签:处理   use   reader   dict   金庸   packages   列表   文档   相对   

概念

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方式进行分词

R语言学习-词频分析

标签:处理   use   reader   dict   金庸   packages   列表   文档   相对   

原文地址:http://www.cnblogs.com/xugege/p/7368306.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!