> 文档中心 > 自然语言处理 之 文本热词提取--------文章中含有《源码》和《数据》,可以拿来玩玩

自然语言处理 之 文本热词提取--------文章中含有《源码》和《数据》,可以拿来玩玩

🎂主要就是通过jieba的posseg模块将一段文字分段并赋予不同字段不同意思。然后通过频率计算出热频词

数据放在文章里面了,就不用花积分下载了

**

🐱‍🐉💋代码

**

# TODO  鸟欲高飞,必先展翅# TODO   向前的人 :Jhonimport jieba.posseg as psgtext=open("data/冬奥会评论区的数据.txt", "r", encoding="utf-8").read()text_psg=psg.lcut(text)#  TODO  杨过 nrprint('人物名词性标注为:\n',' '.join(['{}{}'.format(w,t) for w,t in text_psg]))name_counts={}  #定义字典用于存储词及其出现的次数for word_pair in text_psg:    if len(word_pair.word)==1: continue    else: if word_pair.flag=="nr" or word_pair.flag=="z":    # TODO   flag方法     name_counts[word_pair]=name_counts.get(word_pair,0)+1  #遍历所有词,每次出现对应的词都加1# print(name_counts)  #{pair('叶老汉', 'nr'): 2, pair('卫州', 'nr'): 1, pair('叶三姐', 'nr'): 10,}item=name_counts.items()items=list(item)# print(items)     #  TODO   [(pair('鲁滨逊', 'nr'), 1), (pair('武功', 'nr'), 825), (pair('言语', 'nr'), 96)]items.sort(key=lambda x:x[1] ,reverse=True)   #根据词语出现的顺序从大到小排序name_list=open('./data/冬奥会人名出现次数.txt',"w",encoding="utf-8")for i in range(len(items)):    name,pos=items[i][0]    count=items[i][1]    name_count=name+': '+str(count)    name_list.write(name_count+'\n')name_list.close()

代码里面注释的已经非常清楚,不同的可以私信我,或者在评论区打出来,看到了会及时解惑的。
**

🎂💋数据

**

v热v我,夺冠后齐广璞再次收获金墩墩!此前他在空中技巧混合团体比赛中获得亚军。拉多拉夫,在本届冬奥会已斩获一金一银。虎口水,齐广璞一金一银拿到金墩墩的他不断擦拭泪水,老将不易!拉科罗l,在刚刚结束的自由式滑雪男子空中技巧决赛中,酒啊就是你,中国队选手齐广璞在本届冬奥会上首次拿出5.0的高难度动作会积极,并以出色的发挥获得129.00分,夺得金牌!这是继2006年都灵冬奥会街廓,216日晚的崇礼,男子自由式滑雪空中技巧决赛阿克苏九年,他的难度5.0动作拿下129分,圆梦夺金!赛后,齐广璞也热泪盈眶!啊可能是,这也是中国代表团本届冬奥会的第七枚金牌!“我做到了,让五星红旗飘扬在最高处。啊空间你是,但其实还不够好,本来还能有更高的分数。”暗杀即可,中国老将齐广璞发挥出色。图/新华社后即可,15日晚的男子资格赛,齐广璞和贾宗洋都是第1轮就凭借高分动作,哈卡斯,排名前两位直接晋级决赛,后者更是高质量再现4.425动作,拿到125.67分。JJ看来我,老将贾宗洋拼尽了全力。图/新华社哦怕,备战中,齐广璞曾遭遇困难,有一段时间情绪不是很好。喀喀喀,精神压力较大,长时间失眠,但他都克服了。阿克苏六年,“因为有梦想,什么都不是问题。”北京冬奥会就是他前进的最大动力。郝鹏,这些年,齐广璞拿到的奖项不胜枚举,世界杯冠军、世锦赛冠军……不过。肯德基,他参加过温哥华、索契、平昌三届冬奥会,都未能收获奖牌,这次能获得第

数据每行逗号前是名字,逗号后的是评论内容,数据不太正统,先凑合着用,后面你就会发现有点那个味道了。



**

🐱‍🚀💋结果:

**

齐广璞: 79冰墩墩: 70苏翊鸣: 44谷爱凌: 43徐梦桃: 41滑雪: 30范可新: 15贾宗洋: 13高亭宇: 11平昌: 6滑冰: 6世锦赛: 5索契: 5晋级: 4安斯卡: 4韩晓鹏: 4张虹: 4任子威: 4小鸣: 4温哥华: 3元老: 3张家口: 3阿克萨: 3祝贺: 3吉祥物: 3萨克森: 3张杰: 3金墩墩: 2亚军: 2都灵: 2安康: 2阿喀琉斯: 2杨紫: 2桂冠: 2凌空: 2韩聪: 2融宝: 2宝融宝: 2雪容融: 2明星: 2苗子: 2五星红旗: 1最高处: 1哈卡斯: 1郝鹏: 1肯德基: 1李玉: 1刘晨周: 1乌克兰: 1宝贵: 1阿奎那: 1梦中人: 1周转: 1高达: 1斯诺克: 1满怀希望: 1阿森纳: 1内存卡: 1利利斯: 1屠龙刀: 1东道主: 1马克: 1阿基: 1正佳: 1天成: 1折桂: 1热切地: 1齐天大圣: 1哈萨克: 1宝藏: 1宝贝: 1贺卡: 1谢幕: 1范迪安: 1雪容融: 1依旧: 1舒斯: 1施尼: 1曼德尔: 1肥墩墩: 1圣保罗: 1荣幸之至: 1熊猫: 1滚滚: 1仰泳: 1太棒了: 1康弘: 1最佳: 1大力支持: 1小胖: 1祝福: 1施图拜: 1孙琳琳: 1张雨婷: 1终封王: 1褚鹏: 1阿曼: 1陶士文: 1

可以发现结果和前面的还是挺准的。当然还可以继续优化,也可以自己训练模型,但是训练集需要很大。我这个模型是官方的,训练模型数据1.84GB🐱‍👓


因为文本上传太多会被判刷量,所以删除了一部分。结果是之前的,没有改变,需要文本的可以去下载。测试数据下载



觉得有用的可以给个三连,关注一波!!!带你了解更多的python小知识