r语言结巴函数怎么自定义用户词典

r语言结巴函数怎么自定义用户词典,第1张

show_dictpath() #显示字典路径(如果不知道字典路径可以查询)

edit_dict() #用户词典,可以直接调出该文档并编写,但是记得保存后重新加载一次分词引擎

这个就是内置调用字典的

你可以再work函数中有个参数好像叫user,可以自己用text写一列字典,用utf-8编码的,然后引用这个path就可以了

最复杂的就是这一行了:

(word for word in jieba.cut(line,HMM=True)if word not in stop and len(word.strip())>1)

jieba.cut(line)将一行字符串,分割成一个个单词

word for word in jieba.cut(line,HMM=True)是一个Python的表理解,相当于for循环遍历分割好的一个个单词

if word not in stop and len(word.strip())>1这仍然是表理解的一部分,如果满足条件,就把单词加入到一个新的列表中,如果不满足就丢弃,

word not in stop单词不在停用词当中

len(word.strip())>1单词去掉首尾的空格、标点符号后的长度大于1

Python代码

#encoding=utf-8  

import jieba  

  

seg_list = jieba.cut("我来到北京清华大学",cut_all=True)  

print "Full Mode:", "/ ".join(seg_list) #全模式  

  

seg_list = jieba.cut("我来到北京清华大学",cut_all=False)  

print "Default Mode:", "/ ".join(seg_list) #默认模式  

  

seg_list = jieba.cut("他来到了网易杭研大厦")  

print ", ".join(seg_list)

输出: 

Full Mode: 我/ 来/ 来到/ 到/ 北/ 北京/ 京/ 清/ 清华/ 清华大学/ 华/ 华大/ 大/ 大学/ 学  

  

Default Mode: 我/ 来到/ 北京/ 清华大学  

  

他, 来到, 了, 网易, 杭研, 大厦    (此处,“杭研”并没有在词典中,但是也被Viterbi算法识别出来了)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11674097.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存