本發(fā)明專利技術屬于計算機自然語言處理技術領域,具體為基于深度學習的自然語言處理中的序列標注方法。本發(fā)明專利技術可以用于包括中文分詞、英文淺層句法分析、中英文詞性標注和命名識別等各種自然語言的序列標注任務。采用深度學習技術,對于所輸入的句子,通過計算機程序輸出句子中各組成單元的標簽類型。該序列標注方法的關鍵包括:基于深度學習的快速序列標注網(wǎng)絡結構和學習算法、綜合前向標簽信息的網(wǎng)絡結構和加速算法,以及這些關鍵技術的整合和集成方式。基于深度學習實現(xiàn)的系統(tǒng)具備參數(shù)規(guī)模小,使用速度快的優(yōu)點,非常適合于計算資源有限的環(huán)境,可以部署在手機等計算資源相對有限的移動計算平臺上,能夠較大地提高系統(tǒng)響應速度和用戶滿意度。
Sequence annotation method based on deep learning in Natural Language Processing
The invention belongs to the technical field of computer Natural Language Processing, in particular to a sequence annotation method based on deep learning Natural Language Processing. The present invention can be used for sequence labeling tasks of various natural languages, such as Chinese word segmentation, shallow parsing in English, Chinese and English POS tagging and naming recognition. The depth of learning technology, the input of the sentence, through the computer program to output the syntax of each unit of the label type. The key of the sequence annotation methods include: rapid sequence annotation deep learning network structure and learning algorithm, to label information network structure and algorithm based on, and the integration of these key technologies and integrated mode. The system realized with deep learning parameters based on small scale, fast to use, very suitable for the limited computing resources can be deployed in mobile environment, mobile phone and other computing resources relatively limited computing platform, can greatly improve the system response speed and user satisfaction.
【技術實現(xiàn)步驟摘要】
本專利技術屬于計算機自然語言處理
,具體涉及一種自然語言處理中序列標注方法。
技術介紹
深度學習是近期人工智能研究取得突破性的進展,它結束了人工智能長達十年未能有突破性進展的局面,并迅速在工業(yè)界產(chǎn)生影響。深度學習有別于僅可以完成特定任務的狹隘的人工智能系統(tǒng)(面向特定任務的功能模擬),作為通用的人工智能技術,可以應對各種情況和問題,已在圖像識別、語音識別等領域得到極其成功的應用,在自然語言處理領域(主要是英文)也取得一定成效。深度學習是目前實現(xiàn)人工智能最有效、也是取得成效最大的實施方法。比較傳統(tǒng)技術,基于深度學習實現(xiàn)的系統(tǒng)還具備參數(shù)規(guī)模小,使用速度快的優(yōu)點,非常適合于計算資源有限的環(huán)境。在自然語言處理領域,針對序列標注,包括中文分詞、英文淺層句法分析、中英文詞性標注和命名識別等各種自然語言處理中的序列標注問題,雖然已有的基于深度網(wǎng)絡的方法已經(jīng)能夠達到與傳統(tǒng)方法相似的性能,但其模型包含的參數(shù)量依然較多,使用時間仍然較長,標注性能還有待進一步提高。針對上述問題,本專利技術提出了一種新的基于深度學習的快速序列標注方法,不僅較大幅度加快了網(wǎng)絡標注所需的訓練和使用時間,同時能夠綜合前向標簽類型來提高標注的準確性。
技術實現(xiàn)思路
本專利技術的目的在于提出一種標注準確性高、所需時間短的自然語言處理中序列標注的方法。本專利技術提供的自然語言處理中序列標注的方法,是運用計算機對輸入語句,根據(jù)任務定義的標簽集合,為句子中的每一個組成單元(字或詞)按其出現(xiàn)順序選擇相應的標簽類型。該方法可以用于包括中文分詞、英文淺層句法分析、中英文詞性標注和命名識別等各種自然語言中的序列標注任務。序列標注是指根據(jù)任務的標簽集合,對于輸入的句子,通過計算機程序輸出句子中各組成單元(如:中文的字或英文的詞)的標簽類型。以中文分詞為例,一般采用包括B、I、E和S四個標簽,分別表示詞的開始字、中間字、結束字和單獨成詞的字。如果輸入“我喜歡計算機。”,正確的標注結果為“SBEBIES”(標點符號一般也作為組成單元看待),即將句子劃分成“我/喜歡/計算機/。”。本專利技術的序列標注方法的特點是標注速度快、系統(tǒng)配置要求低(適用于計算和存儲資源有限的設備)、準確性高。本專利技術提供的自然語言處理中序列標注的方法,具體步驟如下:(1)對相應語言的每一個組成單元(如:中文的字或英文的詞)訓練一個向量表示,該向量表示可以隨機生成或者采用無監(jiān)督的方法進行預訓練(比如:英文單詞可以采用Word2Vector工具[1],中文字符可以采用參考文獻[2]所述的方法),訓練以后,通過查找向量表的方式將每一個單元轉(zhuǎn)換成相應的向量表示。(2)定義各種序列標注任務的標簽集合,確定每種序列標注任務分別包括哪些標簽。以中文分詞為例,可以采用包括B、I、E、S的標簽集合,分別表示詞的開始字、中間字、結束字、單獨成詞的字。(3)準備中文分詞、英文淺層句法分析、詞性標注、命名識別等自然語言處理中序列標注任務的語料。(4)采用快速序列標注網(wǎng)絡結構(如圖1所示)或綜合前向標簽信息的網(wǎng)絡結構(如圖2所示),采用Perceptron-style算法或者Perceptron-style算法與Max-margin相結合算法對網(wǎng)絡進行訓練。如采用基于深度學習的快速序列標注網(wǎng)絡結構和學習算法進行網(wǎng)絡訓練,其快速序列標注網(wǎng)絡結構如圖1所示,其中,句子中每一個組成單元(如:中文的字或英文的詞)通過查找向量表的方式轉(zhuǎn)換成相應的向量表示;每一個組成單元與其周圍的單元的向量拼接成窗口特征矩陣;采用單維卷積將窗口特征矩陣轉(zhuǎn)換成窗口特征向量表示;對窗口特征向量依次進行非線性變換和線性轉(zhuǎn)換,輸出維度與任務標簽數(shù)量相等的向量,向量每一元素表示對應標簽的可能性;結合標簽轉(zhuǎn)移概率矩陣,采用維特比解碼算法得到一個概率最高的標簽序列作為標注結果。具體實現(xiàn)方法是:一個組成單元的標簽一般與其周圍單元相關,因而網(wǎng)絡采用窗口模型,即在估計當前單元屬于某個標簽的可能性時,將這個單元以及周圍的單元作為輸入。如果窗口大小設置成5,則表示將這個單元及其左邊和右邊各兩個單元作為輸入窗口。如果左邊和右邊的字符數(shù)量不足于窗口規(guī)定的大小,則使用特殊的填充符代替。每一個輸入句子中的單元將通過查找向量表的方式轉(zhuǎn)換成相應的向量表示。每一個單元的表示可以隨機生成或者采用無監(jiān)督的方法進行預訓練(比如:英文單詞可以采用Word2Vector工具[1],中文字符可以采用參考文獻[2]所述的方法)。存儲在向量表中的參數(shù)也會在訓練中進行不斷調(diào)整。之后將這些向量拼接成特征矩陣,特征矩陣的列數(shù)為窗口大小,每一列為對應單元的向量表示。然后對特征矩陣進行單維卷積運算,單維卷積是指對于特征矩陣每一行向量點積相應的參數(shù)向量(卷積核),不同行向量進行點積操作時使用不同的卷積核。在單維卷積的作用下,特征矩陣轉(zhuǎn)換成與單元向量維度相同的向量,該向量表示某一窗口的特征表示,可以看成是當前單元在周圍單元影響下所產(chǎn)生的語義特征表示。采用單維卷積的原因是不僅減少了模型的參數(shù),而且加快了模型的訓練和使用所需的時間。例如:較參考文獻[3]和[4]所述方法,模型所需參數(shù)數(shù)量從(d×w×h)下降至(d×w),其中:d為單元(字或詞)向量維度;w為窗口大小;h為中間隱層神經(jīng)元數(shù)量。接著經(jīng)過一個線性網(wǎng)絡層之后(中間隱層),使用Sigmoid或hardTanh函數(shù)進行非線性的變換,最后再使用一個線性層,輸出與任務標簽數(shù)量相等的向量,向量每一元素表示對應標簽的可能性。給定一個句子,隨著窗口從左向右的滑動,網(wǎng)絡會輸出一個矩陣,矩陣中的每一個元素fθ(t|i)表示句子中第i個單元屬于標簽t的可能性的估計,其中θ表示網(wǎng)絡的參數(shù)。在序列標注任務中,由于前后標簽之間有很強的依賴關系,引入矩陣Aij表示從標簽i跳轉(zhuǎn)到標簽j的可能性(也包含在參數(shù)集合θ內(nèi))。給定一個含有n個單元的句子s[1:n],可以為某個等長的標簽序列t[1:n]進行估分:Score(s[1:n],t[1:n],θ)=(公式1)在網(wǎng)絡參數(shù)給定的情況下,我們可以采用維特比解碼算法得到一個分值最高的標簽序列作為標注結果。訓練的方法是在訓練集上,要求每一個樣本的正確標注序列發(fā)生的概率最大:(公式2)其中:(s,t)表示訓練集中的一個樣本。訓練采用梯度下降法,網(wǎng)絡所有參數(shù)使用以下公式進行更新:(公式3)其中:λ表示學習步長。在計算公式3右側偏導時,為了避免指數(shù)計算超過雙精度數(shù)取值范圍和計算復雜性較高的問題,采用Perceptron-style算法,即僅計算出參數(shù)調(diào)整的方向,而其大小都為固定值1,從而簡化了參數(shù)調(diào)整的計算過程,加快了訓練速度。具體計算過程如下:當前網(wǎng)絡參數(shù)下比較最高得分的標注序列和正確標注序列,如不一致,在發(fā)生不一致的位置,設置導致錯誤標注序列的輸出位置的偏導為?1,而對應正確標注序列的輸出位置偏導為+1。同樣的偏導計算方法也適用于轉(zhuǎn)移矩陣Aij。模型參數(shù)訓練時同時結合使用Max-margin方法,即不僅要求正確標注序列的得分最高,而且要求其分值與不正確標注序列最高得分之差超過規(guī)定的閾值。如果采用綜合前向標簽信息的網(wǎng)絡結構和加速算法進行網(wǎng)絡訓練,部分關鍵網(wǎng)絡結構如圖2所示,其中,句子中每一個組成單元(如:中文的字或英文的詞)和每一個任務標簽通過查找向量表的本文檔來自技高網(wǎng)...

【技術保護點】
一種基于深度學習的自然語言處理中的序列標注方法,是運用計算機對輸入語句,根據(jù)任務定義的標簽集合,為句子中的每一個組成單元即字或詞按其出現(xiàn)順序選擇相應的標簽類型;其特征在于,具體步驟為:(1)為相應語言的每一個組成單元對應一個向量表示,該向量表示可以隨機生成或者采用無監(jiān)督的方法進行預訓練,訓練以后,通過查找向量表的方式將每一個單元轉(zhuǎn)換成相應的向量表示;?(2)定義各種序列標注任務的標簽集合,確定每種序列標注任務分別包括哪些標簽;?(3)準備中文分詞、英文淺層句法分析、詞性標注、命名識別等自然語言處理中序列標注任務的語料;(4)采用快速序列標注網(wǎng)絡結構或綜合前向標簽信息的網(wǎng)絡結構,采用Perceptron?style算法或者Perceptron?style算法與Max?margin相結合算法對網(wǎng)絡進行訓練;如采用基于深度學習的快速序列標注網(wǎng)絡結構和學習算法進行網(wǎng)絡訓練,其快速序列標注網(wǎng)絡結構中,一個組成單元的標簽與其周圍單元相關,因而網(wǎng)絡采用窗口模型,即在估計當前單元屬于某個標簽的可能性時,將這個單元以及周圍的單元作為輸入;如果窗口大小設置成5,則表示將這個單元及其左邊和右邊各兩個單元作為輸入窗口;如果左邊和右邊的字符數(shù)量不足于窗口規(guī)定的大小,則使用特殊的填充符代替;每一個輸入句子中的單元通過查找向量表的方式轉(zhuǎn)換成相應的向量表示;每一個單元的表示以隨機生成或者采用無監(jiān)督的方法進行預訓練;存儲在向量表中的參數(shù)也在訓練中進行不斷調(diào)整;之后將這些向量拼接成特征矩陣,特征矩陣的列數(shù)為窗口大小,每一列為對應單元的向量表示;然后對特征矩陣進行單維卷積運算,單維卷積是指對于特征矩陣每一行向量點積相應的參數(shù)向量即卷積核,不同行向量進行點積操作時使用不同的卷積核;在單維卷積的作用下,特征矩陣轉(zhuǎn)換成與單元向量維度相同的向量,該向量表示某一窗口的特征表示,可以看成是當前單元在周圍單元影響下所產(chǎn)生的語義特征表示;接著經(jīng)過一個線性網(wǎng)絡層之后,使用Sigmoid或hardTanh函數(shù)進行非線性的變換,最后再使用一個線性層,輸出與任務標簽數(shù)量相等的向量,向量每一元素表示對應標簽的可能性;給定一個句子,隨著窗口從左向右的滑動,網(wǎng)絡輸出一個矩陣,矩陣中的每一個元素fθ(t|i)表示句子中第i個單元屬于標簽t的可能性的估計,其中θ表示網(wǎng)絡的參數(shù);在序列標注任務中,由于前后標簽之間有很強的依賴關系,引入矩陣Aij表示從標簽i跳轉(zhuǎn)到標簽j的可能性;給定一個含有n個單元的句子s[1:n],為某個等長的標簽序列t[1:n]進行估分:Score(s[1:n],t[1:n],θ)=(公式1)在網(wǎng)絡參數(shù)給定的情況下,采用維特比解碼算法得到一個分值最高的標簽序列作為標注結果;訓練的方法是在訓練集上,要求每一個樣本的正確標注序列發(fā)生的概率最大:(公式2)其中:(s,?t)表示訓練集中的一個樣本;訓練采用梯度下降法,網(wǎng)絡所有參數(shù)使用以下公式進行更新:(公式3)其中:λ表示學習步長;在計算公式3右側偏導時,采用Perceptron?style算法,即僅計算出參數(shù)調(diào)整的方向,而其大小都為固定值1,具體計算過程如下:當前網(wǎng)絡參數(shù)下比較最高得分的標注序列和正確標注序列,如不一致,在發(fā)生不一致的位置,設置導致錯誤標注序列的輸出位置的偏導為?1,而對應正確標注序列的輸出位置偏導為+1;同樣的偏導計算方法也適用于轉(zhuǎn)移矩陣Aij;模型參數(shù)訓練時同時結合使用Max?margin方法,即不僅要求正確標注序列的得分最高,而且要求其分值與不正確標注序列最高得分之差超過規(guī)定的閾值;如果采用綜合前向標簽信息的網(wǎng)絡結構和加速算法進行網(wǎng)絡訓練,具體實現(xiàn)方法是:通過向量表,將每一個標簽也對應于一個向量表示,并且將每一個可能的標簽向量與當前窗口的特征矩陣進行并列,之后進行類似的單維卷積來產(chǎn)生相應的語義特征表示;網(wǎng)絡為每一個句子組成單元的每一種可能的前向標簽輸出與任務標簽數(shù)量相等的向量,向量的每一元素同樣表示對應標簽的可能性;結合轉(zhuǎn)移矩陣Aij,采用維特比解碼算法,得到一個分值最高的標簽序列作為標注結果;在計算不同前向標簽假設下的窗口語義特征表示可以對中間結果進行共享,從而加快網(wǎng)絡計算速度,具體加速方法是:首先計算出其重疊的部分,即不考慮前向標簽時的中間結果;然后計算不同標簽向量影響的部分;最后將中間結果加上標簽影響的部分得出最終計算結果;(5)新增和擴展語料后,在已訓練網(wǎng)絡參數(shù)基礎上采用相同訓練算法對參數(shù)進行調(diào)整,或者完全重新訓練網(wǎng)絡;具體訓練方法見步驟(4)所述;(6)網(wǎng)絡訓練結束后,在網(wǎng)絡參數(shù)給定的情況下,采用維特比解碼算法,得到一個分值最高的標簽序列作為標注的結果。...
【技術特征摘要】
1.一種基于深度學習的自然語言處理中的序列標注方法,是運用計算機對輸入語句,根據(jù)任務定義的標簽集合,為句子中的每一個組成單元即字或詞按其出現(xiàn)順序選擇相應的標簽類型;其特征在于,具體步驟為:(1)為相應語言的每一個組成單元對應一個向量表示,該向量表示可以隨機生成或者采用無監(jiān)督的方法進行預訓練,訓練以后,通過查找向量表的方式將每一個單元轉(zhuǎn)換成相應的向量表示;(2)定義各種序列標注任務的標簽集合,確定每種序列標注任務分別包括哪些標簽;(3)準備中文分詞、英文淺層句法分析、詞性標注、命名識別等自然語言處理中序列標注任務的語料;(4)采用快速序列標注網(wǎng)絡結構或綜合前向標簽信息的網(wǎng)絡結構,采用Perceptron-style算法或者Perceptron-style算法與Max-margin相結合算法對網(wǎng)絡進行訓練;如采用基于深度學習的快速序列標注網(wǎng)絡結構和學習算法進行網(wǎng)絡訓練,其快速序列標注網(wǎng)絡結構中,一個組成單元的標簽與其周圍單元相關,因而網(wǎng)絡采用窗口模型,即在估計當前單元屬于某個標簽的可能性時,將這個單元以及周圍的單元作為輸入;如果窗口大小設置成5,則表示將這個單元及其左邊和右邊各兩個單元作為輸入窗口;如果左邊和右邊的字符數(shù)量不足于窗口規(guī)定的大小,則使用特殊的填充符代替;每一個輸入句子中的單元通過查找向量表的方式轉(zhuǎn)換成相應的向量表示;每一個單元的表示以隨機生成或者采用無監(jiān)督的方法進行預訓練;存儲在向量表中的參數(shù)也在訓練中進行不斷調(diào)整;之后將這些向量拼接成特征矩陣,特征矩陣的列數(shù)為窗口大小,每一列為對應單元的向量表示;然后對特征矩陣進行單維卷積運算,單維卷積是指對于特征矩陣每一行向量點積相應的參數(shù)向量即卷積核,不同行向量進行點積操作時使用不同的卷積核;在單維卷積的作用下,特征矩陣轉(zhuǎn)換成與單元向量維度相同的向量,該向量表示某一窗口的特征表示,可以看成是當前單元在周圍單元影響下所產(chǎn)生的語義特征表示;接著經(jīng)過一個線性網(wǎng)絡層之后,使用Sigmoid或hardTanh函數(shù)進行非線性的變換,最后再使用一個線性層,輸出與任務標簽數(shù)量相等的向量,向量每一元素表示對應標簽的可能性;給定一個句子,隨著窗口從左向右的滑動,網(wǎng)絡輸出一個矩陣,矩陣中的每一個元素fθ(t|i)表示句子中第i個單元屬于標簽t的可能性的估計,其中...
【專利技術屬性】
技術研發(fā)人員:鄭驍慶,陳易,林孟瀟,
申請(專利權)人:復旦大學,
類型:發(fā)明
國別省市:上海;31
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。