欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

深入搜索引擎--查询(Query)

程序员文章站 2022-07-14 21:45:42
...
1.Query的数据分析
   Query即用户在搜索引擎输入查询条件。在通用搜索引擎中,一般是指输入的关键词。而在各类行业或者垂直搜索引擎,还可以输入类目,如优酷网站中可以选择“电影”、“电视剧”这样的类目。在电子商务网站中,各种产品品牌、型号、款式、价格等也是常见的查询条件。
    要分析query中每个term的内容,分词是必不可少的工具。分词算法从最简单的最大正向、最大反向分词算法,到复杂的隐马尔科夫、CRF模型。CRF模型是一种序列标注的机器学习方法。分词算法最关键的是如何得到足够的标注准确的语料库,足够的训练语料是模型成功的基础条件。
    Query按照PV从高到低排序之后。横坐标为query编号,纵坐标是query的PV。从下图可以明显看出,query的PV分布是一个长尾分布。

深入搜索引擎--查询(Query)
            
    
    博客分类: 搜索算法机器学习 query搜索引擎分词 
   每种搜索引擎的query 都有自己的特点。根据query的特点来设计自己的算法和相应产品是非常必要的。例如:百度有很多查询“从A到B怎么走”,“××怎么样”。相信百度正是研究了这些查询,才力推百度“贴吧”和“知道”,“百科”等产品的。通用搜索引擎和电子商务网站的query区别一定很大。例如joyo当当一定有大量书籍名称的查询。而在电子商务网站,有大量类目+属性的查询方式。如何组合的输入条件,准确分析用户意图,保证搜索引擎结果的召回率和准确率是一个挑战。

20-80定律:query 和cache
    我们发现20%的top query,占据了80%的PV流量。如果解决了这20%的query的分析和排序问题,我们就解决了绝大多数流量的问题。
    针对20%的query,我们可以优化搜索引擎的索引结构,尽量直接返回用户需要的信息。在query分析的模块,我们可以存储query的分词、词性标注以及query分类等结果。总之高效利用内存,用内存换取性能的极大提升。


query的分类和“框计算”
   query分类是目前通用搜索引擎必须解决的问题。当你在百度或者google上面输入“××市天气”,会显示天气状态图片、温度等;输入“中石油”直接显示出中石油的股价;输入“航班”直接从航班起点和终点的选择。这也是百度所谓的“框计算”,也就是直接在搜索框完成解析,直达具体的应用。
   如何做分类呢?
   假设搜索引擎已经对网页分类,那么统计每个query下点击的页面分类,把页面类别的概率按照从高到低排列,也就是query的分类。也就可以知道这个query的分类。但是这种只能用在当query的点击数量足够的时候。
   另外一种办法是通过页面分类,用贝叶斯的方法,反推每个query可能属于那些类别。

query的导航
   query的分类其实是导航的一个基本条件。只有当你对query的分类准确,对query中每个term的词性理解准确的时候,导航才真正开始。
    在电子商务网站,如Amazon、京东等网站。准确的导航是非常必要的。
    而准确的导航是第一步。根据用户输入,在导航中体现相关热门推荐,或者个性化推荐,是对导航的更进一步的要求。
    在淘宝搜索产品上,当用户输入关键词,会自动提示相应的类目和属性,并且把热门的类目属性展示在前面,而把相对冷门的类目和属性折叠起来。最大利用网页有限的展示空间。


query suggestiong
   关键词推荐见 http://poson.iteye.com/admin/blogs/1441075

query与个性化
   说到个性化,必然涉及到对用户数据的收集。根据用户的行为或者设置,分析用户的年龄、性别、偏好等。同样是搜索“咖啡馆”,你在北京和上海搜索得到结果可能差异很大。

    而这些分析数据来源于对每个用户在搜索引擎的行为日志。搜索引擎都会分析每个用户的搜索和点击等行为。存储的时候存在在分布式key-value内存数据库中。

    用户行为不仅仅对个别用户本身有用。大量用户的行为日志,被广泛用于推荐系统的数据挖掘。例如用户在当当joyo上面购买的书籍,就来自于大量用户的购买和浏览记录。推荐系统从常见的关联规则分析,已经进化到各种复杂的图关系分析算法。

  • 深入搜索引擎--查询(Query)
            
    
    博客分类: 搜索算法机器学习 query搜索引擎分词 
  • 大小: 12.5 KB