jieba库介绍

举报
北山啦 发表于 2021/05/26 01:04:05 2021/05/26
【摘要】 jieba.analyse.extract_tags()提取句子级的关键字 提取关键字 jieba.analyse.extract_tags()提取句子级的关键字 安装jieba pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba 1 jieba.analyse.extract_tag...

jieba.analyse.extract_tags()提取句子级的关键字

在这里插入图片描述

提取关键字

jieba.analyse.extract_tags()提取句子级的关键字

  1. 安装jieba
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba

  
 
  • 1
  1. jieba.analyse.extract_tags():
jieba.analyse.extract_tags( sentence, topK=20, withWeight=False, allowPOS=(), withFlag=False,
)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
参数 解释
sentence 需要提取的字符串,必须是str类型,不能是list
topK 提取前多少个关键字
withWeight 是否返回每个关键词的权重
allowPOS 是允许的提取的词性,默认为allowPOS=‘ns’, ‘n’, ‘vn’, ‘v’,提取地名、名词、动名词、动词
  1. 举例
import jieba
import jieba.analyse

sentence = "本科及以上学历,计算机、数学等相关专业重点学校在校生(硕士为佳)-- 至少掌握一门编程语言,\
包括SQL。熟悉Linux;"

keywords = jieba.analyse.extract_tags(sentence, topK=20, withWeight=True, allowPOS=('n', 'nr', 'ns'))

for item in keywords: print(item[0], item[1])

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
编程语言 1.426971375275
在校生 1.3403279777
硕士 1.1087799663225
计算机 0.85059805386
数学 0.826042559475
专业 0.7741456821725
学校 0.71152323753
重点 0.6565789565175

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
import jieba
import jieba.analyse
sentence = "本科及以上学历,计算机、数学等相关专业重点学校在校生(硕士为佳)-- 至少掌握一门编程语言,包括SQL。熟悉Linux;"
key = ["  ".join(jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=('n', 'nr', 'ns')))]
print(key)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
['编程语言  在校生  硕士  计算机  数学  专业  学校  重点']

  
 
  • 1

分词介绍

在这里插入图片描述
举例:

import jieba
#你要运行的文件
import paddle
paddle.enable_static()
jieba.enable_paddle()
strs=["我来到北京清华大学","乒乓球拍卖完了","中国科学技术大学"]
for str in strs: seg_list = jieba.cut(str,use_paddle=True) # 使用paddle模式 print("Paddle Mode: " + '/'.join(list(seg_list)))

seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list))  # 全模式

seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list))  # 精确模式

seg_list = jieba.cut("他来到了网易杭研大厦")  # 默认是精确模式
print(", ".join(seg_list))

seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造")  # 搜索引擎模式
print(", ".join(seg_list))

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

在这里插入图片描述

统计中文词频

文本来源于计算机二级Python

# -*- coding: utf-8 -*-
import jieba
txt = open("三国演义.txt", "r", encoding='utf-8').read()
#def get_text():
# txt = open("1.txt", "r", encoding='UTF-8').read()
# txt = txt.lower()
# for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':
# txt = txt.replace(ch, " ") # 将文本中特殊字符替换为空格
# return txt
 
counts = {} for word in words: if len(word) == 1: # 单个词语不计算在内 continue else: counts[word] = counts.get(word, 0) + 1 items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True) for i in range(3): word, count = items[i] print("{0:<5}{1:>5}".format(word, count))

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

当然也可以用计数器collections.Counter,更为简单

到这里就结束了,如果对你有帮助,欢迎点赞关注评论,你的点赞对我很重要,author:北山啦

文章来源: beishan.blog.csdn.net,作者:北山啦,版权归原作者所有,如需转载,请联系作者。

原文链接:beishan.blog.csdn.net/article/details/116497598

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。