Mac版R语言(六)文本挖掘(用户词库的导入、批量导入搜狗词库)

2023-11-21 13:59

本文主要是介绍Mac版R语言(六)文本挖掘(用户词库的导入、批量导入搜狗词库),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

R语言问题讨论交流,欢迎关注我的新浪微博:Jenny爱学习

文本挖掘应用的博客将分4个部分分别讨论完成,本篇将完成part 1的详细project:

  1. 用户字典批量安装,自定义分词词库,自建分词packages的安装
  2. jiebaR分词的使用
  3. 词云的绘制(wordcloud2详细使用见:Mac版R语言(四)使用wordcloud2画词云点击打开链接)
  4. k-means聚类

运行环境Platform: x86_64-apple-darwin13.4.0 (64-bit),MacOS Sierra 10.12.3,R3.3.2 (2016-10-31),涉及到的所有packages均更新下载于2017-6月。

所有代码均已全部运行,结果附图,有任何问题欢迎留言讨论。

1.  分词常用packages


1.1 R提供的文本挖掘packages:

  •  tm:英文分词工具
  • jiebaR:中文分词工具,本身是C++写的,具有极高的运算处理速度
  • Rwordseg:中文分词工具,Mac版依赖旧版本的Java,较难安装,版本更新慢,不推荐使用
  • chinese.misc:中文分词工具,内核基于Rwordseg
  • rmmseg4j:
  • snowball:英文词干化
1.2 其他常用汉语分词系统:
  • 中科院NLPIR汉语分词系统   :零代码在线版  点击打开链接
  • 微软word2vec:基于深度学习的文本挖掘系统


2.  用户词典的建立

 2.1 词库下载
        jiebaR作为目前R平台上最好的中文分词工具,虽然其自带词库和停用词库,但是对于不同行业的研究者来说,自带词库并不能满足所有的研究需求。因此,用户需要自己安装行业内的专用词库,具体词库可以从搜狗词库上下载安装:点击打开链接


2. 2 单个词典导入

2.2.1 零代码转换分词词库
             如果只需要导入单个词典,推荐使用在线版本的词库转换工具,同样是来自jiebaR作者Qin Wenfeng,点击链接进行在线转换:
       点击打开链接


2.2.2  代码导入词库
    cidian包的下载安装方法见下方:2.3 批量词库导入。
新建Rproject工程文件,将project工程文件建立在搜狗词典库同文件夹中。
结果如下图:
在得到的文件中,将转化后的后缀名为.dict搜狗词库名称改为user.dict.utf8,并替换原文件,就将搜狗词典转换为默认的用户词典了。

2.3  批量词库导入
        
  需要进行分词的文档可能综合了许多学科,因此仅仅使用单个词库并不能分出许多不同行业的专用词,这时就需要批量导入多学科词库,对文档进行分词。
        批量导入搜狗词库需要cidian这个package,在R上查看cidian的文档信息,cidian这个包同样来自jiebaR的作者Qin Wenfeng。
        11、13、14行的注释:在载入cidian的时候还需要载入Rcpp和RcppProgress、stringi、pbapply、jiebaR这五个程序包。
        由于词典发布在github上,因此Mac环境下需要借助devtools这个packages安装下载(后面有详细介绍),windows环境需要安装Rtools开发工具才能安装cidian包。

    安装jiebaR中批量导入词库的package
   打开R,根据文档,执行以下代码:       
结果截图


整个代码运行的过程中,要确保每个文件的路径正确,否则可能会生成一些空数据集,

代码运行后,词库所在的文件夹中会生成对应.scel词库的.txt.文件格式,如下图:
将所有生成的.txt文件合并为一个文件

这时得到一个全部.txt格式词库的文件,R中environment显示,整理后的词库约有30万条专业词汇,21.6M:
使用unique()函数去掉重复词语,还剩28万条词:


最后,将去重的词库写出:
write.table(dict1,file = "use.dict.utf8",quote = F,row.names = F,col.names = F,fileEncoding = "UTF-8")
在Rproject文件夹中得到如下结果:
按照2.2.2 中介绍的替换词库的方法,将生成的词库替换至jiebaR的默认用户词库即可。




这篇关于Mac版R语言(六)文本挖掘(用户词库的导入、批量导入搜狗词库)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/Nicolelovesmath/article/details/73835499
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/402777

相关文章

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

mysql删除无用用户的方法实现

《mysql删除无用用户的方法实现》本文主要介绍了mysql删除无用用户的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 1、删除不用的账户(1) 查看当前已存在账户mysql> select user,host,pa

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.