Technical Documentation: Doragd/Algorithm-Practice-in-Industry
ℹ️ Provenance: Multi-Tier Ingestion · CodeWiki Reference
Overview (README.md)
Algorithm-Practice-in-Industry
仓库介绍
一开始这个仓库是做如下内容:
搜索、推荐、广告、用增等工业界实践文章收集(来源:知乎、Datafuntalk、技术公众号)
本文仅做资源收集,未引用具体内容,如有侵权,请联系删除。
源文件:source.xlsx,可以执行自定义排序
随后扩展了以下内容:
当前仓库功能
当前仓库主线代码位于 paperBotV2/,主要维护搜广推方向的论文、顶会和工业实践内容:
- arXiv 每日论文:抓取
cs.IR等方向新论文,使用大模型进行粗排、精排和摘要翻译,生成每日 JSON 与网页,并支持飞书群推送。 - 顶会论文汇总:维护 ACL、CIKM、ECIR、EMNLP、ICLR、ICML、KDD、NAACL、NIPS、RecSys、SIGIR、WSDM、WWW 等会议论文列表,生成按会议和年份组织的 Markdown 页面。
- 顶会论文日推:从
paperBotV2/conf_summary/data/results.json中挑选推荐、搜索、广告相关论文,补全摘要、翻译摘要,并通过飞书机器人推送。 - 行业实践文章:维护大厂搜广推、广告、搜索、推荐、生成式等实践文章,支持 Issue 驱动更新 README、数据文件和网页版本。
- GitHub Actions 自动化:通过 workflow 定时或按 Issue 标签触发 arXiv 更新、飞书通知、顶会更新、会议日推和行业实践页面部署。
代码入口
- arXiv 主流程:
python -m paperBotV2.arxiv_daily.arxiv - arXiv 飞书通知:
python paperBotV2/arxiv_daily/arxiv_feishu_msg.py - 顶会 Issue 更新:
python paperBotV2/conf_summary/update_from_issue.py - 顶会日推:
python paperBotV2/conf_summary/conf_daily.py - 顶会 Markdown 生成:
python paperBotV2/conf_summary/convert_to_md.py - 顶会 README 更新:
python paperBotV2/conf_summary/update_readme_papers.py - 行业实践更新:
python paperBotV2/industry_practice/maintain.py
旧版脚本和旧 arXiv workflow 已归档到 legacy/,仅用于历史回溯、兼容排查和必要时回滚;日常开发和自动化入口以 paperBotV2/ 为准。
贡献新文章
提交issue,利用github action自动更新readme和source.xlsx内容
已提供issue模板,具体内容参考issue:https://github.com/Doragd/Algorithm-Practice-in-Industry/issues/1
一起交流
- 关于我:2023届毕业,之前做NLP方向,毕业后转去搜广推方向,一枚努力适应的菜鸡。目前在做召回方向。
- 我的论文阅读笔记:https://github.com/doragd/paperreading
- 和我交流:
搜广推论文推送Bot 【✨Newest:网页版本🥹=>[点击查看](https://doragd.github.io/Algorithm-Practice-in-Industry/arxiv_daily)】
- Arxiv论文:利用github action + 大模型排序翻译 + 飞书机器人每天推送cs.IR等方向的新论文到飞书群组中。配置文件
- 顶会论文:利用github action + 彩云小译 + 飞书机器人每天推送搜广推顶会的论文到到飞书群组中。配置文件
- PS: 虽然论文没太大用,但是可以无聊时候刷刷,扩展下思路。
- 比如早上通勤的时候,可以刷刷推送,看看有没有有意思的论文,也不需要花太多时间,毕竟摘要都翻译好了~
顶会论文列表
| ACL | CIKM | ECIR | EMNLP | ICLR | ICML | KDD | NAACL | NIPS | RECSYS | SIGIR | WSDM | WWW |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2012 | 2012 | 2012 | 2012 | 2012 | 2012 | 2012 | 2012 | 2012 | 2012 | 2012 | 2012 | 2012 |
| 2013 | 2013 | 2013 | 2013 | 2013 | 2013 | 2013 | 2013 | 2013 | 2013 | 2013 | 2013 | 2013 |
| 2014 | 2014 | 2014 | 2014 | 2014 | 2014 | 2014 | 2014 | 2014 | 2014 | 2014 | 2014 | 2014 |
| 2015 | 2015 | 2015 | 2015 | 2015 | 2015 | 2015 | 2015 | 2015 | 2015 | 2015 | 2015 | 2015 |
| 2016 | 2016 | 2016 | 2016 | 2016 | 2016 | 2016 | 2016 | 2016 | 2016 | 2016 | 2016 | 2016 |
| 2017 | 2017 | 2017 | 2017 | 2017 | 2017 | 2017 | 2017 | 2017 | 2017 | 2017 | 2017 | 2017 |
| 2018 | 2018 | 2018 | 2018 | 2018 | 2018 | 2018 | 2018 | 2018 | 2018 | 2018 | 2018 | 2018 |
| 2019 | 2019 | 2019 | 2019 | 2019 | 2019 | 2019 | 2019 | 2019 | 2019 | 2019 | 2019 | 2019 |
| 2020 | 2020 | 2020 | 2020 | 2020 | 2020 | 2020 | 2020 | 2020 | 2020 | 2020 | 2020 | 2020 |
| 2021 | 2021 | 2021 | 2021 | 2021 | 2021 | 2021 | 2021 | 2021 | 2021 | 2021 | 2021 | 2021 |
| 2022 | 2022 | 2022 | 2022 | 2022 | 2022 | 2022 | 2022 | 2022 | 2022 | 2022 | 2022 | 2022 |
| 2023 | 2023 | 2023 | 2023 | 2023 | 2023 | 2023 | 2023 | 2023 | 2023 | 2023 | 2023 | 2023 |
| 2024 | 2024 | 2024 | 2024 | 2024 | 2024 | 2024 | 2024 | 2024 | 2024 | 2024 | 2024 | 2024 |
| 2025 | 2025 | 2025 | 2025 | 2025 | 2025 | 2025 | 2025 | 2025 | 2025 | 2025 | 2025 | 2025 |
大厂实践文章【✨Newest:网页版本🥹=>[点击查看](https://doragd.github.io/Algorithm-Practice-in-Industry/industry_practice/)】
| 公司 | 内容 | 标签 | 时间 |
|---|---|---|---|
| 百度 | 基于统一语义空间的搜索广告生成式排序 | 广告 | 2025-10-30 |
| 快手 | 端到端短视频多目标排序机制框架EMER详解 | 推荐 | 2025-10-30 |
| 美团 | 可验证过程奖励在提升大模型推理效率中的探索与实践 | 大模型 | 2025-10-09 |
| 快手 | 快手广告领域的大模型技术探索与实践 | 广告 | 2025-10-05 |
| 小红书 | AIGC 赋能展示广告:大模型在小红书标题生成中的深度实践 | 广告 | 2025-10-05 |
| 阿里 | 对话淘宝姜宇宁:如果你只推低价商品,是不需要用大语言模型的 | 推荐 | 2025-10-01 |
| 阿里 | 深度学习框架RecIS,专为超大规模稀疏+稠密计算设计 | 推荐 | 2025-10-01 |
| 百度 | 百度推荐技术标题改写实践 | 生成式 | 2025-09-30 |
| 阿里 | ULIM:解锁用户长期兴趣,推荐场景下的用户超长序列召回 | 推荐 | 2025-09-25 |
| 快手 | 生成式强化学习在广告自动出价场景的技术实践 | 广告 | 2025-09-23 |
| 快手 | 快手端到端生成式搜索框架OneSearch | 搜索 | 2025-09-18 |
| 京东 | 京东健康基于大模型的生成式推荐在电商标品推荐的应用 | 推荐 | 2025-09-12 |
| 美团 | [datafun分享] MTGR:美团外卖生成式推荐 Scaling Law 落地实践 | 生成式 | 2025-09-11 |
| 百度 | GRAB:百度推荐广告生成排序模型技术实践 | 生成式 | 2025-09-09 |
| 百度 | 百度Feed端到端内容理解与序列生成项目 | 生成式 | 2025-09-08 |
| 百度 | 百度搜索广告端到端拍卖技术实践 | 广告 | 2025-09-04 |
| 腾讯 | 腾讯广告LFM4Ads基础大模型:全表征多粒度知识迁移,全平台GMV提升2.45% | 广告 | 2025-09-03 |
| 阿里妈妈 | 阿里妈妈展示广告提出基于多归因学习的CVR预估范式MAL | 广告 | 2025-08-28 |
| 快手 | 快手搜索提出个性化生成式SUG | 搜索 | 2025-08-07 |
| 阿里妈妈 | 在线广告系统的智能算力资源回收框架 | 广告 | 2025-08-06 |
| 快手 | 快手SL-MGAC精准稳定插播直播赢用户时长 | 推荐 | 2025-08-06 |
| 快手 | 快手LCRON:工业级级联排序系统一体化建模新范式,助力商业化收入增长 | 广告 | 2025-07-23 |
| 百度 | 百度商业大模型在线推理工程优化实践 | 生成式 | 2025-07-10 |
| 阿里 | EasyRec 推荐算法训练推理优化 | 推荐 | 2025-07-04 |
| 快手 | 快手提出端到端生成式推荐系统OneRec | 推荐 | 2025-06-20 |
| 百度 | 百度生成式广告推荐召回工业级新范式 | 生成式 | 2025-05-30 |
| 百度 | 百度搜索广告召回的生成式革新 | 生成式 | 2025-05-29 |
| 百度 | 百度推荐广告生成式排序模型技术实践 | 生成式 | 2025-05-22 |
| 阿里妈妈 | 集成大语言模型与电商知识的通用召回大模型URM | 广告 | 2025-05-15 |
| 美团 | [美团技术团队] MTGR:美团外卖生成式推荐 Scaling Law 落地实践 | 生成式 | 2025-05-15 |
| 京东 | 深度拆解One4All框架,生成式推荐在京东CPS广告的技术探索 | 广告 | 2025-05-06 |
| 阿里妈妈 | 大模型深度赋能搜索广告:相关性大模型多维知识蒸馏 | 广告 | 2025-04-23 |
| 京东 | 京东广告创意:高质量创意生成和千人千面的创意推荐 | 广告 | 2025-04-15 |
| 阿里 | 首猜两阶段端到端多兴趣新范式 | 推荐 | 2025-03-14 |
| 阿里妈妈 | 阿里妈妈搜索广告大模型2024思考与实践 | 广告 | 2025-03-14 |
| 美团 | 上下文感知的聚合页广告优化实践 | 广告 | 2025-02-27 |
| 阿里 | 淘宝直播技术新范式(二)|新型商品推荐链路带来百万级DAU增量 | 推荐 | 2025-02-06 |
| 阿里 | 淘宝直播技术新范式(一)|实时挂品识别能力实现精准即时的人货匹配 | 推荐 | 2025-01-23 |
| 阿里 | 认知推荐(二):基于LLM的淘宝推荐算法显著提升发现性比例 | 推荐 | 2025-01-16 |
| 腾讯 | 腾讯搜索广告:基于混元大模型的生成式召回探索与应用 | 广告 | 2025-01-09 |
| 阿里妈妈 | 生成式拍卖:感知排列外部性的整页优化机制 | 广告 | 2024-12-25 |
| 京东 | 京东电商搜索:大模型生成式检索优化实践 | 搜索 | 2024-12-14 |
| 阿里 | 淘宝拍立淘应用多模态属性理解新范式,曝光相关性突破95% | 搜索 | 2024-12-05 |
| 京东 | [datafun分享] 京东电商搜索:大模型生成式检索优化实践 | 搜索 | 2024-11-28 |
| 阿里 | 时令品智能推荐系统让淘宝与用户实现“四季之约” | 推荐 | 2024-11-21 |
| 淘宝 | 简单又高效:多场景近线召回在淘宝推荐中的最新范式 | 推荐 | 2024-10-31 |
| 小红书 | 小红书去中心化内容分发技术 | 推荐 | 2024-10-29 |
| 淘宝 | LAST——重排在线学习范式的全新可能 | 重排 | 2024-10-24 |
| 腾讯广告 | 腾讯广告基于长序列建模的落地实践 | 推荐 | 2024-10-17 |
| 腾讯广告 | 腾讯广告基于混元大模型的生成式召回落地实践 | 召回 | 2024-10-14 |
| 淘宝 | 多样性重排算法在淘宝首页信息流的创新应用 | 重排 | 2024-10-10 |
| 爱奇艺 | 在线深度学习:爱奇艺效果广告分钟级模型优化 | 广告 | 2024-10-10 |
| 美团 | 全域用户建模在美团首页推荐的探索与实践 | 推荐 | 2024-10-10 |
| 小红书 | 小红书搜索:生成式检索的探索与实践 | 搜索 | 2024-10-05 |
| 爱奇艺 | AI技术在爱奇艺视频搜索中的应用 | 搜索 | 2024-09-26 |
| 小红书 | 多模态对齐在小红书推荐的研究及应用 | 推荐 | 2024-09-23 |
| 网易云 | 多模态推荐在网易云音乐社区的创新实践 | 推荐 | 2024-09-16 |
| 京东 | 京东健康基于大模型的生成式推荐在电商标品推荐的应用 | 推荐 | 2024-09-16 |
| 爱奇艺 | 爱奇艺广告智能算力探索与实践 | 广告 | 2024-09-12 |
| 京东 | 京东搜索重排:基于互信息的用户偏好导向模型 | 重排 | 2024-08-31 |
| 腾讯 | 深入理解推荐模型中的辅助排序损失 | 推荐 | 2024-08-27 |
| 腾讯广告 | 推荐模型中的辅助排序损失 | 推荐 | 2024-08-27 |
| 腾讯 | 跨领域迁移学习在广告用户价值预估场景应用探索 | 广告 | 2024-08-26 |
| 腾讯广告 | 跨领域迁移学习在广告用户价值预估场景应用探索 | 广告 | 2024-08-26 |
| 淘宝 | 大语言模型改写技术在淘宝搜索中的应用 | 搜索 | 2024-08-22 |
| 快手 | 推荐系统融合排序的多目标寻优技术 | 排序 | 2024-08-17 |
| 淘宝 | 淘宝全域空间下的自适应连续迁移学习 | 推荐 | 2024-08-15 |
| 美团 | 信息流广告预估技术在美团外卖的实践 | 排序 | 2024-08-15 |
| B站 | B站搜索建库架构优化实践 | 搜索 | 2024-08-13 |
| 淘宝 | 触发式推荐场景的用户动态即时兴趣预估 | 推荐 | 2024-08-08 |
| 网易 | 多场景多任务统一建模在网易云音乐的算法实践 | 排序 | 2024-08-07 |
| 阿里妈妈 | 展示广告预估技术最新突破:基于原生图文信息的多模态预估模型 | 排序 | 2024-08-02 |
| 小红书 | 小红书搜索广告召回实践 | 召回 | 2024-08-01 |
| 淘宝 | 认知推荐:基于LLM的首页推荐新范式 | 推荐 | 2024-08-01 |
| 小红书 | 小红书去中心化内容分发技术 | 排序 | 2024-07-31 |
| 腾讯广告 | 腾讯广告推荐算法优化实践 | 推荐 | 2024-07-17 |
| 淘宝 | 淘宝“小时达”算法技术革新:精准匹配供需,重塑即时消费体验 | 推荐 | 2024-07-11 |
| 美团 | 搜索广告召回技术在美团的实践 | 召回 | 2024-07-04 |
| 腾讯音乐 | 音频表征大模型在QQ音乐歌曲冷启的应用与探索 | 冷启动 | 2024-06-30 |
| 阿里妈妈 | 展示广告预估模型优势特征应用实践 | 排序 | 2024-06-13 |
| 阿里妈妈 | 展示广告多模态召回模型:混合模态专家模型 | 召回 | 2024-05-29 |
| 百度 | 多域图大模型在百度推荐系统的实践与思考 | 图推荐 | 2024-05-09 |
| 百度 | 百度推荐资源冷启动实践 | 冷启动 | 2024-05-09 |
| 小红书 | 小红书高时效推荐系统实践:从系统提效到内容冷启动 | 冷启动 | 2024-05-07 |
| 美团 | 百亿大规模图在广告场景的应用 | 图 | 2024-03-28 |
| 美团 | 大众点评内容搜索算法优化的探索与实践 | 搜索 | 2024-03-21 |
| 爱奇艺 | 稀疏大模型在爱奇艺广告排序场景中的实践 | 排序 | 2024-03-01 |
| 360 | 360信息流推荐Mind召回 | 召回 | 2024-01-19 |
| 百度 | 百度搜索Push个性化 | 搜索 | 2024-01-17 |
| 小红书 | 小红书推荐用户及内容冷启动实践 | 冷启动 | 2024-01-12 |
| 百度 | 百度feed图模型演进 | 推荐 | 2024-01-11 |
| 百度 | 百度推荐排序技术的思考与实践 | 推荐 | 2024-01-07 |
| OPPO | OPPO 广告召回算法实践与探索 | 召回 | 2023-12-30 |
| 美团 | 美团交易视频推荐探索与实践 | 推荐 | 2023-12-23 |
| 美团 | 内容搜索算法优化的探索与实践 | 搜索 | 2023-12-23 |
| 得物 | 粗排优化探讨|得物技术 | 粗排 | 2023-12-20 |
| 百度 | 百度视频推荐跨域多目标预估与融合的实践和思考 | 推荐 | 2023-11-29 |
| 腾讯 | AI大模型「改造」QQ浏览器搜索 | 搜索 | 2023-11-19 |
| 阿里妈妈 | HC^2:基于混合对比学习的多场景广告预估建模 | 广告 | 2023-11-15 |
| 阿里 | 融合复杂目标且支持实时调控的重排模型 | 召回 | 2023-11-14 |
| 网易 | 网易云音乐推荐系统的冷启动技术 | 冷启动 | 2023-11-10 |
| 华为 | 多任务和多场景在华为推荐系统中的应用 | 推荐 | 2023-11-09 |
| 阿里妈妈 | BOMGraph:基于统一图神经网络的电商多场景召回方法 | 召回 | 2023-11-01 |
| 小红书 | 小红书推荐系统创新性探索 | 冷启动 | 2023-10-31 |
| 爱奇艺 | 爱奇艺效果广告双出价优化历程 | 广告 | 2023-10-20 |
| 快手 | 快手内容冷启动推荐模型实践 | 冷启动 | 2023-10-11 |
| 百度 | 百度推荐排序技术的思考(提取码:r5kv) | 推荐 | 2023-08-26 |
| 新浪 | 推荐系统大模型启发的MemoNet(提取码:ckpa) | CTR预估 | 2023-08-26 |
| 网易 | 网易云音乐推荐的多模态冷启技术(提取码:x72d) | 冷启动 | 2023-08-26 |
| 快手 | 快手内容冷启动模型实践(提取码:cjbc) | 冷启动 | 2023-08-26 |
| 百度 | 百度视频推荐跨域多目标预估与融合的实践和思考(提取码:cva3) | 多目标 | 2023-08-26 |
| 虎牙 | 面向直播场景的虎牙排序算法实践(提取码:yhb8) | 排序 | 2023-08-26 |
| 58同城 | 深度学习在互联网房产推荐场景的算法实践(提取码:wcz7) | 排序 | 2023-08-26 |
| 京东 | 图机器学习在京东视频召回中的应用(提取码:gfkx) | 召回 | 2023-08-26 |
| 百度 | 图模型在百度推荐系统的实践与思考(提取码:huaz) | 推荐 | 2023-08-26 |
| 百度 | 百度新资源冷启动实践(提取码:bji6) | 冷启动 | 2023-08-26 |
| 蚂蚁 | 图算法在蚂蚁集团营销推荐场景的应用(提取码:xvvi) | 推荐 | 2023-08-26 |
| 百度 | 百度凤巢大模型与搜索广告满意度设计与实践 | 搜索 | 2023-08-13 |
| 美团 | 美团外卖推荐关于用户新颖体验优化的技术探索 | 推荐 | 2023-07-20 |
| 美团 | 美团外卖智能陪伴型导购的探索与实践 | Query推荐 | 2023-07-13 |
| 京东 | 京东搜索EE链路演进 | 搜索生态 | 2023-07-12 |
| 阿里妈妈 | 基于特征自适应的多场景预估建模 | 多场景排序 | 2023-07-05 |
| 阿里妈妈 | 转化率预估新思路:基于历史数据复用的大促转化率精准预估 | 推荐 | 2023-06-28 |
| 腾讯 | 对话双塔——腾讯视频中的粗排相关性模型 | 粗排相关性 | 2023-06-28 |
| 小米电商 | 多任务学习梯度冲突在电商场景的改进 | 多任务学习 | 2023-06-24 |
| 阿里妈妈 | 排序和准度联合优化:一种基于混合生成/判别式建模的方案 | 排序 | 2023-06-21 |
| 小红书 | 语义模型在小红书社区搜索的应用(提取码:xfkv) | 搜索 | 2023-06-17 |
| 蚂蚁 | 支付宝搜索的Query理解与语义召回技术(提取码:p6gc) | 召回 | 2023-06-17 |
| 阿里淘系 | Generator-Evaluator重排模型在淘宝流式场景的实践 | 重排 | 2023-06-09 |
| 得物 | 得物多场景统一推荐技术演进 | 推荐 | 2023-06-09 |
| 阿里 | 阿里解耦域适应无偏召回模型详解 | 召回 | 2023-06-04 |
| Shopee | 多任务学习最新进展:基于神经元级共享的 CTR、CVR 多任务联合预估方法 | 推荐 | 2023-05-29 |
| 阿里妈妈 | AdaSparse: 自适应稀疏网络的多场景CTR预估建模 | 精排 | 2023-05-10 |
| 得物 | 得物App相关推荐价格体验优化 | 推荐 | 2023-05-10 |
| 阿里淘系 | 淘宝内容化推荐场景下对多场景全域表征的思考与应用 | 推荐 | 2023-04-28 |
| 阿里飞猪 | 因果推断技术在飞猪保险模块推荐以及可解释性应用 | 推荐 | 2023-04-28 |
| 阿里淘系 | 每日好店——店品排序探索模型升级 | 推荐 | 2023-04-24 |
| 微博 | 微博推荐实时大模型的技术演进 | 推荐 | 2023-04-24 |
| 阿里健康 | 阿里可解释性推荐算法应用 | 推荐 | 2023-03-06 |
| Shopee | Calibration4CVR:2018年关于“神经元级别共享的多任务CVR”的初探 | 推荐 | 2023-03-05 |
| 得物 | 得物社区推荐精排模型演进 | 推荐 | 2023-01-11 |
| 阿里妈妈 | 阿里妈妈展示广告召回之多场景建模算法 | 召回 | 2022-12-07 |
| 美团 | 大规模异构图召回在美团到店推荐广告的应用 | 召回 | 2022-11-24 |
| 美团 | 美团外卖搜索基于Elasticsearch的优化实践 | 搜索 | 2022-11-17 |
| 美团 | 图技术在美团外卖下的场景化应用及探索 | 搜索 | 2022-09-08 |
| 得物 | 得物分类TAB商品流多目标排序模型的演进 | 推荐 | 2022-07-01 |
| 得物 | 得物多兴趣召回模型实践 | 推荐 | 2022-05-18 |
| 得物 | 得物社区推荐多目标排序初探 | 推荐 | 2021-12-27 |
| 阿里 | CMDM:基于异构序列融合的多兴趣深度召回模型在内容平台的探索和实践 | 召回 | 2021-12-07 |
| 爱奇艺 | 爱奇艺搜索排序算法实践 | 搜索 | 2021-07-30 |
| 爱奇艺 | 多目标排序在爱奇艺短视频推荐中的应用 | 搜索 | 2021-06-25 |
| 爱奇艺 | 爱奇艺短视频推荐技术中多兴趣召回技术的演变 | 召回 | 2021-04-23 |
| 爱奇艺 | 如何提升链路目标一致性?爱奇艺短视频推荐之粗排模型优化历程 | 粗排 | 2021-02-26 |
| 阿里淘系 | 淘宝个性化推荐中自适应与无监督的多场景模型建模实践 | 推荐 | 2023-04-10 |
| 阿里淘系 | 每日好店——淘宝店铺推荐系统实践 | 推荐 | 2023-04-07 |
| 小红书 | 搜推系统召回阶段的前沿进展 | 召回 | 2023-04-03 |
| 阿里飞猪 | 飞猪旅行场景下的实时用户理解服务 | 搜索 | 2023-04-01 |
| 美团 | 多场景多任务学习在美团到店餐饮推荐的实践 | 推荐 | 2023-03-23 |
| 小红书 | 小红书高时效推荐系统背后的技术升级 | 推荐 | 2023-03-21 |
| 阿里妈妈 | 代码开源!阿里妈妈展示广告Match底层技术架构最新进展 | 召回 | 2023-03-14 |
| 阿里妈妈 | 贝叶斯分层模型应用之直播场景打分校准 | 精排 | 2023-03-14 |
| 腾讯音乐 | 粗排上不了COLD?我们提出了异构三塔粗排 | 粗排 | 2023-03-07 |
| 美团 | 交互式推荐在外卖场景的探索与应用 | 推荐 | 2023-02-16 |
| 小红书 | 小红书广告智能创意能力构建过程详解 | 广告 | 2023-02-16 |
| 快手 | 快手精排模型实践 | 精排&CXR预估 | 2023-02-01 |
| 阿里健康 | 领域知识增强的预训练语言模型在药电商搜索领域的实践 | 搜索 | 2023-01-30 |
| 京东 | 京东零售在电商搜索场景下的数据科学实践 | 搜索 | 2023-01-29 |
| 阿里达摩院 | 基于预训练语言模型的行业搜索的应用和研究 | 搜索 | 2023-01-28 |
| 阿里飞猪 | 深度召回在飞猪旅行推荐系统中的探索和实践 | 召回 | 2023-01-25 |
| 腾讯QQ浏览器 | QQ浏览器搜索相关性技术演进 | 搜索相关性 | 2023-01-18 |
| 小米 | 小米电商算法秘籍:移花接木-新模型如何热启动快速超越线上旧模型 | 推荐&CXR预估 | 2023-01-11 |
| 阿里健康 | 阿里健康医药电商搜索相关性实践 | 搜索相关性 | 2023-01-11 |
| 网易 | 云音乐评论内容理解技术 | 内容理解 | 2023-01-10 |
| 阿里淘系 | 深度统一粗排在淘宝主搜索的优化实践 | 粗排 | 2023-01-06 |
| 网易 | 云音乐视频搜索优化之旅 | 搜索 | 2023-01-04 |
| 快手 | 金雅然:因果推断主要技术思想与方法总结 | 因果推断 | 2022-12-26 |
| 度小满 | 因果推断在度小满金融场景的应用探索 | 因果推断 | 2022-12-22 |
| 小红书 | 小红书广告投放机制详解,如何用算法实现全站自动化投放 | 广告 | 2022-12-15 |
| 小米 | 小米电商推荐算法CVR模型实践 | 精排&CXR预估 | 2022-12-07 |
| bilibili | 百亿数据个性化推荐:弹幕工程架构演进 | 推荐 | 2022-11-25 |
| 腾讯 | 带你走进 Redis | 工程相关 | 2022-11-22 |
| 网易 | 机器学习模型在云音乐指标异动预测的应用实践 | 数据科学 | 2022-11-18 |
| 腾讯 | 因果推断在腾讯游戏中的应用 | 因果推断 | 2022-11-12 |
| 小红书 | 首次解密小红书“种草”机制:大规模深度学习系统技术是如何应用的 | 推荐 | 2022-11-11 |
| 网易 | 网易严选跨域多目标算法演进 | 多目标&多任务 | 2022-11-01 |
| NVIDIA | NVIDIA Merlin HugeCTR 推荐系统框架介绍 | 精排&CXR预估 | 2022-10-31 |
| 快手 | 快手异质性因果效应模型构建及应用 | 因果推断 | 2022-10-29 |
| 阿里 | 阿里 DeepRec 大规模稀疏模型训练推理引擎(文末附PPT下载) | 工程相关 | 2022-10-21 |
| 快手 | 深度点击率预估模型的One-Epoch过拟合现象剖析 | 广告 | 2022-10-19 |
| 小红书 | 上干货!小红书“薯条”业务竞价策略及最优公式详解 | 广告 | 2022-10-19 |
| 美团 | 预训练语言模型压缩、双塔蒸馏在美团上的落地实践 | 召回 | 2022-10-10 |
| 美团 | 知识图谱在美团搜索酒旅场景认知中的应用 | 搜索 | 2022-09-30 |
| 腾讯QQ浏览器 | 搜索场景下的智能实体推荐 | 搜索 | 2022-09-26 |
| 美团 | 美团基于知识图谱的个性化新闻推荐系统 | 推荐 | 2022-09-25 |
| 腾讯 | 腾讯图神经网络与推荐预训练模型 | 推荐&图网络 | 2022-09-19 |
| 蚂蚁 | 图机器学习在蚂蚁集团推荐业务中的应用 | 推荐&图网络 | 2022-09-18 |
| 华为 | 华为图神经网络在推荐系统中的应用 | 推荐&图网络 | 2022-09-10 |
| 阿里 | 推荐算法中的特征工程 | 推荐&特征工程 | 2022-08-30 |
| 阿里淘系 | 连续迁移学习跨域推荐排序模型在淘宝推荐系统的应用 | 推荐&跨域 | 2022-08-30 |
| 虎牙 | 虎牙直播用户增长中台算法与工程实践 | 用增 | 2022-08-27 |
| 腾讯音乐 | 吴喆:全民K歌直播推荐系统详解 | 推荐 | 2022-08-22 |
| 网易 | 云音乐播放页直播推荐实战 | 推荐 | 2022-08-17 |
| 美团 | 美团搜索粗排优化的探索与实践 | 粗排 | 2022-08-11 |
| 腾讯 | 一文搞懂 Redis 架构演化之路 | 工程相关 | 2022-07-26 |
| 腾讯 | 无量深度学习系统在腾讯推荐类业务的应用 | 推荐 | 2022-07-08 |
| 美团 | 大众点评搜索相关性技术探索与实践 | 搜索相关性 | 2022-07-06 |
| 蚂蚁 | 蚂蚁超大规模商家知识图谱构建及其融合应用 | 知识图谱 | 2022-07-01 |
| 网易 | 云音乐FeatureStore建设与实践 | 推荐&特征工程 | 2022-06-29 |
| 京东 | 揭秘京东广告精排百分位AUC提升技术方案 | 精排&CXR预估 | 2022-06-29 |
| 阿里飞猪 | 章凡:飞猪基于因果推断技术的广告投后归因 | 因果推断 | 2022-06-27 |
| 京东 | 吕豪:京东搜索EE场景排序链路升级实践 | 搜索 | 2022-06-24 |
| 美团 | 端智能在大众点评搜索重排序的应用实践 | 重排 | 2022-06-16 |
| 网易 | 云音乐预估系统建设与实践 | 精排&CXR预估 | 2022-06-15 |
| 腾讯微信 | 微信开源大规模embedding训练推理框架 | 召回 | 2022-06-15 |
| 美团 | 张鸿志:美团大脑百亿级知识图谱的构建及应用进展 | 知识图谱 | 2022-06-03 |
| 快手 | 快手牛亚男:基于多Domain多任务学习框架和Transformer,搭建快手精排模型 | 精排&CXR预估 | 2022-06-01 |
| 阿里淘系 | SIGIR2022 | 流行度偏差如何利用?探索解耦域适应无偏召回模型 | 召回 | 2022-05-31 |
| 阿里淘系 | 多模态技术在淘宝主搜召回场景的探索 | 召回 | 2022-05-27 |
| 京东 | 陈宏申:浅谈京东电商商品文案挖掘难点与优化实践 | 文案挖掘 | 2022-05-25 |
| 华为 | 华为朱杰明:预训练模型在信息流推荐中的应用与探索 | 推荐 | 2022-05-22 |
| 网易 | NUMA架构下的预估系统性能优化 | 工程相关 | 2022-05-19 |
| 小红书 | 小红书信息流推荐多样性解决方案 | 推荐 | 2022-05-18 |
| 阿里淘系 | 深度粗排在天猫新品中的实践 | 粗排 | 2022-05-18 |
| 阿里淘系 | 内容推荐场景中自监督学习的应用 | 推荐 | 2022-05-17 |
| 阿里飞猪 | 主题与交互式推荐技术在飞猪个性化分发中的实践 | 推荐 | 2022-05-16 |
| 美团 | 杨玉基:知识图谱在美团推荐场景中的应用 | 推荐 | 2022-05-16 |
| 腾讯QQ浏览器 | 李晓亮:腾讯搜索词推荐算法探索实践 | 搜索 | 2022-05-15 |
| 京东 | 如何提升推荐系统的可解释性?京东智能推荐卖点技术全解析! | 推荐 | 2022-05-07 |
| 阿里淘系 | 多任务学习模型ESMM原理与实现 | 精排&CXR预估 | 2022-05-06 |
| 华为 | 点击率预测模型Embedding层的学习和训练 | 精排&CXR预估 | 2022-05-04 |
| 阿里 | 序列特征在推荐算法中的应用 | 推荐 | 2022-04-28 |
| 网易 | CIKM 2021 | 云音乐提出与模型无关的冷启动推荐框架: MAIL | 冷启动 | 2022-04-27 |
| 阿里 | 深度解析开源推荐算法框架EasyRec的核心概念和优势 | 工程相关 | 2022-04-26 |
| 腾讯 | 腾讯邱东洋:深度模型推理加速的术与道 | 工程相关 | 2022-04-22 |
| 阿里 | 杨旭东:冷启动推荐模型DropoutNet深度解析与改进 | 冷启动 | 2022-04-21 |
| 网易 | 从跨模态和上升通道谈富媒体内容的冷启动 | 冷启动 | 2022-04-20 |
| 阿里淘系 | 生成式重排在内容推荐中的应用实践 | 重排 | 2022-04-19 |
| 阿里 | 刘童璇:阿里巴巴稀疏模型训练引擎DeepRec | 工程相关 | 2022-04-17 |
| 网易 | 冷启动算法系列-云音乐歌曲冷启动初探 | 冷启动 | 2022-04-13 |
| 阿里淘系 | 商品序列建模在新用户承接上的应用实践 | 精排&CXR预估 | 2022-04-06 |
| 阿里妈妈 | 阿里巴巴展示广告智能拍卖机制的演进之路 | 广告 | 2022-04-06 |
| 网易 | 5G+智能时代的多模搜索技术 | 搜索 | 2022-04-05 |
| 腾讯音乐 | QQ音乐推荐召回算法的探索与实践 | 召回 | 2022-04-03 |
| 网易 | 云音乐隐性关系链的探索与实践 | 冷启动 | 2022-03-31 |
| 阿里淘系 | 淘宝逛逛召回算法实践总结 | 召回 | 2022-03-29 |
| 阿里淘系 | Gradient Normalization在多任务学习中的优化实践 | 多目标&多任务 | 2022-03-29 |
| 美团 | 李翔:美团到店综合知识图谱的构建与应用 | 知识图谱 | 2022-03-28 |
| 哈啰出行 | 周冰倩:广告主视角下的信息流广告算法探索 | 广告 | 2022-03-27 |
| 快手 | 王晓伟:图神经网络在快手推荐召回中的应用和挑战 | 推荐&图网络 | 2022-03-23 |
| 阿里淘系 | 基于特征全埋点的精排ODL实践总结 | 工程相关 | 2022-03-22 |
| 小米 | 崔世起:小米小爱同学无效Query识别 | 搜索 | 2022-03-20 |
| 腾讯音乐 | QQ音乐推荐系统算法架构实践 | 推荐 | 2022-03-19 |
| 腾讯微信 | 微信全文搜索技术优化 | 搜索 | 2022-03-14 |
| 京东 | 王冬月:京东推荐算法精排技术实践 | 精排&CXR预估 | 2022-03-14 |
| 网易 | 蒋能学:网易云音乐广告算法实践 | 广告 | 2022-03-12 |
| 美团 | 异构广告混排在美团到店业务的探索与实践 | 广告&混排 | 2022-03-10 |
| 阿里淘系 | GNN在轻应用内容推荐中的召回实践 | 召回 | 2022-03-10 |
| 京东 | 张菡:深度学习下的京东搜索召回技术 | 召回 | 2022-03-09 |
| 网易 | 实时增量学习在云音乐直播推荐系统中的实践 | 推荐&增量学习 | 2022-03-09 |
| 阿里淘系 | 超越I2I和向量内积,淘宝新一代召回范式:PDN模型 | 召回 | 2022-03-08 |
| 虎牙 | 李茶:虎牙直播推荐系统架构详解 | 推荐 | 2022-03-02 |
| 阿里淘系 | 冷启动系统优化与内容潜力预估实践 | 冷启动 | 2022-03-01 |
| 哈啰出行 | 董彦燊:因果推断在哈啰出行的实践探索 | 因果推断 | 2022-02-28 |
| 贝壳 | 王志勇:贝壳CVR转化率预估模型实践 | 精排&CXR预估 | 2022-02-26 |
| 京东 | 赵鑫:强化学习在京东广告序列推荐中的应用 | 广告 | 2022-02-24 |
| 阿里淘系 | 行为稀疏场景下的图模型实践 | 召回 | 2022-02-22 |
| 快手 | 赵炜琪:因果推断在快手推荐场景的应用探索 | 因果推断 | 2022-02-21 |
| 腾讯微信 | 微信强化学习推荐模型的知识蒸馏探索之路 | 推荐 | 2022-02-20 |
| 腾讯 | 一篇详文带你入门 Redis | 工程相关 | 2022-02-18 |
| 阿里飞猪 | 熊飞:"猜你去哪"飞猪用户旅行意图预测 | 搜索 | 2022-02-18 |
| 虾皮 | 下拉推荐在 Shopee Chatbot 中的探索和实践 | 推荐 | 2022-02-17 |
| 美团 | 美团搜索中查询改写技术的探索与实践 | 搜索 | 2022-02-17 |
| 美图 | 多媒体内容理解在美图社区的应用实践 | 内容理解 | 2022-02-16 |
| 快手 | 将因果关系估计引入推荐系统、提升推荐模型效果,快手新研究被WWW22接收 | 因果推断 | 2022-02-14 |
| 腾讯音乐 | QQ音乐排序模型优化 | 推荐 | 2022-02-14 |
| 58同城 | 苏永浩:Embedding技术在商业搜索与推荐场景的实践 | 召回 | 2022-02-11 |
| 快手 | 渠江涛:重排序在快手短视频推荐系统中的演进 | 重排 | 2022-02-10 |
| 快手 | 李翱:因果学习在用户增长中的实践 | 因果推断 | 2022-02-07 |
| 58同城 | 刘德华:标签推荐与“猜你想找”算法实践 | 推荐 | 2022-02-05 |
| 腾讯音乐 | 腾讯音乐知识图谱搜索实践 | 搜索 | 2022-02-04 |
| 一点资讯 | 郭沛东:图模型在信息流推荐的原理和实践 | 推荐&图网络 | 2022-01-28 |
| 阿里淘系 | 推荐场景下融合多模态信息的内容召回模型 | 召回 | 2022-01-26 |
| 阿里淘系 | 多序列融合召回在新用户冷启动上的应用 | 召回 | 2022-01-23 |
| 阿里淘系 | ZEUS:淘宝多场景推荐排序模型 | 推荐 | 2022-01-19 |
| 贝壳 | 周玉驰:因果分析在贝壳的探索实践 | 因果推断 | 2022-01-17 |
| 腾讯音乐 | 腾讯音乐多模态音乐匹配技术与应用 | 搜索 | 2022-01-15 |
| 阿里淘系 | 大淘宝技术“搜索算法”专场①:淘宝搜索召回、个性化搜索排序 | 搜索 | 2022-01-14 |
| 阿里淘系 | 大淘宝技术“搜索算法”专场②:电商搜索相关性、电商知识图谱 | 搜索 | 2022-01-14 |
| 阿里淘系 | 直播预告 | 1月13日下午,“搜索算法”专场②:电商搜索相关性、电商知识图谱 | 搜索 | 2022-01-12 |
| 阿里淘系 | 直播预告 | 1月12日下午,“搜索算法”专场①:淘宝搜索召回、个性化搜索排序 | 搜素 | 2022-01-11 |
| 阿里淘系 | 7种经典推荐算法模型的应用 | 推荐 | 2021-12-30 |
| 京东 | 赵学敏:京东商品图谱构建与实体对齐 | 知识图谱 | 2021-12-29 |
| 网易 | 网易云音乐广告CTR预估模型演进过程 | 精排&CXR预估 | 2021-12-21 |
| 阿里淘系 | 多序列融合召回在新用户冷启动上的应用 | 冷启动 | 2021-12-21 |
| 阿里淘系 | 大淘宝技术“推荐算法”PART 1 | 推荐 | 2021-12-20 |
| 阿里淘系 | 大淘宝技术“推荐算法”PART 2 | 推荐 | 2021-12-20 |
| 阿里淘系 | 大淘宝技术“推荐算法”PART 3 | 推荐 | 2021-12-20 |
| 58同城 | 沈冰阳:强化学习在推荐冷启动优化中的实践探索! | 冷启动 | 2021-12-17 |
| 阿里淘系 | 内容推荐场景下多模态语义召回的若干实践 | 召回 | 2021-12-14 |
| 阿里淘系 | 深度粗排模型的GMV优化实践:基于全空间-子空间联合建模的蒸馏校准模型 | 粗排 | 2021-12-13 |
| 阿里淘系 | 阿里新一代召回技术:从TDM到二向箔的新突破! | 召回 | 2021-12-13 |
| 58同城 | 祝凯文:推荐算法在商业化场景中的探索实践 | 推荐 | 2021-12-12 |
| 阿里淘系 | 2021召回技术在内容推荐的实践总结 | 召回 | 2021-11-30 |
| 阿里淘系 | 阿里淘系技术:算法黑科技 | 搜索 | 2021-11-29 |
| 快手 | 「繁星」:快手搜索在向量检索方向的探索和实践 | 召回 | 2021-11-29 |
| 腾讯音乐 | QQ音乐推荐系统的精细化调控 | 推荐 | 2021-11-28 |
| 阿里淘系 | GNN在下拉推荐的应用 | 推荐 | 2021-11-24 |
| 美团 | 美团搜索多业务商品排序探索与实践 | 搜索 | 2021-11-18 |
| 阿里飞猪 | 阿里飞猪林睿:从核心因子预估>实体识别,如何实现文本和空间的搜索相关性? | 搜索相关性 | 2021-11-16 |
| 字节跳动 | 字节跳动高伟豪:训练目标不一致?损失无法学习?深度召回解难题! | 召回 | 2021-11-10 |
| 美团 | 美团王庆:当老板对指标进行灵魂拷问时,该如何诊断分析? | 其他 | 2021-11-04 |
| 京东 | 京东李欣如:从单目标排序到多目标模型,显著提升多业务效果! | 多目标&多任务 | 2021-11-02 |
| 百度 | 基于用户出行意图建模的百度异地POI推荐 | 推荐 | 2021-10-29 |
| 阿里飞猪 | 阿里飞猪推荐算法探索实践 | 推荐 | 2021-10-21 |
| 腾讯 | 一文搞懂CTR建模 | 精排&CXR预估 | 2021-10-18 |
| 58同城 | 多目标排序在58同城房源推荐中的实践探索 | 多目标&多任务 | 2021-10-18 |
| 蜻蜓FM | 蜻蜓FM实时推荐系统的发展和演进 | 推荐 | 2021-10-14 |
| 美团 | 广告深度预估技术在美团到店场景下的突破与畅想 | 精排&CXR预估 | 2021-10-14 |
| 阿里妈妈 | 阿里广告技术新突破:面向最终目标的全链路一致性建模 | 广告 | 2021-10-11 |
| 58同城 | 广义多目标算法探索实践 | 多目标&多任务 | 2021-10-04 |
| 58同城 | 多目标排序在二手房推荐系统的实践探索 | 多目标&多任务 | 2021-09-19 |
| 阿里淘系 | 淘宝直播全屏页重排算法实践 | 重排 | 2021-09-04 |
| 阿里妈妈 | 阿里妈妈广告创意优选 | 广告 | 2021-08-27 |
| 阿里淘系 | SIGKDD2021 | 淘宝搜索向量化召回实践 | 召回 | 2021-08-25 |
| 腾讯微信 | 微信看一看如何过滤广告文章? | 广告 | 2021-08-14 |
| 阿里妈妈 | 朱小强|屠龙少年与龙:漫谈深度学习驱动的广告推荐技术发展周期 | 广告 | 2021-08-10 |
| 阿里淘系 | 淘宝视频的跨模态检索 | 搜索 | 2021-08-09 |
| 阿里妈妈 | 阿里妈妈展示广告预估校准技术演进之路 | 广告 | 2021-08-09 |
| 京东 | 多类目MoE模型在京东电商搜索中的应用 | 搜索 | 2021-08-07 |
| 阿里淘系 | 淘宝视频内容标签的结构化分析和管理 | 内容理解 | 2021-08-06 |
| 微拍堂 | 深度召回在文玩个性化推荐中的实践 | 召回 | 2021-08-04 |
| 阿里妈妈 | FAE:阿里广告归因分析与用户增长分析引擎 | 广告 | 2021-08-03 |
| 美团 | 美团商品知识图谱的构建及应用 | 知识图谱 | 2021-07-31 |
| 阿里 | 阿里1688直播推荐算法实践 | 推荐 | 2021-07-28 |
| 阿里淘系 | 2021年,算法工程师必备的能力是什么? | 其他 | 2021-07-26 |
| 阿里淘系 | 淘宝详情页分发推荐算法总结:用户即时兴趣强化 | 推荐 | 2021-07-24 |
| 阿里妈妈 | 阿里妈妈流量反作弊算法实践 | 广告 | 2021-07-23 |
| 58同城 | 58同城CRM多目标排序算法 | 多目标&多任务 | 2021-07-17 |
| 阿里妈妈 | 阿里妈妈在线分流 AB Test | 数据科学 | 2021-07-16 |
| 腾讯音乐 | 全民K歌直播推荐算法实践 | 推荐 | 2021-07-12 |
| 美团 | 多业务建模在美团搜索排序的实践 | 搜索 | 2021-07-10 |
| 丁香园 | 丁香园基于Milvus的向量召回应用 | 召回 | 2021-07-02 |
| 美团 | 美团外卖美食知识图谱的迭代及应用 | 知识图谱 | 2021-06-20 |
| 阿里飞猪 | 拼接召回在飞猪交通域的实践 | 召回 | 2021-06-18 |
| 腾讯微信 | 针对多目标推荐任务,微信看一看用PAPERec框架逼近帕累托最优 | 多目标&多任务 | 2021-06-15 |
| 阿里妈妈 | 阿里妈妈搜索广告CTR模型的“瘦身”之路 | 精排&CXR预估 | 2021-06-14 |
| 腾讯微信 | 用于看一看list-wise推荐系统的HRL-Rec模型简述 | AAAI-2021 | 推荐 | 2021-06-13 |
| 阿里淘系 | 工业界常用的推荐系统模型有哪些? | 推荐 | 2021-06-07 |
| 京东 | 大规模图算法在京东广告的实践 | 广告 | 2021-06-02 |
| 阿里妈妈 | 阿里妈妈搜索广告CTR模型演进 | 精排&CXR预估 | 2021-06-01 |
| 阿里飞猪 | 阿里飞猪个性化搜索排序探索实践 | 搜索 | 2021-05-31 |
| 阿里淘系 | 5大经典排序算法在淘宝“有好货”场景的实践 | 推荐 | 2021-05-28 |
| 蜻蜓FM | 蜻蜓FM信息流推荐探索与实践 | 推荐 | 2021-05-26 |
| 阿里淘系 | 分钟级在线深度学习在手淘信息流排序模型中的探索与实践 | 推荐 | 2021-05-26 |
| 腾讯微信 | 微信视频号推荐算法挑战赛baseline分享 | 推荐 | 2021-05-23 |
| 阿里妈妈 | 你真的懂点击率(CTR)建模吗? | 精排&CXR预估 | 2021-05-20 |
| 阿里飞猪 | 因果推断在阿里飞猪广告算法中的实践 | 因果推断 | 2021-05-19 |
| 爱奇艺 | 爱奇艺短视频推荐:多兴趣召回篇 | 召回 | 2021-05-15 |
| 滴滴 | 滴滴连续因果森林模型的构造与实践 | 因果推断 | 2021-05-13 |
| 美团 | Query理解在美团搜索中的应用 | 搜索 | 2021-05-07 |
| 阿里淘系 | MIND - 基于动态路由的用户多向量召回 | 召回 | 2021-04-26 |
| 阿里淘系 | SIGIR2021 | 超越I2I和向量内积,淘宝新一代召回范式:PDN模型 | 召回 | 2021-04-25 |
| 阿里妈妈 | 阿里定向广告智能投放技术体系 | 广告 | 2021-04-24 |
| 阿里淘系 | 没什么是一次排序解决不了的,如果有,那就One more time | 推荐 | 2021-04-17 |
| 腾讯看点 | 腾讯 QQ 看点图文多目标推荐实践经验 | 多目标&多任务 | 2021-04-09 |
| 腾讯微信 | 微信看一看实时相关推荐介绍 | 推荐 | 2021-04-08 |
| 腾讯音乐 | 全民K歌推荐后台架构 | 工程相关 | 2021-04-02 |
| 腾讯音乐 | 全民K歌内容挖掘与召回 | 召回 | 2021-04-01 |
| 陌陌 | 模型化召回在陌陌社交推荐的应用和探索 | 召回 | 2021-03-20 |
| 阿里淘系 | 超长用户行为建模在躺平家居内容推荐中的应用实践 | 推荐 | 2021-03-18 |
| 阿里淘系 | 深度排序模型在淘宝直播的演进与应用 | 推荐 | 2021-03-17 |
| 腾讯音乐 | 腾讯音乐:全民K歌推荐系统架构及粗排设计 | 粗排 | 2021-03-08 |
| 阿里飞猪 | 阿里飞猪主题与交互式推荐技术实践 | 推荐 | 2021-03-04 |
| 京东 | 京东搜索在线学习探索实践 | 搜索 | 2021-03-01 |
| 爱奇艺 | 爱奇艺短视频推荐:粗排篇 | 粗排 | 2021-02-27 |
| 快手 | 多目标排序在快手短视频推荐中的实践 | 多目标&多任务 | 2021-02-24 |
| 阿里 | 阿里粗排技术体系与最新进展 | 粗排 | 2021-02-21 |
| 阿里淘系 | EdgeRec:边缘计算在推荐系统中的应用 | 推荐 | 2021-02-17 |
| 阿里淘系 | 阿里深度树匹配召回体系演进 | 召回 | 2021-02-15 |
| 58同城 | 多目标推荐场景下的深度学习实践 | 多目标&多任务 | 2021-02-13 |
| 阿里淘系 | 5大经典排序算法在淘宝“有好货”场景的实践 | 推荐 | 2021-02-11 |
| 58同城 | 深度学习在搜索排序业务中的应用 | 搜索 | 2021-02-10 |
| 蘑菇街 | 基于ESMM模型的MTL多目标优化实践——用户活跃度影响排序机制——蘑菇街首页信息流推荐 | 多目标&多任务 | 2021-02-08 |
| 阿里淘系 | MMoE算法在家居内容推荐中的应用与实践 | 多目标&多任务 | 2021-02-05 |
| 阿里飞猪 | 阿里飞猪搜索技术的应用与创新 | 搜索 | 2021-02-03 |
| Hulu | Hulu在Content Embedding的探索与实践 | 召回 | 2021-01-29 |
| 阿里妈妈 | 想为特征交互走一条新的路 | 精排&CXR预估 | 2021-01-27 |
| Facebook’s News Feed ranking algorithm | 推荐 | 2021-01-26 | |
| 知乎 | 知乎搜索排序模型的演进 | 搜索 | 2021-01-25 |
| 知乎 | 知乎搜索文本相关性与知识蒸馏 | 搜索相关性 | 2021-01-15 |
| 蘑菇街 | 基于ESMM模型的多目标优化实践——蘑菇街商城篇 | 多目标&多任务 | 2021-01-08 |
| 贝壳 | 贝壳用户偏好挖掘的思考与实践 | 偏好挖掘 | 2021-01-07 |
| 阿里妈妈 | 算力经济时代:阿里展示广告引擎的"柔性"变形之路 | 广告 | 2021-01-04 |
| 腾讯 | Angel图神经网络算法在推荐场景下的实践 | 推荐&图网络 | 2020-12-31 |
| soul | 灵魂匹配:陌生社交Soul的增长机制 | 用增 | 2020-12-26 |
| 腾讯 | Angel推荐算法在游戏推荐中的应用 | 推荐 | 2020-12-24 |
| 阿里淘系 | 序列检索系统在淘宝首页推荐重排中的实践(附重排经典论文合集) | 重排 | 2020-12-18 |
| 蘑菇街 | 蘑菇街增量学习番外篇三:deepFM的动态正则实践 | 推荐 | 2020-12-18 |
| 阿里淘系 | 序列检索系统在淘宝首页信息流重排中的实践 | 重排 | 2020-12-17 |
| 蘑菇街 | 蘑菇街增量学习番外篇一:动态正则之tensorflow中div转mod设计(含代码实现) | 推荐 | 2020-12-17 |
| 蘑菇街 | 蘑菇街增量学习番外篇二:优化器设计理论篇(AdamW、AdaDeltaW、FTRL) | 推荐 | 2020-12-17 |
| 丁香园 | 再谈搜索中的Query扩展技术 | 搜索 | 2020-12-14 |
| 贝壳 | 贝壳商业化算法中台架构实践 | 工程相关 | 2020-12-10 |
| 美团 | ICDM论文:探索跨会话信息感知的推荐模型 | 推荐 | 2020-12-10 |
| 腾讯微信 | 浅谈微信AI在通用图像搜索领域的探索 | 搜索 | 2020-12-09 |
| 腾讯微信 | 微信AI从识物到通用图像搜索的探索揭秘 | 搜索 | 2020-12-04 |
| 阿里 | 信息流推荐的用户增长机制 | 用增 | 2020-12-02 |
| 腾讯 | 主流Embedding技术解析 | 召回 | 2020-12-01 |
| NVIDIA | Merlin:基于深度学习的推荐系统框架 | 推荐 | 2020-11-29 |
| 美团 | 美团本地生活场景的短视频分析 | 其他 | 2020-11-22 |
| 网易 | 网易云音乐推荐中的用户行为序列深度建模 | 精排&CXR预估 | 2020-11-20 |
| 阿里文娱 | 阿里文娱深度语义搜索相关性探索 | 搜索相关性 | 2020-11-16 |
| 腾讯微信 | 搜索query意图识别的演进 | 搜索 | 2020-11-15 |
| 蘑菇街 | 蘑菇街首页推荐多目标优化之reweight实践:一把双刃剑? | 多目标&多任务 | 2020-11-13 |
| 腾讯微信 | 要提升微信看一看推荐混排的长期收益?试试深度强化学习 | 推荐 | 2020-11-12 |
| 爱奇艺 | TensorFlow Ranking框架在爱奇艺海外推荐的实践与应用 | 工程相关 | 2020-11-09 |
| 腾讯 | ZeroSearch:腾讯新一代搜索引擎 | 工程相关 | 2020-11-08 |
| 蘑菇街 | 文本相关性在蘑菇街搜索推荐排序系统中的应用 | 搜索相关性 | 2020-10-30 |
| 360 | 360展示广告智能化演进 | 广告 | 2020-10-30 |
| 网易 | "全能选手"召回表征算法实践 | 召回 | 2020-10-28 |
| 腾讯 | 腾讯增长技术:智能投放篇 | 广告 | 2020-10-26 |
| 阿里淘系 | 阿里深度召回模型实践 | 召回 | 2020-10-23 |
| 爱奇艺 | 爱奇艺视频精彩度分析算法及应用 | 其他 | 2020-10-22 |
| 阿里淘系 | 阿里新突破!动态网络表征学习在推荐领域的创新与实践 | 推荐&图网络 | 2020-10-17 |
| 腾讯 | Angel:深度学习在腾讯广告推荐系统中的实践 | 推荐 | 2020-10-14 |
| 丁香园 | 医疗搜索中的query词权重算法探索 | 搜索 | 2020-10-13 |
| 阿里淘系 | 推荐算法三视角:矩阵,图,时间线 | 推荐 | 2020-10-13 |
| 阿里淘系 | 阿里强化学习重排实践 | 重排 | 2020-10-04 |
| 网易 | Embedding在网易严选搜索推荐中的应用 | 召回 | 2020-10-01 |
| 阿里淘系 | 内容推荐算法:异构行为序列建模探索 | 推荐 | 2020-09-27 |
| 美图 | 美图个性化推送的 AI 探索之路 | 推荐 | 2020-09-26 |
| 蘑菇街 | 蘑菇街推荐算法之迷——self attention不如traditional attention? | 推荐 | 2020-09-24 |
| 阿里淘系 | 向量召回在躺平APP的实践 | 召回 | 2020-09-22 |
| 百度 | 同义变换在百度搜索广告中的应用 | 广告 | 2020-09-21 |
| 阿里 | 阿里跨域点击率预估混合兴趣模型 | 精排&CXR预估 | 2020-09-18 |
| 腾讯 | 腾讯信息流热点挖掘技术实践 | 热点挖掘 | 2020-09-16 |
| 阿里淘系 | 阿里新一代Rank技术 | 推荐 | 2020-09-14 |
| 360 | TensorNet——基于TensorFlow的大规模稀疏特征模型分布式训练框架 | 工程相关 | 2020-09-14 |
| Airbnb | 搜索推荐广告排序艺术-Airbnb搜索结果多样性优化 | 搜索 | 2020-09-13 |
| Airbnb | 搜索推荐广告排序艺术-Airbnb搜索深度学习排序算法进化 | 搜索 | 2020-09-12 |
| 腾讯看点 | 腾讯看点投放系统介绍:推荐系统的进化伙伴 | 推荐 | 2020-09-07 |
| BIGO | 万亿模型参数的训练 | 排序 | 2020-09-07 |
| BIGO | 万亿模型参数的在线服务 | 排序 | 2020-09-07 |
| 蘑菇街 | 蘑菇街首页推荐视频流——增量学习与wide&deepFM实践(工程+算法) | 推荐 | 2020-09-04 |
| 阿里妈妈 | 阿里妈妈深度树匹配技术演进:TDM->JTM->BSAT | 召回 | 2020-09-04 |
| 58同城 | 深度学习在商业排序的应用实践 | 推荐 | 2020-09-03 |
| 京东 | CSCNN:新一代京东电商广告排序模型 | 广告 | 2020-09-02 |
| 腾讯微信 | 微信「看一看」 朋友在看的增强推荐系统 | 推荐 | 2020-08-31 |
| 阿里淘系 | 淘宝搜索模型核心技术:用户建模篇 | 搜索 | 2020-08-29 |
| 腾讯 | 10 分钟快速入门海量数据搜索分析引擎 Elasticearch | 工程相关 | 2020-08-28 |
| 阿里淘系 | 从阿里的User Interest Center看模型线上实时serving方法 | 工程相关 | 2020-08-27 |
| 阿里飞猪 | 阿里飞猪个性化推荐:召回篇 | 召回 | 2020-08-23 |
| 微博 | 微博推荐算法实践与机器学习平台演进 | 推荐 | 2020-08-20 |
| 阿里妈妈 | 阿里定向广告最新突破:面向下一代的粗排排序系统COLD | 粗排 | 2020-08-18 |
| 阿里妈妈 | 阿里妈妈:基于动态背包的多场景广告序列投放算法 | 广告 | 2020-08-15 |
| 阿里淘系 | EdgeRec:边缘计算在淘宝推荐系统中的大规模应用 | 工程相关 | 2020-08-05 |
| BIGO | 内容流多目标排序优化 | 排序 | 2020-08-03 |
| 58同城 | 多业务融合推荐策略实践与思考 | 多目标&多任务 | 2020-07-29 |
| BIGO | Graph Embedding在直播推荐召回的应用 | 召回 | 2020-07-23 |
| 腾讯微信 | 微信"看一看"个性化推荐:排序篇 | 推荐 | 2020-07-21 |
| 腾讯 | 推荐系统 Embedding 技术实践总结 | 召回 | 2020-07-20 |
| 腾讯微信 | 微信"看一看"多模型内容策略与召回 | 召回 | 2020-07-17 |
| 腾讯微信 | 微信「看一看」 推荐排序技术揭秘 | 推荐 | 2020-07-10 |
| 58同城 | 跨域推荐技术在58部落内容社区的实践 | 推荐 | 2020-07-09 |
| 美团 | BERT在美团搜索核心排序的探索和实践 | 推荐 | 2020-07-09 |
| 阿里文娱 | 优酷视频元素内容召回系统:多级多模态引擎探索 | 召回 | 2020-07-08 |
| 阿里智能信息 | 机器学习在高德搜索建议中的应用优化实践 | 推荐 | 2020-06-27 |
| 腾讯 | 推荐系统 embedding 技术实践总结 | 召回 | 2020-06-24 |
| 腾讯 | 一文搞懂 SQL:基础知识和业务实践总结 | 工程相关 | 2020-06-22 |
| 阿里文娱 | 一文详解面向多级多模态场景的召回引擎 | 召回 | 2020-06-17 |
| 58同城 | 深度召回在招聘推荐中的挑战和实践 | 召回 | 2020-06-17 |
| 微博 | 内容理解在新浪微博广告中的应用 | 内容理解 | 2020-06-12 |
| 腾讯 | 仅需少量视频观看记录,就可以精准推断你的习惯 | 用户挖掘 | 2020-06-10 |
| 58同城 | Embedding技术在房产推荐中的应用 | 召回 | 2020-06-10 |
| 阿里文娱 | 视频搜索太难了!阿里文娱多模态搜索算法实践 | 搜索 | 2020-06-08 |
| 京东 | 京东电商搜索中的语义检索与商品排序 | 搜索 | 2020-06-03 |
| 阿里文娱 | PPT+视频| 优酷视频元素内容召回系统:多级多模态引擎探索 | 召回 | 2020-05-28 |
| 爱奇艺 | 爱奇艺深度语义表示学习的探索与实践 | 召回 | 2020-05-23 |
| 丁香园 | 搜索中的Query扩展技术 | 搜索 | 2020-05-21 |
| 滴滴 | 搜索相关性算法在 DiDi Food 中的探索 | 搜索相关性 | 2020-05-16 |
| 阿里妈妈 | 深度时空网络、记忆网络与特征表达学习在 CTR 预估中的应用 | 精排&CXR预估 | 2020-05-11 |
| 滴滴 | 基于强化学习的 Contextual Bandits 算法在推荐场景中的应用 | 推荐 | 2020-05-09 |
| 腾讯 | 搜索中的 Query 理解及应用 | 搜索 | 2020-05-07 |
| 华为 | 华为高级研究员谢凌曦:下一代人工智能计算模型探索 | 其他 | 2020-04-30 |
| 阿里文娱 | 因果推断在阿里文娱用户增长中的应用 | 因果推断 | 2020-04-23 |
| 阿里文娱 | 阿里文娱搜索算法实践与思考 | 搜索 | 2020-04-20 |
| 携程 | Bandit算法在携程推荐系统中的应用与实践 | 推荐 | 2020-04-19 |
| 美团 | Transformer 在美团搜索排序中的实践 | 搜索 | 2020-04-16 |
| 阿里妈妈 | 广告CTR预估中用户行为学习和记忆建模 | 精排&CXR预估 | 2020-04-13 |
| 阿里飞猪 | 阿里飞猪“猜你喜欢”推荐排序实践 | 推荐 | 2020-04-08 |
| 阿里妈妈 | CTR预估在动态样式建模和特征表达学习方面的进展 | 精排&CXR预估 | 2020-04-08 |
| 腾讯微信 | 热点挖掘技术在微信看一看中的应用 | 热点挖掘 | 2020-04-05 |
| 阿里文娱 | 让广告算法做你的增长黑客!阿里文娱工程师这么做 | 广告 | 2020-04-03 |
| 腾讯微信 | 揭秘微信"看一看"是如何为你推荐的 | 推荐 | 2020-03-31 |
| 360 | 智能推荐算法在花椒直播中的应用 | 推荐 | 2020-03-26 |
| 腾讯 | 搜索中的深度匹配模型 | 搜索 | 2020-03-24 |
| 360 | 深度学习在花椒直播中的应用—推荐系统冷启动算法 | 冷启动 | 2020-03-24 |
| 阿里淘系 | 深度学习在阿里B2B电商推荐系统中的实践 | 推荐 | 2020-03-23 |
| 美图 | 美图个性化推送的 AI 探索之路 | 推荐 | 2020-03-18 |
| 凤凰 | 信息流推荐在凤凰新闻的业务实践 | 推荐 | 2020-03-16 |
| 省钱快报 | 深度学习在省钱快报推荐排序中的应用与实践 | 推荐 | 2020-03-12 |
| 阿里文娱 | 广告算法在阿里文娱用户增长中的实践 | 广告 | 2020-03-11 |
| 汽车之家 | 汽车之家推荐系统排序算法迭代之路 | 推荐 | 2020-02-28 |
| 阿里 | 阿里B类电商用户增长实践 | 用户增长 | 2020-02-26 |
| 阿里文娱 | 视频 | 广告算法在阿里文娱用户增长中的实践 | 用户增长 | 2020-02-11 |
| 阿里 | 阿里B2B:融合Matching与Ranking的个性化CTR预估模型 | 精排&CXR预估 | 2020-02-05 |
| 阿里文娱 | 视频 | 阿里文娱搜索算法实践和思考 | 搜索 | 2020-02-03 |
| 腾讯 | 推荐系统中的深度匹配模型 | 推荐 | 2020-01-13 |
| 腾讯 | 一种全新的点击率建模方案 | 精排&CXR预估 | 2020-01-10 |
| 阿里淘系 | 让机器读懂视频:亿级淘宝视频背后的多模态AI算法揭秘 | 召回 | 2020-01-09 |
| 阿里淘系 | 阿里淘外商业化广告工程架构实践 | 工程相关 | 2020-01-08 |
| 爱奇艺 | 个性化海报在爱奇艺视频推荐场景中的实践 | 推荐 | 2020-01-07 |
| 微博 | 机器学习在微博 O 系列广告中的应用 | 广告 | 2020-01-06 |
| 知乎 | Query 理解和语义召回在知乎搜索中的应用 | 召回 | 2020-01-02 |
| 腾讯 | 腾讯在信息流内容理解技术上的解决方案 | 内容理解 | 2019-12-31 |
| 贝壳 | DeepFM在贝壳房源详情页推荐场景的实践 | 推荐 | 2019-12-30 |
| 阿里淘系 | MMoE算法在淘宝躺平推荐中的应用实践 | 多目标&多任务 | 2019-12-27 |
| 360 | ElasticSearch 介绍及使用方法 | 工程相关 | 2019-12-27 |
| 贝壳 | wide&deep 在贝壳推荐场景的实践 | 推荐 | 2019-12-18 |
| 阿里妈妈 | 阿里妈妈点击率预估中的长期兴趣建模 | 精排&CXR预估 | 2019-12-18 |
| 阿里文娱 | 优酷 DSP 广告投放系统架构实践 | 广告 | 2019-12-06 |
| 腾讯微信 | 浅谈微视推荐系统中的特征工程 | 推荐&特征工程 | 2019-12-06 |
| 美图 | 多任务学习在美图个性化推荐的近期实践 | 多目标&多任务 | 2019-12-06 |
| 阿里妈妈 | 阿里妈妈新一代算法 JTM:如何优化大规模推荐? | 召回 | 2019-12-04 |
| 百度 | MOBIUS:百度凤巢新一代广告召回系统 | 召回 | 2019-11-29 |
| 腾讯 | 新一代海量数据搜索引擎 TurboSearch 来了! | 工程相关 | 2019-11-28 |
| 腾讯微信 | RALM: 实时 Look-alike 算法在微信看一看中的应用 | 推荐 | 2019-11-25 |
| 360 | 向量化召回在360信息流广告的实践 | 召回 | 2019-11-23 |
| 腾讯 | Bing搜索核心技术BitFunnel原理 | 工程相关 | 2019-11-19 |
| 腾讯 | 推荐系统中模型训练及使用流程的标准化 | 工程相关 | 2019-11-04 |
| 360 | 360展示广告召回系统的演进 | 召回 | 2019-10-24 |
| 爱奇艺 | 爱奇艺效果广告的个性化探索与实践 | 广告 | 2019-10-17 |
| 美图 | 深度学习技术在美图个性化推荐的应用实践 | 推荐 | 2019-10-16 |
| 阿里智能信息 | UC 信息流推荐模型在多目标和模型优化方面的进展 | 多目标&多任务 | 2019-10-14 |
| 阿里智能信息 | UC 国际信息流推荐中的多语言内容理解 | 内容理解 | 2019-10-09 |
| 凤凰 | OCPC 广告算法在凤凰新媒体的实践探索 | 广告 | 2019-09-25 |
| 阿里智能信息 | 浅谈 UC 国际信息流推荐 | 推荐 | 2019-09-23 |
| 58同城 | 58同镇下沉市场中的推荐技术实践 | 推荐 | 2019-09-18 |
| 微博 | 微博广告策略工程架构体系演进 | 工程相关 | 2019-09-16 |
| 快看漫画 | 快看漫画个性化推荐探索与实践 | 推荐 | 2019-09-12 |
| 滴滴 | 解读:滴滴“猜你去哪儿”功能的算法实现 | 推荐 | 2019-09-04 |
| 阿里淘系 | 推荐系统走向下一阶段最重要的三个问题 | 推荐 | 2019-08-28 |
| 360 | 深度学习在花椒直播的应用——Tensorflow 原理篇 | 工程相关 | 2019-08-28 |
| 阿里妈妈 | 阿里妈妈深度树检索技术(TDM)及应用框架的探索实践 | 召回 | 2019-08-16 |
| 京东 | 京东电商推荐系统实践 | 推荐 | 2019-08-08 |
| 阿里淘系 | 极测未来|淘宝"千人千面"内容下的智能评测技术与实践 | 推荐 | 2019-08-06 |
| 360 | 360搜索的百亿级网页搜索引擎架构实现 | 工程相关 | 2019-07-31 |
| Hulu | Hulu 在视频内容理解上的应用和最佳实践 | 内容理解 | 2019-07-26 |
| 360 | 深度学习在360搜索广告 NLP 任务中的应用 | 搜索 | 2019-07-18 |
| 阿里 | 阿里零售通智能导购推荐技术实践 | 推荐 | 2019-07-11 |
| 网易 | 网易新闻推荐:深度学习排序系统及模型 | 推荐 | 2019-07-08 |
| 居理新房 | 低频少样本长验证周期场景下的算法设计 | 推荐 | 2019-07-05 |
| Hulu | 基于行列式点过程的推荐多样性提升算法 | 推荐 | 2019-07-03 |
| 途家网 | Embedding 技术在民宿推荐中的应用 | 召回 | 2019-06-25 |
| Airbnb | 深度学习在 Airbnb 中的探索与应用 | 搜索 | 2019-06-21 |
| 阿里 | 当你打开天猫的那一刻,推荐系统做了哪些工作? | 推荐 | 2019-06-04 |
| 小米 | 小米移动搜索中的AI技术 | 搜索 | 2019-05-23 |
| 阿里妈妈 | 阿里妈妈:电商预估模型的发展与挑战 | 精排&CXR预估 | 2019-05-20 |
| 阿里飞猪 | POI 识别在飞猪搜索的探索与实践 | 搜索 | 2019-05-10 |
| 达观数据 | 达观数据个性化推荐系统实践 | 推荐 | 2019-03-11 |
| Hulu | Hulu:视频广告系统中的算法实践 | 广告 | 2019-02-25 |
| 阿里妈妈 | 「回顾」阿里妈妈:定向广告新一代点击率预估主模型——深度兴趣演化网络 | 精排&CXR预估 | 2019-01-28 |
| 搜狗 | 「回顾」深度学习新技术在搜狗搜索广告中的深化应用 | 广告 | 2019-01-23 |
| 美团 | 大众点评搜索基于知识图谱的深度学习排序实践 | 搜索 | 2019-01-17 |
| 知乎 | 「回顾」知乎推荐页Ranking经验分享 | 推荐 | 2018-12-28 |
| 爱奇艺 | 「回顾」爱奇艺搜索排序模型迭代之路 | 搜索 | 2018-12-21 |
| Airbnb | Airbnb: 深度学习在搜索排序业务中的探索与演进(二) | 搜索 | 2018-12-13 |
| Airbnb | Airbnb: 深度学习在搜索排序业务中的探索与演进(一) | 搜索 | 2018-12-11 |
| 51信用卡 | 「回顾」51信用卡的个性化推荐体系 | 推荐 | 2018-11-21 |
| 饿了么 | 「回顾」饿了么推荐算法演进及在线学习实践 | 推荐 | 2018-11-07 |
| 饿了么 | 回顾·外卖推荐算法中有哪些机制与手段? | 推荐 | 2018-10-12 |
| 阿里淘系 | 7种经典推荐算法模型的应用 | 推荐 | 2018-09-16 |
| 阿里智能信息 | 回顾·神马搜索技术演进之路 | 搜索 | 2018-08-17 |
| 搜狗 | 回顾·搜狗信息流推荐算法交流 | 推荐 | 2018-07-02 |
| 美团 | 深度学习在美团点评推荐平台排序中的运用 | 推荐 | 2017-07-28 |
| 美团 | 美团点评旅游搜索召回策略的演进 | 召回 | 2017-06-16 |
Paperbotv2 Arxiv Daily Review (`docs/paperbotv2-arxiv-daily-review.md`)
paperBotV2.arxiv_daily 逻辑 Review 报告
结论摘要
paperBotV2.arxiv_daily 已经是当前 arXiv 每日论文链路的主线实现,负责从 arXiv API 抓取论文、调用 DeepSeek 做粗排和精排、写入 JSON、生成 GitHub Pages 页面,并通过独立 workflow 发送飞书通知。整体链路可运行,工作流入口也已经从旧脚本迁移到 paperBotV2。
本次 review 未发现 P0 阻断问题,但发现 3 个 P1 和 2 个 P2 风险。最优先需要处理的是:跨日去重路径拼错、HTML 渲染未启用转义、generate_arxiv_html.py --output 参数必然报错。其次建议补强飞书失败观测和 arXiv 请求超时控制。
当前主线入口
| 入口 | 触发方式 | 主要职责 | 输出或副作用 |
|---|---|---|---|
.github/workflows/arxiv_daily_full.yml |
每天 UTC 04:00 定时,或手动触发 | 安装依赖,执行 arXiv 抓取与排序,生成 HTML,提交数据并部署 Pages | paperBotV2/arxiv_daily/data/*.json、paperBotV2/arxiv_daily/output/*.html、gh-pages/arxiv_daily |
.github/workflows/arxiv_feishu_msg.yml |
arxiv_daily_full 成功后触发,或手动触发 |
读取当天 JSON,筛选精排论文,发送飞书模板卡片 | 飞书 webhook 消息 |
legacy/workflows/push_arxiv_daily.yml |
已移入 legacy/workflows/ |
旧 arXiv workflow 归档 | 不会被 GitHub Actions 自动识别为线上 workflow |
legacy/workflows/push_arxiv_daily_cl.yml |
已移入 legacy/workflows/ |
旧 arXiv CL workflow 归档 | 不会被 GitHub Actions 自动识别为线上 workflow |
arxiv.py 当前逻辑
文件:paperBotV2/arxiv_daily/arxiv.py
配置读取
arxiv.py 在模块加载阶段读取以下环境变量:
| 环境变量 | 默认值 | 作用 |
|---|---|---|
FEISHU_URL |
空 | 旧内置飞书函数仍会读取,但当前主流程不再调用该函数 |
DEEPSEEK_API_KEY |
None |
DeepSeek Chat Completion API Key |
TARGET_CATEGORYS |
cs.IR,cs.CL,cs.CV |
arXiv 分类列表,逗号分隔 |
MAX_PAPERS |
100 |
每个分类最多拉取论文数 |
ROUGH_SCORE_THRESHOLD |
4 |
粗排过滤阈值 |
RETURN_PAPERS |
20 |
精排和飞书通知数量上限 |
主处理流程
process_papers() 是主入口,执行顺序如下:
get_papers_from_all_categories():遍历TARGET_CATEGORYS,调用 arXiv API 获取论文,并初始化is_filtered=False、is_fine_ranked=False。perform_rough_ranking():调用rough_rank_papers(),基于标题使用PRERANK_PROMPT进行粗排,过滤低于ROUGH_SCORE_THRESHOLD的论文。perform_fine_ranking():调用fine_rank_papers(),对粗排前RETURN_PAPERS篇论文使用标题和原始摘要做精排,写入summary、translation、rerank_relevance_score、rerank_reasoning等字段。save_results_to_json():将当天结果写入paperBotV2/arxiv_daily/data/YYYYMMDD.json,并增量合并到paperBotV2/arxiv_daily/data/results.json。
抓取逻辑
get_daily_arxiv_papers() 查询 http://export.arxiv.org/api/query,使用 cat:<category> AND submittedDate:[yesterday_utc TO now_utc] 作为搜索条件,按 submittedDate 降序排序。每篇论文会被转成以 arxiv_id 为 key 的字典,核心字段包括:
titleurlarxiv_idauthorscategoriespub_dateori_summarysummarytranslationrelevance_scorereasoningrerank_relevance_scorererank_reasoning
LLM 调用逻辑
call_deepseek_api() 使用 OpenAI SDK 兼容 DeepSeek API,请求 deepseek-chat,并设置 response_format={'type': 'json_object'}。函数通过 tenacity 对 APIConnectionError、RateLimitError、APIStatusError 做最多 5 次指数退避重试。
当前行为特点:
- 没有
DEEPSEEK_API_KEY时直接返回None,不会发起 API 请求。 - LLM 返回非 JSON 或字段缺失时,函数会捕获异常并返回
None。 - 粗排或精排单篇失败时,该论文不会进入对应成功列表。
数据落盘逻辑
save_results_to_json() 只在 all_papers 非空时写文件。输出包括:
- 天级文件:
paperBotV2/arxiv_daily/data/YYYYMMDD.json - 全量文件:
paperBotV2/arxiv_daily/data/results.json
全量文件只新增不存在的 arxiv_id,不会覆盖已有论文字段。这能降低历史数据被重写的风险,但也意味着 LLM prompt 或评分策略升级后,历史数据不会自动刷新。
generate_arxiv_html.py 当前逻辑
文件:paperBotV2/arxiv_daily/generate_arxiv_html.py
输入选择
main() 默认从 paperBotV2/arxiv_daily/data/ 中选择最新日期 JSON,排除 results.json。也支持:
--date YYYYMMDD:指定某一天的data/YYYYMMDD.json。--output path:指定 HTML 输出文件路径。
页面生成流程
generate_html() 的主要步骤:
- 计算展示日期、论文总数、精选论文数量、平均分。
- 准备
paperBotV2/arxiv_daily/output/与output/static/templates/。 - 复制
frontend下的styles.css、tailwind.config.js、app.js、index.html和模板文件到output/static/。 - 调用
generate_papers_html()渲染精选和普通论文卡片。 - 将统计数据、日期选择器、论文 HTML 注入页面模板。
- 注入折叠/展开逻辑、日历逻辑和 cache-busting 时间戳。
- 写入
output/arxiv_YYYYMMDD.html和output/index.html。
卡片排序和展示逻辑
generate_papers_html() 会先按是否精选排序,再按 rerank_relevance_score 或 relevance_score 降序排序。精选论文使用 selected_paper_template.html,普通论文使用 normal_paper_template.html。
非精选论文会按分数折叠:
- 精选论文:默认完全展开。
- 普通论文且分数 > 1:默认只展示标题,详情折叠。
- 普通论文且分数 <= 1:默认隐藏在低分区域后。
arxiv_feishu_msg.py 当前逻辑
文件:paperBotV2/arxiv_daily/arxiv_feishu_msg.py
输入和跳过条件
main() 读取 paperBotV2/arxiv_daily/data/ 下最新日期 JSON,且要求文件名日期等于运行当天日期。若最新文件不是当天,会直接退出,避免手动或后置触发时重复发送历史论文。
飞书发送前还会检查:
FEISHU_URL是否为空。- 是否加载到论文数据。
- 是否存在
is_fine_ranked=True且包含rerank_relevance_score的论文。
消息选择和格式
脚本筛选精排论文后按 rerank_relevance_score 降序排序,最多发送 RETURN_PAPERS 篇。飞书卡片使用模板:
template_id:AAqxH62u1uNkotemplate_version_name:1.0.8
模板变量包括:
paper: Markdown 论文链接translation: 中文标题或翻译score: 星级和分数标签summary: 论文总结date: 当前日期
Workflow 当前逻辑
arxiv_daily_full.yml
当前主流程如下:
actions/checkout@v3,已开启lfs: true。- 设置 Python 3.8。
- 安装
requirements.txt。 - 执行
python -m paperBotV2.arxiv_daily.arxiv。 - 进入
paperBotV2/arxiv_daily执行python generate_arxiv_html.py。 - 检查
output/和data/。 - 如有 diff,提交并 push。
- 使用
peaceiris/actions-gh-pages@v3部署paperBotV2/arxiv_daily/output到gh-pages的arxiv_daily目录。
arxiv_feishu_msg.yml
当前通知流程如下:
- 在
arxiv_daily_fullworkflow 成功后自动触发,也支持手动触发。 actions/checkout@v3,已开启lfs: true。- 设置 Python 3.8 并安装依赖。
- 进入
paperBotV2/arxiv_daily执行python arxiv_feishu_msg.py。
问题清单
P1: 前一天数据路径拼错,跨日去重实际失效
- 位置:
paperBotV2/arxiv_daily/arxiv.py的get_papers_from_all_categories()。 - 证据:
current_dir已经是paperBotV2/arxiv_daily,但yesterday_file拼成了current_dir/arxiv_daily/YYYYMMDD.json。 - 实际保存路径:
paperBotV2/arxiv_daily/data/YYYYMMDD.json。 - 影响:前一天论文 ID 集合几乎永远为空,跨日重复论文不会被过滤。
- 风险:重复推送、重复 LLM 调用、成本增加、用户体验下降。
- 建议:改成
os.path.join(current_dir, "data", f"{yesterday:%Y%m%d}.json"),并补一个临时前一天 JSON 的去重测试。
P1: HTML 渲染未启用自动转义,存在页面注入风险
- 位置:
paperBotV2/arxiv_daily/generate_arxiv_html.py的render_template()和generate_papers_html()。 - 证据:代码使用
Template(template_content),Jinja2 默认autoescape=False。 - 输入来源:arXiv feed 的标题、作者、摘要、分类,以及 DeepSeek 生成的 summary/reasoning/translation。
- 影响:如果上游文本含 HTML、事件属性或恶意 URL,可能被原样写入 GitHub Pages 页面。
- 验证:构造包含 `` 和
javascript:alert(1)的论文样本时,渲染结果中 payload 未被转义。 - 建议:使用
jinja2.Environment(autoescape=select_autoescape(['html', 'xml']));对手工拼接的CATEGORY_TAGS使用html.escape;对 URL 做协议白名单校验,只允许https://arxiv.org/、https://www.alphaxiv.org/等可信域名。
P1: `generate_arxiv_html.py --output` 会触发 `output_dir` 未定义
- 位置:
paperBotV2/arxiv_daily/generate_arxiv_html.py的generate_html()。 - 证据:只有
output_file is None时才定义output_dir,但后续无条件执行static_dir = os.path.join(output_dir, "static")。 - 影响:CLI 暴露了
--output参数,但任何指定输出路径的调用都会触发UnboundLocalError。 - 风险:手动生成指定路径页面、调试脚本或未来 workflow 使用该参数时失败。
- 建议:函数开头统一计算
output_dir:如果指定output_file,使用os.path.dirname(os.path.abspath(output_file));否则使用默认script_dir/output。
P2: 飞书 webhook 非 2xx 或业务失败不会让 workflow 失败
- 位置:
paperBotV2/arxiv_daily/arxiv_feishu_msg.py的send_papers_to_feishu()。 - 证据:
requests.post()后只打印status_code,没有raise_for_status(),也没有解析飞书业务错误码。 - 影响:webhook 失效、限流、模板变量错误、权限错误时,workflow 仍可能显示成功,但用户收不到消息。
- 建议:对 HTTP 非 2xx 调用
raise_for_status();记录响应体摘要;解析飞书返回的业务 code;汇总失败 webhook 数量,必要时以非 0 退出。
P2: arXiv HTTP 请求没有 timeout
- 位置:
paperBotV2/arxiv_daily/arxiv.py的get_daily_arxiv_papers()。 - 证据:
requests.get(base_url, params=query_params)未设置timeout。 - 影响:arXiv API 网络半开或服务长时间无响应时,GitHub Actions 任务可能挂到默认超时,阻塞后续 HTML 部署和飞书通知。
- 建议:设置
timeout=(5, 30),并配合有限重试;workflow 层增加timeout-minutes和concurrency,避免定时任务堆积。
改进建议
必须优先修复
- 修复前一天去重路径,避免重复论文跨日进入 LLM 和飞书链路。
- 修复 HTML 转义和 URL 白名单,避免公开页面注入风险。
- 修复
--output参数,保证 CLI 行为与帮助说明一致。
建议尽快优化
- 飞书发送失败应显式失败或至少汇总失败数,避免“workflow 成功但消息没发出”。
- arXiv API 请求设置 timeout 和 retry,workflow 设置
timeout-minutes与concurrency。 - 将
arxiv.py内已废弃的send_papers_to_feishu()删除或迁移到公共通知模块,避免两个飞书模板版本并存。 - 对 LLM 返回字段做 schema 校验,缺字段时保留原论文并标记失败原因,而不是静默丢失到成功列表之外。
可暂缓优化
save_results_to_json()当前不会刷新历史全量结果,可后续增加手动 refresh 模式。generate_arxiv_html.py中大量内联 CSS/JS 可以后续拆回前端资源,降低维护成本。get_latest_json_file()仅按文件名排序,建议后续对YYYYMMDD.json做格式过滤,避免误选非日期 JSON。
验证记录
本次 review 使用无线上副作用方式验证,不使用真实 DEEPSEEK_API_KEY、不使用真实 FEISHU_URL、不触发真实飞书发送。
已执行验证
python3 - <<'PY'
import os, py_compile, tempfile
files = [
'paperBotV2/arxiv_daily/__init__.py',
'paperBotV2/arxiv_daily/prompts.py',
'paperBotV2/arxiv_daily/arxiv.py',
'paperBotV2/arxiv_daily/arxiv_feishu_msg.py',
'paperBotV2/arxiv_daily/generate_arxiv_html.py',
]
with tempfile.TemporaryDirectory(prefix='arxiv_daily_pycompile_') as td:
for path in files:
cfile = os.path.join(td, path.replace('/', '__') + '.pyc')
py_compile.compile(path, cfile=cfile, doraise=True)
print(f'OK py_compile {path}')
PY结果:5 个 arXiv daily Python 文件均可编译。
env -u FEISHU_URL -u DEEPSEEK_API_KEY RETURN_PAPERS=1 PYTHONPATH="$PWD" python3 - <<'PY'
from pathlib import Path
from paperBotV2.arxiv_daily import arxiv, arxiv_feishu_msg, generate_arxiv_html
post_calls = []
def fail_post(*args, **kwargs):
post_calls.append((args, kwargs))
raise AssertionError('requests.post should not be called in empty-key smoke')
arxiv.requests.post = fail_post
arxiv_feishu_msg.requests.post = fail_post
assert arxiv.call_deepseek_api('{"ping": true}', api_key='') is None
arxiv.send_papers_to_feishu([{'title':'T','url':'https://www.alphaxiv.org/abs/1','rerank_relevance_score':1,'summary':'S'}], feishu_urls=[])
arxiv_feishu_msg.send_papers_to_feishu([{'title':'T','url':'https://www.alphaxiv.org/abs/1','rerank_relevance_score':1,'summary':'S'}], feishu_urls=[])
arxiv_feishu_msg.main()
script_dir = Path('paperBotV2/arxiv_daily').resolve()
papers = generate_arxiv_html.load_paper_data(script_dir / 'data' / '20260526.json')[:1]
html = generate_arxiv_html.generate_papers_html(papers, str(script_dir / 'frontend'), str(script_dir / 'output' / 'static'))
assert html and '<script id="papers-data"' not in html
assert not post_calls, post_calls
print('OK empty-key smoke')
PY结果:空 DeepSeek key 会短路;空飞书 URL 不发送;最新 JSON 非当天时飞书主流程退出;HTML 论文列表可只读渲染。
env -u FEISHU_URL -u DEEPSEEK_API_KEY PYTHONPATH="$PWD" python3 - <<'PY'
from pathlib import Path
from paperBotV2.arxiv_daily import generate_arxiv_html, arxiv_feishu_msg
root = Path('paperBotV2/arxiv_daily')
static_dir = root / 'output' / 'static'
malicious = '<img src=x onerror=alert(1)>'
paper = {
'title': malicious,
'translation': malicious,
'summary': malicious,
'ori_summary': malicious,
'authors': malicious,
'reasoning': malicious,
'categories': ['cs.CL'],
'url': 'javascript:alert(1)',
'arxiv_id': '2501.00001',
'rerank_relevance_score': 9,
'is_fine_ranked': True,
}
html = generate_arxiv_html.generate_papers_html([paper], str(root / 'frontend'), str(static_dir))
print('HTML_UNESCAPED_PAYLOAD', malicious in html)
print('HTML_JAVASCRIPT_HREF', 'href="javascript:alert(1)"' in html)
PY结果:HTML_UNESCAPED_PAYLOAD=True,HTML_JAVASCRIPT_HREF=True,确认 HTML 转义风险存在。
未执行验证
- 未运行真实
python -m paperBotV2.arxiv_daily.arxiv全流程,因为会访问 arXiv、调用 DeepSeek 并写入当天 JSON。 - 未使用真实
FEISHU_URL,避免误发飞书。 - 未在 GitHub Actions Python 3.8 环境中复测,仅在本地 Python 环境完成静态和 smoke 验证。
修复记录
截至 2026-05-28,已按本报告的问题清单完成第一轮修复:
- 已修复跨日去重路径:
arxiv.py现在从paperBotV2/arxiv_daily/data/YYYYMMDD.json读取前一天数据。 - 已为 arXiv API 请求增加
timeout=(5, 30),避免外部服务长时间无响应时拖垮 workflow。 - 已为 HTML 模板渲染启用 Jinja2 autoescape,并对分类标签做显式转义。
- 已增加论文 URL 白名单和 fallback;不可信 URL 会回退到
https://arxiv.org/abs/<arxiv_id>。 - 已修复
generate_arxiv_html.py --output,指定输出目录时可正常生成页面、静态资源目录和index.html。 - 已增强飞书 webhook 失败处理:HTTP 非 2xx、非 JSON 响应或飞书业务错误会汇总并抛出
RuntimeError。 - 已为
arxiv_daily_full.yml和arxiv_feishu_msg.yml增加 workflow concurrency 与 jobtimeout-minutes。 - 已增强 arXiv 抓取完整性:抓取窗口改为最近 36 小时,按
ARXIV_PAGE_SIZE分页抓取到空页或ARXIV_MAX_PAGES,避免单页max_results=100漏论文。 - 已增强 arXiv 限流处理:请求增加 User-Agent,遇到 429/5xx 会按
Retry-After或指数退避长时间重试;重试耗尽后会让流程失败,避免静默生成 0 篇结果。 - 已将内部 arXiv 重试策略调整为“少次数、长间隔”:单页请求最多 4 轮,默认等待约 10 分钟、20 分钟、40 分钟,最大等待 2400 秒,并增加 0-120 秒随机抖动,避免短时间重复请求无效消耗。
- 已进一步降低 arXiv 限流概率:分页间隔默认 60 秒,分类间隔默认 120 秒,并增加随机抖动,避免 GitHub Actions 固定节奏触发限流。
- 已增加分类级页数上限:
cs.IR:5,cs.CL:8,cs.CV:20,低产分类减少不必要请求,高产cs.CV保留更大抓取深度。 - 已增加备用 API endpoint:主源
https://export.arxiv.org/api/query失败时,同一轮会尝试https://arxiv.org/api/query。 - 已将定时任务从北京时间 12:00 调整到 13:20,避开整点和常见自动任务高峰。
- 已增加同日缓存复用:手动重跑时若当天 JSON 已包含某分类结果,会复用缓存并跳过该分类 arXiv 请求。
- 已关闭额外分类级二次重试:单页请求内部已经使用长间隔退避,分类层不再重复放大等待时间;若某分类最终失败,workflow 会 fail,避免提交空结果。
- 已增加 workflow 外层重试:
arxiv.pystep 最多执行 3 次,失败后分别等待 30 分钟和 60 分钟再重试;最终失败会保留非 0 退出,阻止后续 HTML 生成、提交、部署和飞书成功触发。 - 已增加运行状态持久化:每次运行会写入
paperBotV2/arxiv_daily/status/YYYYMMDD.json详细状态,并追加/更新paperBotV2/arxiv_daily/status/arxiv_daily_runs.csv汇总表,记录抓取、粗排、精排、平均分、输出和错误信息。 - 已增加晚间 recovery workflow:北京时间 18:05 检查当天状态,只有状态缺失、失败、抓取未成功、JSON 未写入或 HTML 未生成时才补跑;成功则直接跳过。
- 已扩展飞书触发条件:
arxiv_feishu_msg.yml同时监听arxiv_daily_full和arxiv_daily_recovery,确保晚间补跑成功后也会发送当天 Top20 飞书消息。 - 已增加
PYTHONUNBUFFERED=1:GitHub Actions 长抓取阶段会实时输出日志,避免看起来像卡住。 - 已在
requirements.txt约束urllib3<2:避免 macOS 系统 Python + LibreSSL 环境出现NotOpenSSLWarning。
修复验证采用无线上副作用方式完成:
py_compile通过:arxiv.py、generate_arxiv_html.py、arxiv_feishu_msg.py。- YAML 和 shell 语法解析通过:
arxiv_daily_full.yml、arxiv_daily_recovery.yml、arxiv_feishu_msg.yml。 - 静态检查通过:确认
requests.get(..., timeout=(5, 30))和data/YYYYMMDD.json去重路径存在。 - HTML 恶意样本验证通过:`` 被转义,
javascript:URL 不会进入 href。 --output验证通过:临时目录中成功生成arxiv_20260526.html、static/templates/和index.html。- 飞书 mock 验证通过:成功响应不抛错,HTTP 500 与业务错误码均会抛出
RuntimeError,空 URL 仍跳过发送。 - arXiv 抓取 mock 验证通过:429 会等待后重试,分页会继续抓取后续页面,并在空页停止。
- arXiv 慢抓策略验证通过:分类级页数、备用 endpoint、分页/分类间隔和随机抖动配置均可被代码和 workflow 读取。
- arXiv 缓存与分类重试 mock 验证通过:今日缓存存在时跳过请求,分类失败会单独等待后重试。
- 真实 arXiv 抓取层 smoke 验证通过:只请求 arXiv API,不进入 DeepSeek、不写 JSON/HTML、不发飞书。
- 状态持久化临时目录验证通过:JSON/CSV 写入、HTML 状态回写和 recovery 判断逻辑均符合预期。
git diff --check通过。
后续优化路线
首轮修复已覆盖本报告中的 5 个主要问题。后续可继续做以下增强:
- 为去重路径、HTML 转义、URL 白名单、
--output和飞书失败处理补充正式单元测试。 - 为 arXiv 请求增加分类级失败统计和抓取数量趋势监控。
- 清理
arxiv.py内废弃飞书函数,统一通知逻辑到arxiv_feishu_msg.py或公共模块。 - 增加
DRY_RUN或--dry-run参数,方便在 CI 和本地做无副作用验证。 - 后续在 GitHub Actions Python 3.8 环境中手动触发一次 workflow,验证真实 secrets、Pages 部署和飞书模板兼容性。
Paperbotv2 Arxiv Html Ui Review (`docs/paperbotv2-arxiv-html-ui-review.md`)
PaperBotV2 arXiv HTML UI Review
结论摘要
本次 review 聚焦 paperBotV2/arxiv_daily/generate_arxiv_html.py 及其生成的 arXiv 每日 HTML 页面。当前链路已经具备每日论文展示、精选优先、普通论文折叠、低分论文隐藏、摘要详情、统计卡片、日期日历和静态资源 fallback 等能力,且输出路径支持 --output,可以用临时目录做无副作用验证。
主要风险集中在前端状态与后端注入逻辑交错:日历会被过期 localStorage 影响,筛选和折叠逻辑分散在 app.js 与内联脚本中,低分论文分割线位置不符合文案语义,部分空值 fallback 与评分展示仍有体验问题。建议优先修正日历选中态和交互职责边界,再逐步补充搜索、筛选、历史浏览和阅读状态能力。
当前逻辑梳理
输入与数据转换
main()从paperBotV2/arxiv_daily/data/读取指定--date的YYYYMMDD.json,未指定时按文件名倒序选择最新 JSON。get_latest_json_file()排除results.json,直接按文件名排序选最新文件;get_json_file_by_date()只接受YYYYMMDD。load_paper_data()将 JSON 字典转换为论文列表,并向每个paper_info原地写入arxiv_id。generate_html()统计总论文数、精选论文数和平均分;精选判断使用is_fine_ranked,评分优先rerank_relevance_score,否则relevance_score。generate_papers_html()先按精选优先排序,再按评分降序排序;精选论文使用selected_paper_template.html,普通论文使用normal_paper_template.html。
模板渲染与展示
- 模板渲染使用 Jinja2
Environment和默认 autoescape,正文、标题、作者、摘要等文本会被转义。 - URL 只允许
http/https且 host 属于 arXiv 白名单,路径必须以/abs/、/pdf/或/html/开头,异常 URL 回退到https://arxiv.org/abs/{arxiv_id}或https://arxiv.org。 - 分类标签由
build_category_tags()生成,分类文本逐项转义后以Markup注入模板。 - 作者超过
MAX_AUTHORS_DISPLAY_LENGTH后截断,标题优先展示translation,摘要优先abstract,原始摘要优先ori_summary。 summary非空时展示“核心总结”;推荐理由优先rerank_reasoning,否则reasoning,默认值为“无”。
静态资源与输出
- 默认输出为
paperBotV2/arxiv_daily/output/arxiv_YYYYMMDD.html,指定--output时会以输出文件所在目录作为临时output_dir。 - 若
frontend/存在则复制其中styles.css、tailwind.config.js、app.js、index.html和模板;当前仓库主要使用output/static/作为 fallback 来源。 - 输出页面中的
../frontend/styles.css、../frontend/tailwind.config.js、../frontend/app.js会被改写为static/...。 - 每次生成具体日期 HTML 后,会在同一输出目录写入
index.html,通过 meta refresh 指向arxiv_YYYYMMDD.html。
日历逻辑
- 后端扫描
script_dir/data/*.json,注入availableDates数组,过滤results.json和非YYYYMMDD.json文件。 - 前端从
#current-date文本解析当前日期,初始化displayYear和displayMonth。 - 日历按钮控制
#date-picker的hiddenclass,支持上月和下月切换。 - 有数据日期可点击,点击后写入
localStorage.selectedDate/selectedYear/selectedMonth,并跳转到arxiv_YYYYMMDD.html。 - 无数据日期置灰不可点击;当天日期使用
bg-primary高亮,选中日期使用边框和阴影高亮。
页面交互
- 精选论文默认完全展开,普通论文按评分分为
collapsed-level-1和collapsed-level-2。 collapsed-level-1只隐藏.paper-details,标题仍可见;collapsed-level-2整卡默认隐藏。- 内联
collapse_js会插入“展开/折叠全部非精选论文”按钮,给普通论文标题加眼睛图标,并处理“全部论文/仅显示精选”的实际过滤。 app.js也绑定了show-all和show-selected,但只更新按钮样式;摘要详情主要依赖原生 ``。
问题清单
| 严重度 | 类型 | 问题 | 证据 | 影响 | 建议 |
|---|---|---|---|---|---|
| P1 | 日历状态 | 过期 localStorage 会覆盖当前页面日期和月份 |
initCalendar() 只要存在 savedDate 就使用保存值设置 selectedDateText、displayYear、displayMonth |
从新日期页面进入时,按钮文本和日历选中态可能停留在上次点击日期,用户误以为当前页面不是实际日期 | 页面加载时应以 currentDateStr 为权威,只在打开日历或跨页回访时校验保存日期是否等于当前页面日期;不一致时清理或覆盖 localStorage |
| P2 | 日历兼容性 | 当前日期解析依赖 DOM 文本和 new Date() 宽松解析 |
currentDateStr 通过替换中文字符得到 YYYY-MM-DD,再传入 new Date(currentDateStr) |
部分浏览器或异常模板空值下可能得到 Invalid Date,导致月份渲染异常 |
直接由后端注入安全的 currentDate = {year, month, day, ymd},避免从展示文本反解析 |
| P2 | 页面交互 | 低分论文分割线插在普通论文最后之后,而不是低分论文之前 | normalPapers[normalPapers.length - 1] 后插入 divider;但低分论文默认 display:none |
“点击展开更多论文(评分较低)”的位置可能出现在所有可见普通论文之后,低分论文展开后追加在分割线之前或附近,层级语义不清 | 按 collapsed-level-2 的第一个元素插入分割线,或将低分论文包进单独容器 |
| P2 | 可维护性 | app.js 与内联 collapse_js 同时绑定筛选按钮 |
app.js 绑定 show-all/show-selected 仅更新样式,内联脚本再次绑定并执行实际显示/隐藏 |
双重监听增加未来改动时的竞态和认知成本,按钮 class 可能被两个来源覆盖 | 将筛选、折叠、日历统一迁移到静态 app.js,Python 只负责注入数据 JSON 或 data-* 配置 |
| P2 | 数据副作用 | load_paper_data() 原地修改 JSON 解析出的 paper_info |
循环中执行 paper_info['arxiv_id'] = arxiv_id |
当前影响有限,但函数调用方复用原始对象时会出现隐式变异,不利于测试和推理 | 改为 paper = {**paper_info, "arxiv_id": arxiv_id},保持输入对象不可变 |
| P3 | 展示体验 | 评分展示直接 int(score) 会截断小数 |
评分 8.7 展示为 8/10,平均分却保留 1 位小数 |
高分论文的细粒度差异被抹平,用户可能不理解排序差异 | 评分 badge 建议保留 1 位小数或统一整数规则并说明 |
| P3 | 展示体验 | summary 为空时核心总结区直接缺失 |
模板仅 {% if SUMMARY %} 才展示核心总结 |
普通论文可能只剩推荐理由和摘要入口,信息层次不稳定 | 非精选论文可显示“暂无核心总结”,或将摘要首句作为兜底 |
| P3 | 历史导航 | availableDates 只用于日历,没有最近有数据日期快捷入口 |
用户必须逐月翻日历寻找可点击日期 | 历史浏览效率低,跨日回看成本高 | 增加最近 7/30 个有数据日期列表、月份热力图或历史 Top 入口 |
功能与体验改进
近期可做
| Idea | 收益 | 复杂度 | 风险 | 建议 |
|---|---|---|---|---|
| 修复日历状态以当前页面日期为准 | 避免日期错乱,提升基础可信度 | 低 | 需要处理旧 localStorage 兼容 |
页面加载覆盖 stale 状态,跳转点击后再保存 |
| 分类筛选与分数区间筛选 | 快速定位 cs.IR、cs.CL、高分论文 |
中 | 需要维护计数和按钮状态 | 使用前端 DOM data 属性或后端注入 JSON 配置 |
| 搜索标题/摘要/作者 | 提升每日论文发现效率 | 中 | 大页面 DOM 搜索性能需关注 | 先做本页轻量搜索和关键词高亮 |
统一交互脚本到 app.js |
降低维护成本 | 中 | 迁移时可能影响现有页面 | Python 只注入 window.__ARXIV_PAGE_DATA__ |
| 改善空状态与 fallback 文案 | 数据不完整时页面更稳定 | 低 | 文案需要统一 | 为 summary、reasoning、authors、categories 建立统一 fallback |
中期增强
| Idea | 收益 | 复杂度 | 风险 | 建议 |
|---|---|---|---|---|
| 最近有数据日期列表 | 快速回看历史日报 | 中 | 需要控制列表长度 | 后端注入按日期倒序的最近 N 天 |
| 阅读状态:已读/未读/稍后看 | 适合每天持续阅读 | 中 | localStorage 数据结构需要迁移 | 用 arXiv ID 做 key,先本地保存 |
| 收藏论文与导出列表 | 支持二次阅读和分享 | 中 | 跨设备同步暂不可用 | 本地收藏 + 复制 Markdown/BibTex 入口 |
| 主题聚合与关键词聚类 | 降低大批量论文浏览成本 | 高 | 需要额外 NLP 或 LLM 结果 | 先基于 categories 和关键词做轻量聚合 |
| 跨日 Top 论文入口 | 提升历史发现能力 | 中 | 需要读取多日数据 | 静态生成 history_top.html 或本页链接 |
远期探索
| Idea | 收益 | 复杂度 | 风险 | 建议 |
|---|---|---|---|---|
| 趋势面板 | 观察主题热度和评分变化 | 高 | 数据聚合与展示设计成本高 | 先生成周/月聚合 JSON |
| 个性化阅读队列 | 更贴合个人兴趣 | 高 | 需要用户偏好和隐私设计 | 本地偏好优先,不引入线上依赖 |
| 单篇分享页 | 方便传播重点论文 | 高 | 静态站路由和 SEO 需要设计 | 可先支持 hash 定位和复制链接 |
| 移动端沉浸阅读模式 | 提升手机阅读体验 | 中 | 需要重新组织卡片密度 | 增加一键展开摘要和粘性筛选栏 |
验证记录
验证均使用本地命令和临时目录完成,不触发 DeepSeek、不发送飞书、不依赖生产 secrets、不覆盖线上 JSON/HTML 输出。
| 验证项 | 命令或方式 | 结果 |
|---|---|---|
| Python 语法检查 | python3 -m py_compile paperBotV2/arxiv_daily/generate_arxiv_html.py |
通过 |
| 临时目录 HTML 生成 | 直接导入 generate_html(),输出到 /var/folders/.../arxiv_html_ui_task6_5kbafj9a/arxiv_20260526.html |
通过 |
| 静态资源复制 | 检查临时目录存在 static/app.js、static/styles.css、static/tailwind.config.js、static/templates/ |
通过 |
| 首页重定向 | 检查临时目录 index.html 指向 arxiv_20260526.html |
通过 |
| 日历数据注入 | 检查生成 HTML 包含 const availableDates = ... 和 20260526 |
通过 |
| 折叠 class 注入 | 检查生成 HTML 包含 collapsed-level-1 与 collapsed-level-2 |
通过 |
| URL 安全兜底 | 构造 javascript:alert(1) 样本,检查未出现在 HTML 且回退到 arXiv URL |
通过 |
| 线上输出保护 | 生成命令只写入系统临时目录;验证后 git status --short 未出现 paperBotV2/arxiv_daily/output/ 变更 |
通过 |
修复记录
本轮已按报告中的高优先级问题修复,并回溯重生成历史 HTML。
| 修复项 | 变更 | 验证 |
|---|---|---|
日历 stale localStorage |
当前页面日期改为后端注入的 currentDateConfig,页面加载时始终以当前 HTML 日期为权威;只有保存日期等于当前页面日期时才恢复保存的月份视图 |
临时目录 smoke 和 120 个历史 HTML 全量断言均通过 |
| 日期解析兼容性 | 前端不再从 #current-date 展示文本反解析日期,也不再使用 new Date('YYYY-MM-DD') |
py_compile 通过,生成 HTML 包含 const currentDateConfig = ... |
| 可用日期顺序 | availableDates 改为按日期升序注入 |
--all 按日期升序生成,index.html 最终指向最新日期 |
| 低分论文展开 | 移除 .collapsed-level-2 的 !important,展开态可以正常覆盖隐藏态 |
全量 HTML 断言确认不存在 display: none !important |
| 低分分割线位置 | 分割线改为插入到第一篇 collapsed-level-2 低分论文之前 |
全量 HTML 断言确认使用 firstLowScorePaper 插入逻辑 |
| 全局收起一致性 | “展开/折叠全部”和“全部论文”会清理单篇详情的 inline display 状态 | 临时目录 smoke 覆盖脚本注入 |
| 数据副作用 | load_paper_data() 改为复制 paper_info 后追加 arxiv_id,不原地修改 JSON 子对象 |
临时样本验证源 JSON 文件内容未被修改 |
| 展示 fallback | 推荐理由改为 rerank_reasoning or reasoning or '无',评分 badge 保留一位小数并去掉多余 .0 |
临时样本验证 8.7/10 和空理由 fallback |
| 重复事件绑定 | output/static/app.js 移除筛选按钮事件绑定,避免与生成页内联筛选逻辑重复 |
app.js diagnostics 无报错 |
| 回溯生成 | 新增 generate_arxiv_html.py --all,可批量生成 data/*.json 对应历史页面 |
已执行 python3 generate_arxiv_html.py --all,成功生成 120/120 个日期 |
后续建议
- 下一步建议将筛选、折叠和日历逻辑继续迁移到静态
app.js,后端只注入结构化 JSON 配置,减少 Python 拼接大段 JS。 - 为
load_paper_data()、sanitize_url()、generate_html(--output)、availableDates注入和模板 fallback 增加正式单元测试。 - 近期产品增强优先做搜索、分类筛选、分数筛选和最近有数据日期列表,收益明确且不依赖线上服务。
- 中期可评估阅读状态、收藏、导出 Markdown/BibTeX 和跨日 Top 论文入口。
Paperbotv2 Refactor Report (`docs/paperbotv2-refactor-report.md`)
PaperBotV2 项目梳理与重构报告
结论摘要
本仓库从“搜广推工业实践文章收集”起步,随后扩展出 arXiv 每日论文推送、顶会论文汇总、行业实践网页和 GitHub Actions 自动化。当前代码同时保留顶层旧脚本和 paperBotV2/ 新结构,维护边界不清晰。
综合 README、脚本目录和工作流调用关系,当前主线应以 paperBotV2 为准:arXiv 每日处理、HTML 页面生成、飞书消息补发和行业实践页面更新均已迁入 paperBotV2;README 中顶会论文列表也指向 paperBotV2/conf_summary/data/papers/。但部分 GitHub Actions 仍会调用顶层旧脚本,说明旧代码尚未完全下线,后续重构需要分阶段迁移和验证,不能直接删除。
实施基础状态
Task 1 已从 main...origin/main 创建并切换到 refactor/paperbotv2-safe-migration 分支。创建前的 git status --short --branch 显示存在未跟踪的 .trae/ 与 docs/,本次只记录状态并保留这些现有改动,不执行清理、重置或覆盖操作。
本次安全迁移的计划修改范围限定为 GitHub Actions 入口、legacy/ 归档目录、实施报告和必要的最小验证记录。线上无损原则是:旧脚本只做目录级归档、不修改脚本内容,不删除历史数据,不改变已生效的 paperBotV2 输出目录,不触发真实线上 webhook,不让 README 顶会链接回退到顶层 papers/。
实施状态更新
截至 2026-05-28,Task 2 和 Task 3 已完成可安全迁移部分:旧 arXiv 手动工作流已归档到 legacy/workflows/,线上只保留 arxiv_daily_full.yml 与 arxiv_feishu_msg.yml;update_confs.yml 已迁移到 paperBotV2/conf_summary 链路;push_conf_daily.yml 因新版尚未完全替代旧飞书日推和私有 CONF_URL 摘要补全能力,暂时保留 legacy/conf.py 兼容调用,但已停止运行会把 README 链接回退到顶层 papers/ 的旧 legacy/render.py。
Task 4 已调整完成:顶层旧脚本不再通过修改源文件添加提示,而是以原始内容归档到 legacy/ 目录;README.md 已补充 legacy 入口说明,明确当前主线入口为 paperBotV2/arxiv_daily/、paperBotV2/conf_summary/ 和 paperBotV2/industry_practice/。本次未删除顶层历史数据文件或 papers/ 历史产物,保留回滚与复核能力。
仓库功能全景
主要功能
| 功能 | 当前承载位置 | 输入 | 输出 | 说明 |
|---|---|---|---|---|
| 行业实践文章收集 | paperBotV2/industry_practice/、README.md、source.xlsx |
GitHub Issue、文章元数据 | README.md 表格、article.json、article.csv、HTML 页面 |
原始能力来自顶层 maintain.py 和 source.xlsx,新实现已迁入 paperBotV2/industry_practice/ |
| arXiv 每日论文 | paperBotV2/arxiv_daily/ |
arXiv API、DeepSeek、环境变量 | 日级 JSON、全量 results.json、HTML 页面、飞书卡片 |
新版以多分类抓取、粗排、精排、页面生成为主线 |
| 顶会论文汇总 | paperBotV2/conf_summary/、顶层旧脚本 |
DBLP、会议配置、摘要源 | data/results.json、会议 Markdown、README 顶会表格 |
新目录已有爬取、摘要补全、Markdown 转换、README 更新工具,但部分工作流仍调用顶层旧脚本 |
| GitHub Pages | paperBotV2/arxiv_daily/output/、paperBotV2/industry_practice/output/ |
JSON 数据、Jinja2 模板、静态资源 | gh-pages 下 arxiv_daily/ 和 industry_practice/ |
arXiv 和行业实践都有网页化产物 |
| 自动化入口 | .github/workflows/ |
schedule、workflow_dispatch、issues labeled、workflow_run | 数据提交、Pages 部署、飞书通知 | 入口混合了新旧脚本,是当前重构重点 |
顶层目录与文件
| 路径 | 用途判断 | 当前状态 |
|---|---|---|
README.md |
项目首页,包含仓库介绍、论文推送 Bot、顶会论文表和行业实践文章表 | 仍是核心展示文件,顶会链接已指向 paperBotV2/conf_summary/data/papers/ |
requirements.txt |
Python 依赖,包含 feedparser、openai、tenacity、tqdm、beautifulsoup4、aiohttp、requests、jinja2 |
新旧脚本共用 |
source.xlsx |
早期行业实践文章数据源,README 提到可执行自定义排序 | 旧数据源,paperBotV2/industry_practice 已有 JSON/CSV 数据源 |
arxiv.json |
顶层旧 arXiv 脚本缓存翻译结果 | 旧数据产物,仍可能被手动旧工作流使用 |
results.json |
顶层旧顶会脚本缓存会议论文与摘要 | 旧数据产物,仍可能被旧会议工作流使用 |
papers/ |
顶层旧 render.py 生成的会议 Markdown |
历史产物,README 当前主链接转向 paperBotV2/conf_summary/data/papers/ |
搜广推优质博主文章.md、搜广推算法系列串讲.md |
手工维护的扩展内容 | 可保留为内容资产 |
.trae/specs/document-paperbotv2-refactor/ |
本次文档任务的 spec、checklist、tasks | 任务管理资料 |
顶层旧脚本
| 脚本 | 职责 | 被引用情况 | 与新版关系 |
|---|---|---|---|
legacy/arxiv.py |
查询单个 arXiv 分类,翻译摘要,推送飞书或 ServerChan,并维护 arxiv.json |
原 push_arxiv_daily.yml、push_arxiv_daily_cl.yml 已归档到 legacy/workflows/,不在线触发 |
被 paperBotV2/arxiv_daily/arxiv.py 替代;新版支持多分类、LLM 粗排/精排、HTML 数据 |
conf.py |
基于 results.json 补全顶会摘要、翻译并推送飞书 |
push_conf_daily.yml 手动触发调用 |
被 paperBotV2/conf_summary 的数据结构和处理脚本逐步替代 |
crawler.py |
从 DBLP 抓取会议论文列表并写入 results.json |
update.py 间接调用 |
paperBotV2/conf_summary/crawler.py 是增强版,支持更多会议与重试策略 |
citer.py |
基于 DOI/Crossref 补充引用数 | update.py 间接调用 |
新版会议数据不再以引用数为核心字段,保留为历史能力 |
render.py |
将顶层 results.json 渲染为 papers/ 下 Markdown,并更新 README 顶会表 |
push_conf_daily.yml、update_confs.yml 调用 |
新版应由 paperBotV2/conf_summary/convert_to_md.py 和 update_readme_papers.py 替代 |
update.py |
解析 Issue 中的会议参数,触发 crawler.py、citer.py |
update_confs.yml 调用 |
需要迁移到 paperBotV2/conf_summary 入口 |
maintain.py |
早期行业实践 Issue 解析、更新 source.xlsx/README、飞书通知 |
未被当前工作流调用 | 被 paperBotV2/industry_practice/maintain.py 替代 |
translate.py |
DeepSeek/Caiyun 翻译客户端 | 顶层旧 arxiv.py、conf.py 使用 |
可迁移为公共工具,或限定为 legacy 依赖 |
PaperBotV2 模块盘点
`paperBotV2/arxiv_daily`
arxiv.py 是新版 arXiv 主处理入口。它从环境变量读取 TARGET_CATEGORYS、MAX_PAPERS、ROUGH_SCORE_THRESHOLD、RETURN_PAPERS、DEEPSEEK_API_KEY 和 FEISHU_URL,按分类查询 arXiv API,使用 DeepSeek 做粗排和精排,并将结果写入 paperBotV2/arxiv_daily/data/YYYYMMDD.json 与 paperBotV2/arxiv_daily/data/results.json。
generate_arxiv_html.py 读取 JSON 数据和静态模板,生成日级 HTML 与索引页面,输出到 paperBotV2/arxiv_daily/output/。输出目录含 static/、模板、样式与历史日级页面,是 GitHub Pages 发布源。
arxiv_feishu_msg.py 从 data/ 中选择最新日级 JSON,校验日期为当天后,根据精排分数选取论文并发送飞书消息。它将“数据处理/网页生成”和“消息发送”拆成两个自动化阶段,避免页面未部署时提前推送。
prompts.py 保存粗排和精排提示词,是新版筛选逻辑的核心配置文件。
`paperBotV2/conf_summary`
crawler.py 从 DBLP 按会议和年份抓取论文列表,当前字段更贴近推荐展示:论文名、链接、作者、摘要、作者机构、标题翻译、推荐分和推荐理由。相比顶层 crawler.py,新版支持 nips/neurips 路径、重试、随机延迟和更丰富的会议范围。
get_free_abstract.py 面向 ACL/NAACL/EMNLP/ICLR 等开放页面补全摘要,支持按会议模式和数量限制筛选空摘要论文,是对旧 conf.py 中通过私有 CONF_URL 补摘要方式的替代方向。
convert_to_md.py 将 data/results.json 转成 data/papers/<conf>/<conf><year>.md,生成包含序号、标题、推荐理由、推荐度、摘要、作者、组织的 Markdown 表格,并对部分会议摘要做动态截断,控制文件大小。
update_readme_papers.py 扫描 data/papers/,重建 README 的顶会论文矩阵。README 当前顶会链接已经指向该目录,说明展示层已向 paperBotV2 靠拢。
`paperBotV2/industry_practice`
maintain.py 是当前行业实践 Issue 入口。它解析 Issue 文章元数据,更新 data/article.json 和 data/article.csv,向 README 的行业实践表插入新文章,发送飞书通知,并调用 generate_industry_html.py 刷新网页。
generate_industry_html.py 读取 data/article.json,转换中英文键名,按日期倒序排序,生成公司和标签筛选数据,再基于 Jinja2 模板输出 paperBotV2/industry_practice/output/index.html。该输出目录被 update_content.yml 部署到 GitHub Pages 的 industry_practice/。
data/ 是结构化文章数据源,output/ 是网页产物。相比顶层 maintain.py 依赖 source.xlsx,新版更适合自动化和网页化。
GitHub Actions 调用关系
| 工作流 | 触发方式 | 当前调用 | 新旧归属 | 影响 |
|---|---|---|---|---|
arxiv_daily_full.yml |
schedule 每天 UTC 4:00、手动 | python -m paperBotV2.arxiv_daily.arxiv,随后 cd paperBotV2/arxiv_daily && python generate_arxiv_html.py,提交并部署 Pages |
新版主线 | 当前 arXiv 日常处理和网页发布的实际主入口 |
arxiv_feishu_msg.yml |
arxiv_daily_full 成功后、手动 |
cd paperBotV2/arxiv_daily && python arxiv_feishu_msg.py |
新版主线 | 当前 arXiv 飞书通知的实际主入口 |
update_content.yml |
Issue 标记 require to update content、手动 |
python paperBotV2/industry_practice/maintain.py --issue ...,再部署 paperBotV2/industry_practice/output |
新版主线 | 当前行业实践更新入口 |
legacy/workflows/push_arxiv_daily.yml |
已归档,不在 .github/workflows/ 中触发 |
python -m paperBotV2.arxiv_daily.arxiv,TARGET_CATEGORYS=cs.IR |
legacy 归档 | 原旧 arXiv IR 手动入口已移出线上 workflow 目录 |
legacy/workflows/push_arxiv_daily_cl.yml |
已归档,不在 .github/workflows/ 中触发 |
python -m paperBotV2.arxiv_daily.arxiv,TARGET_CATEGORYS=cs.CL |
legacy 归档 | 原旧 arXiv CL 手动入口已移出线上 workflow 目录 |
push_conf_daily.yml |
手动;schedule 已注释 | python legacy/conf.py,随后运行 paperBotV2/conf_summary/convert_to_md.py 与 update_readme_papers.py |
混合兼容 | 暂保留旧飞书日推能力,但不再运行 legacy/render.py 回写 README |
update_confs.yml |
Issue 标记 require to update confs、手动 |
python paperBotV2/conf_summary/update_from_issue.py --issue ...,随后转换 Markdown 并更新 README |
新版主线 | Issue 触发的顶会新增/更新流程已迁入 paperBotV2/conf_summary |
自动化证据表明:arXiv 日常计划任务、arXiv 飞书后置通知、行业实践 Pages 部署和顶会 Issue 更新已经是 paperBotV2 路径;旧 arXiv 手动工作流已归档到 legacy/workflows/,不再作为线上可触发 workflow。会议日推送 push_conf_daily.yml 仍保留 legacy/conf.py 兼容调用,是后续需要补齐新版飞书日推能力后再完全迁移的遗留入口。
新旧代码关系
arXiv 路径
旧 arxiv.py 以单分类查询、摘要翻译、飞书推送为中心,数据缓存写入顶层 arxiv.json。两个旧手动 workflow 已归档到 legacy/workflows/,不再位于 .github/workflows/ 线上触发目录;当前线上 arXiv 主入口保留 arxiv_daily_full.yml 和 arxiv_feishu_msg.yml。
新版 paperBotV2/arxiv_daily/arxiv.py 支持 cs.IR,cs.CL,cs.CV 等多分类,使用 DeepSeek 对论文做相关性粗排和摘要精排,输出日级 JSON 和全量 JSON,再由 generate_arxiv_html.py 发布页面,由 arxiv_feishu_msg.py 发送消息。它是当前自动日更和页面发布的实际生效路径。
结论:旧 arXiv 脚本属于兼容遗留代码,已以原始内容归档到 legacy/,README 标注当前主线。后续可在确认无人工依赖后删除归档副本。
会议论文路径
旧会议路径由 legacy/update.py、legacy/crawler.py、legacy/citer.py、legacy/conf.py、legacy/render.py 和顶层 results.json/papers/ 组成,侧重 DBLP 抓取、Crossref 引用数、私有摘要接口和 README 表格更新。Task 3 后,update_confs.yml 已迁入 paperBotV2/conf_summary;push_conf_daily.yml 暂保留 legacy/conf.py 用于旧飞书日推兼容,但不再调用会重写 README 的 legacy/render.py。
新版 paperBotV2/conf_summary 已具备 DBLP 抓取、开放摘要补全、Markdown 转换和 README 表格更新能力,README 顶会链接也已转向 paperBotV2/conf_summary/data/papers/。
结论:会议模块处于“Issue 更新和展示产物已迁入 paperBotV2,日推通知仍保留旧兼容脚本”的过渡态。下一步应补齐 paperBotV2/conf_summary 的飞书日推替代能力,再移除 push_conf_daily.yml 对 legacy/conf.py 的依赖。
行业实践路径
旧 legacy/maintain.py 依赖 source.xlsx,直接插入 README 表格并推送飞书。当前工作流没有调用该归档脚本。
新版 paperBotV2/industry_practice/maintain.py 以 article.json/article.csv 为结构化数据源,仍更新 README,同时生成 HTML 页面并部署 Pages。update_content.yml 已调用新版入口。
结论:行业实践模块已基本迁移完成,legacy/maintain.py 与 source.xlsx 可作为历史数据和回滚资产暂存,后续确认后删除归档副本或归档旧数据。
当前实际生效路径
当前应按以下路径理解仓库主线:
- arXiv 日常任务:
arxiv_daily_full.yml调用paperBotV2/arxiv_daily/arxiv.py生成 JSON,再调用paperBotV2/arxiv_daily/generate_arxiv_html.py生成页面并部署。 - arXiv 飞书通知:
arxiv_feishu_msg.yml在arxiv_daily_full成功后调用paperBotV2/arxiv_daily/arxiv_feishu_msg.py。 - 行业实践更新:
update_content.yml调用paperBotV2/industry_practice/maintain.py,该脚本会更新数据、README、飞书消息和 HTML 页面。 - 顶会展示:README 链接已指向
paperBotV2/conf_summary/data/papers/,说明展示产物以paperBotV2为准。 - 顶会更新入口:
update_confs.yml已调用paperBotV2/conf_summary/update_from_issue.py、convert_to_md.py和update_readme_papers.py;push_conf_daily.yml暂时保留legacy/conf.py作为旧飞书日推兼容入口,但输出转换和 README 更新已使用paperBotV2/conf_summary。
遗留风险
| 风险 | 影响 | 建议 |
|---|---|---|
| 旧 arXiv 工作流归档后仍存在历史文件 | 维护者可能误以为 legacy/workflows/ 内文件仍会在线触发 |
旧文件已移出 .github/workflows/,GitHub Actions 不会识别为线上 workflow |
push_conf_daily.yml 仍调用 legacy/conf.py |
会议日推送仍可能写入顶层 results.json,与新版会议数据分叉 |
补齐 paperBotV2/conf_summary 飞书日推能力后再替换 legacy/conf.py |
legacy/render.py 会重写 README 顶会区块 |
手工运行旧脚本可能覆盖 paperBotV2/conf_summary 生成的链接结构 |
工作流已停止调用 legacy/render.py,改用 update_readme_papers.py |
| 多套数据源并存 | source.xlsx、article.json、arxiv.json、多个 results.json 容易混淆 |
建立数据源归属表,保留一套 canonical 数据 |
工作流提交条件中存在旧式 set-output 和 shell 细节 |
后续 GitHub Actions 兼容性和可维护性较差 | 重构时同步升级为 $GITHUB_OUTPUT 并修正 shell 判断 |
| 脚本相对路径不一致 | 从仓库根或子目录运行时输出位置不同 | 为每个入口统一基于 __file__ 的路径解析 |
重构升级方案
代码分类
| 类别 | 范围 | 处理策略 |
|---|---|---|
| 保留主线 | paperBotV2/arxiv_daily/、paperBotV2/industry_practice/、paperBotV2/conf_summary/、requirements.txt |
作为唯一演进方向,补充入口文档和验证脚本 |
| 迁移入口 | update_confs.yml、push_conf_daily.yml、旧 arXiv 手动 workflow |
已将旧 arXiv workflow 归档到 legacy/workflows/;其余入口改为调用 paperBotV2 下模块,或改造成兼容 wrapper |
| 归档数据 | 顶层 arxiv.json、results.json、papers/、source.xlsx |
先冻结,确认无工作流写入后移到 legacy/ 或文档注明只读 |
| 删除候选 | 顶层 arxiv.py、conf.py、crawler.py、citer.py、render.py、update.py、maintain.py、translate.py |
迁移完成且连续多轮自动化验证通过后删除 |
| 内容资产 | 搜广推优质博主文章.md、搜广推算法系列串讲.md |
保留,必要时迁入 docs/ 或 paperBotV2/industry_practice 内容目录 |
分阶段计划
第一阶段:文档与冻结。
将顶层旧脚本以原始内容移动到 legacy/,补充 README 或 docs/ 入口说明,明确 paperBotV2 是主线。禁止新功能继续写入顶层 arxiv.json、results.json 和 papers/。将旧手动工作流名称或描述改为 deprecated,避免误触发。
第二阶段:迁移会议自动化。
update_confs.yml 已迁移为 paperBotV2/conf_summary/update_from_issue.py、convert_to_md.py 和 update_readme_papers.py 链路,输出保持在 paperBotV2/conf_summary/data/。push_conf_daily.yml 暂时保留 legacy/conf.py 用于日推兼容,但已改用 paperBotV2/conf_summary 生成 Markdown 和 README,避免链接回退到顶层 papers/。
第三阶段:统一 arXiv 与行业实践入口。
push_arxiv_daily.yml、push_arxiv_daily_cl.yml 已移出 .github/workflows/ 并归档到 legacy/workflows/。线上 arXiv 入口仅保留 arxiv_daily_full.yml 和 arxiv_feishu_msg.yml;行业实践继续以 paperBotV2/industry_practice/maintain.py 为主入口。
第四阶段:数据归档与兼容窗口。
对顶层历史数据做一次只读归档,记录最新迁移日期、数据来源和是否仍被 README 引用。保留一个发布周期的回滚分支或 tag,确认 Pages、README 和飞书无异常后移除旧脚本。
第五阶段:清理依赖和质量提升。
统一 Python 包结构,补齐 paperBotV2 根包初始化,抽取通用飞书发送、日期处理、文件路径和 LLM 客户端。升级 GitHub Actions 的 checkout/setup-python 版本,替换废弃的 ::set-output。
验证清单
| 场景 | 验证命令或方式 | 期望结果 |
|---|---|---|
| arXiv 数据处理 | 手动运行 arxiv_daily_full.yml 或本地以测试环境变量执行 python -m paperBotV2.arxiv_daily.arxiv |
paperBotV2/arxiv_daily/data/YYYYMMDD.json 与 results.json 更新 |
| arXiv 页面生成 | 在 paperBotV2/arxiv_daily 下运行 python generate_arxiv_html.py |
output/ 下生成最新 arxiv_YYYYMMDD.html 和索引页 |
| arXiv 飞书消息 | 手动运行 arxiv_feishu_msg.yml,使用测试 webhook |
仅在最新 JSON 日期为当天时发送,不重复发送旧数据 |
| 行业实践更新 | 使用测试 Issue body 调用 python paperBotV2/industry_practice/maintain.py --issue ... |
article.json、article.csv、README 和 output/index.html 更新 |
| 顶会 Markdown | 在 paperBotV2/conf_summary 下运行转换脚本 |
data/papers/<conf>/<conf><year>.md 生成且 README 链接稳定 |
| README 稳定性 | 对迁移前后 README diff 做人工审查 | 顶会表、行业实践表不被旧格式覆盖 |
| Pages 发布 | 检查 peaceiris/actions-gh-pages 发布目录 |
arxiv_daily/ 与 industry_practice/ 页面可访问 |
Task 5 最小化验证记录
验证日期:2026-05-28。本次只做本地静态检查、依赖安装后的导入/编译检查和空密钥分支验证,未使用真实 webhook 或生产密钥,未触发 GitHub Actions、Pages 发布、arXiv/DeepSeek 线上抓取或飞书真实发送。
| 检查项 | 命令 | 结果 |
|---|---|---|
| 本地解释器确认 | python - <<'PY' ... |
失败,zsh:1: command not found: python;本机仅使用 python3 继续验证 |
| YAML 语法 | python3 - <<'PY' ... yaml.safe_load(.github/workflows/*.yml) ... PY |
原验证通过;归档旧 arXiv workflow 后需重新验证线上 .github/workflows/ 剩余 5 个 YAML |
| 旧脚本引用 | python3 - <<'PY' ... scan python arxiv.py/conf.py/update.py/crawler.py ... PY |
通过:旧脚本已归档到 legacy/,当前仅保留 .github/workflows/push_conf_daily.yml -> python legacy/conf.py 的兼容调用 |
| 输出路径 | python3 - <<'PY' ... check paperBotV2/... output/data paths ... PY |
通过,paperBotV2/arxiv_daily/output、paperBotV2/industry_practice/output、paperBotV2/conf_summary/data/papers 均存在引用,README 未回退到顶层 papers/ 链接 |
| 依赖准备 | python3 -m pip install -r requirements.txt |
通过,按 requirements.txt 安装到用户 site-packages;pip 提示脚本目录不在 PATH,不影响本次 Python 模块验证 |
| Python 编译 | python3 -m py_compile paperBotV2/arxiv_daily/arxiv.py paperBotV2/arxiv_daily/arxiv_feishu_msg.py paperBotV2/arxiv_daily/generate_arxiv_html.py paperBotV2/industry_practice/maintain.py paperBotV2/conf_summary/update_from_issue.py paperBotV2/conf_summary/update_readme_papers.py paperBotV2/conf_summary/convert_to_md.py |
通过,无语法错误 |
| Python 导入 | python3 - <<'PY' ... importlib.import_module(...) ... PY |
通过,paperBotV2.arxiv_daily.arxiv、arxiv_feishu_msg、generate_arxiv_html、industry_practice.maintain、conf_summary.update_readme_papers 均可导入 |
| 入口帮助与空密钥分支 | python3 paperBotV2/industry_practice/maintain.py --help && python3 paperBotV2/conf_summary/update_from_issue.py --help && python3 - <<'PY' ... call_deepseek_api('', api_key=''); send_papers_to_feishu([], feishu_urls=[]) ... PY |
通过,两个 CLI 帮助可运行;空 API key 返回错误提示且不请求 DeepSeek,空 webhook 列表打印跳过发送 |
残余风险:
push_conf_daily.yml仍保留对legacy/conf.py的兼容调用,虽然后续 Markdown/README 已转向paperBotV2/conf_summary,但日推入口仍可能写入顶层会议中间数据。- 本次未真实运行 GitHub Actions、Pages 发布、arXiv 抓取、DeepSeek 调用或飞书 webhook,仅覆盖静态和最小化本地分支。
- 本地为 Python 3.9,workflow 配置为 Python 3.8;依赖安装和导入在本机通过,但仍建议在 CI 的 Python 3.8 环境复核。
- 导入时出现
urllib3关于 LibreSSL 的NotOpenSSLWarning,未阻断验证,但线上运行环境如升级 urllib3/OpenSSL 仍需关注。 paperBotV2/conf_summary/convert_to_md.py含顶层文件读取/写入逻辑,本次仅做py_compile,未在真实data/results.json输入上执行转换。
Legacy 目录归档调整记录
按“冻结旧脚本不用改动源文件,直接放进 legacy/ 文件夹”的要求,已撤销脚本头部 LEGACY NOTICE 方案,改为将 8 个旧脚本以 HEAD 中原始内容归档到 legacy/:arxiv.py、conf.py、crawler.py、citer.py、render.py、update.py、maintain.py、translate.py。顶层同名脚本已移除,push_conf_daily.yml 的兼容调用改为 python legacy/conf.py。
补充验证结果:missing_legacy=[]、still_top=[]、legacy_notice=[];7 个 workflow YAML 均可解析;legacy/conf.py、legacy/translate.py、paperBotV2/conf_summary/update_from_issue.py 均通过 py_compile。
Legacy Workflow 归档调整记录
按“已有 arxiv_daily_full.yml,其他 arXiv workflow 也变成 legacy”的要求,已将 .github/workflows/push_arxiv_daily.yml 与 .github/workflows/push_arxiv_daily_cl.yml 移动到 legacy/workflows/。线上 .github/workflows/ 中当前仅保留两个 arXiv 相关 workflow:arxiv_daily_full.yml 和 arxiv_feishu_msg.yml。
补充验证结果:active_arxiv_workflows=['arxiv_daily_full.yml', 'arxiv_feishu_msg.yml'];legacy_workflows=['push_arxiv_daily.yml', 'push_arxiv_daily_cl.yml'];线上 5 个 workflow YAML 与 legacy 下 2 个归档 YAML 均可解析。
全量命令复测记录
按“所有改动都测试跑一次,包括之前老的 YAML 命令”的要求,已完成无线上副作用复测:
- 当前
.github/workflows/下 5 个 workflow 和legacy/workflows/下 2 个归档 workflow 均通过 YAML 解析。 - 所有项目 Python 脚本均通过
py_compile,共 22 个脚本。 python -m paperBotV2.arxiv_daily.arxiv使用MAX_PAPERS=0、空DEEPSEEK_API_KEY、空FEISHU_URL完成 smoke test;未写入新 JSON。paperBotV2/arxiv_daily/generate_arxiv_html.py可执行;测试生成的 HTML 时间戳副作用已恢复。paperBotV2/arxiv_daily/arxiv_feishu_msg.py在无 webhook 且最新数据非当天时正确退出,未发送飞书。paperBotV2/conf_summary/conf_daily.py使用临时 results JSON 和DRY_RUN=true通过,不请求CONF_URL、不写生产数据、不发送飞书。paperBotV2/conf_summary/convert_to_md.py使用临时有效 results JSON 通过,并生成测试 Markdown。paperBotV2/conf_summary/update_from_issue.py --help通过。paperBotV2/industry_practice/maintain.py的 issue parser 通过,generate_industry_html.py可执行;测试生成的 HTML 时间戳副作用已恢复。git diff --check通过,GetDiagnostics无诊断问题。
本机环境没有 git-lfs,因此 paperBotV2/conf_summary/data/results.json 在本地仍是 LFS pointer,不能直接对真实大文件运行 convert_to_md.py。已在所有 active workflow 的 actions/checkout 中设置 lfs: true,确保 GitHub Actions 环境拉取真实 LFS 内容后再执行会议链路。
后续实施建议
后续优先处理 push_conf_daily.yml 对 legacy/conf.py 的兼容依赖,因为它仍可能写入顶层会议数据。旧 arXiv 手动 workflow 已归档,update_confs.yml 已转向 paperBotV2,下一阶段应补齐真实 CI 验证记录,再归档旧数据,避免在自动化入口尚未完全替换前破坏回滚能力。
每次迁移只改一个自动化入口,并在 PR 中附上运行日志、关键产物 diff 和 README 链接检查结果。若需要保留人工兼容入口,建议将旧脚本改成薄 wrapper,只打印迁移提示并转调 paperBotV2,而不是继续维护两套逻辑。
--- METRICS ---
- Files Extracted: 4
- Estimated Token Budget: ~48541 tokens
- Canonical Reference: https://codewiki.google/github.com/Doragd/Algorithm-Practice-in-Industry