知識(shí)數(shù)據(jù)的處理方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及信息處理技術(shù),尤其設(shè)及一種知識(shí)數(shù)據(jù)的處理方法和系統(tǒng)。
【背景技術(shù)】
[0002] 知識(shí)圖譜的建設(shè)是將現(xiàn)實(shí)世界對(duì)象化、實(shí)體化的過程。對(duì)知識(shí)圖譜設(shè)及的數(shù)據(jù) (知識(shí)庫中的數(shù)據(jù))進(jìn)行組織和計(jì)算是知識(shí)圖譜技術(shù)中的重要環(huán)節(jié)。其中,通過數(shù)據(jù)的結(jié)構(gòu) 化提取進(jìn)行數(shù)據(jù)的組織。此外,還需要針對(duì)知識(shí)庫中的數(shù)據(jù)執(zhí)行處理和計(jì)算的函數(shù)來實(shí)現(xiàn) 具體的功能。如此,知識(shí)數(shù)據(jù)計(jì)算就是在實(shí)體和屬性該個(gè)數(shù)據(jù)結(jié)構(gòu)上,提供用W支持各種應(yīng) 用的計(jì)算能力W及承載計(jì)算需要的相關(guān)機(jī)制,從而將知識(shí)庫的輸出達(dá)到最大化。
[0003] 現(xiàn)有技術(shù)中,針對(duì)不同知識(shí)庫的應(yīng)用產(chǎn)品需編寫不同的代碼完成不同的計(jì)算邏 輯,計(jì)算邏輯的復(fù)用性差,代碼的編寫效率低;無法根據(jù)某種規(guī)則,W及知識(shí)庫中的知識(shí)完 成知識(shí)的推理計(jì)算。
[0004] 因而,現(xiàn)有的知識(shí)數(shù)據(jù)計(jì)算方法針對(duì)不同知識(shí)庫的應(yīng)用產(chǎn)品需編寫不同的代碼完 成不同的計(jì)算邏輯,其大多存在W下問題;(1)代碼的開發(fā)成本較高,設(shè)計(jì)人員需了解知識(shí) 庫的底層數(shù)據(jù)接口才能夠完成相關(guān)開發(fā);(2)代碼的復(fù)用性較差,不同應(yīng)用各自為戰(zhàn),完成 類似的處理邏輯,浪費(fèi)人力成本;(3)缺乏知識(shí)推理的能力,無法動(dòng)態(tài)的根據(jù)已有知識(shí)推理 出新的知識(shí);(4)缺乏統(tǒng)一的在線計(jì)算平臺(tái),提供高效的在線運(yùn)算能力。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的實(shí)施例提供一種知識(shí)數(shù)據(jù)的處理方法和系統(tǒng),W提高代碼的復(fù)用性,并 降低編碼成本。
[0006] 為達(dá)到上述目的,本發(fā)明的實(shí)施例提供了一種知識(shí)數(shù)據(jù)的處理方法,所述方法包 括;獲取計(jì)算腳本,所述計(jì)算腳本中的語句包含用于調(diào)用封裝好的計(jì)算算子的代碼,所述計(jì) 算算子用于對(duì)知識(shí)庫中的數(shù)據(jù)進(jìn)行操作;對(duì)所述計(jì)算腳本中的語句進(jìn)行解析,生成包括執(zhí) 行所述計(jì)算算子的指令;分別執(zhí)行所述指令,W通過所述計(jì)算算子對(duì)所述知識(shí)庫中的數(shù)據(jù) 進(jìn)行處理。
[0007] 可選的,所述方法還包括;按照預(yù)設(shè)的規(guī)則對(duì)知識(shí)庫中的數(shù)據(jù)進(jìn)行推理,生成新的 知識(shí)數(shù)據(jù);將用于對(duì)生成的所述新的知識(shí)數(shù)據(jù)執(zhí)行的操作封裝為新的計(jì)算算子。
[0008] 進(jìn)一步地,所述方法還包括;存儲(chǔ)生成的所述新的知識(shí)數(shù)據(jù)。
[0009] 可選地,所述對(duì)所述計(jì)算腳本中的語句進(jìn)行解析,生成包括執(zhí)行所述計(jì)算算子的 指令的處理還包括;生成執(zhí)行運(yùn)算符、內(nèi)置函數(shù)和/或自定義函數(shù)的指令。
[0010] 優(yōu)選地,所述方法還包括;接收用于知識(shí)處理的請(qǐng)求,所述請(qǐng)求包括需調(diào)用的功能 的信息,并且所述獲取計(jì)算腳本的處理包括:根據(jù)所述需調(diào)用的功能的信息獲取相應(yīng)的計(jì) 算腳本。
[0011] 可選地,編寫所述計(jì)算腳本的腳本語言包括但不限于W下任意一種;Scala、 JavaScript,VBScript,ActionScript、MAXScript、ASP、JSP、PHP、SQL、Perl、Shell、 p}fthon、Ruby、JavaFX、Lua、AutoltW及自定義腳本語言。
[0012] 本發(fā)明的實(shí)施例還提供了一種知識(shí)數(shù)據(jù)的處理系統(tǒng),所述系統(tǒng)包括;腳本獲取模 塊,用于獲取計(jì)算腳本,所述計(jì)算腳本中的語句包含用于調(diào)用封裝好的計(jì)算算子的代碼,所 述計(jì)算算子用于對(duì)知識(shí)庫中的數(shù)據(jù)進(jìn)行操作;腳本解析模塊,用于對(duì)所述計(jì)算腳本中的語 句進(jìn)行解析,生成包括執(zhí)行所述計(jì)算算子的指令;指令執(zhí)行模塊,用于分別執(zhí)行所述指令, W通過所述計(jì)算算子對(duì)所述知識(shí)庫中的數(shù)據(jù)進(jìn)行處理。
[0013] 可選地,所述系統(tǒng)還包括;知識(shí)推理模塊,用于按照預(yù)設(shè)的規(guī)則對(duì)知識(shí)庫中的數(shù)據(jù) 進(jìn)行推理,生成新的知識(shí)數(shù)據(jù);算子封裝模塊,用于將用于對(duì)生成的所述新的知識(shí)數(shù)據(jù)執(zhí)行 的操作封裝為新的計(jì)算算子。
[0014] 進(jìn)一步地,所述系統(tǒng)還包括;知識(shí)存儲(chǔ)模塊,用于存儲(chǔ)生成的所述新的知識(shí)數(shù)據(jù)。
[0015] 可選地,所述腳本解析模塊還用于:生成執(zhí)行運(yùn)算符、內(nèi)置函數(shù)和/或自定義函數(shù) 的指令。
[0016] 優(yōu)選地,所述系統(tǒng)還包括;請(qǐng)求接收模塊,用于接收用于知識(shí)處理的請(qǐng)求,所述請(qǐng) 求包括需調(diào)用的功能的信息,并且所述腳本獲取模塊還用于根據(jù)所述需調(diào)用的功能的信息 獲取相應(yīng)的計(jì)算腳本。
[0017] 可選地,編寫所述計(jì)算腳本的腳本語言包括但不限于W下任意一種;Scala、 JavaScript,VBScript,ActionScript、MAXScript、ASP、JSP、PHP、SQL、Perl、化ell、 p}fthon、Ruby、JavaFX、Lua、AutoltW及自定義腳本語言。
[0018] 本發(fā)明實(shí)施例提供的知識(shí)數(shù)據(jù)的處理方法和系統(tǒng),基于預(yù)先封裝的對(duì)知識(shí)庫中數(shù) 據(jù)進(jìn)行指定操作的計(jì)算算子,獲取和解析包含計(jì)算算子的代碼的計(jì)算腳本,生成和執(zhí)行相 應(yīng)的指令,W對(duì)知識(shí)庫中的數(shù)據(jù)進(jìn)行處理。本方案可實(shí)現(xiàn)如下有益效果:可通過調(diào)用包含 計(jì)算算子的代碼完成知識(shí)數(shù)據(jù)處理,無需深層了解知識(shí)庫的底層數(shù)據(jù)接口便可完成相關(guān)開 發(fā);利用已封裝的計(jì)算算子,無需對(duì)相同操作的腳本的代碼進(jìn)行重復(fù)編寫,代碼復(fù)用性強(qiáng), 節(jié)省了人力成本。
【附圖說明】
[0019] 圖1為本發(fā)明提供的知識(shí)數(shù)據(jù)的處理方法一個(gè)實(shí)施例的方法流程圖;
[0020] 圖2為本發(fā)明提供的知識(shí)庫數(shù)據(jù)樣例;
[0021] 圖3為本發(fā)明提供的知識(shí)數(shù)據(jù)的處理方法另一個(gè)實(shí)施例的方法流程圖;
[0022] 圖4為本發(fā)明提供的知識(shí)數(shù)據(jù)的處理系統(tǒng)一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
[0023] 圖5為本發(fā)明提供的知識(shí)數(shù)據(jù)的處理系統(tǒng)另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0024] 本發(fā)明的基本發(fā)明構(gòu)思是,將針對(duì)知識(shí)庫中數(shù)據(jù)進(jìn)行的指定操作預(yù)先封裝為對(duì)應(yīng) 的計(jì)算算子,然后通過解析和執(zhí)行包含不同的計(jì)算算子的代碼的計(jì)算腳本來實(shí)現(xiàn)對(duì)知識(shí)庫 中數(shù)據(jù)的處理,得到結(jié)果數(shù)據(jù)。本發(fā)明實(shí)施例的技術(shù)方案采用已封裝的計(jì)算算子進(jìn)行知識(shí) 數(shù)據(jù)操作,無需深層了解知識(shí)庫的底層數(shù)據(jù)接口便可完成相關(guān)開發(fā);同時(shí)利用已封裝的計(jì) 算算子,無需對(duì)相同操作的腳本的代碼進(jìn)行重復(fù)編寫,代碼復(fù)用性強(qiáng),節(jié)省了人力成本。
[00幼實(shí)施例一
[0026] 圖1為本發(fā)明提供的知識(shí)數(shù)據(jù)的處理方法一個(gè)實(shí)施例的方法流程圖。
[0027] 參照?qǐng)D1,在步驟S110,獲取計(jì)算腳本,該計(jì)算腳本中的語句包含用于調(diào)用封裝好 的計(jì)算算子的代碼,該計(jì)算算子用于對(duì)知識(shí)庫中的數(shù)據(jù)進(jìn)行操作。
[0028] 本實(shí)施例中,將針對(duì)知識(shí)庫的各常用操作預(yù)先封裝,并將封裝后的操作稱為計(jì)算 算子,當(dāng)調(diào)用各計(jì)算算子對(duì)應(yīng)的指令時(shí),便可對(duì)目標(biāo)知識(shí)庫進(jìn)行該計(jì)算算子所對(duì)應(yīng)的操作。
[0029] 如下示出了幾種針對(duì)知識(shí)庫的各常用操作對(duì)應(yīng)的計(jì)算算子的代碼:
[0030]Ge證ataO 獲取知識(shí)庫數(shù)據(jù)算子
[0031]SodO 排序算子
[0032]TopnO 排序后取第N值算子
[0033] Compare0 比較算子,用來比較兩個(gè)實(shí)體或?qū)傩缘牟钪?br>[0034]GetRulelnfrQ規(guī)則推理算子
[00巧]GetFieldO 獲取實(shí)體的某個(gè)屬性的算子(比如人物實(shí)體,包含名字、身高、 年齡等屬性)
[0036] 將各計(jì)算算子對(duì)應(yīng)的代碼編寫在計(jì)算腳本中,便可通過解析計(jì)算腳本來調(diào)用計(jì)算 算子對(duì)應(yīng)的針對(duì)知識(shí)庫的指定操作。
[0037] 在步驟S120,對(duì)計(jì)算腳本中的語句進(jìn)行解析,生成包括執(zhí)行計(jì)算算子的指令。
[0038] 本實(shí)施例中,編寫計(jì)算腳本的腳本語言可包括但不限于W下任何一種語言: Scala、JavaScript,VBScript,ActionScript、MAXScript、ASP、JSP、PHP、SQL、Pe;rl、化ell、 p}fthon、Ruby、JavaFX、Lua、AutoltW及自定義腳本語言。
[0039] 通常,當(dāng)系統(tǒng)中集成有解釋上述現(xiàn)有腳本語言的解釋器時(shí),可W對(duì)采用上述現(xiàn)有 腳本語言編寫的計(jì)算腳本進(jìn)行自行解釋,并形成相應(yīng)的指令。而針對(duì)自定義腳本語言生成 的計(jì)算腳本還需另行配置編寫適用的自定義解釋器來完成計(jì)算腳本的解析。
[0040] 如圖2中示出了知識(shí)庫數(shù)據(jù)樣