分词练习

作者: Carina_55 | 来源:发表于2018-05-27 18:44 被阅读0次

    使用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

    相关文章

      网友评论

        本文标题:分词练习

        本文链接:https://www.haomeiwen.com/subject/zchvjftx.html