R语言怎么给中文分词?

准备包

①rJava包

② Rwordseg包

③java环境

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

Rwordseg包依赖于rJava包。由于Rwordseg包并没有托管在CRAN上面,而是在R-Forge上面,因此在在R软件上面直接输入install.packages("Rwordseg")会提示错误。

因此,我们需要在软件菜单栏点击“程序包”

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

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

分词结果为:

"我" "非常" "喜欢" "跟" "着" "菜" "鸟" "一起" "学" "R语言" "这个" "微信" "公众" "号"

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

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

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

结果为:

"我" "非常" "喜欢" "跟" "着" "菜鸟" "一起" "学" "R语言" "这个" "微信" "公众号"

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

这次我们在看看结果。

"我" "非常" "喜欢" "跟" "着" "菜" "鸟" "一起" "学" "R语言" "这个" "微信" "公众" "号"

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

59391 words were loaded! ... New dictionary 'movie' was installed!

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

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

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

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

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

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

END

版权声明:

转载文章均来自公开网络,仅供学习使用,不会用于任何商业用途,如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜,联系邮箱:holly0801@163.com。转载大数据公众号文章请注明原文链接和作者,否则产生的任何版权纠纷与大数据无关。

原文发布于微信公众号 - 大数据(hzdashuju)

原文发表时间:2017-06-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏华章科技

干货 ▏什么数据库最适合数据分析师?

数据分析师都想使用数据库作为数据仓库处理并操作数据,那么哪一款数据库最合适分析师呢?虽然网上已经有很多对各种数据库进行比较的文章,但其着眼点一般都是架构、成本、...

1093
来自专栏学习有记

你对数据库管理员的定义是什么?

1184
来自专栏数据和云

自相矛盾:Null is Not Null引发的成本误区

黄玮(Fuyuncat) 资深Oracle DBA,个人网www.HelloDBA.com,致力于数据库底层技术的研究,其作品获得广大同行的高度评价. 在SQL...

3004
来自专栏烙馅饼喽的技术分享

我的CMS开发记-2 该ORM就ORM,该写SQL还是写SQL

     啊,是ORM还是SQL,这是个问题.      先扯段题外话,我原来公司的产品是java和.net共存,java部分是外包的,于是么各位也可想而知,两...

38010
来自专栏CDA数据分析师

什么数据库最适合数据分析师

数据分析师都想使用数据库作为数据仓库处理并操作数据,那么哪一款数据库最合适分析师呢?虽然网上已经有很多对各种数据库进行比较的文章,但其着眼点一般都是架构、成本、...

2035
来自专栏数据和云

数据架构:中国电信的Oracle Sharding架构应用案例分析

Oracle 自 12.2 版本推出了 Sharding 的分布式架构,通过对于分区表的特性延展将原来的集中式架构分散开来,这一特性推出之后,引起了很多行业客户...

3776
来自专栏沈唁志

2018年韩创科技旗下我图网PHP工程师面试题分享

4. 一张采用Innodb的User表,其中id为主键,name为普通索引,试从索引的数据结构角度分析,以下两条语句(均返回一条记录)在检索过程中有哪些区别

1532
来自专栏数据和云

千头万绪:从一道面试题看数据库性能和安全的方方面面

这个问题在朋友圈引起了很多朋友的兴趣,转发并且提问,希望有一个标准答案输出作为参考。

761
来自专栏飞总聊IT

大数据时代的NoSQL

NoSQL这个词语伴随着云计算和大数据的出现也有一些时日,对于NoSQL和SQL的区别到底是什么,NoSQL自己又是什么,往往很多人还有一些困惑。这篇文章主要阐...

3446
来自专栏牛客网

猫眼测开一二三面面经,给口头offer

一面: 计算机网络: 面试官:浏览器输入URL地址到呈现页面给用户,中间到底发生了什么?用到了什么协议。 我:balabala,扯到了DNS 面试官:DNS的查...

6819

扫码关注云+社区

领取腾讯云代金券