Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >R文本挖掘 | 如何在用户词库中添加搜狗词典?

R文本挖掘 | 如何在用户词库中添加搜狗词典?

作者头像
用户7652506
发布于 2020-10-23 08:25:31
发布于 2020-10-23 08:25:31
5K3
举报

在前面

亲爱的小伙伴们!阔别大家将近10天,是不是等得有些着急了呢?本期大猫课堂将继续《R文本挖掘》系列,上节课中已经教大家如何用jiebaR分词包进行分词,本期将教大家一个更加进阶的分词功能:把搜狗专业词库添加进自己的用户自定义词典中。

稍微对中文文本挖掘有所了解的小伙伴们都知道,虽然当前的分词统计模型已经具有了部分识别未登记词(没有录入到内置词库中的词)的能力,但是分词的好坏很大程度上仍旧取决于内置词库的的全面与准确性,这对一些专业领域来说尤其明显。以财政金融领域为例,“应付账款”是会计科目中的一个固有科目,应该被认为是一个词,但是如果词库不充分,可能就会被分成“应付”与“账款”两个词。同理,“头肩底”是用于描述K线的一个专用术语,但是一般的词库往往无法识别。

那么有没有什么办法有效获得大量的第三方专业词库呢?答案是肯定的,“搜狗细胞词库”为大家提供了大量的专业领域词汇。但是搜狗词库具有专门的.sel格式,词库导出与导入非常麻烦,这时,我们就要请出本期的主角:搜狗细胞词库转化包cidian,它不仅能够在R中将搜狗细胞词库转化为可读的词库,并且还能直接被分词包jiebaR调用!

听着是不是非常酷炫?快点进入本期课堂吧!

期目标

一、了解如何从github上安装包

二、学习cidian包,并用cidian将单个搜狗词库转化为独立的.txt词库文件。

github上安装R包

下面讲解如何安装cidian包,包括一些cidian需要依附的其他包。需要注意的是,cidian包没有发布在CRAN中,而是发布在github.com中,安装需要使用install_github()函数。

注:github是世界上最大的第三方开源代码托管网站,许多R包的作者都把自己的代码放在github上进行托管与共享。

因为cidian没有经过CRAN发布,所以需要首先获得开发者工具才能进行安装。获得开发者工具的方法很简单,只要登陆https://cran.r-project.org/bin/windows/Rtools/,然后选择下载Rtools33就可以了(假设你现在的R版本是最新的)。

注:安装Rtools开发者工具,就好比,额,你root你的手机从而获得超级管理员权限一样……

接着,在安装cidian前,我们还需要先安装以下几个包:

1> install.packages("devtools") 2> install.packages("stringi") 3> install.packages("pbapply") 4> install.packages("Rcpp") 5> install.packages("RcppProgress")

1> “devtools”是一个R的开发者工具,由于cidian没有发布在CRAN上(可以认为是一个非正式的包),因此需要先安装开发者工具才能进行后续安装。

2> “stringi”是一个强大的字符处理包。

3> “pbapply”能够为*apply族函数增加进度条(progress bar)

4> “Rcpp”,“RcppProgress”能够让R直接调用外部的C++程序,大大增加运算速度(jieba本身就是一个C++库,jiebaR则是把这个C++库用R封装了)。

经过了这些铺垫,我们就可以安装cidian包了:

library(devtools) install_github("qinwf/cidian")

其中,install_github()是用来从github上安装R包的函数,“qinwf”的意思则是,额,cidian作者的名字应该叫秦文峰……

备词库文件

搜狗细胞词库的下载地址为:http://pinyin.sogou.com/dict/。点进去后小伙伴们可以搜索自己要的词库,在这里我们假设要使用的词库是“财经金融词汇大全【官方推荐】”,如下:

小伙伴们点击“立即下载”就可以下载到本地,词库的扩展名是.sel。大猫已经下载了非常多金融类的词库,如下:

行转换

转换代码如下:

dir.path <- "C:/财经金融词汇大全【官方推荐】.scel"

decode_scel(scel = str_c(dir.path, ".scel"),

output = paste0(dir.path, ".txt"),

cpp = TRUE,

progress = TRUE)

首先,我们建立变量dir.path用来保存词库的路径。注意,这里的路径需要带上扩展名!

其次,decode_scel()函数就是用来转换词库的关键函数——

参数scel用来给出细胞词库的路径(记住要带上扩展名哦);

output给出输出文件的路径,我们在这里把他放到了和原细胞词库同一个路径下面,并且将其扩展名改为.txt;

cpp = TRUE表示采用Rcpp(速度会更快)

progress = TRUE表示显示转换进度条。由于一般而言转换速度非常快,所以是否显示进度条意义不大。

最终,控制台输出告诉我们文件已经生成完毕:

转化后的txt词库文件的样子如下:

阶技巧

不知小伙伴们有没有发现,目前大猫教大家的方法只适用于单一的词库,如果需要一次性导入几十个乃至几百个词库,总不可能把路径一个个用硬代码写出来把?此外,如何把转化后的众多词库拼成一个单一的词库、并且去掉重复的词条呢?想知道更多技巧,请关注下一期的大猫的R语言课堂吧!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大猫的R语言课堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
3 条评论
热度
最新
Failed to install 'unknown package' from GitHub: HTTP error 404. Not Found Did you spell the repo owner (`qinwf`) and repo name (`cidian`) correctly? - If spelling is correct, check that you have the required permissions to access the repo.
Failed to install 'unknown package' from GitHub: HTTP error 404. Not Found Did you spell the repo owner (`qinwf`) and repo name (`cidian`) correctly? - If spelling is correct, check that you have the required permissions to access the repo.
11点赞举报
找到方法了吗
找到方法了吗
回复回复点赞举报
install_github("qinwf/cidian")后显示该地址不正确是什么问题?
install_github("qinwf/cidian")后显示该地址不正确是什么问题?
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
R语言︱文本挖掘——jiabaR包与分词向量化的simhash算法(与word2vec简单比较)
版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! https://blog.csdn.net/sinat_26917383/article/details/51068097
悟乙己
2019/05/27
2.2K0
读者Q&A: 分词时搜狗词库加载失败怎么办?
话说前几天“R语言中文社区II群”中的@骑着白马唱着歌童鞋私信大猫,说大猫的R语言课堂中有一期介绍的中文分词词典包“cidian”无法导入某个搜狗词库,大猫试了以下,果然如此,不论更改编码还是其它方法全都无法导入。大猫赶紧在github上给作者@qinwf发起了一个issue,今天刚收到回复,作者是怎么说的呢?
用户7652506
2020/10/23
9840
读者Q&A: 分词时搜狗词库加载失败怎么办?
如何用R进行中文分词?
Hello亲耐的小伙伴们!新一期的大猫课堂又和大家见面了。针对前几期课程,不少童鞋向大猫提出了一些非常好的建议,例如:把需要用到的包明确写出来,中间过程不要省略,增加一些基础知识的讲解等。大猫在这里由衷感谢所有提出建议的小伙伴们,同时向上几期的不尽人意之处表示歉意,我会继续努力哒!
用户7652506
2020/10/23
1.4K0
如何用R进行中文分词?
【Debug】如何在MAC上优雅的安装clusterProfiler包
如果直接把这2条命令复制运行,放心,在mac上是百分之百安装不上的。哈哈,且听我娓娓道来这一路上遇到的各种坑。
Chris生命科学小站
2023/02/28
1.9K0
【Debug】如何在MAC上优雅的安装clusterProfiler包
使用R语言将微信记录制作成词云(简洁)--情人节奥义
参照百度的方法,使用同步助手。安装同步助手--连接手机(安卓苹果均可)--点击“其他功能“--点击微信图标即可进入聊天记录导出界面(非常简单)。
用户1680321
2022/03/10
8370
使用R语言将微信记录制作成词云(简洁)--情人节奥义
R包来源及安装
说实话,自从之前好好学习了一下入门的R以后,一直没有用过R,很多东西都忘了,还是需要靠做笔记方便日后查阅。 本期讲一下R包的几种来源以及安装指定版本R包的几种方法。
小汪Waud
2023/02/16
1.7K0
R包来源及安装
R包来源及安装指定版本R包方法
说实话,自从之前好好学习了一下入门的R以后,一直没有用过R,很多东西都忘了,还是需要靠做笔记方便日后查阅。
小汪Waud
2023/02/03
13K0
R包来源及安装指定版本R包方法
用R进行文本挖掘与分析:分词、画词云
要分析文本内容,最常见的分析方法是提取文本中的词语,并统计频率。频率能反映词语在文本中的重要性,一般越重要的词语,在文本中出现的次数就会越多。词语提取后,还可以做成词云,让词语的频率属性可视化,更加直
小莹莹
2018/04/23
2.4K0
用R进行文本挖掘与分析:分词、画词云
为什么要用conda来安装一个R包
比如最近有小伙伴问到了popsicleR这个包,它还在GitHub上面,官网是:https://github.com/bicciatolab/popsicleR
生信菜鸟团
2022/05/23
9450
为什么要用conda来安装一个R包
用R进行文本分析初探——包含导入词库和和导入李白语句
用R进行文本分析初探——以《红楼梦》为例 一.写在前面的话~   刚吃饭的时候同学问我,你为什么要用R做文本分析,你不是应该用R建模么,在我和她解释了一会儿后,她嘱咐我好好写这篇博文,嗯为了娟儿同学,细细说一会儿文本分析。 文本数据挖掘(Text Mining)是指从文本数据中抽取有价值的信息和知识的计算机处理技术。顾名思义,文本数据挖掘是从文本中进行数据挖掘(Data Mining)。从这个意义上讲,文本数据挖掘是数据挖掘的一个分支。 文本分析是指对文本的表示及其特征项的选取;文本分析是文本挖掘、信息
学到老
2018/03/19
2.5K1
用R进行文本分析初探——包含导入词库和和导入李白语句
不同安装R语言的R包的方法
在R语言中,安装R包是数据分析过程中不可或缺的一部分。当你需要执行特定的统计测试、可视化或其他任务时,你可能会发现相应的功能已经被封装在一个或多个R包中。然而,对于新手或需要一次性安装多个R包的用户来说,这个过程可能会有些繁琐。为了大规模安装所需要的R包,你可以使用几种不同的方法。以下是两种常见的方法:
生信学习者
2024/06/13
1740
R 和 RStudio 的安装及 R Profile 的配置 & 爬取 CRAN 上的所有 R 包的名称、发布日期和标题
安装 R 现在最新版的 R 语言是 3.6.2 版本 (2019 年 12 月 12 日发布),该发行版的名字是 Dark and Stormy Night (漆黑暴风夜 ??),事实上只要用 3.0
王诗翔呀
2020/07/06
3.7K0
R 和 RStudio 的安装及 R Profile 的配置 & 爬取 CRAN 上的所有 R 包的名称、发布日期和标题
R语言︱文本挖掘之中文分词包——Rwordseg包(原理、功能、详解)
笔者寄语:与前面的RsowballC分词不同的地方在于这是一个中文的分词包,简单易懂,分词是一个非常重要的步骤,可以通过一些字典,进行特定分词。大致分析步骤如下:
悟乙己
2019/05/28
3.5K0
使用R语言的export包的时候遇到的报错和解决办法
我想把ggplot2做的图片直接保存成ppt,想到了之前的推文 《我不会用illustrator,只会用ppt!》 这里用到的是 export 包
用户7010445
2021/07/30
1.7K0
史上最贴心R包安装示范视频
1990年,伊丽莎白·牛顿在斯坦福大学通过研究一个简单的游戏获得了心理学博士学位。在这个游戏中,她把参与者分为两种角色:“敲击者”和“听众”。敲击者拿到一张25首名曲的单子,包括《祝你生日快乐》这种旋律简单的歌曲。每位敲击者挑选一首,把节奏敲给听众听(通过敲桌子)。听众的任务是根据敲击的节奏猜出歌曲。
生信技能树
2018/08/16
1.5K0
史上最贴心R包安装示范视频
如何在Ubuntu 14.04上设置R.
R是一种流行的开源编程语言,专门用于统计计算和图形。它被统计学家广泛用于开发统计软件和执行数据分析。R的优势之一是允许用户创作和提交自己的包,因此它具有高度且易于扩展的特点。众所周知,R社区非常活跃,并且因为不断为特定研究领域添加用户生成的统计软件包而着称,这使得R适用于许多研究领域。
八十岁的背影
2018/10/19
1.9K0
R包安装总是出错?这份汇总帮你一键解决!
为了方便用户高效开展生物信息学研究,天意云生信技术团队已在服务器环境中预装了上千款常用的生信软件及R语言软件包。这极大地简化了标准分析流程的部署。
天意生信云
2025/04/10
2570
R包安装总是出错?这份汇总帮你一键解决!
Seurat Weekly NO.13 || 依赖关系与维护
遇到报错第一步肯定是先去浏览器查询啦。方法是:复制Error:后面的信息,黏贴到浏览器(必应或者Google),按搜索按钮就可以了。相信我,你并不孤独。果然有很多人遇到这个问题了,而且已经给出了解决方案,并在Seurat问答池中形成讨论:
生信菜鸟团
2021/04/29
1.3K0
Seurat Weekly NO.13 || 依赖关系与维护
🤒 R包安装教程 | 熟悉的配方但不一样的味道
1写在前面 本期介绍一下R语言基础部分,R包的安装。🧐 大家肯定都觉得很简单,但往往简单的东西会有不一样的解决方案。 来See~ See~ 吧!😘 2基础安装 我们最常使用的就是install.packages()函数,来安装CRAN上的R包。 我们可以选择将单个包作为变量传输进入,也可以通过向量的形式进行多个R包的安装。 2.1 安装单个R包 install.packages("tidyverse") install.packages("ggstatsplot") install.packages("gg
生信漫卷
2022/10/31
1.3K0
🤒 R包安装教程 | 熟悉的配方但不一样的味道
R语言爬虫与文本分析
之前用python做过简单的爬虫与分析,今天尝试一下用R完成相应的功能。首先用R爬取了《了不起的麦瑟尔夫人》豆瓣短评作为语料,然后进行了词云绘制、关键词提取的基本操作。 语料爬取 寻找链接 之
三猫
2018/04/10
2K0
R语言爬虫与文本分析
推荐阅读
相关推荐
R语言︱文本挖掘——jiabaR包与分词向量化的simhash算法(与word2vec简单比较)
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档