我爱编程

分词练习

2018-05-27  本文已影响0人  Carina_55

使用ICTCLAS(NLPIR)在线分词工具和jieba分词组件进行分词练习。

一. ICTCLAS

1.简介

汉语词法分析系统ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System)由中国科学院计算技术研究所研制。主要功能包括中文分词;词性标注;命名实体识别;新词识别;同时支持用户词典。先后精心打造五年,内核升级6次,目前已经升级到了ICTCLAS3.0。ICTCLAS3.0分词速度单机996KB/s,分词精度98.45%,API不超过200KB,各种词典数据压缩后不到3M,是当前世界上最好的汉语词法分析器。

2. 使用ICTCLAS分析文本

ICTCLAS在线界面如下图


Xshot-0001.png

现使用该工具分析一段文本
来源:百度百科中关于春节的部分介绍

春节是指汉字文化圈传统上的农历新年,俗称“年节”,传统名称为新年、大年、新岁,但口头上又称度岁、庆新岁、过年。中国人过春节已有4000多年的历史。在现代,人们把春节定于农历正月初一,但一般至少要到正月十五(上元节)新年才算结束,在民间,传统意义上的春节是指从腊月的腊祭或腊月二十三或二十四的祭灶,一直到正月十九。在春节期间,中国的汉族和一些少数民族都要举行各种庆祝活动。这些活动均以祭祀祖神、祭奠祖先、除旧布新、迎禧接福、祈求丰年为主要内容,形式丰富多彩,带有浓郁的各民族特色。受到中华文化的影响,属于汉字文化圈的一些国家和民族也有庆祝春节的习俗。人们在春节这一天都尽可能地回到家里和亲人团聚,表达对未来一年的热切期盼和对新一年生活的美好祝福。春节是中华民族最隆重的传统佳节,同时也是中国人情感得以释放、心理诉求得以满足的重要载体,是中华民族一年一度的狂欢节和永远的精神支柱。春节与清明节、端午节、中秋节并称为中国四大传统节日。

1.1分词标注 Xshot-0002.png
将文本进行全模式切分,将所有能成词的词语都扫描出来,并标注所有字词的词性,用户还能添加自定义词语使一些特殊词语能得到准确切分,但仍有有歧义或未能识别出的词语,例如新年、大年被切分开,而下图中诉求、得以被切分错误。 Xshot-0004.png 1.2 实体抽取 Xshot-0005.png

可通过图表或文本的形式展现实体的划分,包括实体类型和实体内容,分词标注未能准确切分的词语无法得到显示,例如大年、新岁实际上也属于时间实体。

1.3 词频统计 Xshot-0006.png

按词性将词语分为三大类,统计各词语出现的次数。

1.4 文本分类 Xshot-0007.png 1.5 情感分析 Xshot-0008.png 1.6 关键词提取 Xshot-0009.png 1.7 Word2vec Xshot-0010.png

word2vec 是 Google 在 2013 年年中开源的一款将词表征为实数值向量的高效工具,可以把对文本内容的处理简化为 K 维向量空间中的向量运算,而向量空间上的相似度可以用来表示文本语义上的相似度,即图中所展现的就是各个词语之间的相关度。

二. jieba

1. 简介

1.1 jieba具有三种分词模式:
精确模式:试图将句子最精确地切开,适合文本分析;
全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率(即查全率),适合用于搜索引擎分词。
jieba还支持繁体分词、支持自定义词典

2. 使用jieba分析文本

打开cmd,切换到jieba所在的目录,用以下命令安装jieba
python setup.py install

2.1 基本分词语法

• jieba.cut 方法接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型。
• jieba.cut_for_search 方法接受两个参数:需要分词的字符串;是否使用 HMM 模型。该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细。
• 待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建议直接输入 GBK 字符串,可能无法预料地错误解码成 UTF-8。
• jieba.cut 以及 jieba.cut_for_search 返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语(unicode),或者用jieba.lcut 以及 jieba.lcut_for_search 直接返回 list。
•jieba.Tokenizer(dictionary=DEFAULT_DICT) 新建自定义词器,可用于同时使用不同词典。jieba.dt 为默认分词器,所有全局分词相关函数都是该分词器的映射。

在pycharm中新建python文件,对相同文本进行分词分析

#encoding=utf-8
import jieba

#精确模式
seg_list=jieba.cut("春节是指汉字文化圈传统上的农历新年,俗称“年节”,传统名称为新年、大年、新岁,但口头上又称度岁、庆新岁、过年。中国人过春节已有4000多年的历史。在现代,人们把春节定于农历正月初一,但一般至少要到正月十五(上元节)新年才算结束,在民间,传统意义上的春节是指从腊月的腊祭或腊月二十三或二十四的祭灶,一直到正月十九。在春节期间,中国的汉族和一些少数民族都要举行各种庆祝活动。这些活动均以祭祀祖神、祭奠祖先、除旧布新、迎禧接福、祈求丰年为主要内容,形式丰富多彩,带有浓郁的各民族特色。受到中华文化的影响,属于汉字文化圈的一些国家和民族也有庆祝春节的习俗。人们在春节这一天都尽可能地回到家里和亲人团聚,表达对未来一年的热切期盼和对新一年生活的美好祝福。春节是中华民族最隆重的传统佳节,同时也是中国人情感得以释放、心理诉求得以满足的重要载体,是中华民族一年一度的狂欢节和永远的精神支柱。春节与清明节、端午节、中秋节并称为中国四大传统节日。",cut_all=True)
print("Full Mode:",",".join(seg_list))

#全模式
seg_list=jieba.cut("春节是指汉字文化圈传统上的农历新年,俗称“年节”,传统名称为新年、大年、新岁,但口头上又称度岁、庆新岁、过年。中国人过春节已有4000多年的历史。在现代,人们把春节定于农历正月初一,但一般至少要到正月十五(上元节)新年才算结束,在民间,传统意义上的春节是指从腊月的腊祭或腊月二十三或二十四的祭灶,一直到正月十九。在春节期间,中国的汉族和一些少数民族都要举行各种庆祝活动。这些活动均以祭祀祖神、祭奠祖先、除旧布新、迎禧接福、祈求丰年为主要内容,形式丰富多彩,带有浓郁的各民族特色。受到中华文化的影响,属于汉字文化圈的一些国家和民族也有庆祝春节的习俗。人们在春节这一天都尽可能地回到家里和亲人团聚,表达对未来一年的热切期盼和对新一年生活的美好祝福。春节是中华民族最隆重的传统佳节,同时也是中国人情感得以释放、心理诉求得以满足的重要载体,是中华民族一年一度的狂欢节和永远的精神支柱。春节与清明节、端午节、中秋节并称为中国四大传统节日。",cut_all=False)
print("Default Mode:",",".join(seg_list))

#默认是精确模式
seg_list=jieba.cut("春节是指汉字文化圈传统上的农历新年,俗称“年节”,传统名称为新年、大年、新岁,但口头上又称度岁、庆新岁、过年。中国人过春节已有4000多年的历史。在现代,人们把春节定于农历正月初一,但一般至少要到正月十五(上元节)新年才算结束,在民间,传统意义上的春节是指从腊月的腊祭或腊月二十三或二十四的祭灶,一直到正月十九。在春节期间,中国的汉族和一些少数民族都要举行各种庆祝活动。这些活动均以祭祀祖神、祭奠祖先、除旧布新、迎禧接福、祈求丰年为主要内容,形式丰富多彩,带有浓郁的各民族特色。受到中华文化的影响,属于汉字文化圈的一些国家和民族也有庆祝春节的习俗。人们在春节这一天都尽可能地回到家里和亲人团聚,表达对未来一年的热切期盼和对新一年生活的美好祝福。春节是中华民族最隆重的传统佳节,同时也是中国人情感得以释放、心理诉求得以满足的重要载体,是中华民族一年一度的狂欢节和永远的精神支柱。春节与清明节、端午节、中秋节并称为中国四大传统节日。")
print(",".join(seg_list))

#搜索引擎模式
seg_list=jieba.cut_for_search("春节是指汉字文化圈传统上的农历新年,俗称“年节”,传统名称为新年、大年、新岁,但口头上又称度岁、庆新岁、过年。中国人过春节已有4000多年的历史。在现代,人们把春节定于农历正月初一,但一般至少要到正月十五(上元节)新年才算结束,在民间,传统意义上的春节是指从腊月的腊祭或腊月二十三或二十四的祭灶,一直到正月十九。在春节期间,中国的汉族和一些少数民族都要举行各种庆祝活动。这些活动均以祭祀祖神、祭奠祖先、除旧布新、迎禧接福、祈求丰年为主要内容,形式丰富多彩,带有浓郁的各民族特色。受到中华文化的影响,属于汉字文化圈的一些国家和民族也有庆祝春节的习俗。人们在春节这一天都尽可能地回到家里和亲人团聚,表达对未来一年的热切期盼和对新一年生活的美好祝福。春节是中华民族最隆重的传统佳节,同时也是中国人情感得以释放、心理诉求得以满足的重要载体,是中华民族一年一度的狂欢节和永远的精神支柱。春节与清明节、端午节、中秋节并称为中国四大传统节日。")
print(",".join(seg_list))


得到的分词结果如下:

D:\Anaconda3\python.exe D:/jieba/text.py
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\ADMINI~1\AppData\Local\Temp\jieba.cache
Loading model cost 5.195 seconds.
Prefix dict has been built succesfully.
Full Mode: 春节/是/指/汉字/文化/文化圈/传统/上/的/农历/新年///俗称///年节////传统/传统名称/名称/称为/新年///大年///新岁///但/口头/口头上/头上/又称/度/岁///庆/新岁///过年///中国/国人/过/春节/已有/4000/多年/的/历史///在/现代///人们/把/春节/定于/农历/正月/正月初/正月初一/月初/初一///但/一般/至少/要到/正月/正月十五/十五///上元/上元节///新年/才/算/结束///在/民间///传统/传统意义/意义/上/的/春节/是/指/从/腊月/的/腊/祭/或/腊月/二十/二十三/十三/或/二十/二十四/十四/的/祭灶///一直/直到/正月/十九///在/春节/节期/期间///中国/的/汉族/和/一些/少数/少数民族/民族/都/要/举行/各种/庆祝/活动///这些/活动/均/以/祭祀/祀祖/神///祭奠/祖先///除旧/除旧布新///迎/禧/接/福///祈求/丰年/为主/主要/内容///形式/丰富/丰富多彩/多彩///带有/浓郁/的/各/民族/民族特色/特色///受到/中华/中华文化/华文/文化/的/影响///属于/汉字/文化/文化圈/的/一些/国家/和/民族/也/有/庆祝/春节/的/习俗///人们/在/春节/这/一天/天都/尽可/尽可能/可能/地/回到/家里/和亲/亲人/团聚///表达/对/未来/一年/的/热切/期盼/和/对/新/一年/一年生/生活/的/美好/祝福///春节/是/中华/中华民族/民族/最/隆重/的/传统/佳节///同时/也/是/中国/国人/人情/情感/得以/释放///心理/诉求/求得/得以/满足/的/重要/载体///是/中华/中华民族/民族/一年/一年一度/一度/的/狂欢/狂欢节/和/永远/的/精神/精神支柱/支柱///春节/与/清明/清明节///端午/端午节///中秋/中秋节/秋节/并称/称为/中国/国四/四大/传统/传统节日/节日//
Default Mode: 春节/是/指/汉字/文化圈/传统/上/的/农历/新年/,/俗称/“/年节/”/,/传统名称/为/新年/、/大/年/、/新岁/,/但/口头上/又称/度岁/、/庆/新岁/、/过年/。/中国/人过/春节/已有/4000/多年/的/历史/。/在/现代/,/人们/把/春节/定于/农历/正月初一/,/但/一般/至少/要/到/正月十五/(/上元节/)/新年/才/算/结束/,/在/民间/,/传统意义/上/的/春节/是/指/从/腊月/的/腊/祭/或/腊月/二十三/或/二十四/的/祭灶/,/一直/到/正月/十九/。/在/春节/期间/,/中国/的/汉族/和/一些/少数民族/都/要/举行/各种/庆祝/活动/。/这些/活动/均/以/祭祀/祖神/、/祭奠/祖先/、/除旧布新/、/迎禧/接福/、/祈求/丰年/为/主要/内容/,/形式/丰富多彩/,/带有/浓郁/的/各/民族特色/。/受到/中华文化/的/影响/,/属于/汉字/文化圈/的/一些/国家/和/民族/也/有/庆祝/春节/的/习俗/。/人们/在/春节/这/一天/都/尽可能/地/回到/家里/和/亲人/团聚/,/表达/对/未来/一年/的/热切/期盼/和/对/新/一年/生活/的/美好/祝福/。/春节/是/中华民族/最/隆重/的/传统/佳节/,/同时/也/是/中国/人/情感/得以/释放/、/心理/诉求/得以/满足/的/重要/载体/,/是/中华民族/一年一度/的/狂欢节/和/永远/的/精神支柱/。/春节/与/清明节/、/端午节/、/中秋节/并/称为/中国/四大/传统节日/。
春节,是,指,汉字,文化圈,传统,上,的,农历,新年,,,俗称,“,年节,”,,,传统名称,为,新年,、,大,年,、,新岁,,,但,口头上,又称,度岁,、,庆,新岁,、,过年,。,中国,人过,春节,已有,4000,多年,的,历史,。,在,现代,,,人们,把,春节,定于,农历,正月初一,,,但,一般,至少,要,到,正月十五,(,上元节,),新年,才,算,结束,,,在,民间,,,传统意义,上,的,春节,是,指,从,腊月,的,腊,祭,或,腊月,二十三,或,二十四,的,祭灶,,,一直,到,正月,十九,。,在,春节,期间,,,中国,的,汉族,和,一些,少数民族,都,要,举行,各种,庆祝,活动,。,这些,活动,均,以,祭祀,祖神,、,祭奠,祖先,、,除旧布新,、,迎禧,接福,、,祈求,丰年,为,主要,内容,,,形式,丰富多彩,,,带有,浓郁,的,各,民族特色,。,受到,中华文化,的,影响,,,属于,汉字,文化圈,的,一些,国家,和,民族,也,有,庆祝,春节,的,习俗,。,人们,在,春节,这,一天,都,尽可能,地,回到,家里,和,亲人,团聚,,,表达,对,未来,一年,的,热切,期盼,和,对,新,一年,生活,的,美好,祝福,。,春节,是,中华民族,最,隆重,的,传统,佳节,,,同时,也,是,中国,人,情感,得以,释放,、,心理,诉求,得以,满足,的,重要,载体,,,是,中华民族,一年一度,的,狂欢节,和,永远,的,精神支柱,。,春节,与,清明节,、,端午节,、,中秋节,并,称为,中国,四大,传统节日,。
春节,是,指,汉字,文化,文化圈,传统,上,的,农历,新年,,,俗称,“,年节,”,,,传统,名称,传统名称,为,新年,、,大,年,、,新岁,,,但,口头,头上,口头上,又称,度岁,、,庆,新岁,、,过年,。,中国,人过,春节,已有,4000,多年,的,历史,。,在,现代,,,人们,把,春节,定于,农历,正月,月初,初一,正月初,正月初一,,,但,一般,至少,要,到,正月,十五,正月十五,(,上元,上元节,),新年,才,算,结束,,,在,民间,,,传统,意义,传统意义,上,的,春节,是,指,从,腊月,的,腊,祭,或,腊月,二十,十三,二十三,或,二十,十四,二十四,的,祭灶,,,一直,到,正月,十九,。,在,春节,期间,,,中国,的,汉族,和,一些,少数,民族,少数民族,都,要,举行,各种,庆祝,活动,。,这些,活动,均,以,祭祀,祖神,、,祭奠,祖先,、,除旧,除旧布新,、,迎禧,接福,、,祈求,丰年,为,主要,内容,,,形式,丰富,多彩,丰富多彩,,,带有,浓郁,的,各,民族,特色,民族特色,。,受到,中华,华文,文化,中华文化,的,影响,,,属于,汉字,文化,文化圈,的,一些,国家,和,民族,也,有,庆祝,春节,的,习俗,。,人们,在,春节,这,一天,都,尽可,可能,尽可能,地,回到,家里,和,亲人,团聚,,,表达,对,未来,一年,的,热切,期盼,和,对,新,一年,生活,的,美好,祝福,。,春节,是,中华,民族,中华民族,最,隆重,的,传统,佳节,,,同时,也,是,中国,人,情感,得以,释放,、,心理,诉求,得以,满足,的,重要,载体,,,是,中华,民族,中华民族,一年,一度,一年一度,的,狂欢,狂欢节,和,永远,的,精神,支柱,精神支柱,。,春节,与,清明,清明节,、,端午,端午节,、,中秋,秋节,中秋节,并,称为,中国,四大,传统,节日,传统节日,。

Process finished with exit code 0

对比ICTCLAS的分词结果,jieba的分词要更加准确一些。

2.2 添加自定义词典

•开发者可以指定自己自定义的词典,以便包含 jieba 词库里没有的词。虽然 jieba 有新词识别能力,但是自行添加新词可以保证更高的正确率。
•用法: jieba.load_userdict(file_name) # file_name 为文件类对象或自定义词典的路径。
•词典格式和 dict.txt 一样,一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。file_name 若为路径或二进制方式打开的文件,则文件必须为 UTF-8 编码。
•词频省略时使用自动计算的能保证分出该词的词频。

为该文本添加一些词语,提高分词准确率

#encoding=utf-8
from __future__ import print_function, unicode_literals
import sys
sys.path.append("../")
import jieba
import jieba.posseg as pseg

jieba.add_word('大年')
jieba.add_word('度岁')
jieba.add_word('庆新岁')
jieba.add_word('腊祭')

#精确模式
seg_list=jieba.cut("春节是指汉字文化圈传统上的农历新年,俗称“年节”,传统名称为新年、大年、新岁,但口头上又称度岁、庆新岁、过年。中国人过春节已有4000多年的历史。在现代,人们把春节定于农历正月初一,但一般至少要到正月十五(上元节)新年才算结束,在民间,传统意义上的春节是指从腊月的腊祭或腊月二十三或二十四的祭灶,一直到正月十九。在春节期间,中国的汉族和一些少数民族都要举行各种庆祝活动。这些活动均以祭祀祖神、祭奠祖先、除旧布新、迎禧接福、祈求丰年为主要内容,形式丰富多彩,带有浓郁的各民族特色。受到中华文化的影响,属于汉字文化圈的一些国家和民族也有庆祝春节的习俗。人们在春节这一天都尽可能地回到家里和亲人团聚,表达对未来一年的热切期盼和对新一年生活的美好祝福。春节是中华民族最隆重的传统佳节,同时也是中国人情感得以释放、心理诉求得以满足的重要载体,是中华民族一年一度的狂欢节和永远的精神支柱。春节与清明节、端午节、中秋节并称为中国四大传统节日。",cut_all=True)
print("Full Mode:",",".join(seg_list))

#全模式
seg_list=jieba.cut("春节是指汉字文化圈传统上的农历新年,俗称“年节”,传统名称为新年、大年、新岁,但口头上又称度岁、庆新岁、过年。中国人过春节已有4000多年的历史。在现代,人们把春节定于农历正月初一,但一般至少要到正月十五(上元节)新年才算结束,在民间,传统意义上的春节是指从腊月的腊祭或腊月二十三或二十四的祭灶,一直到正月十九。在春节期间,中国的汉族和一些少数民族都要举行各种庆祝活动。这些活动均以祭祀祖神、祭奠祖先、除旧布新、迎禧接福、祈求丰年为主要内容,形式丰富多彩,带有浓郁的各民族特色。受到中华文化的影响,属于汉字文化圈的一些国家和民族也有庆祝春节的习俗。人们在春节这一天都尽可能地回到家里和亲人团聚,表达对未来一年的热切期盼和对新一年生活的美好祝福。春节是中华民族最隆重的传统佳节,同时也是中国人情感得以释放、心理诉求得以满足的重要载体,是中华民族一年一度的狂欢节和永远的精神支柱。春节与清明节、端午节、中秋节并称为中国四大传统节日。",cut_all=False)
print("Default Mode:",",".join(seg_list))

#默认是精确模式
seg_list=jieba.cut("春节是指汉字文化圈传统上的农历新年,俗称“年节”,传统名称为新年、大年、新岁,但口头上又称度岁、庆新岁、过年。中国人过春节已有4000多年的历史。在现代,人们把春节定于农历正月初一,但一般至少要到正月十五(上元节)新年才算结束,在民间,传统意义上的春节是指从腊月的腊祭或腊月二十三或二十四的祭灶,一直到正月十九。在春节期间,中国的汉族和一些少数民族都要举行各种庆祝活动。这些活动均以祭祀祖神、祭奠祖先、除旧布新、迎禧接福、祈求丰年为主要内容,形式丰富多彩,带有浓郁的各民族特色。受到中华文化的影响,属于汉字文化圈的一些国家和民族也有庆祝春节的习俗。人们在春节这一天都尽可能地回到家里和亲人团聚,表达对未来一年的热切期盼和对新一年生活的美好祝福。春节是中华民族最隆重的传统佳节,同时也是中国人情感得以释放、心理诉求得以满足的重要载体,是中华民族一年一度的狂欢节和永远的精神支柱。春节与清明节、端午节、中秋节并称为中国四大传统节日。")
print(",".join(seg_list))

#搜索引擎模式
seg_list=jieba.cut_for_search("春节是指汉字文化圈传统上的农历新年,俗称“年节”,传统名称为新年、大年、新岁,但口头上又称度岁、庆新岁、过年。中国人过春节已有4000多年的历史。在现代,人们把春节定于农历正月初一,但一般至少要到正月十五(上元节)新年才算结束,在民间,传统意义上的春节是指从腊月的腊祭或腊月二十三或二十四的祭灶,一直到正月十九。在春节期间,中国的汉族和一些少数民族都要举行各种庆祝活动。这些活动均以祭祀祖神、祭奠祖先、除旧布新、迎禧接福、祈求丰年为主要内容,形式丰富多彩,带有浓郁的各民族特色。受到中华文化的影响,属于汉字文化圈的一些国家和民族也有庆祝春节的习俗。人们在春节这一天都尽可能地回到家里和亲人团聚,表达对未来一年的热切期盼和对新一年生活的美好祝福。春节是中华民族最隆重的传统佳节,同时也是中国人情感得以释放、心理诉求得以满足的重要载体,是中华民族一年一度的狂欢节和永远的精神支柱。春节与清明节、端午节、中秋节并称为中国四大传统节日。")
print(",".join(seg_list))


结果如下:

Full Mode: 春节,是,指,汉字,文化,文化圈,传统,上,的,农历,新年,,,俗称,,,年节,,,,传统,传统名称,名称,称为,新年,,,大年,,,新岁,,,但,口头,口头上,头上,又称,度岁,,,庆新岁,新岁,,,过年,,,中国,国人,过,春节,已有,4000,多年,的,历史,,,在,现代,,,人们,把,春节,定于,农历,正月,正月初,正月初一,月初,初一,,,但,一般,至少,要到,正月,正月十五,十五,,,上元,上元节,,,新年,才,算,结束,,,在,民间,,,传统,传统意义,意义,上,的,春节,是,指,从,腊月,的,腊祭,或,腊月,二十,二十三,十三,或,二十,二十四,十四,的,祭灶,,,一直,直到,正月,十九,,,在,春节,节期,期间,,,中国,的,汉族,和,一些,少数,少数民族,民族,都,要,举行,各种,庆祝,活动,,,这些,活动,均,以,祭祀,祀祖,神,,,祭奠,祖先,,,除旧,除旧布新,,,迎,禧,接,福,,,祈求,丰年,为主,主要,内容,,,形式,丰富,丰富多彩,多彩,,,带有,浓郁,的,各,民族,民族特色,特色,,,受到,中华,中华文化,华文,文化,的,影响,,,属于,汉字,文化,文化圈,的,一些,国家,和,民族,也,有,庆祝,春节,的,习俗,,,人们,在,春节,这,一天,天都,尽可,尽可能,可能,地,回到,家里,和亲,亲人,团聚,,,表达,对,未来,一年,的,热切,期盼,和,对,新,一年,一年生,生活,的,美好,祝福,,,春节,是,中华,中华民族,民族,最,隆重,的,传统,佳节,,,同时,也,是,中国,国人,人情,情感,得以,释放,,,心理,诉求,求得,得以,满足,的,重要,载体,,,是,中华,中华民族,民族,一年,一年一度,一度,的,狂欢,狂欢节,和,永远,的,精神,精神支柱,支柱,,,春节,与,清明,清明节,,,端午,端午节,,,中秋,中秋节,秋节,并称,称为,中国,国四,四大,传统,传统节日,节日,,
Default Mode: 春节,是,指,汉字,文化圈,传统,上,的,农历,新年,,,俗称,“,年节,”,,,传统名称,为,新年,、,大年,、,新岁,,,但,口头上,又称,度岁,、,庆新岁,、,过年,。,中国,人过,春节,已有,4000,多年,的,历史,。,在,现代,,,人们,把,春节,定于,农历,正月初一,,,但,一般,至少,要,到,正月十五,(,上元节,),新年,才,算,结束,,,在,民间,,,传统意义,上,的,春节,是,指,从,腊月,的,腊祭,或,腊月,二十三,或,二十四,的,祭灶,,,一直,到,正月,十九,。,在,春节,期间,,,中国,的,汉族,和,一些,少数民族,都,要,举行,各种,庆祝,活动,。,这些,活动,均,以,祭祀,祖神,、,祭奠,祖先,、,除旧布新,、,迎禧,接福,、,祈求,丰年,为,主要,内容,,,形式,丰富多彩,,,带有,浓郁,的,各,民族特色,。,受到,中华文化,的,影响,,,属于,汉字,文化圈,的,一些,国家,和,民族,也,有,庆祝,春节,的,习俗,。,人们,在,春节,这,一天,都,尽可能,地,回到,家里,和,亲人,团聚,,,表达,对,未来,一年,的,热切,期盼,和,对,新,一年,生活,的,美好,祝福,。,春节,是,中华民族,最,隆重,的,传统,佳节,,,同时,也,是,中国,人,情感,得以,释放,、,心理,诉求,得以,满足,的,重要,载体,,,是,中华民族,一年一度,的,狂欢节,和,永远,的,精神支柱,。,春节,与,清明节,、,端午节,、,中秋节,并,称为,中国,四大,传统节日,。
春节,是,指,汉字,文化圈,传统,上,的,农历,新年,,,俗称,“,年节,”,,,传统名称,为,新年,、,大年,、,新岁,,,但,口头上,又称,度岁,、,庆新岁,、,过年,。,中国,人过,春节,已有,4000,多年,的,历史,。,在,现代,,,人们,把,春节,定于,农历,正月初一,,,但,一般,至少,要,到,正月十五,(,上元节,),新年,才,算,结束,,,在,民间,,,传统意义,上,的,春节,是,指,从,腊月,的,腊祭,或,腊月,二十三,或,二十四,的,祭灶,,,一直,到,正月,十九,。,在,春节,期间,,,中国,的,汉族,和,一些,少数民族,都,要,举行,各种,庆祝,活动,。,这些,活动,均,以,祭祀,祖神,、,祭奠,祖先,、,除旧布新,、,迎禧,接福,、,祈求,丰年,为,主要,内容,,,形式,丰富多彩,,,带有,浓郁,的,各,民族特色,。,受到,中华文化,的,影响,,,属于,汉字,文化圈,的,一些,国家,和,民族,也,有,庆祝,春节,的,习俗,。,人们,在,春节,这,一天,都,尽可能,地,回到,家里,和,亲人,团聚,,,表达,对,未来,一年,的,热切,期盼,和,对,新,一年,生活,的,美好,祝福,。,春节,是,中华民族,最,隆重,的,传统,佳节,,,同时,也,是,中国,人,情感,得以,释放,、,心理,诉求,得以,满足,的,重要,载体,,,是,中华民族,一年一度,的,狂欢节,和,永远,的,精神支柱,。,春节,与,清明节,、,端午节,、,中秋节,并,称为,中国,四大,传统节日,。
春节,是,指,汉字,文化,文化圈,传统,上,的,农历,新年,,,俗称,“,年节,”,,,传统,名称,传统名称,为,新年,、,大年,、,新岁,,,但,口头,头上,口头上,又称,度岁,、,新岁,庆新岁,、,过年,。,中国,人过,春节,已有,4000,多年,的,历史,。,在,现代,,,人们,把,春节,定于,农历,正月,月初,初一,正月初,正月初一,,,但,一般,至少,要,到,正月,十五,正月十五,(,上元,上元节,),新年,才,算,结束,,,在,民间,,,传统,意义,传统意义,上,的,春节,是,指,从,腊月,的,腊祭,或,腊月,二十,十三,二十三,或,二十,十四,二十四,的,祭灶,,,一直,到,正月,十九,。,在,春节,期间,,,中国,的,汉族,和,一些,少数,民族,少数民族,都,要,举行,各种,庆祝,活动,。,这些,活动,均,以,祭祀,祖神,、,祭奠,祖先,、,除旧,除旧布新,、,迎禧,接福,、,祈求,丰年,为,主要,内容,,,形式,丰富,多彩,丰富多彩,,,带有,浓郁,的,各,民族,特色,民族特色,。,受到,中华,华文,文化,中华文化,的,影响,,,属于,汉字,文化,文化圈,的,一些,国家,和,民族,也,有,庆祝,春节,的,习俗,。,人们,在,春节,这,一天,都,尽可,可能,尽可能,地,回到,家里,和,亲人,团聚,,,表达,对,未来,一年,的,热切,期盼,和,对,新,一年,生活,的,美好,祝福,。,春节,是,中华,民族,中华民族,最,隆重,的,传统,佳节,,,同时,也,是,中国,人,情感,得以,释放,、,心理,诉求,得以,满足,的,重要,载体,,,是,中华,民族,中华民族,一年,一度,一年一度,的,狂欢,狂欢节,和,永远,的,精神,支柱,精神支柱,。,春节,与,清明,清明节,、,端午,端午节,、,中秋,秋节,中秋节,并,称为,中国,四大,传统,节日,传统节日,。

2.3 关键词提取
基于 TF-IDF 算法的关键词抽取
import jieba.analyse

•jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
sentence 为待提取的文本。
•topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20。
•withWeight 为是否一并返回关键词权重值,默认值为 False。
•allowPOS 仅包括指定词性的词,默认值为空,即不筛选。
•jieba.analyse.TFIDF(idf_path=None) 新建 TFIDF 实例,idf_path 为 IDF 频率文件。

从文本中提取出权重排名前十的词语

#encoding=utf-8
import sys
sys.path.append('../')

import jieba
import jieba.analyse
from optparse import OptionParser

sentence="春节是指汉字文化圈传统上的农历新年,俗称“年节”,传统名称为新年、大年、新岁,但口头上又称度岁、庆新岁、过年。中国人过春节已有4000多年的历史。在现代,人们把春节定于农历正月初一,但一般至少要到正月十五(上元节)新年才算结束,在民间,传统意义上的春节是指从腊月的腊祭或腊月二十三或二十四的祭灶,一直到正月十九。在春节期间,中国的汉族和一些少数民族都要举行各种庆祝活动。这些活动均以祭祀祖神、祭奠祖先、除旧布新、迎禧接福、祈求丰年为主要内容,形式丰富多彩,带有浓郁的各民族特色。受到中华文化的影响,属于汉字文化圈的一些国家和民族也有庆祝春节的习俗。人们在春节这一天都尽可能地回到家里和亲人团聚,表达对未来一年的热切期盼和对新一年生活的美好祝福。春节是中华民族最隆重的传统佳节,同时也是中国人情感得以释放、心理诉求得以满足的重要载体,是中华民族一年一度的狂欢节和永远的精神支柱。春节与清明节、端午节、中秋节并称为中国四大传统节日。"
topK=10  #只提取权重排名前十的词语
tags=jieba.analyse.extract_tags(sentence,topK=topK)
print(",".join(tags))
结果如下 Xshot-0011.png

同时显示这些词语的权重指数

#encoding=utf-8
import sys
sys.path.append('../')

import jieba
import jieba.analyse
from optparse import OptionParser

sentence="春节是指汉字文化圈传统上的农历新年,俗称“年节”,传统名称为新年、大年、新岁,但口头上又称度岁、庆新岁、过年。中国人过春节已有4000多年的历史。在现代,人们把春节定于农历正月初一,但一般至少要到正月十五(上元节)新年才算结束,在民间,传统意义上的春节是指从腊月的腊祭或腊月二十三或二十四的祭灶,一直到正月十九。在春节期间,中国的汉族和一些少数民族都要举行各种庆祝活动。这些活动均以祭祀祖神、祭奠祖先、除旧布新、迎禧接福、祈求丰年为主要内容,形式丰富多彩,带有浓郁的各民族特色。受到中华文化的影响,属于汉字文化圈的一些国家和民族也有庆祝春节的习俗。人们在春节这一天都尽可能地回到家里和亲人团聚,表达对未来一年的热切期盼和对新一年生活的美好祝福。春节是中华民族最隆重的传统佳节,同时也是中国人情感得以释放、心理诉求得以满足的重要载体,是中华民族一年一度的狂欢节和永远的精神支柱。春节与清明节、端午节、中秋节并称为中国四大传统节日。"

topK=10  #只提取权重排名前十的词语
withWeight = True

tags=jieba.analyse.extract_tags(sentence,topK=topK,withWeight=withWeight)

for tag in tags:
    print("tag: %s\t\t weight: %f" % (tag[0],tag[1]))

结果如下: Xshot-0012.png

2.4 词性标注

•jieba.posseg.POSTokenizer(tokenizer=None) 新建自定义分词器,tokenizer 参数可指定内部使用的 jieba.Tokenizer 分词器jieba.posseg.dt 为默认词性标注分词器。
• 标注句子分词后每个词的词性,采用和 ictclas 兼容的标记法。

#encoding=utf-8

import jieba
import jieba.posseg as pseg

sentence=pseg.cut("春节是指汉字文化圈传统上的农历新年,俗称“年节”,传统名称为新年、大年、新岁,但口头上又称度岁、庆新岁、过年。中国人过春节已有4000多年的历史。在现代,人们把春节定于农历正月初一,但一般至少要到正月十五(上元节)新年才算结束,在民间,传统意义上的春节是指从腊月的腊祭或腊月二十三或二十四的祭灶,一直到正月十九。在春节期间,中国的汉族和一些少数民族都要举行各种庆祝活动。这些活动均以祭祀祖神、祭奠祖先、除旧布新、迎禧接福、祈求丰年为主要内容,形式丰富多彩,带有浓郁的各民族特色。受到中华文化的影响,属于汉字文化圈的一些国家和民族也有庆祝春节的习俗。人们在春节这一天都尽可能地回到家里和亲人团聚,表达对未来一年的热切期盼和对新一年生活的美好祝福。春节是中华民族最隆重的传统佳节,同时也是中国人情感得以释放、心理诉求得以满足的重要载体,是中华民族一年一度的狂欢节和永远的精神支柱。春节与清明节、端午节、中秋节并称为中国四大传统节日。")
for word, flag in sentence:
    print('%s %s' % (word, flag))

部分结果如下图:


Xshot-0013.png

2.5 Tokenize:返回词语在原文的起止位置
默认模式

#encoding=utf-8
import jieba
import jieba.posseg as pseg

sentence = jieba.tokenize(u'春节是指汉字文化圈传统上的农历新年,俗称“年节”,传统名称为新年、大年、新岁,但口头上又称度岁、庆新岁、过年。中国人过春节已有4000多年的历史。在现代,人们把春节定于农历正月初一,但一般至少要到正月十五(上元节)新年才算结束,在民间,传统意义上的春节是指从腊月的腊祭或腊月二十三或二十四的祭灶,一直到正月十九。在春节期间,中国的汉族和一些少数民族都要举行各种庆祝活动。这些活动均以祭祀祖神、祭奠祖先、除旧布新、迎禧接福、祈求丰年为主要内容,形式丰富多彩,带有浓郁的各民族特色。受到中华文化的影响,属于汉字文化圈的一些国家和民族也有庆祝春节的习俗。人们在春节这一天都尽可能地回到家里和亲人团聚,表达对未来一年的热切期盼和对新一年生活的美好祝福。春节是中华民族最隆重的传统佳节,同时也是中国人情感得以释放、心理诉求得以满足的重要载体,是中华民族一年一度的狂欢节和永远的精神支柱。春节与清明节、端午节、中秋节并称为中国四大传统节日。')
for tk in sentence:
    print("word %s\t\t start: %d \t\t end:%d" % (tk[0],tk[1],tk[2]))

部分结果如下图: Xshot-0014.png

2.6 生成词云
使用在线工具wordart
先获得分词及其权重

#encoding=utf-8
import sys
sys.path.append('../')

import jieba
import jieba.analyse
from optparse import OptionParser

sentence="春节是指汉字文化圈传统上的农历新年,俗称“年节”,传统名称为新年、大年、新岁,但口头上又称度岁、庆新岁、过年。中国人过春节已有4000多年的历史。在现代,人们把春节定于农历正月初一,但一般至少要到正月十五(上元节)新年才算结束,在民间,传统意义上的春节是指从腊月的腊祭或腊月二十三或二十四的祭灶,一直到正月十九。在春节期间,中国的汉族和一些少数民族都要举行各种庆祝活动。这些活动均以祭祀祖神、祭奠祖先、除旧布新、迎禧接福、祈求丰年为主要内容,形式丰富多彩,带有浓郁的各民族特色。受到中华文化的影响,属于汉字文化圈的一些国家和民族也有庆祝春节的习俗。人们在春节这一天都尽可能地回到家里和亲人团聚,表达对未来一年的热切期盼和对新一年生活的美好祝福。春节是中华民族最隆重的传统佳节,同时也是中国人情感得以释放、心理诉求得以满足的重要载体,是中华民族一年一度的狂欢节和永远的精神支柱。春节与清明节、端午节、中秋节并称为中国四大传统节日。"

topK = 300
withWeight = True

tags=jieba.analyse.extract_tags(sentence,topK=topK,withWeight=withWeight)

for tag in tags:
    print("tag: %s\t\t weight: %f" % (tag[0],tag[1]*10000))
部分结果如下: Xshot-00015.png 将结果粘贴进wordart,并在设置字体处添加方正小标宋体字体使该工具能识别中文,最后绘制词云,结果如下 Xshot-0015.png
上一篇下一篇

猜你喜欢

热点阅读