最近,据Airbnb报道,在KDD 2018的《Real-time Personalization using Embeddings for Search Ranking at Airbnb》上实时做了推荐项目。 这里,在表现用户短期兴趣的特征时,乘以与用户过去2周对item的行动数相对应的item向量,并加上了所有的行动向量。 其中item向量由word2vec训练。
数据格式如下。
必须在num*vector后按user_id groupby键以获取vector和。
第一种方法是将spark.dataframe转换为pandas.dataframe。 方差转换方法见另一篇博文,https://blog.csdn.net/htbeker/article/details/93630921。 这样,样本量可以是千万个阶段,但涉及两种数据帧之间的转换很麻烦。 然后,样品量上升后,我们的计算平台开始了error。 后来尝试了使用rdd进行计算的方法。 可以在两种类型的dataframe之间切换和支持大量示例的计算。 代码也很简洁,如下所示。
dff=spark.createdataframe (df.rdd.map ) lambdax: ) x.user_id,x.num*x.vector ) ).reducebykey ) llllex
关注扫描以下二维码,接收程序员需要的千套ppt模板、300本精选好书和丰富的脸书。