本發(fā)明涉及數(shù)據(jù)智能分析處理技術(shù)領(lǐng)域,特別是指一種本體知識(shí)的邏輯推理方法。
背景技術(shù):
近年來,自然語言處理是人工智能領(lǐng)域內(nèi)的一個(gè)困難重重同時(shí)引人注目的研究課題,它的理想結(jié)果就是能夠使計(jì)算機(jī)像人那樣理解、分析自然語言,從而解決文本分類、句法分析、語義理解、情感識(shí)別、語義推理等實(shí)際問題。例如,在一個(gè)特定的專業(yè)領(lǐng)域里,如何將已有的事實(shí)和規(guī)則形式化描述、轉(zhuǎn)化為計(jì)算機(jī)能夠理解的語言,進(jìn)而完成本體知識(shí)的邏輯推理,得出有效的推理結(jié)果。
但是,現(xiàn)有技術(shù)中,并沒有確立有效的方法來解決本體支持的知識(shí)推理問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種本體知識(shí)的邏輯推理方法,以解決現(xiàn)有技術(shù)所存在的沒有確立有效的方法來解決本體支持的知識(shí)推理問題。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供一種本體知識(shí)的邏輯推理方法,包括:
S1,接收輸入的推理請(qǐng)求,其中,所述推理請(qǐng)求為待匹配本體;
S2,構(gòu)建所述待匹配本體的RDF圖;
S3,根據(jù)所述待匹配本體的RDF圖,生成一顆用于執(zhí)行匹配算法的樹;
S4,計(jì)算生成樹的節(jié)點(diǎn)在樹形結(jié)構(gòu)下節(jié)點(diǎn)本身與其相關(guān)的父子節(jié)點(diǎn)的語義相似度的加權(quán)均值,得到節(jié)點(diǎn)總體相似度,其中,所述語義相似度由詞形相似度和詞義相似度確定;
S5,根據(jù)得到的所述節(jié)點(diǎn)總體相似度,對(duì)生成樹的每個(gè)節(jié)點(diǎn)進(jìn)行匹配,輸出推理結(jié)果。
進(jìn)一步地,所述S2包括:
提取所述待匹配本體的主語、謂語及客體;
根據(jù)提取的所述待匹配本體的主語、謂語及客體,構(gòu)建所述待匹配本體的RDF圖;
其中,所述主語和客體作為RDF圖的節(jié)點(diǎn),所述謂語作為RDF圖的邊。
進(jìn)一步地,所述S3包括:
S31,構(gòu)建另一待匹配本體的RDF圖;
S32,獲取兩個(gè)待匹配本體的RDF圖的根節(jié)點(diǎn),將獲取到的兩個(gè)根節(jié)點(diǎn)合并生成匹配對(duì),將所述匹配對(duì)作為生成樹的根節(jié)點(diǎn);
S33,在兩個(gè)待匹配本體的RDF圖中,分別查找各自根節(jié)點(diǎn)的邊;
S34,若邊所對(duì)應(yīng)的謂詞相同,則將所述邊對(duì)應(yīng)的終止節(jié)點(diǎn)合并生成匹配對(duì),將終止節(jié)點(diǎn)合并生成的匹配對(duì)作為所述生成樹根節(jié)點(diǎn)的子節(jié)點(diǎn),并用所述邊連接所述生成樹的根節(jié)點(diǎn)和所述子節(jié)點(diǎn);
S35,若邊所對(duì)應(yīng)的謂詞不相同,則跳過所述終止節(jié)點(diǎn);
S36,按照S33、S35、S34的方式,依次遍歷兩個(gè)待匹配本體的RDF圖中的所有節(jié)點(diǎn),當(dāng)所有節(jié)點(diǎn)遍歷完成后生成一顆用于執(zhí)行匹配算法的樹。
進(jìn)一步地,若當(dāng)前節(jié)點(diǎn)為e,所述節(jié)點(diǎn)總體相似度表示為:
其中,Sims表示生成樹的節(jié)點(diǎn)e的總體相似度,Sime(e1,e2)表示生成樹的節(jié)點(diǎn)e包含的兩個(gè)實(shí)體e1、e2之間的語義相似度,Simfl(e1,e2)表示生成樹的節(jié)點(diǎn)e的父子節(jié)點(diǎn)的語義相似度加權(quán)求和之后的語義相似度。
進(jìn)一步地,所述Sime(e1,e2)表示為:
Sime(e1,e2)=αSimd(e1,e2)+βSimw(e1,e2)
其中,Simd(e1,e2)為兩個(gè)實(shí)體e1、e2之間的編輯距離相似度,Simd(e1,e2)表示生成樹的節(jié)點(diǎn)e包含的兩個(gè)實(shí)體e1、e2之間的詞形相似度,α表示Simd(e1,e2)的權(quán)值,Simw(e1,e2)表示生成樹的節(jié)點(diǎn)e包含的兩個(gè)實(shí)體e1、e2之間的詞義相似度,β表示Simw(e1,e2)的權(quán)值。
進(jìn)一步地,所述Simd(e1,e2)表示為:
其中,distance(e1,e2)表示兩個(gè)實(shí)體e1、e2的字符串編輯距離;Max(|e1|,|e2|)表示兩個(gè)實(shí)體e1、e2字符串絕對(duì)長(zhǎng)度的最大值;
所述Simw(e1,e2)表示為:
其中,len(e1,e2)表示兩個(gè)實(shí)體e1、e2在詞典同義詞集合中最短的路徑長(zhǎng)度,depth表示分類樹高度。
進(jìn)一步地,所述Simfl(e1,e2)表示為:
Simfl(e1,e2)=p1Sime(f(e1,e2))+p2Sime(l(e1,e2))
其中,Sime(f(e1,e2))表示生成樹的節(jié)點(diǎn)e的父節(jié)點(diǎn)的語義相似度,Sime(l(e1,e2))為生成樹的節(jié)點(diǎn)e的所有子節(jié)點(diǎn)中語義相似度的最大值,p1、p2分別是Sime(f(e1,e2))、Sime(l(e1,e2))的權(quán)值;
所述Sime(l(e1,e2))表示為:
其中,Sime(li(e1,e2))表示生成樹的節(jié)點(diǎn)e的第i子節(jié)點(diǎn)的語義相似度。
進(jìn)一步地,所述S5包括:
S51,將得到的所述節(jié)點(diǎn)總體相似度與預(yù)先設(shè)定的閾值進(jìn)行比較;
S52,若得到的所述節(jié)點(diǎn)總體相似度大于預(yù)先設(shè)定的閾值,則當(dāng)前節(jié)點(diǎn)內(nèi)的兩個(gè)實(shí)體建立匹配映射關(guān)系,并將建立的匹配映射關(guān)系輸出到結(jié)果集中;
S53,否則,則拋棄當(dāng)前節(jié)點(diǎn);
S54,按照S51、S52、S53的方式,對(duì)生成樹的其他節(jié)點(diǎn)進(jìn)行遍歷,對(duì)生成樹的所有節(jié)點(diǎn)遍歷完成后,輸出結(jié)果集作為推理結(jié)果。
進(jìn)一步地,所述方法還包括:
執(zhí)行S2-S5,判斷所述推理請(qǐng)求是否與事實(shí)知識(shí)庫中的事實(shí)匹配;
若所述推理請(qǐng)求與預(yù)先設(shè)置的事實(shí)知識(shí)庫中的事實(shí)匹配失敗,則根據(jù)規(guī)則知識(shí)庫中的推理規(guī)則,提取所述推理請(qǐng)求的前提和子推理目標(biāo),執(zhí)行S2-S5進(jìn)行推理,若前提和子推理目標(biāo)都匹配成功,則輸出結(jié)果集作為推理結(jié)果;否則,則返回推理失?。?/p>
若所述推理請(qǐng)求與事實(shí)知識(shí)庫中的事實(shí)匹配成功,則返回推理成功。
進(jìn)一步地,所述方法還包括:
若推理過程中匹配多條推理規(guī)則或推理規(guī)則之間存在沖突時(shí),則按照最先匹配成功的優(yōu)先級(jí)最高的推理規(guī)則進(jìn)行推理;
其中,所述規(guī)則知識(shí)庫中的每一條推理規(guī)則具有不同的優(yōu)先級(jí)。
本發(fā)明的上述技術(shù)方案的有益效果如下:
上述方案中,通過接收輸入的推理請(qǐng)求,其中,所述推理請(qǐng)求為待匹配本體;采用本體中的RDF格式對(duì)輸入的推理請(qǐng)求進(jìn)行表示,并構(gòu)建一顆用于執(zhí)行匹配算法的樹,從詞義相似度和詞形相似度兩個(gè)方面計(jì)算語義相似度,在此基礎(chǔ)上,計(jì)算樹形結(jié)構(gòu)下節(jié)點(diǎn)本身和所述節(jié)點(diǎn)的父子節(jié)點(diǎn)的語義相似度的加權(quán)均值,得到節(jié)點(diǎn)總體相似度,并得到的所述節(jié)點(diǎn)總體相似度,對(duì)生成樹的每個(gè)節(jié)點(diǎn)進(jìn)行匹配,輸出推理結(jié)果,這樣,從詞義相似度和詞形相似度兩個(gè)方面進(jìn)行語義相似度的計(jì)算,能夠提高匹配效率和精確率。
附圖說明
圖1為本發(fā)明實(shí)施例提供的本體知識(shí)的邏輯推理方法的流程示意圖;
圖2為本發(fā)明實(shí)施例提供的構(gòu)建的RDF圖;
圖3為本發(fā)明實(shí)施例提供的待匹配本體的RDF圖;
圖4為本發(fā)明實(shí)施例提供的另一個(gè)待匹配本體的RDF圖;
圖5為本發(fā)明實(shí)施例提供的用于執(zhí)行匹配算法的樹;
圖6為本發(fā)明實(shí)施例提供的本體知識(shí)的邏輯推理方法的詳細(xì)流程示意圖;
圖7為本發(fā)明實(shí)施例提供的本體知識(shí)的邏輯推理方法的具體流程示意圖。
具體實(shí)施方式
為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例進(jìn)行詳細(xì)描述。
本發(fā)明針對(duì)現(xiàn)有的沒有確立有效的方法來解決本體支持的知識(shí)推理問題,提供一種本體知識(shí)的邏輯推理方法。
實(shí)施例一
參看圖1所示,本發(fā)明實(shí)施例提供的本體知識(shí)的邏輯推理方法,包括:
S1,接收輸入的推理請(qǐng)求,其中,所述推理請(qǐng)求為待匹配本體;
S2,構(gòu)建所述待匹配本體的資源描述框架(Resource Description Framework,RDF)圖;
S3,根據(jù)所述待匹配本體的RDF圖,生成一顆用于執(zhí)行匹配算法的樹;
S4,計(jì)算生成樹的節(jié)點(diǎn)在樹形結(jié)構(gòu)下節(jié)點(diǎn)本身與其相關(guān)的父子節(jié)點(diǎn)的語義相似度的加權(quán)均值,得到節(jié)點(diǎn)總體相似度,其中,所述語義相似度由詞形相似度和詞義相似度確定;
S5,根據(jù)得到的所述節(jié)點(diǎn)總體相似度,對(duì)生成樹的每個(gè)節(jié)點(diǎn)進(jìn)行匹配,輸出推理結(jié)果。
本發(fā)明實(shí)施例所述的本體知識(shí)的邏輯推理方法,通過接收輸入的推理請(qǐng)求,其中,所述推理請(qǐng)求為待匹配本體;采用本體中的RDF格式對(duì)輸入的推理請(qǐng)求進(jìn)行表示,并構(gòu)建一顆用于執(zhí)行匹配算法的樹,從詞義相似度和詞形相似度兩個(gè)方面計(jì)算語義相似度,在此基礎(chǔ)上,計(jì)算樹形結(jié)構(gòu)下節(jié)點(diǎn)本身和所述節(jié)點(diǎn)的父子節(jié)點(diǎn)的語義相似度的加權(quán)均值,得到節(jié)點(diǎn)總體相似度,并得到的所述節(jié)點(diǎn)總體相似度,對(duì)生成樹的每個(gè)節(jié)點(diǎn)進(jìn)行匹配,輸出推理結(jié)果,這樣,從詞義相似度和詞形相似度兩個(gè)方面進(jìn)行語義相似度的計(jì)算,能夠提高匹配效率和精確率。
本實(shí)施例中,通過將輸入的推理請(qǐng)求建成RDF圖,然后將RDF圖構(gòu)建成樹形結(jié)構(gòu),并以自頂向下的順序來計(jì)算生成樹(簡(jiǎn)稱:樹)中每個(gè)節(jié)點(diǎn)的總體相似度,從而來實(shí)現(xiàn)本體之間的匹配。
本實(shí)施例在,在構(gòu)建所述待匹配本體的RDF圖時(shí),需對(duì)輸入的推理請(qǐng)求執(zhí)行以下操作:
A11、本體解析,具體的:可以利用Apache基金會(huì)的開源產(chǎn)品Jena對(duì)輸入的推理請(qǐng)求進(jìn)行本體解析,目的是去掉一些對(duì)匹配無用的結(jié)構(gòu),避免影響匹配結(jié)果和效率;
A122、特征提取,提取出用來計(jì)算相似度的特征(主語、謂語、客體),這些特征被用來作為計(jì)算對(duì)象。
本實(shí)施例中,作為一可選實(shí)施例,所述構(gòu)建所述待匹配本體的RDF圖(S2)包括:
提取所述待匹配本體的主語、謂語及客體;
根據(jù)提取的所述待匹配本體的主語、謂語及客體,構(gòu)建所述待匹配本體的RDF圖;
其中,所述主語和客體作為RDF圖的節(jié)點(diǎn),所述謂語作為RDF圖的邊。
本實(shí)施例中,例如,本體知識(shí)庫中的知識(shí)描述形式為RDF,RDF為主語、謂語、客體組成的三元組形式。
本實(shí)施例中,假設(shè),待匹配本體為“熱帶雨林氣候是高溫多雨的”,則可以將“熱帶雨林氣候是高溫多雨的”表示成如圖2所示的RDF圖,其中“熱帶雨林”和“高溫多雨”分別是的知識(shí)的主語和客體,“attribute-of”是謂語。
在前述本體知識(shí)的邏輯推理方法的具體實(shí)施方式中,進(jìn)一步地,所述根據(jù)所述待匹配本體的RDF圖,生成一顆用于執(zhí)行匹配算法的樹(S3)包括:
S31,構(gòu)建另一待匹配本體的RDF圖;
S32,獲取兩個(gè)待匹配本體的RDF圖的根節(jié)點(diǎn),將獲取到的兩個(gè)根節(jié)點(diǎn)合并生成匹配對(duì),將所述匹配對(duì)作為生成樹的根節(jié)點(diǎn);
S33,在兩個(gè)待匹配本體的RDF圖中,分別查找各自根節(jié)點(diǎn)的邊;
S34,若邊所對(duì)應(yīng)的謂詞相同,則將所述邊對(duì)應(yīng)的終止節(jié)點(diǎn)合并生成匹配對(duì),將終止節(jié)點(diǎn)合并生成的匹配對(duì)作為所述生成樹根節(jié)點(diǎn)的子節(jié)點(diǎn),并用所述邊連接所述生成樹的根節(jié)點(diǎn)和所述子節(jié)點(diǎn);
S35,若邊所對(duì)應(yīng)的謂詞不相同,則跳過所述終止節(jié)點(diǎn);
S36,按照S33、S35、S34的方式,依次遍歷兩個(gè)待匹配本體的RDF圖中的所有節(jié)點(diǎn),當(dāng)所有節(jié)點(diǎn)遍歷完成后生成一顆用于執(zhí)行匹配算法的樹。
本實(shí)施例中,將待匹配本體的RDF圖通過預(yù)定的規(guī)則生成一顆用于執(zhí)行匹配算法的樹。具體規(guī)則如下:
B11,分析兩個(gè)待匹配本體的RDF圖,在兩個(gè)待匹配本體的RDF圖中找到兩個(gè)根(root)節(jié)點(diǎn),用這兩個(gè)根節(jié)點(diǎn)構(gòu)成一個(gè)匹配對(duì),然后用這個(gè)匹配對(duì)作為生成樹的根節(jié)點(diǎn);
B12,查找兩個(gè)RDF圖的根頂點(diǎn)的邊,即邊所對(duì)應(yīng)的謂詞,若謂詞一致,則將兩個(gè)RDF圖中邊所對(duì)應(yīng)的終止節(jié)點(diǎn)構(gòu)成生成樹根節(jié)點(diǎn)的一個(gè)子節(jié)點(diǎn),并用該邊連接所述生成樹根節(jié)點(diǎn)和所述子節(jié)點(diǎn),從而生成樹的第一分支;
B13,若邊所對(duì)應(yīng)的謂詞不一致,則跳過此終止節(jié)點(diǎn),繼續(xù)向下遍歷。
B14,以此方式依次遍歷兩個(gè)RDF圖的所有節(jié)點(diǎn),當(dāng)所有節(jié)點(diǎn)遍歷完成后生成一顆用來執(zhí)行匹配算法的樹。
如圖3、圖4、圖5所示,假設(shè),圖3和圖4為兩個(gè)待匹配本體的RDF圖,圖5是通過上述規(guī)則生成的一顆用于執(zhí)行匹配算法的樹。首先是找到圖3和圖4中的根節(jié)點(diǎn)E,E',將兩個(gè)根節(jié)點(diǎn)合并生成一個(gè)匹配對(duì)節(jié)點(diǎn)(E,E'),然后讓該節(jié)點(diǎn)(E,E')作為生成樹的根節(jié)點(diǎn);在兩個(gè)待匹配本體的RDF圖中分別搜索以E和E'為主體的陳述,其中兩個(gè)陳述的謂詞相同,均為P1,則將其客體(終止節(jié)點(diǎn))F和F'組成匹配對(duì)作為子節(jié)點(diǎn),即(F,F')為根節(jié)點(diǎn)(E,E')的子節(jié)點(diǎn),并以謂詞P1為連接兩個(gè)節(jié)點(diǎn)(E,E')、(F,F')的邊。同理依次遍歷其余節(jié)點(diǎn),生成一顆用來執(zhí)行匹配算法的樹。
本實(shí)施例中,所述兩個(gè)待匹配本體的RDF圖,一個(gè)是根據(jù)輸入的待匹配本體構(gòu)建的,另一個(gè)是根據(jù)本體知識(shí)庫中的知識(shí)構(gòu)建的。
在前述本體知識(shí)的邏輯推理方法的具體實(shí)施方式中,進(jìn)一步地,若當(dāng)前節(jié)點(diǎn)為e,所述節(jié)點(diǎn)總體相似度表示為:
其中,Sims表示生成樹的節(jié)點(diǎn)e的總體相似度,Sime(e1,e2)表示生成樹的節(jié)點(diǎn)e包含的兩個(gè)實(shí)體e1、e2之間的語義相似度,Simfl(e1,e2)表示生成樹的節(jié)點(diǎn)e的父子節(jié)點(diǎn)的語義相似度加權(quán)求和之后的語義相似度。
在前述本體知識(shí)的邏輯推理方法的具體實(shí)施方式中,進(jìn)一步地,所述Sime(e1,e2)表示為:
Sime(e1,e2)=αSimd(e1,e2)+βSimw(e1,e2)
其中,Simd(e1,e2)為兩個(gè)實(shí)體e1、e2之間的編輯距離相似度,Simd(e1,e2)表示生成樹的節(jié)點(diǎn)e包含的兩個(gè)實(shí)體e1、e2之間的詞形相似度,α表示Simd(e1,e2)的權(quán)值,Simw(e1,e2)表示生成樹的節(jié)點(diǎn)e包含的兩個(gè)實(shí)體e1、e2之間的詞義相似度,β表示Simw(e1,e2)的權(quán)值。
本實(shí)施例中,計(jì)算生成樹的節(jié)點(diǎn)包含的兩個(gè)實(shí)體之間的語義相似度Sime(e1,e2)是從詞形和詞義兩方面來確定的,用e表示當(dāng)前節(jié)點(diǎn),e1、e2表示節(jié)點(diǎn)e包含的兩個(gè)實(shí)體。
本實(shí)施例中,可以采用編輯距離的方法計(jì)算生成樹的節(jié)點(diǎn)e包含的兩個(gè)實(shí)體e1、e2之間的詞形相似度Simd(e1,e2):
其中,distance(e1,e2)表示兩個(gè)實(shí)體e1、e2的字符串編輯距離;Max(|e1|,|e2|)表示兩個(gè)實(shí)體e1、e2字符串絕對(duì)長(zhǎng)度的最大值;
本實(shí)施例中,編輯距離的方法主要是針對(duì)兩個(gè)輸入的字符串,采用動(dòng)態(tài)規(guī)劃相關(guān)的算法進(jìn)行計(jì)算,根據(jù)把一個(gè)字符串變成為另一個(gè)字符串所花費(fèi)的編輯操作數(shù),來判定詞形相似度,操作數(shù)越少編輯距離越大。
本實(shí)施例中,可以借助詞典WordNet確定生成樹的節(jié)點(diǎn)e包含的兩個(gè)實(shí)體e1、e2之間的詞義相似度Simw(e1,e2):
其中,len(e1,e2)表示兩個(gè)實(shí)體e1、e2在詞典同義詞集合中最短的路徑長(zhǎng)度,depth表示分類樹高度。
接著對(duì)Simd(e1,e2)和Simw(e1,e2)進(jìn)行加權(quán)求和,得到生成樹的節(jié)點(diǎn)e包含的兩個(gè)實(shí)體e1、e2之間的語義相似度Sime(e1,e2):
Sime(e1,e2)=αSimd(e1,e2)+βSimw(e1,e2)
其中,α表示Simd(e1,e2)的權(quán)值,Simw(e1,e2)表示生成樹的節(jié)點(diǎn)e包含的兩個(gè)實(shí)體e1、e2之間的詞義相似度,β表示Simw(e1,e2)的權(quán)值。本實(shí)施例中,從詞義相似度和詞形相似度兩個(gè)方面計(jì)算語義相似度,能夠提高匹配效率和精確率,避免了單純從一個(gè)方面進(jìn)行匹配時(shí)會(huì)漏掉許多匹配對(duì)的問題。在前述本體知識(shí)的邏輯推理方法的具體實(shí)施方式中,進(jìn)一步地,Simfl(e1,e2)表示為:
Simfl(e1,e2)=p1Sime(f(e1,e2))+p2Sime(l(e1,e2))
其中,Sime(f(e1,e2))表示生成樹的節(jié)點(diǎn)e的父節(jié)點(diǎn)的語義相似度,Sime(l(e1,e2))為生成樹的節(jié)點(diǎn)e的所有子節(jié)點(diǎn)中語義相似度的最大值,p1、p2分別是Sime(f(e1,e2))、Sime(l(e1,e2))的權(quán)值;
所述Sime(l(e1,e2))表示為:
其中,Sime(li(e1,e2))表示生成樹的節(jié)點(diǎn)e的第i子節(jié)點(diǎn)的語義相似度。
本實(shí)施例中,以計(jì)算生成樹的節(jié)點(diǎn)e包含的兩個(gè)實(shí)體e1、e2之間的語義相似度為基礎(chǔ),計(jì)算生成樹的節(jié)點(diǎn)e的父節(jié)點(diǎn)的語義相似度Sime(f(e1,e2))和生成樹的節(jié)點(diǎn)e的子節(jié)點(diǎn)的語義相似度Sime(l(e1,e2)),再通過賦予權(quán)值計(jì)算節(jié)點(diǎn)e的父子節(jié)點(diǎn)的語義相似度加權(quán)求和之后的語義相似度Simfl(e1,e2):
Simfl(e1,e2)=p1Sime(f(e1,e2))+p2Sime(l(e1,e2))
其中,p1、p2分別是Sime(f(e1,e2))、Sime(l(e1,e2))的權(quán)值。
本實(shí)施例中,由于生成樹中每個(gè)節(jié)點(diǎn)只有一個(gè)父節(jié)點(diǎn),但子節(jié)點(diǎn)卻不是唯一的,所以在計(jì)算子節(jié)點(diǎn)的相似度時(shí)要取該節(jié)點(diǎn)有所有子節(jié)點(diǎn)的相似度中的最大值,也就是說,所述Sime(l(e1,e2))為生成樹的節(jié)點(diǎn)e的所有子節(jié)點(diǎn)中語義相似度的最大值;所述Sime(l(e1,e2))表示為:
其中,Sime(li(e1,e2))表示生成樹的節(jié)點(diǎn)e的第i子節(jié)點(diǎn)的語義相似度。
本實(shí)施例中,最后通過計(jì)算Sime(e1,e2)和Simfl(e1,e2)的平均數(shù),得到節(jié)點(diǎn)總體相似度Sims:
在前述本體知識(shí)的邏輯推理方法的具體實(shí)施方式中,進(jìn)一步地,所述根據(jù)得到的所述節(jié)點(diǎn)總體相似度,對(duì)生成樹的每個(gè)節(jié)點(diǎn)進(jìn)行匹配,輸出推理結(jié)果(S5)包括:
S51,將得到的所述節(jié)點(diǎn)總體相似度與預(yù)先設(shè)定的閾值進(jìn)行比較;
S52,若得到的所述節(jié)點(diǎn)總體相似度大于預(yù)先設(shè)定的閾值,則當(dāng)前節(jié)點(diǎn)內(nèi)的兩個(gè)實(shí)體建立匹配映射關(guān)系,并將建立的匹配映射關(guān)系輸出到結(jié)果集中;
S53,否則,則拋棄當(dāng)前節(jié)點(diǎn);
S54,按照S51、S52、S53的方式,對(duì)生成樹的其他節(jié)點(diǎn)進(jìn)行遍歷,對(duì)生成樹的所有節(jié)點(diǎn)遍歷完成后,輸出結(jié)果集作為推理結(jié)果。
本實(shí)施例中,通過得到的各節(jié)點(diǎn)的節(jié)點(diǎn)總體相似度Sims對(duì)生成樹的相應(yīng)節(jié)點(diǎn)進(jìn)行匹配,得到匹配映射關(guān)系;具體的:若節(jié)點(diǎn)總體相似度Sims高于預(yù)先設(shè)定的閾值t,則該節(jié)點(diǎn)內(nèi)的兩個(gè)實(shí)體建立匹配映射關(guān)系,并將建立的匹配映射關(guān)系輸出到結(jié)果集中;否則,則拋棄該節(jié)點(diǎn),不將其輸出到結(jié)果集中。對(duì)生成樹的每個(gè)節(jié)點(diǎn)都遍歷完成后,匹配過程結(jié)束,輸出最終的結(jié)果集作為推理結(jié)果。
在前述本體知識(shí)的邏輯推理方法的具體實(shí)施方式中,進(jìn)一步地,所述方法還包括:
執(zhí)行S2-S5,判斷所述推理請(qǐng)求是否與事實(shí)知識(shí)庫中的事實(shí)匹配;
若所述推理請(qǐng)求與預(yù)先設(shè)置的事實(shí)知識(shí)庫中的事實(shí)匹配失敗,則根據(jù)規(guī)則知識(shí)庫中的推理規(guī)則,提取所述推理請(qǐng)求的前提和子推理目標(biāo),執(zhí)行S2-S5進(jìn)行推理,若前提和子推理目標(biāo)都匹配成功,則輸出結(jié)果集作為推理結(jié)果;否則,則返回推理失??;
若所述推理請(qǐng)求與事實(shí)知識(shí)庫中的事實(shí)匹配成功,則返回推理成功。
如圖6和圖7所示,本實(shí)施例中,用戶提出推理請(qǐng)求,首先,執(zhí)行S2-S5,判斷所述推理請(qǐng)求是否與事實(shí)知識(shí)庫中的事實(shí)匹配,若匹配失敗,則直接返回推理失??;若匹配成功,則提取推理請(qǐng)求的前提,執(zhí)行S2-S5,對(duì)提取的前提進(jìn)行推理,若匹配成功,則繼續(xù)提取推理請(qǐng)求的子推理目標(biāo),對(duì)提取的子推理目標(biāo)進(jìn)行遞歸推理,若前提和子推理目標(biāo)都匹配成功,則推理成功,否則,則返回推理失敗。
本實(shí)施例中,所述事實(shí)知識(shí)庫和所述規(guī)則知識(shí)庫是基于本體知識(shí)庫得到的。
在前述本體知識(shí)的邏輯推理方法的具體實(shí)施方式中,進(jìn)一步地,所述方法還包括:
若推理過程中匹配多條推理規(guī)則或推理規(guī)則之間存在沖突時(shí),則按照最先匹配成功的優(yōu)先級(jí)最高的推理規(guī)則進(jìn)行推理;
其中,所述規(guī)則知識(shí)庫中的每一條推理規(guī)則具有不同的優(yōu)先級(jí)。
如圖7所示,本實(shí)施例中,沖突消解策略主要完成推理過程中匹配多條推理規(guī)則(規(guī)則知識(shí)庫中的規(guī)則),或者推理規(guī)則之間存在沖突時(shí)選擇最合適的推理規(guī)則進(jìn)行推理。本實(shí)施例采用的沖突消解策略是優(yōu)先級(jí)最高最先匹配策略,即為規(guī)則知識(shí)庫中的每一條推理規(guī)則賦予不同的優(yōu)先級(jí),將優(yōu)先級(jí)最高且相同的規(guī)則置于同一域中,按照最先匹配成功的優(yōu)先級(jí)最高的推理規(guī)則進(jìn)行推理。
本實(shí)施例中,基于本實(shí)施例所述的本體知識(shí)的邏輯推理方法,實(shí)現(xiàn)一種面向高考文綜解題的邏輯推理系統(tǒng),應(yīng)用到基礎(chǔ)教育領(lǐng)域中,所述邏輯推理系統(tǒng)包括:底層的數(shù)據(jù)層,中間的邏輯推理層和上層的用戶層;其中,
(1)數(shù)據(jù)層:數(shù)據(jù)層主要為領(lǐng)域知識(shí)庫模塊,是該邏輯推理系統(tǒng)中一個(gè)很重要的模塊,數(shù)據(jù)層的使用貫穿整個(gè)系統(tǒng),所述數(shù)據(jù)層包括:事實(shí)知識(shí)庫和規(guī)則知識(shí)庫,為邏輯推理層提供底層的數(shù)據(jù)支撐。
本實(shí)施例中,為了實(shí)現(xiàn)面向高考文綜解題的邏輯推理系統(tǒng),首先,構(gòu)建高考文綜知識(shí)的語料庫,將已有的事實(shí)和規(guī)則形式化存儲(chǔ)到本體知識(shí)庫,基于所述本體知識(shí)庫,通過規(guī)則擴(kuò)展方法,得到本體中蘊(yùn)含的推理規(guī)則,得到規(guī)則知識(shí)庫;基于所述本體知識(shí)庫,對(duì)本體進(jìn)行事實(shí)轉(zhuǎn)換得到事實(shí)知識(shí)庫,也就是說,事實(shí)知識(shí)庫和規(guī)則知識(shí)庫是由本體進(jìn)行事實(shí)轉(zhuǎn)換或者規(guī)則擴(kuò)展后將其轉(zhuǎn)換成由語言表示的知識(shí)構(gòu)成。
本實(shí)施例中,規(guī)則擴(kuò)展使用語義網(wǎng)規(guī)則語言(Semantic Web Rule Language,SWRL)擴(kuò)展規(guī)則,直接利用網(wǎng)絡(luò)本體語言(Web Ontology Language,OWL)本體中的類、屬性和實(shí)例進(jìn)行規(guī)則定義。例如,若本體中存在對(duì)象之間關(guān)系:hasParent(x,y)和hasBrother(z,y),通過本體的語義描述,可知x與y之間是父子關(guān)系,z與y之間是兄弟關(guān)系,根據(jù)這兩種關(guān)系可推出x與z是之間是叔侄關(guān)系,使用SWRL擴(kuò)展規(guī)則得hasUncle(x,z)。
(2)邏輯推理層由知識(shí)匹配,沖突消解,本體推理組成;邏輯推理層采用語義相似度計(jì)算實(shí)現(xiàn)推理請(qǐng)求和本體知識(shí)庫中知識(shí)的匹配,采用后向推理實(shí)現(xiàn)本體的邏輯推理,及采用優(yōu)先級(jí)最高最先匹配策略解決推理過程中的規(guī)則沖突或匹配多條推理規(guī)則的問題;用戶層實(shí)現(xiàn)了用戶和系統(tǒng)之間的交互;
(3)用戶層:用戶層由用戶管理模塊組成,推理請(qǐng)求的提交,是由用戶輸入的推理請(qǐng)求提交系統(tǒng),為后續(xù)邏輯推理做前期準(zhǔn)備,輸入的問句是自然陳述句。
本實(shí)施例中,以一個(gè)具體的例子為例,假設(shè),用戶輸入的推理請(qǐng)求為:太白山北麓是自然帶溫帶落葉闊葉林帶。
事實(shí)知識(shí)庫中的描述包括:
1 位于(太白山北坡中腰,太白山北坡山麓);
2 是(太白山北麓,樹木高且密);
3 位于(秦嶺,中國)
4 位于(太白山北麓,山區(qū))
5 基本自然帶(熱帶季風(fēng)氣候,熱帶雨林帶)
6 基本自然帶(亞熱帶季風(fēng)氣候,季雨林帶)
7 位于(熱帶季風(fēng)氣候,山地垂直自然帶)
8 位于(亞熱帶季風(fēng)氣候,山地垂直自然帶)
9 是氣候帶(太白山北麓,溫帶季風(fēng)氣候)
10 基本自然帶(溫帶季風(fēng)氣候,常綠闊葉林帶)
11 位于(溫帶季風(fēng)氣候,山地垂直自然帶)
規(guī)則知識(shí)庫中的描述包括:
1,是自然帶(x,稀疏草原):-
位于(x,熱帶),
不是(位于(x,中國))。
2,是自然帶(x,y):-
2.1 位于(x,山區(qū)),
2.2 查找氣候帶(x,z),
2.3 基本自然帶(z,c),
2.4 位于(c,山地垂直自然帶)
2.5 是自然帶(x,c|z)。
3,查找氣候:-
是氣候帶(x,y)。
具體推理過程包括:
事實(shí)匹配:根據(jù)輸入的推理請(qǐng)求(太白山北麓是自然帶溫帶落葉闊葉林帶),按照S2-S5進(jìn)行匹配,在事實(shí)知識(shí)庫中沒有直接匹配到事實(shí),則繼續(xù)進(jìn)行規(guī)則匹配。
規(guī)則的匹配:
規(guī)則1,提取前提“是自然帶(太白山北麓,稀疏草原)”,無法與事實(shí)匹配,所以匹配失敗,其中,前提為規(guī)則頭,具體為:“:-”之前的規(guī)則。
規(guī)則2,提取前提“是自然帶(太白山北麓,y)”,y可以是任意的,所以匹配成功;前提匹配成功后,提取子推理目標(biāo),把“位于(x,山區(qū)),查找氣候(x,z),基本自然帶(z,c),位于(c,山地垂直自然帶)”作為子推理目標(biāo)進(jìn)行遞歸推理;得到:2.1與事實(shí)4匹配,2.2.通過遞歸匹配可以得到“是氣候帶(太白山北麓,(z)溫帶季風(fēng)氣候)”,2.3由2.2的結(jié)果得到“基本自然帶((z)溫帶季風(fēng)氣候,(c)常綠闊葉林帶)”,2.4與11匹配成功,所以規(guī)則2匹配成功,得到的結(jié)論為“是自然帶(太白山北麓,溫帶常綠闊葉林帶),推理成功,推理請(qǐng)求是錯(cuò)誤的,其中,子推理目標(biāo)為“:-”之前的規(guī)則。
以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。