R语言自然语言处理1:汉语分词

自然语言处理(NLP)被誉为“人工智能皇冠上的明珠”,是计算机科学领域与人工智能领域中的一个重要方向,有着广阔的应用空间。

随着数据挖掘的广泛应用,文献数字化到数字人文,中国的人文研究资源逐步走向数字化。

自然语言处理在人文社科类的主要应用包括以下七个部分部分:

一.文献数字化整理:图书馆、博物馆、档案馆、报纸、百科全书

二.人文研究工具平台:资源数字化

三.数字人文与传统学术:可视化

四.数字人文与GIS/SNA

五.数字人文与AI

六.学术语义

七.观点挖掘

文本——R语言自然语言处理1:汉语分词,将分4个部分分别讨论完成,本篇将完成part 1的详细project:

用户字典批量安装

自定义分词词库

自建分词packages的安装

jiebaR分词的使用

词云的绘制

k-means聚类

运行环境Platform:

x86_64-apple-darwin13.4.0 (64-bit),

MacOS Sierra 10.13.1,

R3.3.4.4 (2018-3-15),涉及到的所有packages均更新下载于2018-2月。

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

Windows平台与Mac操作路径不同,请Win用户根据win的路径进行相应调整。

分词packages

R提供的常见文本挖掘packages:(截止2018年2月)

tm:英文分词工具

jiebaR:中文分词工具,本身是C++写的,具有极高的运算处理速度

Rwordseg:中文分词工具,Mac版依赖旧版本的Java,较难安装,版本更新慢,不推荐使用

chinese.misc:中文分词工具,内核基于Rwordseg

rmmseg4j:

snowball:英文词干化

考虑到本公众号大部分读者为社科背景,没有经过严格的代码训练,本篇文章提供零代码分词方法:

中科院NLPIR汉语分词系统 :零代码在线版 链接地址 http://ictclas.nlpir.org/nlpir/

微软word2vec:基于深度学习的文本挖掘系统

用户词典

用户词典的建立

1 词库下载

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

2.零代码方法

2.1 零代码转换分词词库

如果只需要导入单个词典,没有代码基础的读者可以使用在线版本的词库转换工具,同样是来自jiebaR作者Qin Wenfeng,进行在线转换:

2.2代码导入词库

cidian包的下载安装方法见下方:2.3 批量词库导入。

新建Rproject工程文件,将project工程文件建立在搜狗词典库同文件夹中。

结果如下图:

2.3 批量词库导入

需要进行分词的文档可能综合了许多学科,因此仅仅使用单个词库并不能分出许多不同行业的专用词,这时就需要批量导入多学科词库,对文档进行分词。

批量导入搜狗词库需要cidian这个package,在R上查看cidian的文档信息,cidian这个包同样来自jiebaR的作者Qin Wenfeng。

在载入cidian的时候还需要载入Rcpp和RcppProgress、stringi、pbapply、jiebaR这五个程序包。

由于词典发布在github上,因此Mac环境下需要借助devtools这个packages安装下载(后面有详细介绍),windows环境需要安装Rtools开发工具才能安装cidian包。

安装jiebaR中批量导入词库的package

打开R,根据文档,执行以下代码:

结果截图

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

代码运行后,词库所在的文件夹中会生成对应.scel词库的.txt.文件格式。

将所有生成的.txt文件合并为一个文件

最后,将去重的词库写出

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180609G0E60C00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券