内容简介:搜索功能作为产品设计中的基础且重要的功能,已经伴随着产品的发展历经了数十年。笔者向我们分析了整个搜索的流程,并做了一个简单的概述。通过用户的输入,从海量的数据中能够找到与之匹配的信息的功能,称之为搜索。
搜索功能作为产品设计中的基础且重要的功能,已经伴随着产品的发展历经了数十年。笔者向我们分析了整个搜索的流程,并做了一个简单的概述。
第一部分:搜索功能是什么?
通过用户的输入,从海量的数据中能够找到与之匹配的信息的功能,称之为搜索。
搜索出生的原因是信息过载,只有大量的数据情况下,搜索才能发挥出应有的价值。假设整个世界只有10条新闻,你想知道标题中含有“中国”的新闻,扫一眼就知道结果了,搜索的功能反而鸡肋。
搜索功能是筛选+Ranking,根据用户的输入确定筛选条件,再根据一定的策略进行Ranking。随着信息的爆炸性以及用户人群的细分,随之诞生了搜索千人千面,结果列表的来源不仅仅跟你的输入相关,还会考虑用户画像,比如你最近的行为带来的一些标签。
为什么需要千人千面?
因为搜索所得的数据量实在是太大了,如果不同人群看到的结果都是一样的,是极其没有效率的。想象一下,一个输入条件有10W 条结果,大多数人看到前三页就极其困难了。
这个时候,用户要么选择放弃搜索;要么选择更精准条件的搜索。第二种方法对用户不是很友好,原因在于用户如何确定真实的搜索意图,不知道该输入什么,无法表述等等。倘若机器可以根据用户的历史进行预测推荐,那么用户的体验会有极大的提升。
第二部分:搜索流程
下图是搜索的流程图,虚线框中的主要是偏后台的工作,需要产品经理有适当的技术积累;剩余部分是会和产品、前端有交互的部分,需要产品经理进行产品设计。
接下来我们就一个个地讲:
第一节:功能确认
第一步:需要确认是否需要该功能【做不做?】
请大家回头看下搜索之所以产生的原因——信息过载,在这里其实就已经隐含了哪些产品需要有搜索功能。划重点:信息。
因此,但凡涉及到有信息度的,数据量较大的,则可以有搜索功能。比如看视频,视频有发布者、视频名称、参演人等等;比如商品,有风格、有品牌、有类型等等;再比如新闻网站,信息量更直观些,也是可以有搜索功能的。
那么哪些产品不需要有呢?常见的是 工具 属性偏强,主操作信息量较少的产品,比如闹钟、拍照类的产品。
第二步:确认重要性【入口确定、资源确定等】
非常重要: 数据量过大,用户目的相对明确,有某一主题或者更具体的要求,搜索可以极大的提高用户体验,比如:搜索引擎、电商网站。
次级重要: 用户随意性较高,并无较强的目的性,比如:新闻资讯类网站,该部分实效性的要求远高于搜索。
第三步:确认目的【搜索形式、搜索算法】
分析用户使用搜索的目的是什么,对结果的定义是什么。
总结出这几点:决定,搜索的输入(类型)、形式以及输出(主准确?主召回?)。
在这里,再简单给大家介绍一下准确和召回的含义:
下图中的0,1分别代表否、是:Actual是实际情况中的数据,Predict是机器预测的数据。
准确率=在所有的数据中,机器预测正确的占比;换句话说,对所有数据来说,机器对了多少?
召回率=在所有准确的数据中,机器预测正确的占比;换句话说,对应该对的数据来说,机器找到了多少个对的?
第二节:输入
输入的类型:文本、语音、图片、二维码等等,由于不同的输入内容,我们对信息的解析,以及后续检索 排序 都有不同的方法,本文主要讲基于文本(自然语言处理NLP)相关的内容。
其他的我们这边简单讲讲:
如果用户输入是语音的话,那么第一步需要将语音转化为文本语言,然后继续走NLP相关的路径。
如果用户输入时图片,那么需要对图片提取特征,理解并进行搜索。如果是二维码的话,直接跳转到页面,或者直接给结果即可。
输入优化
在用户进行输入的时候,为了方便用户的收入,或者明确用户的搜索意图,我们可以采用以下方法,这些方法可根据实际的产品形态,选择适合自己的。每个方法带来的效果,相信大家都能自己领悟,我们这里不做详细说明。
- 搜索框内展示搜索格式内容的帮助;
- 提供搜索建议(自动填充可能搜索的内容);
- 将部分详情展示出来(多用于电商类产品);
- 自动纠错;
- 有搜索结果的相似词;
- 热门搜索词语;
- 基于该用户推荐的词语。
第三节:意图识别
判断类型
- 结果型,搜索的内容有明确的结果的,比如:爱因斯坦出生于什么时候?
- 段落型,搜索的结果需要用大段文字来表述,比如:人工智能是什么?
- 展示型,搜索的结果是一些信息的展示,比如商品,职位……
判断意图
意图通常与知识图谱,或者说字典交相辉映。
字典一般包含:词干化,停用词,同义词,一词多义,上下位词语,这些内容。
其中,词干化常常出现在英文的信息中,中文中不太常见;停用词是指词语没有明确含义,比如:了,呢;同义词,比如:自然语言处理与NLP;一词多义,比如:苹果【公司/一种水果】;上下位词,比如互联网是互联网游戏的上位词。
那么字典是用来干嘛的呢,用最通俗的理解就是撞词,如果这个词出现在词表中的,那么这个词所代表的意义就被我们所知道(更厉害一点的就是知识图谱了,这个词的属性,与其他词的关系都可以知道,知识图谱我们之后再讲)。
通过对词语的理解,我们可以去进行信息检索和排序。当然实际应用中,它不仅仅是撞词那么简单,有更多更深的算法来提高对意图识别的准确度。
第四节:检索和排序
检索
基于向量的信息检索中,标准的做法:余弦相似度,通过计算两个向量的余弦来确定两个文本的相似度。
结果型
该这种类型的问题,一般是依靠知识图谱来查询相关的结果的,这部分的内容我们在知识图谱中再详细讲。
段落型
根据用户的输入,通过查找文档–>查找段落–>根据需求决定是否需要段落摘要
最简单的段落摘要,就是高亮,将命中的前后多少字作为段落摘要的内容,复杂点,可以通过AI来自动生成一些段落摘要。
展示型:确定搜索范围,进行搜索。
排序
排序在整个流程中,分为两种:一种是算法排序,在进行信息筛选的时候,算法已经给了每个结果的数值;第二种是人工干预排序,主要展示在页面中的排序。
算法的排序结果是机器给的,不同产品时期,算法功力都会对排序产生影响。作为PM,可以把希望的结果以及一些bad case给到,来进行算法的优化。
页面中的排序,主要是PM根据需求来定的,通过对业务的了解、用户需求的把握,筛选出合理的排序条件。
第五节:输出
有结果:
在有结果的情况下,作为PM,只需要定义好输出字段即可。目前展示的形式有3种类型:
(1)卡片展示:
- 卡片适合每块信息量较少的情况;
- 整体来看,卡片的展示数量较列表来说是多的。
- 在卡片中,用户操作不宜过多。
(2)列表展示:
- 由于列表占用空间较多,因此如果有更多的操作或者信息的展示,可以列表来展示;
- 整体来看,展示数量少于卡片的展示。
(3)个性展示:比如地图找房
无结果:
最简单直观做法:展示没有任何结果页面,再加上提示“抱歉没有您要搜索的内容,请换个词语试试看”。
整个流程优化的做法:
1. 预防:防止无结果的情况发生
可采用的方法:
- 搜索框内展示搜索格式内容的帮助;
- 提供搜索建议(自动填充可能搜索的内容);
- 更好的理解用户的输入,建立自己的字典(停用词、同义词等,详见意图识别部分);
- 将部分详情展示出来(多用于电商类产品)。
2. 恢复:在无结果的情况下,帮助用户回到正轨。
可采用的方法:
- 自动纠错;
- 提示有搜索结果的相似词;
- 帮助文档,应当如何搜索。
变通:将错误变成新的机会。
可采用的方法:
- 展示类似的结果;
- 热门搜索词语;
- 基于该用户推荐的词语;
- 提供用户反馈;
- 允许用户贡献内容(常见UGC产品);
- 当有内容时告知用户(常见于实效性不强且用户在某方面敏感型的产品,比如地产类、机票低价提醒)
第六节:结果优化【产品层】
我们讲,在搜索的时候,假如结果不如意,如何让用户继续留在页面上,并找到自己想要的结果。
筛选
筛选是一个有力的交互过程,意味着用户的需求明确,要求的结果更加精准。我们最怕的是用户不知道自己要什么,因此我们在设计的时,希望通过一系列的小功能,比如筛选比如提示,来让用户明确自己的需求。
通用办法:可以通过Tab键切换,或者筛选框来对结果进行一个初步筛选。
Pinterest的筛选:这个我是想单独讲讲的,这真的是我很喜欢的一个设计。当你输入查询条件后,会自动弹出你的输入+另外一个组合词,真的是比普通的筛选牛了很多。
- 页面比其他页面就筛选而言,空间占用更少,更多的留给信息展示。
- 组合词比结构化的筛选更多,有些词是用户更常用更多搜索的,但比较难归类到某个类别进行展示。
- 组合词的更新可以在后台完成,不需要对页面做过多更改。
当然,你也可以说,在输入时直接自动出来让用户选择,这个当然也没啥问题。面对一些未知数量且模糊的搜索时,用户的输入会先从大到小,Pinterest的做法相当于结果——反馈——新的结果,不断循环,对用户的感知更顺畅更友好,且用户本身对事物的掌控也一直没有被削弱。
输入输出改进
详情参照上文第二节:输入;第四节:输出-无结果-整个流程优化的做法。
第七节:结果评估&优化【数据算法层】
我们讲,在搜索的时候,假如结果不如意,如何让用户继续留在页面上,并找到自己想要的结果。
分析输入,了解用户
我们可以通过分析入口,分析Query,并结合用户画像、用户分类,进行输入分析,了解用户在我们的产品上,输入较多的是哪些类别、哪些内容。接下来的算法策略就可以根据这部分进行一些参考。
评估输出,优化算法
常用评估输出的办法有3种:
- 通过业务指标来评估,比如CTR、业务指标的转化率等。
- 通过A/B testing来做不同算法间的比较。
- 通过人工来评估。
由于A/B testing需要耗费的技术资源较多,大家可以根据自己公司的进度以及资源程度决定是否要做;剩下两个是建议一起做。业务指标来看总的效果,人工评估来发现一些明显的典型case。
结束语
由于时间关系,我们这次的文章中,主要对整个搜索的流程有了一个简单的概述,至于里面的细节,大家可以参考其他文档来做知识的补充。欢迎大家一起探讨。
备注:关于第四节:输出-无结果-整个流程优化的做法,我是参考woshipm上一位朋友写的。由于时间久远,没有找到链接,如果大家有谁知道的,可以把链接贴到评论中。
本文由 @杜佳琦Cathy 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Design systems
Not all design systems are equally effective. Some can generate coherent user experiences, others produce confusing patchwork designs. Some inspire teams to contribute to them, others are neglected. S......一起来看看 《Design systems》 这本书的介绍吧!