Python中文分词工具(jieba库)

----要求----

键盘输入一句话,用jieba分词后,将切分的词组按照在原话中逆序输出到屏幕上,词组中间没有空格。

----代码示例---

import jieba
txt = input("请输入一段中文文本:")    
# 通过 input() 函数获取用户输入的一段中文文本,并将其保存在变量 txt 中 
ls = jieba.lcut(txt)   
# 利用 jieba 库中的 lcut 方法对用户输入的中文文本进行分词,将分词结果保存在列表 ls 中
for i in ls[::-1]:
    print(i,end="")
# 使用 for 循环遍历列表 ls 中的分词结果,但是使用切片操作 ls[::-1] 将列表倒序排列,然后利用 print(i, end="") 语句以不换行的方式输出每个分词。

-----jieba库使用规则-----

1. 分词

import jieba

txt = "我喜欢自然语言处理"
seg_list = jieba.cut(txt, cut_all=True)
# jieba.cut() 函数用于对文本进行分词,参数 cut_all=True 表示使用全模式分词。全模式下,会对文本中所有可能的词语进行分词,返回所有分词结果
print("全模式: " + "/ ".join(seg_list))  
# 使用了字符串的 join 方法,将分词结果 seg_list 中的词语用斜杠和空格连接起来,然后与前缀 "全模式: " 连接

如果分词结果为 ["我", "喜欢", "自然", "语言", "处理"],那么经过字符串连接后的输出就是 "全模式: 我/ 喜欢/ 自然/ 语言/ 处理"。

2. 词性标注

import jieba.posseg as pseg

words = pseg.cut("我爱自然语言处理")  
# jieba.posseg.cut() 函数用于对文本进行分词,并返回每个词语以及其对应的词性。
for word, flag in words:
# 在循环中,word 变量表示每个词语,flag 变量表示该词语的词性
    print('%s %s' % (word, flag))
# 利用Python的字符串格式化功能,将每个词语和其对应的词性以一定格式打印出来

3. 关键词提取

import jieba.analyse

content = "文本内容..."
# content 变量是待提取关键词的文本内容。
keywords = jieba.analyse.extract_tags(content, topK=10)
# jieba.analyse.extract_tags() 函数用于从给定的文本内容中提取关键词。
# topK=10 表示提取出权重最高的前10个关键词。
# keywords 是一个列表,包含了提取出的关键词。
print(keywords)

4. 文本摘要生成

import jieba.analyse

content = "文本内容..."
summary = jieba.analyse.textrank(content, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v'))
# jieba.analyse.textrank() 函数用于根据给定的文本内容生成文本摘要。
# withWeight=False 表示生成的摘要不包含词语的权重信息。
# allowPOS=('ns', 'n', 'vn', 'v') 表示只考虑文本中名词、动词和形容词等词性的词语作为摘要的候选词.
print(summary)

5. 加载自定义词典

import jieba

jieba.load_userdict("userdict.txt")  
# userdict.txt是自定义词典文件
# jieba.load_userdict() 函数用于加载自定义的词典文件,以便分词时能够识别其中的自定义词汇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值