基于同義詞擴(kuò)展的關(guān)系數(shù)據(jù)庫關(guān)鍵詞搜索方法
【專利摘要】本發(fā)明提供一種基于同義詞擴(kuò)展的關(guān)系數(shù)據(jù)庫關(guān)鍵詞搜索方法,依次包括以下步驟:建立同義詞數(shù)據(jù)庫:將多個詞按同義詞分類后分別存入同義詞數(shù)據(jù)庫中,所述同義詞數(shù)據(jù)庫中包含多組同義詞組K,每組同義詞組由若干個同義詞k1、k2、…、kn構(gòu)成;搜索時(shí),用戶給出關(guān)鍵詞組X,關(guān)鍵詞組X由若干個關(guān)鍵詞x1、x2、…、xn構(gòu)成;將關(guān)鍵詞輸入同義詞數(shù)據(jù)庫中、并與同義詞數(shù)據(jù)庫中的詞進(jìn)行匹配;若關(guān)鍵詞匹配上同義詞數(shù)據(jù)庫中的某個詞,則該詞所在的同義詞組為所述關(guān)鍵詞的同義詞。本申請采用基于同義詞數(shù)據(jù)庫的查詢擴(kuò)展方法,將關(guān)鍵詞檢索技術(shù)與各大領(lǐng)域的特點(diǎn)相結(jié)合,研究和開發(fā)適用于不同領(lǐng)域的關(guān)鍵詞檢索系統(tǒng),從而提高系統(tǒng)對關(guān)鍵詞的查準(zhǔn)率和查全率。
【專利說明】
基于同義詞擴(kuò)展的關(guān)系數(shù)據(jù)庫關(guān)鍵詞搜索方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及數(shù)據(jù)庫中關(guān)鍵詞的檢索、搜索領(lǐng)域,特別是涉及一種基于同義詞擴(kuò)展 的關(guān)系數(shù)據(jù)庫關(guān)鍵詞搜索方法。
【背景技術(shù)】
[0002] 隨著信息技術(shù)的不斷發(fā)展,信息世界中的數(shù)據(jù)不斷增加,其中混雜著各個行業(yè)各 個領(lǐng)域中各式各樣的數(shù)據(jù)。這也就要求關(guān)鍵詞檢索技術(shù)不斷發(fā)展和完善,用戶所搜索的內(nèi) 容也不單單體現(xiàn)在關(guān)鍵詞本身,而更多的是與關(guān)鍵詞有著各種各樣聯(lián)系的信息。
[0003] 在大多數(shù)關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索系統(tǒng)中,對關(guān)鍵詞的搜索僅僅使用了簡單的匹 配,缺乏對關(guān)鍵詞的語義擴(kuò)展。例如,用戶輸入一個關(guān)鍵詞,系統(tǒng)該如何判斷用戶所要搜索 的這個關(guān)鍵詞是屬于什么領(lǐng)域,檢索系統(tǒng)缺少對關(guān)鍵詞的語義匹配,這樣就容易出現(xiàn)不同 領(lǐng)域的術(shù)語近義或相同等問題,很難準(zhǔn)確的搜索出用戶想要的結(jié)果。特別是在農(nóng)業(yè)領(lǐng)域中, 例如當(dāng)用戶輸入蘋果時(shí),會出現(xiàn)蘋果系列的手機(jī)等電子產(chǎn)品,也會出現(xiàn)水果類的蘋果,很難 供用戶選擇。當(dāng)用戶輸入土豆時(shí),結(jié)果中往往僅出現(xiàn)包含關(guān)鍵詞土豆的信息,而在數(shù)據(jù)庫中 包含關(guān)鍵詞馬鈴薯等相關(guān)信息的結(jié)果被剔除掉了。因此,對用戶輸入的關(guān)鍵詞進(jìn)行語義和 語法分析也是關(guān)鍵詞檢索技術(shù)中的重點(diǎn),使用語義匹配對用戶輸入的查詢關(guān)鍵詞進(jìn)行擴(kuò)展 后再進(jìn)行搜索,這樣不但提高了系統(tǒng)的查詢準(zhǔn)確率,還使得返回的結(jié)果更加滿足用戶的需 求。
【發(fā)明內(nèi)容】
[0004] 鑒于以上所述現(xiàn)有技術(shù)的缺陷和各種不足之處,本發(fā)明要解決的技術(shù)問題在于提 供一種基于同義詞擴(kuò)展的關(guān)系數(shù)據(jù)庫關(guān)鍵詞搜索方法,有效地提高了系統(tǒng)中關(guān)鍵詞查詢的 準(zhǔn)確率和可靠性,以滿足用戶的需求。
[0005] 為實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于同義詞擴(kuò)展的關(guān)系數(shù)據(jù)庫關(guān)鍵詞搜索方 法,依次包括以下步驟:
[0006] 1)、建立同義詞數(shù)據(jù)庫:將多個詞按同義詞分類后分別存入同義詞數(shù)據(jù)庫中,所述 同義詞數(shù)據(jù)庫中包含多組同義詞組K,每組同義詞組由若干個同義詞kl、k2、…、kn構(gòu)成,則K = {kl、k2、…、kn};
[0007] 2)、搜索時(shí),用戶給出關(guān)鍵詞組X,關(guān)鍵詞組X由若干個關(guān)鍵詞x 1、x2、…、xn構(gòu)成,則 X= {xl、x2、…、xn};
[0008] 3)、將所述關(guān)鍵詞輸入所述同義詞數(shù)據(jù)庫中、并與同義詞數(shù)據(jù)庫中的詞進(jìn)行匹配;
[0009] 若關(guān)鍵詞匹配上同義詞數(shù)據(jù)庫中的某個詞,則該詞所在的同義詞組為所述關(guān)鍵詞 的同義詞。
[0010] 進(jìn)一步地,每組同義詞組都放置在一行中,且相鄰的兩個同義詞之間由空格隔開。
[0011] 優(yōu)選地,每組同義詞組中的第一個同義詞kl為該組同義詞組中最常見的詞。
[0012] 進(jìn)一步地,所述步驟3)還包括以下步驟:
[0013] 31)、建立同義詞數(shù)據(jù)庫的數(shù)據(jù)圖G:同義詞數(shù)據(jù)庫的數(shù)據(jù)圖G中包括有若干個節(jié)點(diǎn) v和由所述若干個結(jié)點(diǎn)v構(gòu)成的若干條邊e,故同義詞數(shù)據(jù)庫的數(shù)據(jù)圖G包括節(jié)點(diǎn)的集合V(G) 和邊的集合E(G),且數(shù)據(jù)圖G的每一條邊e都具有權(quán)重Wg(E);
[0014] 32)、查找數(shù)據(jù)圖G中的Steiner樹:數(shù)據(jù)圖G中,存在著關(guān)系V C V,若T是數(shù)據(jù)圖G 中的一棵連通子樹,且T包含了/中的所有節(jié)點(diǎn),則T是數(shù)據(jù)圖G中關(guān)于/的一棵Steiner樹; [0015] 33)、查找數(shù)據(jù)圖G中的最小Steiner樹:所述Steiner樹T的權(quán)值為:
[0016] c(T) = EeeE(T)ffG(e);
[0017] 式中:E(T)為Steiner樹T中邊的集合,WG(e)表示邊e的權(quán)值;
[0018]當(dāng)C(T)最小時(shí),所對應(yīng)的T為一棵最小Steiner樹;
[0019] 34)、查找數(shù)據(jù)圖G中的Top-k Steiner樹:所述關(guān)鍵詞組X= {xl、x2、…、xn}在數(shù)據(jù) 圖G中對應(yīng)的最小Steiner樹為T1、T2、…、Tn,且T1、T2、…、Tn按照邊權(quán)值總和的大小由大到 小依次排序,T1、T2、…、Tn為關(guān)鍵詞組X= {xl、x2、…、xn}的Top-k Steiner樹;
[0020] 35)、將Top-k Steiner樹返回給用戶。
[0021] 本發(fā)明涉及的基于同義詞擴(kuò)展的關(guān)系數(shù)據(jù)庫關(guān)鍵詞搜索方法具有以下有益效果:
[0022] 本申請采用基于同義詞數(shù)據(jù)庫的查詢擴(kuò)展方法,對詞的語義進(jìn)行了擴(kuò)展,并將關(guān) 鍵詞檢索技術(shù)與各大領(lǐng)域的特點(diǎn)相結(jié)合,研究和開發(fā)適用于不同領(lǐng)域的關(guān)鍵詞檢索系統(tǒng), 應(yīng)用到各領(lǐng)域,從而提高了系統(tǒng)對關(guān)鍵詞的查準(zhǔn)率和查全率。
[0023] 上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段, 并可依照說明書的內(nèi)容予以實(shí)施,以下以本發(fā)明的較佳實(shí)施例并配合附圖對本專利進(jìn)行詳 細(xì)說明。
【附圖說明】
[0024]圖1為本發(fā)明的流程圖。
【具體實(shí)施方式】
[0025] 下面結(jié)合附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)介紹。
[0026] 如圖1所示,本發(fā)明提供一種基于同義詞擴(kuò)展的關(guān)系數(shù)據(jù)庫關(guān)鍵詞搜索方法,依次 包括以下步驟:
[0027] 步驟1)、建立同義詞數(shù)據(jù)庫:將多個詞按同義詞分類后分別存入同義詞數(shù)據(jù)庫中, 每組同義詞組都放置在一行中,且相鄰的兩個同義詞之間由空格隔開;所述同義詞數(shù)據(jù)庫 中包含多組同義詞組K,每組同義詞組由若干個同義詞kl、k2、…、kn構(gòu)成,則K={kl、k2、…、 kn}。同時(shí),每組同義詞組中的第一個同義詞kl為該組同義詞組中最常見的詞。比如,在農(nóng)業(yè) 領(lǐng)域中,土豆、馬鈴薯、洋山芋為一組同義詞組,放在同義詞數(shù)據(jù)庫的同一行中,且土豆為該 行同義詞組的第一個詞;又比如,紅薯、地瓜、番薯為一組同義詞組,放在同義詞數(shù)據(jù)庫的同 一行中,且紅薯為該行同義詞組的第一個詞。
[0028] 步驟2)、搜索時(shí),用戶給出關(guān)鍵詞組X,關(guān)鍵詞組X由若干個關(guān)鍵詞x 1、x2、…、xn構(gòu) 成,貝狀={叉1、叉2、…、xn}。
[0029] 步驟3)、將所述關(guān)鍵詞輸入所述同義詞數(shù)據(jù)庫中、并與同義詞數(shù)據(jù)庫中的詞進(jìn)行 匹配;若關(guān)鍵詞匹配上同義詞數(shù)據(jù)庫中的某個詞,則該詞所在的同義詞組為所述關(guān)鍵詞的 同義詞。
[0030] 所述步驟3)還包括以下步驟:
[0031] 步驟31)、建立同義詞數(shù)據(jù)庫的數(shù)據(jù)圖G:同義詞數(shù)據(jù)庫的數(shù)據(jù)圖G中包括有若干個 節(jié)點(diǎn)v和由所述若干個結(jié)點(diǎn)v構(gòu)成的若干條邊e,故同義詞數(shù)據(jù)庫的數(shù)據(jù)圖G是由兩個集合所 構(gòu)成的有向圖,兩個集合為節(jié)點(diǎn)的集合V(G)和邊的集合E(G);其中,數(shù)據(jù)圖G的每一條邊e的 方向是由主外鍵的指向決定的,且每一條邊e都具有權(quán)重Wg(E),數(shù)據(jù)圖G的權(quán)重W(G)為:W (G) = Eeee(g)ffG(E) 〇
[0032] 因此,在有向圖G中,若u、v是圖中的兩個節(jié)點(diǎn),為這兩個節(jié)點(diǎn)的邊賦一個權(quán)值,如 下公式所示:
[0033] ffe( (u, v)) = 1
[0034] ffe((u,v)) = log2( 1+Nin(v)
[0035] 其中,We((u,v))表示前向邊,即節(jié)點(diǎn)i^Pv之間的主外鍵關(guān)系,W e((v,u))表示后向 邊,即節(jié)點(diǎn)v和u之間的主外鍵關(guān)系,Nin(v)表示引用v的結(jié)點(diǎn)數(shù)量。在本文將數(shù)據(jù)圖中所有 邊的權(quán)值賦為1。
[0036] 步驟32)、查找數(shù)據(jù)圖G中的Steiner樹:數(shù)據(jù)圖G中,存在著關(guān)系V g V,若T是數(shù) 據(jù)圖G中的一棵連通子樹,且T包含了V中的所有節(jié)點(diǎn),則T是數(shù)據(jù)圖G中關(guān)于V的一棵 Steiner 樹。
[0037]步驟33)、查找數(shù)據(jù)圖G中的最小Steiner樹:所述Steiner樹T的權(quán)值為:
[0038] C(T)= ⑴ WG(e);
[0039] 式中:E(T)為Steiner樹T中邊的集合,WG(e)表示邊e的權(quán)值;
[0040]當(dāng)C(T)最小時(shí),所對應(yīng)的T為一棵最小Steiner樹。
[0041 ] 步驟34)、查找數(shù)據(jù)圖G中的Top-k Steiner樹:所述關(guān)鍵詞組X = {xl、x2、…、xn}在 數(shù)據(jù)圖G中對應(yīng)的最小Steiner樹為T1、T2、…、Tn,且T1、T2、…、Tn按照邊權(quán)值總和的大小由 大到小依次排序,即S(T〇彡S(T2)彡...<S(Tn),其與關(guān)鍵詞搜索結(jié)果的排序方式類似;
[0042] T1、T2、…、Tn為關(guān)鍵詞組X={xl、x2、…、xn}的Top-k Steiner樹。
[0043] 步驟35)、找出符合條件的Steiner樹,且將Top-k Steiner樹作為關(guān)鍵詞組的查詢 結(jié)果返回給用戶,即找到前k個最小Steiner樹即可。
[0044] 具體說,首先是查找第1類Steiner樹,因?yàn)檫@類Steiner樹是最佳的查詢結(jié)果,而 且不需要計(jì)算元組的連接情況。所以優(yōu)先查詢出所有的第1類Steiner樹并輸出,如果查找 至 1Jk個第1類Steiner樹,貝lj查詢結(jié)束,返回k個結(jié)果;如果第1類Steiner樹的個數(shù)沒有達(dá)到k 個,則查詢第2類Steiner樹。對于第2類Steiner樹,它需要2個元組進(jìn)行連接,以下為第2類 Steiner樹的計(jì)算方法。
[0045] 假設(shè)輸入的關(guān)鍵詞組中包含3個關(guān)鍵詞1(={1^1,1^沽3},在計(jì)算第2類5以111從樹 時(shí),需要找到兩個元組的連接結(jié)果。取一個出現(xiàn)頻率最高的節(jié)點(diǎn)(2)作為第2類Steiner樹中 的一個節(jié)點(diǎn),然后從這個節(jié)點(diǎn)開始采用雙向搜索的方式進(jìn)行遍歷搜索,如果找到一個節(jié)點(diǎn) 使得它與節(jié)點(diǎn)(2)進(jìn)行與操作后包含所有的關(guān)鍵詞,則把這個節(jié)點(diǎn)加入Ste iner樹中,與節(jié) 點(diǎn)(2)構(gòu)成一顆第2類Steiner樹。循環(huán)上述過程,直至找到所有的第2類Steiner樹。
[0046] 對于第i類Steiner樹,則需要找到i個元組進(jìn)行連接。
[0047]綜上所述,本申請采用基于同義詞數(shù)據(jù)庫的查詢擴(kuò)展方法,對詞的語義進(jìn)行了擴(kuò) 展,并將關(guān)鍵詞檢索技術(shù)與各大領(lǐng)域的特點(diǎn)相結(jié)合,研究和開發(fā)適用于不同領(lǐng)域的關(guān)鍵詞 檢索系統(tǒng),應(yīng)用到各領(lǐng)域,從而提高了系統(tǒng)對關(guān)鍵詞的查準(zhǔn)率和查全率,并解決了實(shí)際問 題。同時(shí),隨著語義技術(shù)和本體的快速發(fā)展,基于本體的關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索技術(shù)也成為 研究熱點(diǎn)。使用本體來描述關(guān)系數(shù)據(jù)庫語義,從而開發(fā)關(guān)系數(shù)據(jù)庫語義檢索技術(shù),可以進(jìn)一 步提高系統(tǒng)對關(guān)鍵詞搜索結(jié)果的查全率和查準(zhǔn)率。所以,本發(fā)明有效克服了現(xiàn)有技術(shù)中的 種種缺點(diǎn)而具高度產(chǎn)業(yè)利用價(jià)值。
[0048]以上對本發(fā)明實(shí)施例所提供的一種基于同義詞擴(kuò)展的關(guān)系數(shù)據(jù)庫關(guān)鍵詞搜索方 法進(jìn)行了詳細(xì)介紹,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實(shí)施例的思想,在具體實(shí)施方 式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制,凡 依本發(fā)明設(shè)計(jì)思想所做的任何改變都在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種基于同義詞擴(kuò)展的關(guān)系數(shù)據(jù)庫關(guān)鍵詞捜索方法,其特征在于,依次包括W下步 驟: 1)、建立同義詞數(shù)據(jù)庫:將多個詞按同義詞分類后分別存入同義詞數(shù)據(jù)庫中,所述同義 詞數(shù)據(jù)庫中包含多組同義詞組K,每組同義詞組由若干個同義詞kl、k2、…、kn構(gòu)成,貝化= Al、k2、-..、kn}; 2 )、捜索時(shí),用戶給出關(guān)鍵詞組X,關(guān)鍵詞組X由若干個關(guān)鍵詞X1、x2、…、xn構(gòu)成,貝化= {xl、x2、-..、xn}; 3)、將所述關(guān)鍵詞輸入所述同義詞數(shù)據(jù)庫中、并與同義詞數(shù)據(jù)庫中的詞進(jìn)行匹配; 若關(guān)鍵詞匹配上同義詞數(shù)據(jù)庫中的某個詞,則該詞所在的同義詞組為所述關(guān)鍵詞的同 義詞。2. 根據(jù)權(quán)利要求1所述的基于同義詞擴(kuò)展的關(guān)系數(shù)據(jù)庫關(guān)鍵詞捜索方法,其特征在于: 每組同義詞組都放置在一行中,且相鄰的兩個同義詞之間由空格隔開。3. 根據(jù)權(quán)利要求1或2所述的基于同義詞擴(kuò)展的關(guān)系數(shù)據(jù)庫關(guān)鍵詞捜索方法,其特征在 于:每組同義詞組中的第一個同義詞kl為該組同義詞組中最常見的詞。4. 根據(jù)權(quán)利要求1所述的基于同義詞擴(kuò)展的關(guān)系數(shù)據(jù)庫關(guān)鍵詞捜索方法,其特征在于: 所述步驟3)還包括W下步驟: 31) 、建立同義詞數(shù)據(jù)庫的數(shù)據(jù)圖G:同義詞數(shù)據(jù)庫的數(shù)據(jù)圖G中包括有若干個節(jié)點(diǎn)V和 由所述若干個結(jié)點(diǎn)V構(gòu)成的若干條邊e,故同義詞數(shù)據(jù)庫的數(shù)據(jù)圖G包括節(jié)點(diǎn)的集合V(G)和 邊的集合E(G),且數(shù)據(jù)圖G的每一條邊e都具有權(quán)重Wg巧); 32) 、查找數(shù)據(jù)圖G中的Steiner樹:數(shù)據(jù)圖G中,存在著關(guān)系VC ,若T是數(shù)據(jù)圖G中的 一棵連通子樹,且T包含了/中的所有節(jié)點(diǎn),則T是數(shù)據(jù)圖G中關(guān)于/的一棵Steiner樹; 33) 、查找數(shù)據(jù)圖G中的最小Steiner樹:所述Steiner樹T的權(quán)值為: C(T)= EeEE(T)Wc(G); 式中:E(T)為Steiner樹T中邊的集合,Wg(G)表示邊e的權(quán)值; 當(dāng)C(T)最小時(shí),所對應(yīng)的T為一棵最小Steiner樹; 34) 、查找數(shù)據(jù)圖G中的Top-k Steiner樹:所述關(guān)鍵詞組X= {xl、x2、…、xn}在數(shù)據(jù)圖G 中對應(yīng)的最小Steiner樹為Tl、T2、…、Tn,且Tl、T2、…、化按照邊權(quán)值總和的大小由大到小 依次排序,Tl、T2、...、化為關(guān)鍵詞組X= {xl、x2、...、xn}的Top-k Steiner樹; 35) 、將Top-k Steiner樹返回給用戶。
【文檔編號】G06F17/30GK105912606SQ201610209883
【公開日】2016年8月31日
【申請日】2016年4月5日
【發(fā)明人】黃定芳, 劉和云, 謝東
【申請人】湖南人文科技學(xué)院