很多时候系统只会推送那些大V发布的微博,而对于新人发布的优质内容就会忽略。那么如何避免这一问题呢?首先要做的就是发现优质内容的微博。
1. Baseline
1.1 用户特征
(1)基本属性
一般指用户侧的基本属性,如年龄、性别等。由于数据中无相关信息,于是无需进行分析。
(2)用户-博文交叉特征(统计特征)
1)过去一个月:
-发布博文总数
-最大评论数、点赞数、转发数
-最小评论数、点赞数、转发数
-平均评论数、点赞数、转发数
-众数评论数、点赞数、转发数
-方差评论数、点赞数、转发数
2)过去一周:
-发布博文总数
-最大评论数、点赞数、转发数
-最小评论数、点赞数、转发数
-平均评论数、点赞数、转发数
-众数评论数、点赞数、转发数
-方差评论数、点赞数、转发数
1.2 微博内容特征
这里暂且不分析,下一节将详细挖掘文本相关特征。
1.3 博文时间特征
(1)基本属性
-是星期几
-是否周末
-是否是节假日
-发文时间段(分24个时间段)
(2)统计特征
过去一周每个时间段的:
-发布博文总数
-最大评论数、点赞数、转发数
-最小评论数、点赞数、转发数
-平均评论数、点赞数、转发数
-众数评论数、点赞数、转发数
-方差评论数、点赞数、转发数
注:由于预测的数据集中存在没有用户统计特征的数据,为了提高模型的泛化性,最后添加一维特征为
-是否有用户统计特征(过去三个月是否发过微博)
2. 文本特征挖掘
2.1 基于后验的统计特征
根据已经有点赞、评论、转发的微博,来统计每个单词对应的点赞、评论、转发等。
实验结果是大大改进模型的精度,于是如何细化到每人每词的统计特征,但是这样会使得特征十分稀疏,于是把词的粒度放粗,对微博进行聚类,得到每人每类簇的统计特征,从而大大提高模型的效果。
2.2 基于聚类的粗粒度统计特征
用户-类别的交互特征
(1)利用训练集训练词向量;
(2)使用词向量对微博进行聚类;
(3)计算每人每类簇的统计特征;