jieba库介绍
【摘要】 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()
提取句子级的关键字
- 安装jieba
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba
- 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’,提取地名、名词、动名词、动词 |
- 举例
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)