模塊具體用于執(zhí)行以下處理: 將各規(guī)則的推理結(jié)果與其它規(guī)則的條件進(jìn)行匹配判斷; 如果第一規(guī)則的推理結(jié)果與第二規(guī)則的條件匹配,則在構(gòu)建的用于表示所述規(guī)則依賴關(guān)系的有向無環(huán)圖中建立從所述第一規(guī)則指向所述第二規(guī)則的邊; 其中,所述第一規(guī)則和所述第二規(guī)則用于表示所述知識庫的規(guī)則中的任一規(guī)則。9.如權(quán)利要求8所述的數(shù)據(jù)處理裝置,其特征在于,還包括: 第一順序模塊,用于根據(jù)拓?fù)渑判蛩惴▽λ鲇邢驘o環(huán)圖進(jìn)行拓?fù)渑判?,確定在知識庫推理過程中各規(guī)則的調(diào)度順序。10.如權(quán)利要求7所述的數(shù)據(jù)處理裝置,其特征在于,還包括: 第二順序模塊,用于根據(jù)所述規(guī)則依賴關(guān)系確定在知識庫推理過程中各規(guī)則的調(diào)度順序。11.一種知識庫推理裝置,其特征在于,該推理裝置包括: 如權(quán)利要求7或8所述的數(shù)據(jù)處理裝置; 順序模塊,用于根據(jù)所述規(guī)則依賴關(guān)系確定在知識庫推理過程中各規(guī)則的調(diào)度順序; 推理模塊,用于根據(jù)確定的各規(guī)則的調(diào)度順序?qū)λ鲋R庫進(jìn)行知識庫推理。12.如權(quán)利要求11所述的推理裝置,其特征在于,還包括: 去重模塊,用于在所述推理模塊進(jìn)行知識庫推理的過程中進(jìn)行去重處理,包括: 在每個執(zhí)行推理的MapReduce作業(yè)結(jié)束后進(jìn)行所述去重處理,或,在每一輪規(guī)則迭代之后進(jìn)行所述去重處理,或,在確定不產(chǎn)生新的推理結(jié)果之后進(jìn)行所述去重處理。13.—種應(yīng)用于知識庫推理的數(shù)據(jù)處理方法,其特征在于,所述方法包括: 采用以下方式存儲所述知識庫中的數(shù)據(jù): 根據(jù)預(yù)設(shè)的分類策略將所述知識庫中的數(shù)據(jù)分類; 根據(jù)各類數(shù)據(jù)的數(shù)據(jù)量確定第一數(shù)據(jù)和第二數(shù)據(jù),其中,所述第一數(shù)據(jù)用于作為MapReduce任務(wù)的輸入,所述第二數(shù)據(jù)用于在所述MapReduce任務(wù)的歸約Reduce階段參與知識庫推理,所述MapReduce任務(wù)用于根據(jù)所述第一數(shù)據(jù)和第二數(shù)據(jù)進(jìn)行數(shù)據(jù)庫推理;將所述第一數(shù)據(jù)存儲至硬盤,將所述第二數(shù)據(jù)存儲至內(nèi)存。14.如權(quán)利要求13所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)的分類策略將所述知識庫中的數(shù)據(jù)分類,包括: 根據(jù)所述知識庫中各數(shù)據(jù)的謂詞類型將所述知識庫中的數(shù)據(jù)分類存放于相應(yīng)的輸入文件中。15.如權(quán)利要求13所述的方法,其特征在于,根據(jù)各類數(shù)據(jù)的數(shù)據(jù)量確定第一數(shù)據(jù)和第二數(shù)據(jù),包括: 根據(jù)各類數(shù)據(jù)的數(shù)據(jù)量進(jìn)行判斷,將各類數(shù)據(jù)中數(shù)據(jù)量最大的那類數(shù)據(jù)作為所述第一數(shù)據(jù),其余的數(shù)據(jù)作為所述第二數(shù)據(jù)。16.如權(quán)利要求13-15中任一項所述的方法,其特征在于,所述MapReduce任務(wù)用于根據(jù)所述第一數(shù)據(jù)和第二數(shù)據(jù)進(jìn)行數(shù)據(jù)庫推理,包括: 在所述MapReduce任務(wù)的映射Map階段,輸入所述第一數(shù)據(jù)并生成分類表不所述第一數(shù)據(jù)的key-value對; 在所述MapReduce任務(wù)的歸約Reduce階段,根據(jù)輸入到各Reduce節(jié)點的key-value對和所述第二數(shù)據(jù)進(jìn)行知識庫推理; 其中,分類表示所述第一數(shù)據(jù)的key-value對包括:以所述第一數(shù)據(jù)中的數(shù)據(jù)的客體、謂詞或主體為key,以所述第一數(shù)據(jù)中的數(shù)據(jù)為value的key-value對。17.如權(quán)利要求13-15中任一項所述的方法,其特征在于,將所述第二數(shù)據(jù)存儲至內(nèi)存包括: 將所述第二數(shù)據(jù)讀入至執(zhí)行所述MapReduce任務(wù)的各Reduce節(jié)點的內(nèi)存中,并生成分類表示所述第二數(shù)據(jù)的key-vakue對; 其中,分類表示所述第二數(shù)據(jù)的key-value對包括:以所述第二數(shù)據(jù)中的數(shù)據(jù)的客體、謂詞或主體為key,以所述第二數(shù)據(jù)中的數(shù)據(jù)為value的key-value對。18.—種知識庫推理方法,其特征在于,所述方法包括: 從硬盤讀取第一數(shù)據(jù)作為MapReduce任務(wù)的輸入并執(zhí)行所述MapReduce任務(wù); 在所述MapReduce任務(wù)的映射Map階段,生成分類表示所述第一數(shù)據(jù)的key-value對;在所述MapReduce任務(wù)的歸約Reduce階段,根據(jù)輸入到各Reduce節(jié)點的key-value對和內(nèi)存中的第二數(shù)據(jù)進(jìn)行知識庫推理; 其中,所述第一數(shù)據(jù)和第二數(shù)據(jù)是采用如權(quán)利要求13-17中任一項所述的方法處理知識庫中的數(shù)據(jù)后得到的第一數(shù)據(jù)和第二數(shù)據(jù)。19.如權(quán)利要求18所述的方法,其特征在于,生成分類表示所述第一數(shù)據(jù)的key-value對,包括: 生成以所述第一數(shù)據(jù)中的數(shù)據(jù)的客體、謂詞或主體為key,以所述第一數(shù)據(jù)中的數(shù)據(jù)為value 的 key-value 對。20.如權(quán)利要求18所述的方法,其特征在于, 所述根據(jù)輸入到各Reduce節(jié)點的key-value對和內(nèi)存中的第二數(shù)據(jù)進(jìn)行知識庫推理,包括:在各Reduce節(jié)點,根據(jù)輸入到該Reduce節(jié)點的key-value對的key和在該Reduce節(jié)點的內(nèi)存中的分類表示所述第二數(shù)據(jù)的key-value對的key進(jìn)行匹配判斷,如果匹配成功,則進(jìn)行連接處理得到推理結(jié)果; 其中, 所述輸入到該Reduce節(jié)點的key-value對包括:根據(jù)key對分類表示所述第一數(shù)據(jù)的key-value對合并后得到的key-value對, 分類表示所述第二數(shù)據(jù)的key-value對包括:以所述第二數(shù)據(jù)中的數(shù)據(jù)的客體、謂詞或主體為key,以所述第二數(shù)據(jù)中的數(shù)據(jù)為value的key-value對。21.如權(quán)利要求18-20中任一項所述的方法,其特征在于,所述方法還包括: 在進(jìn)行知識庫推理的過程中進(jìn)行去重處理,包括: 在每個執(zhí)行推理的MapReduce作業(yè)結(jié)束后進(jìn)行所述去重處理,或,在每一輪規(guī)則迭代之后進(jìn)行所述去重處理,或,在確定不產(chǎn)生新的推理結(jié)果之后進(jìn)行所述去重處理。22.—種應(yīng)用于知識庫推理的數(shù)據(jù)處理裝置,其特征在于,該裝置包括: 存儲處理模塊,用于將所述知識庫中的數(shù)據(jù)存儲于相應(yīng)位置; 所述存儲處理模塊包括: 分類子模塊,用于根據(jù)預(yù)設(shè)的分類策略將所述知識庫中的數(shù)據(jù)分類, 確定子模塊,用于根據(jù)各類數(shù)據(jù)的數(shù)據(jù)量確定第一數(shù)據(jù)和第二數(shù)據(jù),其中,所述第一數(shù)據(jù)用于作為MapReduce任務(wù)的輸入,所述第二數(shù)據(jù)用于在所述MapReduce任務(wù)的歸約Reduce階段參與知識庫推理,所述MapReduce任務(wù)用于根據(jù)所述第一數(shù)據(jù)和第二數(shù)據(jù)進(jìn)行數(shù)據(jù)庫推理; 第一存儲子模塊,用于將所述第一數(shù)據(jù)存儲至硬盤; 第二存儲子模塊,用于將所述第二數(shù)據(jù)存儲至內(nèi)存。23.如權(quán)利要求22所述的裝置,其特征在于, 所述分類子模塊具體用于,根據(jù)所述知識庫中各數(shù)據(jù)的謂詞類型將所述知識庫中的數(shù)據(jù)分類存放于相應(yīng)的輸入文件中。24.如權(quán)利要求22所述的裝置,其特征在于, 所述確定子模塊具體用于,根據(jù)各類數(shù)據(jù)的數(shù)據(jù)量進(jìn)行判斷,將各類數(shù)據(jù)中數(shù)據(jù)量最大的那類數(shù)據(jù)作為所述第一數(shù)據(jù),其余的數(shù)據(jù)作為所述第二數(shù)據(jù)。25.如權(quán)利要求22-24中任一項所述的裝置,其特征在于,所述MapReduce任務(wù)用于根據(jù)所述第一數(shù)據(jù)和第二數(shù)據(jù)進(jìn)行數(shù)據(jù)庫推理,包括: 在所述MapReduce任務(wù)的映射Map階段,輸入所述第一數(shù)據(jù)并生成分類表不所述第一數(shù)據(jù)的key-value對; 在所述MapReduce任務(wù)的歸約Reduce階段,根據(jù)輸入到各Reduce節(jié)點的key-value對和所述第二數(shù)據(jù)進(jìn)行知識庫推理; 其中,分類表示所述第一數(shù)據(jù)的key-value對包括:以所述第一數(shù)據(jù)中的數(shù)據(jù)的客體、謂詞或主體為key,以所述第一數(shù)據(jù)中的數(shù)據(jù)為value的key-value對。26.如權(quán)利要求22-24中任一項所述的裝置,其特征在于, 所述第二存儲子模塊具體用于,將所述第二數(shù)據(jù)讀入至執(zhí)行所述MapReduce任務(wù)的各Reduce節(jié)點的內(nèi)存,并生成分類表示所述第二數(shù)據(jù)的key-vakue對; 其中,分類表示所述第二數(shù)據(jù)的key-value對包括:以所述第二數(shù)據(jù)中的數(shù)據(jù)的客體、謂詞或主體為key,以所述第二數(shù)據(jù)中的數(shù)據(jù)為value的key-value對。27.一種知識庫推理裝置,其特征在于,包括: 讀取模塊,用于從硬盤讀取第一數(shù)據(jù); 執(zhí)行模塊,用于通過執(zhí)行MapReduce任務(wù)的方式進(jìn)行知識庫推理,包括: 第一執(zhí)行子模塊,用于在所述MaReduce任務(wù)的映射Map階段,以所述第一數(shù)據(jù)作為輸入并生成分類表示所述第一數(shù)據(jù)的key-value對, 第二執(zhí)行子模塊,用于在所述MapReduce任務(wù)的歸約Reduce階段,根據(jù)輸入到各Reduce節(jié)點的key-value對和內(nèi)存中的第二數(shù)據(jù)進(jìn)行知識庫推理; 其中,所述第一數(shù)據(jù)和所述第二數(shù)據(jù)是由如權(quán)利要求22-26中任一項所述的裝置處理知識庫中的數(shù)據(jù)后得到的第一數(shù)據(jù)和第二數(shù)據(jù)。28.如權(quán)利要求27所述的知識庫推理裝置,其特征在于, 所述第一執(zhí)行子模塊具體用于,生成以所述第一數(shù)據(jù)中的數(shù)據(jù)的客體、謂詞或主體為key,以所述第一數(shù)據(jù)中的數(shù)據(jù)為value的key-value對。29.如權(quán)利要求27所述的知識庫推理裝置,其特征在于, 所述第二執(zhí)行子模塊具體用于,在各Reduce節(jié)點,根據(jù)輸入到該Reduce節(jié)點的key-value對的key和在該Reduce節(jié)點的內(nèi)存中的分類表示所述第二數(shù)據(jù)的key-value對的key進(jìn)行匹配判斷,如果匹配成功,則進(jìn)行連接處理得到推理結(jié)果;其中,所述輸入到該Reduce節(jié)點的key-value對包括:根據(jù)key對分類表示所述第一數(shù)據(jù)的key-value對合并后得到的key-value對, 分類表示所述第二數(shù)據(jù)的key-value對包括:以所述第二數(shù)據(jù)中的數(shù)據(jù)的客體、謂詞或主體為key,以所述第二數(shù)據(jù)中的數(shù)據(jù)為value的key-value對。30.如權(quán)利要求27-29中任一項所述的知識庫推理裝置,其特征在于,還包括: 去重模塊,用于在所述執(zhí)行模塊進(jìn)行知識庫推理的過程中進(jìn)行去重處理,包括: 在每個執(zhí)行推理的Mapreduce作業(yè)結(jié)束后進(jìn)行所述去重處理,或,在每一輪規(guī)則迭代之后進(jìn)行所述去重處理,或,在確定不產(chǎn)生新的推理結(jié)果之后進(jìn)行所述去重處理。31.一種知識庫推理裝置,其特征在于,包括如權(quán)利要求22-26中任一項所述的數(shù)據(jù)處理裝置。
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)處理方法、知識庫推理方法及相關(guān)裝置,其中,所述數(shù)據(jù)處理方法包括:采用以下方式得到用于確定在知識庫推理過程中各規(guī)則的調(diào)度順序的規(guī)則依賴關(guān)系:從所述知識庫中選取數(shù)據(jù)構(gòu)成第一數(shù)據(jù)集;根據(jù)所述知識庫的規(guī)則對所述第一數(shù)據(jù)集進(jìn)行推理;根據(jù)各規(guī)則的推理結(jié)果及對應(yīng)的輸入數(shù)據(jù)確定所述規(guī)則依賴關(guān)系。采用本發(fā)明,能夠提高知識庫推理技術(shù)的適用場景和靈活性、提高規(guī)則執(zhí)行的效率以及整體的推理性能。
【IPC分類】G06F17/30, G06N5/04
【公開號】CN104915717
【申請?zhí)枴緾N201510295748
【發(fā)明人】伍海江, 郭玉箐
【申請人】百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司
【公開日】2015年9月16日
【申請日】2015年6月2日