自写一个简单的中文分词脚本

自写一个简单的中文分词脚本

  1. 前言
    Python中有很多功能强大的模块,在一次实验中发现利用Python自带的collections模块即可完成对中文文本的分词,并且对词频进行统计。

  2. collections模块简介
    collections是Python内建的一个集合模块,提供了许多有用的集合类。
    collection中的类
    counter: 计数器,用于统计元素的数量。
    orderDict:有序字典。
    defaultdict:值带有默认类型的字典。
    namedtuple:可命名元组,通过名字来访问元组元素。
    deque :双向队列,队列头尾都可以放,也都可以取(与单向队列对比,单向队列只能一头放,另一头取)。

  3. 说明
    Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
    要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符

f = open(’/Users/michael/test.txt’, ‘r’)

  1. 代码简介

    from collections import Counter
    word_lst = []
    word_dict = {}
    
    #手动添加中文标点符号
    exclude_str = ",。!?、()【】<>《》=:+-*—“”…" 
    
    
    with open("C:\\Users\\10501\\Desktop\\file.txt","r") as fileIn ,open("C:\\Users\\10501\\Desktop\\file1.txt",'w') as fileOut:
    # 添加每一个字到列表中
     for line in fileIn:
    	for char in line:
        	word_lst.append(char)
    
    # 用字典统计每个字出现的个数       
     for char in word_lst:
       if char not in exclude_str:
        if char.strip() not in word_dict: # strip去除各种空白
            word_dict[char] = 1
        else :
            word_dict[char] += 1
    
    
    #使用Couner类统计字频
     c = Counter(word_dict)
    #输出结果
     print(c)
    
  2. 运行结果展示

可以看到,输出的内容都是以“字符{出现次数}”的键值对组成的,并且没有出现任何的标点符号,说明代码编写没有问题。
在这里插入图片描述

  1. 小结
    如果不考虑运行时长与效率的话,上述的简单小程序足已完成对中文文本的分词与词频统计,但是如果对时长有更高的要求的话,可以将中文标点符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值