数据处理之搜索如何命中?

2020-01-12 20:40:43 来源:网络整理 作者:管理员

原标题:数据处理之搜索如何命中?

本文主要讲解了用户在搜索的时候,是怎么命中的,enjoy~

数据处理之搜索如何命中?

通过本文你可以了解到:

  1. 了解搜索过程的基本原理:如何根据关键字匹配内容,如何返回搜索结果,如何将结果展示给用户;
  2. 在搜索场景下更合理的划定搜索范围(输入内容命中哪些字段),提高用户搜索效率,提高数据搜索基线;
  3. 提高日常工作中搜索的效率,更快更准地搜到自己想要的东西。

用户搜索的过程:用户输入关键词,系统根据用户输入的内容筛选出系统认为用户感兴趣的信息,然后按照系统所设定的规则进行排序。整个过程可拆解为三步:分词、筛选、排序。

在了解分词前先看下搜索的存储原理:在系统词库和索引库之间建立关联,通过用户输入的关键词去匹配词库,然后拉取索引库内容展示给用户。

以在美食网站搜索“北京最大的火锅店”为例,索引库中内容为系统内所有店铺,每个店铺包含的字段有店名、位置、月销量、评论量、评分等等;词库中内容为系统内的词条,只要用户输入的内容能够匹配到词条,就可以快速找到词条对应的索引内容,无法匹配到词条时就没有返回结果。每个系统都有自己的词库,搜索的很多优化都是集中在词库的优化上。

数据处理之搜索如何命中?

一、分词

分词是对用户输入的信息进行解读,是自然语言处理的重要步骤。同机器学习原理一样,分词将非结构化的数据转化为结构化数据,结构化的数据就可以转化为数学问题了,解决数学问题正是计算机之所长。

1.1 分词的原因

搜索系统的词库无论如何优化、完善都是有限的,但用户的输入是没有限制的。那么如何把用户无限制的输入对应到有限的词库并返回结果呢?

这就需要引入一个新的概念——分词。简单说就是:系统在对用户输入的内容无法精确匹配时,会将内容进行切分,使切分后的词能够匹配到系统的词库。仍以上图为例,如果用户输入“北京最大的火锅店”,系统中并没有这个词,精确匹配的情况下没有任何结果,此时会将输入内容进行切分,于是

“北京最大的火锅店”——> “北京”、“最大”、“的”、“火锅店”。

拆解后每个词就匹配到了相应的内容,排序后就会返回结果。并不是所有的词都会返回有价值的结果,比如案例中的“的”,几乎所有的信息里面都会含有这个字,因此在系统分词时会被直接忽略掉。

1.2 分词的种类、区别

分词有两种,中文分词和英文分词,二者有着本质的区别。

区别1:分词方式不同,中文分词更难更复杂

英文有天然的空格作为分隔符,但中文没有,如何将一段中文进行拆分是一个难点,切分时断点不同,造成的结果也不同(即歧义识别),如“我们三人一组”就可以有两种分词方式:“我们三人/一组”和“我们/三人一组”。还有一个难点是新词识别,即识别未在词典中收录的词。

区别2:英文单词有多种形态

英文单词存在着丰富的变形和变换,如复数形式,过去式、正在进行式等,为了应对这些复杂的变换,在处理英文时会进行词形还原和词干提取。

词形还原:does、did、done、doing会通过词形还原转化为do;

词干提取:cities、children、trees会通过词干提取转化为city、child、tree。

区别3:中文分词需要考虑分词粒度的问题

分词粒度不同,返回的结果也不同,如“北京科学技术研究院”就有多种分法:“北京科学技术研究院”、“北京/科学技术/研究院”、“北京/科学/技术/研究院”。粒度越大,表达的意思就越准确,但是返回的结果也就越少,因此在分词是要根据不同的场景和要求选择不同的分词粒度。

1.3 分词的方法

① 基于词典分词

基于词典匹配是最早的分词方法,比较典型的有:正向最大匹配法、逆向最大匹配法、双向最大匹配法。

(1)正向最大匹配法

step1:匹配时从前往后取词,取前m个字(m为词典里最长的词的字数)开始扫描;

step2:若这m个词扫描有结果,则匹配成功,将m个词切分出来,语句中剩下的词继续进行切分;

step3:若这m个词扫描无结果,则取前m-1个字继续扫描,每次减一个字,直到词典命中或剩下1个字;

step4:重复以上步骤,直至语句全部匹配完成。

数据处理之搜索如何命中?

(2)逆向最大匹配法

匹配时从后往前取词,其他逻辑和正向相同。

数据处理之搜索如何命中?

(3)双向最大匹配法

由于正向最大匹配法和逆向最大匹配法都有其局限性,因此产生了双向最大匹配法。即按照正向和逆向分别进行切分,然后进行对比,选取其中一种分词结果输出。

对比原则:①如果正反向分词结果词数不同,则取分词数量少的那个;② 如果词数相同且结果也相同,返回任意一个,如果词数相同但结果不同,取单字数量较少的那个(单字越少越准确)。

上面提到的几种切分方法是从不同的角度来处理歧义问题,每种方法只能解决有限类别的歧义问题。随着词典的增大,词与词之间的交叉更加严重,歧义带来的负面影响也更加严重。同时,上面提到的切分方法对于新词的切分是完全无能为力的。

② 基于统计分词

基于统计分词有两类,第一类是统计取词法(或无词典分词法),把每个词看做是由字组成的,如果相连的字在不同文本中出现的次数越多,就证明这段相连的字很有可能就是一个词。

举例:比如词a出现的概率为P(a),词b出现的概率为P(b),a+b这个词组出现的概率为P(a+b),如果P(a+b)>P(a)*P(b),则能证明a+b不是一个随机出现的组合,要么是一个新词,要么是个词组或者短语。

但这种方法也有一定的局限性,会经常抽出一些共现频度高、但并不是词的常用字组,例如“这一”、“之一”、“有的”、“我的”、“许多的”等,并且对常用词的识别精度差,成本大。在实际应用中通常结合词典分词的方法使用,既发挥了词典分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点。

另一类是基于统计机器学习的方法,在给定大量已经分词的文本的前提下,利用统计机器学习、模型学习词语切分的规律(称为训练),从而实现对未知文本的切分。这种方法的缺点就是需要有大量预先分好词的语料作支撑,而且训练的成本也很高。比较经典的是N元文法模型(N-gram)。

N元模型(N-gram)切词

基于N元模型的切词策略是:一段文本存在多种可能的切分结果(切分路径),将训练好的N-gram模型进行路径计算得到最优切分路径并返回结果。

举例:对“他说的确实在理”进行切词。

在N-gram模型的算法中,每个路径上的边都是一个N-gram的概率,于是得到如下概率路径有向图:

数据处理之搜索如何命中?

可能的切分路径有:他说/的确/实在/理 、他说的/确实/在理、 他说的/确/实在/理、 他/说/的确/实在/理、 他/说的/确/实在/理……

假设随机变量S为一个汉字序列,W是S上所有可能的切分路径(如上图所有从头至尾的不同路径)。对于分词,实际上就是求解使条件概率P(W∣S)最大的切分路径W*,P(W∣S)即为每条路径的衡量标准。

至此,分词任务就转变成了一个数学问题。

③ 基于序列标注分词

基于序列标注分词是把分词过程视为字在字串中的标注问题(例如将字标注为“首字中间字尾字”或者其他标注方式),当这些标注完成的时候切词也就自然完成了。这种策略能够平衡地看待字典词和新词(未收录到词典的词)的识别问题,大大简化了使用门槛,并得到一个相当不错的切词结果。如条件随机场(CRF)、隐马尔科夫模型(HMM)、最大熵算法、神经网络分词模型等。

隐马尔科夫模型(HMM)切词

将文字序列按照词首、词中、词尾、单字词进行标注。

举例:研究生说的确实在理

数据处理之搜索如何命中?

当每个字的标注都得出的时候,切词也就顺理成章得完成了。

二、筛选

将用户输入的信息进行切分后,对引库中的内容进行匹配筛选。判定用户想要的结果是否被筛选出来,一般会从精确率(Precision)、召回率(Recall)和F1(F1-Measure)值三个维度进行衡量,这也是搜索优化中是关键性指标,涉及到人工打分和更高级的优化。

精确率:所有搜到的内容里面,相关的内容的比例。

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

举例:假设此时有7个桔子和3个苹果放在一起,我想筛选出所有的桔子,系统最终筛选出了6个,其中有4个桔子。那么精确率P=4/6,召回率R=4/7。

F1值:精确值和召回率的调和均值, 也就是:

数据处理之搜索如何命中?

Q:为什么会有F1值的存在呢?有精确率和召回率不够吗?

A:答案是:不够!正常情况下我们是期望精确率和召回率越高越好,但这两者在某些情况下是相互矛盾的。仍以桔子苹果为例,如果系统只筛选出了1个桔子,那么精确率就是100%,召回率是1/7就会很低;如果系统一次筛选出了10个,那么召回率就是100%,精确率就只有70%。

除此之外,还有一个比较容易混淆的概念:准确率(Accuracy),即判断正确的数目与总数目的比值,其中判断正确的数目包含筛选出的符合要求的和未筛选出的不符合要求的。

仍以桔子苹果为例,准确率A=(4+1)/10=50%,即系统正确筛选出的水果(正确识别了4个桔子+正确识别了1个苹果)与总数的比值。

准确率一般不用于搜索召回的衡量,原因是若上例中苹果数量为100万个,桔子7个时,那么不管怎么筛选,准确率都是99.99%+,显然这是不符合要求的。

三、排序

排序影响着搜索的结果质量,越往前的结果越容易获得用户的点击。好的搜索不仅仅是把应该搜索的内容尽可能的搜索出来,同时还要考虑把最容易吸引用户的内容展示在前面,因此这里就涉及到两个因素:文本数据和业务数据。

3.1 文本数据

文本数据即文本的相关性分数乘以权重。关于如何计算文本的相关性,市面上已经有成熟的开源解决方案,如Lucene算法。然后根据文本类型给出相应的权重,比如系统中有标题、描述和正文三种文本,根据重要性分别赋予不同权重:标题权重为10,导语权重为5,正文权重为1。

3.2 业务数据

业务数据即数据的分数乘以权重。关于数据的分数是数据具体的值。然后根据业务类型给出相应的权重,比如系统中有评论量、分享数、阅读量三种数据,根据重要性分别赋予不同权重:评论数权重为10,分享数权重为20,阅读量权重为1。

举例:以基于Lucence的Solr系统为例,得分公式如下:

数据处理之搜索如何命中?

其中Nx为文本分数权重,Mx为文本数据相关性分数,Ky为数据分数权重,Ly为数据分数。

由此可以看出,对文本数据和业务数据赋予的权重直接影响最终的排序结果,如何赋值、赋予何值需要基于对业务的理解和认知,这也是一个搜索系统设计最核心的部分。

作者:墨白,公众号:UED_family

本文由 @墨白 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议

显示全文
为您推荐
褪黑素能美白吗:不能(为人体内源激素、可辅助治疗失眠)
褪黑素能美白吗:不能(为人体内源激素、可辅助治疗失眠)

【导读】 褪黑素能美白吗:不能(为人体内源激素、可辅助治疗失眠),下面是小编为你收集整理的,希望对你有帮助!褪黑素是人体中一种自身就会分泌的激素,它在体内合成之后主要会储藏在脑松果体中,许多人一听说退黑素这个名字就会以为这是一种美白药物,能够驱散身体中的黑色素,那么褪黑素真的能够褪黑色素吗?它具有美白的功能......

发布时间:2023-06-07 20:01:09

泰国寺庙偶遇Lisa
泰国寺庙偶遇Lisa

最近有一位网友在泰国的寺庙里偶遇了BLACKPINK成员Lisa,据了解,她非常虔诚地穿着泰国传统服装前去拜祭,并且在寺庙里度过了相当长的时刻。这样的偶遇让不少人都为之惊叹,究竟作为一位国际巨星,Li.........

发布时间:2023-06-07 19:03:34

怎么炒鸡爪
怎么炒鸡爪

【导读】 怎么炒鸡爪,下面是小编为你收集整理的,希望对你有帮助!1、把鸡爪洗净,切半。2、把香菜,葱切碎,姜拍碎3、锅里放油烧热,放姜,然后放鸡爪进锅煸炒10分钟。4、加香菜,葱花,盐,煸炒3分钟,煸炒后放酱油,老抽,出锅。鸡爪来由顾名思义,是鸡的脚爪,可供食用。......

发布时间:2023-06-07 18:01:05

林子祥一拖六赢最佳合作金曲,单依纯合唱三甲不入,意难平!
林子祥一拖六赢最佳合作金曲,单依纯合唱三甲不入,意难平!

日前,大热音综《声生不息》第九期热播,第四场主题竞演港乐与葡萄成熟时降下帷幕。最激动人心的时刻应该数三大奖项揭晓的时刻,荣获本场主题竞演最佳合作金曲奖的是男队林子祥马赛克乐队和魔动闪霸合作的《真的汉子.........

发布时间:2023-06-07 17:06:23

埃及壁画解读 看看埃及帝王谷壁画到底有什么故事
埃及壁画解读 看看埃及帝王谷壁画到底有什么故事

【导读】 埃及壁画解读 看看埃及帝王谷壁画到底有什么故事,下面是小编为你收集整理的,希望对你有帮助!说到这个古埃及壁画的事情,很多人也都说了,也还是非常有意思的,但是很多人如果去古埃及玩的话,这个壁画还是不会错过的,但是估计应该很多人都不懂的吧,所以今天就简单的给大家来做个埃及壁画的解读,看看这个古......

发布时间:2023-06-07 17:01:10

张若昀新剧来袭,化身儒雅武将游戏江湖,搭档00后小花,让人心动
张若昀新剧来袭,化身儒雅武将游戏江湖,搭档00后小花,让人心动

张若昀作为颜值与实力兼备的优秀青年派男演员,因出演《黑狐》、《雪豹》而有了铁血硬汉的标签,还有主演的《庆余年》更是成为了他发展道路上的一道靓丽成绩,自此以后,他的人气以惊人般的速度增长,也隐隐成为了爆.........

发布时间:2023-06-07 16:05:34

三星堆为什么没有文字:有符号性的图案(还没有被破译)
三星堆为什么没有文字:有符号性的图案(还没有被破译)

【导读】 三星堆为什么没有文字:有符号性的图案(还没有被破译),下面是小编为你收集整理的,希望对你有帮助!三星堆出土了很多上千件精美的青铜器、玉器和金器,但是在这些出土的文物中没有一件有文字信息。那么为什么三星堆中没有发现文字呢?接下来大家就跟着小编一起去看看吧。三星堆为什么没有文字三星堆出土的文物上虽然......

发布时间:2023-06-07 16:01:07

美不胜收!《唐顿庄园2》曝特辑 服装造型超惊艳
美不胜收!《唐顿庄园2》曝特辑 服装造型超惊艳

享誉全球的英伦经典IP系列新作《唐顿庄园2》正在热映中,凭借温馨动人的温情故事,华丽考究的服饰妆容,庄严典雅的复古建筑,美不胜收的自然景观,本片在各大平台收获好评无数!日前影片发布炫彩夺目特辑,各式服.........

发布时间:2023-06-07 15:04:29

五个历史填实发生的UFO事件, 排名第一的你一定不陌生
五个历史填实发生的UFO事件, 排名第一的你一定不陌生

【导读】 五个历史填实发生的UFO事件, 排名第一的你一定不陌生,下面是小编为你收集整理的,希望对你有帮助!现代人,对不明的飞行物体的关注从冷战哪个时候就开始了。哪个时期的人总是习惯抬着头傻傻的看着天空,随时防备飞来的导弹和侦察机。然而,越来越多的不明飞行物体的报告出现,渐渐的在全世界掀起了UFO热潮。那么......

发布时间:2023-06-07 15:01:06

各民族传统文化节日有哪些
各民族传统文化节日有哪些

【导读】 各民族传统文化节日有哪些,下面是小编为你收集整理的,希望对你有帮助!各民族传统文化节日有:傣族的泼水节、蒙古族的那达慕大会、彝族的火把节、瑶族的达努节、白族的三月街、壮族的歌圩、藏族的藏历年和望果节、苗族的跳花节等等。博大而灿烂的民间文化是中华文化的源头与根基。民间文......

发布时间:2023-06-07 14:01:05

杨幂给谢依霖介绍工作
杨幂给谢依霖介绍工作

5月30日晚,当妈妈后好几年没有作业的“HOLD住姐”谢依霖在微博发文感谢杨幂给她介绍了一个新工作。谢依霖写道,“前阵子有新闻说我三年没工作,杨小姐立刻积极帮我找工作,真的好感人,我爱你杨幂。”“总而.........

发布时间:2023-06-07 13:04:02

蝴蝶的外观和特点
蝴蝶的外观和特点

【导读】 蝴蝶的外观和特点,下面是小编为你收集整理的,希望对你有帮助!蝴蝶的外观:蝴蝶色彩鲜艳,有条纹,色彩比较丰富,翅膀和身体有花斑,头部有一对棒状或锤状触角,蝴蝶的身体分为头、胸、腹、两对翅、三对足,在头部有一对锤状或棒状触角,蝶翅宽大。蝴蝶的特点:翅膀正面的鳞粉色......

发布时间:2023-06-07 13:01:07