專利名稱::基于神經網絡和標簽庫的語句相似度算法的制作方法
技術領域:
:本發明涉及一種語句相似度算法,具體地說,是涉及一種基于神經網絡和標簽庫的語句相似度算法。
背景技術:
:近年來,由于網絡新應用的不斷出現,特別是互聯網概念的提出及深化,網絡流量與行為發生了極大的變化,動搖了互聯網的傳統理論基礎,即流量模型從基于泊松分布轉變為具有自相似的特性。對網絡流量的分布、流量特性、傳輸的效率、用戶與網絡行為等方面缺乏準確的理解和精確的描述,嚴重影響了對網絡資源的有效利用與網絡自身的發展,從而使得網絡的可控性和可管理性越來越差,網絡提供的服務質量與用戶的需求和期望存在著尖銳的矛盾。如何從大規模的數據中最大限度地挖掘出互聯網用戶的興趣、行為模式,如何對這些數據進行以用戶為中心的分類是非常迫切需要解決的問題。數據挖掘的最終意義就在于幫助人們對信息進行理解,數據的分類、聚類、關聯規則的發現等等都是為信息的理解服務。大規模的網絡數據意味著數據是多維的、異構的、復雜的,如何對這些數據進行有效的理解成了一個巨大的挑戰。對于網絡數據來說,除了常規的一些數據挖掘方法外,如何利用網絡分層來理解信息非常值得研究。神經網絡是模擬人類的形象直覺思維,在生物神經網絡研究的基礎上,根據生物神經和神經網絡的特點,通過簡化、歸納,提煉總結出來的一類并行處理網絡,利用其非線性映射的思想和并行處理的方法,用神經網絡本身的結構來表達輸入和輸出的關聯知識。人工神經網絡(ANN)是由大量并行分布式處理單元組成的簡單處理單元.它有通過調整連接強度而從經驗知識進行學習的能力并可將這些知識進行運算.是模擬人腦的一種技術系統。由于人工神經網絡具有對噪聲數據的高承受能力和低錯誤率的優點,因此,各種網絡訓練算法的陸續提出與優化,尤其是各種網絡剪枝算法和規則提取算法的不斷提出與完善,使得人工神經網絡在數據挖掘中的應用越來越為廣大使用者所青睞。語句相似度計算在自然語言處理領域具有非常廣泛的應用背景,例如在問答系統中通過語句相似度計算找到與問題相匹配的答案;在自動文摘系統中通過語句相似度計算去除冗余信息,抽取文摘句;在信息檢索系統中通過語句相似度計算找到與用戶需求相似的語句;在基于實例機器翻譯中通過語句相似度計算匹配相似的語句,得到需要的譯文等等。因此,長期以來,句子相似度的算法研究,一直為人們所熱衷。目前,研究語句相似度的方法有基于相同詞匯的方法、使用語義依存的方法、計算編輯距離的方法、基于關鍵詞的方法、使用語義詞典的方法、基于語境框架的方法、基于屬性論的方法以及基于統計的方法等等。其中,基于相同詞匯的方法有很明顯的局限性它對同義詞之間的替換無能為力;使用語義詞典的方法,雖然可以很好地解決同義詞替換問題,但是單純地使用語義詞典的方法,又沒有考慮到語句內部結構和詞語之間的相互作用關系,準確率不高;計算編輯距離的方法通常被用于句子的快速模糊匹配領域,但是其規定的編輯操作不夠靈活,也沒有考慮詞語的同義替換;而基于統計的方法,需要構造大量的訓練語料,工作量十分巨大,而且還存在著數據稀疏的問題。
發明內容本發明的目的在于提供一種種基于神經網絡和標簽庫的語句相似度算法,結合基于依存的語義距離計算方法和編輯距離的計算方法的優點,揚長避短、互為補充,計算出語句之間的相似度,并獲得較高的準確率。為了實現上述目的,本發明采用的技術方案如下基于神經網絡和標簽庫的語句相似度算法,其特征在于,包括以下步驟(l)載入分別帶有神經網絡的語義詞典和同義詞詞林;(2)輸入完整的待分析語句;(3)利用依存文法分析器分析出語句的整體句法結構,然后對語句進行分層,并獲取語句的有效成分序列;(4)根據分層及其有效成分序列,確定語句在exUCL標簽庫中對應的標題字段;(5)判斷語句是否有相似詞對,若有則計算語句的相似度,反之,則重新輸入新的待分析語句,再次進行相似度計算。所謂exUCL是指網頁數據多層語義描述標簽。所述整體句法結構的分層包括第一層,語句的謂語中心詞;第二層,謂語中心詞的有效支配成分。所述第二層獲取的方法是利用依存算法分析器對語句進行分詞和詞性標注。所述語句相似度計算包括對第一層進行語義距離計算和對第二層進行編輯距離計算。所述語義距離計算公式如下S(Sen"Seri2)=A氺SIM(Ser^,Sen2)+(1-A)*SIM'(Se&,Sen2)所述語句相似度按照下列公式計算5等,,&)=Ma(m,打)其中,Dis(SpS2)=aXdisJSpS2)+PXdisJSpS2)所述語句相似度計算完成后,還將計算結果發送至神經網絡進行訓練,并將訓練結果輸入至語義詞典和同義詞詞林,實現語義詞典和同義詞詞林的動態更新。本發明的總體思想借鑒骨架依存樹的思想,首先分析出句子的整體句法結構,所謂的整體句法結構,就是用該語句的謂語中心詞及其有效支配成分來表示。它的特點是把一個語句分成兩個層次,第一層為語句的謂語中心詞,第二層為語句中謂語中心詞的有效支配成分。當得到這兩個層次以后,對第一層利用語義詞典進行語義距離計算,在計算的同時,語義詞典會在使用的過程中不斷利用神經網絡進行自主學習,從而不斷完善語義詞典的功能。而第二層則利用編輯距離的方法計算,最后將兩個層次得到的結果相加。本發明的基本方法為首先,利用依存文法分析器析出句子的整體句法結構,得到句子的謂語中心詞,即句子的第一層,然后再利用依存算法分析器的分詞和詞性標注功能分別得到兩個句子的第二層的m個和n個有效成分序列wll,wl2,…,wlm和w21,w22,…,w2n,得到這兩個層次以后就可以對兩個句子的相似度進行計算。計算公式見式(8)與(9):4,,,S2)=^i^其中Dis(Sl,S2)為兩個句子的編輯距離,disJSl,S2)和dis2(Sl,S2)分別為兩個層次的距離,并對不同層賦予不同的權重。m和n分別為兩句子第二層有效成分的個數。本發明主要利用了基于依存的語義相似度算法體現句子內部的結構和詞語之間的相互作用關系的特點,以及編輯距離算法由于同義詞詞林的應用可以兼顧同義詞之間的替換,并體現組成語句的每個詞深層的語義信息的優點,在此基礎上,將兩種算法有效地組合起來,充分利用兩種方法的優點,實現從語句的詞匯及詞匯之間的結構關系兩方面來表達語句的信息,從而使語句相似度的算法精度大大提高。本發明屬于大規模網絡數據集成與挖掘技術中語義的抽取技術,主要應用于數據檢索、抽取文摘、網絡安全監控等領域。圖l為本發明的系統框圖。圖2為本發明的程序流程圖。圖3為"愛因斯坦是一位當代杰出人才"的依存關系示意圖。圖4為"愛因斯坦是一位當代杰出人才"的依存樹示意圖。圖5為"事發后,傷員被及時送往就近醫院救治"的依存樹示意圖。圖6為"晚上7時左右,所有傷員被送到了醫院"的依存樹示意圖。圖7為"事發后,傷員被及時送往就近醫院救治"的語義依存樹示意圖,圖8為"晚上7時左右,所有傷員被送到了醫院"的語義依存樹示意圖,圖9為"愛吃蘋果"和"喜歡吃香蕉"的編輯距離示意圖。具體實施例方式下面通過舉例來對本發明作詳細描述。在此先分別介紹基于依存的語義相似度算法和編輯距離算法。—.基于依存的語義相似度算法依存句法是由法國語言學家L.Tesniere在其著作《結構句法基礎》(1959年)中提出的。依存文法通過分析語言單位內成分之間的依存關系揭示其句法結構,主張句子中動詞是支配其他成分的中心成分,而它本身卻不受其他任何成分的支配,所有受支配成分都以某種依存關系從屬于支配者。二十世紀七十年代,Robinson提出依存語法中關于依存關系的四條公理,在處理中文信息的研究中,中國學者又提出了依存關系的第五條公理①一個句子中只有一個成分是獨立的;②其它成分直接依存于某一成分;③任何一個成分都不能依存于兩個或兩個以上的成分;如果A成分直接依存于B成分,而C成分在句中位于A和B之間,那么C或者直接依存于B,或者直接依存處于A和B之間的某一成分;⑤中心成分左右兩邊的其它成分相互不發生關系。在利用依存文法進行相似度計算時,只考慮那些有效搭配對之間的相似程度。所謂有效搭配對是指全句核心詞和直接依存于它的有效詞組成的搭配對,這里有效詞定義為動詞、名詞以及形容詞,它是由分詞后的詞性標注決定的。(1)句子依存結構的建立利用依存結構計算句子間的相似度,關鍵的一步是如何獲得句子各成分間的依存關系信息。本發明中采用了哈爾濱工業大學計算機科學與技術學院信息檢索研究室所作的依存句法分析器。通過該依存句法分析器的分析,句子各成分之間的依存關系可以表示如下圖l所示例句愛因斯坦是一位當代杰出人才,其依存關系如圖3,把該結果形成立體結構的依存樹,可以表示為如圖4所示結構。(2)相似度計算依存樹是一個復雜的非線性關系,如果對整個依存樹進行完全匹配的話,所花費的代價是巨大的;另外,一個完整的漢語句子是由句子的關鍵成分和修飾成分所構成,而人們往往從關鍵成分就可以了解一個句子的大概意思。但由于漢語表達形式的多樣性,相同的關鍵成分可用不同的修飾成分來修飾,如果強調修飾成分,這無疑會給句子間相似度的計算增加噪音。基于以上兩點,利用依存結構進行相似度計算時,只考慮那些有效搭配對之間的相似程度。所謂有效搭配對是指全句核心詞和直接依存于它的有效詞組成的搭配對,這里有效詞定義為動詞、名詞以及形容詞,它是由分詞后的詞性標注決定的。例如以下兩個句子間的比較例句1:事發后,傷員被及時送往就近醫院救治,其依存樹如圖5所示。例句2:晚上7時左右,所有傷員被送到了醫院,其依存樹如圖6所示。從圖5和圖6中可以看出,所以例句1的有效搭配對為送往_傷員、送往_醫院、送往_救治。例句2的有效搭配對為送到_傷員、送到_醫院。只要比較它們之間的相似程度即可,這樣一來比較算法的復雜度就大大降低,而準確率也會得到一定程度的提高。相似度計算公式見式(1):s/m(5^,&)=-^-(;l)式中£附為句子1和句子2有效搭配對匹配的總權重,PairCoun^為句子1有效搭配對數,PairCount2為句子2有效搭配對數。上述算法中,大配對的匹配權重是這樣定義的假設有兩個搭配對①Wordl_Word2②Wordl,_Word2,;如果Wordl=Wordl'且Word2=Word2'則搭配對①和搭配對②的匹配權重為1;如果Wordl-Wordl'且Word2=Word2'或者Wordl=Wordl'且Word2-Word2',則搭配對①和搭配對②的匹配權重為0.5;否則為0。所以由上面公式就可以求出例句1和例句2的相似度見式(2):A7,V/(',,&",)=^^L0^二-0.33(2)在上面的兩個例句中,例句1的核心詞"送往"和例句2的核心詞"送到"意思本來差不多,但以關鍵詞匹配的方法并不能匹配上,所以又引入了語義依存樹作為補充,如圖7和圖8。在此基礎上,例句1和例句2的語義相似度的計算公式見式(3):<formula>formulaseeoriginaldocumentpage7</formula>式中力『?為句子1和句子2有效語義搭配對匹配的總權重,PairCount/為句子1有效語義搭配對數,PairCount/為句子2有效語義搭配對數。從上圖可以看出,句1中"送往"和句2中"送到"的語義都為903,這樣一來"送往"和送到自然就匹配上了。所以上例兩句中的語義相似度由公式(4)計算<formula>formulaseeoriginaldocumentpage7</formula>由于基于關鍵詞和基于語義的方法有著各自的優缺點,所以改進后算法最后用下面的公式(5)確定句子之間的相似度<formula>formulaseeoriginaldocumentpage7</formula>本發明中,取A=0.5。二.編輯距離算法編輯距離算法是用來計算從原串(s)轉換到目標串(t)所需要的最少的編輯操作數目,編輯操作有"插入"、"刪除"和"替換"三種。本發明所述編輯距離算法借鑒了車萬翔[65]利用改進編輯距離方法計算中文句子的相似度的方法,以"愛吃蘋果"和"喜歡吃香蕉"為例,兩者的編輯距離如圖9所示。該方法的主要思想是以普通編輯距離算法為基礎,采用詞語取代單個的漢字或字符作為基本的編輯單元參與運算。同時使用了Hownet和同義詞詞林兩種語義資源,計算詞匯之間的語義距離,加入詞語的語義相似信息確定詞語之間的替換代價,并且賦予不同編輯操作不同的權重。在相似度計算時,該方法充分考慮了句子中每個詞的深層信息,使表面不同、深層意義相同的詞被挖掘出來,在不用經過詞義消歧和句法分析的情況下,兼顧了詞匯的順序和語義等信息,使之更加符合中文句子相似度計算的要求。(l)HotNet語義詞典簡介計算語義相似度,需要一定的語義知識資源作為基礎。在漢語中,人們常用董振東和董強先生創建的知網(HowNet)作為語義知識資源。知網是一個以概念為描述對象,以揭示概念與概念之間以及概念所具有的屬性之間的關系為基本內容的常識知識庫,它是一個網狀的有機的知識系統。語義詞典是知網的基礎文件,在這個文件中每一個詞語的概念及其描述形成一個記錄,每一個記錄都主要包含4項內容。其中每一項都由兩部分組成,中間以"="分隔。每一個"="的左側是數據的域名,右側是數據的值。它們排列如下NO.=詞或短語序號W_X=詞或短語G_X=詞或短語的詞性E_X=詞或短語的例子DEF=概念定義其中的W_X、G_X、E_X構成每種語言的記錄,X用以描述記錄所代表語種,X為C則為漢語,為E則為英語。每個詞語由DEF來描述其概念定義,DEF的值由若干個義原及它們與主干詞之間的語義關系描述組成,義原是知網中最基本的、不易于再分割的意義的最小單位。在此使用HotNet語義辭典作為同義詞擴展的資源。HotNet中同義詞的定義為具有相同的英語譯文(W_E)和語義定義(DEF)的詞匯。例如"我"和"俺",簡化詞條如下<table>tableseeoriginaldocumentpage8</column></row><table>可見,"我"和"俺"具有相同的英語譯文(W—E)"I"和語義定義(DEF)"firstPerson/我",是一對同義詞。表l中給出了使用HotNet進行詞擴展的一些例子。從中可以看出,使用HotNet進行詞的擴展,效果是比較理想的。表1HotNet進行詞擴展示例<table>tableseeoriginaldocumentpage8</column></row><table>(2)同義詞詞林的使用本發明中,編輯距離算法還用到了《同義詞詞林》,其基本思想就是利用詞林中對每個詞提供的語義編碼進行兩個詞之間的語義距離計算。本發明中的《同義詞詞林》將詞的詞義逐級劃分為5層,描述了一個由上到下、由寬泛概念到具體詞義的語義分類體系,并將所收的詞按詞義分門別類組織在其中。每個漢語詞都按照其語義,賦予了一個或多個5位的語義代碼。與此分類體系相對應的是一個詞義的編碼體系,描述如下〈詞義編碼>::=〈1層X2層X3層X4層X5層>〈1層>::=〈大寫英文字母>〈2層>::=〈小寫英文字母>〈3層>::=〈數字X數字〉〈4層>::=〈大寫英文字母>〈5層〉=〈數字X數字〉對于A,B兩詞之間的語義距離,只要查到他們的語義編碼,然后用公式(6)進行計算^D/W(j,_S)=min^fo/(",6)(6)其中P,Q分別為A,B兩詞具有語義的集合。語義a,b之間的距離為dist(a,b)=2X(7-n)(7)其中,n為它們之間的語義代碼從第n層開始不同,全部相同語義距離為O。如"蘋果"Bh07A14,"香蕉"Bh07A34,"喜歡"Gb09A01,"愛"Gb09A01。用上面的公式可知Dist(蘋果,香蕉)二2,Dist(喜歡,愛)=0。從以上的操作可以看出利用詞林進行語義距離計算相似度比較方便、快捷。下面以網絡監管為例來對本發明的實施過程進行描述。首先,在網絡監控中心的主機上載入語義詞典和同義詞詞林,然后從網絡上獲取網絡內的原始數據信息(即數據流);隨后通過分析語言單位內成分之間的依存關系揭示其整體句法結構,得到語句的謂語中心詞,然后再利用依存文法分析器的分詞和詞性標注功能分別得到語句有效成分序列并對語義詞典進行擴展更新,再通過本發明所在主機結合exUCL標簽庫的標引方法對所獲取的原始數據信息進行分析,確定該原始數據信息在標簽庫中對應的標題字段,確定后計算兩者相似度。對于網絡監控來說,一般只需要監控網絡的原始數據信息中是否出現違反規定的內容,如法輪功、色情等內容,因此,在計算語句相似度時,只需要計算與監控內容接近的原始數據信息的相似度,如原始數據中出現了與法輪功接近的詞語,則計算該原始數據與法輪功的語句相似度,在此基礎上,網絡監管人員可根據結果進行相應的操作,如斷網、向有關管理部門通報等等。在計算語句相似度的同時,利用神經網絡技術對得到的結論進行學習、訓練以更新語義詞典和同義詞詞林。本發明中所述的神經網絡是經過系統建模后構建出來的適合網絡應用的神經網絡,使用時先進行初始化,再對語句相似度的計算結果進行訓練。本發明還可以應用到商品銷售的貨物驗證系統中,銷售商只需要將商品的數量、編號、EPC和具體時間輸入到驗證系統中,購買方即可查看商品的數據信息是否有效,從而判斷該商品是否是正品。9權利要求基于神經網絡和標簽庫的語句相似度算法,其特征在于,包括以下步驟(1)載入分別帶有神經網絡的語義詞典和同義詞詞林;(2)輸入完整的待分析語句;(3)利用依存文法分析器分析出語句的整體句法結構,然后對語句進行分層,并獲取語句的有效成分序列;(4)根據分層及其有效成分序列,確定語句在exUCL標簽庫中對應的標題字段;(5)判斷語句是否有相似詞對,若有則計算語句的相似度,反之,則重新輸入新的待分析語句,再次進行相似度計算。2.根據權利要求1所述的基于神經網絡和標簽庫的語句相似度算法,其特征在于,所述整體句法結構的分層包括第一層語句的謂語中心詞,第二層謂語中心詞的有效支配成分。3.根據權利要求2所述的基于神經網絡和標簽庫的語句相似度算法,其特征在于,所述第二層獲取的方法是利用依存算法分析器對語句進行分詞和詞性標注。4.根據權利要求3所述的基于神經網絡和標簽庫的語句相似度算法,其特征在于,所述語句相似度計算包括對第一層進行語義距離計算和對第二層進行編輯距離計算。5.根據權利要求4所述的基于神經網絡和標簽庫的語句相似度算法,其特征在于,所述語義距離計算公式如下<formula>formulaseeoriginaldocumentpage2</formula>6.根據權利要求5所述的基于神經網絡和標簽庫的語句相似度算法,其特征在于,所述語句相似度按照下列公式計算其中,<formula>formulaseeoriginaldocumentpage2</formula>7.根據權利要求1或6所述的基于神經網絡和標簽庫的語句相似度算法,其特征在于,所述語句相似度計算完成后,還將計算結果發送至神經網絡進行訓練,并將訓練結果輸入至語義詞典和同義詞詞林。全文摘要本發明公開了一種基于神經網絡和標簽庫的語句相似度算法,其特征在于,包括以下步驟(1)載入分別帶有神經網絡的語義詞典和同義詞詞林;(2)輸入完整的待分析語句;(3)利用依存文法分析器分析出語句的整體句法結構,然后對語句進行分層,并獲取語句的有效成分序列;(4)根據分層及其有效成分序列,確定語句在exUCL標簽庫中對應的標題字段;(5)判斷語句是否有相似詞對,若有則計算語句的相似度,反之,則重新輸入新的待分析語句,再次進行相似度計算。本發明結合了基于依存的語句相似度算法和編輯距離算法的優點,使計算精度大大提高。文檔編號G06F17/30GK101777042SQ20101002814公開日2010年7月14日申請日期2010年1月21日優先權日2010年1月21日發明者王娟娟,邢玲,馬建國申請人:西南科技大學