重要提示 | 视频资料无加密【常用视频格式(AVI、MP4等),手机电脑均可观看】 | | |
从实战出发更好的理解与运用向量,帮助运营解决诸多问题
[写在前面]很多淘系运营开始接受向量召回,但是感觉很难理解,让我能不能通俗一点讲讲向量。
有同学反应只从听到这个词也学习了不少,这个词本身就包含空间向量上几何的东西,还有很多离线、在线算法,实时模型搞得云里雾里。
向量是什么?如何影响搜索,作为运营如何从实战角度更好的利用向量,今天咱们就谈一下这个问题。
正文
向量是什么?向量是既有方向又有大小的量。
方向就是成交方向(背后就是精准语义需求)大小就是在这个成交方向上的点击量及点击行为数据。
向量召回是怎么回事,我给大家举几个例子。
在线上会员课中我就给大家举例一个例子,比如给你若干篇文档,找出这些文档中最相似的两篇文档?
相似性,可以用距离来衡量。而在数学上,可使用余弦来计算两个向量的距离。
余弦距离,也称为余弦相似度,是用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小的度量。
向量,是多维空间中有方向的线段,如果两个向量的方向一致,即夹角接近零,那么这两个向量就相近。而要确定两个向量方向是否一致,这就要用到余弦定理计算向量的夹角。
因此,用向量来表示文档,然后就可以用余弦来计算两篇文章之间的相似度了。
余弦定理描述了三角形中任何一个夹角和三个边的关系。给定三角形的三条边,可以使用余弦定理求出三角形各个角的角度。假定三角形的三条边为a,b和c,对应的三个角为A,B和C,那么角A的余弦为:
如果将三角形的两边b和c看成是两个向量,则上述公式等价于:(注:在三角形中 a = b - c, 将该式带入余弦定理,便可得出下面结论)
其中分母表示两个向量b和c的长度,分子表示两个向量的内积。
以余弦距离计算文本相似度为例,具体说明其计算过程:
余弦相似度算法:
一个向量空间中两个向量夹角间的余弦值作为衡量两个个体之间差异的大小,余弦值接近1,夹角趋于0,表明两个向量越相似,余弦值接近于0,夹角趋于90度,表明两个向量越不相似。
基本思路是:
如果这两句话的用词越相似,它们的内容就应该越相似。
因此,可以从词频入手,计算它们的相似程度。
第一步,分词
句子A:这只/皮靴/号码/大了。那只/号码/合适。
句子B:这只/皮靴/号码/不/小,那只/更/合适。
第二步,列出所有的词
这只,皮靴,号码,大了,那只,合适,不,小,很
第三步,计算词频
句子A:这只1,皮靴1,号码2,大了1。那只1,合适1,不0,小0,更0
句子B:这只1,皮靴1,号码1,大了0。那只1,合适1,不1,小1,更1
第四步,写出词频向量
句子A:(1,1,2,1,1,1,0,0,0)
句子B:(1,1,1,0,1,1,1,1,1)
到这里,问题就变成了如何计算这两个向量的相似程度。我们可以把它们想象成空间中的两条线段,都是从原点([0, 0, …])出发,指向不同的方向。两条线段之间形成一个夹角,如果夹角为0度,意味着方向相同、线段重合,这是表示两个向量代表的文本完全相等;如果夹角为90度,意味着形成直角,方向完全不相似;如果夹角为180度,意味着方向正好相反。因此,我们可以通过夹角的大小,来判断向量的相似程度。夹角越小,就代表越相似。
以二维空间为例,上图的a和b是两个向量,我们要计算它们的夹角θ。余弦定理告诉我们,可以用下面的公式求得:
计算两个句子向量
句子A:(1,1,2,1,1,1,0,0,0)
和句子B:(1,1,1,0,1,1,1,1,1)的向量余弦值来确定两个句子的相似度。
假定a向量是[x1, y1],b向量是[x2, y2],那么可以将余弦定理改写成下面的形式:
数学家已经证明,余弦的这种计算方法对n维向量也成立。假定A和B是两个n维向量,A是 [A1, A2, ..., An] ,B是 [B1, B2, ..., Bn] ,则A与B的夹角θ的余弦等于:
使用这个公式,我们就可以得到,句子A与句子B的夹角的余弦。
计算过程如下:
计算结果中夹角的余弦值为0.81非常接近于1,所以,上面的句子A和句子B是基本相似的。
余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性"。
这种是单一的向量召回方式
召回机制下的 粗排何尝不是这种算法呢。
上述就是向量的算法工作原理。
知道了工作原理,其实万物皆可向量。
无非就是取实数值的点不同。
实数值取的点不同,精准度就完全不一样了。
在举个例子:2018年我们讲过“图搜”
图搜的底层逻辑就是向量召回
大家都认同图片和标题一样镶嵌着商品“信息”
主图最原始的信息就是颜色CMKY和RGB 根据色彩面积占比取实数值进行向量召回,找相似的图片过程的过程就是最原始搜索机制。
通过向量召回,找到相似图片进行打标,反过来在去搜索就是一个带有精准标签的人群。
知道这点的,知道他当时的强大,不光是精准打标,还可以搜索任何大词都可以找到玩坑产。
在哪个玩大词坑产的时代,效果是杠杠的。
那么向量就是这样简单的吗?
当然不是,其实从分词的那一刻起,词向量召回就已经不精准了。
为什么那么说?
是因为分词破坏了 词与词之间的顺序关系,语义精准度丢失了。
向量召回真正解决的是语义精准度的问题。
解决好语义相识度和精准度问题,核心在于“大数据”
淘宝只所以值钱并不是他有多少商家而是他沉淀下来的消费者和商家的历史数据。
数据化运营的真谛是还原消费者真实的需求过程并深挖消费者“场景”需求。
针对于一个消费者并不是针对某个时间段了解你,而是从全购物链条和行为数据到身份识别加上长时间沉淀平台才真正“认识你,了解你”才会根据有效信息推荐给对的人。
这一点不是你模仿一下购物意图,特定一下身份属性符合的人群就可以做到。
更错误的理解:把关键词+购物需求+历史行为+特定身份属性结构 当做能做到语义相关和相识度、精准度的问题就大错特错了。
向量召回 是多维度的取实数值,来解决语义精准度的问题的。
召回机制:召回的是什么?
召回是基于具有相同精准购物意图的访客
召回是基于关键词背后的精准搜索意图
召回是基于用户行为数据分析出的“购物兴趣点”
召回是基于词向量文本相关性和上下文关系
向量是有长度的,向量中的每个元素是数值。
向量召回就是通过将上述基于元素取数值进行向量化表征来构建偏向于高效检索的索引。
背后都是基于精准的语义购物意图。
这就是向量,元素数值:
可以通过实时用户行为轨迹数据获得
可以通过历史用户行为数据获得
可以通过历史点击率数据获得
可以通过历史转化率获得
可以通过深度学习算法结合实时个性化标签数据获得
等等
所取的元素-数值,都有一个相同的特征就是可以进行向量化表征(Embedding成语义向量) 精准反应背后的精准需求意图(表明向量表征)
现在能理解向量了吗?
向量是一个N维向量,数学家已经证明,余弦的这种计算方法对n维向量也成立。
所以向量可以多维生成向量进行余弦相似度解决语义精准度的问题,多向量维度解决语义精准度的问题,并不是像上述举例那样单一向量维度那么简单,背后取的都是个人行为数据和行为轨迹数据的数值,这些本身就不是模仿来的,而是长期沉淀下的数据取值。
所以:解决向量的问题,从根本做起就是“不去破坏、尊重系统、顺势而为”。
从实战出发应该注意什么?
解决向量问题首先解决的就是入池
精准入池的方式无非就两种:
被动入池和主动入池
主动入池就是靠直通车布局好关键词和人群基础结构问题,通过产生的行为数据给商品“入池”。
主动入池:就是坑产倒逼搜索的力量,引蛇出洞、顺势而为;交给系统,系统给的行为数据给商品入池。
入池解决了就是布局向量的问题了。
谈到这向量就是布局影响真实成交的元素,从实战角度解决的就是:
1:关键词布局背后购物意图精准度和聚焦的问题
2:词系布局引导向量
3:直通车测试自定义人群测试好符合产品的基础属性人群结构和身份属性
4:三元组布局,优化分词组合结构,解决语义精准度
5:分层拿流量,单向入池,多向布局,多路召回
向量背后商品的行为数据越干净,价值越大。
模仿关键词(购物需求)+历史行为+特定身份属性结构的行为, 解决语义精准度的问题,数据本身就“假”,通过数据在产生的数据更假。
向量恰恰是一个通过数据再生产数据的过程,这就是根本原因所在,通过“刷”影响向量解决转化率的问题,看产品真实承受力和个人的数据处理能力。
所以优化语义精准度的思路是:只要精准语义权重不要行为数据,如果能悟透这句话就知道自己为什么刷“大词”守不住了。
语义优化还有很多方式比如语义向量词玩法等等,向量召回解决的就是语义相似度的问题,背后的精准度就看如何多维取实数形成多维向量。
现在的搜索基本围绕着语义召回。
从商品需求转化到场景需求,背后就是算法的强大,语义召回的精准。
更何况现在已经有了全面的语义网络和知识画谱语义知识数据库系统。
推荐流量会越来越精准,搜索作为种子会发挥更强大的作用。
|
|