python使用jieba分词,词频统计,基本使用

python采用第三方库进行中文分词,本文章只是记录文章。

1.需要下载第三方库jieba:

                cmd: pip install jieba

2.为了方便测试,在同级目录下,准备一个txt格式文件,文件名随意,这里我也是随便取的:

                文件路径可以是绝对路径,也可以是相对路径,看你的文件是放在什么位置

                使用相应路径

     文件内容

3.代码:

# 引入jieba分词库
import jieba

# 定义一个函数,用于接受一个路径
def read(path):
    # open打开系统文件,encoding='utf8'更好的支持中文 as取别名为f
    with open(path,'r',encoding='utf8') as f:
        lists = ''  #定义一个空变量,用于存储词汇
        for i in f:
            i = i.strip()  #去除空格符号
            lists += i
        return lists

file_path = 'nr.txt'
cut_file = jieba_lcut(file_path)
print(cut_file)

到这里,就可以进行基本的分词读取了, 如果仅仅使用jieba_lcut(arguments)的形式默认为精确模式,其他模式分别为:

                全模式(返回词汇数量更多):jieba_lcut(arguments,cut_all=True)

                搜索引擎模式(与全模式大同小异):jieba.lcut_for_search(arguments)

另外,向词典中添加新词:jieba.add_word(word)

 4.进行词频统计

需要注意这串代码:  dict[item] = dict.get(item,0) + 1

a.该部分运行逻辑是:如果字典里没有数据,则以当前遍历对象item作为健,等号后面为值

b.等号后面逻辑为:以item为索引获取字典对象,没有该数据则创建值,值为0,如果有该字典对象,返回该字典对象值,并+1

                dict.get(item) 返回的是键值对的值

# 该部分用于统计词频
def index(word):
    dict = {}
    for item in word:
        # 该部分运行逻辑是:如果字典里没有数据,则以当前遍历对象item作为健,等号后面为值
        # 等号后面逻辑为:以item为索引获取字典对象,没有该数据则创建值,赋值为0,如果有该字典对象,返回该字典对象值并+1
        dict[item] = dict.get(item,0) + 1
    return dict

5:完整代码如下

# 引入jieba分词库
import jieba

# 定义一个函数,用于接受一个路径
def read(path):
    # open打开系统文件,encoding='utf8'更好的支持中文 as取别名为f
    with open(path,'r',encoding='utf8') as f:
        lists = ''  #定义一个空变量,用于存储词汇
        for i in f:
            i = i.strip()  #去除空格符号
            lists += i
        return lists

# 该部分用于统计词频
def index(word):
    dict = {}
    for item in word:
        # 该部分运行逻辑是:如果字典里没有数据,则以当前遍历对象item作为健,等号后面为值
        # 等号后面逻辑为:以item为索引获取字典对象,没有该数据则创建值,赋值为0,如果有该字典对象,返回该字典对象值并+1
        dict[item] = dict.get(item,0) + 1
    return dict

# 调用函数
file = read('nr.txt')
x = jieba.lcut(file)
y = index(x)
print(y)

运行效果如下

 

  • 11
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自动販卖机

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值