发明名称 一种基于多样性和比例特性的关键词检索方法
摘要 本发明涉及一种基于多样性和比例特性的关键词检索方法,对用户所输入的关键词和自然数l,然后根据关键词与各元组信息之间的链接关系,运用算法返回给用户l条最全面的基于关键词的元组信息。步骤一:受链接分析算法PageRank的启发,设计静态离线排序评价分数,生成所有节点的初始值;步骤二:输入关键词生成备选的OS;步骤三:输入自然数l根据得到的OS用k‑LASP算法生成最终含有l个节点的以DS为根的树。经实验结果证明,本方法得到的实验效果显著。
申请公布号 CN105912646A 申请公布日期 2016.08.31
申请号 CN201610218405.1 申请日期 2016.04.09
申请人 北京工业大学 发明人 才智;兰许;曹阳
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 沈波
主权项 一种基于多样性和比例特性的关键词检索方法,其特征在于:该方法的实施步骤如下,步骤一:受链接分析算法PageRank的启发,设计静态离线排序评价分数,生成所有节点的初始值;步骤1.1:收集并整理数据集,构建数据关系;这时定义有向图G(V,E),其中V(v<sub>1</sub>,...,v<sub>n</sub>)是节点集,这里的节点代表各类信息,E是代表边的集合,E={&lt;v<sub>i</sub>,v<sub>j</sub>&gt;|v<sub>i</sub>,v<sub>j</sub>∈V},&lt;v<sub>i</sub>,v<sub>j</sub>&gt;表示从v<sub>i</sub>到v<sub>j</sub>的一条边,即v<sub>i</sub>的信息能够链接到v<sub>j</sub>;步骤1.2:r是一个矢量即各个的页面的评价分数的队列,其中每个节点v<sub>i</sub>都存在相应的r<sub>i</sub>,则通过以下公式来迭代计算矢量r的评价分数:<maths num="0001"><math><![CDATA[<mrow><mi>r</mi><mo>=</mo><mi>d</mi><mi>A</mi><mi>r</mi><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>d</mi><mo>)</mo></mrow><mfrac><mi>e</mi><mrow><mo>|</mo><mi>V</mi><mo>|</mo></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961481890000011.GIF" wi="1092" he="127" /></maths>其中d是一个(0,1)的阻尼系数,此系数能够保证得到更精确的结果,一般取值为0.85;A是一个n*n矩阵,n代表顶点个数,其中若存在从v<sub>i</sub>到v<sub>j</sub>的边(弧),则<img file="FDA0000961481890000012.GIF" wi="343" he="110" />表示v<sub>j</sub>的出度),否则为0,也就是说若有三个节点,则A是一个3*3矩阵,v<sub>0</sub>到v<sub>1</sub>和v<sub>2</sub>都有边且v<sub>1</sub>到v<sub>2</sub>有边,则<img file="FDA0000961481890000013.GIF" wi="243" he="111" />且A<sub>21</sub>=1,其余都为0;e=[1....1]<sup>T</sup>;|V|为顶点个数;综上,迭代计算出数据集中各个节点的评价分数,这时将这个值称作为全局权值,即gi(v<sub>i</sub>)代表v<sub>i</sub>节点的初始值;全局权值global importance,缩写为gi;步骤二:输入关键词生成备选的OS;步骤2.1:输入关键词(即DS),系统生成一个以DS顶点为根节点(即R<sup>DS</sup>),以能与R<sup>DS</sup>链接的关系为子孙的树,即OS;在生成OS的过程中为了区分OS中的每个元组节点v<sub>i</sub>的重要性,将一个局部权值(local importance,缩写为li)是由这个元组在数据库中的全局权值(gi)和这个元组在OS中的与R<sup>DS</sup>的亲和度两部分所决定的;亲和度为Affinity,缩写为Af;步骤2.2:在生成OS中,G<sup>DS</sup>中与R<sup>DS</sup>有较高亲和力的关系将被加入到OS中,R<sub>i</sub>到R<sup>DS</sup>的亲和度Af(R<sub>i</sub>)由以下公式迭代计算:<maths num="0002"><math><![CDATA[<mrow><mi>A</mi><mi>f</mi><mrow><mo>(</mo><msub><mi>R</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mi>j</mi></munder><msub><mi>w</mi><mi>j</mi></msub><msub><mi>m</mi><mi>j</mi></msub><mo>&CenterDot;</mo><mi>A</mi><mi>f</mi><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>P</mi><mi>a</mi><mi>r</mi><mi>e</mi><mi>n</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961481890000014.GIF" wi="1202" he="95" /></maths>其中j是一个范围,这个范围为指标集合(m<sub>1</sub>,m<sub>2</sub>,...,m<sub>n</sub>)和它的相应的权值集合(w<sub>1</sub>,w<sub>2</sub>,...,w<sub>n</sub>),这里考虑四个指标:指标m<sub>1</sub>为R<sub>i</sub>到R<sup>DS</sup>的距离,也就是两个关系之间的距离越小,亲和度就越高;指标m<sub>2</sub>为关系的相对基数,也就是R<sub>i</sub>与R<sub>Patent</sub>中每个元组相连的平均元组的数量;指标m<sub>3</sub>为关系的反相对基数,即R<sub>Patent</sub>与R<sub>i</sub>中的一个元组相连的平均数量;指标m<sub>4</sub>为R<sub>i</sub>的模式的连通性,即R<sub>i</sub>在关系图中的链接的数量;Af(R<sub>Parent</sub>)是指R<sub>i</sub>的父亲节点与R<sup>DS</sup>的亲和度,初始值为1,即R<sup>DS</sup>本身的亲和度为1;指标的分数范围是[0,1],相应的权值的总和为1(上述四个指标相应的权值都为0.25);而且在OS的生成中,所有关系节点的亲和度都应该高于一个临界值θ;步骤2.3:计算出备选的size‑l OS S的重要性Im(S)的公式为:<maths num="0003"><math><![CDATA[<mrow><mi>Im</mi><mrow><mo>(</mo><mi>S</mi><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mrow><msub><mi>n</mi><mi>i</mi></msub><mo>&Element;</mo><mi>S</mi></mrow></munder><mi>Im</mi><mrow><mo>(</mo><mi>O</mi><mi>S</mi><mo>,</mo><msub><mi>R</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961481890000021.GIF" wi="1134" he="119" /></maths>其中Im(OS,R<sub>i</sub>)是OS中节点R<sub>i</sub>的li值,Im(OS,R<sub>i</sub>)可以由以下公式算出:Im(OS,R<sub>i</sub>)=Im(R<sub>i</sub>)·Af(R<sub>i</sub>)   (4)其中,Im(R<sub>i</sub>)是R<sub>i</sub>的gl值,Af(R<sub>i</sub>)为R<sub>i</sub>到R<sup>DS</sup>的亲和度;综上根据输入的关键词计算出Im值,生成备选的OS;步骤三:输入自然数l根据得到的OS用k‑LASP算法(详见步骤3.3)生成最终含有l个节点的以DS为根的树;在此步骤中将考虑三个因素:多样性削弱量(dv)、比例特性增量(pv)和静态值(li),最终将他们分别结合来得出最后的一个分数(即dw,pw);步骤3.1:多样性(Dsize‑l)为了避免重要性过高的相似信息的重复出现,应选择输出l条多样化的信息,所以给出一个如下多样性削弱量的计算方法:<maths num="0004"><math><![CDATA[<mrow><mi>d</mi><mi>v</mi><mrow><mo>(</mo><msub><mi>v</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>1</mn><mo>-</mo><mfrac><mrow><mi>z</mi><mrow><mo>(</mo><mi>g</mi><mo>(</mo><msub><mi>v</mi><mi>i</mi></msub><mo>)</mo><mo>)</mo></mrow><mo>-</mo><mn>1</mn></mrow><mrow><mi>l</mi><mo>-</mo><mn>1</mn></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961481890000022.GIF" wi="1126" he="135" /></maths>其中,g(v<sub>i</sub>)是指与v<sub>i</sub>相似的元组节点;z(g(v<sub>i</sub>))‑1是指在size‑l OS内与v<sub>i</sub>节点相似的元组节点的总和;z(g(v<sub>i</sub>))是指g(v<sub>i</sub>)要出现在size‑l OS中的次数;dv(v<sub>i</sub>)的值域是[0,1];定义dv[z]为节点在size‑l OS中出现z次的多样性削弱量值,例令l=10,“Marry”出现2次,即z=2,则<img file="FDA0000961481890000023.GIF" wi="533" he="119" />然后,Dsize‑lOS中的一个节点静态值与多样性削弱量值结合的多样性权值由如下公式计算:dw(v<sub>i</sub>)=li(v<sub>i</sub>)·dv(v<sub>i</sub>)   (6)综上,给出一个OS和l,生成一个Dsize‑l OS需要满足以下条件:1.Dsize‑lOS中的元组个数为l(l≤|OS|);2.这l个节点都必须与根节点相连;3.每一个节点v<sub>i</sub>都有与之对应的多样性权值即dw(v<sub>i</sub>);4.一个Dsize‑l OS的汇总得分为<maths num="0005"><math><![CDATA[<mrow><mi>Im</mi><mrow><mo>(</mo><mi>D</mi><mi>S</mi><mi>l</mi><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mrow><msub><mi>v</mi><mi>i</mi></msub><mo>&Element;</mo><mi>D</mi><mi>S</mi><mi>l</mi></mrow></munder><mi>d</mi><mi>w</mi><mrow><mo>(</mo><msub><mi>v</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961481890000031.GIF" wi="1045" he="110" /></maths>步骤3.2:比例特性(Psize‑l)鉴于在一个OS中一个元组节点可能多次地出现,但是这些节点可能拥有较弱的静态值,而它们的频率在实际的要得到的size‑l OS中有着与DS重要的联系,由此,比例特性增量值可由如下公式计算:<maths num="0006"><math><![CDATA[<mrow><mi>p</mi><mi>q</mi><mo>(</mo><msub><mi>v</mi><mi>i</mi></msub><mo>)</mo><mo>=</mo><mfrac><mrow><mi>f</mi><mi>r</mi><mrow><mo>(</mo><mrow><mi>g</mi><mrow><mo>(</mo><msub><mi>v</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow><mrow><mi>&alpha;</mi><mo>&CenterDot;</mo><mi>z</mi><mrow><mo>(</mo><mrow><mi>g</mi><mrow><mo>(</mo><msub><mi>v</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mo>)</mo></mrow><mo>+</mo><mn>1</mn></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961481890000032.GIF" wi="1078" he="135" /></maths>其中,fr(g(v<sub>i</sub>))为g(v<sub>i</sub>)出现在OS中的次数;z(g(v<sub>i</sub>))是指g(v<sub>i</sub>)要出现在size‑l OS中的次数;α是一个可以调整比例的常数,一般取α=2;然后Psize‑l OS中的一个节点静态值与比例特性增量值结合的比例特性权值由如下公式计算:pw(v<sub>i</sub>)=li(v<sub>i</sub>)·pq(v<sub>i</sub>)   (9)综上,给出一个OS和l,生成一个Psize‑l OS需要满足以下条件:1.Psize‑l OS中的元组个数为l(l≤|OS|)2.这l个节点都必须与根节点相连3.每一个节点v<sub>i</sub>都有与之对应的多样性权值即pw(v<sub>i</sub>)4.一个Psize‑l OS的汇总得分为<maths num="0007"><math><![CDATA[<mrow><mi>Im</mi><mrow><mo>(</mo><mi>P</mi><mi>S</mi><mi>l</mi><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mrow><msub><mi>v</mi><mi>i</mi></msub><mo>&Element;</mo><mi>P</mi><mi>S</mi><mi>l</mi></mrow></munder><mi>p</mi><mi>w</mi><mrow><mo>(</mo><msub><mi>v</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961481890000033.GIF" wi="1078" he="111" /></maths>步骤3.3:用k‑LASP算法生成最终含有l个节点的以DS为根的树;k‑LASP(k‑Largest Averaged Score Path)即k个节点的最大平均值路径(也就是一条路径上的k个节点权值的平均值),在此步骤中,将dw和pw值统称为权值w;OS中的每一个节点v<sub>i</sub>都有一个权值w(v<sub>i</sub>),与之对应的v<sub>i</sub>与其先辈节点(个数n,n=max(k—1,实际长度))的平均权值定义为<img file="FDA0000961481890000041.GIF" wi="396" he="183" />在生成OS的过程中,需要一个哈希表,用HFr表示,HFr包括三个部分,一是将v<sub>i</sub>中的i作为图节点的编号,二是v<sub>i</sub>在OS中出现的次数fr(v<sub>i</sub>),三是v<sub>i</sub>在size‑l OS中出现的次数z(v<sub>i</sub>);为了更好地管理OS中节点和对应的AP值,建立一个队列W来保存这些信息,在这个队列里节点的顺序按相对应的AP值递减排列;k‑LASP算法生成size‑l OS的过程为:1)生成OS,包括构建HFr、计算AP(v<sub>i</sub>)和生成W2)若|size‑l|&lt;l,转3),否则转11)3)p<sub>i</sub>表示当前W中拥有最大AP值的节点到根节点的路径,将p<sub>i</sub>里的前l‑|size‑l|个节点加入到size‑l OS中4)如果|size‑l|&lt;l,转5),否则转10)5.将所选p<sub>i</sub>中的l‑|size‑l|个节点从OS和W中移除6)对于p<sub>i</sub>每个节点的子孙节点v<sub>j</sub>做如下更新:在OS和W中更新AP(v<sub>j</sub>)值;子孙节点的个数为n,n=max(k—1,实际长度);7.对于p<sub>i</sub>中的每个节点g(v),若g(v)在HFr,转8),否则转10);8.HFr(g(v)).z++9)对于OS中每个使得g(n)=g(v)的节点n做如下更新:对于每一个以节点n为根的子树中的每个节点n<sub>i</sub>做:用HFr(g(v)).z值在OS和W中更新AP(n<sub>i</sub>)值9.转2)11)返回size‑l OS此时返回的size‑l OS即所需的将要检索到的l条元组信息;经实验结果证明,本方法得到的实验效果显著。
地址 100124 北京市朝阳区平乐园100号