机器学习模型的透视分析方法与流程

文档序号:11432867阅读:247来源:国知局

本发明涉及一种机器学习模型的透视分析方法,属于互联网搜索领域。



背景技术:

随着互联网的快速发展,搜索引擎成为人们使用internet信息资源的重要工具。伴随google、yahoo!、bing、百度等搜索引擎的兴起和发展,查询结果的相关度越来越受到人们的关注。查询结果排序的优劣亦成为评价搜索引擎的主要指标。

随着信息技术快速发展和广泛应用,互联网得到了蓬勃发展,成为全球最大的信息资源,在人们的生活中已经占据了重要的位置。互联网也成为了人们进行信息共享和交互的重要平台。用户要在如此庞大杂乱的互联网资源中查找所需要的信息,就像大海捞针一样,而搜索引擎恰好解决了这一问题。搜索引擎是基于互联网平台,是提供网络信息检索服务的工具。搜索引擎也成为是互联网技术中最重要的应用。用户给出关键词作为查询请求,搜索引擎根据用户查询在自己的索引数据库中进行查询,并将排序和相关性分析的检索结果返回给用户,帮助人们拒绝和忽略大量无关信息,从而起到信息导航的作用。而海量的信息数据则意味着海量的搜索结果。在实际应用中,大多数索引擎的用户只对返回结果的前几页进行浏览,很少关心排名较后的网页。具有强相关性的搜索结果应该排在比较靠前的位置,而弱相关性的搜索结果则应该排在比较靠后的位置。因此根据其相关性对查询结果进行排序成为搜索引擎的核心问题之一。搜索结果的相关性排序也成为评价搜索引擎性能的重要指标。

在搜索引擎排序问题中,使用一个多维的特征向量表示每个数据对(用户查询-查询结果)的相关属性和信息。抽取数据集中的部分数据对,并人为的标识每个数据对中查询结果和用户查询的相关性。使用已经标识的数据作为训练数据集来训练机器学习模型,并使用得到的机器学习模型来预测未知查询和查询结果的相关度。然而无论一个机器学习模型的理论基础多么强大,我们总可以在应用过程中发现其不时出现的错误。很多原因可以导致机器学习模型在应用过程中的预测错误,比如带有噪音或是比较极端的训练数据,比如不稳定的数据分布以及机器学习模型本身的缺陷等等。

然而针对提高机器学习模型预测准确性的研究过程中,我们面临的一个难题就是:机器学习模型在训练完成后变成了一个“黑盒子”,应用过程只是:对其提供一些输入,机器学习模型针对输入给出输出作为对输入的预测结果。我们在应用过程中完全无法获知机器学习模型的完成过程。机器学习模型内部的数据处理过程和结果计算过程对于我们来说是不可见的。因此面对错误的预测结果,我们常常难以判断应当如何调整机器学习模型的内部结构,以提高它的预测准确性。

为了提高机器学习模型的性能,通常的做法是不断收集错误的用户反馈数据作为额外的训练数据来重新建立新的学习模型。然而原始的学习模型在大部分的测试数据集中已经达到良好的效果。因为少量的反馈数据就需要重新建立新学习模型。这样会大大降低搜索的效率。而学习模型一旦建立,模型的修改就变得比较困难。



技术实现要素:

鉴于上述现有技术的不足之处,本发明的目的在于提供一种机器学习模型的透视分析方法,包括:

步骤一、收集用户反馈的错误数据并抽取基本信息,抽取反馈数据中的相关信息生成特征空间向量;

步骤二、计算查询结果的分数,使用原始模型以及子模型对用户查询结果进行学习分类,得到分类结果即评价分数;

步骤三、对于每个用户查询,计算查询结果的ndcg值,根据机器学习模型训练结果可得到实际排序,根据查询结果与用户查询可得到理想排序。由实际排序和理想排序即刻得到该用户查询的ndcg的值;

步骤四、聚类,根据ndcg值变化趋势,获得每个查询的最优子模型,并根据子模型的相似度对用户查询进行聚类;

步骤五、抽取属性,分析每个类中的所有成员信息,并抽取某些属性作为这个类的特征空间向量;

步骤六、学习未知的用户查询,当给定一个未知的用户查询,分析其属性,并将该用户查询进行分类,从而得到该用户查询在进行学习时,对应的最优子模型。

优选的,上述步骤一收集的用户反馈数据中,包含一系列查询结果的属性信息。

优选的,上述步骤二使用原始的学习模型对每个查询结果进行学习,并可得到每棵决策树上分类的结果,以计算查询结果的分数。

优选的,上述步骤三中得到查询结果由每个决策树预测分类之后得到的排序结果,根据该查询结果与用户查询相关度,可以得到查询结果的理想排序。根据实际排序和理想排序,计算每个子模型ndcg的值。

优选的,上述步骤四对于每一个用户查询,可以获得该用户查询在所有子模型上ndcg的值,同时可以得到ndcg的变化曲线,根据ndcg的变化曲线,可以抽取使得ndcg具有最大值的决策树构造子模型。

优选的,上述步骤五得到聚类结果后,分析每个类中的所有成员,并抽取某些属性作为类别的特征空间向量。

相比现有技术,本发明提供的机器学习模型的透视分析方法,对学习模型内部的子模型进行分析,过滤分类结果较差的子模型,选择分类结果比较好的子模型,并对选择的子模型进行重组,生成一个新的学习模型,产生的新的学习模型具有更高的预测准确率。

具体实施方式

本发明提供一种机器学习模型的透视分析方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

通过学习机器学习模型获得查询结果的排序之后,需要制定统一的标准评价排序结果的好坏。在搜索引擎算法研究中,人们经常使用dcg来衡量排序算法的优劣。在使用dcg时,具有两个假设条件:

1.在搜索引擎查询结果列表中,具有高相关度的查询结果对于用户来说更有应用价值,在查询列表中应当排在靠前的位置。

2.对于用户来说,查询结果与用户查询具有更好的相关度,则表示该查询结果具有更多的应用价值。

首先得到实际排序的dcg值,计算方法如公式(1)所示。

(1)

其中:p表示每个查询结果在查询列表中的位置;reli表示在第p个位置,查询结果的相关度。

理想排序结果的dcg值计算公式如公式(2)所示。

(2)

则可得到:

(3)

ndcg可以很好的评估排序结果的好坏。n表示只考虑查询结果列表中的前n个查询结果的好坏。

本实施例首先收集用户反馈数据。用户反馈数据中包含当前查询结果与用户查询的相关度。得到用户反馈数据之后,使用已经建立的机器学习模型对反馈数据进行学习训练。对于每个查询结果,都会得到一个训练的分数。根据最终的分数对查询结果进行排序,这个排序的结果即为实际排序结果。而根据用户标记的相关度对查询结果的排序为理想排序结果。获得实际排序结果,查询结果与查询的相关度以及理想排序结果之后,即可计算得到ndcg的值。即:

进一步地,本实施例包括以下步骤:

1.收集用户反馈的错误数据并抽取基本信息,抽取反馈数据中的相关信息生成特征空间向量;

2.计算查询结果的分数:使用原始模型以及子模型对用户查询结果进行学习分类,得到分类结果即评价分数;

3.对于每个用户查询,计算查询结果的ndcg值:根据机器学习模型训练结果可得到实际排序,根据查询结果与用户查询可得到理想排序。由实际排序和理想排序即刻得到该用户查询的ndcg的值;

4.聚类:根据ndcg值变化趋势,获得每个查询的最优子模型,并根据子模型的相似度对用户查询进行聚类;

5.抽取属性:分析每个类中的所有成员信息,并抽取某些属性作为这个类的特征空间向量;

6.学习未知的用户查询:当给定一个未知的用户查询,分析其属性,并将该用户查询进行分类,从而得到该用户查询在进行学习时,对应的最优子模型。

其中,收集的用户反馈数据中,包含一系列查询结果的属性信息。主要包括:用户查询query,查询结果集合d,每一个查询结果doc对应于一个搜索网页url。每个查询结果与用户查询的相关度rating,标记信息id,以及其它在学习模型中用于分类的属性信息features。用户反馈数据的特征空间向量可用<query,doc,rating,features>表示。

在本实施例中,考虑不同用户查询下的查询结果是没有意义的。所有的排序问题中,讨论的都是同一个用户查询下的查询结果集合。rating分为六类,相关程度由弱到强依次为:unjudged,bad,fair,good,excellent,perfect。相关程度由数值表示分别为0,1,2,3,4,5。按照各个查询结果的相关度进行排序,得到的排序的结果即为理想的排序。

计算查询结果的分数,使用原始的学习模型对每个查询结果进行学习,并可得到每棵决策树上分类的结果,即评价分数。

计算ndcg值,对于每个query,可以得到查询结果由每个决策树预测分类之后得到的排序结果。根据该查询结果与用户查询相关度,可以得到查询结果的理想排序。根据实际排序和理想排序,可以计算每个子模型ndcg的值。计算方法如下:

实际排序的dcg值,

其中:p表示每个查询结果在查询列表中的位置,reli表示在第p个位置,查询结果的相关度。

理想排序结果的dcg值,

则可得到

特征向量空间模型则可表示为:<query,ndcg1,ndcg2,……,ndcgn>。

聚类,对于每一个用户查询query,可以获得该用户查询在所有子模型上ndcg的值,同时可以得到ndcg的变化曲线。根据ndcg的变化曲线,可以抽取使得ndcg具有最大值的决策树构造子模型mr=[tr1,tr2,...,trn],该子模型训练的排序结果可以获得最大的ndcg值。ndcg值越大,表示实际排序结果越接近于理想排序结果,同时表明子模型mr=[tr1,tr2,...,trn]可以达到最高的预测准确率,并具有最优的预测性能。

抽取类别的属性,得到聚类结果c=[c1,c2,...,c100]后,需要分析每个类中的所有成员,并抽取某些属性作为类别的特征空间向量。数学表示可表示为:类ci的特征空间向量fi={fi1,fi2,...,fil}

学习未知的用户查询,对未知的用户查询qu进行预测时,首先抽取该查询qu的属性,包括该用户查询的长度,用户搜索该查询的次数,以及该查询中出现的单词以及各单词出现的次数。该用户查询qu的特征向量fu={fu1,fu2,...,fun}。得到用户查询的特征向量之后,计算该用户查询到各个类别的距离,距离最小的类别即为该用户查询的分类结果。设分类结果用ci表示,则ci计算方法见以下公式

使用ci的最优子模型对当前得到的用户查询结果进行学习分类,即可得到每个用户查询结果的评价分数。根据评价分数,对用户查询结果进行排序。

相比现有技术,本发明提供的机器学习模型的透视分析方法,对学习模型内部的子模型进行分析,过滤分类结果较差的子模型,选择分类结果比较好的子模型,并对选择的子模型进行重组,生成一个新的学习模型,产生的新的学习模型具有更高的预测准确率。

可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1