导语:我认为很少有人意识到,推荐系统是世界上构想过的最大的计算系统之一。——Jensen Huang
在信息过载的时代背景下,智能推荐系统已广泛应用于电子商务、社交媒体、新闻资讯、视频音乐、旅游出行等领域,为用户提供更加精准和高效的信息获取途径。
一、引言
智能推荐,简而言之,是一种利用机器学习和数据挖掘技术,对推荐的内容或物品进行分析和描述,根据用户的浏览历史、点击记录、购买行为、搜索关键词等历史数据和行为模式来构建用户画像,进而自动向用户推荐个性化、相关度高的产品、服务或内容的人工智能技术。
对于新闻媒体行业来说,智能推荐系统可以实时跟踪新闻动态,根据用户的兴趣变化及时、精准地更新推荐内容,有助于提高新闻的覆盖率和传播效果,增强用户对新闻平台的满意度和留存率,带来更多的策略优化、商业变现机会。
二、媒体行业案例
随着 OTT 等新兴模式崛起,IPTV 的传统市场地位受到严重冲击,面临资源整合、内容服务创新、用户娱乐方式转变等难题。
1.案例背景
某品牌 IPTV 在业务稳步发展、用户体量逐渐增加之际,发现传统单一的人工运营模式难以满足日益扩大的差异化需求,在全媒体生产、多终端传播、海量内容开发、媒体数字化迭代及运营能力精细化等方面,均提出了更为严格的要求,亟需借助推荐算法进一步提高内容推送的精准度和时效性。
2.战略合作
为了构建更加先进的融合传播技术支撑体系,某品牌 IPTV 与百度智能云一念达成战略合作,依托云智一体媒体核心技术,建立以智能推荐系统为核心的智能推荐体系。
百度智能云一念·智能推荐平台,是基于百度大模型能力打造的搜推一体化智能推荐平台,为企业级客户提供个性化推送,用于图文资讯、商品购买、视频推荐等多种业务场景,帮助企业提高用户经营能力,提升用户活跃度、留存率和产品付费转化。智能推荐平台于 2022 年上线服务了金融、媒体、汽车等行业多个头部客户,并受中国信息通信研究院邀请,核心参编《智能推荐平台技术要求和测试方法》。
关键技术:
-
-
协同过滤:基于用户行为或兴趣相似性的推荐原理。
-
内容基推荐:依据物品内容特征与用户偏好的匹配度进行推荐。
-
混合推荐:结合多种推荐策略,提升推荐效果。
-
深度学习在推荐中的应用:介绍深度学习如何增强推荐系统的个性化与精准度。
-
3.合作效果
某 IPTV 和百度智能云一念的智能推荐引擎合作,把 AI 应用于媒体业务全流程,通过智能媒资管理、智能内容生产和智能媒体经营三个方面的支持,满足媒体智能化在不同场景下的需求。动态自学习算法能力全面升级了智能推荐的能力和效果,将大屏智能推荐和运营指标深度融合,推动了人工运营转向智能自动化运营,不仅解放了人力资源,还精细化了运营能力和各项运营指标。
数据显示,本次合作让媒体工作者摆脱大量的重复性工作,建立起了媒体和用户之间的信任感,激发了编辑人员的创作热情和精细程度。此外,促使某品牌 IPTV 的曝光点击率环比提升 50%以上、付费订阅提升 20%以上,搭建了数据驱动、人机协同、跨界融合、共创分享的生产范式。
三、实操步骤分享
1.数据准备
Step 1 物料数据 schema 规范
Step 2 行为数据 schema 规范
Step 3 用户数据 schema 规范(非必传)
2.创建应用
在应用管理页,单击顶部【创建应用】按钮,进入创建应用页面,依次填写应用各项参数,选择图文推荐。
点击【创建】按钮,进入创建应用提示页面,进入应用配置页面。
3.接入数据
进入应用配置页面,在数据接入选项卡下,点击数据 API 卡片右上角的【启用服务】按钮,一键开启 3 个数据接入服务。
点击【刷新状态】按钮,直到三个服务的状态都显示为“服务中”时,即可根据生成的请求地址接入数据。
(1)了解使用 SDK 方式接入数据的流程
第1步:下载代码模版,下载并解压代码模板(python 文件),请仔细阅读 readme.md 文件。
第2步:下载并替换鉴权信息,点击下载鉴权信息,并参考代码模板中 readme.md 文件进行修改。
第3步:接入数据,返回'success':true 即表明接入成功,刷新数据状态,接入必传数据即可。
(2)分别接入三类数据
Step 1 接入 csv 中的物料数据
注意:本案例脚本代码与 sdk 提供的存在差异仅供参考,需要根据实际业务使用 sdk 中的代码或者开发代码。
"""
从csv中发送物料数据给cms
"""
import os
import time
import requests
import json
import pandas as pddef post_m(dic):ctx = json.dumps(dic, ensure_ascii=False)ctx = ctx.encode("utf-8")rex = requests.post(url, ctx, headers=headers)return rexurl = "http://airec.baidu.com/airec/api/1-s6r5gitg/omni/cms/batch-sync"
ak = "f5695cc1c9544ccd9088b29b417d395b"headers = {"Content-Type": "application/json", "X-Gw-Ak": ak}
cmsdata = pd.read_csv('/Users/wangxuecong01/Desktop/1产品管理/1智能推荐引擎/演示数据/CMSdemo.csv')for idx, data in cmsdata.iterrows():demo_cms= [{"nid": str(data['nid']),"site_name":data['site_name'],"title":data['title'],"content":data['content'],"mthid":str(data['mthid']),"publish_time":data['publish_time'],"att":[data['att']],"status":data['status'],"ts":data['ts']}]begin = time.time()rex = post_m(demo_cms)end = time.time()print("using time: {}, status {}, ret content: {}".format(round(end - begin, 6), rex.status_code, rex.text))
Step 2 接入 csv 中的用户数据
"""
发送用户数据给ums
"""import os
import time
import requests
import json
import pandas as pddef post_m(dic):ctx = json.dumps(dic, ensure_ascii=False)ctx = ctx.encode("utf-8")rex = requests.post(url, ctx, headers=headers)return rexurl = "http://airec.baidu.com/airec/api/1-fd8wpxd0/omni/ums/batch-sync"
ak = "f5695cc1c9544ccd9088b29b417d395b"headers = {"Content-Type": "application/json", "X-Gw-Ak": ak}umsdata = pd.read_csv('/Users/文件路径/演示数据/UMSdemo.csv')
for idx, data in umsdata.iterrows():demo_ums = [{"uid":str(data['uid'])}]begin = time.time()rex = post_m(demo_ums)end = time.time()print("using time: {}, status {}, ret content: {}".format(round(end - begin, 6), rex.status_code, rex.text))
Step 3 接入 csv 中的用户数据
"""发送用户数据给ums"""import osimport timeimport requestsimport jsonimport pandas as pddef post_m(dic):ctx = json.dumps(dic, ensure_ascii=False)ctx = ctx.encode("utf-8")rex = requests.post(url, ctx, headers=headers)return rexurl = "http://airec.baidu.com/airec/api/1-fd8wpxd0/omni/ims/batch-sync"ak = "f5695cc1c9544ccd9088b29b417d395b"headers = {"Content-Type": "application/json", "X-Gw-Ak": ak}imsdata = pd.read_csv('/文件路径演示数据/IMSdemo.csv')for idx, data in imsdata.iterrows():demo_ims = [{"nid":str(data['nid']),"uid":str(data['uid']),"event":data['event'],"ts":data['ts']}]begin = time.time()rex = post_m(demo_ims)end = time.time()print("using time: {}, status {}, ret content: {}".format(round(end - begin, 6), rex.status_code, rex.text)
(3)验证是否成功接入数据
在配置应用页面基础信息卡片查看数据接入条数是否符合预期。
4.服务调用
Step 1 启用服务
进入智能推荐引擎配置页面,在服务调用选项卡下点击推荐 API 卡片【启用】按钮,开启需要调用的服务。
点击【刷新状态】按钮,直到服务的状态都显示为“服务中”时,即可根据生成的请求地址调用接口。
Step 2 了解调用流程
第1步:下载代码模版,下载并解压代码模板(python 文件),请仔细阅读 readme.md 文件。
第2步:下载并替换鉴权信息,点击下载鉴权信息,并参考代码模板中 readme.md 文件进行修改。
第3步:调用服务,获取返回的推荐结果。
第4步:验证结果,正确返回值类似, status 值应为 200。
Step 3 开始调用接口
调用个性化接口
"""个性化推荐接口"""import osimport timeimport requestsimport jsondef post_m(dic):rex = requests.get(url, dic, headers=headers)return rexurl = "http://10.137.16.168:8081/airec/api/3-zo179t-l/rec/p_rec"ak = "f5695cc1c9544ccd9088b29b417d395b"headers = {"Content-Type": "application/json", "X-Gw-Ak": ak}body = {"uid": "uid_1","req_cnt": 20}begin = time.time()rex = post_m(body)end = time.time()print("using time: {}, status {}, ret content: {}".format(round(end - begin, 6), rex.status_code, rex.text))
5.模拟体验
在应用列表页面选择相应的应用点击【配置】按钮进入配置页面,切换到服务调用页面,点击【模拟体验 demo】按钮。
(1)体验个性化 PC 端推荐
点击【刷新】按钮可以浏览推荐内容,点击【阅读(曝光)】、【点击】、【评论】、【收藏】、【转发】按钮可以模拟用户的点击行为。
每次点击都会生成一条行为数据,可用于给当前用户推荐。
查看用户兴趣点变化趋势:点击模拟用户的兴趣点可以查看该兴趣点(标签)在每天的变化趋势。
查看推荐内容分布和用户兴趣分布是否吻合,或者查询模拟行为记录。
(2)体验手机端个性化推荐
pc demo 页面点击【二维码】图标弹出二维码页面,选择模拟用户,手机微信或者其他应用扫一扫打开 H5 页面。
下拉刷新可以浏览推荐更多的内容,可以点击【阅读(曝光)】、【点击】、【评论】、【收藏】、【转发】按钮模拟用户的点击行为,每次点击都会生成一条行为数据用于给当前用户推荐,暂不支持取消行为。
同样,可以上滑查看历史推荐内容。
四、总结
智能搜推引擎针对金融、互联网、传媒等行业私域流量分发场景,提供内容资讯、商品和媒资物料的个性化搜索推荐服务,可显著提高客户端用户活跃度、留存及收益。
想进一步了解推荐引擎的使用等问题,可以填写表单百度智能云一念——产品咨询 ,领取更多专属福利。
推荐阅读
薅羊毛!!一分钟快速领取某云平台内容审核免费测试资源!_百度的文本审核免费-CSDN博客
首例“AI声音侵权案”宣判!聊聊怎么调用API接入百度内容审核平台_百度ai声音-CSDN博客
百度云智能媒体内容分析一体机(MCA)建设_百度内容解析组-CSDN博客
百度“文心•跨模态大模型”又有新动态,支持内容分析时输出自定义标签库_百度模型文心实现图片描边-CSDN博客
扎克伯格说AI会让推荐系统变得更强大?一文读懂什么是智能推荐系统-CSDN博客