知乎的站内搜索还有救吗? - 知乎

标签: | 发表时间:2017-06-18 07:34 | 作者:
出处:https://www.zhihu.com
第一次在知乎上得到这么多赞,有点担忧,生怕自己说的不好,误人子弟!





其实,我是一个从事互联网搜索引擎开发5年的码侬,当然也不是造轮子,就是Java方向的利用Solr来进行二次开发。所以,从事的都是垂直领域特定搜索引擎开发:电子商务领域和招聘行业。



针对知乎搜索,我提出的几点可优化的方案,只是我在从业经历中碰到的变态需求中的一部分。我回头看这篇答案,有种“我原来是个搜索产品经理啊”的即视感。



NO......NO..NO.!其实我是一个码侬,骄傲的码侬,这意味着,这些方案是经过我的实践,至少Solr里面都可以有比较好的实现,并不是信口开河,误人子弟!心安了。



说下这次更新的重点吧:

一、先前说到的“含有优质答案的问题”,所谓优质答案是一种抽象的概念,需要一整套完备的答案评估体系,暂且称为“答案等级评估系统”



这个系统需要考虑多方面的因素,这方面经验欠缺的我,只能脑洞大开,针对答案考虑:文本长短、文本关键字重复率、文本主题模型、答题时间(答题耗时)、点赞数、感谢、无帮助数、评论数、评论中答主的评论数、评论人数。

再开一下:点赞的质量,就是不同用户点赞的分量有所区别。



二、知乎的先天优势

知乎从一开始就收集了暴多的个性信息,包括问题的话题归纳、用户感兴趣话题、用户关注问题、用户关注用户。那么通过话题就可以将问题和用户形成有机结合,通过用户这个枢纽,可以连接问题、答案、话题。这些数据都是个性化搜索引擎梦寐以求的数据,也是推荐引擎最好的原始输入。



三、将“答案等级评估系统”和“搜索引擎”结合起来,可以让搜索结果有很多种可能

抛弃以往的关键字相似度排序,给每个用户不同的但是更好的排序体验。让用户真正可以搜得到自己想要、感兴趣的问题。



四、多维度搜索拆分

如果没办法在一个搜索输入框做到按问题、按答案、按关注用户答案进行搜索问题,那么可以直接用多个tab标签分离,多个输入框。因为用户进行搜索的时候,往往带着目的性,我这次是要搜某个以往的问题,或者搜索某个用户的回答。

知乎现在是多维度合并,通过下来选择来决定走向,但是用户往往都是被培养了习惯,喜欢直接回车搜索,并不能达到效果。个人觉得,直接拆分更清晰!









----------------------------------- 原答案如下 --------------------------------

首先,可以确定知乎搜索用的就是全文检索引擎:


这里,我搜索的关键字是:“社交搜索引擎和社会化搜索引擎的区别是什么?”,结果第一条命中了我复制的问题,而且做了关键字高亮。“和”,“的”,“是”这种没有高亮,是因为在通常的分词系统中是属于停用词或者无意义的词,分词器最终得到的最小分词单元会舍弃这些词。

所以,我有理由相信,知乎这个是包含分词的全文检索,绝对不是扫描匹配。



以下先讨论问题和答案的搜索,用户和话题在另外的tab标签,另谈。

那么问题出在哪里?

排序是个大大的问题。

先看一个图片:

我输入关键字“搜索”,从结果来看,这个排序结果采用的是典型的包含TF/IDF算法的空间向量排序模型。具体到这个结果,TF的意思就是包含“搜索”次数越多的标题,排序越靠前;DF就是包含“搜索”这个关键字的问题数,IDF就是这个问题数量的倒数,DF越大,IDF越小,对排序值的贡献越小(主要是对于多关键字搜索有影响)。



还有一个参数对排序产生了影响,就是标题的长度,标题越长,某个关键字的重要性就会降低,相当于权重被分摊了。这个有点类似于PageRank算法的中的一个小细节,链接的出度越大,每个出度得到的权重越小。



以上这种排序方式属于全文检索中最基础的排序,对于全网文献来说比较有用,对于垂直领域搜索引擎来说,这个算法有点太Low了,因为仅仅依靠文本自身的权重以及关键字出现次数,完全无法达到越来越变态的搜索需求,而且无法应对作弊。试想,某个问题重复多次包含某个关键字,那么搜索该关键字是,这个问题肯定靠前。



我觉得对于这个问题,其实很好解决。

1、弃用基于空间向量模型排序算法。知乎作为问答型社区,问题搜索的排序可以考虑问题的热度、答案数、答案的文本内容、问题的标签、问题的提问时间、问题的最后回答时间。可以将部分优质答案进行同步索引,可以支持通过答案搜索问题。

我去搜索关键字“搜索”,你真以为我就想看“搜索?”这个问题?我肯定是想找搜索相关的问答,有更多优质回答的问题对我来说更重要。问题是否与关键字相关,必须基于答案是否与关键字相关,仅仅只有问题的问题,毫无意义。



2、对于一定时间内提出的问题,必须优先排序;同时考虑一些沉睡的问题,让含有优质答案的沉睡问题,排序靠前,唤醒活跃度(定时唤醒包含优质回答的问题);根据用户的搜索历史记录,统计时下热门关键字,热门话题,对这些关键字的结果进行特殊处理。



3、排序中,必须排除没有优质答案的问题。用户来搜索问题,不是为了搜索到鲜有答案的问题,然后来回答。而是通过关键字,搜索到以前看到过的感兴趣的问题(一般问题中有让他感兴趣的答案),或者直接搜索答案,来定位问题。



4、索引优质答案的好处是,关键字搜索结果更饱满,列出标题的时候,列出命中答案的摘要,类似百度这种高亮摘要。可以满足一大部分用户搜索答案的需求。



5、排序必须要个性化。很多关键字会很跨多个领域、话题,但是当前用户不可能关注了所有话题。所以,我觉得,比较好的做法是将当前用户关注的话题对应的问题排序靠前;当前用户关注的用户回答过的问题排序靠前;当前用户直接关注的问题,排序必须靠前。当然,前提都是在保证关键字命中率的基础之上。

纯粹靠搜索引擎来得到结果的时代已经过去了,搜索结果排序中加入个性化信息,才是一个比较好的方式。也就是,搜索引擎和推荐引擎进行有机结合





先回答这么点吧。

相关 [搜索] 推荐:

深度搜索

- - 译言最新精选
译者: HorseHour 原文地址: streamhacker.com. 当我们准备发布 Weotta时,我们已经为如何描述它犯了难. 我们使用了机器学习和自然语言处理吗. 我们最终觉得“深度搜索”是对我们工作最贴切的描述,它是一个超越了基本文本搜索的复杂搜索系统的简洁描述. 无需赘言,不管怎么看,我们都不是这个领域唯一的一家公司;谷歌和很多其他公司都在对深度搜索的各个方面进行研究.

搜索的未来

- Levi - 月光博客
笔者认为,未来的搜索有两个趋势:个性化,社会化. (注:本文给出的很多链接需要特殊方式才可以访问,请自行解决).   从google诞生的那一天起,google的搜索本质上并没有什么变化,依旧是:一个大大的搜索框,你敲进去几个词,google给出一些相关的网页. 不同的人对于同一个关键词所期待的搜索结果可能有很大差别啊.

google搜索技巧

- - ITeye博客
搜索的词语是网页中链接内包含的关键词(可使用多个关键词). 搜索的词语是网页标题中包含的关键词(可使用多个关键词). 所搜索的文件一个特定的格式. 搜索的词语是网页中链接内包含的关键词. 搜索的词语是网页内文包含的关键词. inurl:google.com 开源. 所进行的搜索在指定的域名或网站内.

oracle全文搜索

- - Oracle - 数据库 - ITeye博客
不使用Oracle text功能,当然也有很多方法可以在Oracle数据库中搜索文本,比如INSTR函数和LIKE操作:. 有很多时候,使用instr和like是很理想的, 特别是搜索仅跨越很小的表的时候. 然而通过这些文本定位的方法将导致全表扫描,对资源来说消耗比较昂贵,而且实现的搜索功能也非常有限,因此对海量的文本数据进行搜索时,建议使用oralce提供的全文检索功能.

个性化搜索

- - CSDN博客云计算推荐文章
         随着大数据日益成为IT领域的主流,如何利用大数据为业务提供支持以及来扩展市场成为当今众多公司追逐的目标. 目前,比较热门的领域有两块:recommendation(推荐系统)和personalization search(个性化搜索).        这两者有着很大的关联性和相似性,都是在大数据的环境得到了充分的发展,特别是recommendation,在Netflix公司举办的一个比赛---奖金一百万美元.

Google高级搜索技巧

- yun - 就SEO
今天给大家介绍一些非常实用的Google高级搜索技巧,不管是平时搜索网页还是做SEO,这些高级搜索语法都帮了我很大的忙. 语法 实际操作 搜索结果 “ ” “就SEO” 精确匹配包含“就SEO”的网页 - 美洲虎 -汽车 包含美洲虎,不包含汽车的网页 * 中国 * 现状 让Google自动补全,如中国教育现状 define: define:seo 查询seo的定义结果 site: site:gioseo.com.

如何搜索flickr图片?

- Penny - 让PPT设计NEW一NEW
    首先恭祝大家国庆节快乐. 好久没与大家交流了,也有很多朋友一直很期待Lonely Fish快点更新,所以我在放假第一天就奉上好东东给大家. 今天与大家交流的是关于flickr图片搜索的,虽然我自己很少制作全图型PPT,但我知道有很多朋友对图片需求量还是挺大的,所以我觉得今天的议题应该对大家有帮助.

Google推出航班搜索

- xing - cnBeta.COM
Google去年以7亿美元价格收购了提供旅行搜索服务的公司ITA Software,现在利用ITA Software的数据和算法,它正式宣布了“飞行搜索”.

Google推出飞行搜索

- Antoine - Solidot
Google去年以7亿美元价格收购了提供旅行搜索服务的公司ITA Software,现在利用ITA Software的数据和算法,它正式宣布了“飞行搜索”. Google称,如果你在搜索引擎中寻找航班信息如输入关键词“从芝加哥飞往丹佛”,将会在结果页左侧面板看到“飞行搜索”的链接. Google飞行搜索的一个重要特性是速度,通过整合ITA Software的智能算法,它能即时显示航班搜索结果.

细看 Google+ 的搜索

- Qian - 谷奥——探寻谷歌的奥秘
Google+今天的大跃进升级终于带来了信息流的搜索,下面我们总结一下目前Google+搜索的重点:. 以前写有Find people的搜索框已经变成了Search Google+. 利用这个Search Google+的搜索框可以完成3种搜索:人物搜索、Google+信息流搜索、Sparks搜索.