一种资源排序方法及装置的制作方法

文档序号:6613591阅读:212来源:国知局
专利名称:一种资源排序方法及装置的制作方法
技术领域
本发明涉及计算机技术,特别是指一种资源排序方法及装置。
技术背景随着搜索引擎的不断发展,用户可通过搜索引擎轻松地查找到自身感兴趣 的网页。目前普遍釆用的搜索技术主要包括语义分析和关键字技术、网页级别(PageRank)技术和特征提取与匹配技术。语义分析和关键字技术主要是基于语义分析和关键字进行搜索,但这样的 查询技术并不能完全涵盖资源间的复杂关系,资源间的有些关系并不是基于语 义的,而且搜索结果的精确程度取决于对语义分析算法的要求,语义分析的人 工智能化程度还比较低,常常会出现答非所问的搜索结果,目前还没有比较好 的实现方式。PageRank是用于评测一个网页"重要性"的一种方法,在揉合了诸如主题 (Title )标识和关键词(Keywords)标识等其他因素后,通过PageRank来调整 结果排序,使那些更具"重要性"的网页在搜索结果中排在靠前的位置,从而 提高搜索结果的相关性和质量,但是,PageRank只引入了一维的链接推荐来分 析网页资源间的关系,仅考虑了网页重要性的纵向关系,却没有考虑网页间的 横向关系,而网页间的横向关系也是非常重要的。特征提取与匹配是通过对资源样本进行分析,提取出特征信息,比如词条 的文档频率,信息增益等,然后根据与目标资源的匹配情况来进行搜索或资源 推荐。特征提取算法一般比较复杂,对某种特定的资源都需要根据语义分析特 征值,并且智能匹配的要求不容易实现。综上所述,现有的搜索和相关推荐技术大都是基于语义的,但网页之间的
联系有很多根本不是基于语义的,在这样的情况下,基于现有的分析技术很难 确定资源之间非语义的其他联系。发明内容有鉴于此,本发明的主要目的在于提供一种资源排序方法及装置,以根据 资源之间的非语义相关性对资源进行排序。为达到上述目的,本发明的技术方案是这样实现的一种资源排序方法,该方法包含提取不同资源组中的资源元素构建矩阵,在矩阵中确定资源组中各资源元素之间的相关性值;根据所得相关性值对资源进行排序。所述构建矩阵之前,进一步包括将资源依照设定的标准或方法划分为至 少一个资源组。所述构建矩阵确定相关性值,包括提取一个资源组中的各资源元素,根 据该资源组中的资源元素的数量建立矩阵,计算资源组中任两个资源元素之间 的相关性值,填入矩阵中这两个元素所对应的行列交叉处;判断是否还有资源 组未进行扫描,如果是,则对未处理的一个资源组中的各资源元素进行扫描, 确定任两个资源元素之间的相关性值,然后返回执行所述判断步骤,否则,结 東当前流程。所述提取资源元素计算相关性值,包括首先,建立一个空矩阵及空集合 P,集合N为当前资源组集合,对集合N中的元素进行扫描,选择当前元素, 在方形矩阵中增加一行和一列,新增行和列的各元素值均为0,然后计算当前 元素与集合P中所有元素的相关性值,填入当前元素所代表的行和列与各元素所代表的列和行的交叉处,然后将当前元素从集合N移动至集合P,并从集合 N中删除当前元素,扫描集合N中的下一个元素,将该元素作为当前元素,重 复上述过程,直至集合N为空。所述判断是否还有资源组未进行扫描,包括判断当前资源元素是否是矩 阵中尚没有的资源元素,如果有,则更新矩阵中已有元素之间的相关性值,如果没有,则计算该资源元素与矩阵中其它元素的相关性值,填入矩阵中当前元 素与相应元素所对应的行列交叉处,选择下一当前资源元素,返回执行所述判 断。所述计算相关性值,包括在方形矩阵中增加一行和一列,计算当前元素 与矩阵中所有元素的相关性值,填入当前元素所代表的行和列与相应元素所代 表的列和行的交叉处。所述更新相关性值,包括直接计算当前元素与矩阵中所有元素的相关性值,填入当前元素所代表的行和列与相应元素所代表的列和行的交叉处。所述判断当前资源元素是否是矩阵中尚没有的资源元素之前,进一步包括: 设置空集合P,将集合N设置为当前资源组集合;所述选择下一当前资源元素或更新相关性值之后进一步包括将当前元素 从集合N移动至集合P,并从集合N中删除当前元素,扫描集合N中的下一个 元素,将该元素作为当前元素,重复所述判断步骤,直至集合N为空。所述相关性值与表示资源组所在的维度对最终结果影响大小的权值相关。所述确定相关性值,之后进一步包括计算矩阵上三角阵的平均值,并计 算向量夹角余弦,根据平均值及向量夹角余弦对所述权值进行修正。所述对所述权值进行修正,包括所述向量夹角余弦大于设定阈值,并且 该资源组中所有元素间的相关性值与资源组权值的乘积全部大于平均值时,所》a, _示)述资源组的权值增大<formula>formula see original document page 7</formula>,其中,a,为相关性值,<formula>formula see original document page 7</formula>n为矩阵的阶数,^为所述平均值;或者,所述向量夹角余弦大于设定阈值,并且 该资源组中所有元素间的相关性值与该资源组权值的乘积全部小于平均值时,所述资源组的权值减小<formula>formula see original document page 7</formula>或者,所述向量夹角余弦小于设定阈值,所<formula>formula see original document page 7</formula>附述资源组的权值减小口絲躬雄。一种资源排序装置,包括资源扫描单元、相关性值计算单元和资源排序
单元,其中,所述资源扫描单元用于提取不同资源组中的资源元素构建矩阵; 所述相关性值计算单元用于在矩阵中确定不同资源组中各资源元素之间的相关性值;所述资源排序单元用于根据所得相关性值对资源进行排序。该装置进一步包括权值修正单元,根据得到的各相关性值对表示资源组所在的维度对最终结果影响大小的权值进行修正。本发明中,提取不同资源组中的资源元素构建矩阵,在矩阵中确定资源组 中各资源元素之间的相关性值,根据所得相关性值对资源进行排序,摆脱了语 义分析的限制,是一种基于社会性的统计和分析计算的技术。另外,后续处理中,本发明会根据得到的相关性值对资源组的权值进行修 正,使得权值更为准确,更精准地体现资源组所在的维度对最终结果影响大小, 从而从统计分析的角度来分析资源组以及资源组中的各个资源元素间的关系。 一方面确定了资源之间的社会性相关关系和规律,从而基于统计学规律对用户进行相关资源推荐和排序,帮助用户找到最相关的资源;另一方面,得到的稳 定的资源组的权重值,也对资源组的划分方法和划分质量有指导意义。


图l为同类资源组集合中资源间的关系示意图; 图2为不同类资源组集合中资源间的关系示意图; 图3为本发明中获取资源元素之间相关性值的流程图; 图4为本发明中相关性值矩阵结构示意图; 图5为本发明中资源排序装置结构示意图。
具体实施方式
浏览网页时,很多网页虽然没有语义上的联系,但很多时候却有着一些非 语义上的联系,例如,某用户浏览一个网页时,会对另一个网页感兴趣,这两 个网页之间就存在着一定联系。又如,两部最近下载率很高的电影,可能在题 材、风格上相似,也可能是这两部电影的导演是同一人,或者是其它莫名的
因,使用户总是将这两部影片联系在一起。以上所说的联系是多种多样的,建 立这些联系的依据也是多种多样的,而且往往会以某种资源组的形式出现。如 果一些联系频繁出现,则说明这些联系具有某种社会性、或者说经验性,而这 种联系并不一定是属于语义范畴的。资源在某种形式的组集合中的关系(或统 计学规律)可以看作是资源在该种形式所代表的维度上具有某种关联性。每个维度对最终分析所施加的影响是不同的,这与资源组的划分标准、方法和资源 组元素的数量都有关系,最后将资源组元素在各个维度上的相关性进行综合, 就得到了最终的结果矩阵。本发明中,在对大量的维度相关性信息进行釆集和 分析的基础上,最后能够归整出一个确定的矩阵,基于该矩阵就可以确定各资 源元素间的相关性,从而确定资源元素的相关性排名。最后,可以根据确定出 的资源元素的相关性排名,向用户进行资源推荐或提供资源关系分析。这样的 推荐方式,摆脱了语义分析的限制,是一种基于社会性的统计和分析计算的技 术。各种资源常常被依照不同的标准或方法划分为多个不同的资源组,例如, 网页可能通过一些方式被很多网站分成很多资源组,每个用户通过某种下载软 件所下载的文件,论坛中各个板块内的帖子,各种成员组中的成员标识,甚至 是关于某两种资源间的映射关系所形成的组,这些都可以看成是依据某个标准 划分得到的某一类型的资源集合,该资源集合即为资源组。确定了资源组中的 各资源元素后,通过分析可确定各资源元素之间所具有的一些联系。每种资源 组的分类方法代表了一个维度,拥有不同的相关性计算函数。同一种分类方法 的不同资源组,资源组的权值W可能不同。图1为同类资源组集合中资源间的关系示意图,如图1所示, 一个资源组 中的一些资源元素常常伴随出现在其他资源组中,如果大量样本中都存在这种 资源伴随关系,则表明这些资源元素之间是具有一定联系的,而且资源元素之 间的联系紧密程度是不同的。位于不同种类资源组中的各资源元素之间也可能 存在某种联系,如图2所示,例如,某两种资源间总是存在映射关系,如资源元素R12与资源元素R23之间总是存在映射关系。
本发明中,提取不同资源组中的资源元素构建矩阵,在矩阵中确定资源组 中各资源元素之间的相关性值,根据所得相关性值对资源进行排序。 一个资源 组中的元素互不相同。下面对本发明的具体实现进行详细说明。图3为本发明中获取资源元素之间相关性值的流程图流程图,如图3所示, 实现获取资源元素之间相关性值的处理过程包括以下步骤步骤301 步骤303:提取一个资源组中的各资源元素,根据该资源组中的 资源元素的数量建立矩阵,每一个资源元素对应关于该矩阵对角线对称的相交 叉的一行和一列。计算资源组中任两个资源元素之间的相关性值,填入矩阵中 这两个元素所对应的行列交叉处,例如,元素l代表的行与元素2代表的列的 交叉处以及元素l代表的列与元素2代表的行的交叉处。具体处理过程为首先,建立一个空矩阵及空集合P,集合N为当前资源 组集合,对集合N中的元素进行扫描。假设当前元素为c,在矩阵中增加一行 和一列,该矩阵为方形矩阵,新增行和列的各元素值均为0,然后计算当前元 素c与集合P中所有元素(pl,p2,p3…)的相关性值f(w,m),其中,w为该资源组 的权值,可以通过初始设置或统计计算得出,代表了该资源组所在的维度对最 终结果的影响大小,w与不同资源组相对应,不同资源组的w可相同也可不同; m为当前资源组的资源元素数量,资源组的资源元素数量对资源组中元素的相 关性关系有很大影响;f()为某类资源组的相关性计算函数,填入c所代表的行 和列与元素pl、 p2、 p3……所代表的列和行的交叉处,然后将当前元素c从集 合N移动至集合P,即将当前元素放入集合P,并从集合N中删除当前元素c, 扫描集合N中的下一个元素,将该元素作为当前元素c,重复上迷过程,直至 集合N为空。步骤304:判断是否还有资源组未进行扫描,如果是,则继续执行步骤305; 否则,结東当前流程。步骤305 步骤306:对下一个未处理的资源组中的各资源元素进行扫描, 判断相应资源元素是否是矩阵中尚没有的资源元素,如果有,则继续执行步骤 309;如果没有,则继续执行步骤307。 步骤307 步骤308:在矩阵中新建相应的行和列,并计算该资源元素与矩 阵中其它元素的相关性值,填入矩阵中相应的位置,即矩阵中当前元素与相应 元素所对应的行列交叉处,然后继续执行步骤310。步骤309:如果已经存在于矩阵中,更新矩阵中已有元素之间的相关性值。 具体处理可为计算其与资源组中其它资源元素间的相关性值,与矩阵中相应 位置的值相加后填入该位置,然后继续执行步骤310。重复执行步骤307 步骤308或步骤309,直至将该资源组中的所有资源元 素扫描完毕,然后执行步骤310。步骤307 步骤308和步骤309的具体处理过程为清空集合P,扫描下一 个资源组中的资源元素,将集合N设置为当前资源组集合。如果当前元素c在 矩阵中没有出现过,则在矩阵中增加一行和一列,该矩阵仍为方形矩阵,新增 行和列的元素值均为O,计算当前元素c与矩阵中所有元素(pl,p2,p3……)的 相关性值f(w,m),填入c所代表的行和列与元素pl、 p2、 p3……所代表的列和 行的交叉处。如果当前元素c在矩阵中出现过,直接计算当前元素c与矩阵中 所有元素(pl,p2,p3…)的相关性值f(w,m),与c所代表的行和列与元素pl、 p2、 p3......所代表的列和行的交叉处的值对应相加后填入原位;然后将当前元素c从集合N移动至集合P,即将当前元素放入集合P,并从集合N中删除当 前元素,扫描集合N中的下一个元素,将该元素作为当前元素,重复上述过程, 直至集合N为空。步骤310:完成对相应资源组中所有资源元素的扫描后,返回执行步骤304。 根据以上处理就得到了各资源元素之间的相关性关系、及相关性值,后续 处理中,就可根据得到的资源相关性关系,对各资源进行排序,例如,在相关 网页资源推荐、下载资源推荐处理中,根据各资源元素之间的相关性关系,对 向用户推荐的资源进行排序。例如,在进行相关网页推荐时,将查询条件与矩阵中的某一资源元素进行 匹配,然后根据其他各资源元素与该资源元素的相关性值,对与各资源元素相 关的网页进行排序推荐,如对应于相关性值大的资源元素的网元排在较前的位置。再如,进行下载资源推荐时,将用户选择的下载资源与矩阵中的某一资源 元素进行匹配,然后根据其他各资源元素与该资源元素的相关性值,对与各资 源元素相关的下载资源进行排序推荐,如对应于相关性值大的资源元素的下载 资源排在较前的位置,着重向用户推荐。后续过程中,如果出现新的资源元素或资源元素集合,具体处理过程与以 上描述基本相同,此处不再赘述。每次迭代后得到的n阶矩阵是一个主对角线上的值全为O的对称方形矩阵, 其表现形式如图4所示,n表示代表各行和列的资源元素,矩阵元素值就是对 应行和列所代表的资源元素的相关性值。取其上三角阵中的所有值,共有("2-")/2 =《个,然后求平均值& = "1+"^''"" (a,,a2,…ai,…an为矩阵上三角阵 中的所有值)。资源组中的所有元素只出现一次,可以看成向量A(1,1,…),上三角阵中的 所有值看成向量B(ai,a2,…ab…an)。通过计算向量夹角余弦 ,^+^+"," ="^"2+…""来判断向量的相似性,从而得出该资源组中的元素关系与结果的吻合情况。向量夹角余弦反映了该资源组与结果的吻合稳定性情况。而结果三角阵中 该资源组所对应的所有元素的交叉值(共c〗个)与平均值的比较则反映了任两个元素之间的关系的紧密性程度。对于权值的修正要综合向量夹角余弦和与相关性平均值的比较一起考虑。 l.-当向量夹角余弦值大于某一阈值,并且"该资源组中所有元素间的相关性值与该资源组权值w的乘积"全部大于平均值时,该资源组的权值应该增大^_ , 其中,tv = c;2。2:当向量夹角佘弦值大于某一阈值,并且"该资源组中所有元素间的相关
性值与该资源组权值W的乘积"全部小于平均值时,该资源组的权值应该减小<formula>formula see original document page 13</formula> 其中,<formula>formula see original document page 13</formula>。3:当向量夹角余弦值小于某一阈值时,该资源组的权值应该减小 l-夹角余弦值4:其它情况权值不做调整。经过迭代,稳定吻合结果的资源组权值会逐渐增加,吻合比较差的(不稳 定的或者与统计规律不符合的)资源组的权值会逐渐减少。不断减少不稳定的 资源组成员关系对结果的影响,让稳定吻合的影响越来越大,让稳定不吻合的 影响越来越小,从而使权值的修正会最终稳定到符合实际情况的状态。另外,也可以通过终端用户对推荐资源的评价来修正资源间的向量相关度, 比如在给用户做出资源推荐以后,由用户来反馈相关推荐的效果,根据效果好 坏对矩阵中相应的两个资源的相关性值进行增减。假设该分组中元素个数为m,函数f为根据具体的应用场景定义的维度值 函数,用来计算某一维度上的值对应的向量值。元素匹配表示元素相同(同种 类的资源组)或用户约定相同(不同种类的资源组); 一个资源组中的元素各不 相同。也就是说,上述遍历过程中,关于元素是否在矩阵中出现过的定义是宽 泛的,可以认为是出现相同元素,也可以泛指成设定的相同,比如矩阵中有a, 但是用户看到a和abc都认为是矩阵中出现过的。维度值函数是用来将该资源 组维度上的相关性值映射到结果维度上的函数,不同种类的资源组的维度值函 数不同。从取得的以各种方式所形成的资源组集合中挖掘出所有组中的所有资源元 素之间潜在的联系或相关性,用向量的一个维度来加以表示。资源组中的所有 资源在该维度有1的相关性值。每个维度对最终结果向量值的影响大小取决于 该资源组的维度值函数以及资源组中资源元素的数量。资源组的权值开始可以 设定,然后,通过每次扫描完成后的结果迭代进行修正,最后达到稳定。页图5为本发明中资源排序装置结构示意图,如图5所示,该装置包括资 源扫描单元、相关性值计算单元和资源排序单元,其中,资源扫描单元用于提 取不同资源组中的资源元素构建矩阵;相关性值计算单元用于在矩阵中确定不 同资源组中各资源元素之间的相关性值;资源排序单元用于根据所得相关性值 对资源进行排序。该装置进一步包括权值修正单元,根据得到的各相关性值对表示资源组所在的维度对最终结果影响大小的权值进行修正,具体修正过程参见前面的描 述,此处不再赘述。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1、一种资源排序方法,其特征在于,该方法包含提取不同资源组中的资源元素构建矩阵,在矩阵中确定资源组中各资源元素之间的相关性值;根据所得相关性值对资源进行排序。
2、根据权利要求l所述的方法,其特征在于,所述构建矩阵之前,进一步 包括将资源依照设定的标准或方法划分为至少一个资源组。
3、 根据权利要求2所述的方法,其特征在于,所述构建矩阵确定相关性值,包括提取一个资源组中的各资源元素,根据该资源组中的资源元素的数量建立 矩阵,计算资源组中任两个资源元素之间的相关性值,填入矩阵中这两个元素 所对应的行列交叉处;判断是否还有资源组未进行扫描,如果是,则对未处理的一个资源组中的 各资源元素进行扫描,确定任两个资源元素之间的相关性值,然后返回执行所 述判断步骤,否则,结束当前流程。
4、 根据权利要求3所述的方法,其特征在于,所述提取资源元素计算相关 性值,包括首先,建立一个空矩阵及空集合P,集合N为当前资源组集合, 对集合N中的元素进行扫描,选择当前元素,在方形矩阵中增加一行和一列, 新增行和列的各元素值均为0,然后计算当前元素与集合P中所有元素的相关 性值,填入当前元素所代表的行和列与各元素所代表的列和行的交叉处,然后 将当前元素从集合N移动至集合P,并从集合N中删除当前元素,扫描集合N 中的下一个元素,将该元素作为当前元素,重复上述过程,直至集合N为空。
5、 根据权利要求3所述的方法,其特征在于,所述判断是否还有资源组未 进行扫描,包括判断当前资源元素是否是矩阵中尚没有的资源元素,如果有,则更新矩阵 中已有元素之间的相关性值,如果没有,则计算该资源元素与矩阵中其它元素 的相关性值,填入矩阵中当前元素与相应元素所对应的行列交叉处,选择下一 当前资源元素,返回执行所述判断。
6、 根据权利要求5所述的方法,其特征在于,所述计算相关性值,包括 在方形矩阵中增加一行和一列,计算当前元素与矩阵中所有元素的相关性值, 填入当前元素所代表的行和列与相应元素所代表的列和行的交叉处。
7、 根据权利要求5所述的方法,其特征在于,所述更新相关性值,包括 直接计算当前元素与矩阵中所有元素的相关性值,填入当前元素所代表的行和 列与相应元素所代表的列和行的交叉处。
8、 根据权利要求5所述的方法,其特征在于,所述判断当前资源元素是否是矩阵中尚没有的资源元素之前,进一步包括 设置空集合P,将集合N设置为当前资源组集合;所述选择下一当前资源元素或更新相关性值之后进一步包括将当前元素 从集合N移动至集合P,并从集合N中删除当前元素,扫描集合N中的下一个 元素,将该元素作为当前元素,重复所述判断步骤,直至集合N为空。
9、 根据权利要求l所述的方法,其特征在于,所述相关性值与表示资源组 所在的维度对最终结果影响大小的权值相关。
10、 根据权利要求9所述的方法,其特征在于,所述确定相关性值,之后进一步包括计算矩阵上三角阵的平均值,并计算向量夹角余弦,根据平均值 及向量夹角余弦对所述权值进行修正。
11、 根据权利要求IO所述的方法,其特征在于,所述对所述权值进行修正, 包括所述向量夹角佘弦大于设定阈值,并且该资源组中所有元素间的相关性值与资源组权值的乘积全部大于平均值时,所述资源组的权值增大<formula>formula see original document page 3</formula> —,其中,ai为相关性值,N=(n2-n)/2=Cn2, n为矩阵的阶数,^为所述平均值;或者, 所述向量夹角余弦大于设定阈值,并且该资源组中所有元素间的相关性值与该资源组权值的乘积全部小于平均值时,所述资源组的权值减小<formula>formula see original document page 4</formula>;或者,所述向量夹角余弦小于设定阈值,所述资源组的权值减小<formula>formula see original document page 4</formula>。
12、 一种资源排序装置,其特征在于,该装置包括资源扫描单元、相关 性值计算单元和资源排序单元,其中,所述资源扫描单元用于提取不同资源组中的资源元素构建矩阵; 所述相关性值计算单元用于在矩阵中确定不同资源组中各资源元素之间的相关性值;所述资源排序单元用于根据所得相关性值对资源进行排序。
13、 根据权利要求12所述的装置,其特征在于,该装置进一步包括权值 修正单元,根据得到的各相关性值对表示资源组所在的维度对最终结果影响大 小的权值进行修正。
全文摘要
本发明公开了一种资源排序方法及装置。本发明提供的方法中,提取不同资源组中的资源元素构建矩阵,在矩阵中确定资源组中各资源元素之间的相关性值,根据所得相关性值对资源进行排序,摆脱了语义分析的限制,是一种基于社会性的统计和分析计算的技术。
文档编号G06F17/30GK101398833SQ20071017536
公开日2009年4月1日 申请日期2007年9月28日 优先权日2007年9月28日
发明者崔兴华, 赵晓睿 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1