首页 » 互联通信 » 五分钟理解搜索事理

五分钟理解搜索事理

深圳海外装饰工程通讯 2024-12-04 0

扫一扫用手机浏览

文章目录 [+]

(采取的均是自以为比较普通易懂的阐明,如果感兴趣可以读干系书本)

1.1 信息是减少不愿定性的东西,信息也是增加确定性的东西。

五分钟理解搜索事理 五分钟理解搜索事理 互联通信

前半句是喷鼻香农信息定义,后半句是逆喷鼻香农信息定义。
举个栗子,回忆下,和一个异性交往的过程。
在你碰着TA之前,你不知道这个天下上有这个人的存在,后来你看到了TA的样子,后来你理解了TA的性情、口头禅,往事。
然后一步一步,你对TA从丝毫不理解,到逐渐认识。
这期间便是一个你不断获取TA信息的过程,正是这些信息,让你从完备不愿定TA是若何的人,到完备确定TA很适宜你。

五分钟理解搜索事理 五分钟理解搜索事理 互联通信
(图片来自网络侵删)

1.2 信息量是一个信息能减少不愿定性的度量,信息量也是一个信息能增加确定性的度量。

关于信息量,有很多数学的描述,但是普通来讲,可以这么大略理解。
举个栗子,证人描述嫌疑犯。
A证人的信息是“他是个男人”。
B证人的信息是“TA是个高中男生”,C证人的信息是“TA是个长发170旁边的高中生。
”D证人的信息是“我认识他,他是学校的扛把子陈浩南”。
我们直觉能感想熏染到信息量的大小关系为:A<B<C<D。
显然这是精确的。

翻译为打算机可以理解的数学逻辑:当地男人的比例是50%,当地高中男生的比例为8%,当地长发170旁边的高中男生的比例是4%,当地叫陈浩南的扛把子的比例是0.0001%。
由于P(A)>P(B)>P(C)>P(D),以是信息量的大小关系为:A<B<C<D。

2. 搜索的产品逻辑

搜索知足了用户迅速找到自己感兴趣内容的需求。
用户输入一个query,搜索系统根据用户的输入的信息,筛选出系统认为用户感兴趣的内容,同时按照系统认定的主要性进行排序展示。
请把稳这个表述,大略而言,搜索可以分为三步。

Step1:对用户输入信息的解读Step2:根据用户输入信息对内容进行筛选Step3:对筛选后的结果进行排序

而要理解这三步怎么在搜索系统中完成,就须要先理解搜索的做事器怎么存储信息。

3. 搜索数据的存储事理

上一张图,假设我们做了一个新闻网站,那么它的构培养是下图。
内容进行了简化,假设一个新闻,文本只有标题,导语,正文。
数据只有阅读量,评论数,分享数。

图1-1

差不多便是上图右边的这种构造。
右边标识的是新闻内容的存储:就像图书馆的书一样,整整洁齐按顺序排好,方便查找(这个存储构造的名字叫做索引,便是来自于图书馆的用语)。
左边是词库:只要一次搜索的输入词能匹配到词库,就可以快速的查找词库到对应的内容。

每个搜索系统都有自己的词库,无法对应到分词的搜索行为就会没有结果。
每个搜索系统都会根据目标用户的不同,有对应的一套词库,就像字典一样,《冶金专业词典》和《生物学大辞典》收录的词条是不同的,知乎的词库和淘宝的词库也不同。
搜索的很多优化都是集中在词库的优化上。

大略总结下,搜索的存储事理便是:一个别系词库,一个排列整洁的内容索引库,同时系统词库和内容索引库之间可以快速关联。

在这个搜索系统的储存构造的根本上,我们提到的搜索三步骤将依次展开。

4. Step1:对用户输入信息的解读

前面提到,搜索的词库是有限的,但是用户的输入却是没有限定的。
那么怎么把无限制的搜索转化为有限的词库,并且匹配到对应的结果呢?这里须要先容一个新的观点:分词,大略来说便是对输入字符串进行分拆。

同样以【图1-1】中的新闻搜索系统为例。
如果用户输入的query为“中国的转基因食品”,系统中实在没有这个词。
如果没有分词功能,这个搜索就会立即结束,纵然系统里确实有对应的内容。
分词的事情事理是在无法精确匹配的情形下,会对用户的输入进行进一步的拆分。
于是我们得到了下面的结果。

“中国的转基因食品”——“中国”、“的”、“转基因”、“食品”。

并不是所有的词都有信息量,如果召回“的‘’的结果,那么险些所有的新闻内容里面都会有这个字,召回这么多结果显然是不对的。
比如这个query里的“的”,这个词实际上在分词系统中会被直接忽略掉。
正是由于涌如今内容中的概率不同,一个词涌现的新闻越多,这个词的信息量就越小,信息量太小的词会被忽略,也便是停用词。
同时包含信息量越大的词的新闻内容,会更更要。
那么去掉停用词之后,结果就进一步简化。

“中国的转基因食品”——“中国”、“转基因”、“食品”。

经由处理,用户非标准的query就被转化为标准的词库,就可以快速找到对应的内容了。
如【图1-1】所示。

5. Step2:根据用户输入信息对内容进行筛选

经由对用户的query解读之后,实在就得到了一些标准化的词,而这些词就会对应一些搜索目标内容,接下来便是对付内容的筛选。

用户进行了一次搜索,一部分结果被搜索了出来。
那么所有的内容根据“内容是否干系”、“内容是否被召回”两个维度,就被分为了四部分。

召回的干系内容:搜索出来的内容中,和用户搜索干系的部分。
召回的不干系内容:搜索出来的内容中,和用户搜索不干系的部分。
未召回的干系内容:没有搜索出来的内容中,和用户搜索干系的部分。
未召回的不干系内容:没有搜索出来的内容中,和用户搜索不干系的部分。

搜索一样平常而言,决定是否筛选出来,会从两个角度衡量,准确率,和召回率。

准确率便是所有搜到的内容里面,干系的内容的比例。
准确率:

召回率便是所有该当搜到的内容里面,真正被搜出来的比例。
召回率:

准确率和召回率是一对存在抵牾的指标。
须要权衡。
终极衡量会取两个的调和均匀数作为目标函数。
即F值:

这三个观点在搜索优化中是关键性指标,牵扯到人工打分和更高等的优化。
这里不展开更多。
我们只须要记住一点:并不是所有的包含用户query关键词的结果都该当被召回。

6. Step3:对筛选后的结果进行排序

排序影响着搜索的结果质量,越往前的结果约随意马虎得到用户的点击。
好的搜索不仅仅是把该当搜索的内容尽可能的搜索出来,同时还要考虑该当把最随意马虎吸引用户的内容展示在前面。

搜索排序比较大的根本逻辑是通用的:

用户输入一个文本转化为标准词库中的词,搜索系统根据每个详细内容是否包含这些词决定是否展示这些内容,同时搜索系统根据文本相关性给这些要展示的内容一个分数。
而终极排序则根据每个内容的分数排序。

这个Lucene的的核心排序公式的事理,网上有先容。
但是实际的情形实在更为繁芜。
还是以我们之条件到的新闻搜索系统为例(方便理解,再贴一遍图)

如果用户搜索“转基因”,那么这个转基因的文本涌如今标题中,还是涌如今导语中,还是涌如今正文中,表示在分数上该当是不一样的。
显然涌如今标题中该当有更高的分数。
同样也须要考虑业务数据,比如一个阅读量10万+的帖子和一个阅读量3的帖子比较,纵然阅读量低的帖子文本相关性更强,但是显然10万+的帖子该当在前面。

实在所有的数据都可以分为两类,文本和数据。
文本用于打算内容的干系性,这部分的打分交给Lucene成熟的算法办理,目前市情上也都有成型的开源办理方案。
而怎么处理文本之间的关系,以及数据之间的关系,才是一个搜索系统设计最核心的部分。

以基于Lucene的Solr系统为例,文本和数据配置代码实在很大略。
在<str name=”bf”>和<str name=”qf”>标签中只须要几行代码就能完成。

<str name=”bf”>中是对付业务数据授予权重。
<str name=”qf”>中是对付文本数据授予权重。

在研究过Solr系统这个机制之后,对Solr核心公式进行变形,就得到了一个公式:

代表针对文本,我们给出的文本分数权重。
比如这个别系中有三种文本,标题,导语,正文。
根据主要性,标题权重为10,导语权重为5,正文权重为1。
代表针对文本,Lucene算法给出的文本相关性分数,这个会综合考虑文本的字数,这个搜索词在所有文本中涌现的概率等等成分(想进一步了事理的同学,可以看下TF-IDF与余弦相似性的先容)。
代表针对数据,我们给出的数据权重。
比如这个别系中有三种数据,评论量,分享数,阅读量。
根据主要性,标题评论数权重为100,分享数权重为200,阅读量权重为1。
(一样平常而言会引入韶光衰减性,这里暂不谈论) 代表针对数据,详细的值。
比如这个别系得三种数据,评论量,分享数,阅读量。
代表归一化系数,意味着权重可以给的非常大,末了总的分值也会在一个合理的范围内。
是本次根据算法索引判断出的。
代表本次打分,用户输入query供应信息的信息量大小。
如果输入query供应了越多的信息,则S越大。
增加,不变,之前的系数不变,之前的系数增加。
而代表文本数据的对整体分数的贡献,则 越大,就解释文本数据比较于业务数据就霸占更大的权重。
比如:输入“北京国庆交通拥堵”,和输入“交通拥堵”比较,“北京国庆交通拥堵”供应给了系统更多的信息,S值更大,文本的打分在总分数汇总占比越大。

以是我们可以看到,实在终极影响排序的,是我们对付文本数据和业务数据的授予的权重,即: 代表针对文本的权重,和 代表针对数据的权重。

这两组数据,影响了搜索终极的排序,而这组数据的赋值,正是搜索系统的对业务的理解。

7. 小结

本篇文章是对付搜索系统事情事理一个整体的先容,对付事理的理解,是设计系统举重若轻的根本。

在这些根本事理之上,搜索系统还有很多标准功能。
那么一个比较完备的搜索系统该当具备若何的标准功能?这些功能又有着怎么的事理?移动时期,搜索前端设计该当如何方案?欢迎关注专栏,连续收看下期。

作者:潘一鸣,知乎专栏:产品逻辑之美

本文由 @潘一鸣 原创发布于大家都是产品经理。
未经容许,禁止转载。

标签:

相关文章

常见的胶带规格参数你懂吗?

个中“宽”即是胶带的宽度一样平常用mm或cm表示一样平常≥10mm常见的规格有60mm、48mm、45mm、40mm、30mm“长...

互联通信 2024-12-12 阅读0 评论0