基于今日头条开源数据的词共现、新热词发现、短语发现

640?wx_fmt=gif

向AI转型的程序员都关注了这个号👇👇👇

机器学习AI算法工程  公众号: datayx

 loveai.tech

AI图谱,一个全新的IT技术分享社区

原创作者在AI图谱平台上每成功发布一篇文章,通过审核后可奖励人民币30-50元不等,欢迎参与!


实现的功能大致有三个:

    词共现是词-词离散出现,词共现包括了上面的内容,探究:‘举’,‘来说’,不用挨着的词出现的次数。

本文完整源码  数据集获取方式:

关注微信公众号 datayx  然后回复 今日头条 即可获取。

一、数据集介绍


数据来源:今日头条中文新闻(文本)分类数据集

今日头条是最近开源的数据集,38w,其中的数据格式为:

640?wx_fmt=png

每行为一条数据,以!分割的个字段,从前往后分别是 新闻ID,分类code(见下文),分类名称(见下文),新闻字符串(仅含标题),新闻关键词。

二、短语发现、新词发现算法介绍2.1 理论介绍  凝聚度:

以双汉字词语为例,可以想象到,如果该词语的聚合度很低,说明其第一个字和第二个字的相关性很弱,甚至是不相关的,那么P(S)和P(sl)×P(sr)将处于同一个数量级。

相反,如果该词语的聚合度很高,“齐天”、“大圣”和“齐天大圣”三者的概率都很接近,因此P(S)/(P(sl)×P(sr))将是一个远大于1的数值。

自由度:

用熵来衡量一个词语的自由度。假设一个词语一共出现了N次,其左边共出现过n个汉字,每个汉字依次出现N1,N2,……,Nn次,则满足N = N1 + N2 + …… + Nn,因此可以计算该词语左边各个汉字出现的概率, 并根据熵公式计算左邻熵。熵越小则自由度越低,例如“天大圣”的左邻熵接近于0,因为“齐”字的概率几乎为1;熵越大则自由度越高,表示用词搭配越混乱、越自由、越多样。 因为“天大圣”的左邻熵很小,而右邻熵则相对较大,因此我们将一个词语左邻熵和右邻熵中较小者作为最终的自由度。

IDF:

逆文档词频

2.2 主函数参数

算法的参数描述:

640?wx_fmt=png

其中的参数::

    diction:字典,第一批Jieba分词之后的内容算法步骤:可用的函数:三、词共现算法介绍

640?wx_fmt=png

我这边只是简单利用笛卡尔积:

  • permutations 排列

  • combinations 组合,没有重复

  • combinations_with_replacement 组合,有重复

640?wx_fmt=png

文件夹介绍:

  • 短语发现、新词发现算法:termsRecognition.py

  • 今日头条数据38w:toutiao_data.csv

  • 二元组算法:tuplewords.py

先来看看数据长啥样:

640?wx_fmt=png

4.1 短语发现、新词发现模块

4.1.1 没有经过分词的原始语料

640?wx_fmt=png

得到的结论,如图:

640?wx_fmt=png

这边其实可以在Jieba分词的时候,预先载入一些停用词。这边来看,发现的有:对下联、王者荣耀

4.1.2 经过分词的原始语料

当然,探究的是词-词之间的连续共现的情况。此时,我用今日头条的关键词其实不是特别合适,因为关键词之间没有前后逻辑关系在其中。

640?wx_fmt=png

得到的结论:

640?wx_fmt=png

其中发现了的规律都没啥用,大家看看就行。

4.2 词共现模块

二元组模块跟4.1中,分完词之后的应用有点像,但是这边是离散的,之前的那个考察词-词之间的排列需要有逻辑关系,这边词共现会更加普遍。

640?wx_fmt=jpeg

其中,在该模块写入了两种:

  • 热词统计

  • 词共现统计

640?wx_fmt=png

该模块输入的是keywords,List形:

640?wx_fmt=png

tw.CoOccurrence就是对上面的内容进行解析,得到了:

640?wx_fmt=png

发现,快乐大本营-谢娜的组合比较多,詹姆斯-猛龙嘛,看客们懂的,詹皇血克猛龙,哈哈~ 热词发现这个很常规:

640?wx_fmt=png


阅读过本文的人还看了以下:

不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  

640?wx_fmt=jpeg

长按图片,识别二维码,点关注

640?wx_fmt=png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值