本发明涉及预测新闻发布,具体涉及使用机器学习算法(朴素贝叶斯)预测新闻发布时间的方法。
背景技术:
1、在现有新闻舆情监测系统的新闻获取技术中,很多使用的是基于定时任务的方法,如每半小时或一小时获取一次各个数据源的最新新闻和舆情。
2、这种方法没有充分考虑到数据源新闻发布的实际时间,可能会导致不必要的带宽消耗以及获取任务冲突,同时新闻获取及时性较低。举例来说:部分新闻网站新闻几周才发布一篇,半小时一次的访问,极大的浪费了带宽。有部分新闻网站每天更新几千篇新闻,半小时一次的新闻获取,新闻获取的及时性无法达到要求。
3、因此,需要一种能够预测新闻发布时间的方法,能够及时有效的判断网站新闻的发布时间,从而准确和及时的获取到新闻。
技术实现思路
1、本发明的目的是:提高预测的精度和效率,并且可以适应复杂的数据模式和处理需求,同时提供可解释性和实时性,从而更好地支持新闻舆情获取的相关业务。
2、本发明的技术方案是提供了使用机器学习算法(朴素贝叶斯)预测新闻发布时间的方法,包括以下步骤:
3、步骤1:定义新闻网站得到网站定义,网站定义包括网站id、url等相关属性;
4、步骤2:定义新闻网站的新闻频道得到频道定义,包括频道的url、频道id及行业分类的频道属性;
5、步骤3:将网站定义和频道定义进行关联;
6、步骤4:获取新闻网站及新闻频道发布的历史数据,历史数据包括历史新闻的新闻id、发布时间、内容、类别以及作者;
7、步骤5:对网站定义、频道定义以及历史数据进行清洗和去重处理得到预处理数据,预处理数据包括网站定义、频道定义、发布时间、新闻获取时间以及新闻id;
8、步骤6:将预处理数据中的新闻id生成新闻主键,将预处理数据和新闻主键进行存储,得到存储数据;
9、步骤7:根据舆情获取的及时性要求,确定新闻获取时间,将全天时间以整数形式进行编号得到时间段编号,对过去一年的新闻的历史数据进行衍生计算,计算获得标题数据,标题数据包括网站id、频道id、新闻id、时间段编号、是否为工作日、是否为工作时间、是否为重点网站、是否为重点频道、时间段编号是否有新闻,以文本格式导出标题数据;
10、步骤8:将标题数据作为输入的学习数据,来建立朴素贝叶斯预测时间模型;
11、步骤9:利用标题数据使用朴素贝叶斯算法训练一个分类模型,模型输入为标题数据,输出为以天为单位的时间段编号是否有新闻的预测数据,建立朴素贝叶斯预测时间模型;
12、步骤9.1:采用条件概率来判断时间段编号是否有新闻的概率,其中p(有|时间段)表示时间段编号有新闻发布的概率,p(无|时间段)表示时间段编号没有新闻发布的概率;
13、步骤9.2:通过朴素贝叶斯准则计算概率值,对应的概率计算公式为:
14、p(c|时间段)=p(时间段|c)*p(c)/p(时间段);
15、步骤9.3:若时间段编号有新闻发布的概率大于时间段编号没有新闻发布的概率,即p(有|时间段)>p(无|时间段),则时间段编号相对应的时间段有新闻发布,反之则时间段编号相对应的时间段时间段没有新闻发布;
16、步骤9.4:提取并分类预期天数内每天中预设时间段的新闻发布特征,新闻发布特征包括:网站id、频道id、新闻id、时间段编号、是否为工作日、是否为工作时间、是否为重点网站以及是否为重点频道,并对时间段编号相对应的时间段进行是否有新闻的预测;
17、步骤9.5:将新闻发布特征转化为一组数字,利用贝叶斯计算概率的公式计算计算有新闻发布和没有新闻发布对应的概率,然后比较有新闻发布的概率和没有新闻发布的概率的大小,建立朴素贝叶斯预测时间模型;贝叶斯计算概率的公式为:
18、p(ci|w)=p(w|ci)*p(ci)/p(w)
19、其中,w为新闻发布特征;p为概率;ci为是否有新闻发布;
20、步骤10:根据朴素贝叶斯预测时间模型预测新闻发布的时间得到预测数据,通过任务管理程序生成新闻获取的计划任务,若预测数据中有新闻发布的概率大于没有新闻发布的概率,则生成对应的计划任务中的爬取任务,若预测数据中没有新闻发布的概率大于有新闻发布的概率,则生成计划任务的减少或停止爬取任务。
21、本发明的技术方案提出使用机器学习算法(朴素贝叶斯)预测新闻发布时间的方法,使用朴素贝叶斯算法进行新闻发布时间的预测,解决了带宽消耗以及爬取任务冲突,提高了新闻预测的精度和效率,并且可以适应复杂的数据模式和处理需求,同时提供可解释性和实时性,从而更好地支持新闻获取的相关业务。
1.使用机器学习算法朴素贝叶斯预测新闻发布时间的方法,其特征在于,包括以下步骤:
