实现来看一下jiebaR 里面最重要的一个函数worker,通过它,我们可以设置一些分词类型,用户字典,停用词等等,函数语法为:
worker(type = "mix" , dict = DICTPATH , hmm = HMMPATH , user = USERPATH , idf = IDFPATH , stop_word = STOPPATH , write = T , qmax = 20 , topn = 5 , encoding = "UTF-8" , detect = T , symbol = F , lines = 1e+05 , output = NULL , bylines = F , user_weight = "max" )
参数注释:
参数 |
作用 |
type |
指分词引擎类型,这个包包括mix,mp,hmm,full,query,tag,simhash,keyword,分别指混合模型,支持最大概率,隐式马尔可夫模型,全模式,索引模型,词性标注,文本simhash相似度比较,关键字提取。 |
dict |
词库路径,默认为dictpath |
hmm |
|
user |
用户自定义的词库 |
idf |
|
stop_word |
用来指定停词的路径 |
qmax |
词的最大查询长度,默认为20,可用于query分词类型 |
topn |
关键词的个数,默认为5,可以用于simhash和keyword分词类型 |
symbol |
输出是否保留符号,默认为F |
Lines |
文件中最大一次读取的行数,默认为100000行 |
output |
输出文件,文件名一般以系统时间结尾 |
bylines |
返回输入的文件有多少行 |
user_weight |
用户词典的词权重,有“min”,“max”,“median”三个选项 |
另外一个函数是segment,有三个参数,code 好比一个任务,jiebar就是一个worker,到那时担心worker 对工作的方法不懂,那就用mode 参数告诉worker 怎么做,也就是用什么分词引擎分词,作用分别如下:
参数 |
作用 |
code |
中文句子或者文件 |
jiebar |
设置分词的引擎,也就是worker函数 |
mod |
改变默认的分词引擎类型,其中包括以下几个: "mix", "hmm","query","full","level", "mp"
|
接着做一个小测试:
原文:https://www.cnblogs.com/RHadoop-Hive/p/9447856.html