本项目用于文本分析的基础学习。 如果你对此感兴趣,可以Star。
-
QQ: 2316705476
-
E-mail: baozicrd@foxmail.com
-
WECHAT: JMbaozi
-
WEIBO: @追风若航
- 由红楼梦研究所校注、人民文学出版社出版的《红楼梦》以庚辰(1760)本《脂砚斋重评石头记》为底本,以甲戌(1754)本、已卯(1759)本、蒙古王府本、戚蓼生序本、舒元炜序本、郑振铎藏本、红楼梦稿本、列宁格勒藏本(俄藏本)、程甲本、程乙本等众多版本为参校本。下载链接
- 网络下载的《红楼梦.txt》下载链接
- 代码
# encoding=utf-8
import jieba
seg_list = jieba.cut("_text", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list)) # 精确模式
-
实例
- “也想要到人间去享一享这荣华富贵。”经过分词后变为“也/想要/到/人间/去/享一享/这/ 荣华富贵。”;
- “将一块大石登时变成一块鲜明莹洁的美玉”经过分词后变为“将/一块/大石/登时/变成/一块/鲜明/莹洁/的/美玉”;
- “然后好携你到那昌明隆盛之邦、诗礼簪缨之族、花柳繁华地、温柔富贵乡去安身乐业。”经过分词后变为“然后/好/携/你/到/那/昌明/隆盛/之邦/ 、/诗礼/簪缨/之族/ 、/花柳/繁华/地/ 、/温柔/富贵/乡去/安身乐业/。”;
- “原来女娲氏炼石补天之时,于大荒山无稽崖炼成高经十二丈、方经二十四丈顽石三万六千五百零一块。”经过分词后变为“原来/女娲/氏/炼石补天/之/时/,/于/大/荒山/无稽/崖/炼成/高经/十二/丈/、/方经/二十四丈/顽石/三万/六千五百/零/一块/。”。
-
导入自定义词典
- 《红楼梦》词典
- 以dict.txt形式导入
jieba.load_userdict('dict.txt')
- 以单个词导入
jieba.add_word(word,freq = None,tag = None)
- 实例
import jieba data = "原来女娲氏炼石补天之时,于大荒山无稽崖炼成高经十二丈、方经二十四丈顽石三万六千五百零一块。" jieba.load_userdict('hlmdicttest.txt') cut_result = jieba.cut(data) print('=='*20) print('/'.join(cut_result))
女娲氏炼石补天之时,于大荒山无稽崖炼成高经十二丈、方经二十四丈顽石三万六千五百零一块。”经过分词后变为“原来/女娲氏/炼石补天/之/时/,/于/大荒山/无稽崖/炼成/高经十二丈/、/方经二十四丈/顽石/三万/六千五百/零/一块/”
- 词性列表
- 代码
import jieba.posseg as pseg
words = pseg.cut("_text")
for word, flag in words:
print('%s %s' % (word, flag))
- 实例
- “你看看这玉上穿的穗子”: 你r看看v这r玉n上f穿v的uj穗子n
- “那贾母见他两个都生了气,只说趁今儿那边看戏,他两个见了也就完了,不想又都不去。”: 那 r 贾母nr 见v他r两个m都d生v了ul气n ,x只说c趁p今儿t那边r看v戏n,x他r两个m见v了ul也d就d完v了ul,x不想v又d都d不d去v 。x
- “一时宝钗、凤姐儿去了,黛玉笑向宝玉道:"你也试着比我利害的人了。谁都像我心拙口笨的,由着人说呢!"宝玉正因宝钗多了心,自己没趣,又见黛玉来问着他,越发没好气起来。待要说两句,又恐黛玉多心,说不得忍着气,无精打彩一直出来了。”: 一m时宝钗nr、x凤姐儿nr去v了ul,x黛玉笑nr向宝玉nr道 q:x"x你r也d试v着uz比p我r利害v的uj人n了ul。x谁r都d像v我心n拙ag口q笨a的uj,x由着c人n说v呢y!x"x宝玉nr正d因p宝钗nr多m了ul心s,x自己r没趣v,x又d见v黛玉nr来v问v着uz他r,x越发d没好气l起来v。x待v要说c两句m,x又d恐d黛玉nr多心n,x说不得l忍v着uz气n,x无精打彩i一直d出来v了ul。x
-
语句关键词提取
-
代码
#jieba.analyse.extract_tags(string,topK=20,withWeight=True,allowPOS=(" ")) #string:待处理语句 #topK:返回TF、IDF权重最大的关键字的个数,默认20 #withWeight:是否返回权重值,默认false #allowPOS:是否仅返回指定类型,默认为空 import jieba.analyse # 字符串前面加u表示使用unicode编码 content = u'_test' keywords = jieba.analyse.extract_tags(content, topK=20,withWeight=True, allowPOS=()) # 访问提取结果 for item in keywords: print(item[0], item[1])
-
实例
“原来贾珍近因居丧,每不得游顽旷荡,又不得观优闻乐作遣.无聊之极,便生了个破闷之法. 日间以习射为由,请了各世家弟兄及诸富贵亲友来较射.因说:"白白的只管乱射,终无裨益,不但不能长进,而且坏了式样,必须立个罚约,赌个利物,大家才有勉力之心."因此在天香楼下箭道内立了鹄子,皆约定每日早饭后来射鹄子.贾珍不肯出名, 便命贾蓉作局家.这些来的皆系世袭公子,人人家道丰富,且都在少年,正是斗鸡走狗,问柳评花的一干游荡纨裤.因此大家议定,每日轮流作晚饭之主,----每日来射, 不便独扰贾蓉一人之意.于是天天宰猪割羊,屠鹅戮鸭,好似临潼斗宝一般,都要卖弄自己家的好厨役好烹炮.不到半月工夫,贾赦贾政听见这般,不知就里,反说这才是正理, 文既误矣,武事当亦该习,况在武荫之属.两处遂也命贾环,贾琮,宝玉,贾兰四人于饭后过来,跟着贾珍习射一回,方许回去.”
关键词:由于文字较少,所以按权值占比选前五个 贾珍 0.2248850718385 每日 0.15875041022175002 问柳评花 0.11583898043333334 临潼斗宝 0.11583898043333334 纨裤 0.10428652742416666
-
-
文本关键词提取
-
代码
from jieba.analyse import * with open('_test.txt',encoding = 'utf-8') as f: data = f.read() for keyword, weight in extract_tags(data, topK=10, withWeight=True): print('%s %s' % (keyword, weight))
-
实例
以 hongloumeng.txt为例
关键词:取权值占比前十个 宝玉 0.11174015386450631 贾母 0.04096279485052852 凤姐 0.03679341393983838 王夫人 0.03238483108809296 老太太 0.029228577284745143 奶奶 0.025319232252404632 那里 0.024846723669342888 什么 0.024490410824605114 贾琏 0.02434048230267443 太太 0.024266427970154856
-
自定义部分停用词
from jieba.analyse import * import jieba stopwords = ['奶奶','那里','什么','姑娘','说道','众人','如今','一面','你们','袭人','只见'] with open('hongloumeng.txt',encoding = 'utf-8') as f: data = f.read() for keyword, weight in extract_tags(data, topK=21, withWeight=True): tag = 1 for i in range(11): if keyword == stopwords[i]: tag = 0 if tag == 1: print('%s %s' % (keyword,weight))
结果:
宝玉 0.11174015386450631 贾母 0.04096279485052852 凤姐 0.03679341393983838 王夫人 0.03238483108809296 老太太 0.029228577284745143 贾琏 0.02434048230267443 太太 0.024266427970154856 平儿 0.02184055288925734 宝钗 0.01920189352608345 黛玉 0.018863309330642977
-
Waiting to be added