新闻推荐_特征工程

在使用gensim训练word2vec的时候,有几个比较重要的参数

size: 表示词向量的维度。

window:决定了目标词会与多远距离的上下文产生关系。

sg: 如果是0,则是CBOW模型,是1则是Skip-Gram模型。

workers: 表示训练时候的线程数量

min_count: 设置最小的

iter: 训练时遍历整个数据集的次数

注意

训练的时候输入的语料库一定要是字符组成的二维数组,如:[[‘北’, ‘京’, ‘你’, ‘好’], [‘上’, ‘海’, ‘你’, ‘好’]]

使用模型的时候有一些默认值,可以通过在Jupyter里面通过Word2Vec??查看

对训练数据做负采样

通过召回我们将数据转换成三元组的形式(user1, item1, label)的形式,观察发现正负样本差距极度不平衡,我们可以先对负样本进行下采样,下采样的目的一方面缓解了正负样本比例的问题,另一方面也减小了我们做排序特征的压力,我们在做负采样的时候又有哪些东西是需要注意的呢?

只对负样本进行下采样(如果有比较好的正样本扩充的方法其实也是可以考虑的)

负采样之后,保证所有的用户和文章仍然出现在采样之后的数据中

下采样的比例可以根据实际情况人为的控制

做完负采样之后,更新此时新的用户召回文章列表,因为后续做特征的时候可能用到相对位置的信息。

用户历史行为相关特征

对于每个用户召回的每个商品, 做特征。 具体步骤如下:

对于每个用户, 获取最后点击的N个商品的item_id,

对于该用户的每个召回商品, 计算与上面最后N次点击商品的相似度的和(最大, 最小,均值), 时间差特征,相似性特征,字数差特征,与该用户的相似性特征

用户和文章特征

用户相关特征

这一块,正式进行特征工程,既要拼接上已有的特征, 也会做更多的特征出来,我们来梳理一下已有的特征和可构造特征:

文章自身的特征, 文章字数,文章创建时间, 文章的embedding (articles表中)

用户点击环境特征, 那些设备的特征(这个在df中)

对于用户和商品还可以构造的特征:

基于用户的点击文章次数和点击时间构造可以表现用户活跃度的特征

基于文章被点击次数和时间构造可以反映文章热度的特征

用户的时间统计特征: 根据其点击的历史文章列表的点击时间和文章的创建时间做统计特征,比如求均值, 这个可以反映用户对于文章时效的偏好

用户的主题爱好特征, 对于用户点击的历史文章主题进行一个统计, 然后对于当前文章看看是否属于用户已经点击过的主题

用户的字数爱好特征, 对于用户点击的历史文章的字数统计, 求一个均值

分析一下点击时间和点击文章的次数,区分用户活跃度

如果某个用户点击文章之间的时间间隔比较小, 同时点击的文章次数很多的话, 那么我们认为这种用户一般就是活跃用户, 当然衡量用户活跃度的方式可能多种多样, 这里我们只提供其中一种,我们写一个函数, 得到可以衡量用户活跃度的特征,逻辑如下:

首先根据用户user_id分组, 对于每个用户,计算点击文章的次数, 两两点击文章时间间隔的均值

把点击次数取倒数和时间间隔的均值统一归一化,然后两者相加合并,该值越小, 说明用户越活跃

注意, 上面两两点击文章的时间间隔均值, 会出现如果用户只点击了一次的情况,这时候时间间隔均值那里会出现空值, 对于这种情况最后特征那里给个大数进行区分

这个的衡量标准就是先把点击的次数取到数然后归一化, 然后点击的时间差归一化, 然后两者相加进行合并, 该值越小, 说明被点击的次数越多, 且间隔时间短。

分析一下点击时间和被点击文章的次数, 衡量文章热度特征

和上面同样的思路, 如果一篇文章在很短的时间间隔之内被点击了很多次, 说明文章比较热门,实现的逻辑和上面的基本一致, 只不过这里是按照点击的文章进行分组:

根据文章进行分组, 对于每篇文章的用户, 计算点击的时间间隔

将用户的数量取倒数, 然后用户的数量和时间间隔归一化, 然后相加得到热度特征, 该值越小, 说明被点击的次数越大且时间间隔越短, 文章比较热

用户的系列习惯

这个基于原来的日志表做一个类似于article的那种DataFrame, 存放用户特有的信息, 主要包括点击习惯, 爱好特征之类的

用户的设备习惯, 这里取最常用的设备(众数)

用户的时间习惯: 根据其点击过得历史文章的时间来做一个统计(这个感觉最好是把时间戳里的时间特征的h特征提出来,看看用户习惯一天的啥时候点击文章), 但这里先用转换的时间吧, 求个均值

用户的爱好特征, 对于用户点击的历史文章主题进行用户的爱好判别, 更偏向于哪几个主题, 这个最好是multi-hot进行编码, 先试试行不

用户文章的字数差特征, 用户的爱好文章的字数习惯

你可能感兴趣的:(新闻推荐_特征工程)