搜索引擎-一种提示词推荐算法

  搜索引擎可以说目前所有互联网应用里技术含量最高的一种。尽管应用形式比较简单:用户输入查询词,搜索引擎返回搜索结果。但是,搜索引擎需要达到的目标:更全、更快、更准。如何让搜索结果更准确始终是搜索引擎的一大难题。

  公司最近在开发某行业的垂直搜索引擎,我作为该项目组的核心成员主要是负责核心算法的研究工作。我也是刚开始接触这个行业,目前还处于摸索阶段,还有很长的路要走。

言归正传,先谈一下这个项目的背景。这个项目是一个行业性质的垂直搜索引擎。用户分为两大类:普通用户、专业用户。整个项目分为:爬虫技术组,引擎组,大数据分析组和算法组。引擎的爬虫、词库的建立和引擎的选型都不是本文的重点,就一笔带过,重点在于推荐算法的设计。

一、网络爬虫

  系统的数据,需要从几个专业网站进行抓取。尝试了几个爬虫,最后选取heritrix最为我们的爬虫框架,选取它的原因主要是感觉配置项虽然多,但是比较灵活,特别适合我们的要求。当然,爬从技术组也自己尝试实现了一个爬虫,主要是爬取地址比较固定几种数据。

二、词库的建立

  词库初步分为专业主题词、行业普通词库、一般通用词库、废词库、还有用于感情分析的词库。

专业词库的实现前期是采取人工的方式来处理的,并制作了若干的辅助工具,供专业人员来挑选、合并、删除主题词的操作。

后面几种词库的实现,是先选用了搜狗等几种输入法的词库库为基础,在这些词库的基础上对爬虫爬出来的文档进行向量化。

三、引擎的搭建

  通过对采集的数据进行去噪、分段、特征提取,然后把相应的数据导入到solr里。

四、推荐算法

  当用户输入关键词查询的时候,如何让用户查询更准确呢?我们设想,针对用户的输入,我们如果能给出若干个和用户输入的关键词相似度很近的词,以这些作为查询条件,如果我们的算法足够好,搜索出来的结果会大大增加检索的准确度。下面给出具体的算法思路:

从向量化的角度来看,每一篇文档都对应一个向量,其中表示特征项i.

是一个向量由词、词的位置、TF等义项来确定的。对于版本1,我们只取了词、词的位置。我们先用分类规则,把文档分成若干类,基于每一类进行如下计算:

表示两个特征项的相似度。

我们定义一下距离公式

我们对于每个文档的特征项,两两求出特征项的相似度。通过这个距离公式

我们可以得出,对于每一个分类,以这些特征项为顶点,以相似度距离为边,就构

成了如下的无向图。

(lawnet)

  类比于wordnet和知网的hownet,我们称这个无向图,为lawnet。

  那我们的设想问题就转化为:选取任意一个顶点,找出若干个(譬如10个)由这些顶点组成的最小生成树或者边权之和最小的最小子图。这是一个局部最优的随机问题。也就是说,我们只需要满足用户认可的体验程度即可,如果概率为90%,也就是说,当用户输入10000次,我们能成功给出9000次的提示词就行了。

目前的解法我尝试了两种:

  一种PRIM算法。

  第二种算法:先通过floyd算法,算出任意两点的最短距离,作为一个边;这些边就组合成一个集合。然后给任意的顶点,从这个边集合里找出包含这个顶点的前N个最小边。

时间: 2024-10-03 13:20:41

搜索引擎-一种提示词推荐算法的相关文章

搜索引擎中输入检索词到返回十条结果,发生了哪些事情

移动互联网时代搜索引擎依然是重要流量来源以及流量分发渠道,虽然比PC互联网时代权重有所降低. 各大电商淘宝.京东80-90%交易额也是由用户app内搜索.网站内搜索产生,个性化推荐系统本身也和搜索 引擎无论技术还是产品方方面面都与搜索引擎有着关联,我们每天也都和搜索引擎打着交道,搜索知识. 搜索问题.搜索新闻.了解世界,搜索引擎价值巨大,作为一个技术人应该了解他并不断深入了解他. 百度第三代搜索引擎架构 当我们使用搜索引擎检索信息时,输入想要查找检索词,点击回车,搜索引擎在1s左右时间返回十篇

协同过滤推荐算法总结

推荐算法具有非常多的应用场景和商业价值,因此对推荐算法值得好好研究.推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本文就对协同过滤类别的推荐算法做一个概括总结,后续也会对一些典型的协同过滤推荐算法做原理总结. 一.推荐算法概述 推荐算法是非常古老的,在机器学习还没有兴起的时候就有需求和应用了.概括来说,可以分为以下5种: 1)基于内容的推荐:这一类一般依赖于自然语言处理NLP的一些知识,通过挖掘文本的TF-IDF特征向量,来得到用户的偏好,进而做推荐.这类推荐算法可以找到用

搜索引擎关键字智能提示的一种实现

问题背景 搜索关键字智能提示是一个搜索应用的标配,主要作用是避免用户输入错误的搜索词,并将用户引导到相应的关键词上,以提升用户搜索体验. 美团CRM系统中存在数以百万计的商家,为了让用户快速查找到目标商家,我们基于solrcloud实现了商家搜索模块.用户在查找商家时主要输入商户名.商户地址进行搜索,为了提升用户的搜索体验和输入效率,本文实现了一种基于solr前缀匹配查询关键字智能提示(Suggestion)实现. 需求分析 支持前缀匹配原则 在搜索框中输入"海底",搜索框下面会以海底

美团搜索-搜索引擎关键字智能提示的一种实现[转]

http://tech.meituan.com/pinyin-suggest.html --------------------------------------------------------------------- 快照: 问题背景 搜索关键字智能提示是一个搜索应用的标配,主要作用是避免用户输入错误的搜索词,并将用户引导到相应的关键词上,以提升用户搜索体验. 美团CRM系统中存在数以百万计的商家,为了让用户快速查找到目标商家,我们基于solrcloud实现了商家搜索模块.用户在查找商

资深架构师首次公开揭秘:今日头条推荐算法原理

今天,算法分发已经是信息平台.搜索引擎.浏览器.社交软件等几乎所有软件的标配,但同时,算法也开始面临质疑.挑战和误解. 网友整理的各大平台推荐算法(搞笑版) 今日头条的推荐算法,从 2012 年 9 月第一版开发运行至今,已经经过四次大的调整和修改. 今日头条委托资深算法架构师曹欢欢博士,公开今日头条的算法原理,以推动整个行业问诊算法.建言算法:通过让算法透明,来消除各界对算法的误解,并逐步推动整个行业让算法更好的造福社会. ▲ 3 分钟了解今日头条推荐算法原理 本次分享主要围绕五个方面介绍今日

常见推荐算法科普

推荐算法 目前主流的推荐算法主要包含内容关联算法, 协同过滤算法. 内容关联算法(Content-Based) CB算法的原理是将一个item的基本属性, 内容等信息提取出来, 抽成一个taglist, 为每个tag赋一个权重. 剩下的事情就跟一个搜索引擎非常类似了, 将所有item对应的taglist做一下倒排转换, 放到倒排索引服务器中存储起来. 当要对某一个item做相关推荐的时候, 将这个item对应的taglist拿出来拼成一个类似搜索系统中的query表达式, 再将召回的结果做一下排

推荐算法相关

目录 推荐算法相关 推荐系统介绍 评估指标 评估方法 推荐系统发展 相关算法 LFM算法 Personal Rank算法 item2vec算法 Content Based LR + GBDT FM.FFM MLR WDL FFN PNN DeepFM DIN Deep & Cross Network(DCN) 推荐算法相关 推荐系统介绍 What:分类目录.搜索引擎.推荐系统 Why:需要在信息过载.用户需求不明确的背景下,留住用户和内容生产者,实现商业目标 评估指标 准确性 学界:RMSE.M

什么是协同过滤推荐算法?

剖析千人千面的大脑——推荐引擎部分,其中这篇是定位:对推荐引擎中的核心算法:协同过滤进行深挖. 首先,千人千面融合各种场景,如搜索,如feed流,如广告,如风控,如策略增长,如购物全流程等等:其次千人千面的大脑肯定是内部的推荐引擎,这里有诸多规则和算法在实现对上述各个场景进行“细分推荐排序”:最后是推荐引擎的算法又以“协同过滤”为最核心.最主流热门,也是当下众多内容型.电商型.社交工具.分发型的基础. 由于协同过滤的算法介绍,网上也蛮多但片段化.要么侧重讲“原理流程”,这个占了4成:要么讲算法公

微博推荐算法学习(Weibo Recommend Algolrithm)

原文:http://hijiangtao.github.io/2014/10/06/WeiboRecommendAlgorithm/ 基础及关联算法 作用:为微博推荐挖掘必要的基础资源.解决推荐时的通用技术问题.完成必要的数据分析.为推荐业务提供指导. 分词技术与核心词提取:是微博内容推荐的基础,用于将微博内容转化为结构化向量,包括词语切分.词语信息标注.内容核心词/实体词提取.语义依存分析等. 分类与anti-spam:用于微博内容推荐候选的分析,包含微博内容分类和营销广告/色情类微博识别:内