<code id='r4fur'><strong id='r4fur'></strong></code>
  1. <fieldset id='r4fur'></fieldset>

    <i id='r4fur'><div id='r4fur'><ins id='r4fur'></ins></div></i>
      1. <tr id='r4fur'><strong id='r4fur'></strong><small id='r4fur'></small><button id='r4fur'></button><li id='r4fur'><noscript id='r4fur'><big id='r4fur'></big><dt id='r4fur'></dt></noscript></li></tr><ol id='r4fur'><table id='r4fur'><blockquote id='r4fur'><tbody id='r4fur'></tbody></blockquote></table></ol><u id='r4fur'></u><kbd id='r4fur'><kbd id='r4fur'></kbd></kbd>
        <acronym id='r4fur'><em id='r4fur'></em><td id='r4fur'><div id='r4fur'></div></td></acronym><address id='r4fur'><big id='r4fur'><big id='r4fur'></big><legend id='r4fur'></legend></big></address>
        <i id='r4fur'></i>
        <ins id='r4fur'></ins>

          <dl id='r4fur'></dl>

          <span id='r4fur'></span>

          我是怎么做搜索优化的? - 新媒体运营

          • 时间:
          • 浏览:17596

          对于内容型的产品来说  ,一款好的搜索功能  ,可以最大程度放大内容效益——吸引用户留下来  ,并促使进入流量到下一波的转化  。而笔者也以自己的搜索优化实践为例  ,说明了一系列的操作步骤  ,希望对你有所启发  。


          来交代下近况:来了**煮工作一年多了 ,在经历了半年app迭代功能规划工作之后我终于迎来了第一个高级功能——搜索优化 。

          (不是说其他功能不高级  ,只是搜索是对我来说全新的领域  ,跟以往负责的工作大不相同 ,所以称之为高级)

          01 背景

          我所负责的是APP的内容线的工作  ,核心工作围绕留存率展开 。

          在进行数据分析后发现留存率与用户收藏次数有关 ,收藏越多  ,留存率越高 。因此提高留存  ,就要提高收藏  。

          明确了留存的关键行为后  ,就该去探索用户发生关键行为的核心漏斗  。

          通过app的流量分析可以知道  ,大部分流量进入食谱详情页的路径是通过搜索  ,所以优化“搜索 → 浏览 → 收藏”这个路径  ,预测会得到最大的转化率  。(实际上也是的)

          02 过程

          首先需要确定搜索的流程  ,大致确定为三步:

          1. 搜索前:热搜词、历史搜索等
          2. 搜索时:关键词联想、自动纠错等
          3. 搜索后:无结果的推荐、有结果时的排序等

          这次挑搜索后的搜索结果排序来详细说说  。

          第一步:制定排序策略

          排序其实就是比大小  ,所以方法是给排序结果计算分值 ,根据不同的关键词  ,搜出来的结果都有自己的分值  ,只要比较大小就可以算出排序列表  。

          接下来就是如何计算的问题  ,也就是哪些因素会影响排序分值  ,请往下看:

          第二步:找参数

          搜索结果排序这个东西  ,我在做的时候查阅了很多资料  ,但大多数资料都比较偏向底层的技术细节 ,比如说关键词匹配规则  。

          好在市面上有比较成熟的解决方案来解决底层的搜索逻辑  ,我们产品只需要决定关键词匹配哪些内容  ,以及赋多少权重即可  。

          更为重要的是除了相关度这个因素之外  ,搜索结果的排序还受到哪些因素的影响  ,以及他们是如何影响排序的  。

          前文有说到  ,收藏行为是用户留存的关键行为  ,所以食谱的优质标准中最重要的指标也是收藏率(收藏次数/浏览次数)  ,因此收藏率会是搜索结果排序公式中的一项参数  。

          但是  ,如果只看收藏率也会有问题  ,比如当分子分母都非常小的时候  ,假如浏览次数是2 ,收藏次数是1  ,那收藏率就会有50%  ,这种极端情况出现 。

          为了减少这种极端  ,会加入另外一个参数  ,就是收藏次数 。

          于是到现在已经找好了三个参数:相关度、收藏次数、收藏率  。

          第三步:归一化

          定好了参数后  ,由于这些参数几乎不在一个数量级  ,无法直接放进公式计算 ,因此需要先明确他们的范围:相关度数量级大约在100以内;收藏次数非常大  ,约为好几万 ,且不可控;收藏率范围在0~1之间  。

          因此我们需要把三个参数归一 ,便于计算 。

          由于数学一般 ,当时能想到的方法有两个:一种是对数  ,一种是分数  。

          我来说下我的理解:拿“收藏次数”这个参数来看 ,如果用对数的话  ,可以有一个变量  ,log2^A  ,A是收藏次数  ,如果用这个公式来计算的话  ,2个收藏跟2000个收藏差别不大  ,但还是无法避免前文所说“收藏和浏览次数都很小  ,但收藏率极高”的问题  ,且范围只是在一定范围内可控  ,仍然不知道如何跟“收藏率”放在一起计算  。

          于是模仿了“收藏率”公式:收藏次数/浏览次数  ,收藏次数也按照这样归一:分子是当前食谱的收藏次数  ,分母是当前搜索结果中的最大收藏次数 。

          这样这个参数就有两个变量  ,当收藏次数极低时  ,这个参数很小 ,收藏率对整个公式的影响不会是致命的  。

          于是仿照这个公式得出“相关度”的归一  ,得出最终计算排序分值的公式:A*当前相关度/最大相关度+B*当前收藏次数/最大收藏次数+C*当前收藏次数/当前浏览次数  。

          这样保证三个参数的取值范围都是0~1  ,后续只要根据不同关键词  ,调整A、B、C三个值 ,使收藏率高的食谱排在考前的位置即可  。

          03 结果和复盘

          结果可想而知啦  ,通过搜索路径产生的收藏转化  ,提高了30%+ 。

          当然这并不是高枕无忧的解决方案 ,由于我们的排序公式对所有词的搜索结果计算是一视同仁的 ,但是分析了关键词搜索趋势后发现  ,搜索词是可以聚类的  ,并不是没有规律  ,尤其是像食谱搜索这样的垂直领域  ,用户对每个(或者说每类)关键词搜出的结果有不同的预期 。

          比如说:用户会搜索食谱类目名称 ,如“下午茶”、“家常菜”、“创意菜”等  ,或者按照食材来搜索  ,如“鸡胸肉”、“三文鱼”等  。

          单看这两种类型的搜索词可以猜测出用户的搜索场景:搜索类目词的用户手上还没买食材  ,纯粹是来找灵感的  ,所以对新鲜感的要求比较高  ,两天来看到同样的东西就会失去热情  ,所以优化的方向应该是加入一个时间参数  ,越新的食谱排在越前面  。

          搜索食材词的用户大多已经拿买好了食材 ,这个时候找到食谱就行  ,对新鲜感的需求不如类目词  ,而是需要发掘长尾的食谱 。所以此时优化的方向不会加入时间参数 ,而是在原来的公式上调整权重  ,让“相关度”的权重更大 。

          当然这还只是短期的策略 ,再往后如果资源允许的情况下 ,会加入协同过滤的算法  ,是将相似喜好的用户分组对待  ,更场景化  。

          比如与“我”喜好相似的用户搜索“家常菜”后点击或收藏的食谱  ,会排在“我”的搜索结果里更靠前的位置  。

          另外  ,由于食谱有时令性  ,用户在夏天搜索“家常菜”和在冬天搜索“家常菜”的诉求也会是不一样的  ,比如在夏天搜索“家常菜”我可能更想吃“凉菜” ,此时如果搜出了很多羊肉汤也是很不合时宜的 ,因此在排序公式中 ,参数前面加上“近期该搜索词的**量”作为权重公式 ,我觉得会更有效率 。

          但是  ,在优化了搜索带来了一大波转化后也还是立刻达到瓶颈 ,原因是用户在进入详情页后 ,流量就死了  ,所以下一步我们紧接着就上了“食谱相关推荐”以增加详情页流量 ,这是另一个有趣的话题  ,有时间再来写~

          (以上)