写点什么

专访头条搜索:从推荐到搜索,如何构建搜索技术的另一种可能?

  • 2020-05-08
  • 本文字数:3231 字

    阅读完需:约 11 分钟

专访头条搜索:从推荐到搜索,如何构建搜索技术的另一种可能?

今日头条又将搜索业务往前推进了一步。4 月 30 日,今日头条宣布上线“头条百科”测试版。界面简洁,除了搜索框外,只有一个 Slogan:来这里,认识世界!


这是头条搜索继 2019 年 8 月推出头条搜索网页版,2020 年 2 月上架头条搜索 APP 之后的新动作。仅经过一年多的发展,尽管没有大肆宣传,头条搜索也吸引了不少用户的注意,在用户体验方面也获得了用户的肯定。


关于头条搜索的相关技术,在外界极少量的资料中,我们看到朱文佳在他的演讲中提到:“我们建立了一套业界独有的搜索技术架构,我们从推荐引擎上探索出机器学习的方案,然后把这套技术架构和底层算法迁移到搜索引擎上,发现效果也很好。“


实际上,今日头条于 2017 年才开始组建搜索技术团队,头条搜索如何在这么短的时间里,做到这种效果?他们的搜索引擎到底与传统引擎有何不同?头条搜索是否打造出自己“理想的搜索中台架构”?


为此,InfoQ 独家采访了今日头条搜索技术部门,这也是头条搜索技术团队第一次接受外界采访。

从推荐到搜索

从 2012 年开始,今日头条开始做推荐引擎。而到了 2016 年,在资讯信息分发市场上,有 50%的内容分发是通过算法来完成的。


智能推荐引擎通过算法,综合用户特征、文章特征、环境特征,得出用户对内容感兴趣的概率,返回 TopN 的结果满足用户的需求。今日头条从无到有搭起平台,随着大数据技术的发展,在 2014 年及时引入实时流架构,用户的行为信息可以被模型快速捕捉并反馈至下一次刷新的推荐效果。


从成立开始,这家企业就开始大量招募擅长机器学习、推荐算法的技术人才。当时互联网还正处于招移动端、iOS 技术人员的阶段,有猎头评价:“很多人认为他们疯掉了”。


实际上,这些人才为推荐系统底层算法打下了基础。


随后,今日头条在构建搜索系统架构时,将从推荐引擎上探索出的技术架构和底层算法迁移到搜索引擎上。“发现效果也很好。”今日头条 CEO 朱文佳在演讲中说。


头条搜索技术团队负责人在采访里表示:“推荐和搜索有一些相通的地方,背后都要有 AI 来理解用户的需求和内容,理解的越清楚,就越能帮助到用户。像大规模机器学习、深度学习、实时更新等推荐上成功应用的方法,都是建模用户、内容的有效方法。所以将这些技术应用到搜索上,也会取得不错的效果。”


实时更新也是传统搜索引擎的短板。最近几年随着 Storm、Spark streaming、Flink 等框架的成熟,实时流处理才能成为各公司 AI 平台的标配。


现在实时架构同样也被引入到头条搜索的搜索引擎里。“基于新闻推荐时效性的理解和经验,我们在搜索上也研发了全量实时更新的百亿倒排索引架构,大幅提升了内容的时效性,大事件发生时,往往最先能在头条搜索到。”头条搜索技术团队负责人表示。


即便如此,推荐与搜索还是存在不少差异。头条搜索技术团队负责人在采访中指出:“搜索要解决好长尾问题,不能过度依赖用户的行为反馈去理解特定的查询词、网页,而是需要寻找更泛化的方法。为了让通用技术发挥优势,也需要把搜索上特有的问题理解得更加充分,例如怎么做好对多语言的理解,怎么在万亿网页的检索系统中权衡好 Explore/Exploit,怎么在性能要求苛刻的场景中应用好复杂模型等等。另一方面,在推荐上目前不一定那么有效的方法,在搜索上却有可能大展拳脚,例如强化学习、迁移学习。整体来看,搜索系统复杂多样,对技术的广度、深度有非常高的要求,发挥的空间也更大。”

新技术应用

很多新技术还没有被充分用到搜索引擎里去。”


作为全球最大的搜索引擎公司,Google 也是我们公认的大数据鼻祖,它存储着全世界几乎所有可访问的网页,数目可能超过十万亿规模。为了将这些文件存储并使用起来,Google 开发了 GFS、Bigtable 和 MapReduce 三驾马车。从此大数据得以繁荣发展,行业里也产生了数百万大数据从业需求。随着数据采集、存储、计算能力的提升,进一步开启了“AI 时代”。


搜索引擎的进化史,就是人工智能技术的进化史。今天,无论是搜索、还是信息流,所用的技术完全都是人工智能技术,包括谷歌在内的搜索引擎厂商,都在不断将人工智能新技术应用到搜索引擎中。


头条搜索在新技术应用上,也做了很多大胆的尝试。


例如,BERT 是 2018 年时 Google 在 NLP 上的一个重要突破,2019 年 10 月,Google 宣布将 BERT 算法应用到搜索引擎中,搜索结果得到了 10%的提升。Google 宣称这是 Google 搜索引擎过去五年中最大、最正向的变化,而且也许是有史以来最大的变化。


但 Google 并不是第一家将 BERT 应用在搜索引擎里的,头条搜索技术团队负责人在采访中提到:“早在 2019 年初,头条搜索就已经将 BERT 在头条搜索上全流量应用,并且获得了显著的效果提升。上线得比 Google 更早,依靠的是大家大胆创新和快速迭代。”


此外,头条搜索技术团队负责人也认为,AI 技术能够更好的对问题进行端到端建模,例如网页内容的理解,传统方法会对这一问题进行不断细分,基于 HTML 结构等信息,对不同的子任务应用不同的规则,反复迭代来提升效果。而利用 AI 技术,头条搜索将网页渲染成图片,联合视觉、文本、HTML 结构等特征,对相似任务进行统一的端到端建模和多任务学习,大幅提高了分类、信息抽取的效果和效率。


头条搜索技术团队负责人表示,头条搜索技术团队也在继续借助 AI 探索更多的搜索引擎技术问题,例如多模态技术是否可端到端地搜索出更相关的图片、小视频;抓取、索引构建系统有没有可能基于模型重新设计;强化学习是否能让搜索排序更加智能并节约计算成本等等。

搜索的另一种可能

如果有这么一个可能,就是让老牌搜索引擎厂商在发展二十年后重做搜索系统,那么新的搜索系统会有什么不同?


搜索引擎是极其复杂的大工程,它通常都要将整个系统分解为若干子系统,比如会分解为链接发现、索引筛选、Query 理解、Ranking 等步骤。每一步骤内部又会进一步分解,这个过程可以无限分解下去,由不同的人和团队分工解决。但这个过程有个致命缺点,在每一步的分解过程中都会有信息损失,最后联合起来导致整个系统不能达到最优状态,比如 A 步骤精度 90%、B 步骤精度 90%、对接起来最终系统精度可能只有 80%。


这种精分细解,是传统搜索引擎受限于当时的技术手段,为了有效开展工作、更好地提升产品效果采取的技术决策,这在当时是非常正确的。“但精度不足,也限制了传统搜索引擎进一步提升效果。”在谈到传统搜索引擎的缺陷时,头条搜索技术团队负责人提到。


现在做搜索引擎,头条搜索技术团队负责人告诉 InfoQ,头条搜索技术团队主要有三个优势:


第一,会更大胆地探索 AI 技术。相对传统搜索引擎的局限,今日头条倾向于对系统有限分解,重度使用前沿 AI 技术进行端到端的问题建模,系统性降低效果损失。


第二,没有历史的包袱,才有机会去重新审视一个合理的搜索引擎架构应该如何设计、如何避免走弯路、容纳新技术,并且有足够高的研发效率。头条在短时间就让搜索效果进入第一梯队,合理的架构发挥了很大的作用。


头条搜索还组建了专门的工程架构团队,专注于分布式系统、机器学习系统的构建和性能优化。一些深入到内存、SSD、Disk 甚至一些新硬件的优化,或一些对倒排索引压缩、召回等算法的底层优化,大幅降低了硬件成本,提升了搜索速度和稳定性。


第三,优秀的团队和合理系统设计保证了“迭代效率”。头条搜索技术团队的目标是建设一个服务于全公司的搜索技术中台,在对标谷歌做一流全网搜索引擎的同时,也全力提升抖音、西瓜等产品的搜索体验。虽然现在头条搜索技术团队人数不到 200 人,却聚集了很多 Google、百度、360、Bing 这些老牌搜索公司的核心技术骨干,同时还有不少今日头条原推荐、广告、AI Lab 团队的核心成员,以及一批非常优秀的校招生,他们近 30%来自于清华北大。


为了保证“迭代效率”,头条搜索目前每周都会对线上进行数十次的优化更新,一些从其他搜索引擎公司加入头条搜索技术团队的同学表示,以前需要半年以上时间上线的项目,在头条搜索只需要几周。当然,快速的迭代也更容易犯错,头条搜索也设计了更多的稳定性机制,提前避免出错并大幅降低错误的影响,让问题可控,也让团队敢放开手脚。


2020-05-08 18:253889

评论

发布
暂无评论
发现更多内容

一个Hibernate的事务问题

YoungZY

hibernate

Java源码系列2——HashMap

超超不会飞

Java

【FastDFS】SpringBoot整合FastDFS实战,我只看这一篇!!

冰河

springboot fastdfs

架构师训练营第三周作业

邓昀垚

极客大学架构师训练营

CSS语法与规则 — 重学CSS

三钻

CSS 大前端

传统网络缺失货币层,比特币是否能担此大任?

blockchain

比特币 区块链 数字货币 比特币数字货币 区块俩金融

鲲鹏播种于时代,花开五色中原

脑极体

Java源码系列3——LinkedHashMap

超超不会飞

Java

架构师训练营第 1 期第 3 周学习总结

好吃不贵

极客大学架构师训练营

FastDFS 分布式文件系统详解

哈喽沃德先生

文件系统 分布式文件存储 fastdfs 分布式文件

Smartisan

Changing Lin

摄影

在 InfoQ 兼职做运营

邓瑞恒Ryan

创业 用户增长 创业心态 运营 产品运营

Nexmark: 如何设计一个流计算基准测试?

Apache Flink

flink

c++杂谈4

菜鸟小sailor 🐕

【架构笔记之设计模式】架构师训练营第1期第3周

业哥

极客大学架构师训练营

我一定是熬夜熬傻了,小程序后台获取用户信息居然发生了这件事

小Q

Java 小程序 学习 编程 架构

用go语言实现快排

Sean

算法 快速排序 Go 语言

高中生写LOL外挂1年狂赚五百万,落网前刚买下120万保时捷

Java架构师迁哥

架构师训练营第1期第3周作业

业哥

极客大学架构师训练营

经常使用的数据结构

hasWhere

码住!Flink Contributor 速成指南

Apache Flink

flink 开源社区

智能体的奇幻漂流之“成都折叠”篇

脑极体

Greenplum 性能优化之路 --(三)ANALYZE

腾讯云大数据

大数据 数据仓库

优秀组织的5大表现

凌晞

团队管理 团队组织 组织

一个好系统自我完善自我进化的方法

boshi

产品思维 系统工程 即时反馈 生态体系

Dromara团队发布Hmily全新架构的2.1.1版本

猫大人

分布式事务 分布式柔性事务‘’

烦人的Null,你可以走开点了

四猿外

Java 注解 空指针 Optional null

基于 Flink + Hive 构建流批一体准实时数仓

Apache Flink

flink

2020互联网公司中秋礼盒大比拼!(文末送福利)

Java架构师迁哥

Greenplum 性能优化之路 --(二)存储格式

腾讯云大数据

大数据

Java源码系列4——HashMap扩容时究竟对链表和红黑树做了什么?

超超不会飞

Java

专访头条搜索:从推荐到搜索,如何构建搜索技术的另一种可能?_AI&大模型_Tina_InfoQ精选文章