向量检索:提供智能匹配能力
随着广告业务的演化,目前很多平台提供了一种新的广告投放模式:不是由广告主设置广告定向,而是由广告引擎在保证广告效果的前提下,自己决定如何召回广告。在这种情况下,广告引擎就可以摆脱标签的限制,使用向量来表示和检索,也就可以更精准地挖掘出合适的广告了。为什么要摆脱标签的限制呢?
我们来看个例子,在之前的标签系统中,当广告主想将广告投放给「喜欢篮球的人」时,如果一个用户身上的标签只有「喜欢运动」,那这个广告是不会投放给这个用户的。但如果广告主不进行广告定向限定,而是由广告引擎来决定如何召回广告,那广告引擎是可以针对「喜欢运动」的人投放这条广告的。
具体是怎么做的呢?我们可以将广告设置和用户兴趣都表示为高维空间的向量,这样,原来的每个标签就都是向量的一个维度了。然后我们使用最近邻检索技术,找到最近的点就可以返回结果了。这样的设计,本质上是使用机器的智能定向设置,代替了广告主手动的定向设置,从而大幅提升了广告设置的效率和效果。
不过,在我们使用向量检索来代替标签检索之后,系统的性能压力也会更大,因此,为了保证广告引擎能在 0.1 秒内返回广告检索结果,我们需要对向量检索进行加速操作。这时,我们可以使用第 16 讲中「聚类 + 倒排索引 + 乘积量化」的实现方案,来搭建广告引擎的向量检索系统,从而提高向量检索的检索效率。