默认词库路径
显示默认词库路径:
show_dictpath() ### 显示词典路径
worker( dict="系统词典,先加载,可以设置词频",
user="用户词典,系统词典加载后加载,所有词的词频为系统词典的最大词频")
打开 R包安装目录 下的 library/jiebaR/dict/
目录下的 user.dict.utf8
文件(这个是默认载入的用户词典文件),直接往里面添加词就可以了。
用户词典打开后格式是这样的
云计算
韩玉鉴赏
蓝翔 nz
CEO
江大桥 x
系统词典打开后格式是这样的
云计算 12 n
韩玉鉴赏 23 nz
蓝翔 12 nz
CEO 100 x
江大桥 10 x
系统词典共有三列,第一列为词项,第二列为词频,第三列为词性标记。各列用空格分隔。用户词典有两列,第一列为词项,第二列为词性标记。用户词库默认词频为系统词库中的最大词频,如需自定义词频率,可将新词添加入系统词库中。
词典中的词性标记采用ictclas的标记方法。如果不知道怎么标记词性,可以不填写,直接导入词条就可以了。
转换词库推荐使用 深蓝词库转换 或者 分词词典工具 cidian 包 构建分词词库。它们可以快速地将搜狗细胞词库等输入法词库转换为jiebaR的词库格式。
注意:如果使用深蓝词库转换导出时不需要拼音项,导出词条即可。
比如用户词库只需要新建成如下:
摩尔定律
三角函数
内容存取存储器
操作系统
jieba.dict.utf8 是默认载入的系统词典,共有三列,第一列为词项,第二列为词频,第三列为词性标记。 user.dict.utf8
是默认载入的用户词典。
温馨提示
如果不使用另外的词典,新建worker的时候,可以不用指定词典路径,会自动查找,比如
> cutter = worker(type = "mix", dict = "D:/Program Files/R/R-3.1.2/library/jiebaR/dict/jieba.dict.utf8",
+ hmm = "D:/Program Files/R/R-3.1.2/library/jiebaR/dict/hmm_model.utf8",
+ user = "D:/Program Files/R/R-3.1.2/library/jiebaR/dict/user.dict.utf8",
+ detect=T, symbol = F,
+ lines = 1e+05, output = NULL
+ )
可以省略为
> cutter = worker(type = "mix")
如果指定用户词典目录,只需要写user这个参数就可以了,多写容易错,用默认就好。
> cutter = worker(type = "mix",user = "D:/somefile.xxx")
多词典 与 动态添加新词
v0.8 版本增加了多用户词典功能,多用户词典路径间用 |;
分隔。
还可以在原有 worker 上动态增加新词,使用 new_user_word
。
> cc = worker()
> cc["宠物小精灵"]
[1] "宠物" "小精灵"
> new_user_word(cc,"宠物小精灵","n")
[1] TRUE
> cc["宠物小精灵"]
[1] "宠物小精灵"
建立多个分词器
比如user词库,在 C:/user.txt
:
北京大学
清华大学
新建分词器 cutter1 = worker(user = “C:/user.txt”)
,
如果需要再加入几个大学,使用文本编辑器(推荐使用 VS Code 等较为专业的编辑器),打开这个文件,然后一行输入一个词,就可以了。输入完以后,需要重新加载worker,设置 user=”刚才设置的文本文件的路径”
。
北京大学
清华大学
浙江大学
新建分词器 cutter2 = worker(user = “C:/user.txt”)
,
这样,R 里就有两个分词器,可以调用任何一个分词器,对比不同分词器的结果。