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语言(六)文本挖掘(用户词库的导入、批量导入搜狗词库)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/402777

相关文章

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作