python结巴分词的缺点_基于python的自然语言分析(三)-----结巴分词的基本功能...

因为Nltk的分词功能具有一定的局限性,所以我们在对中文的进行分词时,需要使用一些靠谱的中文分词工具,笔者在此使用的是结巴分词。

结巴分词的安装和其他包的安装基本一致,使用pip即可,在安装好后我们将对其基本功能进行熟悉和使用;

1)分词功能:结巴分词的分词功能有【全模式】和【精确模式】两种

# -*-coding:utf-8 -*-

import jieba

list_all=jieba.cut("我是一个计算机系的学生",cut_all=True)#全模式

print("/".join(list_all))

list_default=jieba.cut("我是一个计算机系的学生",cut_all=False)#精确模式

print("/".join(list_default))

list_seach=jieba.cut_for_search("我是一个宁波工程学院计算机系的学生")#搜索模式

print(",".join(list_seach))

sg_trans.gif

我们可以发现,全模式将显示所有被结巴分词词典含有的词,而精确模式则是在不改变原句的基础上按顺序

进行分词。而搜索模式则是适合用于搜索引擎构建倒排索引的分词,他的粒度也比较细。

2)词性标注:结巴分词还能在分词的同时对每个词的词性进行标注,从而达到减少无效词对研究的影响。

# - *-coding:utf-8

-*-

import

jieba.posseg as pseg

word=pseg.cut("我是一名宁波工程学院计科专业的学生")

for w in word:

print(w.word,w.flag)

sg_trans.gif

我们可以看到输出结果中,单句被分成了各成个体的词,并且对每个词都进行了标注,那么在以后的单词提取中,我们也就有了一个筛选的条件,也就提高了分析的效率。

3)自定义词典的引入

为了更好地对以后的研究做准备,我们经常会对jieba词典中没有地词进行补充,虽然结巴分词具有一定地新词学习能力,但是人工地对词典进行丰富,也大大地提高了正确率;

自定义词典格式为 词 词频

词性 三者之间用空格隔开。例如正能量 1000

n。

# -*-coding:utf-8

-*-

import

jieba.posseg as pseg

import jieba

jieba.load_userdict("userdict.txt")#用来导入自定义词库

word=jieba.cut("我是一名很有正能量的学生")

print("/".join(word))

result=pseg.cut("我是一名很有正能量的学生")

for r in

result:

print((r.word,r.flag),end='')

未导入自定义词典:

我/是/一名/很/有/正/能量/的/学生

('我', 'r')('是',

'v')('一名', 'm')('很', 'd')('有', 'v')('正',

'd')('能量', 'n')('的', 'uj')('学生', 'n')

导入自定义词典后:

我/是/一名/很/有/正能量/的/学生

('我', 'r')('是', 'v')('一名', 'm')('很',

'd')('有', 'v')('正能量', 'n')('的',

'uj')('学生', 'n')

我们可以发现在导入词典后,正能量这个原本不存在的词也被结巴分词认定为一个完整的词,也就达到了我们的目的;

而如何达到准确分析一篇文章,则需要利用三者的关系,以及其他工具来进行研究;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值