laravel 分词搜索匹配度_搜索引擎通识

文章内容整理自网络

一、搜索引擎的发展阶段

第0阶段:分类目录(网址导航);

第一阶段:文本检索(使用倒排索引解决匹配效率的问题,使用文档模型解决基本的相关性,使搜索引擎变得可用、可拓展)弊端是只保证了文本相关性,搜索的真正效果无法保证;

第二阶段:链接分析(利用网页之间的链接关系,使用超链模型对信息的可信赖度做出评判,但未考虑用户的个性化要求,只要query相同就返回相同的结果);

第三阶段:用户中心[一方面使用更复杂的规则和机器学习排序模型,综合考虑用户的行为特征(点赞、收藏、评论等),使搜索结果再上一个档次,主要体现在电商等垂类场景;另一方面利用自然语言处理技术分析用户搜索行为日志对query进行分析或改写以召回更好更全面的结果];

第四阶段:引擎形态上从有框变无框,更像是智能机器人;交互上更多是问答式的自然语言+语音形式;搜索结果从结果列表变成更加直接有效的知识和答案;

二、引擎主要解决的问题

  1. 用户真正的需求是什么;
  2. 哪些内容(文档)和用户的需求相关;
  3. 哪些信息是用户可信赖的;

178cee564b37e79ba629fcc720478def.png
搜索引擎工作流程

8e60b643ef20e406d8979bf47c0d32a3.png
query意图识别

三、为什么很难识别query背后的真实意图

  1. 用户输入不规范,使用自然语言查询;
  2. 用户查询表现出多意图,如仙剑奇侠传既对应电视剧又对应游戏;
  3. 不同用户对同一query有不同的需求强度,同样是搜索“荷塘月色”,80%是找歌曲,10%是找菜谱;
  4. 意图存在实效性,比如苹果发布会,发布会之前是找日期,发布会当日是新闻,发布会之后是百科;
  5. 数据冷启动的问题:用户行为数据比较少的时候,比较难准确获得用户意图;
  6. 没有固定的评估标准:CTA、MAP、MRR主要是针对搜索引擎的整体效果,具体到用户意图的预测上没有标准的指标;

四、用户搜索意图

一般包含三种类型:导航类、信息类、资源类

  1. 导航类:用户明确想要去某个站点,但自己不确定网址;
  2. 信息类:
  • 直接型:地球为什么是圆的,什么水果含维生素多;
  • 间接型:用户想要了解某个话题任意方面的信息,如粉丝搜索刘诗诗;
  • 建议型:用户希望能够找到一些建议、意见或某方面的指导,如“如何选股票?“;
  • 定位型:用户希望找到某些产品或服务,如“洗衣机”、“湘菜馆”;
  • 列表型:用户希望找到一批能够满足需求的信息:如“附近的酒店”;

3.资源型

下载、娱乐、交互、获取

五、相关名词定义

1.排序算法

pagerank:对网页进行基于权威值的排序处理,使最重要的页面出现在结果最前面。基于两个前提:一个网页被多次引用或被重要网页引用,它也可能很重要;用户随即浏览一个网页继续浏览网页中某一超链的概率就是被浏览网页的pagerank值。

HITS:在pagerank的基础上考虑不同超链间的质量占比,引入hub和authority作为衡量标准

2.query分词

定义:将query分拆成具有完整意义的最小分词

类型:中文分词、英文分词

方法:

  • [中文分词]基于词典、统计或语法,常用的是基于词典如正向最大分词、逆向最大分词和混合分词方法;
  • [英文分词]利用空格、符号或分段拆词,去掉a、an、the等stop word,抽词干(tagging、tag);

分词的难点:交叉歧义、新词识别

3.query纠错

(1)纠错类型:

  • [英文]最基本的语义元素是单词,拼写错误有两种:Non-word error(单词拼错),另一种是real-word error(单词拼写正确但结合上下语境是错的),如too eyes;
  • [中文]最小的语义元素是字,一般不会出现错字的情况,常见的是字正确但词组错误;

(2)纠错方案:

  • 基于编辑距离(增加、删除、替换、颠倒)四种转移操作,对应4中转移矩阵,可以通过对语料库统计大量的正确词和错误词对来得到。中文词组编辑距离转换可能会出现转义风险,如雷锋-雷峰塔,中文纠错常以拼音纠错为主,编辑距离等其它方式为辅的策略;
  • 基于信道噪声模型的纠错方法;

4.query suggestion

(1)词条从哪里来?

  • 搜索历史query log;
  • 冷启动时,可以取品类相关信息如小说标题、作者、类型,电商的品牌库、产品列表等;

、(2)如何根据当前输入快速匹配到suggest 词条列表:

  • 词条列表小用trie树;
  • 词条列表大用ternary tree;

(3)如何对候选suggest 词条进行排序

  • 候选词的整体热门指数
  • 个性化因素
  • 当下热门指数

5.query expansion

(1)定义:

通过将与用户查询次相近、相关的词拓展到用户查询词中的方法,更精准的描述出用户的信息需求,去除用户查询词的多义性,从而更精准的查询用户所需信息。

(2)作用:

可以提高查询效率

(3)如何找到拓展词?

挖掘用户搜索日志和点击日志

6.query classification查询意图分类模块

(1)基于规则

  • 适用于查询非常符合规则的类别,覆盖率比较低,如今天天气怎么样——[日期][实体:天气][询问词]
  • 360分类规则:行业-垂类需求-时效性-地域性,其中行业分为一级行业分类和二级行业分类,垂类需求涵盖下载、问答、寻址、图片、地图等,时效性包括突发时效和普通时效性,地域性包括指定地域及地域性强中弱;

(2)基于机器学习分类

7.semantic tagging

对query中的命名实体进行识别,比如对电商搜索中的品牌词、产品词、属性词、地址进行识别,对query用一个相对准确的词典去标注语料。

新(loc)西(loc)兰(loc)安(brand)佳(brand)奶(product)粉(product)二(attr)段(attr)

query sug是query补全,提升搜索成功率;
query纠错是spell check;
相关搜索使拓展用户的二次搜索提升相关搜索的命中率;
query改写使提高相关结果的召回率。

六、召回

两个衡量标准:准确度和召回率

A:召回的相关内容;

B:召回的不相关内容;

C:未召回的相关内容;

D:未召回的不相关内容;

准确率:a=A/(A+B)

召回率:b=A/(A+C)

准确率和召回率使一堆相互矛盾的指标,最终取这两者的调和平均数作为目标函数:

F=2a*b/(a+b)

七、排序

1 .基本逻辑:

  • 用户输入一个文本转化为标准库中的词;
  • 根据每个内容是否包含这些词而决定是否展现这些内容;
  • 根据文本相关性给内容打分;
  • 根据分数排序

2.排序结果评价标准

(1)MAP:mean average precision

  • P:精准度(未考虑文档之间的序)
  • AP:现求出每个位置的precision,再对所有位置的precision再做average如某个位置文档不相关则precision=0;
  • 每一条正确的召回/所在位置,如共召回4条相关数据,排序分别是1、3、5、7,则MAP=(1/1+2/3+3/5+4/7)/4

(2)MRR:mean reciprocal rank 倒数排序法

只评估最相关那条结果所在位置,主要用于寻址类探索(navigational search)或问答类检索(question answering)

如ql排在第3位,q2排在第4位,则MRR=(1/3+1/4)/2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值