美文网首页
python练习17:用jieba分词做关键词提取,用matpl

python练习17:用jieba分词做关键词提取,用matpl

作者: benechen | 来源:发表于2017-06-27 17:35 被阅读0次

    jieba分词 是一款开源的中文分词包,同时它还带有分析模块,可以用TF-IDF等算法进行关键词分析
    jieba
    下面的小程序的基本思路是:
    通过jieba从 保存好的txt文本中提取关键词,根据关键词的权重等决定关键词的文字大小,用matplotlib将它们呈现出来

    #coding:utf-8
    import os
    import tkFileDialog #文件对话框模块
    import jieba #jieba分词模块
    import jieba.analyse #jieba分词分析模块
    import codecs #中文编码转换模块
    import matplotlib.pyplot as plt
    from pylab import *
    mpl.rcParams['font.sans-serif'] = ['simhei'] # 指定默认字体
    mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
    default_dir = r"D:/py/" # 设置默认打开目录
    fname = tkFileDialog.askopenfilename(title=u"选择文件",
    initialdir=(os.path.expanduser(default_dir))) #选择供分析用的文本文件
    fig=plt.figure()
    fig.suptitle(u'关键词语TF-IDF分析',fontsize=14,fontweight='bold')
    ax=fig.add_subplot(111)
    ax.set_xlim(0,10)
    ax.set_ylim(0,10)
    fig.subplots_adjust(top=0.85)
    with codecs.open(fname) as fr:
    s=fr.read()
    s_out=jieba.analyse.extract_tags(s, withWeight=True) #用jieba提取关键词
    max_weight=max(list(map(lambda y: y[1],s_out)))
    f_scale=int(1/max_weight)
    for x, w in s_out:
    print('%s %s' %(x,w))
    locate=np.random.rand(2)
    size=int(f_scale64w)
    col=int(8w)+1
    ax.text(locate[0]
    10,locate[1]*10,x,
    fontsize=size,fontdict=None,color='blue') #pad表示与字的边距
    plt.show()

    从百度百科上取一段文字做测试:

    蒙古族 编辑
    蒙古族(蒙古语:ᠮᠣᠩᠭᠣᠯᠦᠨᠳᠦᠰᠦᠲᠡᠨ,西里尔字母:Монгол үндэстэн),是主要分布于东亚地区的一个传统游牧民族,是中国的少数民族之一,同时也是蒙古国的主体民族。此外,蒙古族在俄罗斯等亚欧国家也有分布,鄂温克族和土族也有时被认为是蒙古族的分支。[1]
    蒙古族始源于古代望建河(今额尔古纳河)东岸一带。13世纪初,以成吉思汗为首的蒙古部统一了蒙古地区诸部,逐渐形成了一个新的民族共同体。
    蒙古族人民世居草原,以畜牧为生计。过着“逐水草而居”的游牧生活,尽管这种生存方式在现代社会被弱化,但仍然被视作蒙古族的标志。
    蒙古族在科学文化事业上比较发达,而且音乐、舞蹈也在艺术上居于相对显赫的地位[2] 。
    《蒙古秘史》、《蒙古黄金史》、《蒙古源流》被称为蒙古族的三大历史巨著,其中《蒙古秘史》被联合国教科文组织确定为世界著名文化遗产。英雄史诗《江格尔》是中国的三大史诗之一。[3]
    中文名 蒙古族 外文名 Mongols 人 口 约1000万 人口分布 中国,蒙古国,俄罗斯等 语 言蒙古语 文 字回鹘式蒙古文,西里尔蒙古文 信 仰萨满教,藏传佛教,回教 别 称 蒙古人,草原骄子,马背上的民族 方 言 内蒙古,卫拉特,巴尔虎布里亚特
    目录
    1 名称
    2 历史
    ▪ 原始社会时期
    ▪ 民族的统一与对外征伐
    ▪ 元朝灭亡后的蒙古诸部
    ▪ 蒙古国的独立与内蒙古自治区的建立
    3 人口
    4 政治

    原文比较长,就不全部贴上了。
    关键词分析结果:

    蒙古 0.169165636577
    蒙古族 0.126360191488
    蒙古人 0.055626259173
    成吉思汗 0.0423217004291
    民族 0.033926093091
    四胡 0.0298077928858
    ....

    分析之后的可视化结果:

    image.png

    相关文章

      网友评论

          本文标题:python练习17:用jieba分词做关键词提取,用matpl

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