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)
运行效果如下
文章来源:https://www.toymoban.com/news/detail-471468.html
文章来源地址https://www.toymoban.com/news/detail-471468.html
到了这里,关于python使用jieba分词,词频统计,基本使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!