專利名稱:基于專家值傳播算法的社會網(wǎng)絡(luò)專家信息處理系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明屬于社會網(wǎng)絡(luò)信息處理領(lǐng)域,尤其涉及互聯(lián)網(wǎng)下的社會網(wǎng)絡(luò)搜索。
背景技術(shù):
隨著互聯(lián)網(wǎng)的飛速發(fā)展以及Web1.0向Web2.0的轉(zhuǎn)變,社會網(wǎng)絡(luò)逐漸成為一項非常重要Web應(yīng)用。例如,我們可以利用社會網(wǎng)絡(luò)尋找工作,尋找雇員,尋找共同興趣的朋友,以及尋找合作伙伴。
基于Web的社會網(wǎng)絡(luò)為我們提供了大量的數(shù)據(jù)源,有助于在此基礎(chǔ)上進行一些數(shù)據(jù)挖掘、知識發(fā)現(xiàn),這些研究在Web2.0時代具有巨大的挑戰(zhàn)。例如,信任鏈的挖掘,個性化推薦以及專家發(fā)現(xiàn)等。
專家信息處理的目標(biāo)是自動發(fā)現(xiàn)具有某一特定領(lǐng)域知識的專家。通過發(fā)現(xiàn)專家,我們可以通過專家快速地得到一些專業(yè)問題的答案,彌補了傳統(tǒng)搜索引擎存在的“The High Cost ofNot Finding Information”問題,大大提高了檢索的效率。該技術(shù)將會給互聯(lián)網(wǎng)帶來巨大的用戶和使用頻率,是體現(xiàn)互聯(lián)網(wǎng)新技術(shù)以及經(jīng)濟價值的重要手段。
已提出的專家發(fā)現(xiàn)方法主要著眼于從Web或者無結(jié)構(gòu)化的數(shù)據(jù)中進行專家信息處理。通常的方法是將專家發(fā)現(xiàn)看作傳統(tǒng)的信息檢索首先將每個人相關(guān)聯(lián)的一些個人描述文檔(如個人主頁、電子郵件、發(fā)表論文)綜合生成一個文檔,這樣每個人就可以用這個文檔來表示;然后使用傳統(tǒng)信息檢索的方法,根據(jù)文檔與查詢關(guān)鍵詞的相關(guān)程度對這些文檔進行排序,即可以得到對應(yīng)的專家列表。然而,調(diào)研發(fā)現(xiàn),基于社會網(wǎng)絡(luò)發(fā)現(xiàn)專家的工作還很少。在社會網(wǎng)絡(luò)中,除了每個人所依附的個人描述信息,人與人之間還存在復(fù)雜的關(guān)系,這些關(guān)系信息對于推薦專家有著非常重要的作用。傳統(tǒng)的方法往往忽略了社會網(wǎng)絡(luò)關(guān)系的重要性,我們認(rèn)為利用人與人之間在社會網(wǎng)絡(luò)中的關(guān)系來發(fā)現(xiàn)專家具有十分重要的意義。
針對上述問題,本發(fā)明提出了一個基于專家值傳播算法的社會網(wǎng)絡(luò)中專家信息處理系統(tǒng)及方法。該方法包括兩個階段。在第一階段,主要利用個人描述信息進行候選專家的發(fā)現(xiàn),并且為每個候選專家賦予一個初始專家值。在第二階段,利用第一階段得到的候選專家的初始專家值以及他們之間的關(guān)聯(lián)關(guān)系構(gòu)造一個圖結(jié)構(gòu)(圖中每個結(jié)點代表一個人,每條邊代表人與人之間的一種關(guān)系),然后在圖中沿著邊的方向傳播專家值,即依據(jù)節(jié)點的專家值以及邊表示的關(guān)聯(lián)關(guān)系修改相鄰節(jié)點的專家值,使得每個節(jié)點得到與社會網(wǎng)絡(luò)相關(guān)的新的專家值,從而實現(xiàn)更高精度的基于社會網(wǎng)絡(luò)的專家信息處理。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種在社會網(wǎng)絡(luò)中基于專家值傳播算法的社會網(wǎng)絡(luò)專家信息處理系統(tǒng)及方法。
本發(fā)明所提出系統(tǒng)及方法的思路在于采用一種通用的社會網(wǎng)絡(luò)描述模型,基于該模型定義專家信息處理的目標(biāo)。在該目標(biāo)的指導(dǎo)下,首先利用個人描述信息檢索出某個領(lǐng)域(如數(shù)據(jù)挖掘領(lǐng)域)的相關(guān)專家,作為候選專家,并且為每個候選專家計算一個初始的專家值。這個步驟基于一個假設(shè),如果一個人關(guān)于某個領(lǐng)域的描述性信息非常多(例如一個人在數(shù)據(jù)挖掘領(lǐng)域發(fā)表了很多論文,一個人的個人主頁中多次提到數(shù)據(jù)挖掘),那么很有可能這個人就是該領(lǐng)域的專家;然后利用候選專家的初始專家值以及他們之間的關(guān)聯(lián)關(guān)系為這些候選專家們構(gòu)建一個社會網(wǎng)絡(luò)子圖,并且基于該圖將每個人的專家值沿著邊的方向傳播給他的鄰居。該傳播過程一直迭代下去直到算法收斂,最終得到一個所有專家值都不再變化的專家列表,并且按照專家值排序后反饋給用戶。這個步驟也基于一個假設(shè),如果一個人認(rèn)識許多某個領(lǐng)域的專家,并且被這些專家所推薦,那么他很有可能也是這個領(lǐng)域的專家。
我們的想法來自于對現(xiàn)實生活尋找專家的觀察。在現(xiàn)實中,我們通常通過以下兩種方法尋找專家a)閱讀一個人的介紹來判斷他是否夠得上專家的資格;b)求助我們認(rèn)識的專家?guī)兔ν扑]其它的專家。然而,對于機器來說,很難直接通過個人介紹判斷一個人的專家水平以及決定他人推薦的程度(例如強烈推薦,一般推薦)。因此,我們將一個人的介紹具體到能夠體現(xiàn)他的專家水平的個人描述信息,包括個人基本信息(如職位、單位、研究興趣,主頁地址、電話、電子郵箱)以及他發(fā)表的論文信息(如標(biāo)題、發(fā)表會議名稱、合作者);同時,推薦程度可以具體化為推薦者的專家水平以及推薦者與被推薦者之間的關(guān)系權(quán)重(權(quán)重的計算將在步驟3具體闡述),這里所謂的“推薦者”指的是與被推薦者之間存在某種關(guān)系的候選專家。總之,我們判斷一個人的專家水平,主要通過綜合考慮他的個人描述信息以及他與其他人在社會網(wǎng)絡(luò)中的關(guān)聯(lián)關(guān)系這兩個方面因素。
所述方法是基于一個已經(jīng)存在的社會網(wǎng)絡(luò)依次按以下步驟具體實現(xiàn)的,所采用的步驟框圖請見圖1,該方法包括如下步驟。
步驟1構(gòu)建社會網(wǎng)絡(luò)。
在本發(fā)明中,我們把社會網(wǎng)絡(luò)描述成一個圖(Graph)。
設(shè)社會網(wǎng)絡(luò)為G=(V,E,T,τ),其中V為節(jié)點集,每個節(jié)點v∈V代表社會網(wǎng)絡(luò)中的一個人,一個人可以有多種描述信息,如個人基本信息(包括職位、單位、研究興趣,主頁地址、電話、電子郵箱)以及他發(fā)表的論文信息(如標(biāo)題、發(fā)表會議名稱、合作者);EV×V為邊的集合,etij∈E代表社會網(wǎng)絡(luò)中的人vi和vj之間存在的一種關(guān)系t;T為關(guān)系類型集合,t∈T代表人與人之間的一種社會關(guān)系類型(如“同文章作者”,“被…所指導(dǎo)”,“在同一個項目中工作”,“是朋友”);τE→T是一個從邊到關(guān)系類型的映射函數(shù),τ(etij)=t。圖中的邊可以是單向的,也可以是雙向的。雙向的邊代表了一種對稱的關(guān)系。
形式化一個社會網(wǎng)絡(luò)以后,專家信息處理的任務(wù)便可以定義為給定一個領(lǐng)域關(guān)鍵詞q在本發(fā)明中,我們使用了13個計算機領(lǐng)域的關(guān)鍵詞做測試,這13個領(lǐng)域包括本體映射、語義Web、數(shù)據(jù)挖掘、信息抽取、Boosting學(xué)習(xí)、支持向量機、Planning學(xué)習(xí)、智能代理、機器學(xué)習(xí)、自然語言處理、加密學(xué)、計算機視覺、神經(jīng)網(wǎng)絡(luò),相應(yīng)的關(guān)鍵詞為OntologyAlignment、Semantic Web、Data Mining、Information Extraction、Boosting、Support VectorMachine、Planning、Intelligent Agent、Machine Learning、Natural Language Processing、Cryptography、Computer Vision、Neural Networks。),從整個社會網(wǎng)絡(luò)G中查找一個專家集,并將他們以一個排序好的列表R={(vi,s(vi))}返回,其中s(vi)代表了一個人vi·的專家值。
下面舉例說明一個社會網(wǎng)絡(luò),一個真實的基于實驗室的社會網(wǎng)絡(luò)如圖2所示。圖2中存在的所有關(guān)系以及權(quán)重如表1所示表1,圖2中處理的所有關(guān)系以及權(quán)重
在這個圖中,我們可以發(fā)現(xiàn)對于“唐博士”1)他有一個指向“王教授”的單向被…所指導(dǎo)關(guān)系;2)他有四個雙向的關(guān)系,如與“小洪”之間存在同文章作者關(guān)系。
兩個人之間可能存在多種關(guān)系,如“唐博士”與“王教授”之間存在同文章作者以及被…所指導(dǎo)兩種關(guān)系。
步驟1就是創(chuàng)建一個社會網(wǎng)絡(luò)的圖,圖中的節(jié)點就是人,圖中的邊即表1中定義的4種邊。社會網(wǎng)絡(luò)存儲在關(guān)系數(shù)據(jù)庫中,本發(fā)明采用如下的數(shù)據(jù)庫結(jié)構(gòu)來存儲社會關(guān)系網(wǎng)絡(luò)1)關(guān)系以及權(quán)重表,該表存儲社會關(guān)系網(wǎng)中的所有關(guān)系以及權(quán)重,如表2所示表2,社會網(wǎng)絡(luò)圖中的關(guān)系類型以及關(guān)系權(quán)重表
2)個人基本信息表,該表存儲社會網(wǎng)絡(luò)中的所有人的基本信息,在本發(fā)明中,我們存儲了“職位”、“單位”“研究興趣”,如表3所示表3,社會網(wǎng)絡(luò)圖中的個人基本信息表
3)論文信息表,該表存儲社會網(wǎng)絡(luò)中所有人發(fā)表的論文信息,在本發(fā)明中,我們存儲了“論文標(biāo)題”和“發(fā)表會議”。如表4所示表4,社會網(wǎng)絡(luò)圖中的論文信息表
4)人與論文對照表,該表存儲社會網(wǎng)絡(luò)中人與發(fā)表論文的對照信息,如表5所示表5,社會網(wǎng)絡(luò)圖中的人與論文對照表
其中表的第一行表示,人標(biāo)識節(jié)點1(唐博士)是論文標(biāo)識節(jié)點1(A Unified TaggingApproach to Text Normalization)的作者。
5)節(jié)點關(guān)系表,標(biāo)識社會網(wǎng)絡(luò)中的人之間的關(guān)系,如表6所示表6,社會網(wǎng)絡(luò)節(jié)點關(guān)系表
其中表中的第一行,標(biāo)識節(jié)點2(小洪)和節(jié)點4(蔡教授)之間有關(guān)系2(被…所指導(dǎo)),第二行表示節(jié)點4(蔡教授)和節(jié)點3(王教授)有關(guān)系3(在同一個項目中工作)。
至此,一個社會網(wǎng)絡(luò)構(gòu)建完畢。
步驟2檢索與某一領(lǐng)域相關(guān)的候選專家,得到一個社會網(wǎng)絡(luò)子圖。
在該步驟中,用戶輸入任意一個領(lǐng)域關(guān)鍵詞q(例如數(shù)據(jù)挖掘),從整個社會網(wǎng)絡(luò)中查找與該領(lǐng)域相關(guān)的專家作為候選專家,并為每個候選專家計算一個初始專家值,構(gòu)成一個該領(lǐng)域的社會網(wǎng)絡(luò)子圖。在該步驟中,我們僅利用了步驟一中所述個人描述信息(包括表3,表4與表5的內(nèi)容)去檢索候選專家。
對于每個人vi,將他的個人基本信息連接成一個大文檔d(在本發(fā)明中,我們使用了表3中的“職位”、“單位”、“研究興趣”三個字段的連接作為d,這時候我們不再區(qū)分“職位”、“單位”、“研究興趣”的字段限制,而是將d看作一個普通的文檔來處理);并用pk表示他的每一篇論文的信息(在本發(fā)明中,我們僅使用了表4的“論文標(biāo)題”,“發(fā)表會議”兩個字段的連接作為pk,同樣我們不再區(qū)分“論文標(biāo)題”,“發(fā)表會議”的字段限制,而是將pk看作一個普通的文檔來處理)。
當(dāng)用戶輸入一個領(lǐng)域關(guān)鍵詞q,運用信息檢索中的概率模型估計領(lǐng)域關(guān)鍵詞q在文檔d中出現(xiàn)的概率,用p(q|d)來表示該概率;同時估計領(lǐng)域關(guān)鍵詞q在每篇論文pk出現(xiàn)的概率,用p(q|pk)來表示該概率。
因為用戶輸入的領(lǐng)域關(guān)鍵詞q作分詞之后有可能包含多個詞,例如“數(shù)據(jù)挖掘”分詞后包含“數(shù)據(jù)”與“挖掘”兩個詞。這時候,我們要估計的實際上是領(lǐng)域關(guān)鍵詞q分詞后得到的“數(shù)據(jù)”這個詞在d中出現(xiàn)的概率,以及“挖掘”這個詞在d中出現(xiàn)的概率,然后再將這兩個概率值用某種方法(公式1表示了我們所用的方法)結(jié)合起來,即得到我們最終要估計的p(q|d),pk同理。我們用t表示q分詞后的某個詞(例如“數(shù)據(jù)挖掘”中的“數(shù)據(jù)”或“挖掘”)。我們說,只有q中出現(xiàn)的某個詞t同時也會出現(xiàn)在d和pk中,p(q|d)與p(q|pk)這兩個概率值才會大于0,否則概率值為0。
假設(shè)每個詞t在文檔d中是相互獨立的,則可以用連乘號來連接每個t出現(xiàn)在d中的概率p(t|d),于是領(lǐng)域關(guān)鍵詞q出現(xiàn)在文檔d中的概率p(q|d)可以表示為p(q|d)=Πt∈qp(t|d)n(t,q)...1)]]>其中n(t,q)表示t出現(xiàn)在q的次數(shù)(例如,q為“數(shù)據(jù)挖掘”,詞t為“數(shù)據(jù)”,則t在q中出現(xiàn)的次數(shù)n(t,q)為1)。在該公式中,詞t出現(xiàn)在文檔d中的概率p(t|d)可以用t在d中出現(xiàn)的次數(shù)除d中包含的總詞數(shù)來估算??紤]到p(t|d)有可能為0,這樣會導(dǎo)致公式(1)中連乘后的結(jié)果為0,于是需要對p(t|d)做平滑處理p(t|d)=(1-λ)p(t|d)+λp(t) 2)其中,λ取值為
,p(t)可以用詞t在所有人的文檔d中出現(xiàn)的次數(shù)除所有人的文檔d中包含的總詞數(shù)來估算。有了公式(2)的擴展,公式(1)便可以寫成p(q|d)=Πt∈q((1-λ)p(t|d)+λp(t))n(t,q)...3)]]>同樣,運用另一個概率模型p(q|pk)來估計領(lǐng)域關(guān)鍵詞q在vi的每篇論文pk中出現(xiàn)的概率。模型定義如下(其中符號的定義以及概率的估算同p(q|d))p(q|pk)=Πt∈q((1-λ)p(t|pk)+λp(t))n(t,q)...4)]]>基于公式(3)與公式(4),我們可以計算出vi的基本信息以及每一篇論文與領(lǐng)域關(guān)鍵詞q的相關(guān)度,將這兩部分相關(guān)度進行線性擬合s(vi)0=α·p(q|d)+(1-α)·Σpk∈Pif(pk)×p(q|pk)...5)]]>其中α取值范圍為
(我們在實驗中設(shè)a=0.5);P表示vi發(fā)表的全部論文;pk表示P中的一篇論文;if(pk)表示pk·所發(fā)表會議或雜志的影響因子,該影響因子反映了會議或雜志的權(quán)威程度,一般為手工確定(我們在實驗中從http://citeseer.ist.psu.edu/impact.html上收集該網(wǎng)絡(luò)整理好的會議影響因子)。最終,s(vi)0即為每個人vi的初始專家值。在實驗中,我們選擇初始專家值排在前1000位的人作為算法第二階段的候選專家。
下面以“唐博士”和“Semantic Web”為例計算“唐博士”關(guān)于關(guān)鍵詞“Semantic Web”的初始專家值1)根據(jù)“Semantic Web”得到t1為“Semantic”,t2為“Web”,假設(shè)p(t1)=0.01,p(t2)=0.05。
2)根據(jù)表3、4、5,“唐博士”的d表示為“ph.D Keg tsinghua Semantic Web”,p1為“A Unified Tagging Approach to Text Normalization ACL’2007”,p2為“Semanticannotation using horizontal and vertical contexts ASWC’2006”,p3為“Multiplestrategies detection in ontology mapping WWW’2005”。
3)p(t|d)用t在d中出現(xiàn)的次數(shù)除d中包含的總詞數(shù)來估算,于是p(t1|d)=1/5=0.2,p(t2|d)=1/5=0.2;p(t1|p1)=0,p(t2|p1)=0;p(t1|p2)=1/7=0.143(分母為7的原因是過濾掉了高頻詞“and”,于是只剩下7個詞),p(t2|p2)=0;p(t1|p3)=0,p(t2|p3)=0。
4)根據(jù)公式(2)進行平滑,設(shè)λ為0.5,于是得到新的p(t1|d)=0.5*0.2+0.5*0.01=0.105,p(t2|d)=0.5*0.2+0.5*0.05=0.125;p(t1|p1)=0.5*0+0.5*0.01=0.005,p(t2|p1)=0.5*0+0.5*0.05=0.025;p(t1|p2)=0.5*0.143+0.5*0.01=0.077,p(t2|p2)=0.5*0+0.5*0.05=0.025;p(t1|p3)=0.5*0+0.5*0.01=0.005,p(t2|p3)=0.5*0+0.5*0.05=0.025。
5)根據(jù)公式(3)和公式(4)(其中n(t1,q)=1,n(t2,q)=1),則p(q|d)=p(t1|d)1*p(t2|d)1=0.105*0.125=0.013,p(q|p1)=p(t1|p1)1*p(t2|p1)1=0.005*0.025=0.000,p(q|p2)=p(t1|p2)1*p(t2|p2)1=0.077*0.025=0.002,p(q|p3)=p(t1|p3)1*p(t2|p3)1=0.005*0.025=0.000。
6)最后根據(jù)公式(5)(假設(shè)其中if(p1)=3,if(p1)=2,if(p1)=1,α=0.5),于是得到s(vi)0=0.5*0.013+0.5*(3*0.000+2*0.002+1*0.000)=0.009即為唐博士的初始專家值。
步驟3利用一個基于傳播思想的迭代算法,更新候選專家的專家值。
第一階段的候選專家的初始專家值以及他們之間的關(guān)系構(gòu)成了一個關(guān)于領(lǐng)域q的社會網(wǎng)絡(luò)子圖(其中每個結(jié)點代表一個候選專家,每條邊代表兩個專家之間的一種關(guān)系)。在該社會網(wǎng)絡(luò)子圖的基礎(chǔ)上,我們提出了傳播專家值的迭代算法。在每一次迭代中,vi的專家值s(vi)n被傳播給與他之間有關(guān)聯(lián)關(guān)系的候選專家。因此,每個候選專家的專家值的更新被兩個因素所影響1)推薦者的專家值2)推薦者與被推薦者之間關(guān)系的權(quán)重我們用傳播系數(shù)來指示一個節(jié)點的專家值傳播到他的鄰節(jié)點的程度。M用來表示傳播系數(shù)矩陣;Mij表示從vi到vj的傳播系數(shù)(取值為0到1之間)。Mij定義如下Mij=Σtc(τ(eijt))*w(eijt)...6)]]>其中,c(τ(etij))代表一種關(guān)系etij的權(quán)重(目前我們手工對這些權(quán)重進行設(shè)置)。w(etij)代表vi和vj之間關(guān)系etij的密切程度。(密切程度可以通過多種不同方法進行計算,如對于“同文章作者”的關(guān)系,我們把合作論文的數(shù)量當(dāng)作密切程度)。
在本發(fā)明中,由于我們只收集到一種關(guān)系數(shù)據(jù),“同文章作者”,因此公式(6)就簡化成Mij=w(eij同文章作者),w(eij同文章作者)定義如下 其中|Ui|表示vi的所有“同文章作者”關(guān)系數(shù)目(我們將“同文章作者”看作是一種雙向的關(guān)系)。
在我們的算法中,對于單向的關(guān)系,僅需要將專家值從源節(jié)點傳到目標(biāo)節(jié)點;對于雙向的關(guān)系,專家值需要相互傳播。
第n+1次迭代時專家值向量Sn+1(Sn+1表示所有專家的專家值組成的向量,其中的每一維Sin代表vi的專家值)計算公式如下Sn+1=(1-ω)Sn+ωMTSn8)其中S表示專家值向量(即所有人的專家值);ω取值范圍在0到1之間,它表示了對傳播距離的懲罰,即迭代的次數(shù)越多,關(guān)系的傳播距離就越遠,其可信度就越低(在實驗中,我們將它設(shè)置為0.85)。每次迭代結(jié)束后,所有人的專家度要做歸一化,使得所有人中最大的專家值始終為1,計算如下Sin+1=Sin+1max(Sin+1)...9)]]>該算法會一直迭代到某一終止條件。目前設(shè)置的終止條件是子圖中所有人的專家值的變化都限制在一個閾值范圍內(nèi)(本發(fā)明設(shè)置為0.05),或者算法迭代到某一固定的次數(shù)停止(本發(fā)明設(shè)置為100)。
本發(fā)明所提出的基于專家值傳播算法的社會網(wǎng)絡(luò)專家信息處理系統(tǒng)及方法的突出貢獻在于,我們不僅利用了個人描述信息與領(lǐng)域關(guān)鍵詞的相關(guān)度來判別一個人的專家水平,同時還利用了社會網(wǎng)絡(luò)中人與人之間的關(guān)聯(lián)關(guān)系來傳播專家值,從而達到了專家推薦專家的效果。
下面舉例說明步驟3的一次迭代計算過程,舉例如附圖3所示。
假設(shè)圖3左半部分為第n次各節(jié)點的專家值,S1n=0.6,S2n=0.7,S3n=1.0,S4n=0.2,]]>圖中的邊表示兩個節(jié)點之間存在“同文章作者”關(guān)系。
由公式(7)可得w(e12)=w(e13)=w(e14)=1/3,w(e21)=w(e31)=w(e41)=1,則由公式(8)得S1n+1=0.15*0.6+0.85*(1*0.7+1*1.0+1*0.2)=0.94;]]>S2n+1=0.15*0.7+0.85*1/3*0.6=0.275;]]>S3n+1=0.15*1.0+0.85*1/3*0.6=0.32;]]>S4n+1=0.15*0.6+0.85*1/3*0.6=0.2.]]>
其中max(Sin+1)=0.94,]]>最后根據(jù)公式(9)可得S1n+1=0.94/0.94=1.0;]]>S2n+1=0.275/0.94=0.29;]]>S3n+1=0.32/0.94=0.34;]]>S4n+1=0.2/0.94=0.21.]]>即為圖3右半部分所示第n+1次迭代的結(jié)果。
步驟4將傳播結(jié)束后的專家按照專家值進行排序,輸出給用戶。
圖4是一個有關(guān)“data mining”查詢輸出的例子。
對我們提出的方法總結(jié)為如下處理流程輸入一個領(lǐng)域關(guān)鍵詞q(例如數(shù)據(jù)挖掘)以及一個構(gòu)建好的社會網(wǎng)絡(luò)G=(V,E,T,λ)(這里的社會網(wǎng)絡(luò)G是靜態(tài)構(gòu)造的,即我們的步驟1只需執(zhí)行一次,與查詢無關(guān))輸出一個按專家值進行排序的專家列表步驟2.檢索候選專家;//這里以學(xué)術(shù)研究網(wǎng)絡(luò)為例解釋1.對于每個人vi,運用概率模型計算他的個人基本信息d與q的相關(guān)度;2.運用另一個概率模型計算vi的每篇論文pk與q的相關(guān)度;3.將2與3的相關(guān)度綜合起來考慮,計算出的值作為vi的初始專家值;4.選擇初始專家值較高的一部分人作為候選者,并利用他們之間的關(guān)系構(gòu)建一個社會網(wǎng)絡(luò)子圖;步驟3.傳播候選專家值;5.do{6.根據(jù)公式(6)計算傳播系數(shù)矩陣M;7.對于子圖中的每個vi{8.根據(jù)公式(8)更新他的專家度s(vi);9. }10. 根據(jù)公式(9)做歸一化;11. }while(終止條件滿足);步驟4.將傳播結(jié)束后的專家按照專家值進行排序,輸出給用戶本發(fā)明緊密結(jié)合當(dāng)前Web數(shù)據(jù)的新特征,即Web上大量涌現(xiàn)以人為中心的社會網(wǎng)絡(luò)這一特征。利用社會網(wǎng)絡(luò)中人與人復(fù)雜的社會關(guān)系,加強Web上專家信息處理效果。本發(fā)明的新穎性體現(xiàn)在,我們提出在社會網(wǎng)絡(luò)中發(fā)現(xiàn)專家。傳統(tǒng)的專家發(fā)現(xiàn)僅僅是利用文檔與查詢關(guān)鍵詞的相似度來判斷一個人的專家程度,而我們提出的方法不僅考慮文檔相似度,而且還考慮到社會網(wǎng)絡(luò)中人與人之間的關(guān)系來加強專家信息處理的效果。其創(chuàng)造性表現(xiàn)在,提出如何利用社會網(wǎng)絡(luò)中人與人之間的關(guān)系來進行專家信息處理的方法。我們將社會網(wǎng)絡(luò)形式化為一個圖結(jié)構(gòu),然后基于該圖提出一種傳播算法來進行專家值的傳播更新。利用專家信息處理的功能,我們可以通過專家快速地得到一些專業(yè)問題的答案,從而大大提高了檢索的效率。同時,我們還可以通過專家信息處理去結(jié)交興趣相投的朋友,尋找合作伙伴、雇員、顧問。該技術(shù)將會給互聯(lián)網(wǎng)帶來巨大的用戶和使用頻率,是體現(xiàn)互聯(lián)網(wǎng)新技術(shù)以及經(jīng)濟價值的重要手段。
圖1.系統(tǒng)的整體框圖;圖2.一個社會網(wǎng)絡(luò)中個人描述信息以及人與人之間關(guān)系的例子;個人描述信息如下個人基本信息職位碩士 單位清華大學(xué)計算機系知識工程組主頁地址http://hmc.arnetmianer.org電話62788788電子郵件hmc@keg.cs.tsinghua.edu.cn研究興趣信息標(biāo)注論文信息標(biāo)題Semantic Annotation Using Horizontal and Vertical Contexts發(fā)表會議ASWC2006 合作者唐杰,李涓子圖3.專家值迭代傳播的例子;圖4.基于傳播算法的專家信息處理系統(tǒng)的界面;圖5.專家檢索系統(tǒng)的硬件結(jié)構(gòu)圖。
具體實施例方式
利用本發(fā)明的步驟1-4,創(chuàng)建了一個研究者的社會網(wǎng)絡(luò),并且在該社會網(wǎng)絡(luò)發(fā)現(xiàn)某領(lǐng)域的專家來驗證本文的發(fā)明。本發(fā)明所有實驗用Java編程實現(xiàn),并在配置為雙核Intel Xeon3.0GHz處理器、2GB內(nèi)存的服務(wù)器上運行。
(1)研究者社會網(wǎng)絡(luò)的建模目前我們的研究者社會網(wǎng)絡(luò)的構(gòu)建主要包括兩部分信息每個研究者有自己的個人描述信息(包括職位、單位、研究興趣、論文標(biāo)題及發(fā)表的相應(yīng)會議);研究者與研究者之間存在“同文章作者”的關(guān)系,即當(dāng)兩個人曾經(jīng)一起發(fā)表過文章,則他們之間會建立“同文章作者”的關(guān)系。
(2)研究者社會網(wǎng)絡(luò)的生成通過對特定的學(xué)術(shù)論文網(wǎng)站(http://www.informatik.uni-trier.de/~ley/db/)的數(shù)據(jù)分析,首先得到論文列表,將論文信息添加到論文信息表4中;接著得到每一篇論文的作者,對于每一篇論文的作者,做如下步驟如果個人基本信息表3中不存在此人,則采用信息抽取的方法對Web數(shù)據(jù)進行挖掘,得到他相應(yīng)的基本信息,并添加到表3中;同時將該作者與相應(yīng)論文的對應(yīng)關(guān)系添加到人與論文對照表5中;接著,對于該論文的每兩個作者,在節(jié)點關(guān)系表6中插入“同文章作者”關(guān)系。
經(jīng)過這種構(gòu)建方法,收集了448,289個計算機領(lǐng)域的研究者,725,655篇發(fā)表論文,人與人之間的關(guān)系數(shù)目總共達到2,413,208個,平均每個人與其他人有5.38個關(guān)系。
(3)測試集的建立為了對算法進行測試,我們從Web上收集了13個領(lǐng)域的測試集,每個測試集分別包含某一領(lǐng)域的專家列表。表8列出了這13個測試集的統(tǒng)計信息以及來源。其中,“本體映射”和“語義Web”來自于相關(guān)會議的委員列表;“數(shù)據(jù)挖掘”來自kmining.com整理的有關(guān)數(shù)據(jù)挖掘的人員;“信息抽取”來自Dr.Ion Muslea收集的有關(guān)信息抽取的研究者;“加密學(xué)”來自Kevin McCurley收集的有關(guān)加密學(xué)的研究者;“計算機視覺”來自Dr.Margaret Fleck收集的有關(guān)計算機視覺的研究者;“神經(jīng)網(wǎng)絡(luò)”是來自O(shè)pen Directory有關(guān)神經(jīng)網(wǎng)絡(luò)的研究者;“Boosting學(xué)習(xí)”與“支持向量機”分別來自它們的官方網(wǎng)站?!癙lanning學(xué)習(xí)”,“智能代理”、“機器學(xué)習(xí)”以及“自然語言處理”都來自于一個人工智能的網(wǎng)站。
表8,13個領(lǐng)域的專家測試集
(4)測試準(zhǔn)則我們采用P@5,P@10,P@20,P@30,R-pre,MAP,bref作為評測準(zhǔn)則。定義準(zhǔn)確率為專家信息處理結(jié)果中的正確結(jié)果所占的比例(正確結(jié)果指的是在測試集中出現(xiàn)的專家)。P@5評測前5個返回結(jié)果的準(zhǔn)確率,P@10,P@20,P@30同理;R-pre評測前R個返回結(jié)果的準(zhǔn)確率,其中R表示測試集中的專家總數(shù);MAP評測每個正確結(jié)果出現(xiàn)時的準(zhǔn)確率的平均值;bref主要著眼于錯誤發(fā)現(xiàn)的專家排在正確專家前面的平均比例,公式定義如下bpref=1RΣr1-|n ranked higher than r|R...10)]]>其中,R表示測試集中的專家總數(shù),r是測試集中的一個正確專家,n是查找結(jié)果中前R個錯誤發(fā)現(xiàn)的專家之一。
(5)實驗結(jié)果本發(fā)明中所述方法與另一種方法進行比較,該比較方法僅考慮用個人描述信息,而沒有考慮關(guān)系信息,與我們方法的步驟2非常相似。表9列出了這兩種方法分別對13領(lǐng)域進行專家信息處理的評測結(jié)果。
表9,用我們的方法和比較方法兩種方法在13個領(lǐng)域的專家查找評測結(jié)果(%)
從實驗結(jié)果可以看出,我們的方法在大部分領(lǐng)域上的評測結(jié)果都優(yōu)于比較方法。實驗表明,我們提出的基于專家值傳播算法的社會網(wǎng)絡(luò)專家信息處理系統(tǒng)及方法是切實有效的。
由此可見,本發(fā)明達到了預(yù)期目的。
權(quán)利要求
1.基于專家值傳播算法的社會網(wǎng)絡(luò)專家信息處理系統(tǒng),其特征在于該系統(tǒng)由依次串聯(lián)的社會關(guān)系網(wǎng)絡(luò)生成服務(wù)器、數(shù)據(jù)庫服務(wù)器、專家值計算服務(wù)器及Web服務(wù)器構(gòu)成,其中社會關(guān)系網(wǎng)絡(luò)生成服務(wù)器,依次按以下步驟構(gòu)建一個社會關(guān)系網(wǎng)絡(luò)圖G步驟(1),社會網(wǎng)絡(luò)為G=(V,E,T,τ),其中,V為節(jié)點集,v∈V,每個節(jié)點v代表社會網(wǎng)絡(luò)中的一個人,他會有下述個人描述信息個人基本信息,其中至少會有職位、單位、研究興趣和主頁地址;個人發(fā)表的論文信息,其中至少含有論文標(biāo)題、發(fā)表會議名稱和合作作者;個人與論文之間的關(guān)系用一個人與其所發(fā)表的稿件對應(yīng)表示描述,其中包括所述人的標(biāo)識以及論文的標(biāo)識;EV×V為社會關(guān)系網(wǎng)絡(luò)圖G中邊的集合,etij∈E代表G中的人vi和vj之間存在的一種關(guān)系,用t表示;T為所述集合E中各種關(guān)系類型的集合,t∈T代表人與人之間的一種社會關(guān)系類型,用一個社會關(guān)系類型表來描述,其中至少含有關(guān)系,不少于論文作者合作關(guān)系,論文或項目的指導(dǎo)關(guān)系,研究項目的合作關(guān)系以及朋友關(guān)系四種;各種關(guān)系的權(quán)重以及關(guān)系的標(biāo)識;τE→T是一個人際關(guān)系到所述關(guān)系類型的映射函數(shù),用τ(etij)=t表示,當(dāng)所述人際關(guān)系為雙向關(guān)系時,表示一種對稱關(guān)系;在所述社會關(guān)系網(wǎng)絡(luò)圖G中,全部人際關(guān)系構(gòu)成一個社會關(guān)系網(wǎng)絡(luò)節(jié)點表,包括人際關(guān)系類型τ、源節(jié)點vi和目標(biāo)節(jié)點vj;步驟(2),把步驟(1)得到的社會關(guān)系網(wǎng)絡(luò)圖G輸入到數(shù)據(jù)庫服務(wù)器;步驟(3),專家值計算服務(wù)器在整個社會關(guān)系網(wǎng)絡(luò)中檢索所有候選專家,并給每個候選專家計算領(lǐng)域相關(guān)的專家值步驟(3.1),對于每個人vi,把他的個人基本的描述信息連接成一個大文檔d,并用pk表示該vi的每一篇論文的信息;步驟(3.2),給定一個領(lǐng)域關(guān)鍵詞q,運用信息檢索中的概率模型,估計該領(lǐng)域關(guān)鍵詞q和個人基本信息e的相關(guān)度p(q|d),以及領(lǐng)域關(guān)鍵詞q和每一篇論文的信息的相關(guān)度(q|pk)p(q|d)=Πt∈q((1-λ)p(t|d)+λp(t))n(t,q)]]>其中t表示當(dāng)把領(lǐng)域關(guān)鍵詞q分割成分詞后,其中各個詞的符號表示;n(t,q)表示分詞t出現(xiàn)在q中的次數(shù);λ為平滑處理系數(shù),取值為
;p(t)為分詞t在所有人的大文檔d中出現(xiàn)的次數(shù)除所有人的大文檔d中包含的總詞數(shù)來估算;p(t|d)為分詞t在vi的大文檔d中出現(xiàn)的次數(shù)除vi的大文檔d中包含的總字?jǐn)?shù)來估算;p(q|pk)=Πt∈q((1-λ)p(t|pk)+λp(t))n(t,q)]]>其中p(q|pk)為分詞t在vi的每篇論文的信息pk中出現(xiàn)的次數(shù)除以過濾了高頻詞后的論文信息pk中包含的總字?jǐn)?shù)來估算;步驟(3.2),根據(jù)步驟(3.1)得到的p(q|d)和p(q|pk)計算出每個人vj的個人基本信息以及每篇論文的信息各自與領(lǐng)域關(guān)鍵詞q的相關(guān)度,再把這兩個相關(guān)度進行線性擬合,得到下式所表示的每個人vi的專家初始值s(vi)0s(vi)0=α·p(q|d)+(1-α)·Σpk∈Pif(pk)×p(q|pk)]]>其中,α取值范圍為
,P表示該vj發(fā)表的全部論文,pk表示P中的一篇論文;if(pk)表示論文pk所發(fā)表的會議或雜志的影響因子,為已知值;步驟(3.3),選擇初始專家值排在前N位的專家組成候選專家組,N為設(shè)定值;步驟(4),所述專家值計算服務(wù)器利用基于傳播思想的迭代算法,按以下步驟構(gòu)建一個社會網(wǎng)絡(luò)子圖,并在該子圖的基礎(chǔ)上更新獲取候選專家的專家值步驟(4.1),根據(jù)步驟(3.3)得到的候選專家組得到一個關(guān)于領(lǐng)域關(guān)鍵詞q的社會關(guān)系網(wǎng)絡(luò)子網(wǎng),其中節(jié)點代表一個候選專家,每條邊表示連接的兩個專家之間關(guān)系;步驟(4.2)為步驟(4.1)得到的社會關(guān)系網(wǎng)絡(luò)子圖構(gòu)建一個傳播系統(tǒng)矩陣M,其中的元素Mij表示從vi到vj的傳播系數(shù),Mij取值范圍為
,所述Mij如下所示Mij=Σtc(τ(eijt))*w(eijt)]]>其中,c(τ(etij)代表一種關(guān)系etij的權(quán)重,為設(shè)定值,w(etij)代表vi和vj之間關(guān)系etij的密切程度,根據(jù)所述社會關(guān)系網(wǎng)絡(luò)圖中關(guān)系權(quán)重大者來選取相應(yīng)的關(guān)系名稱,據(jù)此來計算相應(yīng)的關(guān)系權(quán)重w(eijt) 其中,|Ui|表示vi的所有這種關(guān)系的數(shù)目;步驟(4.3),計算算法迭代到n+1時的專家值向量Sn+1(Sn+1表示所有專家的專家值組成的向量,其中的每一維Sin代表vi的專家值)Sn+1=(1-ω)Sn+ωMTSn其中,ω表示傳播距離的懲罰系數(shù),取值范圍為
,傳播系數(shù)矩陣M在跌代過程是固定不變的;步驟(4.4),把步驟(4.3)中所有專家的專家值歸一化為Sin+1=Sin+1max(Sin+1)]]>專家值最大為1;步驟(4.5)把步驟(4.4)得到的推薦專家集通過Web網(wǎng)絡(luò)輸出給用戶。
2.基于專家值傳播算法的社會網(wǎng)絡(luò)專家信息處理方法,特征在于,該方法是在一個依次由社會關(guān)系網(wǎng)絡(luò)生成服務(wù)器,數(shù)據(jù)庫服務(wù)器,專家值計算服務(wù)器以及Web服務(wù)器串聯(lián)構(gòu)成的專家集檢索系統(tǒng)中按以下步驟逐步實現(xiàn)的步驟(1),社會網(wǎng)絡(luò)為G=(V,E,T,τ),其中,V為節(jié)點集,v∈V,每個節(jié)點v代表社會網(wǎng)絡(luò)中的一個人,他會有下述個人描述信息個人基本信息,其中至少會有職位、單位、研究興趣和主頁地址;個人發(fā)表的論文信息,其中至少含有論文標(biāo)題、發(fā)表會議名稱和合作作者;個人與論文之間的關(guān)系用一個人與其所發(fā)表的稿件對應(yīng)表示描述,其中包括所述人的標(biāo)識以及論文的標(biāo)識;EV×V為社會關(guān)系網(wǎng)絡(luò)圖G中邊的集合,etij∈E代表G中的人vi和vj之間存在的一種關(guān)系,用t表示;T為所述集合E中各種關(guān)系類型的集合,t∈T代表人與人之間的一種社會關(guān)系類型,用一個社會關(guān)系類型表來描述,其中至少含有關(guān)系,不少于論文作者合作關(guān)系,論文或項目的指導(dǎo)關(guān)系,研究項目的合作關(guān)系以及朋友關(guān)系四種;各種關(guān)系的權(quán)重以及關(guān)系的標(biāo)識;τE→T是一個人際關(guān)系到所述關(guān)系類型的映射函數(shù),用τ(etij)=t表示,當(dāng)所述人際關(guān)系為雙向關(guān)系時,表示一種對稱關(guān)系;在所述社會關(guān)系網(wǎng)絡(luò)圖G中,全部人際關(guān)系構(gòu)成一個社會關(guān)系網(wǎng)絡(luò)節(jié)點表,包括人際關(guān)系類型τ、源節(jié)點vi和目標(biāo)節(jié)點vj;步驟(2),把步驟(1)得到的社會關(guān)系網(wǎng)絡(luò)圖G輸入到數(shù)據(jù)庫服務(wù)器;步驟(3),專家值計算服務(wù)器在整個社會關(guān)系網(wǎng)絡(luò)中檢索所有候選專家,并給每個候選專家計算領(lǐng)域相關(guān)的專家值步驟(3.1),對于每個人vi,把他的個人基本的描述信息連接成一個大文檔d,并用pk表示該vi的每一篇論文的信息;步驟(3.2),給定一個領(lǐng)域關(guān)鍵詞q,運用信息檢索中的概率模型,估計該領(lǐng)域關(guān)鍵詞q和個人基本信息e的相關(guān)度p(q|d),以及領(lǐng)域關(guān)鍵詞q和每一篇論文的信息的相關(guān)度(q|pk)p(q|d)=Πt∈q((1-λ)p(t|d)+λp(t))n(t,q)]]>其中t表示當(dāng)把領(lǐng)域關(guān)鍵詞q分割成分詞后,其中各個詞的符號表示;n(t,q)表示分詞t出現(xiàn)在q中的次數(shù);λ為平滑處理系數(shù),取值為
;p(t)為分詞t在所有人的大文檔d中出現(xiàn)的次數(shù)除所有人的大文檔d中包含的總詞數(shù)來估算;p(t|d)為分詞t在vi的大文檔d中出現(xiàn)的次數(shù)除vi的大文檔d中包含的總字?jǐn)?shù)來估算;p(q|pk)=Πt∈q((1-λ)p(t|pk)+λp(t))n(t,q)]]>其中p(q|pk)為分詞t在vi的每篇論文的信息pk中出現(xiàn)的次數(shù)除以過濾了高頻詞后的論文信息pk中包含的總字?jǐn)?shù)來估算;步驟(3.2),根據(jù)步驟(3.1)得到的p(q|d)和p(q|pk)計算出每個人vi的個人基本信息以及每篇論文的信息各自與領(lǐng)域關(guān)鍵詞q的相關(guān)度,再把這兩個相關(guān)度進行線性擬合,得到下式所表示的每個人vi的專家初始值s(vi)0s(vi)0=α·p(q|d)+(1-α)·Σpk∈Pif(pk)×p(q|pk)]]>其中,a取值范圍為
,P表示該vj發(fā)表的全部論文,pk表示P中的一篇論文;if(pk)表示論文pk所發(fā)表的會議或雜志的影響因子,為已知值;步驟(3.3),選擇初始專家值排在前N位的專家組成候選專家組,N為設(shè)定值;步驟(4),所述專家值計算服務(wù)器利用基于傳播思想的迭代算法,按以下步驟構(gòu)建一個社會網(wǎng)絡(luò)子圖,并在該子圖的基礎(chǔ)上更新獲取候選專家的專家值步驟(4.1),根據(jù)步驟(3.3)得到的候選專家組得到一個關(guān)于領(lǐng)域關(guān)鍵詞q的社會關(guān)系網(wǎng)絡(luò)子網(wǎng),其中節(jié)點代表一個候選專家,每條邊表示連接的兩個專家之間關(guān)系;步驟(4.2)為步驟(4.1)得到的社會關(guān)系網(wǎng)絡(luò)子圖構(gòu)建一個傳播系統(tǒng)矩陣M,其中的元素Mij表示從vi到vj的傳播系數(shù),Mij取值范圍為
,所述Mij如下所示Mij=Σtc(τ(eijt))*w(eijt)]]>其中,c(τ(etij)代表一種關(guān)系etij的權(quán)重,為設(shè)定值,w(etij)代表vi和vj之間關(guān)系etij的密切程度,根據(jù)所述社會關(guān)系網(wǎng)絡(luò)圖中關(guān)系權(quán)重大者來選取相應(yīng)的關(guān)系名稱,據(jù)此來計算相應(yīng)的關(guān)系權(quán)重w(eijt) 其中,|Ui|表示vi的所有這種關(guān)系的數(shù)目;步驟(4.3),計算算法迭代到n+1時的專家值向量Sn+1(Sn+1表示所有專家的專家值組成的向量,其中的每一維Sin代表vi的專家值)Sn+1=(1-ω)Sn+ωMTSn其中,ω表示傳播距離的懲罰系數(shù),取值范圍為
,傳播系數(shù)矩陣M在跌代過程是固定不變的;步驟(4.4),把步驟(4.3)中所有專家的專家值歸一化為Sin+1=Sin+1max(Sin+1)]]>專家值最大為1;步驟(4.5)把步驟(4.4)得到的推薦專家集通過Web網(wǎng)絡(luò)輸出給用戶。
全文摘要
基于專家值傳播算法的社會網(wǎng)絡(luò)專家信息處理系統(tǒng)及方法屬于社會網(wǎng)絡(luò)信息處理領(lǐng)域。其特征為用社會網(wǎng)絡(luò)生成服務(wù)器構(gòu)建社會關(guān)系網(wǎng)絡(luò)圖,該圖用個人描述信息、人際關(guān)系、關(guān)系類別,及人際關(guān)系到關(guān)系類別的映射函數(shù)來描述。用專家值計算服務(wù)器對從數(shù)據(jù)庫服務(wù)器中讀取的信息,按權(quán)重分析計算領(lǐng)域關(guān)鍵詞與每個人的描述信息及論文信息的相關(guān)性,經(jīng)擬合后得到初始專家值;接著按人際關(guān)系重要度及密切度構(gòu)造傳播矩陣,根據(jù)初始專家值和傳播矩陣作迭代,得到所有專家的專家值,歸一化后,從大到小排序,輸出到Web服務(wù)器,供用戶選擇。今后,可在社會網(wǎng)絡(luò)專家信息處理系統(tǒng)上,利用人際關(guān)系的重要性及密切性進行專家檢索,其結(jié)果更為可靠。
文檔編號H04L12/28GK101075942SQ200710117719
公開日2007年11月21日 申請日期2007年6月22日 優(yōu)先權(quán)日2007年6月22日
發(fā)明者唐杰, 張靜, 李涓子 申請人:清華大學(xué)