本發(fā)明屬于自然語言處理和深度學習技術領域,具體為一種基于注意力機制的雙向長短期記憶神經(jīng)網(wǎng)絡和條件隨機場的中文分詞方法。
背景技術:
中文分詞是指將連續(xù)的中文字符串按照一定的規(guī)范分割成詞序列的過程。中文不同于英文,其自身特點在于中文是以字為基本的書寫單位,句子和段落之間通過分界符來劃界,但詞間并沒有形式上的分界符,而在自然語言處理中,詞是最小的能夠獨立活動的有意義的語言成分,所以分詞的質量的好壞直接影響之后的自然語言處理任務。中文分詞問題作為終于自然語言處理領域的重要基礎研究,從20世紀80年代提出到現(xiàn)在,常用的研究方法可以分為以下四類:(1)基于字典的字符串匹配的方法;(2)基于語言規(guī)則的方法;(3)基于傳統(tǒng)概率統(tǒng)計機器學習模型的方法;(4)基于深度神經(jīng)網(wǎng)絡模型的方法?;谠~典的字符串匹配方法速度塊,實現(xiàn)簡單,但對歧義和詞典未收錄詞處理不好?;谡Z法規(guī)則的方法具有針對性和暫時較高的準確率,但由于句法構造的領域相關性,適應性較差,詞典與歧義消解處理難維護。基于傳統(tǒng)概率統(tǒng)計機器學習模型的方法有隱馬爾可夫模型(hiddenmarkovmodel,hmm)方法、最大熵模型(maximumentropymodel)方法和條件隨機場(conditionalrandomfields,crf)方法等。這些方法能平等地看待詞典詞和未登錄詞的識別,但是模型的訓練是基于提取出的人為設定的特征,而且性能受限于特征的選擇和提取?;谏疃壬窠?jīng)網(wǎng)絡模型,如長短期記憶(longshort-termmemory,lstm)神經(jīng)網(wǎng)絡,可以盡可能避免特征工程的影響并克服了傳統(tǒng)神經(jīng)網(wǎng)絡缺失長期依賴關系的問題,逐漸應用到中文分詞等自然語言處理任務中。然而,lstm神經(jīng)網(wǎng)絡只能記住過去的上文信息。由于中文句子的結構較為復雜,有時需要聯(lián)系下文的信息才能做出判斷。為了實現(xiàn)更加準確的分詞,本發(fā)明把雙向長短期記憶神經(jīng)網(wǎng)絡強大的建模能力與crf在概率模型方面基于局部最優(yōu)推測標簽的能力相結合,并且在模型中加入了注意力機制,提出了一種基于注意力機制的雙向長短期記憶神經(jīng)網(wǎng)絡和條件隨機場的中文分詞方法。
技術實現(xiàn)要素:
本發(fā)明的目的在于提出一種注意力機制的雙向長短期記憶神經(jīng)網(wǎng)絡和條件隨機場的中文分詞方法。說明了如何通過輸入的句子生成對應的分詞標記序列。
為了實現(xiàn)以上目的,本發(fā)明采用的技術方案,包括以下步驟:
步驟1:將不超過指定長度的中文文本輸入到系統(tǒng)中作為輸入序列a。
步驟2:將將步驟1中所述的輸入序列a傳遞給詞向量查找層,把輸入的字符轉化為詞向量,得到輸出序列b。
步驟3:將步驟2中所述的序列b作為輸入序列傳遞給基于注意力機制的雙向長短期記憶神經(jīng)網(wǎng)絡,并隨后通過一層隱藏層,得到輸出序列c。
步驟4:將步驟3中所述的序列c作為輸入序列傳遞到線性鏈式條件隨機場解碼層,生成分詞標記標簽序列d。
步驟5:將步驟4得到的分詞標記標簽序列d轉化為用空格隔開的文本序列e。
上述的中文文本是由一個或多個句末帶有終結符號的句子構成的文本,并且文本符合中文語法規(guī)則,其中終結符包括句號、問號、感嘆號、逗號和分號。上述的詞向量查找層,指的是通過現(xiàn)有的神經(jīng)網(wǎng)絡模型(word2vec)預先訓練出的字符與向量對應表。上述的隱藏層的初始化輸入包括雙向長短期記憶神經(jīng)網(wǎng)絡隱藏層由前向后的初始化狀態(tài)及由后向前的初始化狀態(tài),及三層長短期記憶神經(jīng)網(wǎng)絡每層的初始化狀態(tài),都采用所述句子的句向量。上述的基于注意力機制的雙向長短期記憶神經(jīng)網(wǎng)絡所用單元是基于注意力機制的長短期記憶神經(jīng)網(wǎng)絡(lstmn)單元,其特點是其記憶單元使用注意力機制減少記憶壓縮。上述的分詞標記標簽是指{bmes}標簽系統(tǒng),其中b指begin表示詞首,m指middle表示詞中,e指end表示詞尾,s指single表示單個詞。本方法中使用小批量隨機梯度下降訓練神經(jīng)網(wǎng)絡層。
在以下附圖和說明中描述了本說明書中所述主題的一些實施例的細節(jié)。依據(jù)說明、附圖和權利要求書,使用基于注意力機制的雙向長短期記憶神經(jīng)網(wǎng)絡和條件隨機場的中文分詞的方法的其他特征、方面和優(yōu)點會是顯而易見。
附圖說明
圖1是基于注意力機制的雙向長短期記憶神經(jīng)網(wǎng)絡和條件隨機場的中文分詞方法流程圖;
圖2是基于注意力機制的長短期記憶神經(jīng)網(wǎng)絡單元。
具體實施方式
結合附圖1和圖2,對依據(jù)本發(fā)明提供的具體實施方式,詳細說明如此下。
本發(fā)明旨在提供一種基于注意力機制的雙向長短期記憶神經(jīng)網(wǎng)絡和條件隨機場的中文分詞技術解決方案,包括五個部分,(1)把輸入中文文本轉換成字符向量;(2)訓練并通過基于注意力機制的雙向長短期記憶神經(jīng)網(wǎng)絡對序列進行建模;(3)通過線性鏈式條件隨機場(crf)得到序列的得分向量;(4)由得分向量得到每一個字符所對應的分詞標記標簽;(5)通過每一個字符所對應的分詞標記標簽轉化為用空格隔開的輸出分詞文本序列。
圖1表示從輸入文本序列到最終分詞序列輸出的整個流程。其中,輸入句子到輸出序列是將句子轉換成詞向量的過程示例。在其中可以實施下述的系統(tǒng)、組件和技術。
將單詞轉換成詞向量,詞向量可利用比較成熟的神經(jīng)網(wǎng)絡預先訓練出詞向量庫,如word2vec,glove,這兩個神經(jīng)網(wǎng)絡算法訓練出來的詞向量,相似詞或同類詞之間存在一定的線性關系或明顯的非線性關系,通過一個詞的詞向量可以找到它相似的詞。為了使得詞向量更具有語義,本發(fā)明采用word2vec訓練出100維的詞向量庫。
圖1中基于注意力機制的雙向長短期記憶神經(jīng)網(wǎng)絡,包括一個由前向后傳遞的基于注意力機制長短期記憶神經(jīng)網(wǎng)絡和一個由后向前的基于注意力機制長短記憶神經(jīng)網(wǎng)絡構成。每個基于注意力機制的雙向長短期記憶神經(jīng)網(wǎng)絡由指定長度即塊數(shù)的lstmn記憶單元構成,這里采用的序列長度最長是100。每個單元包括輸入門、忘記門、記憶門和輸出門,即lstmn記憶單元。雙向長短期記憶神經(jīng)網(wǎng)絡,能捕捉到每個詞左右上下文的信息,所以能夠更好地獲得語義。輸出向量通過乘以矩陣參數(shù)轉換成與隱藏層相同維度的向量,矩陣參數(shù)通過訓練整個神經(jīng)網(wǎng)絡獲得。
圖1示出的條件隨機場(crf)解碼層,在本層中綜合由基于注意力機制的雙向長短期記憶神經(jīng)網(wǎng)絡得到的向量,以及通過條件隨機場得到的概率向量,最后得出了分詞標記標簽的總得分向量。
圖1中的分詞標記標簽,表示的是一個維度為4的列向量,這個4表示{bems}標志,其中b指begin詞首,e指end詞尾,m指middle詞中,s指單字詞,找到文本序列對應字符的分詞標記標簽,即可轉化為用空格隔開的輸出分詞文本序列,如{“bebme”}轉化為{“球拍買完了”}。
圖2示出的基于注意力機制的長短期記憶神經(jīng)網(wǎng)絡單元。右側部分是常見的長短期記憶神經(jīng)網(wǎng)絡單元即lstm單元,陰影部分是與標準lstm單元不同的地方,在于多了一層對所有隱藏狀態(tài)與記憶狀態(tài)實施注意力機制。它明確保存了過去所有的信息通過注意力機制可以學習到怎么分析、調整利用過去所有的信息,方便理解當前的輸入,從而可以避免過長的距離導致信息壓縮與丟失。
上面是對整個神經(jīng)網(wǎng)絡結構和處理過程的完整解釋。最終需要訓練整個神經(jīng)網(wǎng)絡,才可以使用,輸入為一個中文文本,輸出的是由空格隔開的中文文本序列,如:input={“球怕賣完了”},output={“球拍買完了”}。使用時,只需要輸入一個中文文本序列,就可以輸出空格隔開的輸出中文分詞文本序列。