本發(fā)明涉及計(jì)算機(jī)語義推理技術(shù),具體涉及一種基于云平臺(tái)的跨本體屬性鏈推理方法。
背景技術(shù):
:隨著語義網(wǎng)的不斷發(fā)展,建立在資源描述框架之上的語義web描述語言owl已被廣泛地應(yīng)用于各個(gè)領(lǐng)域的本體建模和推理上,包括生命科學(xué)、媒體信息、語義時(shí)空數(shù)據(jù)、社交網(wǎng)絡(luò)等,各領(lǐng)域的語義數(shù)據(jù)也隨之呈爆炸性增長(zhǎng)。以鏈接開放數(shù)據(jù)(linkedopendata)工程為例,它提出了鏈接數(shù)據(jù)(linkeddata)的概念,其宗旨在于號(hào)召人們將現(xiàn)有數(shù)據(jù)發(fā)布成語義鏈接數(shù)據(jù),以此將不同數(shù)據(jù)源可以互聯(lián)起來。目前為止它已經(jīng)包含了超過295個(gè)數(shù)據(jù)源和310億條三元組記錄。這些海量語義數(shù)據(jù)之間存在著許多隱含的復(fù)雜關(guān)聯(lián)關(guān)系,可以通過對(duì)已有的語義信息進(jìn)行推理得到其中潛在的語義信息,這些隱藏的語義關(guān)系在實(shí)際中有著十分重要的意義。例如:生物醫(yī)藥工作者可以利用語義推理的方法得出藥物關(guān)聯(lián)關(guān)系從而輔助新藥的開發(fā),網(wǎng)站數(shù)據(jù)分析者可以利用用戶信息推理互聯(lián)起來。然而,現(xiàn)有的語義推理機(jī)往往缺乏良好的可擴(kuò)展性,僅能對(duì)小規(guī)模本體進(jìn)行處理,隨著owl本體數(shù)據(jù)量的不斷增長(zhǎng),上述單機(jī)環(huán)境下運(yùn)行的推理引擎由于需要將大量本體數(shù)據(jù)載入內(nèi)存,在對(duì)大規(guī)模跨本體數(shù)據(jù)進(jìn)行owl推理時(shí),存在內(nèi)存溢出、計(jì)算性能和可擴(kuò)展性不足等問題,傳統(tǒng)的語義推理機(jī)已經(jīng)難以處理如此海量的語義信息。另一方面,已提出的一些并行推理技術(shù)也不能有效的解決大規(guī)模復(fù)雜語義推理的問題。語義研究領(lǐng)域迫切需要一個(gè)高性能的可處理復(fù)雜語義關(guān)聯(lián)的推理引擎來改變這種困境。技術(shù)實(shí)現(xiàn)要素:有鑒于此,本發(fā)明提供了一種基于云平臺(tái)的跨本體屬性鏈推理方法。相比其他方法,本發(fā)明實(shí)現(xiàn)了通過屬性鏈推理的方法來高效地發(fā)現(xiàn)海量語義數(shù)據(jù)中存在的復(fù)雜語義關(guān)聯(lián)信息,而且具有很強(qiáng)的擴(kuò)展能力。一種基于云平臺(tái)的跨本體屬性鏈推理方法,包括以下步驟:(1)利用語義鏈接方法對(duì)多個(gè)領(lǐng)域的本體數(shù)據(jù)進(jìn)行融合,得到一個(gè)統(tǒng)一格式的知識(shí)圖譜h;(2)利用知識(shí)圖譜獲得一系列表達(dá)單個(gè)本體內(nèi)實(shí)體與實(shí)體之間關(guān)系的推理規(guī)則a,并采用語義本體描述語言的owl2屬性鏈元語進(jìn)行跨本體實(shí)體與實(shí)體之間復(fù)雜關(guān)系的建模,得到表達(dá)跨本體實(shí)體與實(shí)體之間關(guān)系的多條屬性鏈推理規(guī)則b,a與b形成屬性鏈推理網(wǎng)絡(luò)c;(3)將知識(shí)圖譜與屬性鏈推理網(wǎng)絡(luò)c中的每一個(gè)屬性對(duì)象分配一個(gè)與其對(duì)應(yīng)的屬性id號(hào),每一個(gè)實(shí)體對(duì)象分配一個(gè)與其對(duì)應(yīng)的實(shí)體id號(hào),形成知識(shí)圖譜h′、屬性鏈推理網(wǎng)絡(luò)c′;(4)運(yùn)用mapreduce框架,按照屬性鏈推理網(wǎng)絡(luò)c′對(duì)知識(shí)圖譜h′進(jìn)行屬性鏈的并行推理,并修改更新屬性鏈推理網(wǎng)絡(luò)c′;(5)將步驟(4)推理得到的一系列結(jié)果保存至hdfs中,并將其添加至知識(shí)圖譜h′中;(6)判斷本次的推理結(jié)果與上一次的推理結(jié)果是否一致,若是,執(zhí)行步驟(7);若否,跳轉(zhuǎn)執(zhí)行步驟(4);(7)結(jié)束推理,合并hdfs上多次迭代生成的推理結(jié)果,并去除推理結(jié)果中重復(fù)的三元組,然后根據(jù)屬性映射表和實(shí)體映射表,還原成相應(yīng)的文本三元組,將這個(gè)結(jié)果作為最后的推理結(jié)果返回。單個(gè)本體內(nèi)實(shí)體和實(shí)體的關(guān)系可以通過屬性來表達(dá),而在跨本體的推理中,這種簡(jiǎn)單關(guān)系可能演化成為非常復(fù)雜的鏈?zhǔn)疥P(guān)系,利用推理規(guī)則可以有效的刻畫這些推理關(guān)系。異構(gòu)跨領(lǐng)域的本體之間存在著語義鴻溝,利用語義鏈接方法可以將不同本體中表示相同對(duì)象的實(shí)體以及關(guān)系關(guān)聯(lián)起來,以便進(jìn)行下一步的推理實(shí)施。在采用語義鏈接方法進(jìn)行跨領(lǐng)域本體的語義融合時(shí),通過設(shè)計(jì)多種相似性特征函數(shù)計(jì)算實(shí)體之間的距離,從而進(jìn)行實(shí)體鏈接和融合。相似性特征函數(shù)為:similarity(x,y)=j(luò)ac(x,y)+cos(x,y),x,y分別是兩個(gè)實(shí)體的description描述信息,jac(x,y)表示其jaccard相似性,cossine(x,y)表示其余弦相似度,當(dāng)similarity(x,y)大于0.8時(shí),進(jìn)行實(shí)體鏈接。所述的屬性鏈推理規(guī)則b可以有效地表達(dá)推理關(guān)系,為后續(xù)的推理方法提供規(guī)則輸入。所述的屬性鏈推理網(wǎng)絡(luò)c可以有效地刻畫跨本體實(shí)體之間的可能關(guān)系。通過屬性鏈以及屬性鏈網(wǎng)絡(luò)對(duì)復(fù)雜的推理過程進(jìn)行簡(jiǎn)化,這不僅可以有效的簡(jiǎn)化推理復(fù)雜性,還可以同時(shí)提高推理過程的并行效果,為實(shí)施分布式的推理算法提供基礎(chǔ)。利用id號(hào)替換相應(yīng)的文本對(duì)象與屬性對(duì)象,這樣能夠大大地提高推理的效率。所述步驟(3)的具體過程為:構(gòu)建屬性映射表,為每一個(gè)屬性對(duì)象分配一個(gè)屬性id號(hào);構(gòu)建實(shí)體映射表,為每一個(gè)實(shí)體對(duì)象分配一個(gè)實(shí)體id號(hào);用屬性id替換屬性鏈推理網(wǎng)絡(luò)c中的屬性鏈對(duì)象,形成屬性鏈推理網(wǎng)絡(luò)c′;遍歷知識(shí)圖譜h中的每一個(gè)三元組,用實(shí)體id和屬性id替換相應(yīng)的頭節(jié)點(diǎn)、尾節(jié)點(diǎn)和關(guān)系節(jié)點(diǎn),形成知識(shí)圖譜h′。步驟(4)中,采用mapreduce框架進(jìn)行推理可以大大提高推理的可能性和可擴(kuò)展性,具體的實(shí)現(xiàn)過程為:(4-1)map階段:以(行號(hào),三元組)鍵值對(duì)作為輸入,輸出(鏈接屬性id鍵值,三元組)鍵值對(duì);(4-2)reduce階段:以map階段輸出的(鏈接屬性id鍵值,三元組)鍵值對(duì)作為本階段的輸入,融合id鍵值相同的三元組,輸出(_,新三元組或待處理的三元組);(4-3)合并更新屬性鏈推理網(wǎng)絡(luò)c′中相鄰的屬性鏈對(duì)象,并為屬性鏈對(duì)象重新分配一個(gè)新id;(4-4)檢查是否有新的三元組輸出,若是,跳轉(zhuǎn)執(zhí)行步驟(4-1),若否,輸出推理結(jié)果。傳統(tǒng)的語義推理方法都是基于單機(jī)的,面對(duì)跨本體的海量語義數(shù)據(jù)具有明顯缺陷;而本發(fā)明基于云平臺(tái)的跨本體屬性鏈推理方法利用了云平臺(tái)的可擴(kuò)展的優(yōu)勢(shì),可以處理大規(guī)模的語義數(shù)據(jù),具體優(yōu)勢(shì)體現(xiàn)如下:(1)本發(fā)明利用屬性鏈以及屬性鏈網(wǎng)絡(luò)對(duì)復(fù)雜的跨本體推理過程進(jìn)行簡(jiǎn)化建模,克服了傳統(tǒng)推理器只能完成既定推理規(guī)則的語義推理,使得推理的靈活性和可用性大大增強(qiáng)。(2)mapreduce作為一個(gè)大規(guī)模數(shù)據(jù)計(jì)算框架,便于進(jìn)行并行算法的處理,同時(shí)hdfs也可以為大規(guī)模的知識(shí)圖譜提供存儲(chǔ)基礎(chǔ),本發(fā)明利用hdfs進(jìn)行大規(guī)模語義數(shù)據(jù)的存儲(chǔ),同時(shí)通過mapreduce并行框架進(jìn)行跨本體屬性鏈的并行推理,大大提高了處理速度。附圖說明圖1是本發(fā)明基于云平臺(tái)的跨本體屬性鏈推理方法的流程圖;圖2是實(shí)施例1中跨本體海量生物學(xué)知識(shí)圖譜。具體實(shí)施方式為了更為具體地描述本發(fā)明,下面結(jié)合附圖及具體實(shí)施方式對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。參見圖1,本發(fā)明基于云平臺(tái)的跨本體屬性鏈推理方法,包括:s01,利用語義鏈接方法對(duì)多個(gè)領(lǐng)域的本體數(shù)據(jù)進(jìn)行融合,得到一個(gè)統(tǒng)一格式的知識(shí)圖譜h。s02,利用知識(shí)圖譜獲得一系列表達(dá)單個(gè)本體內(nèi)實(shí)體與實(shí)體之間關(guān)系的推理規(guī)則a,并采用語義本體描述語言的owl2屬性鏈元語進(jìn)行跨本體實(shí)體與實(shí)體之間復(fù)雜關(guān)系的建模,得到表達(dá)跨本體實(shí)體與實(shí)體之間關(guān)系的多條屬性鏈推理規(guī)則b,a與b形成屬性鏈推理網(wǎng)絡(luò)c。s03,將知識(shí)圖譜與屬性鏈推理網(wǎng)絡(luò)c中的每一個(gè)屬性對(duì)象分配一個(gè)與其對(duì)應(yīng)的屬性id號(hào),每一個(gè)實(shí)體對(duì)象分配一個(gè)與其對(duì)應(yīng)的實(shí)體id號(hào),形成知識(shí)圖譜h′、屬性鏈推理網(wǎng)絡(luò)c′。本步驟具體為:構(gòu)建屬性映射表,為每一個(gè)屬性對(duì)象分配一個(gè)屬性id號(hào);構(gòu)建實(shí)體映射表,為每一個(gè)實(shí)體對(duì)象分配一個(gè)實(shí)體id號(hào);用屬性id替換屬性鏈推理網(wǎng)絡(luò)c中的屬性鏈對(duì)象,形成屬性鏈推理網(wǎng)絡(luò)c′;遍歷知識(shí)圖譜h中的每一個(gè)三元組,用實(shí)體id和屬性id替換相應(yīng)的頭節(jié)點(diǎn)、尾節(jié)點(diǎn)和關(guān)系節(jié)點(diǎn),形成知識(shí)圖譜h′。s04,運(yùn)用mapreduce框架,按照屬性鏈推理網(wǎng)絡(luò)c′對(duì)知識(shí)圖譜h′進(jìn)行屬性鏈的并行推理,并修改更新屬性鏈推理網(wǎng)絡(luò)c′。本步驟具體為:(4-1)map階段:以(行號(hào),三元組)鍵值對(duì)作為輸入,輸出(鏈接屬性id鍵值,三元組)鍵值對(duì);(4-2)reduce階段:以map階段輸出的(鏈接屬性id鍵值,三元組)鍵值對(duì)作為本階段的輸入,融合id鍵值相同的三元組,輸出(_,新三元組或待處理的三元組);(4-3)合并更新屬性鏈推理網(wǎng)絡(luò)c′中相鄰的屬性鏈對(duì)象,并為屬性鏈對(duì)象重新分配一個(gè)新id;(4-4)檢查是否有新的三元組輸出,若是,跳轉(zhuǎn)執(zhí)行步驟(4-1),若否,輸出推理結(jié)果。s05,將s04推理得到的一系列結(jié)果保存至hdfs中,并將其添加至知識(shí)圖譜h′中。s06,判斷本次的推理結(jié)果與上一次的推理結(jié)果是否一致,若是,執(zhí)行s07;若否,跳轉(zhuǎn)執(zhí)行s04。s07,結(jié)束推理,合并hdfs上多次迭代生成的推理結(jié)果,并去除推理結(jié)果中重復(fù)的三元組,然后根據(jù)屬性映射表和實(shí)體映射表,還原成相應(yīng)的文本三元組,將這個(gè)結(jié)果作為最后的推理結(jié)果返回。實(shí)施例1本實(shí)例首先通過語義鏈接和融合的方法將多個(gè)跨本體的知識(shí)庫(kù)進(jìn)行語義融合,這里使用跨本體海量生物醫(yī)學(xué)知識(shí)圖譜為例,如圖2所示,該圖譜集成了20種不同的知識(shí)庫(kù),包含接近50億的三元組數(shù)據(jù)。將該知識(shí)圖譜以三元組的形式存儲(chǔ)在hdfs文件系統(tǒng)中(如表1),以便進(jìn)行并行處理。表1subjectrelationobjectsubject_text1relation_text1object_text1subject_text2relation_text2object_text2subject_text3relation_text3object_text3………subject_textnrelation_textnobject_textn構(gòu)建好以上的知識(shí)圖譜之后,可以通過知識(shí)圖譜得到一系列推理規(guī)則來表達(dá)單個(gè)本體內(nèi)實(shí)體和實(shí)體的關(guān)系,對(duì)于跨本體之間的實(shí)體關(guān)系通過多條鏈路推理規(guī)則表達(dá),從而通過構(gòu)建一個(gè)屬性鏈推理網(wǎng)絡(luò)來有效的進(jìn)行刻畫跨本體實(shí)體之間的可能關(guān)系。隨后重寫推理網(wǎng)絡(luò)和知識(shí)圖譜,并將知識(shí)圖譜運(yùn)用mapreduce算法框架按照推理網(wǎng)絡(luò)進(jìn)行屬性鏈的并行迭代推理,并修改相應(yīng)的推理網(wǎng)絡(luò)以便進(jìn)行下一輪推理。利用本發(fā)明方法完成生物醫(yī)學(xué)跨本體的草藥(herb)和基因(gene)關(guān)聯(lián)發(fā)現(xiàn)的推理,真實(shí)的推理結(jié)果顯示得出的關(guān)聯(lián)實(shí)體對(duì)具有很高的準(zhǔn)確性,同時(shí)也具有很高的計(jì)算運(yùn)行效率。以上所述的具體實(shí)施方式對(duì)本發(fā)明的技術(shù)方案和有益效果進(jìn)行了詳細(xì)說明,應(yīng)理解的是以上所述僅為本發(fā)明的最優(yōu)選實(shí)施例,并不用于限制本發(fā)明,凡在本發(fā)明的原則范圍內(nèi)所做的任何修改、補(bǔ)充和等同替換等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁12