一種通用的基于異構(gòu)信息網(wǎng)絡(luò)的相似度計(jì)算方法與系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息技術(shù)和互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體而言,涉及一種通用的基于異構(gòu)信 息網(wǎng)絡(luò)的相似度計(jì)算方法與系統(tǒng)。
【背景技術(shù)】
[0002] 隨著信息技術(shù)和互聯(lián)網(wǎng)的發(fā)展,人們逐漸從早期的數(shù)據(jù)匱乏進(jìn)入到了信息過(guò)載的 年代。特別是在當(dāng)前的大數(shù)據(jù)時(shí)代,如何解決信息過(guò)載問(wèn)題,并從海量的數(shù)據(jù)中提煉出有價(jià) 值的信息是目前人們迫切需要解決的一個(gè)關(guān)鍵問(wèn)題。不管是在各種信息檢索系統(tǒng)還是在各 種個(gè)性化推薦系統(tǒng)與應(yīng)用中,信息的相似度計(jì)算都是這些系統(tǒng)和應(yīng)用中的關(guān)鍵技術(shù),通常 對(duì)相關(guān)系統(tǒng)和應(yīng)用的處理精度起著決定性作用。
[0003] 異構(gòu)信息網(wǎng)絡(luò)是隨著社會(huì)網(wǎng)絡(luò)的發(fā)展而出現(xiàn)的一個(gè)較新的研宄領(lǐng)域,也稱為異構(gòu) 社會(huì)網(wǎng)絡(luò)或者多關(guān)系社會(huì)網(wǎng)絡(luò)。異構(gòu)信息網(wǎng)絡(luò)通過(guò)網(wǎng)絡(luò)模式指定了對(duì)象集合上的類型約 束和對(duì)象間的關(guān)系約束。這些約束使得異構(gòu)信息網(wǎng)絡(luò)是半結(jié)構(gòu)化的,從而指導(dǎo)人們更好地 去探索網(wǎng)絡(luò)語(yǔ)義。異構(gòu)信息網(wǎng)絡(luò)可以從許多互聯(lián)的社會(huì)的、科學(xué)的、工程的到商業(yè)應(yīng)用的 大規(guī)模數(shù)據(jù)集上進(jìn)行構(gòu)建,也可以在電子商務(wù)上比如Amazon和eBay,在線電影數(shù)據(jù)庫(kù)如 IMDb(InternetMovieDatabase),和各種數(shù)據(jù)庫(kù)上進(jìn)行應(yīng)用。
[0004] 異構(gòu)信息網(wǎng)絡(luò)作為一種通用的大數(shù)據(jù)挖掘工具,對(duì)于處理數(shù)據(jù)之間的關(guān)系與結(jié)構(gòu) 特征有著很好的表現(xiàn)力,通過(guò)異構(gòu)信息網(wǎng)絡(luò)對(duì)現(xiàn)實(shí)世界中的關(guān)系進(jìn)行建模,可以有效地對(duì) 現(xiàn)實(shí)世界中信息之間的相似度進(jìn)行計(jì)算。
[0005] 目前一些比較傳統(tǒng)的在計(jì)算現(xiàn)實(shí)世界實(shí)體之間的相似度計(jì)算方法方面通常只是 針對(duì)特定數(shù)據(jù),方法簡(jiǎn)單固定,不能很好地體現(xiàn)現(xiàn)實(shí)世界實(shí)體之間的豐富關(guān)系,缺少一種通 用的計(jì)算方法和框架,通常利用一些簡(jiǎn)單的相似度計(jì)算方法,并且在計(jì)算過(guò)程中只考慮數(shù) 據(jù)與數(shù)據(jù)之間的較少的相對(duì)固定的屬性,在考慮不同類型的數(shù)據(jù)以及數(shù)據(jù)的不同屬性的情 況下,必須重新考慮計(jì)算方法,并且需要對(duì)系統(tǒng)進(jìn)行重新修改,導(dǎo)致通用性較差,計(jì)算效率 不高以及結(jié)果的準(zhǔn)確度低,完全不能適應(yīng)當(dāng)今的大數(shù)據(jù)時(shí)代的要求。
【發(fā)明內(nèi)容】
[0006] 為解決上述問(wèn)題,本發(fā)明的目的在于提供一種可以根據(jù)用戶需求選定相應(yīng)數(shù)據(jù)屬 性及計(jì)算方法的通用的相似度計(jì)算方法與系統(tǒng)。
[0007] 本發(fā)明提供了一種通用的基于異構(gòu)信息網(wǎng)絡(luò)的相似度計(jì)算方法,包括:
[0008] 步驟1,對(duì)輸入數(shù)據(jù)集進(jìn)行預(yù)處理,保證輸入數(shù)據(jù)的有效性;
[0009] 步驟2,進(jìn)行元數(shù)據(jù)提取,提取出所述輸入數(shù)據(jù)的描述信息,并將所述描述信息存 放在元數(shù)據(jù)庫(kù)中,其中,所述描述信息包括所述輸入數(shù)據(jù)集整體情況的全局信息、每條記錄 的局部信息以及數(shù)據(jù)屬性的標(biāo)識(shí)符與內(nèi)部表示的轉(zhuǎn)換和對(duì)應(yīng)信息;
[0010] 步驟3,用戶選取參與相似度計(jì)算的實(shí)體和數(shù)據(jù)屬性,查詢對(duì)應(yīng)的元數(shù)據(jù),顯示每 個(gè)元數(shù)據(jù)的數(shù)據(jù)類型、取值范圍,并提示用戶根據(jù)預(yù)先設(shè)定好的處理庫(kù)選取所述元數(shù)據(jù)的 處理方法,以所述實(shí)體為中心結(jié)點(diǎn),各實(shí)體按照語(yǔ)義關(guān)系進(jìn)行鏈接,各屬性連接到相應(yīng)實(shí) 體,生成異構(gòu)信息網(wǎng)絡(luò)模式,并存儲(chǔ)所述異構(gòu)信息網(wǎng)絡(luò)模式;
[0011] 步驟4,在所述異構(gòu)信息網(wǎng)絡(luò)模式中,用戶指定數(shù)據(jù)屬性和元路徑后,根據(jù)所選的 處理方法進(jìn)行相似度計(jì)算;
[0012] 步驟5,根據(jù)所選數(shù)據(jù)屬性的權(quán)重,將步驟4計(jì)算得到的多個(gè)相似度結(jié)果進(jìn)行融 合,得到統(tǒng)一的相似度結(jié)果,并將統(tǒng)一的相似度結(jié)果進(jìn)行格式轉(zhuǎn)換,輸出給用戶。
[0013] 作為本發(fā)明進(jìn)一步的改進(jìn),步驟1中,對(duì)輸入數(shù)據(jù)集的預(yù)處理包括數(shù)據(jù)清理和數(shù) 據(jù)集成;
[0014] 其中,
[0015] 數(shù)據(jù)清理是進(jìn)行格式轉(zhuǎn)換、消除噪聲、刪除不一致數(shù)據(jù),對(duì)所述輸入數(shù)據(jù)集進(jìn)行數(shù) 據(jù)清理,去除無(wú)用的噪聲數(shù)據(jù),并進(jìn)行相應(yīng)的格式轉(zhuǎn)換;
[0016] 數(shù)據(jù)集成是組合多個(gè)數(shù)據(jù)源數(shù)據(jù)。
[0017] 作為本發(fā)明進(jìn)一步的改進(jìn),步驟4具體包括:
[0018] 步驟401,用戶指定數(shù)據(jù)屬性,并選擇元路徑,如果涉及到多個(gè)數(shù)據(jù)屬性,用戶指定 多個(gè)數(shù)據(jù)屬性的鏈接順序,構(gòu)成元路徑;
[0019] 步驟402,在用戶指定單個(gè)數(shù)據(jù)屬性之后,調(diào)取對(duì)應(yīng)數(shù)據(jù)屬性中的數(shù)據(jù),并將這些 數(shù)據(jù)構(gòu)建成為鄰接矩陣,如果用戶指定一個(gè)元路徑,則將這個(gè)元路徑上的所有關(guān)系構(gòu)建所 述鄰接矩陣,之后對(duì)所述鄰接矩陣進(jìn)行標(biāo)準(zhǔn)化處理;
[0020] 步驟403,在所述鄰接矩陣規(guī)范化之后,利用矩陣運(yùn)算,得到對(duì)應(yīng)屬性的相似度結(jié) 果矩陣。
[0021] 作為本發(fā)明進(jìn)一步的改進(jìn),步驟1中的所述輸入數(shù)據(jù)集的格式包括關(guān)系數(shù)據(jù)庫(kù)形 式、NOSQL數(shù)據(jù)庫(kù)形式、ARFF文件、CSV文件以及文本文件和excel電子表格。
[0022] 作為本發(fā)明進(jìn)一步的改進(jìn),步驟2中,所述全局信息包括所述輸入數(shù)據(jù)集的記錄 條數(shù)以及每條記錄中的數(shù)據(jù)屬性個(gè)數(shù),所述局部信息包括每個(gè)數(shù)據(jù)屬性的標(biāo)識(shí)符、數(shù)據(jù)類 型和取值范圍。
[0023] 本發(fā)明還提供了一種通用的基于異構(gòu)信息網(wǎng)絡(luò)的相似度計(jì)算系統(tǒng),包括:
[0024] 處理模塊,對(duì)輸入數(shù)據(jù)集進(jìn)行預(yù)處理,保證輸入數(shù)據(jù)的有效性;
[0025] 提取模塊,進(jìn)行元數(shù)據(jù)提取,提取出所述輸入數(shù)據(jù)的描述信息,并將所述描述信息 存放在元數(shù)據(jù)庫(kù)中,其中,所述描述信息包括所述輸入數(shù)據(jù)集整體情況的全局信息、每條記 錄的局部信息以及數(shù)據(jù)屬性的標(biāo)識(shí)符與內(nèi)部表示的轉(zhuǎn)換和對(duì)應(yīng)信息;
[0026] 建模模塊,用戶選取參與相似度計(jì)算的實(shí)體和數(shù)據(jù)屬性,查詢對(duì)應(yīng)的元數(shù)據(jù),顯示 每個(gè)元數(shù)據(jù)的數(shù)據(jù)類型、取值范圍,并提示用戶根據(jù)預(yù)先設(shè)定好的處理庫(kù)選取所述元數(shù)據(jù) 的處理方法,以所述實(shí)體為中心結(jié)點(diǎn),各實(shí)體按照語(yǔ)義關(guān)系進(jìn)行鏈接,各屬性連接到相應(yīng)實(shí) 體,生成異構(gòu)信息網(wǎng)絡(luò)模式,并存儲(chǔ)所述異構(gòu)信息網(wǎng)絡(luò)模式;
[0027] 計(jì)算模塊,在所述異構(gòu)信息網(wǎng)絡(luò)模式中,用戶指定數(shù)據(jù)屬性和元路徑后,根據(jù)所選 的處理方法進(jìn)行相似度計(jì)算;
[0028] 后處理模塊,根據(jù)所選數(shù)據(jù)屬性的權(quán)重,將步驟4計(jì)算得到的多個(gè)相似度結(jié)果進(jìn) 行融合,得到統(tǒng)一的相似度結(jié)果,并將統(tǒng)一的相似度結(jié)果進(jìn)行格式轉(zhuǎn)換,輸出給用戶。
[0029] 作為本發(fā)明進(jìn)一步的改進(jìn),所述處理模塊對(duì)輸入數(shù)據(jù)集的預(yù)處理包括數(shù)據(jù)清理和 數(shù)據(jù)集成;
[0030]其中,
[0031] 數(shù)據(jù)清理是進(jìn)行格式轉(zhuǎn)換、消除噪聲、刪除不一致數(shù)據(jù),對(duì)所述輸入數(shù)據(jù)集進(jìn)行數(shù) 據(jù)清理,去除無(wú)用的噪聲數(shù)據(jù),并進(jìn)行相應(yīng)的格式轉(zhuǎn)換;
[0032] 數(shù)據(jù)集成是組合多個(gè)數(shù)據(jù)源數(shù)據(jù)。
[0033] 作為本發(fā)明進(jìn)一步的改進(jìn),所述計(jì)算模塊包括:
[0034] 指定模塊,用戶指定數(shù)據(jù)屬性,并選擇元路徑,如果涉及到多個(gè)數(shù)據(jù)屬性,用戶指 定多個(gè)數(shù)據(jù)屬性的鏈接順序,構(gòu)成元路徑;
[0035] 構(gòu)建模塊,在用戶指定單個(gè)數(shù)據(jù)屬性之后,調(diào)取對(duì)應(yīng)數(shù)據(jù)屬性中的數(shù)據(jù),并將這些 數(shù)據(jù)構(gòu)建成為鄰接矩陣,如果用戶指定一個(gè)元路徑,則將這個(gè)元路徑上的所有關(guān)系構(gòu)建所 述鄰接矩陣,之后對(duì)所述鄰接矩陣進(jìn)行標(biāo)準(zhǔn)化處理;
[0036] 運(yùn)算模塊,在所述鄰接矩陣規(guī)范化之后,利用矩陣運(yùn)算,得到對(duì)應(yīng)屬性的相似度結(jié) 果矩陣。
[0037] 作為本發(fā)明進(jìn)一步的改進(jìn),所述處理模塊中的所述輸入數(shù)據(jù)集的格式包括關(guān)系數(shù) 據(jù)庫(kù)形式、NOSQL數(shù)據(jù)庫(kù)形式、ARFF文件、CSV文件以及文本文件和excel電子表格。
[0038] 作為本發(fā)明進(jìn)一步的改進(jìn),所述提取模塊中,所述全局信息包括所述輸入數(shù)據(jù)集 的記錄條數(shù)以及每條記錄中的數(shù)據(jù)屬性個(gè)數(shù),所述局部信息包括每個(gè)數(shù)據(jù)屬性的標(biāo)識(shí)符、 數(shù)據(jù)類型和取值范圍。
[0039] 本發(fā)明的有益效果為:
[0040] 1、采用異構(gòu)信息網(wǎng)絡(luò)建模,較好地解決了在當(dāng)前越來(lái)越重要的相似度計(jì)算問(wèn)題, 具有廣闊的應(yīng)用前景和使用價(jià)值;
[0041] 2、具有良好的通用性與兼容性,能夠處理不同類型的數(shù)據(jù)集;
[0042] 3、能夠滿足用戶對(duì)數(shù)據(jù)對(duì)象多種相似度計(jì)算的需求,既可用于計(jì)算同類型對(duì)象之 間的相似度,也可以計(jì)算不同對(duì)象間的相似度,適用于多種領(lǐng)域的實(shí)際應(yīng)用與系統(tǒng)中。如推 薦系統(tǒng)中最經(jīng)常使用的計(jì)算用戶與用戶之間,物品與物品之間的相似度,以及計(jì)算用戶和 物品之間的相似度,也可以計(jì)算搜索系統(tǒng)中的系統(tǒng)對(duì)象之間的相似度;
[0043] 4、可以通過(guò)用戶指定多種相似度計(jì)算方法和結(jié)果后處理方式,靈活便捷,用戶選 擇自由度高,并且顯著提高了計(jì)算的準(zhǔn)確度,同時(shí)在計(jì)算效率方面有著明顯優(yōu)勢(shì),很好的解 決了信息過(guò)載問(wèn)題。
【附圖說(shuō)明】
[0044] 圖1為本發(fā)明實(shí)施例所述的一種通用的基于異構(gòu)信息網(wǎng)絡(luò)的相似度計(jì)算方法的 流程圖;
[0045] 圖2為本發(fā)明實(shí)施例所述的一種通用的基于異構(gòu)信息網(wǎng)絡(luò)的相似度計(jì)算方法中 步驟4的流程圖;
[0046] 圖3為本發(fā)明實(shí)施例所述的一種通用的基于異構(gòu)信息網(wǎng)絡(luò)的相似度計(jì)算方法中 異構(gòu)信息網(wǎng)絡(luò)模式的示意圖;
[0047] 圖4為本發(fā)明實(shí)施例所述的一種通用的基于異構(gòu)信息網(wǎng)絡(luò)的相似度計(jì)算系統(tǒng)的 系統(tǒng)圖;
[0048] 圖5為本發(fā)明實(shí)施例所述的一種通用的基于異構(gòu)信息網(wǎng)絡(luò)的相似度計(jì)算系統(tǒng)中 計(jì)算模塊的示意圖。
【具體實(shí)施方式】
[0049] 下面通過(guò)具體的實(shí)施例并結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的詳細(xì)描述。
[0050] 實(shí)施例1,如圖1所示,本發(fā)明實(shí)施例的一種通用的基于異構(gòu)信息網(wǎng)絡(luò)的相似度計(jì) 算方法,包括:
[0051] 步驟1,對(duì)輸入數(shù)據(jù)集進(jìn)行預(yù)處理,保證輸入數(shù)據(jù)的有效性;
[0052] 以下僅以美國(guó)明尼蘇達(dá)大學(xué)提供的電影推薦數(shù)據(jù)集MovieLenslOOk為例,具體實(shí) 施如下:在僅使用電影推薦的情況下,其中大量的用戶數(shù)據(jù)就是多余的,需要去掉。而在該 數(shù)據(jù)集中缺乏電影演員(Actor),導(dǎo)演(Director)等信息,而數(shù)據(jù)集提供了電影到因特網(wǎng) 電影數(shù)據(jù)集頂Db的鏈接,組合數(shù)據(jù)集MovieLens100K和數(shù)據(jù)集MDb,得到有效的數(shù)據(jù)。
[0053] 步驟2,進(jìn)行元數(shù)據(jù)提