Rwordseg是中文文本挖掘的常用包,可以进行分词。但是,Rwordseg并未提供词频统计的功能,需要用户具体实现。本文提供了进行词频统计的简单代码。
例子
经爬虫得到的某电商网站某类商品的评论。使用wc
进行字数统计:
1 2 3 | wc text.txt # 0 121467 4694908 |
使用Rwordseg进行分词
1 2 3 4 5 | library(Rwordseg) require(Rwordseg) text <- readLines("text.txt") #输入 seg <- unlist(segmentCN(text)) #使用segmentCN进行分词 |
##使用R代码汇总词频统计
1 2 3 4 5 | tag <- table(seg) tbldf <- as.data.frame(tag) freqord <- order(tbldf$Freq, decreasing=TRUE) #数据汇总 final <- tbldf[freqord,][1:length(tag),] #最终结果 write.table(final, "final.csv", sep=",") #输出 |
查看分词时间
1 2 3 4 | system.time(seg <- unlist(segmentCN(text))) # user system elapsed # 21.074 0.149 20.594 |
可见,对约135万字的文本进行挖掘需要约20秒。(OS X 10.9, i7, 16G)
杂项
代码中的数据汇总方法使用了Norman Matloff “The Art of R Programming” pp134-6的方法。
分词后使用Python进行统计也是可以的,具体方法有待研究。(需使用Pandas。)