数据推送与推荐接口交互 client ,目前仅支持 java 版本
推荐系统在线服务,整合实时数据链路、运营操作以及召回+排序链路,完成整套推荐系统在线服务功能串通
推荐算法模块,基于 pandas 实现,故而目前仅支持单机环境:包含 i2i,word2vec,hot 以及 new 四种召回算法
推荐召回引擎,包括两部分
顾名思义,为了使开发者更容易的了解整套链路的工作流程而准备的辅助模块
主要是 rec-algorithm 以及实时链路部分会进行集群版本的扩充,挖个坑先... 先将 standalone 版本放出来试试水,尝试搜集下需求和建议,当然如果能一起参与开发就更好了,说实话一个人搞还是蛮累的...
使用了开放的豆瓣数据集,由于太大没有上传至 git
其中包含用户数据 64w+,物品数据 14w+,行为数据 210w+
测试效果:
个性化推荐,当你点了悬疑电影《葬礼之后》
{
"code": 200,
"status": true,
"msg": "",
"data": {
"results": [
{
"id": "1768141",
"score": 0.08358968296584475
},
{
"id": "3426877",
"score": 0.07665220781278664
},
{
"id": "1427040",
"score": 0.07655959028113997
},
{
"id": "1427039",
"score": 0.07570950809055003
},
{
"id": "1768209",
"score": 0.07437190381291456
},
{
"id": "3228086",
"score": 0.0697870242753483
},
{
"id": "1421737",
"score": 0.06672216347590268
},
{
"id": "3992966",
"score": 0.0652121816197966
},
{
"id": "4106641",
"score": 0.06475048223743467
},
{
"id": "1768212",
"score": 0.06289306435371969
}
],
"detailInfos": [
{
"id": "1768141",
"weight": 0,
"title": "遗产风波 - 电影",
"category": "悬疑 /惊悚 /犯罪",
"tags": "英剧 /阿加莎·克里斯蒂 /推理 /英国 /悬疑 /Poirot/AgathaChristie/侦探",
"scene": "douban_movie",
"pubTime": "0",
"modifyTime": "0",
"expireTime": "0",
"status": 1,
"extFields": "{}"
},
{
"id": "3426877",
"weight": 7,
"title": "鸽群中的猫",
"category": "剧情 /悬疑 /惊悚 /犯罪",
"tags": "英剧 /阿加莎·克里斯蒂 /推理 /英国 /悬疑 /AgathaChristie/Poirot/波洛",
"scene": "douban_movie",
"pubTime": "0",
"modifyTime": "0",
"expireTime": "0",
"status": 1,
"extFields": "{}"
},
{
"id": "1427040",
"weight": 7,
"title": "空幻之屋",
"category": "剧情 /爱情 /悬疑 /犯罪",
"tags": "阿加莎·克里斯蒂 /推理 /英剧 /英国 /波洛 /悬疑 /Poirot/AgathaChristie",
"scene": "douban_movie",
"pubTime": "0",
"modifyTime": "0",
"expireTime": "0",
"status": 1,
"extFields": "{}"
},
{
"id": "1427039",
"weight": 8,
"title": "H 庄园的一次午餐",
"category": "剧情 /爱情 /悬疑 /犯罪",
"tags": "阿加莎·克里斯蒂 /推理 /英国 /英剧 /悬疑 /波洛 /侦探 /Poirot",
"scene": "douban_movie",
"pubTime": "0",
"modifyTime": "0",
"expireTime": "0",
"status": 1,
"extFields": "{}"
},
{
"id": "1768209",
"weight": 7,
"title": "底牌",
"category": "剧情 /悬疑 /犯罪",
"tags": "阿加莎·克里斯蒂 /推理 /英剧 /英国 /悬疑 /Poirot/侦探 /波洛",
"scene": "douban_movie",
"pubTime": "0",
"modifyTime": "0",
"expireTime": "0",
"status": 1,
"extFields": "{}"
},
{
"id": "3228086",
"weight": 7,
"title": "第三个女郎",
"category": "悬疑 /惊悚 /犯罪",
"tags": "英剧 /阿加莎·克里斯蒂 /推理 /Poirot/AgathaChristie/英国 /悬疑 /波洛",
"scene": "douban_movie",
"pubTime": "0",
"modifyTime": "0",
"expireTime": "0",
"status": 1,
"extFields": "{}"
},
{
"id": "1421737",
"weight": 0,
"title": "埃奇威尔爵士之死 - 电影",
"category": "悬疑 /犯罪",
"tags": "阿加莎·克里斯蒂 /推理 /英国 /悬疑 /英剧 /波洛 /侦探 /Poirot",
"scene": "douban_movie",
"pubTime": "0",
"modifyTime": "0",
"expireTime": "0",
"status": 1,
"extFields": "{}"
},
{
"id": "3992966",
"weight": 0,
"title": "三幕悲剧 - 电影",
"category": "剧情 /悬疑 /惊悚 /犯罪",
"tags": "阿加莎·克里斯蒂 /推理 /英剧 /英国 /悬疑 /Poirot/波洛 /AgathaChristie",
"scene": "douban_movie",
"pubTime": "0",
"modifyTime": "0",
"expireTime": "0",
"status": 1,
"extFields": "{}"
},
{
"id": "4106641",
"weight": 7,
"title": "怪钟疑案",
"category": "剧情 /悬疑 /犯罪",
"tags": "阿加莎·克里斯蒂 /推理 /英国 /悬疑 /英剧 /波洛 /侦探 /Poirot",
"scene": "douban_movie",
"pubTime": "0",
"modifyTime": "0",
"expireTime": "0",
"status": 1,
"extFields": "{}"
},
{
"id": "1768212",
"weight": 7,
"title": "蓝色特快上的秘密",
"category": "剧情 /悬疑 /犯罪",
"tags": "阿加莎·克里斯蒂 /推理 /英剧 /英国 /波洛 /悬疑 /侦探 /Poirot",
"scene": "douban_movie",
"pubTime": "0",
"modifyTime": "0",
"expireTime": "0",
"status": 1,
"extFields": "{}"
}
]
}
}
1
xsank OP 看起来大家对于推荐系统不感兴趣啊...
|
2
xsank OP 再询问下大家,是介绍不清楚吗?
感觉大家没什么反馈,还是想了解下开发同学的真实想法的,欢迎交流 |
3
yuhuigreed 2022-11-18 00:33:54 +08:00
同行,先 star 了
|
4
xsank OP 欢迎交流
|
5
hadesjaky0607 2022-12-21 14:16:18 +08:00
确实是专业,赞一个
|
6
WabbyWabbo 2023-02-10 18:15:23 +08:00 via Android
我最近也在打算写一个简单的推荐引擎,打算召回重排用 Golang ,精排用 C++调 TensorFlow
|
7
azhong123 182 天前
佬,还在吗? 9 年 java 后端,想学
|