一種文本數據二次結構化的方法及裝置制造方法
【專利摘要】本發明公開了一種文本數據二次結構化的方法及裝置,用以解決現有技術中二次結構化的效率和準確性較低的問題。該方法XML解析器采用預設的各正則表達式對XML數據中每個節點中的數據進行匹配,并根據預設的規則,對匹配出的數據所在的節點中的數據進行二次結構化。通過上述方法,可直接根據預設的各正則表達式識別XML數據中需要進行二次結構化的節點,從而無需人工識別,因此可有效提高二次結構化的效率,并且由于無需人工識別需要進行二次結構化的節點,因此可避免引入人為主觀錯誤,從而也可有效提高二次結構化的準確性。
【專利說明】一種文本數據二次結構化的方法及裝置
【技術領域】
[0001]本發明涉及數據處理領域,尤其涉及一種文本數據二次結構化的方法及裝置。
【背景技術】
[0002]可擴展標記語言(Extensible Markup Language, XML)已經成為世界上發展最快的技術之一,主要用于將文本數據進行結構化,提供文本數據的結構化視圖等。在很多應用領域中對文本數據的結構化都有著很高的要求,特別是在出版領域與教育領域,這就需要對已經使用XML進行了簡單結構化的文本數據再進行二次結構化。
[0003]現有技術中,對文本數據進行二次結構化的方法為,人工識別XML數據中的每個節點是否需要進行二次結構化,對于需要進行二次結構化的節點,采用預先編寫的程序對該節點中的數據進行二次結構化。
[0004]現有技術中的二次結構化方法會使程序員的工作量非常大,導致二次結構化的效率較低,并且由于人工識別的方式識別XML數據中的每個節點是否需要進行二次結構化,因此在二次結構化的過程中可能會因人為主觀錯誤而降低二次結構化的準確性。
【發明內容】
[0005]有鑒于此,本發明實施例提供一種文本數據二次結構化的方法及裝置,用以解決現有技術中二次結構化的效率和準確性較低的問題。
[0006]本發明實施例提供的一種文本數據二次結構化的方法,包括:
[0007]可擴展標記語言XML解析器采用預設的各正則表達式對XML數據中每個節點中的數據進行匹配;并
[0008]將匹配出的數據所在的節點確定為待處理節點,所述待處理節點為需要進行二次結構化的節點;以及
[0009]根據預設的規則對所述待處理節點中的數據進行二次結構化。
[0010]本發明實施例提供的一種文本數據二次結構化的裝置,包括:
[0011]匹配模塊,用于采用預設的各正則表達式對XML數據中每個節點中的數據進行匹配;
[0012]確定模塊,用于將匹配出的數據所在的節點確定為待處理節點,所述待處理節點為需要進行二次結構化的節點;
[0013]結構化模塊,用于根據預設的規則對所述待處理節點中的數據進行二次結構化。
[0014]本發明實施例提供一種文本數據二次結構化的方法及裝置,該方法XML解析器采用預設的各正則表達式對XML數據中每個節點中的數據進行匹配,并根據預設的規則,對匹配出的數據所在的節點中的數據進行二次結構化。通過上述方法,可直接根據預設的各正則表達式識別XML數據中需要進行二次結構化的節點,從而無需人工識別,因此可有效提高二次結構化的效率,并且由于無需人工識別需要進行二次結構化的節點,因此可避免引入人為主觀錯誤,從而也可有效提高二次結構化的準確性。
【專利附圖】
【附圖說明】
[0015]圖1為本發明實施例提供的文本數據二次結構化的過程;
[0016]圖2為本發明實施例提供的文本數據的二次結構化裝置結構示意圖。
【具體實施方式】
[0017]本發明實施例提供一種文本數據二次結構化的方法及裝置,該方法XML解析器采用預設的各正則表達式對XML數據中每個節點中的數據進行匹配,并根據預設的規則,對匹配出的數據所在的節點中的數據進行二次結構化。通過上述方法,可直接根據預設的各正則表達式識別XML數據中需要進行二次結構化的節點,從而無需人工識別,因此可有效提高二次結構化的效率,并且由于無需人工識別需要進行二次結構化的節點,因此可避免引入人為主觀錯誤,從而也可有效提高二次結構化的準確性。
[0018]下面結合說明書附圖,對本發明實施例進行詳細描述。
[0019]圖1為本發明實施例提供的文本數據二次結構化的過程,具體包括以下步驟:
[0020]S101:XML解析器采用預設的各正則表達式對XML數據中每個節點中的數據進行匹配。
[0021]在本發明實施例中,可預先根據要進行二次結構化的數據的關鍵字符預設各正則表達式,正則表達式用于匹配XML數據中的關鍵字符。由于XML數據是以XML文檔對象模型(Document Object Model, DOM)樹的形式組織的,XML DOM樹中的每個節點都包含了一部分XML數據,因此,在使用XML解析器解析XML數據時,可采用預設的各正則表達式對XML數據中每個節點中的數據進行匹配。
[0022]進一步的,考慮到XML數據中的編碼可能并不統一,因此為了提高后續二次結構化的準確性,本發明實施例中XML解析器在采用預設的各正則表達式對XML數據中每個節點中的數據進行匹配之前,還可將該XML數據中的編碼轉換為預設格式的編碼。其中,該預設格式的編碼包括但不限于統一碼(Unicode)。
[0023]S102:將匹配出的數據所在的節點確定為待處理節點。
[0024]其中,該待處理節點即為需要進行二次結構化的節點。
[0025]由于正則表達式是預先根據需要進行二次結構化的數據的關鍵字符預設的,因此,如果通過上述正則表達式匹配到某個節點中的數據,則說明該節點需要進行二次結構化,將該節點作為待處理節點進行后續的二次結構化處理。
[0026]S103:根據預設的規則對該待處理節點中的數據進行二次結構化。
[0027]在本發明實施例中,可預先針對預設的每個正則表達式,預設與該正則表達式相對應的拆分規則,則步驟S103中對待處理節點中的數據進行二次結構化的方法可以為:根據匹配出該待處理節點中數據的正則表達式,以及預設的與匹配出該待處理節點中數據的正則表達式相對應的拆分規則,對該待處理節點中的數據進行拆分,得到各子數據,根據得到的子數據的數量,創建相應數量(該相應數量與得到的子數據的數量相同)的節點,以在創建的一個節點中添加一個子數據的方式,將拆分得到的各子數據添加到創建的各節點中。
[0028]進一步的,在創建相應數量的節點時,可在該待處理節點下,創建相應數量的、以該待處理節點為父節點的節點。也即,創建的節點是該待處理節點的子節點。
[0029]另外,在將得到的各子數據添加到創建的各節點中后,還要將該待處理節點中的數據刪除。
[0030]例如,假設X見數據如下:
[0031]〈徹七〉
[0032]〈1:6^1:?1、這是解析11。2、這是解析12。3、這是解析13。〈/七一叉七〉
[0033]〈1:6^1:?八、這是選項3。8、這是選項13。0、這是選項0。〈八6叉七?
[0034]〈八00七?
[0035]在上述XI[數據中,1-001:是一個節點,1-001:下有兩個子節點1:6x1:,第一個子節點1^6x1:中的數據為“1、這是解析11。2、這是解析12。3、這是解析13。”,第二個子節點1^6x1:中的數據為“八、這是選項3。8、這是選項匕 ?:、這是選項0。”。
[0036]如果要對上述數據“1、這是解析11。2、這是解析12。3、這是解析13。”和“八、這是選項3。8、這是選項匕匕這是選項匕”進行二次結構化,則可預先設定兩個正則表達式,第一個正則表達式的關鍵字符為“解析”,第二個正則表達式的關鍵字符為“選項當然,上述關鍵字符實際上是轉換為此1⑶如之后的編碼),針對這兩個正則表達式預設的拆分規則可以是:將關鍵字符所在的句子拆分出來,作為一個子數據。
[0037]從而,采用如圖1所示的方法對上述乂祖^數據進行二次結構化時,在步驟3101和8102中,通過第一個正則表達式可確定上述X祖^數據中的第一個七6x1節點為待處理節點,通過第二個正則表達式可確定上述X祖^數據中的第二個仏#節點為待處理節點。
[0038]在步驟3103中,針對第一個仏#節點,則可將每個包含關鍵字符“解析”的句子拆分為一個子數據,共得到3個子數據:“ 1、這是解析11。”、“ 2、這是解析12。”、“ 3、這是解析13。”。從而,在第一個〖6x1:節點下創建3個節點,即創建3個以第一個〖6x1:節點為父節點的子節點,將創建的這3個節點記為110(16,則將得到的3個子數據分別添加到3個節點110(16中,并將第一個〖6X1:節點中的數據刪除。
[0039]類似的,針對第二個節點,可將每個包含關鍵字符“選項”的句子拆分為一個子數據,共得到3個子數據:“八、這是選項^”、“^、這是選項匕”^‘匕這是選項。。”。從而,在第二個〖6X1:節點下創建3個節點,即創建3個以第二個〖6X1:節點為父節點的子節點,將創建的這3個節點記為如如,則將得到的3個子數據分別添加到3個節點如如中,并將第二個丨以丨節點中的數據刪除。
[0040]經上述二次結構化處理后,XII數據就變成了:
[0041]〈1*00 七〉
[0042]“6x0
[0043]〈仙如〉這是解析11。〈/仙如〉
[0044]〈仙如〉這是解析12。〈/仙如〉
[0045]〈仙如〉這是解析13。〈/仙如〉
[0046]〈八 6x1〉
[0047]“6x0
[0048]〈仙如〉這是選項3。〈/仙如〉
[0049]〈仙如〉這是選項6。〈/仙如〉
[0050]〈如如〉這是選項0。^/110(16)
[0051]〈八6叉七?
[0052]〈八00七?
[0053]可見,通過上述方法,X祖^解析器可直接根據預設的各正則表達式識別X祖^數據中需要進行二次結構化的節點,無需人工識別,因此可有效提高二次結構化的效率,并且由于無需人工識別需要進行二次結構化的節點,因此可避免引入人為主觀錯誤,從而也可有效提高二次結構化的準確性。
[0054]以上為本發明實施例提供的文本數據的二次結構化方法,基于同樣的發明思路,本發明實施例還提供一種文本數據的二次結構化裝置,如圖2所示。
[0055]圖2為本發明實施例提供的文本數據的二次結構化裝置結構示意圖,具體包括:
[0056]匹配模塊201,用于采用預設的各正則表達式對XII數據中每個節點中的數據進行匹配;
[0057]確定模塊202,用于將匹配出的數據所在的節點確定為待處理節點,所述待處理節點為需要進行二次結構化的節點;
[0058]結構化模塊203,用于根據預設的規則對所述待處理節點中的數據進行二次結構化。
[0059]所述裝置還包括:
[0060]轉換模塊204,用于在所述匹配模塊201采用預設的各正則表達式對X祖^數據中每個節點中的數據進行匹配之前,將所述XII數據的編碼轉換為預設格式的編碼,所述預設格式的編碼包括統一碼此丨⑶如。
[0061〕 所述結構化模塊203具體包括:
[0062]拆分單元2031,用于根據匹配出所述待處理節點中數據的正則表達式,以及預設的與匹配出所述待處理節點中數據的正則表達式相對應的拆分規則,對所述待處理節點中的數據進行拆分,得到各子數據;
[0063]創建單元2032,用于根據得到的子數據的數量,創建相應數量的節點;
[0064]添加單元2033,用于以在創建的一個節點中添加一個子數據的方式,將拆分得到的各子數據添加到創建的各節點中。
[0065]所述創建單元2032具體用于,在所述待處理節點下,倉II建相應數量的、以所述待處理節點為父節點的節點。
[0066]所述結構化模塊203還包括:
[0067]刪除單元2034,用于刪除所述待處理節點中的數據。
[0068]具體的上述文本數據二次結構化的裝置可以位于XIII解析器中。
[0069]本發明實施例提供一種文本數據二次結構化的方法及裝置,該方法XII解析器采用預設的各正則表達式對XII數據中每個節點中的數據進行匹配,并根據預設的規則,對匹配出的數據所在的節點中的數據進行二次結構化。通過上述方法,可直接根據預設的各正則表達式識別XII數據中需要進行二次結構化的節點,從而無需人工識別,因此可有效提高二次結構化的效率,并且由于無需人工識別需要進行二次結構化的節點,因此可避免引入人為主觀錯誤,從而也可有效提高二次結構化的準確性。
[0070]本領域內的技術人員應明白,本申請的實施例可提供為方法、系統、或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
[0071]在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出接口、網絡接口和內存。
[0072]內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內存是計算機可讀介質的示例。
[0073]計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現信息存儲。信息可以是計算機可讀指令、數據結構、程序的模塊或其他數據。計算機的存儲介質的例子包括,但不限于相變內存(PRAM)、靜態隨機存取存儲器(SRAM)、動態隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPR0M)、快閃記憶體或其他內存技術、只讀光盤只讀存儲器(CD-ROM)、數字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質,可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括非暫存電腦可讀媒體(transitory media),如調制的數據信號和載波。
[0074]本申請是參照根據本申請實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0075]這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0076]這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0077]盡管已描述了本申請的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本申請范圍的所有變更和修改。
[0078]顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。
【權利要求】
1.一種文本數據二次結構化的方法,其特征在于,包括: 可擴展標記語言XML解析器采用預設的各正則表達式對XML數據中每個節點中的數據進行匹配;并 將匹配出的數據所在的節點確定為待處理節點,所述待處理節點為需要進行二次結構化的節點;以及 根據預設的規則對所述待處理節點中的數據進行二次結構化。
2.如權利要求1所述的方法,其特征在于,XML解析器采用預設的各正則表達式對XML數據中每個節點中的數據進行匹配之前,所述方法還包括: 將所述XML數據的編碼轉換為預設格式的編碼,所述預設格式的編碼包括統一碼Unicode。
3.如權利要求1所述的方法,其特征在于,根據預設的規則對所述待處理節點中的數據進行二次結構化,具體包括: 根據匹配出所述待處理節點中數據的正則表達式,以及預設的與匹配出所述待處理節點中數據的正則表達式相對應的拆分規則,對所述待處理節點中的數據進行拆分,得到各子數據; 根據得到的子數據的數量,創建相應數量的節點; 以在創建的一個節點中添加一個子數據的方式,將拆分得到的各子數據添加到創建的各節點中。
4.如權利要求3所述的方法,其特征在于,創建相應數量的節點,具體包括: 在所述待處理節點下,創建相應數量的、以所述待處理節點為父節點的節點。
5.如權利要求3所述的方法,其特征在于,所述方法還包括: 刪除所述待處理節點中的數據。
6.一種文本數據二次結構化的裝置,其特征在于,包括: 匹配模塊,用于采用預設的各正則表達式對XML數據中每個節點中的數據進行匹配; 確定模塊,用于將匹配出的數據所在的節點確定為待處理節點,所述待處理節點為需要進行二次結構化的節點; 結構化模塊,用于根據預設的規則對所述待處理節點中的數據進行二次結構化。
7.如權利要求6所述的裝置,其特征在于,所述裝置還包括: 轉換模塊,用于在所述匹配模塊采用預設的各正則表達式對XML數據中每個節點中的數據進行匹配之前,將所述XML數據的編碼轉換為預設格式的編碼,所述預設格式的編碼包括統一碼Unicode。
8.如權利要求6所述的裝置,其特征在于,所述結構化模塊具體包括: 拆分單元,用于根據匹配出所述待處理節點中數據的正則表達式,以及預設的與匹配出所述待處理節點中數據的正則表達式相對應的拆分規則,對所述待處理節點中的數據進行拆分,得到各子數據; 創建單元,用于根據得到的子數據的數量,創建相應數量的節點; 添加單元,用于以在創建的一個節點中添加一個子數據的方式,將拆分得到的各子數據添加到創建的各節點中。
9.如權利要求8所述的裝置,其特征在于,所述創建單元具體用于,在所述待處理節點下,創建相應數量的、以所述待處理節點為父節點的節點。
10.如權利要求8所述的裝置,其特征在于,所述結構化模塊還包括: 刪除單元,用于刪除所述待處理節點中的數據。
【文檔編號】G06F17/30GK104462157SQ201310449600
【公開日】2015年3月25日 申請日期:2013年9月24日 優先權日:2013年9月24日
【發明者】朱學武, 吳顯麗 申請人:北大方正集團有限公司, 北京北大方正電子有限公司