R语言中的Rwordseg包详细使用教材
中文分词一直是一个不大容易解决的问题,Rwordseg包是一个很不错的包,之前的tm包效果实际不是很理想,当然还出现了一个jiebaR的包,这个跟python中的jieba有点像,不说了,具体上代码看看先把,下面的代码也是网上到处凑在一起整合的成的资料,基本上涵盖了Rwordseg包的使用方法:
options(warn=-1)
library(rJava)
library(Rwordseg)
#调入绘制词云的库
library(RColorBrewer)
library(wordcloud)
segment.options(isNameRecognition=TRUE) #人名识别为真
x<-"众筹项目成功了,众筹绑卡成功了,一切都很顺利"
#测试
#R软件的readLines函数跟python中的readlines函数有点类似
#
# #用于下载安装rJava 和 Rwordseg,如果安装了就注释掉
# install.packages("rJava")
# install.packages("Rwordseg", repos="http://R-Forge.R-project.org", type="source")
#
# #导入rJava 和Rwordseg
# library(rJava)
# library(Rwordseg)
# #测试rJava 和Rwordseg是否安装好
# teststring1 <- "我爱R语言,我爱文本挖掘"
# segmentCN(teststring1)
# #观察分词1000次花的时间
# system.time(for(i in 1:1000) segmentCN(teststring1))
# #segmentCN的详细解释
# ?segmentCN
#
# #若输入参数为字符向量,则返回列表
# segmentCN("结合成分子时")
# segmentCN(c("说的的确在理","一次性交多少钱"))
# #默认nosymbol为TURE 不输出标点,只能有汉字,英文,和数字
# segmentCN("我喜欢读《圣经》,你呢?")
# segmentCN("我喜欢读《圣经》,你呢?",nosymbol=FALSE)
# #nature设置 是否输出词性 不是很智能 会出现错误
# segmentCN("花了一元钱买了一朵美丽的花",nature=TRUE)
#
#
# #参数isNameRecognition 可用来人的名字识别,
# getOption("isNameRecognition") #默认是不进行人名识别,输出false
# segmentCN("梅超风不是是桃花岛岛主")
# segment.options(isNameRecognition = TRUE)
# getOption("isNameRecognition")
# segmentCN("梅超风是桃花岛岛主")
#
# #对金庸的侠客行进行分词,分词的结果会输出到“侠客行.segment.txt”下
# segmentCN("E://Rcode//source//侠客行.txt")
# #“侠客行.txt” 364251个字, 大约用时间10S,还是很快的
# system.time(segmentCN("E://Rcode//source//侠客行.txt"))
#
# #查看词典
# listDict()
# segmentCN("湖北大鼓真是不错呀")
# #导入~.dic词典,可以直接复制然后改名为.dic
# installDict("E://Rcode//source//default.dic","default")
# segmentCN("湖北大鼓真是不错呀")
# #uninstallDict() 删除安装的词典
# uninstallDict()
# #listDict() 查看剩余的词典
# listDict()
#
#
# ##用搜狗词库的时候 一定要在官网上下载 ~.scel 文件,
# #不能直接将 下载的 ~.txt改为~.scel
# segmentCN("床前明月光,凝视地上霜")
# installDict("E://Rcode//source//李白诗集【官方推荐】.scel","libai",dicttype = "scel")
# segmentCN("床前明月光,凝视地上霜")
#
# segmentCN("天罡北斗阵和六脉神剑哪个更厉害")
# listDict()
# installDict("E://Rcode//source//金庸武功招式.scel","jinyong",dicttype = "scel")
# segmentCN("天罡北斗阵和六脉神剑哪个更厉害")
#
# #自定义词典
# #手动添加或删除词汇,仅仅只在内存中临时添加,未记录下来
# segmentCN("画角声断谯门")
# insertWords("谯门")
# insertWords("画角")
# segmentCN("画角声断谯门")
# deleteWords(c("谯门","画角"))
# segmentCN("画角声断谯门")
# #使用save参数,把操作记录下来,下回启动能直接用
# insertWords(c("谯门","画角"),save=TRUE)
# segmentCN("画角声断谯门")
# #默认nosymbol为TURE 不输出标点,只能有汉字,英文,和数字
# segmentCN("我喜欢读《圣经》,你呢?")
# segmentCN("我喜欢读《圣经》,你呢?",nosymbol=FALSE) #有标点符号输出test<-readLines("D:\\Users\\zhoumeixu204\\Desktop\\dis_cuss.txt",encoding='utf-8')
class(test)
installDict("D:\\\Users\\\zhoumeixu204\\Desktop\\字典.dic","字典",load=TRUE) #自定义字典
# uninstallDict(removedict="字典") #移除自定义的字典
res=test[test!=" "] #读取test,且剔除test=" "
res<-gsub("[a-zA-Z0-9 1 2 3 4 5 6 7 8 9 0]","",res)
res<-paste(res,collapse="")
res<-gsub("?","",res)
res<-gsub("[的|在|是|和|有|与|也|上|不|但|对|阿|似然|我|了|一个]","",res)
words<-unlist(lapply(res,segmentCN)) #分词,并调整表结构,将有相同词频的词归类
word<-table(words)
v<-word
# word = lapply(X = words,FUN = strsplit," ") #给每个词根据顺序赋个顺序指
# v = table(unlist(word)) #重建表
v = sort(v,deceasing=T) #降序排列
v[1:100]
head(v)
d<-data.frame(word=names(v),freq=v) #对向量的table采取建立数据框
dd=tail(d,150)
op<-par(bg = "lightyellow")
wordcloud(dd$word, dd$freq, col = rainbow(length(d$freq)),scale=c(8,1),min.freq=3,max.words=Inf,random.order=FALSE)
par(op)
下面再研究下jiebaR把,实际这个包已经很给力了。。。
R语言中的Rwordseg包详细使用教材相关推荐
- R语言中的igraph包绘制网络图
本文转自网络. R语言中的igraph包可以很方便地画出网络图,在社交关系分析等领域发挥重要作用,下面介绍包中一个重要的函数graph_from_data_frame(). graph_from_da ...
- R语言中quantmod金融分析包的实践
本文是自己在学习R中的学习笔记: 该文主要包括如下几各方面: 一 .获取国内股市的综合指数:二.获取个股股票交易数据yahoo:三.获取汇率信息oanda:四.获取财务报表google:五.获取股息数 ...
- R语言中if语句使用方法之超详细教程
在R语言中,if属于一种分支结构,即根据某个条件执行相关的语句.R中的if语句与else配合主要有3种结构. 单个if语句 if(cond) {expr} 其它语句 即当括弧中的cond条件为TRUE ...
- R语言中GCC编译的问题(续)
这篇文章承接R语言中GCC编译的问题,这篇文章主要解决我在Linux系统上安装"expm"出现的问题. 出现的问题 这个问题非常的有趣,因为我在两台服务器分别安装同一个包,其中一台 ...
- 相关系数pearson、spearman、kendall和R语言中的cor/or.test()
相关系数pearson.spearman.kendall和R语言中的cor/cor.test 1. 相关系数pearson.spearman.kendall 2. R语言cor函数和cor.test函 ...
- r语言显示找不到read_html,R语言中read.table函数不常见的用法-文本中有#注释符号...
自从开始学习R语言,read.table是较早接触到的函数,因为要读取数据,也因为最开始学习数据分析是用"制表分隔符的txt"文件比较多,xlsm在linux系统中又不太合适,所以 ...
- R语言中的apply函数族
原文出处:http://blog.fens.me/r-apply/ 前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么, ...
- R语言中package ‘xxxx’ is not available (for R version xxx)的解决办法以及R如何在线升级版本?
R语言中package 'xxxx' is not available (for R version xxx)的解决办法以及R如何在线升级版本? 第一步:在R或者Rstudio中安装installr包 ...
- r语言for循环的c(),R语言中for循环的并行处理方式
前言 本文用于记录笔者在将R语言中的for语句并行化处理中的一些问题. 实验 这里使用foreach和doParallel包提供的函数实现for语句的并行处理. for语句脚本 func return ...
最新文章
- 010_JavaScript变量
- Javascript一(变量,数据类型,正则表达式,数据,语句)
- JS数组遍历的几种方式
- 数据结构_树与二叉树(mindmap)+LeetCode_100.相同的树(C语言)
- php中如何调用datepicker,如何使用datepicker,ajax,php,mysql在两个日期之间生成报告?...
- shell调用各种sqlplus用法
- 使用MessageFormat格式化数字,日期
- mitmproxy抓包 | Python疑难测试场景mock
- CentOS 6.9/7通过yum安装指定版本的Redis
- chmod简介及其使用方法
- Memory Management Concepts overview(内存管理基本概念)
- 项目的ip地址更改,用git从远程提取代码出现错误,提示为 network error connection timed out...
- CI框架 CodeIgniter 伪静态 htaccess设置和Nginx伪静态方法2
- 螺旋模型(Spiral Model)
- Unity3D中Grid Layout Group组件一键实现自动排版Image
- 如何使用ps去改变图片的背景颜色(白底、蓝底和红底)
- vb用计算机解决鸡兔同笼,vb解决鸡兔同笼问题
- c语言程序设计实验总结范文,《c语言程序设计》课程实验报告模板.doc
- pytorch错误——Torch not compiled with CUDA enabled
- pandox怎么用_神器Pandoc的安装与使用 | Flyaway's Blog
热门文章
- 点云迭代最近邻点配准法_一种激光扫描数据与数码照片的配准方法
- Windows10中出现‘adb’ 不是内部或外部命令,也不是可运行的程序或批处理文件
- 使用MOT评测工具TrackEval评测自己的数据集
- 中国没概念:被看好时是泡沫 不被看好时成垃圾
- OpenCV 中文汉字显示
- 地产物业迎来智能化黑科技 百度大脑用AI让社区更聪明
- 基于模型的设计(MBD)在汽车ECU软件开发中的实践
- 淘宝图片搬家常见问题解答FQA
- php文章周月总排行榜怎么实现,帝国cms7.0实现日 周 月点击排行的方法
- Linq中datetime的处理以及asp.net下拉列表控件的selectitem,text等的设置显示处理