本發(fā)明涉及推薦技術(shù)領(lǐng)域,特別是涉及一種基于引用關(guān)系分布式表達(dá)的論文推薦方法。
背景技術(shù):
學(xué)術(shù)推薦系統(tǒng)作為學(xué)術(shù)服務(wù)的重要一環(huán),已經(jīng)被引入到很多學(xué)術(shù)搜索引擎系統(tǒng)當(dāng)中,比如CiteSeerX,Google Scholar,PubMed等等。通過學(xué)術(shù)推薦系統(tǒng),研究者會(huì)被推薦與其現(xiàn)有研究論文相關(guān)的其他論文,研究者可以檢查他們引用資料的完整性,節(jié)省搜尋相關(guān)工作的人力,快速接觸到自己領(lǐng)域的新論文。
推薦系統(tǒng)的本質(zhì)就是為特定的用戶猜測(cè)感興趣的特定的物品并推送。根據(jù)推薦基于信息的不同,主要分為基于內(nèi)容的推薦,基于協(xié)同過濾的推薦,社會(huì)化推薦和混合模型推薦。在論文的推薦系統(tǒng)當(dāng)中,存在著一種特殊的基于引用的推薦。論文的引用表示該論文對(duì)于前人所做過的工作的系統(tǒng)的調(diào)研和追索,包括對(duì)其研究課題的整個(gè)歷史、現(xiàn)狀和發(fā)展趨勢(shì)的一個(gè)總體的資料集合。引用支持論據(jù)有助于增加學(xué)術(shù)論文的可信度。兩篇論文的引用的相似度越高,這兩篇論文在課題上,內(nèi)容上的相似性就越高。隨著科研水平的提高,論文的數(shù)量與論文之間的引用數(shù)量也逐年呈指數(shù)式的增長(zhǎng),如何利用論文的引用信息來獲得論文推薦的信息,成為一個(gè)令學(xué)術(shù)推薦系統(tǒng)研究者們愈加重視的課題。
現(xiàn)有的基于論文引用信息來提供推薦信息的工作,其中的代表模型有傳統(tǒng)的引用預(yù)測(cè)模型與協(xié)同過濾模型,都局限于使用論文引用和被引用的論文集合的重合度,對(duì)于重合度為0的論文之間無法計(jì)算相似度。同時(shí)忽略了論文之間“間接引用”的可用信息。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明為克服上述現(xiàn)有技術(shù)所述的至少一種缺陷,提供一種基于引用關(guān)系分布式表達(dá)的論文推薦方法。該方法利用論文之間的引用網(wǎng)絡(luò),以及分布式向量表達(dá)論文在引用網(wǎng)絡(luò)中的位置,使用內(nèi)積作為論文之間的相似度表達(dá),達(dá)到論文推薦的目的。
為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案如下:
一種基于引用關(guān)系分布式表達(dá)的論文推薦方法,包括以下步驟:
步驟1:基于所有待研究論文生成ID字典,即為每篇論文賦予一個(gè)唯一的索引鍵,同時(shí)利用論文的相互引用關(guān)系生成論文引用網(wǎng)絡(luò),并建立論文引用權(quán)重矩陣M,權(quán)重矩陣M是基于論文索引標(biāo)識(shí)構(gòu)建的n行n列的矩陣;
步驟2:使用最小化代價(jià)函數(shù)的方法,對(duì)權(quán)重矩陣M做矩陣分解,將矩陣M擬合成W*T的形式,其中W是n行m列的矩陣,T是m行n列的矩陣;其中m<n,以達(dá)到降維的作用;用隨機(jī)梯度下降法求出W和T矩陣;其中W的行向量與T的列向量等價(jià)的包含了每篇論文的分布式向量的表達(dá),且互為對(duì)偶;使用W的行向量來作為分布式向量,其中第i行表示論文索引鍵i所代表的論文的分布式向量的表達(dá);
步驟3:通過分布式向量之間的內(nèi)積,計(jì)算出兩篇論文之間的基于引用的相似度值;
步驟4:對(duì)候選論文按照計(jì)算出的相似度從大到小排序,得到作為論文推薦的排序列表。
優(yōu)選的,步驟1中:獲取所有待研究論文集合S,生成對(duì)應(yīng)的ID字典,即為每篇論文賦予一個(gè)唯一的索引鍵,索引鍵用于標(biāo)識(shí)論文,索引鍵值包括論文的元信息,如論文名稱、作者、發(fā)表期刊,年份等。
優(yōu)選的,步驟1中:使用論文引用的解析器迭代讀取各篇論文的引用,與對(duì)應(yīng)在集合S的其他論文建立一致性關(guān)聯(lián),并且建立無向圖,其中每個(gè)節(jié)點(diǎn)代表論文,節(jié)點(diǎn)之間的連線代表兩篇論文之間存在引用關(guān)系;該無向圖即為建立的論文引用網(wǎng)絡(luò)。
優(yōu)選的,其中步驟1,由論文引用網(wǎng)絡(luò)建立n行n列的連接矩陣L,其中Lij為連接矩陣L中的第i行第j列的元素,Lij表示論文i和論文j之間是否存在引用關(guān)系,由論文引用網(wǎng)絡(luò)中對(duì)應(yīng)兩點(diǎn)i和j是否存在連線能夠得出,當(dāng)論文在引用網(wǎng)絡(luò)中對(duì)應(yīng)的兩點(diǎn)i和j相互連接時(shí),Lij=1,表示論文i和論文j之間存在引用關(guān)系,Lij=0表示論文i和論文j之間不存在引用關(guān)系;根據(jù)該連接矩陣L生成轉(zhuǎn)移矩陣A;其中轉(zhuǎn)移矩陣A中第i行第j列的元素Aij基于下式確定:
其中Aij表示從節(jié)點(diǎn)i隨機(jī)移動(dòng)轉(zhuǎn)移到節(jié)點(diǎn)j的概率值,n’表示所有待研究論文的數(shù)量;矩陣A建立起了有直接引用關(guān)系的論文的信息,在此基礎(chǔ)上繼續(xù)構(gòu)建,獲得間接引用的論文之間的聯(lián)系,例如在論文a和論文b共同引用論文c、共同被論文d引用、論文a引用論文c,論文c引用論文b的情況下,構(gòu)建論文a和論文b之間的引用關(guān)系,以豐富論文引用權(quán)重矩陣的信息;
由概率論可知,A的t次冪At矩陣的值代表從節(jié)點(diǎn)i出發(fā)隨機(jī)移動(dòng),在第t步到達(dá)節(jié)點(diǎn)j的概率,設(shè)討論窗口為w時(shí),那么計(jì)算生成矩陣其矩陣B中的元素Bij代表從節(jié)點(diǎn)i出發(fā)隨機(jī)移動(dòng),在w步之內(nèi)到達(dá)節(jié)點(diǎn)j的期望次數(shù);
構(gòu)造論文引用權(quán)重矩陣M中的元素α為常量,且α+min(log(Bij))>0,即調(diào)整M中有值的各項(xiàng),使之大于0,Mij表示節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)j的權(quán)重,Mij越高,表示論文之間的聯(lián)系愈緊密。
優(yōu)選的,其中步驟2,使用SGD隨機(jī)梯度下降法最小化代價(jià)函數(shù)其中表示矩陣T的第j列,是矩陣W第i行向量的轉(zhuǎn)置,是一個(gè)列向量;通過最優(yōu)化該代價(jià)函數(shù),能夠使W*T擬合矩陣M;f(i,j)表示學(xué)習(xí)權(quán)重函數(shù),表示所有節(jié)點(diǎn)間的關(guān)系對(duì)結(jié)果的影響程度不同,設(shè)為:f(i,j)=Mij。;SGD隨機(jī)梯度下降法是對(duì)于J中的加和項(xiàng)的每一項(xiàng)進(jìn)行迭代,計(jì)算梯度,迭代最小化代價(jià)函數(shù);采用SGD隨機(jī)梯度下降法求解該最小化代價(jià)函數(shù)的無約束最優(yōu)化問題,得到解
W=[w0,w1,w2,…,wn-1]T。
優(yōu)選的,其中步驟3:正則化矩陣W中各個(gè)節(jié)點(diǎn)的分布式向量,再采用公式S(i,j)=wi·wj計(jì)算節(jié)點(diǎn)i和節(jié)點(diǎn)j的相似度S(i,j)的,根據(jù)向量夾角計(jì)算公式當(dāng)向量長(zhǎng)度正則化為1時(shí),wi·wj的結(jié)果越大,在節(jié)點(diǎn)i和j的分布式向量之間的角度就越小,兩個(gè)節(jié)點(diǎn)對(duì)應(yīng)的論文就會(huì)越相似,反之亦然。
與現(xiàn)有技術(shù)相比,本發(fā)明技術(shù)方案的有益效果是:本發(fā)明通過論文引用關(guān)系構(gòu)建論文權(quán)重引用網(wǎng)絡(luò)與對(duì)應(yīng)矩陣表示,從而保留了論文之間“間接引用”的信息。然后,利用矩陣分解方法來獲得表達(dá)論文在論文權(quán)重引用網(wǎng)絡(luò)的上下文的分布式向量,然后利用該向量計(jì)算論文之間的相似度,達(dá)到論文推薦的目的。
附圖說明
圖1為基于引用關(guān)系分布式表達(dá)的論文推薦方法的流程圖。
圖2為發(fā)明實(shí)施例中已生成論文引用網(wǎng)絡(luò)的簡(jiǎn)單示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1是本發(fā)明基于引用關(guān)系分布式表達(dá)的論文推薦方法的流程圖。如圖1所示,新推薦方法的設(shè)計(jì)如下:
S1:以所有待研究論文生成ID字典,生成論文引用網(wǎng)絡(luò)。
對(duì)S1進(jìn)一步說明:在上述技術(shù)方案中,步驟1中論文引用網(wǎng)絡(luò)建立方式如下:生成所有待研究論文集合S之后,生成對(duì)應(yīng)的ID字典。使用論文引用的解析器迭代讀取各篇論文的引用,與對(duì)應(yīng)在集合S的其他論文建立一致性關(guān)聯(lián)。并且建立無向圖,該無向圖的表示方式為數(shù)據(jù)庫的兩兩連接表形式。其中每個(gè)節(jié)點(diǎn)代表論文,節(jié)點(diǎn)之間的連線代表兩篇論文之間存在引用關(guān)系。該無向圖為建立的論文引用網(wǎng)絡(luò)。
S2:建立論文引用權(quán)重矩陣;該權(quán)重表達(dá)了論文引用網(wǎng)絡(luò)的全部?jī)?nèi)容。
對(duì)S2進(jìn)一步說明:首先由論文引用網(wǎng)絡(luò)建立連接矩陣L,其中連接矩陣L中的元素Lij表示論文i和論文j之間是否存在引用關(guān)系,Lij=0或1,1表示論文i和論文j之間存在引用關(guān)系,0表示論文i和論文j之間不存在引用關(guān)系。然后根據(jù)該連接矩陣生成轉(zhuǎn)移矩陣A其中轉(zhuǎn)移矩陣A中第i行第j列的元素Aij基于下式確定:
其中Aij表示從節(jié)點(diǎn)i隨機(jī)移動(dòng)轉(zhuǎn)移到節(jié)點(diǎn)j的概率值,n’表示所有待研究論文的數(shù)量。矩陣A建立起了有直接引用關(guān)系的論文的信息,在此基礎(chǔ)上繼續(xù)構(gòu)建,獲得間接引用的論文之間的聯(lián)系,例如在論文a和論文b共同引用論文c、共同被論文d引用、論文a引用論文c,論文c引用論文b的情況下,構(gòu)建論文a和論文b之間的引用關(guān)系,以豐富論文引用權(quán)重矩陣的信息;
由概率論可知,A的t次冪At矩陣的值代表從節(jié)點(diǎn)i出發(fā)隨機(jī)移動(dòng),在第t步到達(dá)節(jié)點(diǎn)j的概率,設(shè)討論窗口為w時(shí)的情況,那么計(jì)算生成矩陣其矩陣B中的元素Bij代表從節(jié)點(diǎn)i出發(fā)隨機(jī)移動(dòng),在w步之內(nèi)到達(dá)節(jié)點(diǎn)j的期望次數(shù);
構(gòu)造論文引用權(quán)重矩陣M中的元素α為常量,且α+min(log(Bij))>0,即調(diào)整M中有值的各項(xiàng),使之大于0,Mij表示節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)j的權(quán)重,Mij越高,表示論文之間的聯(lián)系愈緊密,權(quán)重矩陣M是基于論文索引標(biāo)識(shí)構(gòu)建的n行n列的矩陣。
S3:通過對(duì)矩陣M做矩陣分解,用隨機(jī)梯度下降法求出W矩陣,使得M=W*T成立;其中W是n行m列的矩陣,T是m行n列的矩陣;其中m<n,以達(dá)到降維的作用;用隨機(jī)梯度下降法求出W和T矩陣;其中W的行向量與T的列向量等價(jià)的包含了每篇論文的分布式向量的表達(dá),且互為對(duì)偶;使用W的行向量作為分布式向量,其中第i行表示論文索引鍵i所代表的論文的分布式向量的表達(dá)。
對(duì)S3進(jìn)一步說明:使用SGD隨機(jī)梯度下降法最小化代價(jià)函數(shù)
其中表示矩陣T的第j列,是矩陣W第i行向量的轉(zhuǎn)置,是一個(gè)列向量;通過最優(yōu)化該代價(jià)函數(shù),能夠使W*T擬合矩陣M;f(i,j)表示學(xué)習(xí)權(quán)重函數(shù),表示所有節(jié)點(diǎn)間的關(guān)系對(duì)結(jié)果的影響程度不同,設(shè)為:f(i,j)=Mij。;SGD隨機(jī)梯度下降法是對(duì)于J中的加和項(xiàng)的每一項(xiàng)進(jìn)行迭代,計(jì)算梯度,迭代最小化代價(jià)函數(shù);采用SGD隨機(jī)梯度下降法求解該最小化代價(jià)函數(shù)的無約束最優(yōu)化問題,得到解
W=[w0,w1,w2,…,wn-1]T。
S4:通過W的行向量之間的內(nèi)積,可以計(jì)算出兩篇論文之間的基于引用的相似度值。
對(duì)S4進(jìn)一步說明:首先正則化矩陣W中各個(gè)節(jié)點(diǎn)的分布式向量,再采用公式S(i,j)=wi·wj計(jì)算節(jié)點(diǎn)i和節(jié)點(diǎn)j的相似度S(i,j)的,根據(jù)向量夾角計(jì)算公式當(dāng)向量長(zhǎng)度正則化為1時(shí),wi·wj的結(jié)果越大,在節(jié)點(diǎn)i和j的分布式向量之間的角度就越小,兩個(gè)節(jié)點(diǎn)對(duì)應(yīng)的論文就會(huì)越相似,反之亦然。
S5:對(duì)候選論文按照計(jì)算出的相似度從大到小排序,可以作為論文推薦的排序列表。
構(gòu)造論文引用權(quán)重矩陣的簡(jiǎn)單實(shí)例如下:假設(shè)已生成論文引用網(wǎng)絡(luò)如下,如圖2;其中Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ、Ⅵ分別代表論文的標(biāo)號(hào)。節(jié)點(diǎn)之間的連接代表兩篇論文之間存在引用關(guān)系。由此,可以構(gòu)建連接矩陣L為:
按照連接矩陣建立起來的轉(zhuǎn)移概率矩陣A為:
然后計(jì)算論文引用權(quán)重矩陣B可以讓間接連接的節(jié)點(diǎn)之間的引用權(quán)重大于0。B的每個(gè)行向量都代表對(duì)應(yīng)的論文在引用網(wǎng)絡(luò)中與其他論文的相互引用的情況,其中包括了直接引用的部分,以及間接引用的部分。當(dāng)兩個(gè)論文的對(duì)應(yīng)行向量的內(nèi)積越相似,就說明這兩篇論文的引用情況越相似,其內(nèi)容就越可能相似。接下來通過二次代價(jià)函數(shù)最小化的方式,將原矩陣擬合成M=W*T的形式。從而對(duì)原論文引用權(quán)重矩陣M進(jìn)行降維處理,獲得矩陣W,其中每一行包括論文對(duì)應(yīng)的分布式向量Wi,其維度為m<n。計(jì)算分布式向量之間Wi的內(nèi)積,能夠近似的表達(dá)了論文之間的引用相似度,乃至于內(nèi)容相似度。
在本實(shí)施例中,構(gòu)造論文引用權(quán)重矩陣的實(shí)例如下:提取了PubMed醫(yī)學(xué)數(shù)據(jù)庫中的252673篇論文,建立起對(duì)應(yīng)的ID字典。使用引用提取工具對(duì)各篇論文進(jìn)行迭代,抽取了9379146條引用條目,通過對(duì)比引用與論文的標(biāo)題,發(fā)表日期,作者等元信息。建立起了引用和論文的一致性關(guān)聯(lián)?;诖岁P(guān)聯(lián),構(gòu)建連接矩陣L,生成論文引用網(wǎng)絡(luò)。按照詳細(xì)步驟給出的計(jì)算方法,通過連接矩陣L計(jì)算轉(zhuǎn)移概率矩陣A,然后計(jì)算引入了間接引用信息的轉(zhuǎn)移矩陣通過B得到論文引用權(quán)重矩陣M。M中間接連接的節(jié)點(diǎn)之間的引用權(quán)重大于0,每個(gè)行向量都代表對(duì)應(yīng)的論文在引用網(wǎng)絡(luò)中與其他論文的相互引用的情況,其中包括了直接引用的部分,以及間接引用的部分。當(dāng)兩個(gè)論文的對(duì)應(yīng)行向量的內(nèi)積越相似,就說明這兩篇論文的引用情況越相似,其內(nèi)容就越可能相似。接下來通過二次代價(jià)函數(shù)最小化的方式,將原矩陣擬合成M=W*T的形式。從而對(duì)原論文引用權(quán)重矩陣M進(jìn)行降維處理,獲得維度m=500的分布式向量Wi,Wi對(duì)應(yīng)于W中的每一行。分布式向量的內(nèi)積,能夠近似的表達(dá)了論文之間的引用相似度,乃至于內(nèi)容相似度。至此,給出任意一篇論文,都可以通過對(duì)比該論文的分布式向量與其他論文分布式向量的內(nèi)積的大小,按照從高到低進(jìn)行排序,推薦根據(jù)引用關(guān)系最為相似的論文序列。
本發(fā)明實(shí)施例中,利用論文之間的引用網(wǎng)絡(luò),利用分布式向量表達(dá)論文在引用網(wǎng)絡(luò)中的位置,使用內(nèi)積作為論文之間的相似度表達(dá),能夠妥善的解決現(xiàn)有的基于論文引用信息的模型對(duì)于重合度為0的論文之間無法計(jì)算相似度的問題。
顯然,本發(fā)明的上述實(shí)施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對(duì)本發(fā)明的實(shí)施方式的限定。對(duì)于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動(dòng)。這里無需也無法對(duì)所有的實(shí)施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。