專利名稱:一種基于領域本體的語義索引方法
技術領域:
本發(fā)明涉及語義搜索,語義網(wǎng)絡領域,特別是涉及一種基于領域本體的語義索引方法。
背景技術:
隨著網(wǎng)絡信息的膨脹和網(wǎng)絡用戶的增長,人們對信息的利用方式和迫切需求,正逐漸在 發(fā)生改變,從以前的人工搜索,到現(xiàn)在的Google, Baidu等搜索引擎的使用。但是由于關鍵 字搜索仍然存在著很多缺點,對搜索的準確度和性能難于滿足高級用戶的需求,基于此我們 提出了基于語義的索引技術??梢钥闯?,傳統(tǒng)的基于關鍵詞匹配的搜索引擎普遍存在以下幾 個問題。
(1) 高査全率與低準確性并存。盡管內(nèi)容高度相關的網(wǎng)頁已包含在檢索結果中,但有價 值的信息被摻雜在數(shù)以萬計的其他相關度低,甚至不相關的文檔中,無法起到其應有的作用;
(2) 查詢結果對關鍵詞的高度敏感。通常用戶最先選擇的關鍵詞并不能產(chǎn)生期望的查詢 結果。這是由于某些網(wǎng)頁中使用了與我們所選用的關鍵詞不相同的術語,如同義詞,近義詞 等。但用戶所希望的是語義相同的査詢能夠返回相同的結果;
(3) 査詢的結果之間缺乏語義關聯(lián)。如果用戶需要的信息分散在許多不同的網(wǎng)絡文檔中, 用戶必須構造多個査詢來獲取所需要的文檔,然后手工提取和融合文檔里的部分信息,增加 了用戶相應操作和處理的負擔。
產(chǎn)生這些問題的主要原因是目前互聯(lián)網(wǎng)上的大部分內(nèi)容還只適合人來進行閱讀和處理, 現(xiàn)代計算機在語句理解和信息自動抽取方面的能力還十分有限,本發(fā)明就是利用語義索引的 語義相關性的特點,對文檔建立語義索引,消除關鍵詞搜索所存在的這些問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服上述技術的缺陷,而提供一種基于領域本體的語義索引方法。 本發(fā)明的目的是通過以下技術方案來實現(xiàn)的。這種基于領域本體的語義索引方法,包括 以下步驟
(1)利用奇異值分解對單詞-文檔矩陣進行分解處理。將分詞后得到的單詞-文檔矩陣進行 奇異值分解,在單詞和文檔之間建立一個概念層,得到概念詞-文檔矩陣,這樣一方面能得到 最能描述該文檔的概念詞信息,若以這些概念詞建立索引,能夠更準確地表述文檔信息,提 高査詢的準確程度;另一方面也能得到文檔之間的語義關聯(lián)信息,從而能夠克服單純的關鍵
字搜索帶來的漏査包含同義詞的語義相關的文檔;
(2) 基于本體的動態(tài)語義模版。首先由領域?qū)<医⒃擃I域的基本本體知識庫(該知識庫基 本包含了所有的本體概念,本體之間的等價,子類,超類的關系,如在中醫(yī)藥領域,包含了 藥物和疾病本體,及藥物和疾病的不同表述及層次關系,但缺少藥物和疾病的關系),利用該 本體知識庫構建一個基于領域本體的動態(tài)語義模板庫。其中的動態(tài)語義模板庫的含義在于基
本本體知識庫的基礎之上,我們通過不斷地處理該領域的文檔,能夠識別新的本體及陳述, 不斷豐富本體知識庫,得到更完整的語義模板,提高對文檔概念詞匹配的命中率,提高建立 索引的質(zhì)量和性能。
(3) 基于本體及其相關陳述的二級索引。與傳統(tǒng)的搜索引擎中的基于關鍵字的索引不同,語 義索引是基于本體及其相關陳述進行的二級索引。該二級索引的特點在于利用了步驟(2)添加 到動態(tài)語義模板庫的概念詞,即本體,對文檔建立倒排索引,同時在每一個本體之下對其出 現(xiàn)的相關陳述建立二級索引,該二級索引結構采用Tri樹結構,這樣對陳述的檢索只需要常 數(shù)的時間,對搜索響應時間影響很小,但是卻提供了更高級的査詢功能,提供了更準確的搜 索方法。
本發(fā)明中步驟(1)中利用奇異值分解對語義分詞得到的單詞-文檔矩陣進行處理,得到 新的概念詞-文檔矩陣,添加了文檔之間的語義關聯(lián),同時也去除了與文檔語義相關小的概念 詞,減少文檔的概念詞空間,提高了建立索引的性能。 奇異值分解的計算公式如下
其中M^矩陣為步驟(l)中分詞之后得到單詞-文檔矩陣。
K^矩陣通過求M^ ,M,x/的特征向量得到。
S^矩陣為一個rxr的以降序存儲奇異值的對角矩陣。
Z^/矩陣通過求Tl4/參M^的特征向量得到。 利用奇異值分解,可以將單詞-文檔矩陣M^分解為較小的三個矩陣,《w, & , D /,這 三個矩陣都有比較清晰的物理意義,《w矩陣的每一行表示意思相關的的一類詞,即其中的 每個非零元素表示這類詞中每個詞的重要性(或者說相關性);Z^/矩陣的每一個列表示相 關的一類文檔,其中的每個非零元素表示該文檔的重要性(或者說相關性);& 矩陣表示概 念詞和文檔之間的相關性。這樣我們可以利用S,矩陣可以得到我們需要的概念詞文檔矩陣, 同時通過選擇適當?shù)膔可以大大減少文檔的概念詞空間,從而剔除了大量的與文檔相關性較 小的概念詞,提高概念詞與文檔語義上的內(nèi)聚性,提高建立索引的性能。
本發(fā)明中步驟(2)中的基于本體的動態(tài)語義模板對文檔抽取本體及其陳述在利用奇異 值分解得到了概念詞-文檔矩陣后,對每一個文檔中的概念詞,在語義模板庫中查找匹配該概
念詞,如果找到,則在該概念詞出現(xiàn)的上下文中(一般指同一句話中),根據(jù)本體的三元組的 模式,査找概念詞-謂詞-概念詞的陳述,如果該陳述在語義模板庫中不存在,則添加進入語 義模板庫,同時將概念詞(本體)及其陳述添加到索引中,并記錄本體及其陳述的信息,如 出現(xiàn)的文檔,頻率,屬于哪個本體等。同時如果該概念詞不在語義模板庫中,則將該概念詞 及其上下文中的三元組陳述添加到一個臨時的語義模板庫中,并將其出現(xiàn)次數(shù)加1,若在一 定數(shù)量的文檔中,其出現(xiàn)頻率超過上限閥值,則將其從臨時語義模板庫中添加到動態(tài)語義模 板庫中,否則若其出現(xiàn)頻率低于下限閥值,將其從臨時語義模板庫中刪除,表示該概念詞不 屬于該領域的本體。否則,統(tǒng)計信息清零,重新計數(shù)。具體算法如下 fordocin概念詞-文檔矩陣中的文檔
for ontology in概念詞-文檔矩陣中的doc文檔的概念詞 if( ontology is in語義模板庫)
添加該ontology到索引中 While(在該ontology的上下文中)
査找概念詞-謂詞-概念詞的陳述; 添加該陳述到ontology的二級索引中 If(該陳述is not in語義模板庫) 添加該陳述到語義模板庫
};
添加到臨時語義模板庫中;
if(該ontology頻率超過上限閥值)
添加到動態(tài)語義模板庫; 添加到索引節(jié)點中;
else if (該ontolgoy頻率低于下限閥值) 從臨時語義模板庫中刪除;
Else
統(tǒng)計信息清零;
本發(fā)明中步驟(3)中的基于本體及相關陳述的二級索引方法利用了步驟(2)添加到動 態(tài)語義模板庫的概念詞,即本體,對文檔建立倒排索引,同時在每一個本體之下對其出現(xiàn)的 陳述建立二級索引,由于陳述的模式固定為三元組形式(S, P,O),故第一級索引結構采用 Tri樹結構,這樣對陳述的檢索只需要常數(shù)的時間,對搜索響應時間影響很小,但是卻提供了 更高級的査詢功能,提供了更準確的搜索方法。該基于本體及其相關陳述的二級索引同一般 的基于關鍵字的索引的不同點在于,第一,索引結構, 一般關鍵字為一級索引,無法提供語 義相關的本體陳述的二級索引;第二,索引節(jié)點包含的內(nèi)容, 一般的關鍵字索引僅僅包含出 現(xiàn)的文檔信息,如出現(xiàn)的文檔,位置,頻率等,但與其他的索引節(jié)點沒有語義關系;但是在 本體索引中,其不僅包括本體出現(xiàn)的文檔信息,更重要的是利用本體知識庫的本體知識,添 加相關的本體信息,例如等價本體,子類本體,超類本體,相近類本體,不相交類本體等。 本發(fā)明的有益效果該索引結構有助于改善搜索的效率和搜索結果的質(zhì)量,第一,關鍵字的
索引不能夠體現(xiàn)關鍵字之間的語義關系,而基于本體及其相關陳述的二級索引能夠利用本體
語言,如RDFS, OWL提供的equivalentClass, subClassOf, sameAs, superClassOf等描述提供 本體之間的語義關系,能很好的解決關鍵字索引的難于解決識別同義詞的缺點,能夠獲得語 義相同或關聯(lián)的信息;也能夠利用本體語言的推理機制,為進一步開發(fā)出知識系統(tǒng)提供方便。 第二,本體的相關陳述的二級索引,能夠精化搜索粒度,為搜索結果提供更高的準確度和效 率,向用戶提供更高級的搜索功能。
圖1為本發(fā)明中基于動態(tài)語義模板抽取本體和建立語義索引的流程圖; 圖2為本發(fā)明中基于本體及相關陳述的二級索引結構圖。
具體實施例方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖及具體實施例對本發(fā)明作 進一步地詳細描述
本發(fā)明實施的關鍵有四點領域基本本體知識庫的建立,對單詞-文檔矩陣的奇異值分解, 本體及相關陳述的抽取,建立本體及相關陳述的二級索引。其中領域基本本體知識庫,本體 及相關陳述抽取,本體及相關陳述的二級索引建立是本發(fā)明實施的關鍵。
本發(fā)明所述的這種基于領域本體的語義索引方法,具體包括以下步驟
1.利用奇異值分解對語義分詞得到的單詞-文檔矩陣進行處理,得到新的概念詞-文檔矩 陣,添加了文檔之間的語義關聯(lián),同時也去除了與文檔語義相關性較小的概念詞,減少文檔 的概念詞空間,提高了建立索引的性能。
奇異值分解的計算公式如下
其中M^矩陣為步驟(l)中分詞之后得到單詞-文檔矩陣。 i^矩陣通過求M^ *^></的特征向量得到。 S 矩陣為一個rxr的以降序存儲奇異值的對角矩陣。 A_x/矩陣通過求M,x/ M,xd的特征向量得到。 S^矩陣表示概念詞和文檔之間的相關性。選取其中對角的前s個最大值,我們可以得到 奇異值對角矩陣S^,其中S^矩陣即是我們需要的概念詞-文檔矩陣。
利用奇異值分解,我們可以將單詞-文檔矩陣M^分解為較小的三個矩陣,《x,, &x,, i^x/,這三個矩陣都有比較清晰的物理意義,《w矩陣的每一行表示意思相關的的一類詞, 即其中的每個非零元素表示這類詞中每個詞的重要性(或者說相關性);Z^/矩陣的每一個
列表示相關的一類文檔,其中的每個非零元素表示該文檔的重要性(或者說相關性);S 矩
陣表示概念詞和文檔之間的相關性。這樣我們可以利用sw矩陣可以得到我們需要的概念詞-
文檔矩陣,同時通過選擇適當?shù)膔可以大大減少文檔的概念詞空間,從而剔除了大量的與文 檔相關性較小的概念詞,提高概念詞與文檔語義上的內(nèi)聚性,提高建立索引的性能。
2. 步驟(2)中的動態(tài)語義模板庫的建立是本發(fā)明的關鍵技術之一,它必須由該領域的本 體專家利用領域的專業(yè)知識來建立基本本體知識庫,由該基本本體知識庫構成最初的動態(tài)語 義模板庫。其中基本的本體知識庫的建立關系到以后動態(tài)語義模板庫的成長以及對領域本體 的識別的正確性以及準確性,所以這一步驟必須由領域的多位專家以及本體專家共同完成。 其內(nèi)容主要包括該領域內(nèi)的基本上所有的本體以及本體之間的關系,這里的關系指等價,超 類,子類關系,其中也可以包含一定的陳述關系(屬性關系)。如在中醫(yī)藥領域,包含了藥物 和疾病本體,及藥物和疾病的不同表述,但缺少大部分藥物和疾病之間的關系。
3. 步驟(3)中的利用動態(tài)語義模板對文檔中的本體及其相關陳述進行抽取是本發(fā)明的關 鍵技術之一,在(l)利用奇異值分解得到了概念詞-文檔矩陣后,對每一個文檔中的概念詞,在 語義模板庫中査找匹配該概念詞,如果找到,則在該概念詞出現(xiàn)的上下文中(一般指同一句 話中),根據(jù)本體的三元組的模式,查找概念詞-謂詞-概念詞的陳述,如果該陳述在語義模板 庫中不存在,則添加進入語義模板庫,同時將概念詞(本體)及其陳述添加到索引中,并記 錄本體及其陳述的信息,如出現(xiàn)的文檔,頻率,屬于哪個本體等。同時如果該概念詞不在語 義模板庫中,則將該概念詞及其上下文中的三元組陳述添加到一個臨時的語義模板庫中,并 將其出現(xiàn)次數(shù)加1,若在一定數(shù)量的文檔中,其出現(xiàn)頻率超過上限閥值,則將其從臨時語義 模板庫中添加到動態(tài)語義模板庫中,否則若其出現(xiàn)頻率低于下限閥值,將其從臨時語義模板 庫中刪除,表示該概念詞不屬于該領域的本體。否則,統(tǒng)計信息清零,重新計數(shù)。
具體算法如下
for doc in概念詞-文檔矩陣中的文檔
for ontology in概念詞-文檔矩陣中的doc文檔的概念詞 if( ontology is in語義模板庫)
添加該ontology到索引中 While(在該ontology的上下文中)
査找概念詞-謂詞-概念詞的陳述;
添加該陳述到ontology的二級索引中 If(該陳述is not in語義模板庫) 添加該陳述到語義模板庫
};
添加到臨時語義模板庫中;
if(該ontology頻率超過上限閥值)
添加到動態(tài)語義模板庫; 添加到索引節(jié)點中;
else if (該ontolgoy頻率低于下限閥值) 從臨時語義模板庫中刪除;
Else
統(tǒng)計信息清零; 例如,對于有如下一段原始文本資料
本藥品成方于公元八世紀,原系藏醫(yī)經(jīng)典方劑二十五味珍珠母丸,始載于藏醫(yī)古典巨著 《四部醫(yī)典》中……藥物組成為珍珠、九眼石、西紅花、檀香、降香、丁香、余甘子、草 莓、高山黨參、相額爾、牛黃、麝香等70味。功能主治包括安神、鎮(zhèn)靜、通經(jīng)活絡、調(diào)和 氣血、醒腦開竅。用于"黑白脈病","龍血"不調(diào);中風,癱瘓、半身不遂、癲癇、腦溢血、
腦震蕩、心臟病、高血壓及神經(jīng)性障礙。用法用量……
假設我們的語義模板中中有(二十五味珍珠母丸,組成包括,珍珠),(二十五味珍珠母丸, 組成包括,西紅花)......;(二十五味珍珠母丸,主治,醒腦開竅),(二十五味珍珠母丸,主治,
黑白脈病)......。對該文檔得到的概念詞有二十五味珍珠母丸,珍珠、九眼石、西紅花、檀香、
降香、丁香、余甘子、草莓、高山黨參、相額爾、牛黃、麝香,安神、鎮(zhèn)靜、通經(jīng)活絡、調(diào) 和氣血、醒腦開竅,黑白脈病,龍血不調(diào);中風,癱瘓、半身不遂、癲癇、腦溢血、腦震蕩、 心臟病、高血壓,神經(jīng)性障礙。那么我們可以對文檔的概念詞進行一一匹配,如二十五味珍 珠母丸,我們可以在語義模板中匹配到,那么我們可以在其上下文中得到(二十五味珍珠母丸, 組成包括,九眼石),(二十五味珍珠母丸,組成包括,檀香)......(二十五味珍珠母丸,主治,
癲癇)等陳述。對未匹配的概念詞,如九眼石,西紅花等,我們將其添加到臨時的語義模板中, 并更新其統(tǒng)計信息。這樣我們不僅發(fā)現(xiàn)了本體"二十五味珍珠母丸"的新的陳述,也能夠通 過臨時的語義模板庫的動態(tài)計數(shù)及其上下限閥值得到新的本體以及去除與領域不相關的概念 詞。
4.步驟(4)中的基于本體及相關陳述的二級索引方法是本發(fā)明的關鍵技術之一,其特點 在于利用了步驟(3)添加到動態(tài)語義模板庫的概念詞,即本體對文檔建立B+樹結構的倒排索 引,并利用本體知識庫的知識,在本體索引中記錄與該概念詞相關的本體信息,其不僅包括 本體出現(xiàn)的文檔信息,更重要的是利用本體知識庫的本體知識,添加相關的本體信息,例如 等價本體,子類本體,超類本體,相近類本體,不相交類本體等;同時在每一個本體之下對 其出現(xiàn)的陳述建立二級索引,其記錄的信息主要為出現(xiàn)的文檔信息。由于陳述的模式固定為 三元組形式(S, P, O),故第二級索引結構采用Tri樹結構,該Tri樹結構最多只有兩層,P 層和O層。這樣對陳述的檢索只需要常數(shù)的時間,對搜索響應時間影響很小,但是卻提供了 更高級的査詢功能,提供了更準確的搜索方法。
上述實施例用來解釋說明本發(fā)明,而不是對本發(fā)明進行限制,在本發(fā)明的精神和權利要 求的保護范圍內(nèi),對本發(fā)明作出的任何修改和改變,都落入本發(fā)明的保護范圍。
10
權利要求
1. 一種基于領域本體的語義索引方法,其特征在于包括以下步驟(1)、利用奇異值分解對單詞-文檔矩陣進行分解處理將分詞后得到的單詞-文檔矩陣進行奇異值分解,在單詞和文檔之間建立一個概念層,得到概念詞-文檔矩陣,得到最能描述該文檔的概念詞信息和文檔之間的語義關聯(lián)信息;(2)、基于本體的動態(tài)語義模版首先建立該領域的基本本體知識庫,該知識庫基本包含了所有的本體概念,本體之間的等價,子類,超類的關系,利用該本體知識庫構建一個基于領域本體的動態(tài)語義模板庫;其中的動態(tài)語義模板庫的含義在于基本本體知識庫的基礎之上,通過處理該領域的文檔,識別新的本體及陳述,豐富本體知識庫,得到更完整的語義模板;(3)、基于本體及其相關陳述的二級索引語義索引是基于本體及其相關陳述進行的二級索引,利用了步驟(2)添加到動態(tài)語義模板庫的概念詞,即本體,對文檔建立倒排索引,同時在每一個本體之下對其出現(xiàn)的相關陳述建立二級索引,該二級索引結構采用Tri樹結構。
2. 根據(jù)權利要求1所述的基于領域本體的語義索引方法,其特征在于步驟(1)中利 用奇異值分解對語義分詞得到的單詞-文檔矩陣進行處理,得到新的概念詞-文檔矩陣;奇異值分解的計算公式如下<formula>formula see original document page 2</formula>其中Mxrf矩陣為步驟(l)中分詞之后得到單詞-文檔矩陣 Ktxr矩陣通過求<formula>formula see original document page 2</formula>的特征向量得到 Srxr矩陣為一個rxr的以降序存儲奇異值的對角矩陣 <formula>formula see original document page 2</formula>矩陣通過求<formula>formula see original document page 2</formula>的特征向量得到 利用奇異值分解,將單詞-文檔矩陣Mtxd分解為較小的三個矩陣,Ktxr, Srxr,<formula>formula see original document page 2</formula>, Ktxr矩陣的每一行表示意思相關的的一類詞,即其中的每個非零元素表示這類詞中每個詞的重要 性或者說相關性;Mtxd矩陣的每一個列表示相關的一類文檔,其中的每個非零元素表示該 文檔的重要性或者說相關性;Srxr矩陣表示概念詞和文檔之間的相關性;利用Srxr矩陣得到 需要的概念詞文檔矩陣,同時通過選擇適當?shù)膔減少文檔的概念詞空間。
3. 根據(jù)權利要求1中所述的基于領域本體的語義索引方法,其特征在于步驟(2)中 的基于本體的動態(tài)語義模板對文檔抽取本體及其陳述在利用奇異值分解得到了概念詞-文檔矩陣后,對每一個文檔中的概念詞,在語義模板庫中査找匹配該概念詞,如果找到,則在該 概念詞出現(xiàn)的上下文中,根據(jù)本體的三元組的模式,査找概念詞-謂詞-概念詞的陳述,如果該陳述在語義模板庫中不存在,則添加進入語義模板庫,同時將概念詞及其陳述添加到索引 中,并記錄本體及其陳述的信息,如果該概念詞不在語義模板庫中,則將該概念詞及其上下 文中的三元組陳述添加到一個臨時的語義模板庫中,并將其出現(xiàn)次數(shù)加1,若在一定數(shù)量的 文檔中,其出現(xiàn)頻率超過上限閥值,則將其從臨時語義模板庫中添加到動態(tài)語義模板庫中, 否則若其出現(xiàn)頻率低于下限閥值,將其從臨時語義模板庫中刪除,表示該概念詞不屬于該領 域的本體。否則,統(tǒng)計信息清零,重新計數(shù)。
全文摘要
本發(fā)明涉及一種基于領域本體的語義索引方法,包括步驟如下(1)利用奇異值分解對單詞-文檔矩陣進行分解處理得到概念詞-文檔矩陣;(2)首先建立該領域的基本本體知識庫,利用該本體知識庫構建一個基于領域本體的動態(tài)語義模板庫;(3)語義索引是基于本體及其相關陳述進行的二級索引,利用了步驟(2)添加到動態(tài)語義模板庫的概念詞,對文檔建立倒排索引,同時在每一個本體之下對其出現(xiàn)的相關陳述建立二級索引。本發(fā)明的有益效果能很好的解決關鍵字索引的難于解決識別同義詞的缺點,能夠獲得語義相同或關聯(lián)的信息;本體的相關陳述的二級索引,能夠精化搜索粒度,為搜索結果提供更高的準確度和效率,向用戶提供更高級的搜索功能。
文檔編號G06F17/30GK101388026SQ20081012136
公開日2009年3月18日 申請日期2008年10月9日 優(yōu)先權日2008年10月9日
發(fā)明者付志宏, 吳朝暉, 姜曉紅 申請人:浙江大學