【导语】当你在搜索框输入一串简短的文本后,搜索引擎立马会返回成千上万条结果,整个搜索过程看似简单,其实底层引擎大有文章。每一个简短的搜索词背后都隐藏着用户最真实的查询意图,需要搜索引擎使用很多不同策略去挖掘用户背后的需求,这就涉及到“搜索query理解”。
我们此前讲过《初识query理解》,再来复习一下总体流程:
当用户输入query:“P i g n g u o 的生產地。”在以上每个模块具体是怎么处理的?
01 文本预处理
大小写转换:query会转为“p i g n g u o 的生產地。”
全半角转化:query会转为“pignguo的生產地”
长度截断:一般设置为38
繁简体转化等策略:query会转为“pignguo的生产地”
02 Query分词
【基于字符匹配的分词算法】
此种方案首先需要构造分词词典,将一串文本的文字分段与构建好的分词词典进行字符串匹配,如若匹配上,则作为一个分词结果。此种原始方案有很多缺点,比如无法处理歧义,泛化性不够等问题,当然现在有很多改进方案,比如正向/逆向/双向最大匹配算法。
【基于统计的分词算法】
基于大量的分词文本,利用统计概率学知识,对文本的相邻字之间的频度进行统计,计