本發(fā)明涉及自動推理技術、知識抽取領域,特別是涉及一種基于標準答案的知識點自動提取方法及系統(tǒng)。
背景技術:
知識抽取是指從數(shù)字資源中識別、發(fā)現(xiàn)和提取出概念、類型、事實及其相關關系、約束規(guī)則,以及進行問題求解的步驟、規(guī)則的過程。(參考《當前知識抽取的主要技術方法解析》,張智雄等,現(xiàn)代圖書情報技術,2008年第8期)目前,大多數(shù)的知識點抽取集中在設計自動或半自動的算法,從非結構化和半結構化文本中提取結構化信息,即從現(xiàn)有的(自然語言)文檔中提取知識。比如,北京師范大學的劉曉娟在研究利用知識抽取技術,對數(shù)字圖書館中海量的數(shù)字信息資源進行一系列處理,使得用戶更易于查詢和理解,機器更易于自動處理。又比如,gate、kim、artequakt等國外的知識抽取系統(tǒng)主要應用在數(shù)字圖書館中的文檔標注和處理、生物信息學、為語義web生成元數(shù)據,提高標引、檢索、分類和過濾應用的效率等??梢姡还苁菄鴥冗€是國外,對“知識抽取”的應用只限于從文本中提取出人們所需要的信息,雖然有自然語言理解相關技術,但是沒有推理機制,顯得單一。
技術實現(xiàn)要素:
本發(fā)明要解決的技術問題是,如何提供具有知識點標注的標準答案給老師來了解學生對知識點的掌握情況,同時能夠提高學生對題目答案的學習、理解的知識點自動提取方法。
解決上述技術問題,本發(fā)明提供了一種基于標準答案的知識點自動提取方法,包括如下步驟:
對題目和對應的標準答案進行自然語言理解,結果作為源知識集,
將所述源知識集放入一推理機中,并根據規(guī)則庫使用drools規(guī)則引擎訓練得到一知識庫,
根據所述知識庫依次對所述標準答案中的每個解答步驟進行比較,提取并標記出知識點。
更進一步,對題目和對應的標準答案進行自然語言理解具體包括:
2-1)實體標注,將題目和對應的標準答案到的文本中實體用事先定義的符號標記,作為統(tǒng)一文本形式的模板,
2-2)模板匹配,對所述模板按照同一類型構成同一個xml文件。
更進一步,將所述源知識集放入一推理機中后還包括如下的步驟:
3-1)定義實體與關系兩個概念,
3-2)基于包括已知事實和規(guī)則的產生式規(guī)則引擎,
3-3)通過所述產生式規(guī)則引擎訓練一知識庫。
更進一步,所述推理機中的推理規(guī)則包括:
4-1)將給定的已知事實插入到事實庫中;
4-2)利用模式匹配對規(guī)則庫中的規(guī)則和事實庫中的已知事實進行匹配;
4-3)若多個所述規(guī)則同時滿足條件且處于激活狀態(tài),則存在沖突性規(guī)則,同時將沖突的所有規(guī)則放入沖突集合中;
4-4)將用以處理激活狀態(tài)的規(guī)則按設定順序放入所述沖突集中并處理沖突;
4-5)利用執(zhí)行引擎執(zhí)行所述沖突集中的規(guī)則,重復以上步驟4-2)至4-4),直至所述沖突集沒有處于激活狀態(tài)的規(guī)則。
更進一步,根據所述知識庫依次對所述標準答案中的每個解答步驟進行比較的方法如下:
源知識集中的經過自然語言理解處理后的標準答案的文本作為知識與知識庫中的內容作比較;
若所述標準答案的文本是題干中的已知條件,則不作處理;
若所述標準答案的文本是由已知條件推導而來,則在知識庫中查找每個關系所對應的條件集及規(guī)則名;
若標準答案推導過程中所用的條件與知識庫中的查找到的條件相匹配,則將知識庫中對應的規(guī)則名提取出來自動標注為知識點。
更進一步,若所述標準答案的文本作為知識存在,則查找該知識的父親節(jié)點,將所述知識庫中推導出該知識的條件集,同時獲取推導出該知識規(guī)則的知識點并進行標記,如果該知識不存在,則該步驟不標記。
更進一步,若所述標準答案的文本作為知識存在,而對同一知識由不同的條件集產生,則在所述知識庫中每一個知識節(jié)點有兩個屬性,一個是條件集即該知識節(jié)點的父親節(jié)點;另一個是規(guī)則名即推理出該知識所對應的知識點,則,選取所述知識庫中與當前答案的文本中上一步等價的條件集作為當前知識的父親結點進行推理,獲取與該條件集同組的規(guī)則名作為知識點進行標記。
基于上述本發(fā)明還提供了一種基于標準答案的知識點自動提取系統(tǒng),包括:知識采集單元、知識處理單元以及知識點提取單元,
所述知識采集單元,用以對題目和對應的標準答案進行自然語言理解,結果作為源知識集,
所述知識處理單元,用以將所述源知識集放入一推理機中,并根據規(guī)則庫使用drools規(guī)則引擎訓練得到一知識庫,
所述知識點提取單元,用以根據所述知識庫依次對所述標準答案中的每個解答步驟進行比較,提取并標記出知識點。
更進一步,所述知識處理單元還用以,將所述知識庫通過設定規(guī)則集約束增加其知識數(shù)目,直到不再有新的規(guī)則被觸發(fā)即不再有新的知識產生則結束推理過程。
更進一步,所述知識點提取單元,還用以將源知識集中的經過自然語言理解處理后的標準答案的文本作為知識與知識庫中的內容作比較;
若所述標準答案的文本是題干中的已知條件,則不作處理;
若所述標準答案的文本是由已知條件推導而來,則在知識庫中查找每個關系所對應的條件集及規(guī)則名;
若標準答案推導過程中所用的條件與知識庫中的查找到的條件相匹配,則將知識庫中對應的規(guī)則名提取出來自動標注為知識點。
本發(fā)明的有益效果:
本發(fā)明所提出的知識點自動提取方法通過結合自然語言理解,自動推理技術,采用產生式規(guī)則引擎,并利用計算機對知識點進行自動標注。進一步對老師而言,能夠在題庫建設中代替人工標記知識點,從而減少人力資源投入;通過計算機提取的知識點精準度高,統(tǒng)一性好,無不確定性。進一步對學生而言,可以利用知識點進行題目推薦,學生在做錯題目的情況下,通過知識點可以知道自己哪些知識點沒掌握,起到更好的學習效果。
附圖說明
圖1是本發(fā)明一實施例中的方法流程示意圖;
圖2是圖1中的自然語言理解的方法處理示意圖;
圖3是圖1中推理機的實現(xiàn)流程示意圖;
圖4是圖3中的規(guī)則實現(xiàn)方式示意圖;
圖5是圖1中對所述標準答案中的每個解答步驟進行比較方式示意圖;
圖6是本發(fā)明一實施例中的系統(tǒng)結構示意圖;
圖7是本發(fā)明的知識庫形成圖;
圖8是本發(fā)明的知識庫推理流程示意圖;
圖9是本發(fā)明的自動提取方法示意圖。
具體實施方式
現(xiàn)在將參考一些示例實施例描述本公開的原理??梢岳斫?,這些實施例僅出于說明并且?guī)椭绢I域的技術人員理解和實施例本公開的目的而描述,而非建議對本公開的范圍的任何限制。在此描述的本公開的內容可以以下文描述的方式之外的各種方式實施。
如本文中所述,術語“包括”及其各種變體可以被理解為開放式術語,其意味著“包括但不限于”。術語“基于”可以被理解為“至少部分地基于”。術語“一個實施例”可以被理解為“至少一個實施例”。術語“另一實施例”可以被理解為“至少一個其它實施例”。
本領域技術人員能夠理解,命名實體識別是根據美國nist自動內容抽取評測的解釋,實體概念在文本中的引用有三種形式:命名性指標、名詞性指標和代詞性指標。在實際應用中,命名實體識別主要用于人名、地名和組織機構等各種類型命名實體的識別?;跅l件隨機場(crf)的命名實體識別把識別過程看作一個序列標注問題,將給定的文本首先進行分詞處理,對基本數(shù)學元素(幾何元素名稱,函數(shù)表達式,方程等)進行識別?;赾rf的命名實體識別方法屬于有監(jiān)督的學習方法,因此,需要利用已標注的大規(guī)模語料對crf模型的參數(shù)進行訓練。
本領域技術人員能夠理解,所述規(guī)則庫包括但不限于,數(shù)學領域中的實體間的設定規(guī)則,包括但不限于邏輯規(guī)則、數(shù)字規(guī)則、平面關系規(guī)則、立體關系規(guī)則等。
圖1是本發(fā)明一實施例中的方法流程示意圖,本實施例中的方法包括如下的步驟:步驟s100對題目和對應的標準答案進行自然語言理解,結果作為源知識集,步驟s101將所述源知識集放入一推理機中,并根據規(guī)則庫使用drools規(guī)則引擎訓練得到一知識庫,步驟s102根據所述知識庫依次對所述標準答案中的每個解答步驟進行比較,提取并標記出知識點。與現(xiàn)有的人工智能的專家系統(tǒng)相比,本實施例中提出的知識點的自動提取方法增加了自然語言理解,在推理方面,知識庫推理引擎不僅僅只依靠知識庫里呆板的事實與規(guī)則,并能將已有事實與新知識結合,不斷學習,產生新的知識,使用范圍更廣。同時,該方法用自動提取知識點代替了人工標記,極大程度上減輕了老師的工作量,并方便老師查看學生學習情況;學生也可以了解自身對知識點的掌握情況。
請參考圖2是圖1中的自然語言理解的方法處理示意圖,作為本實施例中的優(yōu)選,對題目和對應的標準答案進行自然語言理解具體包括:
步驟s200實體標注,將題目和對應的標準答案到的文本中實體用事先定義的符號標記,作為統(tǒng)一文本形式的模板,
步驟s201模板匹配,對所述模板按照同一類型構成同一個xml文件。
具體而言,所述步驟s200中的實體標注:把文本中的實體用事先定義好的符號標記出來,如用line標記直線,用triangle標記三角形,那么直線ab就表示成ab&&line,三角形abc表示為abc&&triangle,以一種統(tǒng)一的文本形式供模板匹配使用。
具體而言,所述步驟s201中的模板匹配:一種類型的模板構成一個xml文件,比如函數(shù)的模板集中在函數(shù)的xml文件中,解析幾何的模板聚集在解析幾何的模板中,以此類推。從外部識別到的文本通過實體標注得到能夠與模板相匹配的一種形式,這樣文本中標注的實體將被提取到json格式中的data中,供知識庫推理使用。
請參考圖3是圖1中推理機的實現(xiàn)流程示意圖,作為本實施例中的優(yōu)選,將所述源知識集放入一推理機中后還包括如下的步驟:
步驟s300定義實體與關系兩個概念,在本實施例中所提出的方法模型中定義了實體與關系兩個概念,實體指的是點、線、面、表達式、方程等數(shù)學概念;關系指的是實體之間的關系,比如垂直關系、平行關系、相似關系等。
步驟s301基于包括已知事實和規(guī)則的產生式規(guī)則引擎,
步驟s302通過所述產生式規(guī)則引擎訓練一知識庫,在本實施例中知識庫推理是一個巨大的產生式規(guī)則引擎,包括已知事實和規(guī)則。其中已知事實是通過自然語言理解題干得來,規(guī)則來自于數(shù)學中的概念、定理、公理、公式、解題方法等。
請參考圖4是圖3中的規(guī)則實現(xiàn)方式示意圖,作為本實施例中的優(yōu)選,所述推理機中的推理規(guī)則包括:
步驟s400將給定的已知事實插入到事實庫中;
步驟s401利用模式匹配對規(guī)則庫中的規(guī)則和事實庫中的已知事實進行匹配;
步驟s402若多個所述規(guī)則同時滿足條件且處于激活狀態(tài),則存在沖突性規(guī)則,同時將沖突的所有規(guī)則放入沖突集合中;
步驟s403將用以處理激活狀態(tài)的規(guī)則按設定順序放入所述沖突集中并處理沖突;
步驟s404利用執(zhí)行引擎執(zhí)行所述沖突集中的規(guī)則,重復以上步驟s402至s404,直至所述沖突集沒有處于激活狀態(tài)的規(guī)則。
上述實現(xiàn)流程,具體可參考圖8是本發(fā)明的知識庫推理流程示意圖,上述知識庫同時也是一個產生式推理引擎,推理具體過程如下:
將給定的已知事實插入到事實庫中;
利用模式匹配對規(guī)則庫中的規(guī)則rules和事實庫中的facts進行匹配;
如果多個規(guī)則同時被滿足條件而處于激活狀態(tài),即存在沖突性規(guī)則,將沖突的所有規(guī)則放入沖突集合中;
將處理激活狀態(tài)的規(guī)則按一定順序放入沖突集中,處理沖突;
利用執(zhí)行引擎執(zhí)行沖突集中的規(guī)則,重復以上步驟,直到沖突集沒有處于激活狀態(tài)的規(guī)則。
通過規(guī)則集的約束,知識庫可以向著期望的方法進行擴張,最終使知識數(shù)目越來越多,直到不再有規(guī)則被觸發(fā),即不再有新的知識產生,整個推理過程結束,便得到了后面用于知識點標記的知識庫。
請參考圖5是圖1中對所述標準答案中的每個解答步驟進行比較方式示意圖,根據所述知識庫依次對所述標準答案中的每個解答步驟進行比較的方法如下:
步驟s500源知識集中的經過自然語言理解處理后的標準答案的文本作為知識與知識庫中的內容作比較;
步驟s501是否是題干中的已知條件?
步驟s502若所述標準答案的文本是題干中的已知條件,則不作處理;
步驟s503是否由已知條件推導而來?
步驟s504若所述標準答案的文本是由已知條件推導而來,則在知識庫中查找每個關系所對應的條件集及規(guī)則名;
步驟s505條件與知識庫中的查找到的條件是否相匹配?
步驟s506若標準答案推導過程中所用的條件與知識庫中的查找到的條件相匹配,則將知識庫中對應的規(guī)則名提取出來自動標注為知識點。
請參考圖9是本發(fā)明的自動提取方法示意圖,若所述標準答案的文本作為知識存在,則查找該知識的父親節(jié)點,將所述知識庫中推導出該知識的條件集,同時獲取推導出該知識規(guī)則的知識點并進行標記,如果該知識不存在,則該步驟不標記。
若所述標準答案的文本作為知識存在,而對同一知識由不同的條件集產生,則在所述知識庫中每一個知識節(jié)點有兩個屬性,一個是條件集即該知識節(jié)點的父親節(jié)點;另一個是規(guī)則名即推理出該知識所對應的知識點,則,選取所述知識庫中與當前答案的文本中上一步等價的條件集作為當前知識的父親結點進行推理,獲取與該條件集同組的規(guī)則名作為知識點進行標記。
如圖9所示,判斷標準答案是否是最后一步,如果是,結束標準答案與標準知識庫的比對工作;如果不是,則對經自然語言處理后的標準答案文本進行處理,詳細過程如下:
對當前步驟的內容在知識庫中查找等價知識,如果該知識存在,則查找該知識的父親節(jié)點,即知識庫中推導出該知識的條件集,同時獲取推導出該知識規(guī)則的知識點并進行標記。如果該知識不存在,則該步驟不標記。
可能出現(xiàn)的情況是,對同一知識可能由不同的條件集產生,因此知識庫中每一個知識節(jié)點有兩個屬性,一個是條件集,即該知識節(jié)點的父親節(jié)點;一個是規(guī)則名,即推理出該知識所對應的知識點。每個知識節(jié)點可能對應多個條件集和規(guī)則名的組合。對于此種情況,在對標準答案當前步驟的查找工作中還要對當前步驟的上一步進行檢驗,選取知識庫中與當前答案上一步等價的條件集作為當前知識的父親結點進行推理,獲取與此條件集同組的規(guī)則名作為知識點進行標記。
圖6是本發(fā)明一實施例中的系統(tǒng)結構示意圖,本實施例中的一種基于標準答案的知識點自動提取系統(tǒng),包括:知識采集單元1、知識處理單元2以及知識點提取單元3,所述知識采集單元1,用以對題目和對應的標準答案進行自然語言理解,結果作為源知識集,所述知識處理單元2,用以將所述源知識集放入一推理機中,并根據規(guī)則庫使用drools規(guī)則引擎訓練得到一知識庫,所述知識點提取單元3,用以根據所述知識庫依次對所述標準答案中的每個解答步驟進行比較,提取并標記出知識點。
優(yōu)選地,所述知識處理單元2還用以,將所述知識庫通過設定規(guī)則集約束增加其知識數(shù)目,直到不再有新的規(guī)則被觸發(fā)即不再有新的知識產生則結束推理過程。
優(yōu)選地,所述知識點提取單元3,還用以將源知識集中的經過自然語言理解處理后的標準答案的文本作為知識與知識庫中的內容作比較;
若所述標準答案的文本是題干中的已知條件,則不作處理;
若所述標準答案的文本是由已知條件推導而來,則在知識庫中查找每個關系所對應的條件集及規(guī)則名;
若標準答案推導過程中所用的條件與知識庫中的查找到的條件相匹配,則將知識庫中對應的規(guī)則名提取出來自動標注為知識點。
請參考圖7是本發(fā)明的知識庫形成圖,本實施例中的基于標準答案的知識點自動提取是將標準答案與現(xiàn)有標準知識庫進行比對,知識庫是由對題干的自然語言理解得來,對題目和對應的標準答案進行自然語言理解,結果作為所述的源知識集,將所述源知識集放入一推理機中,并根據規(guī)則庫使用drools規(guī)則引擎訓練得到所述的知識庫,根據所述知識庫依次對所述標準答案中的每個解答步驟進行比較,提取并標記出知識點。具體過程如下:題干的latex文本經過自然語言處理(nlp),理解成一系列的關系,將這些關系作為源知識集輸入推理機,利用已有的規(guī)則庫,基于drools規(guī)則推理引擎進行產生式推理,不斷由源知識集產生新知識,同時推理出來的新知識又會做為源知識集繼續(xù)推理。如此反復,直到不再有新知識產生,則推理結束。最終得到一個知識網絡,網絡的每個節(jié)點為一個知識,這個知識網絡即稱之為知識庫。
應當理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領域公知的下列技術中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現(xiàn)場可編程門陣列(fpga)等。
在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結合。
總體而言,本公開的各種實施例可以以硬件或專用電路、軟件、邏輯或其任意組合實施。一些方面可以以硬件實施,而其它一些方面可以以固件或軟件實施,該固件或軟件可以由控制器、微處理器或其它計算設備執(zhí)行。雖然本公開的各種方面被示出和描述為框圖、流程圖或使用其它一些繪圖表示,但是可以理解本文描述的框、設備、系統(tǒng)、技術或方法可以以非限制性的方式以硬件、軟件、固件、專用電路或邏輯、通用硬件或控制器或其它計算設備或其一些組合實施。
此外,雖然操作以特定順序描述,但是這不應被理解為要求這類操作以所示的順序執(zhí)行或是以順序序列執(zhí)行,或是要求所有所示的操作被執(zhí)行以實現(xiàn)期望結果。在一些情形下,多任務或并行處理可以是有利的。類似地,雖然若干具體實現(xiàn)方式的細節(jié)在上面的討論中被包含,但是這些不應被解釋為對本公開的范圍的任何限制,而是特征的描述僅是針對具體實施例。在分離的一些實施例中描述的某些特征也可以在單個實施例中組合地執(zhí)行。相反對,在單個實施例中描述的各種特征也可以在多個實施例中分離地實施或是以任何合適的子組合的方式實施。