CN105718493B - 基于决策树的搜索结果排序方法及其装置 - Google Patents
基于决策树的搜索结果排序方法及其装置 Download PDFInfo
- Publication number
- CN105718493B CN105718493B CN201410742828.4A CN201410742828A CN105718493B CN 105718493 B CN105718493 B CN 105718493B CN 201410742828 A CN201410742828 A CN 201410742828A CN 105718493 B CN105718493 B CN 105718493B
- Authority
- CN
- China
- Prior art keywords
- decision tree
- training
- process group
- current
- optimal splitting
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 164
- 238000003066 decision tree Methods 0.000 title claims abstract description 161
- 238000012549 training Methods 0.000 claims abstract description 124
- 230000008569 process Effects 0.000 claims description 140
- 238000004891 communication Methods 0.000 claims description 29
- 238000012163 sequencing technique Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000011218 segmentation Effects 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/045—Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据搜索技术领域,公开了一种基于决策树的搜索结果排序方法及其装置。本发明中排序方法包括以下步骤:获取建立至少一棵用于排序的决策树所需的训练集;将决策树的计算系统分为N个特征进程组,该N个特征进程组分别对应N个训练特征;通过特征进程组计算每棵决策树的最优分裂结点和对应最优分裂结点的最优分裂值,并根据最优分裂结点和最优分裂值建立每棵决策树;基于所有决策树对搜索结果进行排序。本发明的排序方法可在排序训练集中训练数据量极大时,如亿万级别的,极大程度的降低计算所消耗的时间。尤其是在搜索引擎对应的数据库数据量庞大的情况下,可快速准确训练出优质的用于排序的决策树模型。
Description
技术领域
本发明涉及数据搜索技术领域,特别涉及基于决策树的搜索结果排序技术。
背景技术
随着互联网技术的快速发展,搜索引擎成为用户获取相关信息的主要途径。一般,用户会通过输入关键词或语句在搜索引擎中搜索自己关心的信息,不同搜索引擎一般会根据不同排序因素对搜索到的结果进行排序后再呈现给用户。
对于现有的搜索引擎,由于用户输入关键词的习惯不同,各搜索引擎对搜索结果与搜索关键词相关度之间的计算方式不同,取得的排序效果也各不相同。为了取得好的令用户满意的搜索结果,目前通常采用机器学习的方式建立排序模型,然后将建立的模型用于排序。机器学习中有一种经典模型,决策树(decision tree)模型,可处理分类和回归的问题,其中的GBDT(Gradient boosting decision tree,梯度提升决策树)的本质就是用回归决策树来解决排序问题。但是,无论是采用何种决策树来建立排序模型,都需要通过对包含已知搜索关键词和搜索结果间相关度训练集进行训练来建立,一般的训练集的数据量为亿级别的,要基于这么大数量级的数据训练出排序模型,常常要耗费大量的时间,而且,针对不同的搜索关键词或领域需要建立的排序模型量也非常巨大,还要面对各种数据更新的问题。因此,如何提高排序模型的建立效率,是亟待解决的技术问题。
发明内容
本发明的目的在于提供一种基于决策树的搜索结果排序方法及其装置,可在训练集中训练数据量极大时,如亿万级别,极大程度的降低计算所消耗的时间,提高排序效率和排序的灵活性,降低排序成本。
为解决上述技术问题,本发明的实施方式公开了一种基于决策树的搜索结果排序方法,包括以下步骤:
获取建立至少一棵用于排序的决策树所需的训练集,训练集包括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包括以下子步骤:
基于电子商务平台的搜索历史信息,获取所需的训练集。
在本发明中,每个进程组可进行组间信息传输和组内通信结点间的信息传输,即组成一个通信域,所有进程组可并行进行数据处理。
将用于排序的决策树的计算系统以训练特征为基础进行分割并基于分割后的特征进程组进行信息的并行计算和传输,可在训练集中训练数据量极大时,如亿万级别的,极大程度的降低计算所消耗的时间。尤其是在搜索引擎对应的数据库数据量庞大的情况下,可快速准确训练出一个优质的用于排序的决策树模型,提高排序效率和排序的灵活性,降低排序成本。
本发明第二实施方式涉及一种基于决策树的搜索结果排序方法。
第二实施方式在第一实施方式的基础上进行了改进,主要改进之处在于:将计算系统在训练特征和训练样本两个维度上同时进行分割,进一步提高训练数据的训练效率,进而提高排序效率。例如,对于3亿左右的数据,可在几个小时训练出一个优秀的决策树模型。
具体地说,上述训练集包括M个训练样本,其中M大于等于2。并且上述步骤102包括以下子步骤:
将每个特征进程组分成M个分别对应M个训练样本的通信结点,其中,属于不同特征进程组而对应同一个训练样本的通信结点组成一个样本进程组。并且上述“每个特征进程组独立计算该特征进程组对应的训练特征的当前最优分裂值”的子步骤包括以下子步骤:
基于已经建立的对应训练集的决策树,每个样本进程组独立计算对应该样本进程组的每个训练样本的梯度信息;
基于计算所得的梯度信息,每个特征进程组独立计算该特征进程组对应的训练特征的当前最优分裂值。
此外,可以理解,在本发明的其他实施方式中,也可以基于已建立的决策树,通过样本进程组计算的每个训练样本的错分信息,即针对Adaboost(一种决策树)模型,然后基于错分信息计算当前需建立的决策树的最优分裂结点和最优分裂值。此外,也可以独立建立每棵决策树,然后将所有决策树进行拟合,得到排序所需的最终决策树,即针对随机森林模型。
在本发明的其他实施方式中,也可以将每个特征进程组分成小于M的通信结点,即每个样本进程组可对应至少两个的训练样本,即针对M个训练样本,每个特征进程组分成K组(M>K),并不要求M=K,例如K=2,则M个样本分成2组,每一特征进程组包含两个样本进程组的样本。。
对于初始的第一棵决策树的建立,可假设各训练样本的初始值为0计算各训练样本的梯度,然后建立第一棵决策树。
在本发明的一优选例中,决策树的计算系统基于消息传递接口MPI协议完成对所述进程组的分割和各进程组间的信息传输。如图2所示,基于MPI将计算系统划分为N×M个通信结点,包括N个特征Feature进程组和M个样本进程组,训练集中每行训练数据形式为“<Target><qid:query ID><featureID1:value1><featureID2:value2>…<featureIDi:valuei>…<featureIDn:valuen>”,其中<Target>表示当前样本的目标值,<qid:query ID>表示当前查询ID,<featureIDi:valuei>表示第i个特征值”。每个进程组可以组内通信,每个特征进程组包括M个通信结点,每个样本进程组包括N个通信结点。其中,整个计算过程中的数据采用分布式存储方式,全部的训练数据按特征进场组划分,每一列特征由特征进程组进行存储;另外对于一列特征进行进一步的切分,特征进程组内每个通信结点存储部分数据,如图3所示:按查询(query)进行切分数据,特征进程组中每个通信结点(如F1_workm、F2_work 1等)存储数据如下:(1)切分后训练样本的特征值(2)切分后训练样本查询标识(query id)值(3)切分后训练样本的目标变量值;另外每个样本进程还需要存储训练使用的一些额外信息:(1)切分后训练样本的负梯度值(2)切分后训练样本的当前预测值。
下面以GBDT模型为例,描述本实施方式基于MPI协议具体建立GBDT排序决策树的过程。
在GBDT排序决策树的建立中,有两个重要步骤:求训练样本的负梯度和建立决策树。
(1)求训练样本的负梯度
样本进程组内(work group)的通信结点存储的数据是均等切分的数据(在本发明的其他事实方式中,也可以采用其他方式进行切分,是具体情况而定),若总体样本查询(query)数为q_total,则样本进程组0存储的(0,q_total/M)序列数据,样本进程组1存储的(q_total/M,q_total/M*2)序列的数据,以此类推。样本进程组之间是独立的,对于当前需建立的决策树,基于之前建立的决策树分别计算各自样本进场组内切分的样本的负梯度(如果分为M个样本进程组,则每个组只计算一个样本的负梯度,如果分为小于M个的样本进程组,则每个样本进程组需计算大于一个的样本的负梯度)。其中,样本进程组内所有通信结点间可以协同计算梯度,每个实际的通信结点计算部分样本的梯度信息,计算完成后,组内通信得到该样本进程组所有样本的梯度信息。
(2)建立决策树
建立决策树的过程主要是计算当前需建立的决策树的最优分裂结点和对应的最优分裂值,并进行结点分裂。
a)进程组计算最优分裂点
每个特征进程组计算该特征进程组对应的训练特征的最优分裂点,统计全部的特征进程组,便可得到全局最优分裂结点fid和最优分裂值split_value。
特征进程组计算当前特征最优分裂值split_value时,由于特征进程组中每个通信结点只存储部分数据,需要组内所有通信结点的数据才能计算出最优的分裂值。具体的特征进程组计算方式为:
(1)每个feature进程组的所有通信结点计算侯选分裂值的局部样本的left_sum(分裂后左结点的负梯度)和left_count(左结点的样本数量),构成三元组<split_value,left_sum,left_count>,在这里没有计算right_sum(分裂后右结点的负梯度),right_count(右结点的样本数量),因为left_sum可以通过当前node_sum(结点总样本数量)减去left_sum得到,以减少组内的通信量。
(2)每个feature进程组中0号通信结点收集组内其它通信结点计算的三元组信息,计算每个侯选分裂值的收益Critmax=left_sum*left_sum/left_count+right_sum*right_sum/right_count,选取critmax最大的一个侯选分裂值为该feature进程组对应的训练特征的最佳分裂点。可以理解,在本发明的其他实施方式中,也可以通过其他通信结点收集组内其他通信结点计算的三元组信息,没有特殊的限制。
(3)选取feature进程组中Critmax最大的feature进程组的最佳分裂节点,做为当前决策树的当前最优分裂值,并将该Critmax最大的feature进程组对应的训练特征作为当前决策树的当前最优分裂结点。可以理解,在本发明的其他实施方式中,也可以采取其他方式进行最优分裂结点和最优分裂值的计算,不限于收益Critmax的计算方式。
b)最优分裂结点进行分裂
特征进程组每个通信结点维护当前进程训练集中样本的node id表,当进行分裂时,更新node id表。当确立决策树最优分裂特征(即最优分裂结点)fid和对应的最优分裂值split_value时,只有最优分裂结点对应的特征进程组可以根据这一分裂结点进行分裂,更新node id表,其它特征进程组没有存储fid的特征值。具体分裂方式如下:(1)fid特征进程组进行分裂,并计录每个样本分入左结点和右结点的标志,用0,1表示,其中0表示左路结点,1表示右结点,存入位图bitmap,并广播给其它的特征进程组。
对于由多个决策树形成的IGBT排序模型,主要的生成流程如下:
(1)加载计算系统的各运行参数和样本集的数据;(2)对于第i棵决策树,通过样本进程组计算各样本基于前i-1棵树的负梯度值(当i=1时,设定样本的初始值为0,计算负梯度,例如以损失函数为一个常数进行计算),然后,基于已经计算出的负梯度值通过特征进程组计算该决策树的最优分裂结点和对应的最优分裂值。在计算第j个最优分裂结点的过程中,需判断该棵决策树的分裂结点数是否达到预先设置的分裂结点数上限,或是否还具有特征适合作为最优分裂结点,如果不满足上述条件,则计算第j个最优分裂结点,否则不再进行最优分裂结点的计算,直接生成第i棵决策树,然后计算下一棵决策树或者直接将生成的i棵决策树进行拟合生成排序决策树,即IGBT排序模型。
此外,可以理解,在本发明的其他实施方式中,也可以根据其他并行传输通信协议对计算系统进行分割。
本发明的各方法实施方式均可以以软件、硬件、固件等方式实现。不管本发明是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(Programmable ArrayLogic,简称“PAL”)、随机存取存储器(Random Access Memory,简称“RAM”)、可编程只读存储器(Programmable Read Only Memory,简称“PROM”)、只读存储器(Read-Only Memory,简称“ROM”)、电可擦除可编程只读存储器(Electrically Erasable Programmable ROM,简称“EEPROM”)、磁盘、光盘、数字通用光盘(Digital Versatile Disc,简称“DVD”)等等。
本发明第三实施方式涉及一种基于决策树的搜索结果排序装置。图4是该基于决策树的搜索结果排序装置的结构示意图。
如图4所示,该基于决策树的搜索结果排序装置包括:
获取单元,用于获取建立至少一棵用于排序的决策树所需的训练集,训练集包括N个训练特征,其中,N大于等于2。
分割单元,用于将决策树的计算系统分为N个特征进程组,该N个特征进程组分别对应N个训练特征。
计算单元,用于通过特征进程组计算每棵决策树的最优分裂结点和对应最优分裂结点的最优分裂值,并根据最优分裂结点和最优分裂值建立每棵决策树。
排序单元,用于基于所有决策树对搜索结果进行排序。
在本发明的一优选例中,上述决策树的数目大于等于2;并且,上述计算单元包括以下子单元:
数目判断子单元,用于判断已计算出的当前决策树的最优分裂结点的数目是否超过预定阈值。
计算结束子单元,用于在数目判断子单元的判断结果为是时,结束对当前决策树的最优分裂结点和相应的最优分裂值的计算,开始建立下棵决策树或执行排序单元的相应操作。
独立计算子单元,用于在数目判断子单元的判断结果为否时,控制每个特征进程组独立计算该特征进程组对应的训练特征的当前最优分裂值。
结点确定子单元,用于控制所有特征进程组间进行通信,以根据所有计算出的训练特征的当前最优分裂值选取当前决策树的当前最优分裂值并将计算该当前决策树的当前最优分裂值的特征进程组所对应的训练特征作为该当前决策树的当前最优分裂结点。
结点分裂子单元,用于控制计算当前最优分裂值的特征进程组根据当前决策树的当前最优分裂值和当前最优分裂结点对训练样本进行分裂以生成当前分裂结点,并将分裂结果发送给整个计算系统。
在本发明的另一优选例中,上述排序单元包括以下子单元:
决策树拟合子单元,用于将所有决策树进行拟合得到用于排序的排序决策树。
决策树排序子单元,用于通过排序决策树计算每个搜索结果与搜索词的相关度并根据相关度对搜索结果进行排序。
在本发明的另一优选例中,上述获取单元包括以下子单元:
训练集获取子单元,用于基于电子商务平台的搜索历史信息,获取所需的训练集。
第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
本发明第四实施方式涉及一种基于决策树的搜索结果排序装置。
第四实施方式在第三实施方式的基础上进行了改进,主要改进之处在于:将计算系统在训练特征和训练样本两个维度上同时进行分割,进一步提高训练数据的训练效率,进而提高排序效率。例如,对于3亿左右的数据,可在几个小时训练出一个优秀的决策树模型。
具体地说,上述训练集包括M个训练样本,其中M大于等于2。并且,上述分割单元包括以下子单元:
进程组分割子单元,用于将每个特征进程组分成M个分别对应M个训练样本的通信结点,其中,属于不同特征进程组而对应同一个训练样本的通信结点组成一个样本进程组。并且上述独立计算子单元包括以下子模块:
梯度计算子模块,用于基于已经建立的对应训练集的决策树,控制每个样本进程组独立计算对应该样本进程组的每个训练样本的梯度信息。
分裂值计算子模块,用于基于计算所得的梯度信息,控制每个特征进程组独立计算该特征进程组对应的训练特征的当前最优分裂值。
在本发明的另一优选例中,决策树的计算系统基于消息传递接口MPI协议完成进程组的分割和各进程组间的信息传输。
第二实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。
需要说明的是,本发明各设备实施方式中提到的各单元或模块都是逻辑单元或逻辑模块,在物理上,一个逻辑单元或逻辑模块可以是一个物理单元或物理模块,也可以是一个物理单元或物理模块的一部分,还可以以多个物理单元或多个物理模块的组合实现,这些逻辑单元或逻辑模块本身的物理实现方式并不是最重要的,这些逻辑单元或逻辑模块所实现的功能的组合才是解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明上述各设备实施方式并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,这并不表明上述设备实施方式并不存在其它的单元。
需要说明的是,在本专利的权利要求和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种基于决策树的搜索结果排序方法,其特征在于,包括以下步骤:
获取建立至少一棵用于排序的决策树所需的训练集,所述训练集包括N个训练特征,其中,N大于等于2;
将所述决策树的计算系统分为N个特征进程组,该N个特征进程组分别对应所述N个训练特征;
通过所述特征进程组计算每棵所述决策树的最优分裂结点和对应所述最优分裂结点的最优分裂值,并根据所述最优分裂结点和最优分裂值建立每棵所述决策树;
基于所有所述决策树对搜索结果进行排序;其中,
所述决策树的数目大于等于2;并且
“所述通过所述特征进程组计算每棵所述决策树的最优分裂结点和对应所述最优分裂结点的最优分裂值,并根据所述最优分裂结点和最优分裂值建立每棵所述决策树的步骤”包括以下子步骤:
判断已计算出的当前决策树的最优分裂结点的数目是否超过预定阈值;
如果判断结果为否,则每个特征进程组独立计算该特征进程组对应的训练特征的当前最优分裂值;
所有特征进程组间进行通信,根据所有计算出的所述训练特征的当前最优分裂值选取所述当前决策树的当前最优分裂值并将计算该当前决策树的当前最优分裂值的特征进程组所对应的训练特征作为该当前决策树的当前最优分裂结点;
计算当前最优分裂值的特征进程组根据所述当前决策树的当前最优分裂值和当前最优分裂结点对所述训练样本进行分裂以生成当前分裂结点,并将分裂结果发送给整个所述计算系统。
2.根据权利要求1所述的基于决策树的搜索结果排序方法,其特征在于,所述训练集包括M个训练样本,其中M大于等于2;并且
所述“将所述决策树的计算系统分为N个特征进程组”的步骤包括以下子步骤:
将每个所述特征进程组分成M个分别对应M个训练样本的通信结点,其中,属于不同特征进程组而对应同一个训练样本的通信结点组成一个样本进程组;并且
所述“每个特征进程组独立计算该特征进程组对应的训练特征的当前最优分裂值”的子步骤包括以下子步骤:
基于已经建立的对应所述训练集的决策树,每个所述样本进程组独立计算对应该样本进程组的每个训练样本的梯度信息;
基于计算所得的所述梯度信息,每个特征进程组独立计算该特征进程组对应的训练特征的当前最优分裂值。
3.根据权利要求1所述的基于决策树的搜索结果排序方法,其特征在于,所述“基于所有所述决策树对搜索结果进行排序”的步骤包括以下子步骤:
将所有所述决策树进行拟合得到用于排序的排序决策树;
通过所述排序决策树计算每个搜索结果与搜索词的相关度并根据所述相关度对所述搜索结果进行排序。
4.根据权利要求1至3中任一项所述的基于决策树的搜索结果排序方法,其特征在于,所述决策树的计算系统基于消息传递接口协议完成对所述进程组的分割和各进程组间的信息传输。
5.根据权利要求1至3中任一项所述的基于决策树的搜索结果排序方法,其特征在于,所述“获取建立至少一棵决策树所需的训练集”的步骤包括以下子步骤:
基于电子商务平台的搜索历史信息,获取所需的训练集。
6.一种基于决策树的搜索结果排序装置,其特征在于,包括:
获取单元,用于获取建立至少一棵用于排序的决策树所需的训练集,所述训练集包括N个训练特征,其中,N大于等于2;
分割单元,用于将所述决策树的计算系统分为N个特征进程组,该N个特征进程组分别对应所述N个训练特征;
计算单元,用于通过所述特征进程组计算每棵所述决策树的最优分裂结点和对应所述最优分裂结点的最优分裂值,并根据所述最优分裂结点和最优分裂值建立每棵所述决策树;
排序单元,用于基于所有所述决策树对搜索结果进行排序;其中,
所述决策树的数目大于等于2,并且,
所述计算单元包括以下子单元:
数目判断子单元,用于判断已计算出的当前决策树的最优分裂结点的数目是否超过预定阈值;
独立计算子单元,用于在所述数目判断子单元的判断结果为否时,控制每个特征进程组独立计算该特征进程组对应的训练特征的当前最优分裂值;
结点确定子单元,用于控制所有特征进程组间进行通信,以根据所有计算出的所述训练特征的当前最优分裂值选取所述当前决策树的当前最优分裂值并将计算该当前决策树的当前最优分裂值的特征进程组所对应的训练特征作为该当前决策树的当前最优分裂结点;
结点分裂子单元,用于控制计算当前最优分裂值的特征进程组根据所述当前决策树的当前最优分裂值和当前最优分裂结点对所述训练样本进行分裂以生成当前分裂结点,并将分裂结果发送给整个所述计算系统。
7.根据权利要求6所述的基于决策树的搜索结果排序装置,其特征在于,所述训练集包括M个训练样本,其中M大于等于2;并且
所述分割单元包括以下子单元:
进程组分割子单元,用于将每个所述特征进程组分成M个分别对应M个训练样本的通信结点,其中,属于不同特征进程组而对应同一个训练样本的通信结点组成一个样本进程组;并且
所述独立计算子单元包括以下子模块:
梯度计算子模块,用于基于已经建立的对应所述训练集的决策树,控制每个所述样本进程组独立计算对应该样本进程组的每个训练样本的梯度信息;
分裂值计算子模块,用于基于计算所得的所述梯度信息,控制每个特征进程组独立计算该特征进程组对应的训练特征的当前最优分裂值。
8.根据权利要求6所述的基于决策树的搜索结果排序装置,其特征在于,所述排序单元包括以下子单元:
决策树拟合子单元,用于将所有所述决策树进行拟合得到用于排序的排序决策树;
决策树排序子单元,用于通过所述排序决策树计算每个搜索结果与搜索词的相关度并根据相关度对所述搜索结果进行排序。
9.根据权利要求6至8中任一项所述的基于决策树的搜索结果排序装置,其特征在于,所述决策树的计算系统基于消息传递接口协议完成所述进程组的分割和各进程组间的信息传输。
10.根据权利要求6至8中任一项所述的基于决策树的搜索结果排序装置,其特征在于,所述获取单元包括以下子单元:
训练集获取子单元,用于基于电子商务平台的搜索历史信息,获取所需的训练集。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410742828.4A CN105718493B (zh) | 2014-12-05 | 2014-12-05 | 基于决策树的搜索结果排序方法及其装置 |
PCT/US2015/064069 WO2016090290A1 (en) | 2014-12-05 | 2015-12-04 | Method and apparatus for decision tree based search result ranking |
US14/959,375 US20160162793A1 (en) | 2014-12-05 | 2015-12-04 | Method and apparatus for decision tree based search result ranking |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410742828.4A CN105718493B (zh) | 2014-12-05 | 2014-12-05 | 基于决策树的搜索结果排序方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105718493A CN105718493A (zh) | 2016-06-29 |
CN105718493B true CN105718493B (zh) | 2019-07-23 |
Family
ID=56092551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410742828.4A Active CN105718493B (zh) | 2014-12-05 | 2014-12-05 | 基于决策树的搜索结果排序方法及其装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20160162793A1 (zh) |
CN (1) | CN105718493B (zh) |
WO (1) | WO2016090290A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875955B (zh) * | 2017-05-10 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 基于参数服务器的梯度提升决策树的实现方法及相关设备 |
US10891295B2 (en) * | 2017-06-04 | 2021-01-12 | Apple Inc. | Methods and systems using linear expressions for machine learning models to rank search results |
CN108009931B (zh) * | 2017-12-25 | 2021-08-06 | 上海七炅信息科技有限公司 | 采用变量增益算法与广度层内增益算法的保险数据决策树构建方法 |
CN108170866B (zh) * | 2018-01-30 | 2022-03-11 | 深圳市茁壮网络股份有限公司 | 一种样本查找方法及装置 |
US11030691B2 (en) | 2018-03-14 | 2021-06-08 | Chicago Mercantile Exchange Inc. | Decision tree data structure based processing system |
JP7069897B2 (ja) * | 2018-03-16 | 2022-05-18 | 株式会社リコー | 学習識別装置および学習識別方法 |
JP7040168B2 (ja) * | 2018-03-16 | 2022-03-23 | 株式会社リコー | 学習識別装置および学習識別方法 |
US11354601B2 (en) * | 2018-03-16 | 2022-06-07 | Ricoh Company, Ltd. | Learning classification device and learning classification method |
US20210012214A1 (en) * | 2018-03-29 | 2021-01-14 | Nec Corporation | Learning apparatus, learning method, and computer-readable recording medium |
CN108536650B (zh) * | 2018-04-03 | 2022-04-26 | 北京京东尚科信息技术有限公司 | 生成梯度提升树模型的方法和装置 |
JP7035827B2 (ja) * | 2018-06-08 | 2022-03-15 | 株式会社リコー | 学習識別装置および学習識別方法 |
CN109308545B (zh) * | 2018-08-21 | 2023-07-07 | 中国平安人寿保险股份有限公司 | 预测患糖尿病几率的方法、装置、计算机设备及存储介质 |
CN110930103A (zh) * | 2018-09-18 | 2020-03-27 | 北京京东尚科信息技术有限公司 | 服务单审核方法及系统、介质和计算机系统 |
CN112418274B (zh) * | 2018-09-21 | 2024-09-17 | 创新先进技术有限公司 | 决策树生成方法和装置 |
CN110968767B (zh) * | 2018-09-28 | 2023-03-31 | 北京嘀嘀无限科技发展有限公司 | 排序引擎训练方法及装置、业务卡排序方法及装置 |
US11699106B2 (en) | 2019-03-15 | 2023-07-11 | Microsoft Technology Licensing, Llc | Categorical feature enhancement mechanism for gradient boosting decision tree |
CN112101397B (zh) * | 2019-06-18 | 2024-09-20 | 北京京东振世信息技术有限公司 | 一种预测图书重量区间的方法和装置 |
CN110717509B (zh) * | 2019-09-03 | 2024-04-05 | 中国平安人寿保险股份有限公司 | 基于树分裂算法的数据样本分析方法及装置 |
CN110990829B (zh) * | 2019-11-21 | 2021-09-28 | 支付宝(杭州)信息技术有限公司 | 在可信执行环境中训练gbdt模型的方法、装置及设备 |
US11568317B2 (en) * | 2020-05-21 | 2023-01-31 | Paypal, Inc. | Enhanced gradient boosting tree for risk and fraud modeling |
CN112052875B (zh) * | 2020-07-30 | 2024-08-20 | 华控清交信息科技(北京)有限公司 | 一种训练树模型的方法、装置和用于训练树模型的装置 |
CN112036510B (zh) * | 2020-09-30 | 2024-07-26 | 北京百度网讯科技有限公司 | 模型生成方法、装置、电子设备及存储介质 |
CN116760723B (zh) * | 2023-05-17 | 2024-03-08 | 广州天懋信息系统股份有限公司 | 基于预测树模型的数据预测方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8417654B1 (en) * | 2009-09-22 | 2013-04-09 | Google Inc. | Decision tree refinement |
CN103473231A (zh) * | 2012-06-06 | 2013-12-25 | 深圳先进技术研究院 | 分类器构建方法和系统 |
CN103902591A (zh) * | 2012-12-27 | 2014-07-02 | 中国科学院深圳先进技术研究院 | 构建决策树分类器的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030130899A1 (en) * | 2002-01-08 | 2003-07-10 | Bruce Ferguson | System and method for historical database training of non-linear models for use in electronic commerce |
US7756799B2 (en) * | 2006-10-27 | 2010-07-13 | Hewlett-Packard Development Company, L.P. | Feature selection based on partial ordered set of classifiers |
US10019518B2 (en) * | 2009-10-09 | 2018-07-10 | Excalibur Ip, Llc | Methods and systems relating to ranking functions for multiple domains |
-
2014
- 2014-12-05 CN CN201410742828.4A patent/CN105718493B/zh active Active
-
2015
- 2015-12-04 US US14/959,375 patent/US20160162793A1/en not_active Abandoned
- 2015-12-04 WO PCT/US2015/064069 patent/WO2016090290A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8417654B1 (en) * | 2009-09-22 | 2013-04-09 | Google Inc. | Decision tree refinement |
CN103473231A (zh) * | 2012-06-06 | 2013-12-25 | 深圳先进技术研究院 | 分类器构建方法和系统 |
CN103902591A (zh) * | 2012-12-27 | 2014-07-02 | 中国科学院深圳先进技术研究院 | 构建决策树分类器的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105718493A (zh) | 2016-06-29 |
US20160162793A1 (en) | 2016-06-09 |
WO2016090290A1 (en) | 2016-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105718493B (zh) | 基于决策树的搜索结果排序方法及其装置 | |
CN108804641B (zh) | 一种文本相似度的计算方法、装置、设备和存储介质 | |
CN109872036B (zh) | 基于分类算法的任务分配方法、装置及计算机设备 | |
CN108154198B (zh) | 知识库实体归一方法、系统、终端和计算机可读存储介质 | |
CN105718490A (zh) | 一种用于更新分类模型的方法及装置 | |
CN104573130A (zh) | 基于群体计算的实体解析方法及装置 | |
CN108427686A (zh) | 文本数据查询方法及装置 | |
CN112015898B (zh) | 基于标签树的模型训练、文本标签确定方法及装置 | |
KR101472451B1 (ko) | 디지털 콘텐츠 관리 시스템 및 방법 | |
CN113642652A (zh) | 生成融合模型的方法、装置和设备 | |
CN111210158B (zh) | 目标地址确定方法、装置、计算机设备和存储介质 | |
CN108182200B (zh) | 基于语义相似度的关键词拓展方法和装置 | |
CN115309996A (zh) | 一种基于多路召回的信息推荐方法及系统 | |
CN103646035A (zh) | 一种基于启发式方法的信息搜索方法 | |
CN106407332B (zh) | 基于人工智能的搜索方法和装置 | |
CN115147020B (zh) | 装修数据处理方法、装置、设备及存储介质 | |
CN116361546A (zh) | 搜索请求的处理方法、装置、电子设备和存储介质 | |
CN114385876B (zh) | 一种模型搜索空间生成方法、装置及系统 | |
CN115858648A (zh) | 数据库生成方法、数据流切分方法、装置、设备及介质 | |
US11386340B2 (en) | Method and apparatus for performing block retrieval on block to be processed of urine sediment image | |
CN113032547B (zh) | 基于人工智能的大数据处理方法、系统及云平台 | |
CN114547286A (zh) | 一种信息搜索方法、装置及电子设备 | |
CN111143582B (zh) | 一种双索引实时更新联想词的多媒体资源推荐方法及装置 | |
CN113297257A (zh) | 一种数据查询的方法和装置 | |
CN108776707B (zh) | 针对探索性查询的抽样方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |