一種快速比對文本內容的方法與系統的制作方法
【技術領域】
[0001]本發明涉及信息檢索領域,特別涉及一種快速比對文本內容的方法及其計算機軟件系統。
【背景技術】
[0002]文本內容比對是通過比較文檔之文本所表述內容得出文檔相似程度的過程。根據原理差異,文本內容比對可以采用兩種層面的相似度衡量方法:第一種方法基于文本語義,根據文本所表述語義的接近程度來衡量相似度;第二種方法基于文字結構,根據文檔段落、句、詞、字的用法和組合方式判斷兩篇文檔的相似程度。前者涉及的語義乃當前信息檢索領域的一個難題,常用的方法是“詞向量”法,使用文本中的關鍵詞(keyword)表達語義特征;后者的重點在于文字本身的相似程度,已用于論文查重等領域。
[0003]從文本比對效率角度看,基于語義的第一種比對方法效率高,但結果不夠直觀。例如,“銷售人員為了取得更多的銷售業績,采取賒銷方式,往往導致逾期應收賬款的發生”和“銷售人員只關心銷售業績,往往采取賒銷的方式,導致發生逾期的應收賬款”,此兩段中文語句語義相近但結構差距甚大,應用于文檔查重時難有說服力。基于文字結構的第二種比對方法直觀性好,其結果可以直接作為判斷文本內容是否涉嫌抄襲的依據,但是,這種方法基于文檔句子的兩兩比對,效率低,涉及大量文檔時,通常無法達到實時比對的效果。例如,每到畢業季,學生提交畢業論文之后,往往需要等待幾天甚至超過一周以上的時間才能獲知查重結果。
[0004]本發明公開一種文本內容比對的快速方法及其計算機軟件實現系統,兼具語義比對方法效率高和結構比對方法直觀性好的優點。本發明針對包含有少量英文段落和英文關鍵詞的中文文檔,其典型的應用是基于文本內容的科技論文比對。
【發明內容】
[0005]本發明的目的是從大量文檔中快速查找與待比對文檔在文本語義上相似、文字結構上雷同的文檔集。由于判斷兩篇文檔文字結構是否雷同是一個耗時的過程,當需要比對的文檔數量很大時,往往無法在短時間內完成。本發明融合文本語義比對和文字結構比對兩種方法,提供一種兩階段的文本內容快速比對方法,并在一個文本內容比對系統中加以實現。所述系統包括(SI)和(S2)兩個部分:
(51)文檔注冊部分。用于從待注冊文檔的文本中自動學習關鍵詞和構造注冊文檔庫;
(52)文檔比對部分。用于從注冊文檔庫搜索、輸出與待比對文檔在文本語義與文字結構均相似的m篇已注冊文檔,并輸出每篇文檔與待比對文檔最相似句子間的連續關鍵詞匹配關系。
[0006]進一步地,所述文檔注冊部分在注冊一篇文檔時,首先自動學習其中的新關鍵詞(指未出現在注冊時關鍵詞庫中的關鍵詞),并更新關鍵詞庫。所述新關鍵詞的自動學習和關鍵詞庫的更新過程由以下迭代的(LI)?(L4)步驟組成: (LI)將待注冊文檔中的文字進行斷句處理,分解為句子的集合,建立侯選新關鍵字集合,并初始化為空;
(L2)對于每個句子,依據當前關鍵詞庫和標記為通過統計檢驗的候選新關鍵詞,識別句子包含的關鍵詞,稱之為舊關鍵詞;
(L3)對于每個句子,提取兩個連續的非停用詞(stopword)單字、一個非停用詞單字及隨后的舊關鍵詞或一個舊關鍵詞及隨后的非停用詞單字組成候選新關鍵詞,添加到侯選新關鍵字集合,累計每個候選新關鍵詞在本次迭代中出現的次數,運用統計方法確定其中的候選新關鍵詞并作通過統計檢驗標記;
(L4)重復步驟(L2)?(L3)直到步驟(L3)沒有標記任何通過統計檢驗的候選新關鍵詞或達到指定的迭代次數,迭代結束后,將標記為通過統計檢驗且計數大于零的候選新關鍵詞添加到關鍵詞庫。
[0007]所述文檔注冊部分使用更新后的關鍵詞庫,將待注冊文檔表示為“文本語義表達”和“文字結構表達”兩種方式,并在注冊文檔庫中保存每篇文檔的這兩種表示方式。具體地,首先將待比對文檔中的文字進行斷句處理,分解為句子的集合;接著,對于每個句子,依據關鍵詞庫識別其中包含的關鍵詞,忽略未對應關鍵詞或屬于停用詞的文字。每個句子的關鍵詞序列構成所述待比對文檔的“文字結構表達”方式;所述“文本語義表達”方式包含從所有句子中提取的無重復的關鍵詞及其出現次數等信息。
[0008]進一步地,所述文檔比對子系統將待比對文檔與注冊文檔庫中的文擋進行文本內容比對,包括以下(Cl)?(C3)三個步驟:
(Cl)使用所述文檔注冊子系統自動學習得到的關鍵詞庫和所述方法,用“文本語義表達”和“文字結構表達”兩種方式表示待比對文檔;
(C2)使用待比對文檔的“文本語義表達”方式,與注冊文檔庫中的文檔一一進行語義相似性比對,獲取相似度最高的η篇注冊文檔;
(C3)使用待比對文檔的“文字結構表達”方式,與文本語義相似度最高的η篇文檔一一進行文字結構相似性比對,輸出相似度最高的m篇(m< η)文檔及每篇文檔與待比對文檔的文字結構匹配關系。
[0009]所述步驟(C2)使用待比對文檔以及每篇注冊文檔的“文本語義表達”方式,進行一一語義比對。具體地,首先將待比對文檔的“文本語義表達”方式作規范化處理(normalizat1n),以消除文本內容長度差異帶來的影響;接著,與注冊文檔庫中每篇做過同樣規范化處理的文檔“文本語義表達”方式進行比對,計算文本語義相似度;最后,輸出注冊文檔庫中與待比對文檔語義相似度最高的η篇文檔。其中,η是用戶給定的一個相對于注冊文檔數目而言很小的數;或者,用戶給定一個文本語義相似度閾值,輸出語義相似度大于該閾值的文檔,這種情況下,記輸出的注冊文檔數目為η。
[0010]所述步驟(C3)使用待比對文檔以及步驟(C2)輸出的每篇文檔對應的“文字結構表達”方式,進行一一文字結構比對。具體地,首先從注冊文檔庫提取出文本語義相似度最高的η篇文檔;接著,計算每篇注冊文檔與待比對文檔的文字結構相似度。文字結構相似度計算過程由以下(Wl)和(W2)兩個步驟組成:
(Wl)以句子為單位,計算待比對文檔的每個句子與注冊文檔每個句子中連續匹配的關鍵詞數目。設待比對文檔的句子數目為X,某篇注冊文檔的句子數目為Y,得到X X Y個匹配數目;記待比對文檔的第X個句子與注冊文檔第y個句子的連續匹配的關鍵詞數目為wxy;
(W2)使用二部圖(bipartite graph)分割算法求取兩篇文檔句子的最佳匹配方案。具體地,將待比對文檔的句子視作第一部分圖的X個節點,注冊文檔的句子為第二部分圖的Y個節點,wxy為二部圖每對節點間的權重。使用二部圖分割算法獲得最大化權重和的句子匹配方案,基于權重和計算兩篇文檔的文字結構相似度。
[0011]進一步地,所述步驟(C3)對η個文字結構相似度進行排序,輸出相似度最高的m篇文檔。其中,m是用戶給定的小于等于η的文檔數目;或者,用戶給定一個文字結構相似度閾值,輸出文字結構相似度大于該閾值的注冊文檔。對于輸出的每篇注冊文檔,根據所述步驟(W2)獲得的句子匹配方案,輸出注冊文檔與待比對文檔的句子匹配信息。
[0012]本發明的有益效果是,所述步驟(C2)首先使用快速的文本語義比對方法,只保留少量文本語義上最相似的文檔,再交由步驟(C3)進行效率較低的文字結構匹配,存在大量的需比對文檔(注冊文檔)時,可以大幅提高文檔的文本內容比對效率。同時,通過步驟(W2)的二部圖匹配方法還能夠輸出相似文檔文字結構上最佳的匹配方案,提供待比對文檔是否涉嫌抄襲的直觀、可驗證