美文网首页
TF-IDF实现敏感条目筛选——兴化吴奇隆

TF-IDF实现敏感条目筛选——兴化吴奇隆

作者: 兴化吴奇隆 | 来源:发表于2020-08-12 20:58 被阅读0次
    笔者近期到总公司跟班学习一段时间,每天收到分公司上报的各类信息,分公司业务相同,互补干涉,笔者需要鉴别分公司上报信息的真实性和重要性。

    在与总公司石总交流后,认为有多家上报同一群体的信息,那么该类信息一般较为重要,且真实性很高。有了业务场景后,我试图搭建模型,将业务流转化为数据流。
    直接上结果图吧!

    兴化吴奇隆.png
    业务逻辑:上报的信息——分类——统计。
    数据逻辑:抽取条目——分词——求权重,得结果,优化后,可以以词云的形式展现。
    使用的编程软件:python。
    分词技术:TF-IDE,意思为:词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现。相比TEXTRANK,TF-IDF显然更适合。
    制图库:wordcloud、matplotlib.
    **条目,我以网易、腾讯、新浪三家的头条新闻条目为实例,公司的条目不适合操作。
    #以下为部分条目示例:目录为C:\Users\Administrator\Desktop\三大新闻网站新闻.txt

    国家移民管理局:逐步恢复办理内地居民赴澳门旅游签注
    华融原董事长赖小民受审 被控受贿近18亿、重婚并育有二子*

    #需要的库
    import matplotlib.pyplot as plt
    import jieba.analyse
    from wordcloud import WordCloud
    

    第一步,选择库已经好了,第二部就是使用jieba来分词,其中extract_tags就是TF-IDF。权重这块,我设置的是隐藏,只出结果,分词个数topK为20个。

    #1.读出条目
    text = open(r"C:\Users\Administrator\Desktop\三大新闻网站新闻.txt").read()
    #2.把使用textrank进行分词
    cut_text=jieba.analyse.extract_tags(text,topK=20,withWeight=False,\
    allowPOS=('ns','n','vn','v'))
    #3.因为分词后的为一个容器,需要空格拼接起来或者for遍历
    result = " ".join(cut_text)
    

    result为分词后的结果,如果需要美观的话,可以接下来制作词云。

    # 4.生成词云
    wc = WordCloud(
        font_path='simhei.ttf',     #字体路劲
        background_color='white',   #背景颜色
        width=1000,
        height=600,
        max_font_size=50,            #字体大小
        min_font_size=10,
        mask=plt.imread(r'C:\Users\Administrator\Desktop\中国心.jpg'),  #背景图片
        max_words=50
    )
    wc.generate(result)
    wc.to_file('兴化吴奇隆.png')    #图片保存
    #5.显示图片
    # plt.figure('兴化吴奇隆')   #图片显示的名字
    plt.imshow(wc)
    plt.axis('off')        #关闭坐标
    plt.show()
    

    不足之处,如果在公司运行,部分专有名词,需要倒入字典,在总公司的下属经营库应该能找到,到时候,可以把他们放进去。

    jieba.load_userdict(file_name) #file_name为自定义词典的路径
    

    我使用的原图为:


    中国心.jpg

    很多小伙伴不需要自定义词云形状,我提供一段简单的代码。

    import jieba.analyse
    import wordcloud
    txt=open(r"C:\Users\Administrator\Desktop\三大新闻网站新闻.txt").read()
    w=wordcloud.WordCloud(width=1000,font_path="C:\Windows\Fonts\simfang.ttf",mask=open(r'C:\Users\Administrator\Desktop\中国心.jpg'),height=700)
    w.generate(" ".join(jieba.analyse.extract_tags(txt,topK=20,allowPOS=('ns','n','vn','v'))))
    w.to_file("兴化吴奇隆.png")
    

    相关文章

      网友评论

          本文标题:TF-IDF实现敏感条目筛选——兴化吴奇隆

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