R语言词云和中文词典包。
jiebaR
jiebaR: for Chinese text segmentation
Quick Start
library(jiebaR) |
worker
:初始化分词器
1. worker函数
worker(type = "mix", #type指定返回词的结果类型 |
参数
- type:指定分词引擎
mp(最大概率模型)- 基于词典和词频
hmm(HMM模型)- 基于 HMM 模型,可以发现词典中没有的词
mix(混合模型)- 先用 mp 分,mp 分完调用 hmm 再来把剩余的可能成词的单字分出来。
query(索引模型)- mix 基础上,对大于一定长度的词再进行一次切分。
tag(标记模型)- 词性标记,基于词典的
keywords(关键词模型)- tf-idf 抽关键词
simhash(Simhash 模型) - 在关键词的基础上计算 simhash - user:用户词典路径
1.用户词典,包括词、词性标记两列。用户词典中的所有词的词频均为系统词典中的最大词频 (默认,可以通过 user_weight 参数修改)。
2.可以下载使用搜狗细胞词库,user=cidian::load_user_dict(filePath="词库路径")
- user_weight:用户词典中的词的词频
{“max”, “min”, “median”},默认为 “max”,系统词典中的最大值。 - idf:IDF词典,关键词提取时用
- stop_word:关键词提取使用的停止词库。分词时也可以使用,但是分词时使用的对应路径不能为默认的 jiebaR::STOPPATH。
2. 更新分词器
cutter=worker() #初始化分词器 |
3. 添加新词到已存在的分词器中
new_user_word(worker, words, tags = rep("n", length(words))) |
segment
:分词
segment(code, jiebar, mod = NULL) |
参数:
- code:中文文档
- jiebar:分词器
- mod:指定返回分词的结果类型(mp/hmm/mix/query)
标记
tagging(code, jiebar)
分词+标记
vector_tag(string, jiebar)
对已经分好的词进行标记
words = "我爱美丽家乡" |
关键词提取:基于系统词典词频
keywords(code, jiebar)
提取关键词
vector_keywords(segment, jiebar)
key = worker("keywords", topn = 1) |
Simhash 与距离
simhasher = worker("simhash", topn=2) |
词频统计
freq(x)
x为分词后的结果
cidian
cidian: Tools for Chinese Text Segmentation Dictionaries。用来转换搜狗细胞词库
Windows 安装 RTools,设置好对应的环境变量
- 安装
library(devtools) |
- 使用
decode_scel(scel = "细胞词库路径",output = "输出文件路径") |
- 读取词典和编辑词典文件
load_user_dict(filePath = "用户词典路径", default_tag = "默认标记")## 读取用户词典 |
评论