简介
维护这个博客让我接触到了 SEO 相关的知识点。同时也通过搜索标注工程接触到了搜索结果标注相关的内容。作为垂直领域搜索算法的开发人员,我自然也接触到了很多搜索相关的内容。
无意中发现上述三方面的工作内容竟然是一个整体,所以想要通过这篇文章来简单梳理一下我的理解。
关系图示
对于不同的行业,其中的一些环节的存在感会很弱,例如,对于地图行业,地图搜索的核心在于地图数据的名称和地址,其中地址几乎没有可操作的空间, 从名称出发的SEO的余地很小, 但也不是没有。
比如:我在距离西单大悦城300米的一个巷子地方开了一家麻辣烫,我不会起名叫“小土麻辣烫(XX巷)”,而是叫 “小土麻辣烫(西单大悦城店)” ,或者是 “大悦城小土麻辣烫(XX巷)” 。单纯为了SEO而去调整我的店铺名称,代价未免也太大了些。
搜索引擎
从用户角度,搜索引擎的构成可能很简单,它收集了所有的素材,可能是网页,可能是各种商品,再根据我的输入内容进行查找。
从开发者的角度,做成一个搜索工具,需要做数据获取,数据清洗,搜索算法构建等几步。其中数据清洗便与SEO有着很大的关系。内容提供者可能会主动做一些SEO的工作,开发者需要将这些内容收集到,以提高搜索体验。但是也会存在一些不合适的SEO操作,如果不能识别出来,一个不相关的结果排名却很高,那就很影响使用体验了。
所以我觉得,对SEO的了解是做好数据清洗的必要条件。
SEO
对于垂直搜索邻域而言,SEO的存在感不强,但也还是有的。一方面,SEO的过程实际上是一个不断完善数据信息的过程,这个过程可以由数据提供方来做,实际上也可以由搜索引擎来做;另一方面,了解一些不合理的SEO手段,也有助于完善数据清洗的流程,完善搜索逻辑,避免有意无意的糟糕的搜索体验。
白帽SEO
即常规的正常SEO手段。白帽网站不用担心会被搜索引擎封掉,一个白帽SEO所关注的更多是长远利益。
黑帽SEO
所有使用作弊手段或可疑手段的,都可以称为黑帽。黑帽SEO获利主要的特点就是短平快,为了短期内的利益而采用的作弊手段。
比如关键词堆砌,想想现在的搜索算法中的相关度计算公式就知道关键词堆砌的作用了。
搜索标注平台
接触过这部分的人应该是最少的,或者说,在读这篇文章的人当中,接触过搜索标注平台的人应该很少。接下来我就简单介绍下。搜索标注包含很多方面,从我接触过的标注类型来说,总体上分为3种。
- 数据质量标注,需要人工去核查数据的准确性;
- 搜索结果标注,根据输入的信息,比如关键词,用户信息等,由人工直接归纳出一个合适的结果;
- 搜索结果质量判断,根据输入的信息及搜索引擎提供的返回结果,由人工来判断结果是否合适;
数据质量标注
数据质量不单单指的是单条数据本身属性的对错,也包括了数据格式是否合规,数据间是否存在冲突,重复等。
首先来看数据的来源,一方面是要依靠专业人员收集,另一方面是要通过爬虫等技术手段获取。两者都逃不开的是在被搜索引擎索引前,要做一遍清洗。这种清洗就包括了对上面提到的数据质量的保证。
这样的清洗主要通过程序来实现,但是数据嘛,总是追求正确率越高越好,至少在地图领域是这样的,程序存在的问题就是,传统的基于规则的处理方式,比较稳定,但日益庞大,难于维护;或者是基于机器学习的处理方式,但需要有足够的数据基础,这时人工的价值就体现了。
以上图为例:不同于网页,地图数据不单单有重复这样的情况出现,也会有一条数据包含另一条数据的情况。包含既包括物理空间上的包含,也有可能是管理逻辑上的包含。例如:“西单大悦城”和“西单大悦城(南1门)”这样。
这样的判断结果对搜索又有着怎样的影响呢?如果判断为重复,那么合并两条数据即可,或者降低其中一条数据的权重,避免在搜索时出现2条数据都排名很靠前的情况。如果是如图所示的包含的情况,那么在展示搜索结果时,就要考虑是否要折叠。比如:当我搜索“商场”时,期望的结果是“A百货商场,B购物中心,C生鲜百货”,而不是“A百货商场,耐克(A百货商场店),阿迪(A百货商场店)”。
搜索结果标注
将搜索词及其他附加信息提供给标注人员,由标注人员决定合适的返回结果。这么做一方面是为了将一些输入频率高的词汇的返回结果进行固定;另一方面用于给程序提供测试样例。
这样的直接由人工来标注结果的模式,我个人觉得更加适用于数据量不大,用户意图明确的垂直搜索领域内(比如地图数据搜索)。标注结果可直接用于搜索引擎,能够在短时间内提升搜索质量。
搜索结果质量判断
与搜索结果标注不一样的是,搜索结果质量标注直接将搜索词以及返回结果提供给标注人员,由标注人员判断匹配程度。
这样的过程比较缓慢,效果不如“搜索结果标注”来的快,但是好处是对于人工而言更加容易,毕竟只是针对一个搜索词和一条结果进行标注,而不需要针对一个搜索词,从整个数据集种挑选合适的结果。
上图是地图搜索的一个结果质量与距离的关系示意图。图中有两个差异点,一是两者的中心不一样,左边是以用户位置为中心,右边是以设备位置为中心;而是距离增长的模式不一样。
中心差异
距离的计算不一定是到用户的距离,这取决于用户的意图。当你计划中午去人民广场办点事,想要顺便在附近找个咖啡厅的,你会把手机中的地图视野拖动到人民广场附近,并搜索“咖啡厅”,这时搜索引擎应当以人民广场为中心寻找咖啡厅,而非用户当前的位置。
当然,用户也许并不移动地图,直接搜索“人民广场 咖啡厅”,这时便需要搜索引擎能够从检索词中识别用户的意图,这就是另外一个话题了。
距离增长的差异
当以用户为中心搜索时,用户位置是一个明确的点,直接使用直线距离即可。使用实际通行时间计算效率跟不上。
当以设备为中心搜索时,可以将屏幕中心所对应的位置作为距离计算的一端。但实际上,用户的目的地并不一定刚好在屏幕中心。所以将整个屏幕内的符合检索词的结果都视为最佳结果,以设备屏幕的边界向外扩张,得到次好的结果。依此类推。
总结
无意中接触到的人工标注平台,仔细想想其实还是很有意思的。可不仅仅是标个对错那么简单。如何从优化搜索结果的目标出发,设计一个切实有效的标注平台,挺值得仔细考虑的。而反过来从标注平台的种种细节,也能反推出一些搜索引擎的相关度算法。