CN106777088A - 快速迭代的搜索引擎排序方法及系统 - Google Patents
快速迭代的搜索引擎排序方法及系统 Download PDFInfo
- Publication number
- CN106777088A CN106777088A CN201611149705.5A CN201611149705A CN106777088A CN 106777088 A CN106777088 A CN 106777088A CN 201611149705 A CN201611149705 A CN 201611149705A CN 106777088 A CN106777088 A CN 106777088A
- Authority
- CN
- China
- Prior art keywords
- user
- order models
- search
- line
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种快速迭代的搜索引擎排序方法,包括离线步骤和在线步骤,所述的离线步骤包括,训练出多个候选上线排序模型,对各排序模型存储和比例分配,定时将排序模型及比例存入搜索服务器缓存数据库以备在线步骤读取;所述的在线步骤包括,接收用户请求并根据用户信息分配排序模型,从索引中检索出相关文件,读取搜索服务器缓存数据库中的排序模型并计算排序然后返回给用户,统计本次用户的搜索行为。本发明设计通过既定的排序模型描述方式,能够用字符串来描述一个排序模型。然后将该模型通过图形界面和定时任务依次存入关系型数据库和key‑value数据库,这样既能保证数据存储的持久性、又能让线上服务快速获取数据。
Description
技术领域
本发明涉及搜索排序技术领域,特别是涉及一种快速迭代的搜索引擎排序方法及系统。
背景技术
随着大数据技术的快速发展,搜索引擎系统中对特征的使用越来越深入,文本相关性、网页PageRank值和URL链接长度都是很好的排序特征。选取的特征越多,越有可能客观的反应用户的行为偏好。Google的搜索引擎排序系统更是使用了多达200余种特征,并且这些特征并不是简单的线性相加,而是通过复杂的神经网络来表征,这样不仅能充分利用文档的每个特征,还能利用特征与特征之间的关系。然而此时指望人工拟合出各特征的权重甚至复杂的神经网络模型已经变得不现实,排序学习技术变应运而生。
排序学习基于传统的机器学习技术,把文档是否相关和文档在各维度上的取值或神经网络的参数作为训练样本,与文档实际的相关性比较设定损失函数,再基于最优化技术如梯度下降等使损失函数最小。这样就能够在大量的数据中,根据每篇文档和查询的相关性以及每篇文档各个特征上的得分,计算出优化的搜索引擎排序公式。
算法的训练分为在线训练和离线训练两种。在线训练的全部过程由计算机程序完成,训练开始时读取用户点击记录生成训练集,然后用预先写好的训练算法训练出排序模型,更新线上排序算法,最后根据计算好的评价指标人工评价算法性能。这种训练方法的实现自动化程度更高、不易出故障,人工干预较少。但是训练过程中较为重要的交叉验证过程不得不省略,因为计算机很难根据交叉验证结果给出合适的解决方案。离线学习由人工控制学习的时间、参数等,可以在模型上线以前判断模型是否合适,并能根据交叉验证结果动态调整训练参数,保证上线算法的质量。但是离线学习算法每次算法模型的更新都需要中断服务,流程较为繁琐,使项目的迭代周期大幅延长。
发明内容
本发明的目的是针对现有技术中存在的技术缺陷,而提供一种快速迭代的搜索引擎排序方法及系统。
为实现本发明的目的所采用的技术方案是:
一种快速迭代的搜索引擎排序方法,包括离线步骤和在线步骤,
所述的离线步骤包括,
训练出多个候选上线排序模型,
对各排序模型存储和比例分配,定时将排序模型及比例存入搜索服务器缓存数据库以备在线步骤读取;
所述的在线步骤包括,
接收用户请求并根据用户信息分配排序模型,
从索引中检索出相关文件,读取搜索服务器缓存数据库中的排序模型并计算排序然后返回给用户,
统计本次用户的搜索行为。
定时将排序模型及比例存入搜索服务器的key-value数据库。
所述的训练出多个候选上线排序模型包括以下子步骤,
收集用户点击记录,
根据用户点击记录还原用户搜索场景生成训练数据,
采用预定的不同算法和训练参数训练出多个候选上线排序模型。
所述的在线步骤根据用户的cookie为用户分配排序模型以保证同一个用户分配固定的排序模型。
所述的搜索行为包括用户查询词、用户点击的文件和该文件在输出文件列表中的位置。
一种快速迭代的搜索引擎排序系统,包括,
包括离线模块和在线模块,
所述的离线模块包括,
训练子模块,用以训练出多个候选上线排序模型,
模型管理子模块,用以对各排序模型存储和比例分配,并定时将排序模型及比例存入搜索服务器缓存数据库以备在线模块读取;
所述的在线步骤包括,
A/B测试子模块,用以接收用户请求并根据用户信息分配排序模型,
信息检索子模块,用以从索引中检索出相关文件,根据排序模型计算排序然后返回给用户,
统计子模块,用以统计本次用户的搜索行为。
定时将排序模型及比例存入搜索服务器的key-value数据库。
所述的训练子模块,
收集模块,用以收集用户点击记录,
信息处理模块;用以根据用户点击记录还原用户搜索场景并生成训练数据,
生成模块,用以采用预定的不同算法和训练参数训练出多个候选上线排序模型。
所述的在线步骤根据用户的cookie为用户分配排序模型以保证同一个用户分配固定的排序模型。
所述的搜索行为包括用户查询词、用户点击的文件和该文件在输出文件列表中的位置。
与现有技术相比,本发明的有益效果是:
本发明设计通过既定的排序模型描述方式,能够用字符串来描述一个排序模型。然后将该模型通过图形界面和定时任务依次存入关系型数据库和key-value数据库,这样既能保证数据存储的持久性、又能让线上服务快速获取数据。线上搜索服务定时读取key-value数据库,根据读取的字符串还原排序模型并更新既有排序模型,同时废弃掉过期的模型,这样就能不更新代码和中断服务控制线上的排序。当用户发起访问请求时,根据前面还原的排序模型和各模型的比例,就能为用户提供正确的排序结果。
附图说明
图1所示为本发明的快速迭代的搜索引擎排序系统的结构示意图;
图2所示为流程控制图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图所示,本发明快速迭代的搜索引擎排序方法包括离线步骤和在线步骤,
所述的离线步骤包括,
步骤101,训练出多个候选上线排序模型,
该步骤中,包括以下子步骤,
收集用户点击记录;搜集的用户点击记录包括用户原搜索关键词、用户点击的文档,为相同的搜索关键词分组,根据用户点击量的多少为文档计算出该查询下的相关度。
根据用户点击记录还原用户搜索场景,生成训练数据;其中要同时计算相关和不相关文档各个维度上的得分,完全真实的恢复用户搜索场景,以用训练数据训练;
使用多种训练算法和训练参数,得到若干候选上线排序模型,
然后用交叉验证的方式判断训练出的排序模型是否符合要求;
如果不符合要求,调整之前的训练参数,可调整的参数包括向量维度、神经网络层数和选用算法等,符合要求的排序模型,需要在训练集和测试集上的指标都达到某个阈值,且训练集和测试集的指标之差小于某个阈值。
步骤102,对各排序模型存储和比例分配,定时将排序模型及比例存入搜索服务器缓存数据库以备在线步骤读取;
在该步骤中,首先通过后台界面将该模型的比例和字符描述写入关系型数据库;然后由定时任务等策略定时将关系型数据库的数据写入key-value数据库;利用key-value数据库存模型的比例和字符描述,目的是提高热点数据的访问速度。本发明中将key-value数据库用于排序模型的存储,作为离线部分和在线部分的接口,离线部分负责写入、在线部分负责读取,是不中断服务更新在线排序模型的关键步骤。
所述的在线步骤包括,
步骤201,接收用户请求并根据用户信息分配排序模型,
其中,无论采用哪种排序算法和评价指标,都需要实际系统的测试。A/B测试系统通过单一变量原则,为一部分用户分配A算法,为另一部分用户分配B算法,在其它变量相同的条件下对比A、B两种算法的性能。A/B测试系统中最关键的部分为分流部分,如何为两种算法分配条件一样的用户是测试是否成功的关键。因为搜索引擎有翻页的需求,所以必须要求为每个用户分配相同的排序算法。本发明采用cookie的方式,为每个用户分配唯一的用户ID,根据此ID完成算法的分配。这样既保证分配的均匀、又保证分配的算法固定。
步骤202,从索引中检索出相关文件,读取搜索服务器缓存数据库中的排序模型并计算排序然后返回给用户,相关文件为文档、视频网页等,
在该步骤中,要先计算出文件各个维度上的得分,即将文件向量化,再用排序模型计算每个文件的最终得分以作为排序的基础。
步骤203,统计本次用户的搜索行为。统计内容包括用户查询词、用户点击的文档和该文档在输出文档列表中的位置。
本发明设计通过既定的排序模型描述方式,能够用字符串来描述一个排序模型。然后将该模型通过图形界面和定时任务依次存入关系型数据库和key-value数据库,这样既能保证数据存储的持久性、又能让线上服务快速获取数据。线上搜索服务定时读取key-value数据库,根据读取的字符串还原排序模型并更新既有排序模型,同时废弃掉过期的模型,这样就能不更新代码和中断服务控制线上的排序。当用户发起访问请求时,根据前面还原的排序模型和各模型的比例,就能为用户提供正确的排序结果。
传统的离线训练模型质量可控,但迭代周期较长;在线训练迭代周期较短,但模型质量不可控。本发明采用了离线训练的方式,在模型训练完成后可以通过交叉验证的方式人工把控模型的质量,线上模型更新时也不需要修改代码和中断服务,能够在以较快的迭代周期上线高质量的排序模型。
本发明还同时公开了快速迭代的搜索引擎排序系统,包括,
包括离线模块和在线模块,
所述的离线模块包括,
训练子模块,用以训练出多个候选上线排序模型,
模型管理子模块,用以对各排序模型存储和比例分配,并定时将排序模型及比例存入搜索服务器缓存key-value数据库以备在线模块读取;
所述的训练子模块,
收集模块,用以收集用户点击记录,
信息处理模块;用以根据用户点击记录还原用户搜索场景并生成训练数据,
生成模块,用以采用预定的不同算法和训练参数训练出多个候选上线模型。
所述的在线步骤包括,
A/B测试子模块,用以接收用户请求并根据用户信息分配排序模型,
信息检索子模块,用以从索引中检索出相关文件,根据排序模型计算排序然后返回给用户,
统计子模块,用以统计本次用户的搜索行为。
提出了一种搜索引擎排序系统的架构,通过关系型数据库和key-value数据库的使用使线上搜索引擎定时更新自己的排序模型和比例。本发明能够由人工来把控线上排序模型的质量,动态调整上线模型的比例,同时在更新模型时又不需要修改代码和中断服务,达到缩短迭代周期的目的。
本发明采用离线学习的方式,既可以人工把控上线模型,又能在更新线上模型时不需要修改代码和中断服务,还能动态调整各模型的比例,达到缩短迭代周期的目的。
以上所述仅是本发明的优选实施方式,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种快速迭代的搜索引擎排序方法,其特征在于,包括离线步骤和在线步骤,
所述的离线步骤包括,
训练出多个候选上线排序模型,
对各排序模型存储和比例分配,定时将排序模型及比例存入搜索服务器缓存数据库以备在线步骤读取;
所述的在线步骤包括,
接收用户请求并根据用户信息分配排序模型,
从索引中检索出相关文件,读取搜索服务器缓存数据库中的排序模型并计算排序然后返回给用户,
统计本次用户的搜索行为。
2.如权利要求1所述的搜索引擎排序方法,其特征在于,定时将排序模型及比例存入搜索服务器的key-value数据库。
3.如权利要求1所述的搜索引擎排序方法,其特征在于,所述的训练出多个候选上线排序模型包括以下子步骤,
收集用户点击记录,
根据用户点击记录还原用户搜索场景生成训练数据,
采用预定的不同算法和训练参数训练出多个候选上线排序模型。
4.如权利要求1所述的搜索引擎排序方法,其特征在于,所述的在线步骤根据用户的cookie为用户分配排序模型以保证同一个用户分配固定的排序模型。
5.如权利要求1所述的搜索引擎排序方法,其特征在于,所述的搜索行为包括用户查询词、用户点击的文件和该文件在输出文件列表中的位置。
6.一种快速迭代的搜索引擎排序系统,其特征在于,包括,
包括离线模块和在线模块,
所述的离线模块包括,
训练子模块,用以训练出多个候选上线排序模型,
模型管理子模块,用以对各排序模型存储和比例分配,并定时将排序模型及比例存入搜索服务器缓存数据库以备在线模块读取;
所述的在线步骤包括,
A/B测试子模块,用以接收用户请求并根据用户信息分配排序模型,
信息检索子模块,用以从索引中检索出相关文件,根据排序模型计算排序然后返回给用户,
统计子模块,用以统计本次用户的搜索行为。
7.如权利要求6所述的快速迭代的搜索引擎排序系统,其特征在于,定时将排序模型及比例存入搜索服务器的key-value数据库。
8.如权利要求6所述的快速迭代的搜索引擎排序系统,其特征在于,所述的训练子模块,
收集模块,用以收集用户点击记录,
信息处理模块;用以根据用户点击记录还原用户搜索场景并生成训练数据,
生成模块,用以采用预定的不同算法和训练参数训练出多个候选上线排序模型。
9.如权利要求6所述的快速迭代的搜索引擎排序系统,其特征在于,所述的在线步骤根据用户的cookie为用户分配排序模型以保证同一个用户分配固定的排序模型。
10.如权利要求6所述的搜索引擎排序方法,其特征在于,所述的搜索行为包括用户查询词、用户点击的文件和该文件在输出文件列表中的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611149705.5A CN106777088A (zh) | 2016-12-13 | 2016-12-13 | 快速迭代的搜索引擎排序方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611149705.5A CN106777088A (zh) | 2016-12-13 | 2016-12-13 | 快速迭代的搜索引擎排序方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106777088A true CN106777088A (zh) | 2017-05-31 |
Family
ID=58880959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611149705.5A Pending CN106777088A (zh) | 2016-12-13 | 2016-12-13 | 快速迭代的搜索引擎排序方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106777088A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107528727A (zh) * | 2017-08-22 | 2017-12-29 | 上海幻电信息科技有限公司 | 支持在线和离线方式切换的信息状态验证方法及系统 |
CN111581546A (zh) * | 2020-05-13 | 2020-08-25 | 北京达佳互联信息技术有限公司 | 多媒体资源排序模型的确定方法、装置、服务器及介质 |
CN111797928A (zh) * | 2017-09-08 | 2020-10-20 | 第四范式(北京)技术有限公司 | 生成机器学习样本的组合特征的方法及系统 |
WO2021228264A1 (zh) * | 2020-05-15 | 2021-11-18 | 第四范式(北京)技术有限公司 | 一种应用机器学习的方法、装置、电子设备及存储介质 |
CN115130008A (zh) * | 2022-08-31 | 2022-09-30 | 喀斯玛(北京)科技有限公司 | 一种基于机器学习模型算法的搜索排序方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100325105A1 (en) * | 2009-06-19 | 2010-12-23 | Alibaba Group Holding Limited | Generating ranked search results using linear and nonlinear ranking models |
CN103744913A (zh) * | 2013-12-27 | 2014-04-23 | 高新兴科技集团股份有限公司 | 一种基于搜索引擎技术的数据库检索方法 |
CN104462293A (zh) * | 2014-11-27 | 2015-03-25 | 百度在线网络技术(北京)有限公司 | 搜索处理方法、生成搜索结果排序模型的方法和装置 |
CN104615767A (zh) * | 2015-02-15 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 搜索排序模型的训练方法、搜索处理方法及装置 |
CN104636407A (zh) * | 2013-11-15 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 参数取值训练及搜索请求处理方法和装置 |
-
2016
- 2016-12-13 CN CN201611149705.5A patent/CN106777088A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100325105A1 (en) * | 2009-06-19 | 2010-12-23 | Alibaba Group Holding Limited | Generating ranked search results using linear and nonlinear ranking models |
CN104636407A (zh) * | 2013-11-15 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 参数取值训练及搜索请求处理方法和装置 |
CN103744913A (zh) * | 2013-12-27 | 2014-04-23 | 高新兴科技集团股份有限公司 | 一种基于搜索引擎技术的数据库检索方法 |
CN104462293A (zh) * | 2014-11-27 | 2015-03-25 | 百度在线网络技术(北京)有限公司 | 搜索处理方法、生成搜索结果排序模型的方法和装置 |
CN104615767A (zh) * | 2015-02-15 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 搜索排序模型的训练方法、搜索处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
祝云凯: ""基于统计特征的语义搜索引擎的研究与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107528727A (zh) * | 2017-08-22 | 2017-12-29 | 上海幻电信息科技有限公司 | 支持在线和离线方式切换的信息状态验证方法及系统 |
CN111797928A (zh) * | 2017-09-08 | 2020-10-20 | 第四范式(北京)技术有限公司 | 生成机器学习样本的组合特征的方法及系统 |
CN111581546A (zh) * | 2020-05-13 | 2020-08-25 | 北京达佳互联信息技术有限公司 | 多媒体资源排序模型的确定方法、装置、服务器及介质 |
CN111581546B (zh) * | 2020-05-13 | 2023-10-03 | 北京达佳互联信息技术有限公司 | 多媒体资源排序模型的确定方法、装置、服务器及介质 |
WO2021228264A1 (zh) * | 2020-05-15 | 2021-11-18 | 第四范式(北京)技术有限公司 | 一种应用机器学习的方法、装置、电子设备及存储介质 |
CN115130008A (zh) * | 2022-08-31 | 2022-09-30 | 喀斯玛(北京)科技有限公司 | 一种基于机器学习模型算法的搜索排序方法 |
CN115130008B (zh) * | 2022-08-31 | 2022-11-25 | 喀斯玛(北京)科技有限公司 | 一种基于机器学习模型算法的搜索排序方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104166668B (zh) | 基于folfm模型的新闻推荐系统及方法 | |
US20210209109A1 (en) | Method, apparatus, device, and storage medium for intention recommendation | |
CN106777088A (zh) | 快速迭代的搜索引擎排序方法及系统 | |
CN109829104B (zh) | 基于语义相似度的伪相关反馈模型信息检索方法及系统 | |
JP6073345B2 (ja) | 検索結果をランク付けする方法および装置ならびに検索方法および装置 | |
CN105989040B (zh) | 智能问答的方法、装置及系统 | |
KR101700352B1 (ko) | 이력적 검색 결과들을 사용한 향상된 문서 분류 데이터 생성 | |
US8145623B1 (en) | Query ranking based on query clustering and categorization | |
CN109189990B (zh) | 一种搜索词的生成方法、装置及电子设备 | |
CN105005578A (zh) | 多媒体目标信息可视化分析系统 | |
CN110471939A (zh) | 数据访问方法、装置、计算机设备及存储介质 | |
WO2014085776A2 (en) | Web search ranking | |
CN107578292A (zh) | 一种用户画像构建系统 | |
CN105320719A (zh) | 一种基于项目标签和图形关系的众筹网站项目推荐方法 | |
CN110795613B (zh) | 商品搜索方法、装置、系统及电子设备 | |
CN105760443A (zh) | 项目推荐系统、项目推荐装置以及项目推荐方法 | |
CN109359302A (zh) | 一种领域化词向量的优化方法及基于其的融合排序方法 | |
CN104268142A (zh) | 基于可拒绝策略的元搜索结果排序算法 | |
CN114691986A (zh) | 基于子空间适应性间距的跨模态检索方法及存储介质 | |
CN110737432A (zh) | 一种基于词根表的脚本辅助设计方法及装置 | |
CN104834719A (zh) | 应用于实时大数据场景下的数据库系统 | |
CN111078944A (zh) | 视频内容热度预测方法和装置 | |
CN104077555A (zh) | 一种识别图片搜索中坏例的方法和装置 | |
Sun et al. | Research on question retrieval method for community question answering | |
CN103500219B (zh) | 一种标签自适应精准匹配的控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |
|
RJ01 | Rejection of invention patent application after publication |