推荐系统(二)微博广告推荐

本文介绍了一种基于tf-idf算法的微博广告个性化推荐系统。通过分析用户发布的微博内容,提取关键词并计算其权重,实现精准广告推送。核心在于利用tf-idf评估词条重要性,按权重推荐相关广告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

业务场景:根据用户近期发布的微博,来推荐相关广告。简单说就是根据微博内容中所涉及到的词条与广告关键词的匹配度来推荐。
用到的关键算法:tf-idf算法,它是一个文本挖掘的重要算法,用来评估字/词对于一个语料库中的一份文本文件的重要程度,字/词的重要性会随着它在该文本文件中出现的次数增加而增加,同时随着它在整个语料库中出现的次数增加而减少。这个很好理解,就是说,如果一个词在所有文本文件里都出现了,那么它就无法区分某一个文本文件的独特性,相反,如果它只在一个文本文件里出现,那么就能很好的区分出这个文本,而且它在这个文本出现次数越多,证明它越能区分出这个文本与其他的不同。
tf-idf算法有一个计算文本中单词权重的公式:W=TF*log(N/DF)
TF:总词频,即该单词在其所在的文本文件中出现的次数
DF:该单词在多少个文本文件里出现过,如果在一个文件里出现多次,只算一次
N:总的文件数量。
,具体对应到微博业务中来,每一条微博就是一个文本文件,所有的微博算作一个语料库。我们最终得到的结果是,每一条微博中的每一个词(IK分词器分出的结果)的权重。比如下面是对id为3824242493952324和3824243084883820这两条微博的最终计算结果。

3824242493952324 我:2.19722 集市:6.97073 那会儿:6.97073 豆浆:2.77259 约:1.09861 真希望:6.97073 更新换代:6.97073 挣钱:6.27664 在:2.70805 后来:3.91202 卖:5.17615 上有:6.27664 上:3.17805 二老:6.97073 给我:3.91202 天天:3.97029 打:4.26268 一家:5.02388 九阳:0 妈妈:3.3322 喝:2.07944 钱:5.5835 自行车:6.27664 就:5.88888 工作:4.56435 现磨:6.27664 神器:4.18965 嚷着:6.97073 已有近:6.97073 双:2.19722 每天:2.70805 骑:5.87212 豆浆机:2.77259 小时候:4.12713 依然:6.27664 如今:5.17615 买:3.3322 给:6.08904 了:2.77259 刚会:6.97073 整天:5.87212 买了:3.4012 嚷:6.97073 预约:2.07944 买菜:6.97073 记得:4.89035 爸妈:5.17615 去:4.60517 10年:6.27664 一个:2.70805
3824243084883820 每天:2.70805 起来:2.83321 摊:6.27664 后:6.99302 的:0 喝:2.07944 都是:4.12713 宝贝:4.33073 怀孕:4.33073 买了:3.4012 让:3.21888 出生:6.27664 早上:3.21888 爱喝:4.66344 都有:4.66344 为了:3.73767 吃:2.70805 买:3.3322 在:2.70805 健康:2.99573 早点:5.87212 新鲜:4.89035 豆浆:4.15888 我:1.09861 之前:5.02388 很:3.17805 也:2.48491 家里人:6.97073

得到权重数据后,就可以做个性化的推荐了,比如:我想推荐一款豆浆机,首先取出所有微博中的“豆浆”这个词的权重,然后做降序排序,给TopN所涉及的用户推荐豆浆机广告。或者当“豆浆”这个词的权重大于某一个具体值的时候,才给其用户推荐,这个就看具体情况了。总之得到权重数据后就可以做各种推荐了。
具体计算权重的代码在我的github中:https://github.com/yaohuaji/MapReduceStart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值