本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)查詢的方法和裝置。
背景技術(shù):
隨著數(shù)據(jù)庫(kù)技術(shù)的發(fā)展,數(shù)據(jù)庫(kù)中存儲(chǔ)的信息繁多,因此,用戶從數(shù)據(jù)庫(kù)中查詢需要的信息就會(huì)耗時(shí);為了提高查詢效率,數(shù)據(jù)庫(kù)往往具有查詢功能,用戶可以通過(guò)該查詢功能從數(shù)據(jù)庫(kù)中查詢數(shù)據(jù)。
目前,該數(shù)據(jù)庫(kù)中的數(shù)據(jù)以rdf(resourcedescriptionframework,資源描述框架)三元組的形式表示。rdf三元組的形式為<主語(yǔ),謂詞,賓語(yǔ)>,其中主語(yǔ)和賓語(yǔ)分別表示知識(shí)實(shí)體,謂詞表示這兩個(gè)實(shí)體之間的關(guān)系。rdf數(shù)據(jù)可以方便地使用數(shù)據(jù)圖的形式存儲(chǔ),對(duì)于每條三元組,主語(yǔ)和賓語(yǔ)表示為圖中的頂點(diǎn),謂詞表示為連接兩個(gè)頂點(diǎn)的帶有標(biāo)簽的邊。當(dāng)用戶從數(shù)據(jù)庫(kù)中查詢數(shù)據(jù)時(shí),用戶向終端輸入查詢信息;終端將該查詢信息包括的每個(gè)關(guān)鍵詞映射到數(shù)據(jù)圖的一個(gè)或多個(gè)候選頂點(diǎn)上,得到多個(gè)候選頂點(diǎn);根據(jù)多個(gè)候選頂點(diǎn),生成多個(gè)生成樹,每個(gè)生成樹由頂點(diǎn)和連接邊拼接而成,且每個(gè)生成樹均包括該查詢信息包括的每個(gè)關(guān)鍵詞在數(shù)據(jù)圖中映射的一個(gè)頂點(diǎn);終端根據(jù)每個(gè)生成樹包括的頂點(diǎn)以及連接邊,計(jì)算每個(gè)生成樹包括的連接邊的邊權(quán)之和,將該邊權(quán)之和作為該生成樹的邊權(quán),從而得到每個(gè)生成樹的邊權(quán);根據(jù)每個(gè)生成樹的邊權(quán),從多個(gè)生成樹中確定出邊權(quán)最小的生成樹,獲取該邊權(quán)最小的生成樹中的除查詢信息包括的關(guān)鍵詞對(duì)應(yīng)的頂點(diǎn)以外的頂點(diǎn),將該頂點(diǎn)對(duì)應(yīng)的數(shù)據(jù)作為查詢數(shù)據(jù),輸出該查詢數(shù)據(jù)。
在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題:
上述方法中直接從邊權(quán)最小的生成樹中獲取查詢數(shù)據(jù),由于確定該邊權(quán)最小的生成樹時(shí)并未理解查詢信息的語(yǔ)義,即并沒有準(zhǔn)確理解用戶的查詢意圖,從而得到的查詢數(shù)據(jù)不準(zhǔn)確,導(dǎo)致數(shù)據(jù)查詢的準(zhǔn)確率低。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明提供了一種數(shù)據(jù)查詢的方法和裝置。技術(shù)方案如下:
第一方面,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)查詢的方法,所述方法包括:
獲取用戶輸入的查詢信息,對(duì)所述查詢信息進(jìn)行分詞得到第一關(guān)鍵詞;
根據(jù)每個(gè)第一關(guān)鍵詞,從數(shù)據(jù)圖中選擇所述每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞和角色,得到每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,所述數(shù)據(jù)圖中包括多個(gè)候選關(guān)鍵詞和每個(gè)候選關(guān)鍵詞的角色,所述第二關(guān)鍵詞的角色為頂點(diǎn)或關(guān)系邊;
根據(jù)所述每個(gè)第二關(guān)鍵詞和所述每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)跨接邊,每個(gè)跨接邊連接角色為頂點(diǎn)的任意兩個(gè)第二關(guān)鍵詞和角色為關(guān)系邊的任意一個(gè)第二關(guān)鍵詞;
確定每個(gè)跨接邊的邊權(quán),并根據(jù)所述每個(gè)跨接邊的邊權(quán),選擇邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊;
根據(jù)所述預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,確定查詢圖,所述查詢圖包括關(guān)鍵詞集合中的每個(gè)第三關(guān)鍵詞和每個(gè)第三關(guān)鍵詞之間的連接關(guān)系,所述關(guān)鍵詞集合由每個(gè)目標(biāo)跨接邊包括的頂點(diǎn)和關(guān)系邊對(duì)應(yīng)的第二關(guān)鍵詞組成;
從所述數(shù)據(jù)圖中查詢所述查詢圖對(duì)應(yīng)的查詢數(shù)據(jù),輸出所述查詢數(shù)據(jù)。
在一種可能的設(shè)計(jì)中,所述根據(jù)每個(gè)第一關(guān)鍵詞,從數(shù)據(jù)圖中選擇所述每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞和角色,得到第二關(guān)鍵詞和第二關(guān)鍵詞的角色,包括:
確定所述每個(gè)第一關(guān)鍵詞的角色,所述每個(gè)第一關(guān)鍵詞的角色為類別、實(shí)體或關(guān)系;
根據(jù)所述每個(gè)第一關(guān)鍵詞和所述每個(gè)第一關(guān)鍵詞的角色,從所述數(shù)據(jù)圖包括的多個(gè)候選關(guān)鍵詞和每個(gè)候選關(guān)鍵詞的角色中,確定所述每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色。
在一種可能的設(shè)計(jì)中,所述根據(jù)所述每個(gè)第二關(guān)鍵詞和所述每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)跨接邊,包括:
根據(jù)所述每個(gè)第二關(guān)鍵詞和所述每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)關(guān)鍵詞對(duì),每個(gè)關(guān)鍵詞對(duì)包括角色為實(shí)體或類別的兩個(gè)所述第一關(guān)鍵詞各自對(duì)應(yīng)的一個(gè)第二關(guān)鍵詞;
分別在角色為關(guān)系邊的第二關(guān)鍵詞和所述至少一個(gè)關(guān)鍵詞對(duì)之間確定所述至少一個(gè)跨接邊。
在一種可能的設(shè)計(jì)中,所述根據(jù)所述每個(gè)第二關(guān)鍵詞和所述每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)跨接邊,包括:
從所述每個(gè)第二關(guān)鍵詞中,確定所述每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的目標(biāo)第二關(guān)鍵詞;
將角色為頂點(diǎn)的目標(biāo)第二關(guān)鍵詞任意兩兩組合,得到目標(biāo)關(guān)鍵詞對(duì);
在所述目標(biāo)關(guān)鍵詞對(duì)和角色為關(guān)系邊的目標(biāo)第二關(guān)鍵詞之間確定所述至少一個(gè)跨接邊。
在一種可能的設(shè)計(jì)中,所述確定每個(gè)跨接邊的邊權(quán),包括:
根據(jù)第二預(yù)設(shè)算法,編碼所述每個(gè)跨接邊連接的第二關(guān)鍵詞,得到頂點(diǎn)向量和關(guān)系邊向量,所述頂點(diǎn)向量為角色為頂點(diǎn)的第二關(guān)鍵詞對(duì)應(yīng)的向量,所述關(guān)系邊向量為角色為關(guān)系邊的第二關(guān)鍵詞對(duì)應(yīng)的向量;
根據(jù)所述每個(gè)跨接邊對(duì)應(yīng)的所述頂點(diǎn)向量和所述關(guān)系邊向量,計(jì)算所述每個(gè)跨接邊的邊權(quán)。
在一種可能的設(shè)計(jì)中,預(yù)設(shè)數(shù)目個(gè)跨接邊對(duì)應(yīng)一個(gè)匹配關(guān)系,所述根據(jù)所述每個(gè)跨接邊的邊權(quán),選擇邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,包括:
根據(jù)所述每個(gè)跨接邊,生成每個(gè)待構(gòu)建的匹配關(guān)系,所述待構(gòu)建的匹配關(guān)系為包括的跨接邊數(shù)目小于預(yù)設(shè)數(shù)目的匹配關(guān)系;
根據(jù)所述每個(gè)待構(gòu)建的匹配關(guān)系包括的跨接邊,從所述每個(gè)待構(gòu)建的匹配關(guān)系中選擇待構(gòu)建的匹配關(guān)系,將所述選擇的匹配關(guān)系對(duì)應(yīng)的邊權(quán)最小的跨接邊添加到所述選擇的匹配關(guān)系中;
預(yù)估添加后的所述選擇的匹配關(guān)系的下界,所述匹配關(guān)系的下界為終端預(yù)估將所述每個(gè)待構(gòu)建的匹配關(guān)系構(gòu)建為完整匹配關(guān)系時(shí)的最小邊權(quán);
獲取所述每個(gè)待構(gòu)建的匹配關(guān)系對(duì)應(yīng)的最小邊權(quán);
如果所述最小邊權(quán)小于所述添加后的所述選擇的匹配關(guān)系的下界,將所述最小邊權(quán)的完整匹配關(guān)系包括的預(yù)設(shè)數(shù)目個(gè)跨接邊作為目標(biāo)跨接邊。
在一種可能的設(shè)計(jì)中,所述方法還包括:
如果所述最小邊權(quán)不小于所述添加后的所述選擇的匹配關(guān)系的下界,重新從所述每個(gè)待構(gòu)建的匹配關(guān)系中選擇滿足預(yù)設(shè)條件的待構(gòu)建的匹配關(guān)系;
執(zhí)行將所述選擇的匹配關(guān)系對(duì)應(yīng)的邊權(quán)最小的跨接邊添加到所述選擇的匹配關(guān)系中的步驟。
在一種可能的設(shè)計(jì)中,所述獲取所述每個(gè)待構(gòu)建的匹配關(guān)系對(duì)應(yīng)的最小邊權(quán),包括:
判斷所述每個(gè)待構(gòu)建的匹配關(guān)系中是否存在完整匹配關(guān)系,如果存在,從所述每個(gè)待構(gòu)建的匹配關(guān)系中提取每個(gè)完整匹配關(guān)系;
將所述每個(gè)完整匹配關(guān)系中邊權(quán)最小的完整匹配關(guān)系的邊權(quán)作為最小邊權(quán),所述完整匹配關(guān)系為包括預(yù)設(shè)數(shù)目個(gè)跨接邊的匹配關(guān)系。
在一種可能的設(shè)計(jì)中,所述預(yù)估添加后的所述選擇的匹配關(guān)系的下界,包括:
獲取所述添加后的所述選擇的匹配關(guān)系的邊權(quán),所述添加后的所述選擇的匹配關(guān)系為所述添加后的所述選擇的匹配關(guān)系中當(dāng)前包括的跨接邊的邊權(quán)之和;
根據(jù)第三預(yù)設(shè)算法以及所述添加后的所述選擇的匹配關(guān)系的邊權(quán),確定所述添加后的所述選擇的匹配關(guān)系的下界。
第二方面,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)查詢的裝置,所述裝置包括:
獲取模塊,用于獲取用戶輸入的查詢信息,對(duì)所述查詢信息進(jìn)行分詞得到第一關(guān)鍵詞;
第一選擇模塊,用于根據(jù)每個(gè)第一關(guān)鍵詞,從數(shù)據(jù)圖中選擇所述每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞和角色,得到每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,所述數(shù)據(jù)圖中包括多個(gè)候選關(guān)鍵詞和每個(gè)候選關(guān)鍵詞的角色,所述第二關(guān)鍵詞的角色為頂點(diǎn)或關(guān)系邊;
第一確定模塊,用于根據(jù)所述每個(gè)第二關(guān)鍵詞和所述每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)跨接邊,每個(gè)跨接邊連接角色為頂點(diǎn)的任意兩個(gè)第二關(guān)鍵詞和角色為關(guān)系邊的任意一個(gè)第二關(guān)鍵詞;
第二確定模塊,用于確定每個(gè)跨接邊的邊權(quán);
第二選擇模塊,用于根據(jù)所述每個(gè)跨接邊的邊權(quán),選擇邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊;
第三確定模塊,用于根據(jù)所述預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,確定查詢圖,所述查詢圖包括關(guān)鍵詞集合中的每個(gè)第三關(guān)鍵詞和每個(gè)第三關(guān)鍵詞之間的連接關(guān)系,所述關(guān)鍵詞集合由每個(gè)目標(biāo)跨接邊包括的頂點(diǎn)和關(guān)系邊對(duì)應(yīng)的第二關(guān)鍵詞組成;
查詢模塊,用于從所述數(shù)據(jù)圖中查詢所述查詢圖對(duì)應(yīng)的查詢數(shù)據(jù),輸出所述查詢數(shù)據(jù)。
在一種可能的設(shè)計(jì)中,所述第一確定模塊,包括:
第一確定單元,用于根據(jù)所述每個(gè)第二關(guān)鍵詞和所述每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)關(guān)鍵詞對(duì),每個(gè)關(guān)鍵詞對(duì)包括角色為實(shí)體或類別的兩個(gè)所述第一關(guān)鍵詞各自對(duì)應(yīng)的一個(gè)第二關(guān)鍵詞;
第二確定單元,用于分別在角色為關(guān)系邊的第二關(guān)鍵詞和所述至少一個(gè)關(guān)鍵詞對(duì)之間確定所述至少一個(gè)跨接邊。
在一種可能的設(shè)計(jì)中,所述第二確定模塊,包括:
編碼單元,用于根據(jù)第二預(yù)設(shè)算法,編碼所述每個(gè)跨接邊連接的第二關(guān)鍵詞,得到頂點(diǎn)向量和關(guān)系邊向量,所述頂點(diǎn)向量為角色為頂點(diǎn)的第二關(guān)鍵詞對(duì)應(yīng)的向量,所述關(guān)系邊向量為角色為關(guān)系邊的第二關(guān)鍵詞對(duì)應(yīng)的向量;
計(jì)算單元,用于根據(jù)所述每個(gè)跨接邊對(duì)應(yīng)的所述頂點(diǎn)向量和所述關(guān)系邊向量,計(jì)算所述每個(gè)跨接邊的邊權(quán)。
在一種可能的設(shè)計(jì)中,預(yù)設(shè)數(shù)目個(gè)跨接邊對(duì)應(yīng)一個(gè)匹配關(guān)系,所述第二選擇模塊,包括:
生成單元,用于根據(jù)所述每個(gè)跨接邊,生成每個(gè)待構(gòu)建的匹配關(guān)系,所述待構(gòu)建的匹配關(guān)系為包括的跨接邊數(shù)目小于預(yù)設(shè)數(shù)目的匹配關(guān)系;
選擇單元,用于根據(jù)所述每個(gè)待構(gòu)建的匹配關(guān)系包括的跨接邊,從所述每個(gè)待構(gòu)建的匹配關(guān)系中選擇待構(gòu)建的匹配關(guān)系,將所述選擇的匹配關(guān)系對(duì)應(yīng)的邊權(quán)最小的跨接邊添加到所述選擇的匹配關(guān)系中;
預(yù)估單元,用于預(yù)估添加后的所述選擇的匹配關(guān)系的下界,所述匹配關(guān)系的下界為終端預(yù)估將所述每個(gè)待構(gòu)建的匹配關(guān)系構(gòu)建為完整匹配關(guān)系時(shí)的最小邊權(quán);
獲取單元,用于獲取所述每個(gè)待構(gòu)建的匹配關(guān)系對(duì)應(yīng)的最小邊權(quán);
作為單元,用于如果所述最小邊權(quán)小于所述添加后的所述選擇的匹配關(guān)系的下界,將所述最小邊權(quán)的完整匹配關(guān)系包括的預(yù)設(shè)數(shù)目個(gè)跨接邊作為目標(biāo)跨接邊。
在一種可能的設(shè)計(jì)中,其特征在于,
所述第二選擇模塊,還用于如果所述最小邊權(quán)不小于所述添加后的所述選擇的匹配關(guān)系的下界,重新從所述每個(gè)待構(gòu)建的匹配關(guān)系中選擇滿足預(yù)設(shè)條件的待構(gòu)建的匹配關(guān)系;將所述選擇的匹配關(guān)系對(duì)應(yīng)的邊權(quán)最小的跨接邊添加到所述選擇的匹配關(guān)系中。
在一種可能的設(shè)計(jì)中,其特征在于,
所述獲取單元,還用于判斷所述每個(gè)待構(gòu)建的匹配關(guān)系中是否存在完整匹配關(guān)系,如果存在,從所述每個(gè)待構(gòu)建的匹配關(guān)系中提取每個(gè)完整匹配關(guān)系;將所述每個(gè)完整匹配關(guān)系中邊權(quán)最小的完整匹配關(guān)系的邊權(quán)作為最小邊權(quán),所述完整匹配關(guān)系為包括預(yù)設(shè)數(shù)目個(gè)跨接邊的匹配關(guān)系。
在一種可能的設(shè)計(jì)中,其特征在于,
所述預(yù)估單元,還用于獲取所述添加后的所述選擇的匹配關(guān)系的邊權(quán),所述添加后的所述選擇的匹配關(guān)系為所述添加后的所述選擇的匹配關(guān)系中當(dāng)前包括的跨接邊的邊權(quán)之和;根據(jù)第三預(yù)設(shè)算法以及所述添加后的所述選擇的匹配關(guān)系的邊權(quán),確定所述添加后的所述選擇的匹配關(guān)系的下界。
本發(fā)明實(shí)施例中,終端獲取用戶輸入的查詢信息,通過(guò)對(duì)查詢信息分詞得到第一關(guān)鍵詞,從而將查詢信息分成多個(gè)表示不同語(yǔ)義的第一關(guān)鍵詞;終端從數(shù)據(jù)圖中選擇每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞和角色,得到每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,即確定出不同語(yǔ)義的第一關(guān)鍵詞在數(shù)據(jù)圖中對(duì)應(yīng)的第二關(guān)鍵詞;然后,終端根據(jù)每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)跨接邊以及每個(gè)跨接邊的邊權(quán),并根據(jù)每個(gè)跨接邊的邊權(quán),選擇邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,從而使得查詢信息對(duì)應(yīng)的關(guān)鍵詞對(duì)和關(guān)系邊角色的第二關(guān)鍵詞通過(guò)該邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)跨接邊相關(guān)聯(lián);終端根據(jù)該預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,確定查詢圖,該查詢圖包括了關(guān)鍵詞集合包括的第三關(guān)鍵詞以及每個(gè)第三關(guān)鍵詞的連接關(guān)系,該關(guān)鍵詞集合為終端表示用戶查詢意圖的第一關(guān)鍵詞確定,因此,終端將用戶的查詢意圖構(gòu)建到該查詢圖中,終端直接從數(shù)據(jù)圖中查詢查詢圖對(duì)應(yīng)的查詢數(shù)據(jù),輸出查詢數(shù)據(jù)。由于終端將查詢信息分成多個(gè)表示不同語(yǔ)義的第一關(guān)鍵詞,根據(jù)多個(gè)不同語(yǔ)義的第一關(guān)鍵詞,從而使得終端可以準(zhǔn)確劃分出用戶的查詢意圖包括的多個(gè)語(yǔ)義,然后,確定該第一關(guān)鍵詞在數(shù)據(jù)圖中對(duì)應(yīng)的第二關(guān)鍵詞,通過(guò)在第二關(guān)鍵詞對(duì)和關(guān)系邊角色的第二關(guān)鍵詞之間確定跨接邊,并計(jì)算跨接邊的邊權(quán),從而構(gòu)建出可以準(zhǔn)確表達(dá)用戶查詢意圖的查詢圖,使得終端可以根據(jù)該查詢圖,從數(shù)據(jù)圖中查詢用戶所需的查詢數(shù)據(jù),從而提高了數(shù)據(jù)查詢的準(zhǔn)確率。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例提供的一種數(shù)據(jù)查詢的方法流程圖;
圖2是本發(fā)明實(shí)施例提供的一種數(shù)據(jù)查詢的方法流程圖;
圖3是本發(fā)明實(shí)施例提供的一種標(biāo)注圖;
圖4是本發(fā)明實(shí)施例提供的一種拼接圖;
圖5是本發(fā)明實(shí)施例提供的一種拼接圖;
圖6是本發(fā)明實(shí)施例提供的一種查詢圖;
圖7是本發(fā)明實(shí)施例提供的一種數(shù)據(jù)查詢的裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)查詢的方法,該方法的執(zhí)行主體可以為終端,如圖1所示,該方法包括以下步驟。
步驟101:獲取用戶輸入的查詢信息,對(duì)該查詢信息進(jìn)行分詞得到第一關(guān)鍵詞。
步驟102:根據(jù)每個(gè)第一關(guān)鍵詞,從數(shù)據(jù)圖中選擇每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞和角色,得到每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,該數(shù)據(jù)圖中包括多個(gè)候選關(guān)鍵詞和每個(gè)候選關(guān)鍵詞的角色,該第二關(guān)鍵詞的角色為頂點(diǎn)或關(guān)系邊。
步驟103:根據(jù)每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)跨接邊,每個(gè)跨接邊連接角色為頂點(diǎn)的任意兩個(gè)第二關(guān)鍵詞和角色為關(guān)系邊的任意一個(gè)第二關(guān)鍵詞。
步驟104:確定每個(gè)跨接邊的邊權(quán),并根據(jù)每個(gè)跨接邊的邊權(quán),選擇邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊。
步驟105:根據(jù)該預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,確定查詢圖,該查詢圖包括關(guān)鍵詞集合中的每個(gè)第三關(guān)鍵詞和每個(gè)第三關(guān)鍵詞之間的連接關(guān)系,該關(guān)鍵詞集合由每個(gè)目標(biāo)跨接邊包括的頂點(diǎn)和關(guān)系邊對(duì)應(yīng)的第二關(guān)鍵詞組成。
步驟106:從該數(shù)據(jù)圖中查詢?cè)摬樵儓D對(duì)應(yīng)的查詢數(shù)據(jù),輸出該查詢數(shù)據(jù)。
在一種可能的設(shè)計(jì)中,根據(jù)每個(gè)第一關(guān)鍵詞,從數(shù)據(jù)圖中選擇每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞和角色,得到第二關(guān)鍵詞和第二關(guān)鍵詞的角色,包括:
確定每個(gè)第一關(guān)鍵詞的角色,每個(gè)第一關(guān)鍵詞的角色為類別、實(shí)體或關(guān)系;
根據(jù)每個(gè)第一關(guān)鍵詞和每個(gè)第一關(guān)鍵詞的角色,從該數(shù)據(jù)圖包括的多個(gè)候選關(guān)鍵詞和每個(gè)候選關(guān)鍵詞的角色中,確定每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色。
在一種可能的設(shè)計(jì)中,根據(jù)每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)跨接邊,包括:
根據(jù)每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)關(guān)鍵詞對(duì),每個(gè)關(guān)鍵詞對(duì)包括角色為實(shí)體或類別的兩個(gè)該第一關(guān)鍵詞各自對(duì)應(yīng)的一個(gè)第二關(guān)鍵詞;
分別在角色為關(guān)系邊的第二關(guān)鍵詞和該至少一個(gè)關(guān)鍵詞對(duì)之間確定該至少一個(gè)跨接邊。
在一種可能的設(shè)計(jì)中,根據(jù)每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)跨接邊,包括:
從每個(gè)第二關(guān)鍵詞中,確定每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的目標(biāo)第二關(guān)鍵詞;
將角色為頂點(diǎn)的目標(biāo)第二關(guān)鍵詞任意兩兩組合,得到目標(biāo)關(guān)鍵詞對(duì);
在該目標(biāo)關(guān)鍵詞對(duì)和角色為關(guān)系邊的目標(biāo)第二關(guān)鍵詞之間確定該至少一個(gè)跨接邊。
在一種可能的設(shè)計(jì)中,確定每個(gè)跨接邊的邊權(quán),包括:
根據(jù)第二預(yù)設(shè)算法,編碼每個(gè)跨接邊連接的第二關(guān)鍵詞,得到頂點(diǎn)向量和關(guān)系邊向量,該頂點(diǎn)向量為角色為頂點(diǎn)的第二關(guān)鍵詞對(duì)應(yīng)的向量,該關(guān)系邊向量為角色為關(guān)系邊的第二關(guān)鍵詞對(duì)應(yīng)的向量;
根據(jù)每個(gè)跨接邊對(duì)應(yīng)的該頂點(diǎn)向量和該關(guān)系邊向量,計(jì)算每個(gè)跨接邊的邊權(quán)。
在一種可能的設(shè)計(jì)中,預(yù)設(shè)數(shù)目個(gè)跨接邊對(duì)應(yīng)一個(gè)匹配關(guān)系,該根據(jù)每個(gè)跨接邊的邊權(quán),選擇邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,包括:
根據(jù)每個(gè)跨接邊,生成每個(gè)待構(gòu)建的匹配關(guān)系,該待構(gòu)建的匹配關(guān)系為包括的跨接邊數(shù)目小于預(yù)設(shè)數(shù)目的匹配關(guān)系;
根據(jù)每個(gè)待構(gòu)建的匹配關(guān)系包括的跨接邊,從每個(gè)待構(gòu)建的匹配關(guān)系中選擇待構(gòu)建的匹配關(guān)系,將該選擇的匹配關(guān)系對(duì)應(yīng)的邊權(quán)最小的跨接邊添加到該選擇的匹配關(guān)系中;
預(yù)估添加后的該選擇的匹配關(guān)系的下界,該匹配關(guān)系的下界為終端預(yù)估將每個(gè)待構(gòu)建的匹配關(guān)系構(gòu)建為完整匹配關(guān)系時(shí)的最小邊權(quán);
獲取每個(gè)待構(gòu)建的匹配關(guān)系對(duì)應(yīng)的最小邊權(quán);
如果該最小邊權(quán)小于該添加后的該選擇的匹配關(guān)系的下界,將該最小邊權(quán)的完整匹配關(guān)系包括的預(yù)設(shè)數(shù)目個(gè)跨接邊作為目標(biāo)跨接邊。
在一種可能的設(shè)計(jì)中,該方法還包括:
如果該最小邊權(quán)不小于該添加后的該選擇的匹配關(guān)系的下界,重新從每個(gè)待構(gòu)建的匹配關(guān)系中選擇滿足預(yù)設(shè)條件的待構(gòu)建的匹配關(guān)系;
執(zhí)行將該選擇的匹配關(guān)系對(duì)應(yīng)的邊權(quán)最小的跨接邊添加到該選擇的匹配關(guān)系中的步驟。
在一種可能的設(shè)計(jì)中,獲取每個(gè)待構(gòu)建的匹配關(guān)系對(duì)應(yīng)的最小邊權(quán),包括:
判斷每個(gè)待構(gòu)建的匹配關(guān)系中是否存在完整匹配關(guān)系,如果存在,從每個(gè)待構(gòu)建的匹配關(guān)系中提取每個(gè)完整匹配關(guān)系;
將每個(gè)完整匹配關(guān)系中邊權(quán)最小的完整匹配關(guān)系的邊權(quán)作為最小邊權(quán),該完整匹配關(guān)系為包括預(yù)設(shè)數(shù)目個(gè)跨接邊的匹配關(guān)系。
在一種可能的設(shè)計(jì)中,預(yù)估添加后的選擇的匹配關(guān)系的下界,包括:
獲取添加后的選擇的匹配關(guān)系的邊權(quán),該添加后的選擇的匹配關(guān)系為添加后的選擇的匹配關(guān)系中當(dāng)前包括的跨接邊的邊權(quán)之和;
根據(jù)第三預(yù)設(shè)算法以及該添加后的選擇的匹配關(guān)系的邊權(quán),確定該添加后的選擇的匹配關(guān)系的下界。
本發(fā)明實(shí)施例中,終端獲取用戶輸入的查詢信息,通過(guò)對(duì)查詢信息分詞得到第一關(guān)鍵詞,從而將查詢信息分成多個(gè)表示不同語(yǔ)義的第一關(guān)鍵詞;終端從數(shù)據(jù)圖中選擇每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞和角色,得到每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,即確定出不同語(yǔ)義的第一關(guān)鍵詞在數(shù)據(jù)圖中對(duì)應(yīng)的第二關(guān)鍵詞;然后,終端根據(jù)每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)跨接邊以及每個(gè)跨接邊的邊權(quán),并根據(jù)每個(gè)跨接邊的邊權(quán),選擇邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,從而使得查詢信息對(duì)應(yīng)的關(guān)鍵詞對(duì)和關(guān)系邊角色的第二關(guān)鍵詞通過(guò)該邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)跨接邊相關(guān)聯(lián);終端根據(jù)該預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,確定查詢圖,該查詢圖包括了關(guān)鍵詞集合包括的第三關(guān)鍵詞以及每個(gè)第三關(guān)鍵詞的連接關(guān)系,該關(guān)鍵詞集合為終端表示用戶查詢意圖的第一關(guān)鍵詞確定,因此,終端將用戶的查詢意圖構(gòu)建到該查詢圖中,終端直接從數(shù)據(jù)圖中查詢查詢圖對(duì)應(yīng)的查詢數(shù)據(jù),輸出查詢數(shù)據(jù)。由于終端將查詢信息分成多個(gè)表示不同語(yǔ)義的第一關(guān)鍵詞,根據(jù)多個(gè)不同語(yǔ)義的第一關(guān)鍵詞,從而使得終端可以準(zhǔn)確劃分出用戶的查詢意圖包括的多個(gè)語(yǔ)義,然后,確定該第一關(guān)鍵詞在數(shù)據(jù)圖中對(duì)應(yīng)的第二關(guān)鍵詞,通過(guò)在第二關(guān)鍵詞對(duì)和關(guān)系邊角色的第二關(guān)鍵詞之間確定跨接邊,并計(jì)算跨接邊的邊權(quán),從而構(gòu)建出可以準(zhǔn)確表達(dá)用戶查詢意圖的查詢圖,使得終端可以根據(jù)該查詢圖,從數(shù)據(jù)圖中查詢用戶所需的查詢數(shù)據(jù),從而提高了數(shù)據(jù)查詢的準(zhǔn)確率。
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)查詢的方法,該方法的執(zhí)行主體可以為終端,參見圖2,該方法包括以下步驟。
步驟201:終端獲取用戶輸入的查詢信息,對(duì)該查詢信息進(jìn)行分詞得到第一關(guān)鍵詞。
本發(fā)明實(shí)施例中,當(dāng)用戶需要在數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)查詢時(shí),用戶可以在終端中輸入查詢信息,該查詢信息中包括多個(gè)單詞,而每個(gè)單詞在該查詢信息中均表示不同的語(yǔ)義,終端需綜合該查詢信息中每個(gè)單詞的語(yǔ)義,得到該查詢信息對(duì)應(yīng)的語(yǔ)義,即,用戶的查詢意圖,然后,終端后續(xù)才能根據(jù)用戶的查詢意圖,向用戶反饋用戶需要的查詢數(shù)據(jù)。
因此,本步驟中,終端需先將用戶輸入的查詢信息進(jìn)行分詞處理,得到多個(gè)第四關(guān)鍵詞集合,然后在該至少一個(gè)第四關(guān)鍵詞集合中確定出對(duì)查詢信息覆蓋度最大的第一關(guān)鍵詞集合。
具體的,本步驟可以通過(guò)以下步驟2011-2012實(shí)現(xiàn)。
步驟2011:終端獲取用戶輸入的查詢信息,通過(guò)至少一個(gè)分詞方法,對(duì)該查詢信息進(jìn)行分詞,得到第四關(guān)鍵詞集合,每個(gè)第四關(guān)鍵詞集合包括至少兩個(gè)第四關(guān)鍵詞。
本發(fā)明實(shí)施例中,終端預(yù)先構(gòu)建第一詞典和第二詞典,該第一詞典和第二詞典中存儲(chǔ)了數(shù)據(jù)庫(kù)中候選關(guān)鍵詞以及該候選關(guān)鍵詞映射出的至少一個(gè)第四關(guān)鍵詞。因此,終端可以根據(jù)該第一詞典和第二詞典中包括的第四關(guān)鍵詞,確定用戶輸入的查詢信息對(duì)應(yīng)的至少一個(gè)第四關(guān)鍵詞集合。
本步驟中,終端獲取查詢信息包括的每個(gè)單詞;終端根據(jù)該查詢信息包括的每個(gè)單詞,將該查詢信息包括的每個(gè)單詞與第一字典和第二字典中的第四關(guān)鍵詞進(jìn)行比對(duì);確定出每個(gè)單詞對(duì)應(yīng)的第四關(guān)鍵詞,每個(gè)單詞可以對(duì)應(yīng)一個(gè)或多個(gè)第四關(guān)鍵詞,每個(gè)單詞對(duì)應(yīng)的第四關(guān)鍵詞可以為與每個(gè)單詞相同的第四關(guān)鍵詞,或者,每個(gè)單詞對(duì)應(yīng)的第四關(guān)鍵詞也可以為包含該單詞的第四關(guān)鍵詞。
例如,用戶輸入的查詢信息為“scientistgraduatefromuniversitylocateusa”,終端可以通過(guò)將該查詢信息包括的每個(gè)單詞與第一詞典和第二詞典中的第四關(guān)鍵詞進(jìn)行比對(duì),得到該查詢信息對(duì)應(yīng)的第四關(guān)鍵詞包括:{scientist},{graduatefrom},{fromuniversity},{university},{locate},{usa}和{universitylocateusa}。
其中,由于該查詢信息對(duì)應(yīng)的至少一個(gè)第四關(guān)鍵詞中,每個(gè)第四關(guān)鍵詞可能會(huì)與其它第四關(guān)鍵詞包括相同的第四關(guān)鍵詞,為了提高終端根據(jù)第四關(guān)鍵詞后續(xù)進(jìn)行查詢時(shí)的效率,在同一個(gè)第四關(guān)鍵詞集合包括的第四關(guān)鍵詞中,每個(gè)第四關(guān)鍵詞均不與該第四關(guān)鍵詞集合中的其它任意第四關(guān)鍵詞包括相同的單詞。
其中,終端可以通過(guò)第四預(yù)設(shè)算法,將該查詢信息對(duì)應(yīng)的第四關(guān)鍵詞組合為至少一個(gè)第四關(guān)鍵詞集合。因此,終端得到至少一個(gè)第四關(guān)鍵詞集合的步驟可以為:終端根據(jù)第四預(yù)設(shè)算法,將該查詢信息對(duì)應(yīng)的第四關(guān)鍵詞進(jìn)行組合,得到至少一個(gè)第四關(guān)鍵詞集合。
其中,終端根據(jù)該第四預(yù)設(shè)算法,將該查詢信息對(duì)應(yīng)的第四關(guān)鍵詞進(jìn)行組合,得到至少一個(gè)第四關(guān)鍵詞集合的步驟可以為:終端根據(jù)該第四預(yù)設(shè)算法,在該查詢信息對(duì)應(yīng)的第四關(guān)鍵詞中,在每?jī)蓚€(gè)互不包括相同單詞的第四關(guān)鍵詞之間確定一條連線,生成該查詢信息對(duì)應(yīng)的標(biāo)注圖,該標(biāo)注圖包括第四關(guān)鍵詞以及第四關(guān)鍵詞之間的連線;然后,終端根據(jù)該標(biāo)注圖中第四關(guān)鍵詞之間的連線,將該標(biāo)注圖中兩兩之間均有連線的第四關(guān)鍵詞組合為一個(gè)第四關(guān)鍵詞集合該第四關(guān)鍵詞集合包括至少兩個(gè)第四關(guān)鍵詞,從而得到的第四關(guān)鍵詞集合包括的第四關(guān)鍵詞之間均不包括相同的關(guān)鍵詞,并且盡可能的覆蓋查詢信息包括的單詞。
其中,該第四預(yù)設(shè)算法可以根據(jù)用戶需要設(shè)置并更改,本公開實(shí)施例對(duì)此不作具體限定。例如,該第四預(yù)設(shè)算法可以為bk(c.bronandj.kerbosch,布朗)算法。
例如,將查詢信息對(duì)應(yīng)的第四關(guān)鍵詞:{scientist},{graduatefrom},{fromuniversity},{university},{locate},{usa}和{universitylocateusa}生成查詢信息對(duì)應(yīng)的標(biāo)注圖,如圖3所示,圖3中的c1、c2、c3、c4、c5、c6、c7分別對(duì)應(yīng)表示第四關(guān)鍵詞:{scientist}、{graduatefrom}、{fromuniversity}、{university}、{locate}、{usa}、{universitylocateusa};其中,第四關(guān)鍵詞{scientist}、{graduatefrom}、{universitylocateusa}兩兩之間均可以確定一條連線,第四關(guān)鍵詞{scientist}、{graduatefrom}、{university}、{locate}、{usa}兩兩之間均可以確定一條連線,第四關(guān)鍵詞{scientist}、{fromuniversity}、{locate}、{usa}兩兩之間均可以確定一條連線,因此,該查詢信息對(duì)應(yīng)三個(gè)第四關(guān)鍵詞集合:第四關(guān)鍵詞集合1、第四關(guān)鍵詞集合2和第四關(guān)鍵詞3,其中,第四關(guān)鍵詞集合1:{scientist,graduatefrom,universitylocateusa},第四關(guān)鍵詞集合2:{scientist,graduatefrom,university,locate,usa},第四關(guān)鍵詞集合3:{scientist,fromuniversity,locate,usa}。
步驟2012:終端確定每個(gè)第四關(guān)鍵詞集合的覆蓋度,將覆蓋度最大的第四關(guān)鍵詞集合包括的第四關(guān)鍵詞作為第一關(guān)鍵詞。
本步驟可以通過(guò)以下步驟(1)-(2)實(shí)現(xiàn)。
步驟(1):終端根據(jù)每個(gè)第四關(guān)鍵詞集合包括的第四關(guān)鍵詞,通過(guò)以下公式一,計(jì)算該第四關(guān)鍵詞集合的覆蓋度:
其中,α(c)為第四關(guān)鍵詞集合c的覆蓋度,c為第四關(guān)鍵詞集合,a為查詢信息,k′為每個(gè)第四關(guān)鍵詞中包括的關(guān)鍵詞,t為每個(gè)第四關(guān)鍵詞集合包括的第四關(guān)鍵詞,k為查詢信息a包括的單詞。
例如,第四關(guān)鍵詞集合1:{scientist,graduatefrom,universitylocateusa}與第四關(guān)鍵詞集合2:{scientist,graduatefrom,university,locate,usa}均覆蓋了查詢信息包括的每一個(gè)單詞,因此,第四關(guān)鍵詞集合1與第四關(guān)鍵詞集合2的覆蓋度均為1;而第四關(guān)鍵詞集合3:{scientist,fromuniversity,locate,usa}只覆蓋了查詢信息中的5個(gè)單詞,因此,第四關(guān)鍵詞集合3的覆蓋度為0.83。
步驟(2):終端根據(jù)每個(gè)第四關(guān)鍵詞集合的覆蓋度,將覆蓋度最大的第四關(guān)鍵詞集合包括的第四關(guān)鍵詞作為第一關(guān)鍵詞。
本步驟中,終端選取多個(gè)第四關(guān)鍵詞集合中覆蓋度最大的第四關(guān)鍵詞集合,將該第四關(guān)鍵詞集合包括的第四關(guān)鍵詞作為第一關(guān)鍵詞。
本發(fā)明實(shí)施例提供的一種可能設(shè)計(jì)中,終端還可以選取多個(gè)第四關(guān)鍵詞集合中覆蓋度最大的前n個(gè)第四關(guān)鍵詞集合,將該n個(gè)第四關(guān)鍵詞集合中每個(gè)第四關(guān)鍵詞集合包括的第四關(guān)鍵詞作為一組第一關(guān)鍵詞,得到n組第一關(guān)鍵詞,后續(xù)終端分別根據(jù)該n組第一關(guān)鍵詞中的每個(gè)第一關(guān)鍵詞進(jìn)行數(shù)據(jù)查詢。其中,n為大于等于2的整數(shù),n可以根據(jù)用戶需要設(shè)置并更改,本發(fā)明實(shí)施例對(duì)此不做具體限定,例如,n=2或n=3等。
步驟202:終端根據(jù)每個(gè)第一關(guān)鍵詞,從數(shù)據(jù)圖中選擇每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞和角色,得到每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,該數(shù)據(jù)圖中包括多個(gè)候選關(guān)鍵詞和每個(gè)候選關(guān)鍵詞的角色,該第二關(guān)鍵詞的角色為頂點(diǎn)或關(guān)系邊。
本步驟可以通過(guò)以下步驟2021-2022實(shí)現(xiàn)。
步驟2021:終端確定每個(gè)第一關(guān)鍵詞的角色,每個(gè)第一關(guān)鍵詞的角色為類別、實(shí)體或關(guān)系。
本發(fā)明實(shí)施例中,終端預(yù)先構(gòu)建的第一字典和第二字典中,不僅存儲(chǔ)了數(shù)據(jù)庫(kù)中候選關(guān)鍵詞以及該候選關(guān)鍵詞映射出的至少一個(gè)第四關(guān)鍵詞,即本步驟中的第一關(guān)鍵詞,終端還存儲(chǔ)了每個(gè)第一關(guān)鍵詞的角色以及每個(gè)候選關(guān)鍵詞的角色。其中,第一關(guān)鍵詞的角色為類別、實(shí)體或關(guān)系。
其中,終端構(gòu)建第一字典和第二字典的步驟可以為:終端獲取數(shù)據(jù)庫(kù)包括的每一個(gè)候選關(guān)鍵詞以及該關(guān)鍵詞的角色;終端確定每個(gè)候選關(guān)鍵詞映射的至少一個(gè)第一關(guān)鍵詞以及該第一關(guān)鍵詞的角色,根據(jù)該第一關(guān)鍵詞的角色,將角色為實(shí)體或類別的第一關(guān)鍵詞與該第一關(guān)鍵詞對(duì)應(yīng)的候選關(guān)鍵詞之間的對(duì)應(yīng)關(guān)系存儲(chǔ)在第一字典中,將角色為關(guān)系的第一關(guān)鍵詞與該第一關(guān)鍵詞對(duì)應(yīng)的候選關(guān)鍵詞之間的對(duì)應(yīng)關(guān)系存儲(chǔ)在第二字典中,并在該第一字典和第二字典中存儲(chǔ)每個(gè)第一關(guān)鍵詞和第一關(guān)鍵詞的角色之間的對(duì)應(yīng)關(guān)系,以及候選關(guān)鍵詞和候選關(guān)鍵詞的角色之間的對(duì)應(yīng)關(guān)系。
因此,終端確定每個(gè)第一關(guān)鍵詞的角色的步驟可以為:終端根據(jù)每個(gè)第一關(guān)鍵詞,從第一字典或第二字典存儲(chǔ)的第一關(guān)鍵詞和第一關(guān)鍵詞的角色的對(duì)應(yīng)關(guān)系中,確定該第一關(guān)鍵詞的角色。
其中,第一關(guān)鍵詞的角色可以為類別(class)、實(shí)體(entity)或關(guān)系(relation)。
例如,以第一關(guān)鍵詞分別為第四關(guān)鍵詞集合1包括的第四關(guān)鍵詞為例進(jìn)行說(shuō)明,第一關(guān)鍵詞以及第一關(guān)鍵詞的角色分別為:{class:scientist}、{relation:graduatefrom}、{class:university}、{relation:locate}、{entity:usa}。
步驟2022:終端根據(jù)每個(gè)第一關(guān)鍵詞和每個(gè)第一關(guān)鍵詞的角色,從該數(shù)據(jù)圖包括的多個(gè)候選關(guān)鍵詞和每個(gè)候選關(guān)鍵詞的角色中,確定每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色。
本步驟中,終端根據(jù)該第一關(guān)鍵詞和該第一關(guān)鍵詞的角色,從該第一關(guān)鍵詞的角色對(duì)應(yīng)的第一詞典或第二詞典存儲(chǔ)的候選關(guān)鍵詞中,確定該第一關(guān)鍵詞對(duì)應(yīng)的至少一個(gè)候選關(guān)鍵詞,將該候選關(guān)鍵詞作為該第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞;終端根據(jù)至少一個(gè)第二關(guān)鍵詞中的每個(gè)第二關(guān)鍵詞,從第一字典或第二字典存儲(chǔ)的候選關(guān)鍵詞和候選關(guān)鍵詞的角色的對(duì)應(yīng)關(guān)系中,確定該第二關(guān)鍵詞的角色。
其中,該第二關(guān)鍵詞的角色可以為頂點(diǎn)或關(guān)系邊。
需要說(shuō)明的是,角色為頂點(diǎn)的第二關(guān)鍵詞為角色為實(shí)體的第一關(guān)鍵詞以及角色為類別的第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞。由于步驟202-204中,對(duì)實(shí)體角色的第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞與類別角色的第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞之間不作具體區(qū)分,因此,將實(shí)體角色的第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞的角色與類別角色的第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞的角色均稱為頂點(diǎn),將角色為關(guān)系的第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞的角色稱為關(guān)系邊。
例如,第一關(guān)鍵詞{class:scientist}對(duì)應(yīng)的第二關(guān)鍵詞為:{頂點(diǎn):scientist},第一關(guān)鍵詞{relation:graduatefrom}對(duì)應(yīng)的第二關(guān)鍵詞為{關(guān)系邊:almamater}和{關(guān)系邊:education},第一關(guān)鍵詞{class:university}對(duì)應(yīng)的第二關(guān)鍵詞為{頂點(diǎn):university},第一關(guān)鍵詞{relation:locate}對(duì)應(yīng)的第二關(guān)鍵詞為{關(guān)系邊:country}和{關(guān)系邊:location},第一關(guān)鍵詞{entity:usa}對(duì)應(yīng)的第二關(guān)鍵詞為{頂點(diǎn):united_states}和{頂點(diǎn):usa_today}。
需要說(shuō)明的是,本公開實(shí)施例中,用戶輸入的查詢信息可以對(duì)應(yīng)多個(gè)第一關(guān)鍵詞,以及根據(jù)該多個(gè)第一關(guān)鍵詞,可以確定出該查詢信息對(duì)應(yīng)的多個(gè)第二關(guān)鍵詞。
步驟203:終端根據(jù)每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)跨接邊,每個(gè)跨接邊連接角色為頂點(diǎn)的任意兩個(gè)第二關(guān)鍵詞和角色為關(guān)系邊的任意一個(gè)第二關(guān)鍵詞。
本發(fā)明實(shí)施例中,每個(gè)跨接邊連接的角色為頂點(diǎn)的任意兩個(gè)第二關(guān)鍵詞分別對(duì)應(yīng)不同的第一關(guān)鍵詞。由于每個(gè)第一關(guān)鍵詞可以對(duì)應(yīng)一個(gè)第二關(guān)鍵詞,也可以對(duì)應(yīng)多個(gè)第二關(guān)鍵詞,因此,終端可以先在每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的至少一個(gè)第二關(guān)鍵詞中,確定出該第一關(guān)鍵次對(duì)應(yīng)的一個(gè)目標(biāo)第二關(guān)鍵詞,根據(jù)每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的目標(biāo)第二關(guān)鍵詞,確定跨接邊,即以下第一種實(shí)現(xiàn)方式;終端也可以直接根據(jù)每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的至少一個(gè)第二關(guān)鍵詞確定跨接邊,即以下第二種實(shí)現(xiàn)方式。
對(duì)于第一種實(shí)現(xiàn)方式,本步驟可以通過(guò)以下步驟2031a-2033a實(shí)現(xiàn)。
步驟2031a:終端從每個(gè)第二關(guān)鍵詞中,確定每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的目標(biāo)第二關(guān)鍵詞。
本發(fā)明實(shí)施例中,每個(gè)第一關(guān)鍵詞可能會(huì)對(duì)應(yīng)兩個(gè)或更多個(gè)第二關(guān)鍵詞,因此,終端可以在第一關(guān)鍵詞對(duì)應(yīng)的多個(gè)第二關(guān)鍵詞中,選取語(yǔ)義最接近第一關(guān)鍵詞的目標(biāo)第二關(guān)鍵詞,即可信度最高的第二關(guān)鍵詞,以便于終端只根據(jù)與第一關(guān)鍵詞語(yǔ)義最接近的目標(biāo)第二關(guān)鍵詞,更快速的確定出用戶需要的查詢數(shù)據(jù)。
本步驟中,終端可以根據(jù)第一預(yù)設(shè)算法,確定每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的目標(biāo)第二關(guān)鍵詞。
因此,本步驟可以為:終端根據(jù)第一預(yù)設(shè)算法,計(jì)算每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞的可信度;終端在每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞中選擇可信度最高的第二關(guān)鍵詞,將該可信度最高的第二關(guān)鍵詞確定為該第一關(guān)鍵詞對(duì)應(yīng)的目標(biāo)第二關(guān)鍵詞。
其中,該第一預(yù)設(shè)算法可以根據(jù)用戶需要設(shè)置并更改,本公開實(shí)施例對(duì)此不作具體限定,例如,該第一預(yù)設(shè)算法為計(jì)算第二關(guān)鍵詞的置信概率的置信傳播算法,即,用第二關(guān)鍵詞的置信概率作為衡量第二關(guān)鍵詞的可信度的標(biāo)準(zhǔn),第二關(guān)鍵詞的置信概率越大,該第二關(guān)鍵詞的可信度越高,終端將每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的多個(gè)第二關(guān)鍵詞中置信概率最高的第二關(guān)鍵詞作為目標(biāo)第二關(guān)鍵詞。
其中,終端可以預(yù)先根據(jù)第一預(yù)設(shè)算法計(jì)算數(shù)據(jù)庫(kù)中每個(gè)候選關(guān)鍵詞的可信度,將每個(gè)候選關(guān)鍵詞與該候選關(guān)鍵詞的可信度的對(duì)應(yīng)關(guān)系存儲(chǔ)在第一字典或第二字典中。
如表一和表二所示,以每個(gè)候選關(guān)鍵詞的可信度是該候選關(guān)鍵詞的置信概率作為例,表一為第一字典中的部分截取數(shù)據(jù),表二為第二字典中的部分截取數(shù)據(jù):
表一:
表二:
由表一和表二可知,第一關(guān)鍵詞{entity:usa}對(duì)應(yīng)的第二關(guān)鍵詞{usa_today}和{united_states}中,{usa_today}的置信概率為0.83,大于{united_states},因此,該第一關(guān)鍵詞{entity:usa}對(duì)應(yīng)的目標(biāo)第二關(guān)鍵詞為{usa_today},同理,第一關(guān)鍵詞{graduatefrom}對(duì)應(yīng)的目標(biāo)第二關(guān)鍵詞為{almamater},第一關(guān)鍵詞{locate}對(duì)應(yīng)的目標(biāo)第二關(guān)鍵詞為{country}。
步驟2032a:終端將角色為頂點(diǎn)的目標(biāo)第二關(guān)鍵詞任意兩兩組合,得到目標(biāo)關(guān)鍵詞對(duì)。
本步驟中,終端將目標(biāo)第二關(guān)鍵詞中的每?jī)蓚€(gè)目標(biāo)第二關(guān)鍵詞兩兩組合,每個(gè)目標(biāo)關(guān)鍵詞均與任一其它目標(biāo)第二關(guān)鍵詞組合成一個(gè)目標(biāo)關(guān)鍵詞對(duì),從而確定出目標(biāo)第二關(guān)鍵詞對(duì)應(yīng)的所有可能的目標(biāo)關(guān)鍵詞對(duì)。
步驟2033a:終端在該目標(biāo)關(guān)鍵詞對(duì)和角色為關(guān)系邊的目標(biāo)第二關(guān)鍵詞之間確定至少一個(gè)跨接邊。
本步驟中,終端在每個(gè)目標(biāo)關(guān)鍵詞對(duì)和每個(gè)角色為關(guān)系邊的目標(biāo)第二關(guān)鍵詞之間均確定一個(gè)跨接邊,得到至少一個(gè)跨接邊,每個(gè)跨接邊一端連接目標(biāo)關(guān)鍵詞對(duì),一端連接角色為關(guān)系邊的一個(gè)目標(biāo)第二關(guān)鍵詞,即,通過(guò)跨接邊將目標(biāo)關(guān)鍵詞對(duì)和關(guān)系邊相關(guān)聯(lián)。
例如,以第一關(guān)鍵詞對(duì)應(yīng)的目標(biāo)第二關(guān)鍵詞:{頂點(diǎn)v1:scientist},{關(guān)系邊p1:almamater},{頂點(diǎn)v2:university},{關(guān)系邊p2:country},{頂點(diǎn)v3:usa_today}為例,將目標(biāo)第二關(guān)鍵詞中每?jī)蓚€(gè)目標(biāo)第二關(guān)鍵詞進(jìn)行兩兩組合,共得到3個(gè)目標(biāo)關(guān)鍵詞對(duì),分別為:<v1,v2>,<v2,v3>和<v1,v3>,在每個(gè)目標(biāo)關(guān)鍵詞對(duì)與角色為關(guān)系邊的第二關(guān)鍵詞之間確定一個(gè)跨接邊,該目標(biāo)第二關(guān)鍵詞對(duì)應(yīng)的跨接邊包括:(<v1,v2>,p1),(<v1,v2>,p2),(<v2,v3>,p1),(<v2,v3>,p2),(<v1,v3>,p1)和(<v1,v3>,p2)。
在第一種實(shí)現(xiàn)方式中,由于終端根據(jù)第一預(yù)設(shè)算法,確定出每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的一個(gè)目標(biāo)第二關(guān)鍵詞,而該第一關(guān)鍵詞對(duì)應(yīng)的至少一個(gè)第二關(guān)鍵詞中,除目標(biāo)第二關(guān)鍵詞以外的其它第二關(guān)鍵詞也被忽略,此時(shí),很有可能把最接近用戶查詢意圖的第二關(guān)鍵詞忽略,從而導(dǎo)致后續(xù)的查詢結(jié)構(gòu)不準(zhǔn)確。并且,第一種實(shí)現(xiàn)方式中,查詢結(jié)果的準(zhǔn)確性高度依賴與根據(jù)第一預(yù)設(shè)算法確定出的每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的目標(biāo)第二關(guān)鍵詞以及根據(jù)該目標(biāo)第二關(guān)鍵詞確定出的跨接邊的準(zhǔn)確率,而為了提高本公開實(shí)施例的魯棒性,即,使得本公開實(shí)施例提供的方法具備一定的容錯(cuò)率,因此,本公開實(shí)施例中還提出了以下第二種實(shí)現(xiàn)方式,作為一種普適情況。在該第二種實(shí)現(xiàn)方式中,直接根據(jù)每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的至少一個(gè)第二關(guān)鍵詞確定跨接邊,考慮到了每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的每個(gè)第二關(guān)鍵詞所包含的查詢意圖,因此,提高了數(shù)據(jù)查詢的準(zhǔn)確率。
對(duì)于第二種實(shí)現(xiàn)方式,本步驟可以通過(guò)以下步驟2031b-2032b實(shí)現(xiàn)。
步驟2031b:終端根據(jù)每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)關(guān)鍵詞對(duì),每個(gè)關(guān)鍵詞對(duì)包括角色為實(shí)體或類別的兩個(gè)第一關(guān)鍵詞各自對(duì)應(yīng)的一個(gè)第二關(guān)鍵詞。
本步驟中,一個(gè)第一關(guān)鍵詞可以對(duì)應(yīng)多個(gè)第二關(guān)鍵詞,終端根據(jù)每個(gè)第二關(guān)鍵詞和該第二關(guān)鍵詞的角色,在角色為頂點(diǎn)的第二關(guān)鍵詞中,任選擇兩個(gè)分別對(duì)應(yīng)不同的兩個(gè)第一關(guān)鍵詞的第二關(guān)鍵詞,將這兩個(gè)第二關(guān)鍵詞組成關(guān)鍵詞對(duì),即,該關(guān)鍵詞對(duì)由兩個(gè)第二關(guān)鍵詞組成,該兩個(gè)第二關(guān)鍵詞為角色為實(shí)體或類別的兩個(gè)第一關(guān)鍵詞分別對(duì)應(yīng)的第二關(guān)鍵詞;然后,確定出角色為頂點(diǎn)的第二關(guān)鍵詞中所有可能的關(guān)鍵詞對(duì)。
步驟2032b:終端分別在角色為關(guān)系邊的第二關(guān)鍵詞和該至少一個(gè)關(guān)鍵詞對(duì)之間確定至少一個(gè)跨接邊。
終端在每個(gè)關(guān)鍵詞對(duì)和每個(gè)角色為關(guān)系邊的第二關(guān)鍵詞之間均確定一個(gè)跨接邊,得到多個(gè)跨接邊,每個(gè)跨接邊的將一端的關(guān)鍵詞對(duì)和另一端連接角色為關(guān)系邊的第二關(guān)鍵詞相關(guān)聯(lián)。
其中,為了便于執(zhí)行,終端可以根據(jù)第二關(guān)鍵詞的角色,將角色為頂點(diǎn)的第二關(guān)鍵詞作為頂點(diǎn),將角色為關(guān)系邊的第二關(guān)鍵詞作為關(guān)系邊,將頂點(diǎn)和關(guān)系邊構(gòu)建到拼接圖中,其中,該拼接圖中,在關(guān)鍵詞對(duì)所在的頂點(diǎn)對(duì)和角色為關(guān)系邊的第二關(guān)鍵詞所在的關(guān)系邊之間確定一個(gè)跨接邊,這樣,在每個(gè)頂點(diǎn)對(duì)和關(guān)系邊之間建立連接,終端每個(gè)頂點(diǎn)對(duì)中的兩個(gè)頂點(diǎn)通過(guò)關(guān)系邊相連接。
需要說(shuō)明的是,終端確定的拼接二部圖中,角色為頂點(diǎn)的第二關(guān)鍵詞兩兩組合成第二關(guān)鍵詞對(duì),出現(xiàn)在拼接二部圖的第一集合,角色為關(guān)系邊的第二關(guān)鍵詞,出現(xiàn)在拼接二部圖的第二集合。拼接二部圖的第一集合和第二集合之間,確定至少一個(gè)跨接邊。每個(gè)跨接邊連接角色為頂點(diǎn)的任意兩個(gè)第二關(guān)鍵詞,即第一集合中的第二關(guān)鍵詞對(duì),和角色為關(guān)系邊的任意一個(gè)第二關(guān)鍵詞,即第二集合中的角色為關(guān)系邊的第二關(guān)鍵詞,從而將每個(gè)跨接邊一端的關(guān)鍵詞對(duì)和角色為關(guān)系邊的第二關(guān)鍵詞相關(guān)聯(lián)。
其中,可以將頂點(diǎn)對(duì)表示為:vl={(vi1,vi2)|1≤i1<i2≤n}(n為拼接圖包括的總頂點(diǎn)數(shù),vi1,vi2分別為對(duì)應(yīng)不同第一關(guān)鍵詞的頂點(diǎn)),pj表示關(guān)系邊,則(<vi1,vi2>,pj)即為一個(gè)跨接邊,每個(gè)跨接邊對(duì)應(yīng)一個(gè)三元組,該三元組由跨接邊一端的頂點(diǎn)對(duì)和另一端的關(guān)系邊組成,表示該頂點(diǎn)對(duì)包括的兩個(gè)頂點(diǎn)之間可由該關(guān)系邊進(jìn)行連接。
例如,以第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞:{頂點(diǎn)v1:scientist},{關(guān)系邊p11:almamater}和{關(guān)系邊p12:education},{頂點(diǎn)v2:university},{關(guān)系邊p21:country}和{關(guān)系邊p22:location},{頂點(diǎn)v31:united_states}和{頂點(diǎn)v32:usa_today}為例,其中,關(guān)鍵詞對(duì)包括:v1和v2,v1和v31,v1和v32,v2和v31以及v2和v32,如圖4所示,在關(guān)鍵詞對(duì)v1、v2和p11可以確定跨接邊(<v1,v2>,p11),同理,在關(guān)鍵詞對(duì)和關(guān)系邊之間確定的跨接邊還可以包括:(<v1,v2>,p12)、(<v1,v2>,p21)、(<v1,v2>,p22)、(<v1,v31>,p11)、(<v1,v31>,p12)(<v1,v31>,p21)、(<v1,v31>,p22)、(<v1,v32>,p11)、(<v1,v32>,p12)(<v1,v32>,p21)、(<v1,v32>,p22)、(<v2,v31>,p11)、(<v2,v31>,p12)(<v2,v31>,p21)、(<v2,v31>,p22)、(<v2,v32>,p11)、(<v2,v32>,p12)(<v2,v32>,p21)、(<v2,v32>,p22)。
需要說(shuō)明的是,終端通過(guò)跨接邊,將每個(gè)跨接邊一端的關(guān)鍵詞對(duì)和角色為關(guān)系邊的第二關(guān)鍵詞相關(guān)聯(lián)。實(shí)際上,每個(gè)跨接邊為終端對(duì)關(guān)鍵詞對(duì)和角色為關(guān)系邊的第二關(guān)鍵詞之間的連接關(guān)系所做的預(yù)測(cè),每個(gè)跨接邊均對(duì)應(yīng)一個(gè)預(yù)測(cè)關(guān)系,該預(yù)測(cè)關(guān)系用于預(yù)測(cè)關(guān)鍵詞對(duì)包括的第二關(guān)鍵詞可以通過(guò)該跨接邊另一端的角色為關(guān)系邊的第二關(guān)鍵詞進(jìn)行連接。
步驟204:終端確定每個(gè)跨接邊的邊權(quán),并根據(jù)每個(gè)跨接邊的邊權(quán),選擇邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊。
本發(fā)明實(shí)施例中,由于每個(gè)跨接邊連接的關(guān)鍵詞對(duì)和角色為關(guān)系邊的第二關(guān)鍵詞中,關(guān)鍵詞對(duì)和角色為關(guān)系邊的第二關(guān)鍵詞之間的連接代價(jià)未知,即,每個(gè)跨接邊的邊權(quán)未知,因此,終端需要先確定每個(gè)跨接邊的邊權(quán),再根據(jù)跨接邊的邊權(quán),選擇邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊。
其中,終端確定每個(gè)跨接邊的邊權(quán)的步驟可以為:終端根據(jù)第二預(yù)設(shè)算法,編碼該每個(gè)跨接邊連接的第二關(guān)鍵詞,得到頂點(diǎn)向量和關(guān)系邊向量,該頂點(diǎn)向量為角色為頂點(diǎn)的第二關(guān)鍵詞對(duì)應(yīng)的向量,該關(guān)系邊向量為角色為關(guān)系邊的第二關(guān)鍵詞對(duì)應(yīng)的向量;終端根據(jù)每個(gè)跨接邊對(duì)應(yīng)的該頂點(diǎn)向量和該關(guān)系邊向量之間的向量距離,作為該跨接邊的邊權(quán)。其中編碼向量的算法可以為transe(translatingembedding,翻譯嵌入)算法,并且該編碼算法可以根據(jù)用戶需要設(shè)置并更改,本公開實(shí)施例對(duì)此不作具體限定。
終端確定每個(gè)跨接邊的邊權(quán)后,還需在多個(gè)跨接邊中選出邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,該預(yù)設(shè)數(shù)目與角色為關(guān)系的第一關(guān)鍵詞的數(shù)目相等,且該預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊之間不存在沖突關(guān)系。其中,由于在步驟203中,終端可以通過(guò)兩種實(shí)現(xiàn)方式確定跨接邊,相應(yīng)的,本步驟中,終端選擇邊權(quán)小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊的實(shí)現(xiàn)方式也有兩種,即以下第一種實(shí)現(xiàn)方式和以下第二種實(shí)現(xiàn)方式。
在第一種實(shí)現(xiàn)方式中,每個(gè)第一關(guān)鍵詞對(duì)應(yīng)一個(gè)目標(biāo)關(guān)鍵詞,即終端通過(guò)步驟203中的第一種實(shí)現(xiàn)方式確定跨接邊時(shí),終端根據(jù)每個(gè)跨接邊的邊權(quán),選擇邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊的步驟可以為:終端根據(jù)第五預(yù)設(shè)算法,確定出在多個(gè)跨接邊中存在的多個(gè)匹配關(guān)系,并在該多個(gè)匹配關(guān)系中確定邊權(quán)最小的目標(biāo)匹配關(guān)系,將該目標(biāo)匹配關(guān)系包括的跨接邊作為目標(biāo)跨接邊。
其中,此處終端將預(yù)設(shè)數(shù)目個(gè)跨接邊構(gòu)建為一個(gè)匹配關(guān)系,且每個(gè)匹配關(guān)系均滿足:每個(gè)匹配關(guān)系包括的預(yù)設(shè)數(shù)目個(gè)跨接邊之間不存在沖突關(guān)系。
該預(yù)設(shè)數(shù)目為角色為關(guān)系的第一關(guān)鍵詞的總數(shù)目。此處的沖突關(guān)系為:兩個(gè)目標(biāo)跨接邊一端共同連接到相同的一個(gè)頂點(diǎn)對(duì)上,或者,兩個(gè)目標(biāo)跨接邊的另一端共同連接到相同的一個(gè)關(guān)系邊上。這會(huì)使得后續(xù)終端根據(jù)多個(gè)跨接邊生成的查詢圖不準(zhǔn)確,從而導(dǎo)致得到的查詢結(jié)果不準(zhǔn)確。而在本發(fā)明實(shí)施例中,為了提高查詢數(shù)據(jù)的準(zhǔn)確性,同一個(gè)匹配關(guān)系中不允許存在該沖突關(guān)系。
其中該第五預(yù)設(shè)算法可以根據(jù)用戶需要設(shè)置并更改,本公開實(shí)施例對(duì)此不作具體限定。例如,該第五預(yù)設(shè)算法可以為已有的km(kuhn-munkres,二分圖最佳匹配)算法。
在第二種實(shí)現(xiàn)方式中,每個(gè)第一關(guān)鍵詞對(duì)應(yīng)至少一個(gè)第二關(guān)鍵詞,即終端通過(guò)步驟203中的第二種實(shí)現(xiàn)方式確定跨接邊時(shí),終端預(yù)先定義了qga(querygraphassembly,查詢圖拼接)算法,因此,終端可以根據(jù)該qga算法,選擇邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊。
其中,該qga(querygraphassembly,查詢圖拼接)算法包括以下步驟2041-2043。
步驟2041:終端根據(jù)每個(gè)跨接邊,生成每個(gè)待構(gòu)建的匹配關(guān)系,根據(jù)每個(gè)待構(gòu)建的匹配關(guān)系包括的跨接邊,從每個(gè)待構(gòu)建的匹配關(guān)系中選擇待構(gòu)建的匹配關(guān)系,將該選擇的匹配關(guān)系對(duì)應(yīng)的邊權(quán)最小的跨接邊添加到該選擇的匹配關(guān)系中;預(yù)估添加后的該選擇的匹配關(guān)系的下界。
需要說(shuō)明的是,該待構(gòu)建的匹配關(guān)系為包括的跨接邊數(shù)目小于預(yù)設(shè)數(shù)目的匹配關(guān)系,該匹配關(guān)系的下界為終端預(yù)估將每個(gè)待構(gòu)建的匹配關(guān)系構(gòu)建為完整匹配關(guān)系時(shí)的最小邊權(quán)。該預(yù)設(shè)數(shù)目為角色為關(guān)系的第一關(guān)鍵詞的總數(shù)目。
具體的,本步驟可以通過(guò)以下步驟(1)-(2)實(shí)現(xiàn)。
步驟(1):終端將多個(gè)跨接邊包括的每個(gè)跨接邊作為一個(gè)待構(gòu)建的匹配關(guān)系中的首個(gè)跨接邊,同時(shí),終端實(shí)時(shí)將每個(gè)匹配關(guān)系的搜索狀態(tài)存儲(chǔ)到隊(duì)列h中。
其中,終端根據(jù)每個(gè)跨接邊,以每個(gè)跨接邊作為一個(gè)待構(gòu)建的匹配關(guān)系中的首個(gè)跨接邊,預(yù)先為每個(gè)跨接邊建立一個(gè)待構(gòu)建的匹配關(guān)系。同時(shí),終端為每個(gè)正在構(gòu)建的匹配關(guān)系創(chuàng)建一個(gè)搜索狀態(tài):{m,z,cost(m),lb(m)}。其中,集合m記錄了該待構(gòu)建的匹配關(guān)系中當(dāng)前已經(jīng)包括的跨接邊,即,已經(jīng)選取出的跨接邊;集合z記錄了該待構(gòu)建的匹配關(guān)系中不包括的且與集合m中的跨接邊不存在沖突關(guān)系的跨接邊,即,還未選取且不與已選取的跨接邊之間存在沖突關(guān)系的跨接邊;cost(m)為集合m中包括的跨接邊的總邊權(quán),即,待構(gòu)建的匹配關(guān)系中包括的跨接邊的邊權(quán)之和;lb(m)為終端預(yù)測(cè)的將當(dāng)前待構(gòu)建的匹配關(guān)系構(gòu)建成為完整的匹配關(guān)系時(shí)預(yù)估邊權(quán)的最小值,即,該待構(gòu)建的匹配關(guān)系的邊權(quán)的下界,表示如果將當(dāng)前匹配關(guān)系構(gòu)建為完整的匹配關(guān)系,終端預(yù)估該完整的匹配關(guān)系的邊權(quán)可能達(dá)到的最小值。
需要說(shuō)明的是,隊(duì)列h中存儲(chǔ)了每個(gè)待構(gòu)建的匹配關(guān)系的搜索狀態(tài),并且,在隊(duì)列h中,終端將各個(gè)搜索狀態(tài)按照l(shuí)b(m)升序排列,即,隊(duì)列h頭部的首個(gè)位置存儲(chǔ)了搜索狀態(tài)為lb(m)最小的待構(gòu)建的匹配關(guān)系。其中,初始狀態(tài)時(shí),定義隊(duì)列h為空集φ,然后,再將待構(gòu)建的各個(gè)搜索狀態(tài)添加到隊(duì)列h中,即“h=φ;h←{m=0,z=e,cost(m)=0,lb(m)=0}”,其中,集合e為所有的跨接邊組成的跨接邊集合。
其中,步驟2041中,終端預(yù)估添加后的所述選擇的匹配關(guān)系的下界的步驟可以為:終端獲取所述添加后的所述選擇的匹配關(guān)系的邊權(quán),所述添加后的所述選擇的匹配關(guān)系為所述添加后的所述選擇的匹配關(guān)系中當(dāng)前包括的跨接邊的邊權(quán)之和;根據(jù)第三預(yù)設(shè)算法以及所述添加后的所述選擇的匹配關(guān)系的邊權(quán),確定所述添加后的所述選擇的匹配關(guān)系的下界。
本發(fā)明實(shí)施例中,終端中預(yù)先定義了三種該第三預(yù)設(shè)算法,因此,終端可以通過(guò)以下三種實(shí)現(xiàn)方式預(yù)估待構(gòu)建的匹配關(guān)系的下界,即lb(m)。其中,該待構(gòu)建的匹配關(guān)系的搜索狀態(tài)為{m,z,cost(m),lb(m)},該匹配關(guān)系中包括的跨接邊數(shù)目為|m|,預(yù)設(shè)數(shù)目為m,|m|<m,即,該待構(gòu)建的匹配關(guān)系包括m個(gè)跨接邊時(shí),為一個(gè)完整的匹配關(guān)系。
需要說(shuō)明的是,對(duì)于每個(gè)待構(gòu)建的匹配關(guān)系,該待構(gòu)建的匹配關(guān)系的下界滿足:lb(m)≤cost(m∪m1(z)),其中,m1(z)為集合z中(m-|m|)個(gè)跨接邊組成的最優(yōu)匹配,該(m-|m|)個(gè)跨接邊組成的最優(yōu)匹配為集合z中邊權(quán)最小且不存在沖突關(guān)系的匹配關(guān)系,m∪m1(z)為終端將待構(gòu)建的匹配關(guān)系構(gòu)建為邊權(quán)最小的完整匹配關(guān)系時(shí)的跨接邊集合,cost(m∪m1(z))為該邊權(quán)最小的完整匹配關(guān)系的邊權(quán)。
第一種實(shí)現(xiàn)方式:在待構(gòu)建的匹配關(guān)系中,終端可以通過(guò)naive-lb(naivelowerbound,簡(jiǎn)單的下界)算法預(yù)估待構(gòu)建的匹配關(guān)系的下界。該naive-lb算法包括以下步驟(1-1a)-(1-2a)。
步驟(1-1a):終端獲取集合z中前(m-|m|)個(gè)邊權(quán)最小的跨接邊。
步驟(1-2a):終端通過(guò)以下公式二,計(jì)算該待構(gòu)建的匹配關(guān)系的下界,即naive-lb(m)。
其中,naive-lb(m)為通過(guò)naive-lb算法計(jì)算出的待構(gòu)建的匹配關(guān)系的下界;ei為集合z中的第i個(gè)跨接邊,w(ei)為第i個(gè)跨接邊的邊權(quán),cost(m)為集合m中包括的跨接邊的總邊權(quán),即,待構(gòu)建的匹配關(guān)系中包括的跨接邊的邊權(quán)之和。
第二種實(shí)現(xiàn)方式:在待構(gòu)建的匹配關(guān)系中,終端可以利用已有的km算法預(yù)估待構(gòu)建的匹配關(guān)系的下界。該過(guò)程可以包括以下步驟(1-1b)-(1-3b)。
步驟(1-1b):終端通過(guò)km算法,在集合z中確定出包括(m-|m|)個(gè)跨接邊的邊權(quán)最小的子匹配關(guān)系。
步驟(1-2b):終端桿通過(guò)以下公式三,計(jì)算該待構(gòu)建的匹配關(guān)系的下界,即km-lb(m)。
公式三:km-lb(m)=cost(m)+cost(mkm(z))
其中,km-lb(m)為先通過(guò)km算法確定子匹配關(guān)系,再計(jì)算出的該待構(gòu)建的匹配關(guān)系的下界,mkm(z)為由(m-|m|)個(gè)跨接邊組成的集合,該(m-|m|)個(gè)跨接邊為集合z中邊權(quán)最小的子匹配關(guān)系包括的跨接邊,cost(mkm(z))為集合mkm(z)中跨接邊的邊權(quán)之和,即,該邊權(quán)最小的子匹配關(guān)系的邊權(quán),cost(m)為集合m中包括的跨接邊的總邊權(quán),即,待構(gòu)建的匹配關(guān)系中包括的跨接邊的邊權(quán)之和。
第三種實(shí)現(xiàn)方式:在待構(gòu)建的匹配關(guān)系中,終端可以利用greedy-lb(greedymatchinglowerbound貪心)算法預(yù)估待構(gòu)建的匹配關(guān)系的下界,該過(guò)程可以包括以下步驟(1-1c)-(1-3c)。
步驟(1-1c):終端通過(guò)greedy-lb算法確定(m-|m|)個(gè)跨接邊的邊權(quán)最小的子匹配關(guān)系的近似解mgreedy(z)。
步驟(1-2c):終端通過(guò)以下公式四,計(jì)算該待構(gòu)建的匹配關(guān)系的下界,即greedy-lb(m)。
其中,greedy-lb(m)為通過(guò)greedy-lb算法計(jì)算出的待構(gòu)建的匹配關(guān)系的下界;ei為集合z中的第i個(gè)跨接邊,w(ei)為第i個(gè)跨接邊的邊權(quán),cost(m)為集合m中包括的跨接邊的總邊權(quán),即,待構(gòu)建的匹配關(guān)系中包括的跨接邊的邊權(quán)之和。mgreedy(z)為通過(guò)greedy-lb算法確定出的(m-|m|)個(gè)跨接邊組成邊權(quán)最小的匹配關(guān)系的近似解,cost(mgreedy(z))為集合mgreedy(z)中跨接邊的邊權(quán)之和。
需要說(shuō)明的是,該greedy-lb算法如下:
通過(guò)證明可知,由greedy-lb算法確定出的mgreedy具有二分之一近似比率,即mgreedy和由km算法確定出的mkm(z)滿足:
km算法的時(shí)間復(fù)雜度為三次方,而naive-lb和greedy-lb算法的時(shí)間復(fù)雜度均為線性,因此km算法的計(jì)算開銷遠(yuǎn)大于naive-lb和greedy-lb算法的計(jì)算開銷,而通過(guò)naive-lb算法計(jì)算naive-lb(m)時(shí),集合z中前(m-|m|)個(gè)邊權(quán)最小的跨接邊很有可能存在沖突關(guān)系,導(dǎo)致計(jì)算出的naive-lb(m)不準(zhǔn)確。因此,對(duì)于第三種實(shí)現(xiàn)方式,通過(guò)greedy-lb算法可以更準(zhǔn)確、快速的預(yù)估出的待構(gòu)建的匹配關(guān)系的下界。
需要說(shuō)明的是,此處,我們定義了一個(gè)匹配關(guān)系中發(fā)生沖突的兩個(gè)跨接邊所包括的情況:如果同一個(gè)匹配關(guān)系中的跨接邊e(<vi1,vi2>,pj)和跨接邊e’(<vi1’,vi2’>,pj’)滿足以下條件(1)-(3)中的任意一個(gè),則確定同一個(gè)匹配關(guān)系中的跨接邊e(<vi1,vi2>,pj)和跨接邊e’(<vi1’,vi2’>,pj’)之間存在沖突關(guān)系。
條件(1):vi1和vi1’(或者vi2和vi2’、vi1和vi2’、vi2和vi1’)為同一個(gè)角色為類別或?qū)嶓w的第一關(guān)鍵詞對(duì)應(yīng)的兩個(gè)不同的第二關(guān)鍵詞,即,來(lái)自兩個(gè)跨接邊中的兩個(gè)不同頂點(diǎn)對(duì)應(yīng)同一個(gè)角色為頂點(diǎn)的第一關(guān)鍵詞;
此時(shí),說(shuō)明同一個(gè)匹配關(guān)系中存在將同一個(gè)角色為實(shí)體或類別的第一關(guān)鍵詞對(duì)應(yīng)到了不同第二關(guān)鍵詞的情況,使得終端后續(xù)會(huì)根據(jù)同一個(gè)角色為實(shí)體或類別的第一關(guān)鍵詞對(duì)應(yīng)的不同兩個(gè)第二關(guān)鍵詞進(jìn)行查詢數(shù)據(jù),這會(huì)導(dǎo)致得到的查詢結(jié)果不準(zhǔn)確。
條件(2):pj和pj’為同一個(gè)角色為關(guān)系的第一關(guān)鍵詞對(duì)應(yīng)的兩個(gè)不同的第二關(guān)鍵詞,即,來(lái)自兩個(gè)跨接邊中的兩個(gè)不同關(guān)系邊對(duì)應(yīng)同一個(gè)角色為關(guān)系的第一關(guān)鍵詞;
此時(shí),說(shuō)明同一個(gè)匹配關(guān)系中存在將同一個(gè)角色為關(guān)系的第一關(guān)鍵詞對(duì)應(yīng)到了不同第二關(guān)鍵詞的情況,使得終端后續(xù)會(huì)根據(jù)同一個(gè)角色為關(guān)系的第一關(guān)鍵詞對(duì)應(yīng)的不同兩個(gè)第二關(guān)鍵詞進(jìn)行查詢數(shù)據(jù),這也會(huì)導(dǎo)致得到的查詢結(jié)果不準(zhǔn)確。
條件(3):(vi1=vi1’∧vi2=vi2’)∨pj=pj’,跨接邊e(<vi1,vi2>,pj)一端連接的頂點(diǎn)對(duì)和跨接邊e’(<vi1’,vi2’>,pj’)一端連接的頂點(diǎn)對(duì)相同,或者,跨接邊e(<vi1,vi2>,pj)另一端連接的關(guān)系邊和跨接邊e’(<vi1’,vi2’>,pj’)另一端連接的關(guān)系邊相同,即,跨接邊e(<vi1,vi2>,pj)和跨接邊e’(<vi1’,vi2’>,pj’)有共同的端點(diǎn),該共同的端點(diǎn)可以為一個(gè)相同的頂點(diǎn)對(duì)或者一個(gè)相同的關(guān)系邊。
由于每個(gè)跨接邊均對(duì)應(yīng)一個(gè)預(yù)測(cè)關(guān)系,該預(yù)測(cè)關(guān)系用于預(yù)測(cè)關(guān)鍵詞對(duì)包括的兩個(gè)第二關(guān)鍵詞可以通過(guò)該跨接邊另一端的角色為關(guān)系邊的第二關(guān)鍵詞進(jìn)行連接,此時(shí),如果兩個(gè)跨接邊共端點(diǎn),說(shuō)明在同一個(gè)匹配關(guān)系中,同一個(gè)關(guān)鍵詞對(duì)包括的兩個(gè)第二關(guān)鍵詞可以通過(guò)兩個(gè)不同的角色為關(guān)系邊的第二關(guān)鍵詞進(jìn)行連接,或者,同一個(gè)角色為關(guān)系邊的第二關(guān)鍵詞可以將不同的兩個(gè)頂點(diǎn)對(duì)相連接,這會(huì)使得后續(xù)終端根據(jù)多個(gè)跨接邊生成的查詢圖不準(zhǔn)確,從而導(dǎo)致得到的查詢結(jié)果不準(zhǔn)確。
需要說(shuō)明的是,同一個(gè)匹配關(guān)系中的兩個(gè)跨接邊滿足以上條件(1)-(3)中的任一條件,即說(shuō)明這兩個(gè)跨接邊之間存在沖突關(guān)系,從而導(dǎo)致得到的查詢結(jié)果不準(zhǔn)確。而在本發(fā)明實(shí)施例中,為了提高查詢數(shù)據(jù)的準(zhǔn)確性,同一個(gè)匹配關(guān)系中不允許存在該沖突關(guān)系。因此,本發(fā)明實(shí)施例中所涉及的匹配關(guān)系均為不存在沖突關(guān)系的匹配關(guān)系。
步驟(2):終端獲取隊(duì)列h頭部首個(gè)位置存儲(chǔ)的搜索狀態(tài),根據(jù)該搜索狀態(tài){m,z,cost(m),lb(m)},獲取集合z中邊權(quán)最小的跨接邊,將該跨接邊添加到集合m中,同時(shí),更新該搜索狀態(tài)。
需要說(shuō)明的是,本步驟中,將該搜索狀態(tài){m,z,cost(m),lb(m)}更新為{m’,z’,cost(m’),lb(m’)},其中,集合m中添加了集合z中邊權(quán)最小的一個(gè)跨接邊,更新為集合m’;集合z中減少了一個(gè)邊權(quán)最小的跨接邊,更新為集合z’,同時(shí),終端根據(jù)更新后的m’和z’,重新計(jì)算cost(m’),lb(m’),得到更新后的搜索狀態(tài){m’,z’,cost(m’),lb(m’)}。
需要注意的是,本步驟中,如果集合z中含有多條未匹配的跨接邊,那么每條未匹配的跨接邊都會(huì)產(chǎn)生一個(gè)相應(yīng)的后繼搜索狀態(tài){m’,z’,cost(m’),lb(m’)}。
步驟2042:終端獲取每個(gè)待構(gòu)建的匹配關(guān)系對(duì)應(yīng)的最小邊權(quán);如果該最小邊權(quán)小于該添加后的該選擇的匹配關(guān)系的下界,將該最小邊權(quán)的完整匹配關(guān)系包括的預(yù)設(shè)數(shù)目個(gè)跨接邊作為目標(biāo)跨接邊。
其中,終端獲取每個(gè)待構(gòu)建的匹配關(guān)系對(duì)應(yīng)的最小邊權(quán)的步驟可以為:終端判斷每個(gè)待構(gòu)建的匹配關(guān)系中是否存在完整匹配關(guān)系,如果存在,從每個(gè)待構(gòu)建的匹配關(guān)系中提取每個(gè)完整匹配關(guān)系;將每個(gè)完整匹配關(guān)系中邊權(quán)最小的完整匹配關(guān)系的邊權(quán)作為最小邊權(quán),該完整匹配關(guān)系為包括預(yù)設(shè)數(shù)目個(gè)跨接邊的匹配關(guān)系。
具體的,本步驟可以通過(guò)以下步驟(3)-(6)實(shí)現(xiàn)。
步驟(3):終端判斷隊(duì)列h中更新后的搜索狀態(tài){m’,z’,cost(m’),lb(m’)}對(duì)應(yīng)的匹配關(guān)系是否為完整的匹配關(guān)系。如果該匹配關(guān)系為完整的匹配關(guān)系,執(zhí)行步驟(4);如果該匹配關(guān)系不是完整的匹配關(guān)系,執(zhí)行步驟(5)。
此處,終端將預(yù)設(shè)數(shù)目個(gè)跨接邊構(gòu)建為一個(gè)匹配關(guān)系,且每個(gè)匹配關(guān)系均滿足:每個(gè)匹配關(guān)系包括的預(yù)設(shè)數(shù)目個(gè)跨接邊之間不存在沖突關(guān)系。
本步驟中的完整的匹配關(guān)系為包括了預(yù)設(shè)數(shù)目個(gè)跨接邊的匹配關(guān)系;不完整的匹配關(guān)系為包括的跨接邊數(shù)目小于預(yù)設(shè)數(shù)目匹配關(guān)系,即,終端正在將該匹配關(guān)系對(duì)應(yīng)的集合z中的跨接邊,構(gòu)建到該不完整的匹配關(guān)系中。
步驟(4):如果該匹配關(guān)系為完整的匹配關(guān)系,將該匹配關(guān)系對(duì)應(yīng)的搜索狀態(tài)移出隊(duì)列h,并判斷該匹配關(guān)系的cost(m’)是否小于θ,如果cost(m’)小于θ,將θ更新為cost(m’),同時(shí),最優(yōu)匹配mopt=m’,如果cost(m’)不小于θ,不更新θ。
需要說(shuō)明的是,θ記錄了當(dāng)前完整的匹配關(guān)系中,邊權(quán)最小的匹配關(guān)系的邊權(quán)。每當(dāng)構(gòu)建一個(gè)完整的匹配關(guān)系時(shí),終端會(huì)根據(jù)該新構(gòu)建成的完整匹配關(guān)系,實(shí)時(shí)更新θ。初始狀態(tài)時(shí),終端將θ設(shè)置為∞,同時(shí),最優(yōu)匹配mopt=φ。
步驟(5):判斷θ是否小于該匹配關(guān)系中的lb(m’),如果θ小于lb(m’),將最優(yōu)匹配mopt對(duì)應(yīng)的匹配關(guān)系作為目標(biāo)匹配關(guān)系,輸出mopt。結(jié)束。
需要說(shuō)明的是,由步驟(1)可知,對(duì)于每一個(gè)待構(gòu)建的匹配關(guān)系,lb(m’)﹤cost(m’),cost(m’)為終端將該不完整的匹配關(guān)系構(gòu)建為完整的匹配關(guān)系時(shí)實(shí)際達(dá)到的邊權(quán),lb(m’)對(duì)應(yīng)的匹配關(guān)系為隊(duì)列h中下界最小匹配關(guān)系,即隊(duì)列h中當(dāng)前的最優(yōu)待構(gòu)建匹配,而θ為已構(gòu)建的完整匹配關(guān)系中的最優(yōu)匹配,如果θ﹤lb(m’),則有:θ﹤lb(m’)﹤cost(m’),即,完整匹配關(guān)系中的最優(yōu)匹配的邊權(quán)小于隊(duì)列h中當(dāng)前的最優(yōu)待構(gòu)建匹配的邊權(quán),由此可見,與隊(duì)列h中當(dāng)前的最優(yōu)待構(gòu)建匹配的邊權(quán)相比,完整匹配關(guān)系中的最優(yōu)匹配為目標(biāo)匹配關(guān)系,因此,輸出mopt即可。
步驟2043:如果所述最小邊權(quán)不小于所述添加后的所述選擇的匹配關(guān)系的下界,終端重新從所述每個(gè)待構(gòu)建的匹配關(guān)系中選擇滿足預(yù)設(shè)條件的待構(gòu)建的匹配關(guān)系;執(zhí)行將所述選擇的匹配關(guān)系對(duì)應(yīng)的邊權(quán)最小的跨接邊添加到所述選擇的匹配關(guān)系中的步驟。
具體的,本步驟可以通過(guò)以下步驟(6)-(7)實(shí)現(xiàn)。
步驟(6):如果θ不小于lb(m’),終端對(duì)隊(duì)列h中存儲(chǔ)的搜索狀態(tài)重新進(jìn)行升序排列,執(zhí)行步驟(2)。
步驟(7):終端判斷隊(duì)列h中存儲(chǔ)的搜索狀態(tài)的數(shù)目是否減為0,當(dāng)隊(duì)列h中存儲(chǔ)的搜索狀態(tài)數(shù)目減為0時(shí),獲取θ對(duì)應(yīng)的最優(yōu)匹配mopt,輸出mopt。結(jié)束。當(dāng)隊(duì)列h中存儲(chǔ)的搜索狀態(tài)數(shù)目不為0時(shí),執(zhí)行步驟(2)。
需要說(shuō)明的是,當(dāng)隊(duì)列h中存儲(chǔ)的搜索狀態(tài)數(shù)目減為0時(shí),終端確定了所有可能存在的匹配關(guān)系的邊權(quán),因此,終端直接將θ對(duì)應(yīng)的最優(yōu)匹配作為目標(biāo)匹配關(guān)系,輸出mopt,結(jié)束。
如圖5所示,在關(guān)鍵詞對(duì)和關(guān)系邊之間確定的跨接邊包括:(<v1,v2>,p11)(<v1,v2>,p12)、(<v1,v2>,p21)、(<v1,v2>,p22)、(<v1,v31>,p11)、(<v1,v31>,p12)(<v1,v31>,p21)、(<v1,v31>,p22)、(<v1,v32>,p11)、(<v1,v32>,p12)(<v1,v32>,p21)、(<v1,v32>,p22)、(<v2,v31>,p11)、(<v2,v31>,p12)(<v2,v31>,p21)、(<v2,v31>,p22)、(<v2,v32>,p11)、(<v2,v32>,p12)(<v2,v32>,p21)、(<v2,v32>,p22)。終端通過(guò)以上步驟確定每個(gè)跨接邊的邊權(quán),并選擇出的2個(gè)邊權(quán)最小的且不存在沖突關(guān)系的目標(biāo)跨接邊為:e1(<v1,v2>,p11)和e2(<v2,v32>,p21)。
本發(fā)明實(shí)施例中,為了提高本發(fā)明實(shí)施例的準(zhǔn)確率,終端根據(jù)該每個(gè)跨接邊的邊權(quán),選擇邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊之后,還可以通過(guò)以下步驟,生成該預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊對(duì)應(yīng)的目標(biāo)拼接圖,并檢測(cè)該目標(biāo)拼接圖中是否存在間斷頂點(diǎn),從而對(duì)該目標(biāo)拼接圖進(jìn)行修正。該過(guò)程可以為:根據(jù)邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,生成目標(biāo)拼接圖,該目標(biāo)拼接圖包括每個(gè)角色為頂點(diǎn)的第二關(guān)鍵詞對(duì)應(yīng)的每個(gè)頂點(diǎn)和每個(gè)角色為關(guān)系邊的第二關(guān)鍵詞對(duì)應(yīng)的每個(gè)關(guān)系邊,每個(gè)頂點(diǎn)通過(guò)每個(gè)關(guān)系邊相連接;檢測(cè)目標(biāo)拼接圖中是否存在間斷頂點(diǎn),如果目標(biāo)拼接圖中存在間斷頂點(diǎn),修正目標(biāo)拼接圖,間斷頂點(diǎn)為該目標(biāo)拼接圖中除首位位置頂點(diǎn)和末位位置頂點(diǎn)外,不與兩個(gè)頂點(diǎn)相連接的頂點(diǎn)。
需要說(shuō)明的是,由步驟203可知,在一個(gè)拼接圖中,頂點(diǎn)對(duì)和關(guān)系邊通過(guò)跨接邊相關(guān)聯(lián),因此,每個(gè)頂點(diǎn)對(duì)可以通過(guò)與之相關(guān)聯(lián)的關(guān)系邊連接,從而所有的頂點(diǎn)對(duì)之間均可通過(guò)關(guān)系邊相連接。
終端可以根據(jù)預(yù)設(shè)數(shù)目個(gè)跨接邊連接的第二關(guān)鍵詞的角色,將角色為頂點(diǎn)的第二關(guān)鍵詞作為頂點(diǎn),將角色為關(guān)系邊的第二關(guān)鍵詞作為關(guān)系邊,將頂點(diǎn)和關(guān)系邊構(gòu)建到拼接圖中。其中,一個(gè)合理的目標(biāo)拼接圖中,需滿足合理?xiàng)l件:除位于首位位置的頂點(diǎn)和末位位置的頂點(diǎn)外,其它頂點(diǎn)兩端分別通過(guò)一個(gè)關(guān)系邊與另一個(gè)頂點(diǎn)相連接。
然而,如果用戶輸入查詢信息時(shí),如果漏輸或省略了角色為關(guān)系的第一關(guān)鍵詞,從而導(dǎo)致拼接圖中存在中間位置的頂點(diǎn)沒有對(duì)應(yīng)的關(guān)系邊與兩個(gè)頂點(diǎn)相連接,即,該目標(biāo)拼接圖不滿足此合理?xiàng)l件,該目標(biāo)拼接圖中存在間斷頂點(diǎn),此時(shí),需要對(duì)該目標(biāo)拼接圖進(jìn)行修正。
此處,將與該間斷頂點(diǎn)相連接的其它頂點(diǎn)以及頂點(diǎn)之間的關(guān)系邊組成的部分拼接圖稱為該目標(biāo)拼接圖中的一個(gè)不連通的分量。
此時(shí),終端可以通過(guò)在兩個(gè)不連通的分量之間確定邊權(quán)最小的跨接邊,將這兩個(gè)不連通的分量相連接,該過(guò)程可以為:終端遍歷出第一不連通的分量和第二不連通的分量之間存在的頂點(diǎn)對(duì)。對(duì)于每個(gè)頂點(diǎn)對(duì),終端確定該頂點(diǎn)對(duì)可能對(duì)應(yīng)的至少一個(gè)關(guān)系邊,并在該頂點(diǎn)對(duì)和關(guān)系邊之間確定至少一個(gè)跨接邊,在該至少一個(gè)跨接邊中確定邊權(quán)最小的跨接邊,根據(jù)該邊權(quán)最小的跨接邊,將第一分量和第二分量進(jìn)行連接。
然后,終端根據(jù)該預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,通過(guò)以下步驟205,確定查詢圖。
步驟205:終端根據(jù)該預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,確定查詢圖,該查詢圖包括關(guān)鍵詞集合中的每個(gè)第三關(guān)鍵詞和每個(gè)第三關(guān)鍵詞之間的連接關(guān)系,該關(guān)鍵詞集合由每個(gè)目標(biāo)跨接邊包括的頂點(diǎn)和關(guān)系邊對(duì)應(yīng)的第二關(guān)鍵詞組成。
由步驟205可知,該預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊關(guān)聯(lián)的關(guān)鍵詞對(duì)和角色為關(guān)系邊的第二關(guān)鍵詞分別對(duì)應(yīng)目標(biāo)拼接圖中的頂點(diǎn)和關(guān)系邊,終端可以根據(jù)該目標(biāo)拼接圖包括的頂點(diǎn)和關(guān)系邊,確定查詢圖;其中,目標(biāo)拼接圖中只是將頂點(diǎn)對(duì)中的頂點(diǎn)通過(guò)關(guān)系邊相連接,本步驟中,還需確定目標(biāo)拼接圖中的關(guān)系邊的方向。
由步驟204可知,終端可以根據(jù)第二預(yù)設(shè)算法,編碼每個(gè)跨接邊連接的第二關(guān)鍵詞,得到角色為頂點(diǎn)的第二關(guān)鍵詞對(duì)應(yīng)的頂點(diǎn)向量和角色為關(guān)系邊的第二關(guān)鍵詞對(duì)應(yīng)的關(guān)系邊向量,因此,在一個(gè)跨接邊e(<vi1,vi2>,pj)中,vi1、vi2、pj對(duì)應(yīng)的向量分別為
其中,k為參考量,如果k小于零,確定
本步驟中,將該查詢圖包括的關(guān)鍵詞稱為第三關(guān)鍵詞,該第三關(guān)鍵詞角色為類別、實(shí)體和關(guān)系,該查詢圖包括的第三關(guān)鍵詞為預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊關(guān)聯(lián)的頂點(diǎn)和關(guān)系邊對(duì)應(yīng)的第二關(guān)鍵詞。終端根據(jù)目標(biāo)拼接圖以及目標(biāo)拼接圖中關(guān)系邊的方向,確定查詢圖,該過(guò)程可以為:終端將目標(biāo)拼接圖中關(guān)系邊對(duì)應(yīng)的第二關(guān)鍵詞作為查詢圖中的關(guān)系邊,將目標(biāo)拼接圖中的頂點(diǎn)對(duì)應(yīng)的第二關(guān)鍵詞作為查詢圖中的頂點(diǎn),詳細(xì)地,根據(jù)頂點(diǎn)中角色為類別的第一關(guān)鍵詞對(duì)應(yīng)的頂點(diǎn),引入該類別角色的頂點(diǎn)對(duì)應(yīng)的變量頂點(diǎn),并通過(guò)定義一條類別角色的關(guān)系邊一端連接該變量頂點(diǎn),該關(guān)系邊另一端連接該類別角色的第一關(guān)鍵詞對(duì)應(yīng)的頂點(diǎn);將頂點(diǎn)中角色為實(shí)體的第一關(guān)鍵詞對(duì)應(yīng)的頂點(diǎn)作為常量頂點(diǎn),即實(shí)體角色的頂點(diǎn)。從而確定該查詢圖包括的第三關(guān)鍵詞以及第三關(guān)鍵詞的角色,終端通過(guò)關(guān)系邊以及關(guān)系邊的方向,將頂點(diǎn)對(duì)之間的頂點(diǎn)相連接,即,通過(guò)角色為關(guān)系的第三關(guān)鍵詞,將角色為實(shí)體或類別的第三關(guān)鍵詞相連接,并根據(jù)該角色為關(guān)系的第三關(guān)鍵詞對(duì)應(yīng)的關(guān)系邊的方向,確定每個(gè)第三關(guān)鍵詞之間的關(guān)系,從而確定查詢圖。
例如,如圖6所示,根據(jù)目標(biāo)跨接邊:e1(<v1,v2>,p11)和e2(<v2,v32>,p21),通過(guò)公式五計(jì)算出每個(gè)跨接邊對(duì)應(yīng)的常量k,確定
然后,終端根據(jù)該查詢圖,通過(guò)以下步驟106,在數(shù)據(jù)圖中查詢?cè)摬樵儓D對(duì)應(yīng)的查詢數(shù)據(jù)。
步驟206:終端從該數(shù)據(jù)圖中查詢?cè)摬樵儓D對(duì)應(yīng)的查詢數(shù)據(jù),輸出該查詢數(shù)據(jù)。
本公開實(shí)施例中,由于已經(jīng)將用戶輸入的查詢信息中的每個(gè)單詞對(duì)應(yīng)的查詢意圖的進(jìn)行分析,從而生成查詢圖,然后,直接將該查詢圖中的頂點(diǎn)或關(guān)系邊對(duì)應(yīng)的第三關(guān)鍵詞和第三關(guān)鍵詞的連接關(guān)系,生成目標(biāo)查詢指令,從而在該數(shù)據(jù)圖中確定查詢數(shù)據(jù)。無(wú)需將用戶輸入的查詢信息中的每個(gè)單詞對(duì)應(yīng)到該數(shù)據(jù)圖中,更無(wú)需根據(jù)每個(gè)單詞在該數(shù)據(jù)圖中對(duì)應(yīng)的關(guān)鍵詞尋找生成樹,因此,相比現(xiàn)有技術(shù),本公開提供的數(shù)據(jù)查詢的方法極大的提高了查詢效率。
本步驟中,終端從該數(shù)據(jù)圖中查詢?cè)摬樵儓D對(duì)應(yīng)的查詢數(shù)據(jù)的步驟可以包括以下步驟2061-2062。
步驟2061:終端根據(jù)該查詢圖中包括的該每個(gè)第三關(guān)鍵詞和該每個(gè)第三關(guān)鍵詞之間的連接關(guān)系,生成目標(biāo)查詢指令,該目標(biāo)查詢指令為在該數(shù)據(jù)圖中可識(shí)別查詢指令。
本步驟中,終端通過(guò)將該查詢圖轉(zhuǎn)換為目標(biāo)查詢指令,從而在數(shù)據(jù)圖中進(jìn)行查詢。
終端根據(jù)該查詢圖中的每個(gè)第三關(guān)鍵詞的角色,將角色為類別的該第三關(guān)鍵詞作為變量關(guān)鍵詞,將角色為實(shí)體的該第三關(guān)鍵詞作為常量關(guān)鍵詞。終端根據(jù)該變量關(guān)鍵詞、該常量關(guān)鍵詞以及角色為關(guān)系的第三關(guān)鍵詞,生成該目標(biāo)查詢指令。
其中,該目標(biāo)查詢指令可以為sparql(simpleprotocolandrdfquerylanguage,rdf查詢語(yǔ)言和數(shù)據(jù)獲取協(xié)議)查詢對(duì)應(yīng)的查詢指令,還可以為其它將該查詢圖轉(zhuǎn)換為在數(shù)據(jù)圖進(jìn)行查詢的其它任一查詢指令,本公開實(shí)施例對(duì)此不作具體限定。
例如,圖6中的查詢圖對(duì)應(yīng)的sparql查詢指令可以為:
selectdistinct?x?ywhere{
?x:type:scientist.
?y:type:university.
?x:almamater:?y.
?y:country:unitied_states.
}
步驟2062:終端根據(jù)該目標(biāo)查詢指令,在該數(shù)據(jù)圖中確定出該目標(biāo)查詢指令對(duì)應(yīng)的查詢數(shù)據(jù)。
本步驟中,該目標(biāo)查詢指令為查詢工具可識(shí)別的指令,終端通過(guò)查詢工具,執(zhí)行該目標(biāo)查詢指令,將執(zhí)行該目標(biāo)查詢指令得到的數(shù)據(jù)作為查詢數(shù)據(jù),從而確定出該目標(biāo)查詢指令在數(shù)據(jù)圖中對(duì)應(yīng)的查詢數(shù)據(jù)。
其中,該查詢工具可以為sparql查詢引擎,此時(shí),終端直接通過(guò)該sparql查詢引擎執(zhí)行查詢圖對(duì)應(yīng)的sparql查詢指令,將執(zhí)行該sparql查詢指令得到的數(shù)據(jù)作為查詢數(shù)據(jù)。
然后,終端將該查詢數(shù)據(jù)顯示在終端屏幕上,使得用戶瀏覽到所需的查詢數(shù)據(jù)。
本發(fā)明實(shí)施例中,終端獲取用戶輸入的查詢信息,通過(guò)對(duì)查詢信息分詞得到第一關(guān)鍵詞,從而將查詢信息分成多個(gè)表示不同語(yǔ)義的第一關(guān)鍵詞;終端從數(shù)據(jù)圖中選擇每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞和角色,得到每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,即確定出不同語(yǔ)義的第一關(guān)鍵詞在數(shù)據(jù)圖中對(duì)應(yīng)的第二關(guān)鍵詞;然后,終端根據(jù)每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)跨接邊以及每個(gè)跨接邊的邊權(quán),并根據(jù)每個(gè)跨接邊的邊權(quán),選擇邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,從而使得查詢信息對(duì)應(yīng)的關(guān)鍵詞對(duì)和關(guān)系邊角色的第二關(guān)鍵詞通過(guò)該邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)跨接邊相關(guān)聯(lián);終端根據(jù)該預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,確定查詢圖,該查詢圖包括了關(guān)鍵詞集合包括的第三關(guān)鍵詞以及每個(gè)第三關(guān)鍵詞的連接關(guān)系,該關(guān)鍵詞集合為終端表示用戶查詢意圖的第一關(guān)鍵詞確定,因此,終端將用戶的查詢意圖構(gòu)建到該查詢圖中,終端直接從數(shù)據(jù)圖中查詢查詢圖對(duì)應(yīng)的查詢數(shù)據(jù),輸出查詢數(shù)據(jù),使得用戶獲知所需的查詢數(shù)據(jù)。由于終端將查詢信息分成多個(gè)表示不同語(yǔ)義的第一關(guān)鍵詞,根據(jù)多個(gè)不同語(yǔ)義的第一關(guān)鍵詞,從而使得終端可以準(zhǔn)確分析出用戶的查詢意圖,然后,根據(jù)用戶的查詢意圖,確定該第一關(guān)鍵詞在數(shù)據(jù)圖中對(duì)應(yīng)的第二關(guān)鍵詞,通過(guò)在第二關(guān)鍵詞對(duì)和關(guān)系邊角色的第二關(guān)鍵詞之間確定跨接邊,并計(jì)算跨接邊的邊權(quán),從而構(gòu)建出可以準(zhǔn)確表達(dá)用戶查詢意圖的查詢圖,使得終端可以根據(jù)該查詢圖,從數(shù)據(jù)圖中查詢用戶所需的查詢數(shù)據(jù),從而提高了數(shù)據(jù)查詢的準(zhǔn)確率。
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)查詢的裝置,該裝置可以應(yīng)用在終端中,參見圖7,該裝置包括:
獲取模塊301,用于獲取用戶輸入的查詢信息,對(duì)該查詢信息進(jìn)行分詞得到第一關(guān)鍵詞;
第一選擇模塊302,用于根據(jù)每個(gè)第一關(guān)鍵詞,從數(shù)據(jù)圖中選擇每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞和角色,得到每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,該數(shù)據(jù)圖中包括多個(gè)候選關(guān)鍵詞和每個(gè)候選關(guān)鍵詞的角色,該第二關(guān)鍵詞的角色為頂點(diǎn)或關(guān)系邊;
第一確定模塊303,用于根據(jù)每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)跨接邊,每個(gè)跨接邊連接角色為頂點(diǎn)的任意兩個(gè)第二關(guān)鍵詞和角色為關(guān)系邊的任意一個(gè)第二關(guān)鍵詞;
第二確定模塊304,用于確定每個(gè)跨接邊的邊權(quán);
第二選擇模塊305,用于根據(jù)每個(gè)跨接邊的邊權(quán),選擇邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊;
第三確定模塊306,用于根據(jù)該預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,確定查詢圖,該查詢圖包括關(guān)鍵詞集合中的每個(gè)第三關(guān)鍵詞和每個(gè)第三關(guān)鍵詞之間的連接關(guān)系,該關(guān)鍵詞集合由每個(gè)目標(biāo)跨接邊包括的頂點(diǎn)和關(guān)系邊對(duì)應(yīng)的第二關(guān)鍵詞組成;
查詢模塊307,用于從該數(shù)據(jù)圖中查詢?cè)摬樵儓D對(duì)應(yīng)的查詢數(shù)據(jù),輸出該查詢數(shù)據(jù)。
在一種可能的設(shè)計(jì)中,該第一確定模塊303,包括:
第一確定單元,用于根據(jù)每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)關(guān)鍵詞對(duì),每個(gè)關(guān)鍵詞對(duì)包括角色為實(shí)體或類別的兩個(gè)該第一關(guān)鍵詞各自對(duì)應(yīng)的一個(gè)第二關(guān)鍵詞;
第二確定單元,用于分別在角色為關(guān)系邊的第二關(guān)鍵詞和該至少一個(gè)關(guān)鍵詞對(duì)之間確定該至少一個(gè)跨接邊。
在一種可能的設(shè)計(jì)中,該第二確定模塊304,包括:
編碼單元,用于根據(jù)第二預(yù)設(shè)算法,編碼每個(gè)跨接邊連接的第二關(guān)鍵詞,得到頂點(diǎn)向量和關(guān)系邊向量,該頂點(diǎn)向量為角色為頂點(diǎn)的第二關(guān)鍵詞對(duì)應(yīng)的向量,該關(guān)系邊向量為角色為關(guān)系邊的第二關(guān)鍵詞對(duì)應(yīng)的向量;
計(jì)算單元,用于根據(jù)每個(gè)跨接邊對(duì)應(yīng)的該頂點(diǎn)向量和該關(guān)系邊向量,計(jì)算每個(gè)跨接邊的邊權(quán)。
在一種可能的設(shè)計(jì)中,預(yù)設(shè)數(shù)目個(gè)跨接邊對(duì)應(yīng)一個(gè)匹配關(guān)系,該第二選擇模塊305,包括:
生成單元,用于根據(jù)每個(gè)跨接邊,生成每個(gè)待構(gòu)建的匹配關(guān)系,該待構(gòu)建的匹配關(guān)系為包括的跨接邊數(shù)目小于預(yù)設(shè)數(shù)目的匹配關(guān)系;
選擇單元,用于根據(jù)每個(gè)待構(gòu)建的匹配關(guān)系包括的跨接邊,從每個(gè)待構(gòu)建的匹配關(guān)系中選擇待構(gòu)建的匹配關(guān)系,將該選擇的匹配關(guān)系對(duì)應(yīng)的邊權(quán)最小的跨接邊添加到該選擇的匹配關(guān)系中;
預(yù)估單元,用于預(yù)估添加后的該選擇的匹配關(guān)系的下界,該匹配關(guān)系的下界為終端預(yù)估將每個(gè)待構(gòu)建的匹配關(guān)系構(gòu)建為完整匹配關(guān)系時(shí)的最小邊權(quán);
獲取單元,用于獲取每個(gè)待構(gòu)建的匹配關(guān)系對(duì)應(yīng)的最小邊權(quán);
作為單元,用于如果該最小邊權(quán)小于該添加后的該選擇的匹配關(guān)系的下界,將該最小邊權(quán)的完整匹配關(guān)系包括的預(yù)設(shè)數(shù)目個(gè)跨接邊作為目標(biāo)跨接邊。
在一種可能的設(shè)計(jì)中,其特征在于,
該第二選擇模塊305,還用于如果該最小邊權(quán)不小于該添加后的該選擇的匹配關(guān)系的下界,重新從每個(gè)待構(gòu)建的匹配關(guān)系中選擇滿足預(yù)設(shè)條件的待構(gòu)建的匹配關(guān)系;將該選擇的匹配關(guān)系對(duì)應(yīng)的邊權(quán)最小的跨接邊添加到該選擇的匹配關(guān)系中。
在一種可能的設(shè)計(jì)中,其特征在于,
該取單元,還用于判斷每個(gè)待構(gòu)建的匹配關(guān)系中是否存在完整匹配關(guān)系,如果存在,從每個(gè)待構(gòu)建的匹配關(guān)系中提取每個(gè)完整匹配關(guān)系;將每個(gè)完整匹配關(guān)系中邊權(quán)最小的完整匹配關(guān)系的邊權(quán)作為最小邊權(quán),該完整匹配關(guān)系為包括預(yù)設(shè)數(shù)目個(gè)跨接邊的匹配關(guān)系。
在一種可能的設(shè)計(jì)中,其特征在于,
該預(yù)估單元,還用于獲取該添加后的該選擇的匹配關(guān)系的邊權(quán),該添加后的該選擇的匹配關(guān)系為該添加后的該選擇的匹配關(guān)系中當(dāng)前包括的跨接邊的邊權(quán)之和;根據(jù)第三預(yù)設(shè)算法以及該添加后的該選擇的匹配關(guān)系的邊權(quán),確定該添加后的該選擇的匹配關(guān)系的下界。
本發(fā)明實(shí)施例中,終端獲取用戶輸入的查詢信息,通過(guò)對(duì)查詢信息分詞得到第一關(guān)鍵詞,從而將查詢信息分成多個(gè)表示不同語(yǔ)義的第一關(guān)鍵詞;終端從數(shù)據(jù)圖中選擇每個(gè)第一關(guān)鍵詞對(duì)應(yīng)的第二關(guān)鍵詞和角色,得到每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,即確定出不同語(yǔ)義的第一關(guān)鍵詞在數(shù)據(jù)圖中對(duì)應(yīng)的第二關(guān)鍵詞;然后,終端根據(jù)每個(gè)第二關(guān)鍵詞和每個(gè)第二關(guān)鍵詞的角色,確定至少一個(gè)跨接邊以及每個(gè)跨接邊的邊權(quán),并根據(jù)每個(gè)跨接邊的邊權(quán),選擇邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,從而使得查詢信息對(duì)應(yīng)的關(guān)鍵詞對(duì)和關(guān)系邊角色的第二關(guān)鍵詞通過(guò)該邊權(quán)最小的預(yù)設(shè)數(shù)目個(gè)跨接邊相關(guān)聯(lián);終端根據(jù)該預(yù)設(shè)數(shù)目個(gè)目標(biāo)跨接邊,確定查詢圖,該查詢圖包括了關(guān)鍵詞集合包括的第三關(guān)鍵詞以及每個(gè)第三關(guān)鍵詞的連接關(guān)系,該關(guān)鍵詞集合為終端表示用戶查詢意圖的第一關(guān)鍵詞確定,因此,終端將用戶的查詢意圖構(gòu)建到該查詢圖中,終端直接從數(shù)據(jù)圖中查詢查詢圖對(duì)應(yīng)的查詢數(shù)據(jù),輸出查詢數(shù)據(jù)。由于終端將查詢信息分成多個(gè)表示不同語(yǔ)義的第一關(guān)鍵詞,根據(jù)多個(gè)不同語(yǔ)義的第一關(guān)鍵詞,從而使得終端可以準(zhǔn)確劃分出用戶的查詢意圖包括的多個(gè)語(yǔ)義,然后,確定該第一關(guān)鍵詞在數(shù)據(jù)圖中對(duì)應(yīng)的第二關(guān)鍵詞,通過(guò)在第二關(guān)鍵詞對(duì)和關(guān)系邊角色的第二關(guān)鍵詞之間確定跨接邊,并計(jì)算跨接邊的邊權(quán),從而構(gòu)建出可以準(zhǔn)確表達(dá)用戶查詢意圖的查詢圖,使得終端可以根據(jù)該查詢圖,從數(shù)據(jù)圖中查詢用戶所需的查詢數(shù)據(jù),從而提高了數(shù)據(jù)查詢的準(zhǔn)確率。
需要說(shuō)明的是:上述實(shí)施例提供的數(shù)據(jù)查詢的裝置在數(shù)據(jù)查詢時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的數(shù)據(jù)查詢的裝置與數(shù)據(jù)查詢的方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見方法實(shí)施例,這里不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。