本發(fā)明涉及數(shù)據(jù)檢索,特別涉及一種基于集成搜索引擎的數(shù)據(jù)發(fā)現(xiàn)方法。
背景技術(shù):
隨著web技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)信息資源正以幾何速度的方式增長(zhǎng)。如何從互聯(lián)網(wǎng)海量信息中快速檢索出與用戶相關(guān)的有用數(shù)據(jù)已成為當(dāng)前急需解決的問(wèn)題。搜索引擎正是在信息檢索技術(shù)的基礎(chǔ)上發(fā)展起來(lái)的。搜索引擎幫助本發(fā)明更好的表達(dá)和存儲(chǔ)現(xiàn)實(shí)世界中的本質(zhì)信息,而且通過(guò)對(duì)搜索引擎中的聯(lián)接信息進(jìn)行分析,可作為一種挖掘隱藏信息的有用工具?,F(xiàn)有搜索引擎單純的依賴有限搜索詞去表達(dá)用戶需求,存在這表達(dá)不完整的問(wèn)題。即使是同樣的搜索詞,不同的用戶所期望的結(jié)果可能也是不同的。例如微博系統(tǒng),如果考慮微博以及相關(guān)交互對(duì)象的關(guān)系,它可以抽象為一個(gè)異構(gòu)網(wǎng)絡(luò),其中包含了微博、信息、標(biāo)簽以及用戶等節(jié)點(diǎn)。微博和微博之間存在著關(guān)注和粉絲關(guān)系,微博和信息之間存在著發(fā)表和轉(zhuǎn)發(fā)關(guān)系,微博和標(biāo)簽之間是一個(gè)包含關(guān)系,而用戶和微博之間存在著擁有關(guān)系?,F(xiàn)有的搜索工具并未考慮上述多維對(duì)象形成的復(fù)雜環(huán)境進(jìn)行數(shù)據(jù)挖掘。
技術(shù)實(shí)現(xiàn)要素:
為解決上述現(xiàn)有技術(shù)所存在的問(wèn)題,本發(fā)明提出了一種基于集成搜索引擎的數(shù)據(jù)發(fā)現(xiàn)方法,包括:
網(wǎng)絡(luò)爬蟲(chóng)首先讀取程序配置文件,并預(yù)加載緩存采集時(shí)要用到的數(shù)據(jù);事務(wù)管理器根據(jù)配置信息,初始化各個(gè)事務(wù),并控制事務(wù)的運(yùn)行;事務(wù)獲取處理任務(wù),先進(jìn)行爬取鏈接去重檢查,分析爬取鏈接的類型,對(duì)不同的采集類型執(zhí)行不同的處理方式,在采集時(shí),分析是新的采集事務(wù)還是更新任務(wù),并在獲取到鏈接的網(wǎng)頁(yè)源碼后,對(duì)采集到的網(wǎng)頁(yè)源碼執(zhí)行清洗、過(guò)濾,根據(jù)網(wǎng)頁(yè)信息相關(guān)特征規(guī)律提取出有效信息;事務(wù)對(duì)提取出的信息進(jìn)行轉(zhuǎn)換處理,進(jìn)行緩存;當(dāng)緩存待保存數(shù)據(jù)達(dá)到一定數(shù)量時(shí),事務(wù)執(zhí)行緩存數(shù)據(jù)入庫(kù)處理;同時(shí)事務(wù)管理器定時(shí)監(jiān)控各個(gè)事務(wù)的執(zhí)行狀態(tài),對(duì)異常事務(wù)進(jìn)行控制管理。
優(yōu)選地,采用多層緩存結(jié)構(gòu),根據(jù)計(jì)算機(jī)的內(nèi)存大小對(duì)各層緩存大小進(jìn)行配置;
首先對(duì)全局爬取進(jìn)行緩存;在對(duì)爬取數(shù)據(jù)庫(kù)的訪問(wèn)連接過(guò)程中,采用一次性獲取批量爬取結(jié)果進(jìn)行緩存;
其次采用單個(gè)事務(wù)自身的爬取緩存,每個(gè)事務(wù)各自擁有一個(gè)采集數(shù)據(jù)源緩存區(qū)域;
然后對(duì)事務(wù)在處理過(guò)程中的產(chǎn)生的數(shù)據(jù)進(jìn)行緩存,包括在鏈接去重檢查時(shí),緩存訪問(wèn)過(guò)的網(wǎng)頁(yè)、媒體鏈接地址;
最后一層緩存是緩存待保存的數(shù)據(jù),當(dāng)待保存的數(shù)據(jù)達(dá)到一定數(shù)量以后,事務(wù)才對(duì)數(shù)據(jù)進(jìn)行入庫(kù)保存。
優(yōu)選地,在爬取之前,根據(jù)域名生成規(guī)則依次遍歷所有可能的組合域名,對(duì)組合域名進(jìn)行依次檢測(cè),識(shí)別有效域名與無(wú)效域名,建立根域名庫(kù);然后獲取導(dǎo)航站點(diǎn)的網(wǎng)頁(yè)源碼,根據(jù)根域名組成規(guī)則從網(wǎng)頁(yè)源碼中提取根站點(diǎn)地址與鏈接文本,更新根域名庫(kù)。
優(yōu)選地,對(duì)于頁(yè)面重復(fù)鏈接,為每個(gè)事務(wù)部署專門(mén)的去重容器,每個(gè)容器只存儲(chǔ)自己已經(jīng)訪問(wèn)過(guò)的鏈接地址的映射碼;去重容器只記錄自己訪問(wèn)過(guò)在同一個(gè)根域名站點(diǎn)下的鏈接,對(duì)不屬于此根域名下的網(wǎng)頁(yè)地址進(jìn)行丟棄處理;
當(dāng)事務(wù)開(kāi)始采集另一個(gè)根站點(diǎn)信息時(shí),清空去重容器的歷史訪問(wèn)記錄,重新記錄新的根站點(diǎn)訪問(wèn)記錄;將信息采集器爬取站點(diǎn)的深度設(shè)置閾值,每個(gè)事務(wù)運(yùn)行時(shí),實(shí)際去重容器所占的內(nèi)存通過(guò)爬取站點(diǎn)深度的閾值來(lái)控制。
本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點(diǎn):
本發(fā)明提出了一種基于集成搜索引擎的數(shù)據(jù)發(fā)現(xiàn)方法,利用事務(wù)控制策略進(jìn)行高效數(shù)據(jù)采集,針對(duì)多維對(duì)象之間的耦合關(guān)系進(jìn)行數(shù)據(jù)挖掘。
附圖說(shuō)明
圖1是根據(jù)本發(fā)明實(shí)施例的基于集成搜索引擎的數(shù)據(jù)發(fā)現(xiàn)方法的流程圖。
具體實(shí)施方式
下文與圖示本發(fā)明原理的附圖一起提供對(duì)本發(fā)明一個(gè)或者多個(gè)實(shí)施例的詳細(xì)描述。結(jié)合這樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán)利要求書(shū)限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié)以便提供對(duì)本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無(wú)這些具體細(xì)節(jié)中的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書(shū)實(shí)現(xiàn)本發(fā)明。
本發(fā)明的一方面提供了一種基于集成搜索引擎的數(shù)據(jù)發(fā)現(xiàn)方法。圖1是根據(jù)本發(fā)明實(shí)施例的基于集成搜索引擎的數(shù)據(jù)發(fā)現(xiàn)方法流程圖。
本發(fā)明的搜索引擎可分為采集模塊和分析模塊。采集模塊包括爬取站點(diǎn)數(shù)據(jù)庫(kù)、爬取站點(diǎn)調(diào)度單元,事務(wù)管理控制器、事務(wù)容器、數(shù)據(jù)控制器、基礎(chǔ)數(shù)據(jù)庫(kù)。事務(wù)管理控制器用于多個(gè)爬取事務(wù)的創(chuàng)建、啟動(dòng)、運(yùn)行控制和銷(xiāo)毀。事務(wù)有自己獨(dú)立的容器,用于事務(wù)資源的管理,具體包括:爬取站點(diǎn)緩存單元,用于在內(nèi)存中建立隊(duì)列來(lái)緩存事務(wù)要爬取的站點(diǎn)數(shù)據(jù);事務(wù)緩存單元,用于緩存事務(wù)自身的數(shù)據(jù);存儲(chǔ)緩存單元,緩存待存儲(chǔ)到數(shù)據(jù)庫(kù)的相關(guān)數(shù)據(jù);采集事務(wù)處理單元,用于對(duì)采集數(shù)據(jù)的加載、實(shí)現(xiàn)數(shù)據(jù)更新、鏈接去重、存儲(chǔ)處理;數(shù)據(jù)清洗抽取單元,對(duì)采集的代碼進(jìn)行清洗,抽取出有效信息。這些有效信息包括網(wǎng)頁(yè)的標(biāo)題、關(guān)鍵字、摘要、正文、網(wǎng)頁(yè)中出現(xiàn)的字體類型、媒體特征信息。獲取網(wǎng)頁(yè)質(zhì)量等級(jí)評(píng)價(jià)的相關(guān)信息和獲取網(wǎng)頁(yè)中新的爬取站點(diǎn);數(shù)據(jù)存儲(chǔ)分析單元,將清洗抽取出來(lái)數(shù)據(jù)轉(zhuǎn)換為易存儲(chǔ)的形式,數(shù)據(jù)進(jìn)行壓縮,組成待執(zhí)行的數(shù)據(jù)庫(kù)搜索字符串。數(shù)據(jù)控制器用于程序與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交換處理;包括全局?jǐn)?shù)據(jù)源緩存單元、數(shù)據(jù)調(diào)度單元、數(shù)據(jù)訪問(wèn)管理單元。全局爬取緩存單元用于處理多事務(wù)在對(duì)臨界資源訪問(wèn)時(shí)的事務(wù)等待,減少多事務(wù)對(duì)數(shù)據(jù)庫(kù)的操作訪問(wèn)次數(shù)。每個(gè)網(wǎng)絡(luò)爬蟲(chóng)只有一個(gè)全局爬取緩存單元實(shí)例。數(shù)據(jù)訪問(wèn)管理單元用于數(shù)據(jù)庫(kù)與程序的數(shù)據(jù)交互處理。數(shù)據(jù)調(diào)度單元實(shí)現(xiàn)單事務(wù)爬取的調(diào)度,當(dāng)單事務(wù)爬取緩存單元中沒(méi)有爬取時(shí),由數(shù)據(jù)調(diào)度單元從全局爬取緩存單元中獲取若干爬取到事務(wù)爬取緩存單元。數(shù)據(jù)調(diào)度單元在整個(gè)程序中只有一個(gè)實(shí)例。
搜索引擎的網(wǎng)絡(luò)爬蟲(chóng)在工作時(shí),首先讀取程序配置文件,并預(yù)加載緩存采集時(shí)要用到的數(shù)據(jù);事務(wù)管理器。根據(jù)配置信息,初始化各個(gè)事務(wù),并控制事務(wù)的運(yùn)行;事務(wù)獲取處理任務(wù),先進(jìn)行爬取鏈接去重檢查,分析爬取鏈接的類型,對(duì)不同的采集類型執(zhí)行不同的處理方式,在采集時(shí),分析是新的采集事務(wù)還是更新任務(wù),并在獲取到鏈接的網(wǎng)頁(yè)源碼后,對(duì)采集到的網(wǎng)頁(yè)源碼執(zhí)行清洗、過(guò)濾,根據(jù)網(wǎng)頁(yè)信息相關(guān)特征規(guī)律,提取出有效信息;事務(wù)對(duì)提取出的信息進(jìn)行轉(zhuǎn)換處理,進(jìn)行緩存;當(dāng)緩存待保存數(shù)據(jù)達(dá)到一定數(shù)量時(shí),事務(wù)執(zhí)行緩存數(shù)據(jù)入庫(kù)處理;同時(shí)事務(wù)管理器定時(shí)監(jiān)控各個(gè)事務(wù)的執(zhí)行狀態(tài),對(duì)異常事務(wù)進(jìn)行控制管理。
在爬取之前,根據(jù)域名生成規(guī)則依次遍歷所有可能的組合域名,對(duì)組合域名進(jìn)行依次檢測(cè),識(shí)別有效域名與無(wú)效域名,建立根域名庫(kù);然后獲取導(dǎo)航站點(diǎn)的網(wǎng)頁(yè)源碼,根據(jù)根域名組成規(guī)則從網(wǎng)頁(yè)源碼中提取根站點(diǎn)地址與鏈接文本,更新根域名庫(kù)。
每個(gè)網(wǎng)絡(luò)爬蟲(chóng)只有一個(gè)全局的采集事務(wù)調(diào)度單元。當(dāng)事務(wù)的爬取站點(diǎn)緩存為空時(shí),事務(wù)請(qǐng)求或等待數(shù)據(jù)調(diào)度單元從全局采集緩存站點(diǎn)或數(shù)據(jù)庫(kù)傳送爬取站點(diǎn)。事務(wù)調(diào)度過(guò)程具體為:事務(wù)獲取數(shù)據(jù)調(diào)度單元控制權(quán)限;判斷全局采集緩存站點(diǎn)是否為空,如為空,則從數(shù)據(jù)庫(kù)獲取一定數(shù)量的爬取緩存到全局采集緩存源,如不為空,則從全局爬取站點(diǎn)獲取一定數(shù)量的爬取給當(dāng)前事務(wù)的爬取緩存單元。
對(duì)于單事務(wù),其采集流程具體如下:
1.事務(wù)從事務(wù)隊(duì)列中獲取一個(gè)非空采集事務(wù)對(duì)象。如果獲取到空事務(wù)對(duì)象,則執(zhí)行事務(wù)調(diào)度。
2.判斷采集事務(wù)的深度是否超過(guò)最大的深度;事務(wù)從當(dāng)前采集事務(wù)對(duì)象中獲取其當(dāng)前事務(wù)對(duì)象所在的采集深度。如果采集深度超過(guò)系統(tǒng)配置的站點(diǎn)采集深度,則當(dāng)前事務(wù)采集結(jié)束。如采集深度未超過(guò)系統(tǒng)配置的站點(diǎn)采集深度,則事務(wù)繼續(xù)步驟3。
3.判斷采集事務(wù)的類型;如果是網(wǎng)頁(yè)采集事務(wù),則執(zhí)行步驟4,如果不是網(wǎng)頁(yè)采集事務(wù),則執(zhí)行步驟5。
4.判斷是否是新網(wǎng)頁(yè)還是未完成的網(wǎng)頁(yè)鏈接;如果此采集事務(wù)訪問(wèn)地址不在歷史抓取庫(kù)中,則按新發(fā)現(xiàn)的網(wǎng)頁(yè)進(jìn)行采集即步驟7。如果此采集事務(wù)在歷史抓取庫(kù)中,從歷史抓取庫(kù)中獲取此網(wǎng)頁(yè)地址的上次采集信息:訪問(wèn)地址、訪問(wèn)時(shí)間、頁(yè)面大小、更新頻率、根域名。計(jì)算上次訪問(wèn)時(shí)間與本次訪問(wèn)當(dāng)前時(shí)間的間隔時(shí)間是否已經(jīng)超過(guò)更新頻率,如果未超過(guò),則不進(jìn)行采集,采集結(jié)束;如果已經(jīng)超過(guò),則比較當(dāng)前網(wǎng)頁(yè)地址的頁(yè)面內(nèi)容大小與上一次頁(yè)面內(nèi)容大小,如果相等,則不進(jìn)行采集,如果不相等,則繼續(xù)步驟6。
5.如果是媒體或文件鏈接,則執(zhí)行相應(yīng)的采集文檔處理;如果是非法鏈接,則記錄此異常鏈接。
6.獲取此網(wǎng)頁(yè)鏈接頁(yè)面源碼,更新歷史訪問(wèn)庫(kù)中此網(wǎng)頁(yè)地址的采集信息,執(zhí)行步驟8。
7.采集新任務(wù)網(wǎng)頁(yè),獲取此網(wǎng)頁(yè)鏈接頁(yè)面的源碼,在歷史訪問(wèn)庫(kù)中增加此網(wǎng)頁(yè)地址的訪問(wèn)記錄。
8.執(zhí)行網(wǎng)頁(yè)清洗抽取,該網(wǎng)頁(yè)清洗抽取步驟用于從網(wǎng)頁(yè)源碼中提取指定的特征信息,清除網(wǎng)頁(yè)源碼中的無(wú)用信息或噪聲數(shù)據(jù),然后再?gòu)那逑春脭?shù)據(jù)中提取出需要的信息。進(jìn)一步地,根據(jù)文本相似度算法,從網(wǎng)頁(yè)中提取標(biāo)題,網(wǎng)頁(yè)中定義的關(guān)鍵字、描述性文本、標(biāo)題,正文,網(wǎng)頁(yè)中的鏈接、媒體資源供排序分析使用。在清洗時(shí),事務(wù)采集程序首先獲取當(dāng)前事務(wù)的網(wǎng)頁(yè)編碼。啟動(dòng)清洗器,并初始化。清除網(wǎng)頁(yè)編碼中的樣式編碼和注解編碼;清除網(wǎng)頁(yè)編號(hào)中的腳本代碼,并同時(shí)根據(jù)腳本編碼信息識(shí)別當(dāng)前網(wǎng)頁(yè)是否存在媒體文件。如果存在則進(jìn)行保存。將提取后的信息進(jìn)行壓縮轉(zhuǎn)換成易于存儲(chǔ)的格式并進(jìn)行存儲(chǔ)。
對(duì)于頁(yè)面重復(fù)鏈接,為每個(gè)事務(wù)部署專門(mén)的去重容器,每個(gè)容器只存儲(chǔ)自己已經(jīng)訪問(wèn)過(guò)的鏈接地址的映射碼。去重容器只需要記錄自己訪問(wèn)過(guò)在同一個(gè)根域名站點(diǎn)下的鏈接,對(duì)不屬于此根域名下的網(wǎng)頁(yè)地址進(jìn)行丟棄處理。當(dāng)事務(wù)開(kāi)始采集另一個(gè)根站點(diǎn)信息時(shí),清空去重容器的歷史訪問(wèn)記錄,重新記錄新的根站點(diǎn)訪問(wèn)記錄。將信息采集器爬取站點(diǎn)的深度設(shè)置閾值,每個(gè)事務(wù)運(yùn)行時(shí),實(shí)際去重容器所占的內(nèi)存可以通過(guò)爬取站點(diǎn)深度閾值來(lái)控制。
為減少事務(wù)等待,本發(fā)明采用多層緩存結(jié)構(gòu),根據(jù)計(jì)算機(jī)的內(nèi)存大小對(duì)各層緩存大小進(jìn)行配置。首先對(duì)全局爬取進(jìn)行緩存。在對(duì)爬取數(shù)據(jù)庫(kù)的訪問(wèn)連接過(guò)程中,采用一次性獲取批量爬取結(jié)果進(jìn)行緩存。其次采用單個(gè)事務(wù)自身的爬取緩存。每個(gè)事務(wù)各自擁有一個(gè)采集數(shù)據(jù)源緩存區(qū)域。然后對(duì)事務(wù)在處理過(guò)程中的產(chǎn)生的數(shù)據(jù)進(jìn)行緩存,包括在鏈接去重檢查時(shí),緩存訪問(wèn)過(guò)的網(wǎng)頁(yè)、媒體鏈接地址。最后一層緩存是緩存待保存的數(shù)據(jù)。當(dāng)待保存的數(shù)據(jù)達(dá)到一定數(shù)量以后,事務(wù)才對(duì)數(shù)據(jù)進(jìn)行入庫(kù)保存。
所述搜索引擎的分析模塊用于將采集回來(lái)的文本、媒體的基礎(chǔ)數(shù)據(jù)進(jìn)行分析處理,為關(guān)鍵字建立索引,便于檢索系統(tǒng)的搜索。分析模塊對(duì)文本進(jìn)行關(guān)鍵字提取時(shí),依次對(duì)文本進(jìn)行關(guān)鍵字提取。對(duì)于數(shù)字或中文數(shù)字漢字,如果是連續(xù)存在的,本發(fā)明當(dāng)成一個(gè)關(guān)鍵詞進(jìn)行處理。對(duì)于英文字母,如果遇到空格等非英文字母時(shí),則進(jìn)行劃分。對(duì)于中文漢字組成的句子,則按下面的次序進(jìn)行處理:①如果字符是一連續(xù)的漢字?jǐn)?shù)字,則將漢字?jǐn)?shù)字連續(xù)放在一起。②如果連續(xù)三個(gè)漢字都是獨(dú)立的,沒(méi)有形成詞組,本發(fā)明將這個(gè)三個(gè)獨(dú)立的字作為一個(gè)新的詞組進(jìn)行劃分。③如果①、②兩種情況都不存在,則采用基于詞庫(kù)算法進(jìn)行劃分。對(duì)于其它不是數(shù)字、英文字母、簡(jiǎn)體中文的計(jì)算機(jī)符號(hào),則將這些計(jì)算機(jī)符號(hào)看成特別字符,每個(gè)特別字符為一個(gè)關(guān)鍵詞。
對(duì)文本進(jìn)行關(guān)鍵字提取步驟進(jìn)一步包括:
加載中文詞組。從分詞對(duì)象中獲取待劃分的文本;獲取分析位置及字符,判斷分析的位置是否已經(jīng)是待劃分文本的末尾,如果是待劃分文本的最后位置,則劃分好的文本加上切分符,再加上待劃分文本的最后一個(gè)字符,組在新的劃分好的文本,此時(shí)文本劃分完成。從分析位置開(kāi)始,尋找切分符位置。找到切分符的位置后,截取分析位置到切分符位置之間的字符,切分符加上劃分后的文本,組成已經(jīng)劃分好的文本。
中文基礎(chǔ)詞庫(kù)的存儲(chǔ)采用雙層散列列表對(duì)象存儲(chǔ)。以單詞詞組的首個(gè)漢字為鍵,以另一個(gè)散列列表對(duì)象為鍵值的存儲(chǔ)結(jié)構(gòu);鍵值的散列列表對(duì)象存儲(chǔ)的是以鍵開(kāi)頭的詞組的除去首個(gè)漢字后的詞組剩余部分。首漢字的鍵值的存儲(chǔ)結(jié)構(gòu)是以單詞的第二個(gè)漢字為鍵,以鏈?zhǔn)綌?shù)組為鍵值。這個(gè)鏈?zhǔn)綌?shù)組存儲(chǔ)詞庫(kù)中的單詞的前兩個(gè)漢字相同、從單詞的第三個(gè)漢字開(kāi)始不同的文本序列。
通過(guò)使用詞庫(kù)為依據(jù)對(duì)文本進(jìn)行劃分,來(lái)尋找詞組在詞庫(kù)中是否存在。如果在詞庫(kù)中存在,則繼續(xù)匹配過(guò)程,如果不存在于詞庫(kù)中,則匹配結(jié)束,進(jìn)行劃分。
進(jìn)一步地,在搜索得到網(wǎng)頁(yè)集合后,根據(jù)搜索和網(wǎng)頁(yè)自身內(nèi)容特征分別構(gòu)造基于特征的相似圖,同時(shí)基于搜索和網(wǎng)頁(yè)之間的興趣關(guān)系構(gòu)建搜索網(wǎng)頁(yè)二元關(guān)系圖,在給定少量搜索和網(wǎng)頁(yè)類別標(biāo)記的情況下預(yù)測(cè)未標(biāo)記搜索和網(wǎng)頁(yè)的類別。
首先要根據(jù)樣本數(shù)據(jù)及其聯(lián)系構(gòu)建一個(gè)圖,節(jié)點(diǎn)表示樣本數(shù)據(jù),邊表示樣本之間的聯(lián)系,邊的權(quán)重表示樣本之間聯(lián)系的緊密程度。包含了多種不同類型對(duì)象構(gòu)建的搜索引擎可以表示為g=(v,e),其中v=q∪d可以表示為不同類型的頂點(diǎn)的集合,e為連接頂點(diǎn)的邊的集合。q為搜索的集合,d為網(wǎng)頁(yè)的集合。e=eqq∪eqd∪edd,其中eqq=q×q,eqd=q×d,edd=d×d。令gq=(q,eqq),gqd=(q,d,eqd),gd=(d,edd),則g=gqq∪gqd∪gdd。其中g(shù)q表示由搜索節(jié)點(diǎn)構(gòu)建的子圖,gd表示由網(wǎng)頁(yè)節(jié)點(diǎn)構(gòu)建的子圖,gqd表示由搜索節(jié)點(diǎn)和網(wǎng)頁(yè)節(jié)點(diǎn)根據(jù)興趣關(guān)系構(gòu)建的子圖。
基于節(jié)點(diǎn)之間的以下距離函數(shù)進(jìn)行定義邊的權(quán)重wij
wij=exp(-d(xi,xj)/2σ2)
在文本計(jì)算中,為兩個(gè)文本向量xi,xj之間的夾角余弦;xi和xj互為k近鄰中的節(jié)點(diǎn);其中d(xi,xj)為距離函數(shù)||xi-xj||,σ為調(diào)節(jié)參數(shù)。
根據(jù)預(yù)先標(biāo)記樣本的判別信息修改原有的圖結(jié)構(gòu):
1.構(gòu)造gq和gd和gqd。計(jì)算gq上所有節(jié)點(diǎn)之間邊的平均權(quán)重wq,gd上所有節(jié)點(diǎn)之間邊的平均權(quán)重wd。
2:設(shè)搜索標(biāo)記數(shù)據(jù)被劃分為c個(gè)類,表示為pq={pq1,pq2,...,pqc},其中pqi表示第i個(gè)類別的標(biāo)記搜索的核心集。令mqi表示第i個(gè)搜索類別標(biāo)記的成對(duì)約束集,若x∈pqi且y∈pqi,則將(x,y)加入mqi。設(shè)網(wǎng)頁(yè)標(biāo)記數(shù)據(jù)被劃分為c個(gè)類,表示為pd={pd1,pd2,...,pdc},其中pdi表示第i個(gè)類別的標(biāo)記網(wǎng)頁(yè)的核心集。令mdi表示第i個(gè)網(wǎng)頁(yè)類別標(biāo)記的成對(duì)約束集,若x∈pdi且y∈pdi,則將(x,y)加入mdi。
3:若搜索樣本對(duì)(ql,qm)∈mqi,qk為ql和qm的鄰居,wlk<wq且wmk>wq,則將qk加入pqi,將(ql,qk)和(qm,qk)加入mqi。
4:重復(fù)3,直到pq不再變化。
5:若網(wǎng)頁(yè)樣本對(duì)(dl,dm)∈mdi,dk為dl和dm的鄰居,wlk<wd且wmk>wd,則將dk加入pdi,將(dl,dk)和(dm,dk)加入mdi。
6:重復(fù)5,直到pd不再變化。
7:若搜索樣本對(duì)(ql,qm)∈mqi,則修改gq令wlm=1,若ql∈pqi則修改gq令wlm=0。若網(wǎng)頁(yè)樣本對(duì)(dl,dm)∈mdi,則修改gd令wlm=1,若dl∈pdi則修改gd令wlm=0。
8:若搜索ql∈gp:且網(wǎng)頁(yè)dmgpj,則且修改gqd令wlm=1。
其中wlk,wmk,wlm分別為在搜索ql、qm、ql分別在網(wǎng)頁(yè)dk,dk,dm中的權(quán)重。
通過(guò)上述過(guò)程能夠豐富搜索和網(wǎng)頁(yè)之間的關(guān)系,使同類節(jié)點(diǎn)之間的聯(lián)系更為緊湊,不同類別的節(jié)點(diǎn)之間的聯(lián)系更加松散,從而可以更好的采用以下過(guò)程來(lái)進(jìn)行分類:
1.對(duì)于類別j∈{1,...,c},以及上述子圖中的節(jié)點(diǎn)i∈{1,...,n},構(gòu)造n×c的初始化標(biāo)記矩陣y。
2.根據(jù)同構(gòu)節(jié)點(diǎn)之間的相似性度量分別構(gòu)造同構(gòu)網(wǎng)絡(luò)上的鄰接矩陣wqq,wdd,根據(jù)異構(gòu)節(jié)點(diǎn)之間的關(guān)系構(gòu)造鄰接矩陣wqd及相應(yīng)的轉(zhuǎn)置矩陣wdq。
3.構(gòu)造矩陣
4.取f(0)=y(tǒng),迭代計(jì)算f(t+1)=μαsf(t)+(1-μα)y,其中μα為介于(0,1)之間的參數(shù)。
5.設(shè)f*為{f(t)}序列的極限,則圖g中的節(jié)點(diǎn)vi根據(jù)yi=argmaxj<cfij進(jìn)行分類標(biāo)記。
上述在迭代過(guò)程中,圖的每個(gè)節(jié)點(diǎn)都不斷的將標(biāo)記信息傳播給自己的鄰居節(jié)點(diǎn)直到它們達(dá)到一個(gè)穩(wěn)定的狀態(tài)。
綜上所述,本發(fā)明提出了一種基于集成搜索引擎的數(shù)據(jù)發(fā)現(xiàn)方法,利用事務(wù)控制策略進(jìn)行高效數(shù)據(jù)采集,針對(duì)多維對(duì)象之間的耦合關(guān)系進(jìn)行數(shù)據(jù)挖掘。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算系統(tǒng)來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算系統(tǒng)上,或者分布在多個(gè)計(jì)算系統(tǒng)所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算系統(tǒng)可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)系統(tǒng)中由計(jì)算系統(tǒng)來(lái)執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
應(yīng)當(dāng)理解的是,本發(fā)明的上述具體實(shí)施方式僅僅用于示例性說(shuō)明或解釋本發(fā)明的原理,而不構(gòu)成對(duì)本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。