基于决策树的搜索结果排序方法及其装置制造方法及图纸

技术编号:13326821 阅读:63 留言:0更新日期:2016-07-11 16:13
本发明专利技术涉及数据搜索技术领域,公开了一种基于决策树的搜索结果排序方法及其装置。本发明专利技术中排序方法包括以下步骤:获取建立至少一棵用于排序的决策树所需的训练集;将决策树的计算系统分为N个特征进程组,该N个特征进程组分别对应N个训练特征;通过特征进程组计算每棵决策树的最优分裂结点和对应最优分裂结点的最优分裂值,并根据最优分裂结点和最优分裂值建立每棵决策树;基于所有决策树对搜索结果进行排序。本发明专利技术的排序方法可在排序训练集中训练数据量极大时,如亿万级别的,极大程度的降低计算所消耗的时间。尤其是在搜索引擎对应的数据库数据量庞大的情况下,可快速准确训练出优质的用于排序的决策树模型。

【技术实现步骤摘要】

本专利技术涉及数据搜索
,特别涉及基于决策树的搜索结果排序技术。
技术介绍
随着互联网技术的快速发展,搜索引擎成为用户获取相关信息的主要途径。一般,用户会通过输入关键词或语句在搜索引擎中搜索自己关心的信息,不同搜索引擎一般会根据不同排序因素对搜索到的结果进行排序后再呈现给用户。对于现有的搜索引擎,由于用户输入关键词的习惯不同,各搜索引擎对搜索结果与搜索关键词相关度之间的计算方式不同,取得的排序效果也各不相同。为了取得好的令用户满意的搜索结果,目前通常采用机器学习的方式建立排序模型,然后将建立的模型用于排序。机器学习中有一种经典模型,决策树(decisiontree)模型,可处理分类和回归的问题,其中的GBDT(Gradientboostingdecisiontree,梯度提升决策树)的本质就是用回归决策树来解决排序问题。但是,无论是采用何种决策树来建立排序模型,都需要通过对包含已知搜索关键词和搜索结果间相关度训练集进行训练来建立,一般的训练集的数据量为亿级别的,要基于这么大数量级的数据训练出排序模型,常常要耗费大量的时间,而且,针对不同的搜索关键词或领域需要建立的排序模型量也非常巨大,还要面对各种数据更新的问题。因此,如何提高排序模型的建立效率,是亟待解决的技术问题。
技术实现思路
本专利技术的目的在于提供一种基于决策树的搜索结果排序方法及其装置,可在训练集中训练数据量极大时,如亿万级别,极大程度的降低计算所消耗的时间,提高排序效率和排序的灵活性,降低排序成本。为解决上述技术问题,本专利技术的实施方式公开了一种基于决策树的搜索结果排序方法,包括以下步骤:获取建立至少一棵用于排序的决策树所需的训练集,训练集包括N个训练特征,其中,N大于等于2;将决策树的计算系统分为N个特征进程组,该N个特征进程组分别对应N个训练特征;通过特征进程组计算每棵决策树的最优分裂结点和对应最优分裂结点的最优分裂值,并根据最优分裂结点和最优分裂值建立每棵决策树;基于所有决策树对搜索结果进行排序。本专利技术的实施方式还公开了一种基于决策树的搜索结果排序装置,包括:获取单元,用于获取建立至少一棵用于排序的决策树所需的训练集,训练集包括N个训练特征,其中,N大于等于2;分割单元,用于将决策树的计算系统分为N个特征进程组,该N个特征进程组分别对应N个训练特征;计算单元,用于通过特征进程组计算每棵决策树的最优分裂结点和对应最优分裂结点的最优分裂值,并根据最优分裂结点和最优分裂值建立每棵决策树;排序单元,用于基于所有决策树对搜索结果进行排序。本专利技术实施方式与现有技术相比,主要区别及其效果在于:将用于排序的决策树的计算系统以训练特征为基础进行分割并基于分割后的特征进程组进行信息的并行计算和传输,可在训练集中训练数据量极大时,如亿万级别的,极大程度的降低计算所消耗的时间。尤其是在搜索引擎对应的数据库数据量庞大的情况下,可快速准确训练出一个优质的用于排序的决策树模型,提高排序效率和排序的灵活性,降低排序成本。进一步地,将计算系统在训练特征和训练样本两个维度上同时进行分割,可进一步提高训练数据的训练效率,例如,对于3亿左右的数据,可在几个小时训练出一个优秀的决策树模型。附图说明图1是本专利技术第一实施方式中一种基于决策树的搜索结果排序方法的流程示意图;图2是本专利技术第二实施方式中基于MPI协议对决策树的计算系统进行分割后的进程组的工作示意图;图3是本专利技术第二实施方式中基于MPI协议对决策树的计算系统进行分割后每个特征进程组分布存储数据的示意图;图4是本专利技术第三实施方式中一种基于决策树的搜索结果排序装置的结构示意图。具体实施方式在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。本专利技术第一实施方式涉及一种基于决策树的搜索结果排序方法。图1是该基于决策树的搜索结果排序方法的流程示意图。如图1所示,该基于决策树的搜索结果排序方法包括以下步骤:在步骤101中,获取建立至少一棵用于排序的决策树所需的训练集,训练集包括N个训练特征,其中,N大于等于2。此后进入步骤102,将决策树的计算系统分为N个特征进程组(feature进程组),该N个特征进程组分别对应N个训练特征。此后进入步骤103,通过特征进程组计算每棵决策树的最优分裂结点和对应最优分裂结点的最优分裂值,并根据最优分裂结点和最优分裂值建立每棵决策树。此后进入步骤104,基于所有决策树对搜索结果进行排序。此后结束本流程。在本专利技术的一优选例中,决策树的数目大于等于2,并且,上述步骤103包括以下子步骤:判断已计算出的当前决策树的最优分裂结点的数目是否超过预定阈值;如果判断结果为是,则结束对当前决策树的最优分裂结点和相应的最优分裂值的计算,开始建立下棵决策树或进入步骤104;如果判断结果为否,则每个特征进程组独立计算该特征进程组对应的训练特征的当前最优分裂值。并且,所有特征进程组间进行通信,根据所有计算出的训练特征的当前最优分裂值选取当前决策树的当前最优分裂值并将计算该当前决策树的当前最优分裂值的特征进程组所对应的训练特征作为该当前决策树的当前最优分裂结点。并计算当前最优分裂值的特征进程组根据当前决策树的当前最优分裂值和当前最优分裂结点对训练样本进行分裂以生成当前分裂结点,并将分裂结果发送给整个计算系统。此外,在本专利技术的一优选例中,上述步骤104包括以下子步骤:将所有决策树进行拟合得到用于排序的排序决策树;通过排序决策树计算每个搜索结果与搜索词的相关度并根据相关度对搜索结果进行排序。在本专利技术的一优选例中,上述步骤101包括以下子步骤:基于电子商务平台的搜索历史信息,获取所需的训练集。在本专利技术中,每个进程组可进行组间信息传输和组内通信结点间的信息传输,即组成一个通信域,所有进程组可并行进行数据处理。将用于排序的决策树的计算系统以训练特征为基础进行分割并基于分割后的特征进程组进行信息的并行计算和传输,可在训练集中训练数据量极大时,如亿万级别的本文档来自技高网...

【技术保护点】
一种基于决策树的搜索结果排序方法,其特征在于,包括以下步骤:获取建立至少一棵用于排序的决策树所需的训练集,所述训练集包括N个训练特征,其中,N大于等于2;将所述决策树的计算系统分为N个特征进程组,该N个特征进程组分别对应所述N个训练特征;通过所述特征进程组计算每棵所述决策树的最优分裂结点和对应所述最优分裂结点的最优分裂值,并根据所述最优分裂结点和最优分裂值建立每棵所述决策树;基于所有所述决策树对搜索结果进行排序。

【技术特征摘要】
1.一种基于决策树的搜索结果排序方法,其特征在于,包括以下步骤:
获取建立至少一棵用于排序的决策树所需的训练集,所述训练集包括N
个训练特征,其中,N大于等于2;
将所述决策树的计算系统分为N个特征进程组,该N个特征进程组分
别对应所述N个训练特征;
通过所述特征进程组计算每棵所述决策树的最优分裂结点和对应所述
最优分裂结点的最优分裂值,并根据所述最优分裂结点和最优分裂值建立每
棵所述决策树;
基于所有所述决策树对搜索结果进行排序。
2.根据权利要求1所述的基于决策树的搜索结果排序方法,其特征在
于,所述决策树的数目大于等于2;并且
“所述通过所述特征进程组计算每棵所述决策树的最优分裂结点和对
应所述最优分裂结点的最优分裂值,并根据所述最优分裂结点和最优分裂值
建立每棵所述决策树的步骤”包括以下子步骤:
判断已计算出的当前决策树的最优分裂结点的数目是否超过预定阈值;
如果判断结果为否,则每个特征进程组独立计算该特征进程组对应的训
练特征的当前最优分裂值;
所有特征进程组间进行通信,根据所有计算出的所述训练特征的当前最
优分裂值选取所述当前决策树的当前最优分裂值并将计算该当前决策树的

\t当前最优分裂值的特征进程组所对应的训练特征作为该当前决策树的当前
最优分裂结点;
计算当前最优分裂值的特征进程组根据所述当前决策树的当前最优分
裂值和当前最优分裂结点对所述训练样本进行分裂以生成当前分裂结点,并
将分裂结果发送给整个所述计算系统。
3.根据权利要求2所述的基于决策树的搜索结果排序方法,其特征在
于,所述训练集包括M个训练样本,其中M大于等于2;并且
所述“将所述决策树的计算系统分为N个特征进程组”的步骤包括以
下子步骤:
将每个所述特征进程组分成M个分别对应M个训练样本的通信结点,
其中,属于不同特征进程组而对应同一个训练样本的通信结点组成一个样本
进程组;并且
所述“每个特征进程组独立计算该特征进程组对应的训练特征的当前最
优分裂值”的子步骤包括以下子步骤:
基于已经建立的对应所述训练集的决策树,每个所述样本进程组独立计
算对应该样本进程组的每个训练样本的梯度信息;
基于计算所得的所述梯度信息,每个特征进程组独立计算该特征进程组
对应的训练特征的当前最优分裂值。
4.根据权利要求1所述的基于决策树的搜索结果排序方法,其特征在
于,所述“基于所有所述决策树对搜索结果进行排序”的步骤包括以下子步
骤:
将所有所述决策树进行拟合得到用于排序的排序决策树;
通过所述排序决策树计算每个搜索结果与搜索词的相关度并根据所述
相关度对所述搜索结果进行排序。
5.根据权利要求1至4中任一项所述的基于决策树的搜索结果排序方
法,其特征在于,所述决策树的计算系统基于消息传递接口协议完成对所述
进程组的分割和各进程组间的信息传输。
6.根据权利要求1至4中任一项所述的基于决策树的搜索结果排序方
法,其特征在于,所述“获取建立至少一棵决策树所需的训练集”的步骤包
括以下子步骤:
基于电子商务平台的搜索历史信息,获取所需的...

【专利技术属性】
技术研发人员:王志伟潘晓彤刘忠义魏虎
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1