本站分享:大数据、数据分析师考试认证培训,包括:Python培训Excel培训Matlab培训SPSS培训SAS培训R语言培训Hadoop培训Amos培训Stata培训Eviews培训广告位

使用R语言进行中文分词_R语言中文分词

r语言 cdadata 384℃

使用R语言进行中文分词

关键词:R语言中文分词、R语言数据分析、数据分析师

1.准备包

①rJava包

② Rwordseg包

③java环境

④搜狗词库(此为扩展词库)

Rwordseg包依赖于rJava包。由于Rwordseg包并没有托管在CRAN上面,而是在R-Forge上面,因此在在R软件上面直接输入install.packages(“Rwordseg”)会提示错误。因此,我们需要在软件菜单栏点击 程序包

选择软件库 在选择R-Forge 即可,然后输入install.packages(“Rwordseg”)应该就OK了。或者输入下面代码:

install.packages("Rwordseg", repos = "http://R-Forge.R-project.org")

一切准备工作做好了我们就可以进行分词了。首先加载我们所需要的包。然后对“ 我非常喜欢《跟着菜鸟一起学R语言》这个微信公众号 ”这句话进行分词。

library(Rwordseg)
library(rJava)
text<-"我非常喜欢《跟着菜鸟一起学R语言》这个微信公众号"
segmentCN(text)

分词结果为:

[1] “我”    “非常”  “喜欢”  “跟”    “着”    “菜”    “鸟”    “一起”  “学”    “R语言”     “这个”  “微信”  “公众”  “号”

我们可以发现这个分词有问题,比如说 “菜鸟”和“公众号”是一个词,但这里却分开了。我们该怎么处理呢?Rwordseg包里面提供了一个insertWords函数,具体如下

insertWords(strwords,
    analyzer = get("Analyzer", envir = .RwordsegEnv),
    strtype = rep("userDefine", length(strwords)),
    numfreq = rep(1000, length(strwords)), save = FALSE)

这就是insertWords函数,其中save参数是指 是否把这个词保存到词典里面。

insertWords(c("菜鸟","公众号"),save=TRUE)

这样的话,菜鸟 和 公众号 就成两个词了。再次运行

text<-"我非常喜欢《跟着菜鸟一起学R语言》这个微信公众号"
segmentCN(text)

结果为

[1] “我”     “非常”   “喜欢”   “跟”     “着”     “菜鸟”   “一起”   “学”     “R语言”  “这个”   “微信”   “公众号”

但是如果我们不需要“菜鸟”这个分词了怎么办,这个时候我们就可以使用deleteWords()函数来从词典中删除这个分词。

deleteWords(c("菜鸟","公众号"),save=TRUE)

这次我们在看看结果。

[1] “我”    “非常”  “喜欢”  “跟”    “着”    “菜”    “鸟”    “一起”  “学”    “R语言” “这个”  “微信”  “公众”  “号”

接下来我们使用一下搜狗的扩展词库,由于电影跟新速度较快,我这里下载了搜狗的热门电影大全词库,如何加载使用搜狗词库,点击可以查看我的另一篇博客

installDict("热门电影大全.scel","movie")

59391 words were loaded! … New dictionary ‘movie’ was installed!

我把下载的词库放在了当前的工作目录下面了,所以直接输入词典名,没有添加地址。加载了该词典。如果出现上面的句子则表示这个词典加载成功了,我们命名为movie。

现在我们来测试一下面这个句子: 你喜欢看最后的巫师猎人吗

text2<-"你喜欢看最后的巫师猎人吗"
segmentCN(text2)

“你”             “喜欢”           “看”             “最后的巫师猎人” “吗”

可以看到“最后的巫师猎人”是一个词,如何我们把movie这个词典删除点会怎么样呢?

uninstallDict("movie")
text2<-"你喜欢看最后的巫师猎人吗"
segmentCN(text2)

[1] “你”   “喜欢” “看”   “最后” “的”   “巫师” “猎人” “吗”
其实加载搜狗词典的话我们就不用自己定义词典,就比如前面我们往词典里面插入“菜鸟”和“微信公众号”一样。这样可以很方便的分词,也省去了自己新建词典的时间。

转载请注明:数据分析 » 使用R语言进行中文分词_R语言中文分词

喜欢 (0)or分享 (0)