zoukankan      html  css  js  c++  java
  • R文本挖掘之jiebaR包

    library(jiebaRD)
    library(jiebaR)  ##调入分词的库
    cutter <- worker()
    mydata =read.csv(file.choose(),fileEncoding = 'UTF-8',stringsAsFactors = FALSE,header=FALSE) ##读入数据(特别注意,read.csv竟然可以读取txt的文本)

    content <-as.character(mydata) #将数据字符串化
    segWords <- segment(content,cutter)

    #读取停止词

    #删除停用词(就是删除一些介词、叹词之类的词语,这些词语本身没多大分析意义,但出现的频率却很高,比如"的、地、得、啊、嗯、呢、了、还、于是、那么、然后"等等。前提是必须要有一个停用词库,网上搜索即可下载,也是一个txt的文本文件,每行一个词。网上有两种版本,一种是500多个词的,一种是1000多个词的)
    f<- read.table(file = file.choose(), stringsAsFactors = FALSE) #stopword.txt
    stopwords <- c(NULL) #定义一个空对象stopwords,并赋值为“空”
    for(i in 1:length(f)){ #for循环,length(f)求得停止词库词条个数。
    stopwords[i] <- f[i] #遍历停止词库,将第【i】个停止词赋值给stopwords
    }

    segWords <- gsub("[0-9a-zA-Z]+?","",segWords) #gsub用来去掉segWord文本中的数字,英文,但生成了空格,""产生了空格

    library(stringr) #载入stringr包,仅用来去掉文本中的空格
    segWords <- str_trim(segWords) #去掉segwords中的空格
    txt.asvector <- unlist(segWords) #将segwords向量化
    tableWord <- table(txt.asvector) #将txt.asvector生成为列联表
    Wordresult<- tableWord[order(-tableWord)] #将tableword降序排列,从多到少排序

    library(wordcloud2) #调入绘制词云的库
    wordcloud2(Wordresult[1:100])

     

  • 相关阅读:
    51nod 1428 活动安排问题
    COGS 1. 加法问题 (水体日常)
    COGS 1406. 邻居年龄排序[Age Sort,UVa 11462](水题日常)
    51nod 1133 不重叠的线段
    51nod 1031 骨牌覆盖
    51nod 1050 循环数组最大子段和
    51nod 1094 和为k的连续区间
    51nod 1433 0和5
    51nod 1092 回文字符串
    洛谷 P1507 NASA的食物计划
  • 原文地址:https://www.cnblogs.com/nxld/p/6346961.html
Copyright © 2011-2022 走看看