小结:jieba分词的Python与R语言基础用法介绍

人们说话不是一个词一个词崩出来的,文章也就由句子组成。要想让机器识别美文,体会中华名族汉语的博大精深,不是不可能。但是,首先需要将其转化成其可以识别的模式——词语。分词是自然语言处理(NLP)中最底层、最基本的模块,分词精度的好坏将直接影响文本分析的结果。

这里介绍著名的分词方法:结巴分词以及基本分词方法在Python和R语言中的用法。

Python中的结巴分词

 Python中文分词的三种常用模式

  • 精确模式:

  • 全模式

  • 搜索引擎模式

三种模式默认都采用隐马尔科夫模型分词;同时,结巴分词支持繁体分词和自定义字典方法。

导入模块:import jieba(1)、精确模式:

Cut1不能直接查看,‘ ‘.join(cut1)函数指用空格分开cut1里面的元素,然后通过print()函数才能查看。

精确分词结果: 十堰 有 道家 发源地 武当山

(2)、全模式:全模式分词结果: 十堰 有 道家 发源 发源地 源地 武当 武当山

把所有可能的词都考虑进来了。“精确模式”其实有默认参数cut_all = False。显然,全模式不管分词后意思会不会有歧义,只管快速分出所有可能的词,不适合做文本分析。

(3)、搜索引擎模式:搜索引擎模式分词结果: 十堰 有 道家 发源 源地 发源地 武当 武当山

搜索引擎模式也会给出所有可能的分词结果,但是搜索引擎模式对于词典中不存在的词,比如一些很少见、新词,却能给出正确的分词结果。

添加自定义词典

提取关键词

对于一篇文章,提取关键词,比如指定提取5个关键词:

jieba.analyse.extract_tags(dat,topK = 5)

注意:亲测,词典一般是.txt,默认是ASCII格式,应该另存为utf8模式,为什么?——有中文。其实,帮助文档里面有的。

更多用法:help('jieba')获得更多详细介绍。

R语言结巴分词

"结巴"中文分词的R语言版本,支持最大概率法,隐式马尔科夫模型,索引模型,混合模型,共四种分词模式,同时有词性标注,关键词提取,文本Simhash相似度比较等功能。

包的下载与安装:

>install.packages('jiebaR')

> library(jiebaRD)

分词[1] "革命" "尚未" "成功" "同志" "仍" "需" "努力" [1] "革命" "尚未" "成功" "同志" "仍" "需" "努力"

词性标注:

可以使tag来进行分词和词性标注, 词性标注使用混合模型分词,标注采用和 ictclas 兼容的标记法。

> segment(test,seg)  vn      d      a      n     zg      v     ad

关键词提取:

关键词提取所使用逆向文件频率(IDF)文本语料库可以切换成自定义语料库的路径,使用方法与分词类似。topn参数为关键词的个数,这里只提取一个关键词:6.13553

Simhash 与海明距离:

对中文文档计算出对应的simhash值。simhash是谷歌用来进行文本去重的算法,现在广泛应用在文本处理中。Simhash引擎先进行分词和关键词提取,后计算Simhash值和海明距离。 $simhash

列表分词:list(test,test2), seg)[[1]]

去除停止词

>seg <- worker(stop_word = STOPPATH)

还有一些其它设置,比如:show_dictpath():显示默认的词典路径,有jieba.dict.utf8(最大概率法)、hmm_model.utf8(隐式马尔科夫模型),这两个都是作为分词需要用到的词典;idf.utf8(TF-IDF算法)、stop_words.utf8(停用词词典),这两个词典是做关键词抽取之用。edit_dict(name = "user"):默认编辑用户自定义词典,还有system(可以打开编辑jieba.dict.utf8),stop_word(停用词典)两个参数值供选择。

还有一些其它参数,具体参见help("jiebaR"),获取更多详细信息,学习利用帮助信息对于R语言的学习很重要。

其实,具体分词引擎worker()怎么设置,我们可以帮助一下:help('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, 引擎类型

欢迎留言、提建议,觉得不错,记得点赞分享哦!

猜你可能喜欢

640?wx_fmt=jpeg

终于等到你了!

再华丽的词藻也不过简单的分享!

爱生活、爱原创、爱分享!

点击【阅读原文】获得超值课程,降价40!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值