• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于端到端模型的中文句法分析方法

      2021-06-22 03:03:32邵幫麗奚雪峰付保川
      關(guān)鍵詞:樹結(jié)構(gòu)句法結(jié)構(gòu)分詞

      楊 顥,徐 清,邵幫麗,奚雪峰*,付保川

      (1.蘇州科技大學(xué) 電子與信息工程學(xué)院,江蘇 蘇州 215009;2.蘇州市虛擬現(xiàn)實智能交互及應(yīng)用技術(shù)重點(diǎn)實驗室,江蘇 蘇州 215009;3.蘇州市公安局,江蘇 蘇州 215131)

      句法分析作為自然語言處理中的一項核心任務(wù),對信息抽取、自動問答及機(jī)器翻譯等自然語言處理上游任務(wù)起著重要的作用。句法分析就是識別出句子中所包含的句法單位以及句法單位之間的相互關(guān)系,并將分析結(jié)果自動表示成句法樹結(jié)構(gòu)。其主要工作可看作是從連續(xù)的句子線性序列到具有形式化樹結(jié)構(gòu)的轉(zhuǎn)換任務(wù)[1]。

      句法分析工作最早開始于20 世紀(jì)50 年代,人們在進(jìn)行機(jī)器翻譯任務(wù)研究時發(fā)現(xiàn)必須找到一種更深層次的句子表達(dá)方法,便開始了自然語言句法結(jié)構(gòu)分析任務(wù)的研究。目前的句法分析方法主要分為基于規(guī)則和基于統(tǒng)計兩大類[2]。英文句法分析任務(wù)開始較早,同時有認(rèn)可度較高的數(shù)據(jù)集支持,其中具有代表性的如美國賓夕法尼亞州大學(xué)標(biāo)注的賓州樹庫[3],因此新的算法往往首先在英文數(shù)據(jù)集上進(jìn)行實驗,最終延伸到其他語言的研究。Cross 等人[4]結(jié)合LSTM 神經(jīng)網(wǎng)絡(luò)基于句子成分的跨度(span)提出了一個移進(jìn)歸約的系統(tǒng),在英文賓州樹庫上的實驗結(jié)果F1值為91.30%,法語上F1值為83.31%;Socher 等人[5]則使用了一個結(jié)構(gòu)遞歸的神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network,RNN)來學(xué)習(xí)句法樹中的遞歸結(jié)構(gòu),也取得了一些成果;Hall 等人[6]提出直接從句法樹表層提取有效特征而不是通過分析句法樹內(nèi)部標(biāo)記關(guān)系,將句法分析工作的難點(diǎn)轉(zhuǎn)化成了特征工程,從而不需要考慮句法問題,大大降低了句法分析算法的復(fù)雜度,其F1值達(dá)到了89.2%。

      相對于英文句法分析,中文句法中語義關(guān)系更加復(fù)雜,同時因為缺乏較為成熟的標(biāo)注理論,標(biāo)準(zhǔn)漢語樹結(jié)構(gòu)語料庫的建設(shè)也相對滯后,這使得漢語的句法分析技術(shù)發(fā)展緩慢[2]。Fung P 等人[7]采用轉(zhuǎn)換學(xué)習(xí)的方法進(jìn)行分詞/詞性標(biāo)注,用極大熵模型識別短語,在第一版CTB 上測試F1值達(dá)到了75.09%;徐潤華[8]首先自行構(gòu)建了一個具有百萬級別搭配型的詞語搭配知識庫,將詞語搭配知識和基于句法功能匹配的句法分析算法相結(jié)合,構(gòu)建了一個基于詞語搭配知識和語法功能匹配的句法分析器(CGFM),在新華社新聞?wù)Z料開放數(shù)據(jù)集上F1值約80%。

      因為中文相對復(fù)雜的語法結(jié)構(gòu),中文的句法結(jié)構(gòu)分析大都聚焦于對句子進(jìn)行分詞和詞性標(biāo)注,分詞和詞性標(biāo)注的好壞直接決定了分析器的好壞。基于這一現(xiàn)狀,筆者嘗試采用雙向LSTM 神經(jīng)網(wǎng)絡(luò),并引入注意力機(jī)制[9],提出一種深度的端到端模型,將分詞、詞性標(biāo)注及句法結(jié)構(gòu)放在一起分析,簡化了句法分析任務(wù),降低了研究人員在分詞和詞性標(biāo)注上的專業(yè)性要求。在中文標(biāo)準(zhǔn)數(shù)據(jù)集CTB9 上的實驗表明,具有一定可行性和較好的識別率。

      1 任務(wù)描述

      1.1 CTB 理論

      CTB 項目1998 年開始于賓夕法尼亞州大學(xué),自2001 年發(fā)布Chinese Treebank 2.0 以來,16 年發(fā)布的最新版Chinese Treebank 9.0 已經(jīng)成為了一個具有多樣化數(shù)據(jù)來源且數(shù)量龐大的中文句法結(jié)構(gòu)數(shù)據(jù)集。賓州英文樹庫(PTB)的建立,驗證了英文詞性標(biāo)注及語法分析器English Part-Of-Speech(POS)Taggers 和Parsers的可用性,為中文樹庫的發(fā)展奠定了基礎(chǔ)[3]。中文樹庫建設(shè)團(tuán)隊借鑒英文樹庫經(jīng)驗并尋求專業(yè)的中文語言學(xué)家的幫助,最終將樹庫的標(biāo)注任務(wù)劃分為分詞、詞性標(biāo)注和切分短語結(jié)構(gòu)三個子任務(wù),以實現(xiàn)對不同層次的句法成分組合特點(diǎn)進(jìn)行細(xì)致的描述[10]。其標(biāo)注策略沿用了英文骨架分析(skelton parsing)的思想,形成比較扁平的句法結(jié)構(gòu)樹,并對短語的功能進(jìn)行了標(biāo)記[11]。CTB 結(jié)構(gòu)如圖1 所示。

      圖1 CTB 數(shù)據(jù)集結(jié)構(gòu)

      1.2 任務(wù)說明

      人工將大量的普通中文語句標(biāo)注成標(biāo)準(zhǔn)化的句法結(jié)構(gòu)樹,將耗費(fèi)巨大的人力物力。同時即便有統(tǒng)一的標(biāo)注存在,但其中仍然存在著標(biāo)注人員個人的主觀色彩,不可避免的使得最終的標(biāo)注標(biāo)準(zhǔn)化結(jié)果間存在差異。該文的主要任務(wù)是借用深度神經(jīng)網(wǎng)絡(luò),完成從自然語句到標(biāo)準(zhǔn)化句法結(jié)構(gòu)樹的自動生成標(biāo)注工作。

      2 模型

      2.1 預(yù)處理

      中文樹庫的數(shù)據(jù)集分為raw、segmened、postagged、bracketed 四個部分,文中選取了其中raw 和bracketed兩部分作為原始數(shù)據(jù)來源。利用word2vec 模型對原句進(jìn)行詞向量轉(zhuǎn)換[12],并將原數(shù)據(jù)轉(zhuǎn)換成包含原句及其對應(yīng)的樹結(jié)構(gòu)的二元組作為神經(jīng)網(wǎng)絡(luò)的輸入來訓(xùn)練模型。最終實現(xiàn)輸入原句得到相應(yīng)的樹結(jié)構(gòu)的效果。

      2.2 算法流程

      如圖2 所示,文中所采用的方法,首先,將CTB 數(shù)據(jù)集原始數(shù)據(jù)轉(zhuǎn)換成標(biāo)準(zhǔn)的二元組作為輸入,該二元組包括原始句子及其對應(yīng)的句法分析樹;然后,通過Tuple2Instance 方法,將標(biāo)準(zhǔn)二元組轉(zhuǎn)化成模型的輸入Instance,每一個Instance 包括句法樹中的句子關(guān)系、短語關(guān)系、詞性標(biāo)注、分詞四個部分;接著,將Instance 作為輸入,訓(xùn)練下文所提到的Encoder-Decoder 模型;最后,經(jīng)過調(diào)參及訓(xùn)練得到最優(yōu)模型。

      圖2 算法流程圖

      2.3 模型結(jié)構(gòu)

      將樹結(jié)構(gòu)的自動生成看作一個Seq2Seq 任務(wù)[13],輸入中文自然語句X=(x1,x2,…,xn),其中xi表示句子中的第i 個單詞,n 表示句子長度;輸出序列Y=(y1,y2,…,ym),其中m 表示得到的樹結(jié)構(gòu)序列長度。希望由給定的輸入序列X 得到語義解析樹Y 的條件概率p(Y|X)

      其中yj表示輸出序列中的第j 個token,Y1j-1表示輸出序列中的第1 個到第j-1 個序列,表示輸出的自然語句。筆者針對這個Seq2Seq 任務(wù),結(jié)合CTB 的結(jié)構(gòu)[10]表示和Liu 等人[14]相關(guān)工作提出了一種Encoder-Decoder 模型。模型結(jié)構(gòu)如圖3 所示。

      圖3 文中模型結(jié)構(gòu)

      2.3.1 編碼結(jié)構(gòu)

      文中采用雙向的長短時記憶網(wǎng)絡(luò)(bi-LSTM)作為編碼器[15],意在通過該編碼器將輸入的中文句子Χ 轉(zhuǎn)化成向量表示。首先,將句子中的每一個token xi都轉(zhuǎn)化成一個向量表示,其中表示隨機(jī)初始化的詞嵌入,表示預(yù)訓(xùn)練的詞嵌入,W1表示(dw+dp)×dinput維度的矩陣,其中w、p 和input 分別表示分詞的詞向量、預(yù)訓(xùn)練的詞向量和輸入分詞的維度,b1是一維n 列的隨機(jī)向量,“+”表示將橫向拼接在一起。最終通過該編碼器得到句子的隱層單元表示

      2.3.2 深層解碼結(jié)構(gòu)

      實驗證明,輸入序列的長度將對神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果產(chǎn)生一定影響,而自然漢語語句標(biāo)注成標(biāo)準(zhǔn)的CTB 樹結(jié)構(gòu)后,其長度增加了不少。在文中的測試集上統(tǒng)計顯示,自然語句的平均長度為30,標(biāo)注過后的樹結(jié)構(gòu)平均長度為99。筆者對CTB 樹結(jié)構(gòu)分析發(fā)現(xiàn),每個樹結(jié)構(gòu)序列中包含Syntactic Brackets、POS tags、分詞三個部分?;诖私Y(jié)構(gòu),文中提出了一種深層解碼結(jié)構(gòu),將CTB 樹結(jié)構(gòu)序列拆分成以下三個層次,分別為分詞,其中p、u、v 分別表示對應(yīng)的個數(shù)。每個部分在端到端框架下分開進(jìn)行解碼預(yù)測,其概率分布可表示為

      ①Syntactic Brackets 預(yù)測

      在這里采用了一個序列解碼器如圖3 第一層上所示,預(yù)測結(jié)構(gòu)中的每一個token 對應(yīng)樹結(jié)構(gòu)中的父節(jié)點(diǎn),詞條間關(guān)系及詞條詞性當(dāng)作其子節(jié)點(diǎn),以插入的機(jī)制插入合適的位置,該解碼器的隱層單元如下

      結(jié)構(gòu)中的token 的概率分布表示如下

      其中權(quán)重βji為

      ②POS tags 預(yù)測

      POS tags 的預(yù)測與之前所做的Syntactic Brackets 預(yù)測密切聯(lián)系,在每個Syntactic Bracket 中可能包含著k 個分詞和k 個POS tags,因此,可以將POS tags 表示為,其中表示第k 個中的第mk個POS tags。

      其詞向量表示

      故該解碼器的隱層單元表示如下

      POS tags 預(yù)測的概率分布如下

      ③分詞預(yù)測

      分詞的預(yù)測基于Syntactic Brackets 和POS tags 預(yù)測,每一個關(guān)系內(nèi)僅對應(yīng)一個分詞。故分詞序列可表示為;詞向量表示為。POS tags 的隱藏單元的輸出作為分詞預(yù)測的輸入,其解碼單元隱藏層如下

      分詞預(yù)測的概率分布如下

      3 實驗

      3.1 實驗選取的數(shù)據(jù)

      中文樹庫共包含來自于報刊新聞、雜志文章、廣播會話等八個大類的3 726 條數(shù)據(jù)(見表1)。該次實驗分別選取了新聞、雜志文章及微博三個大類的1 155 篇文章作為數(shù)據(jù)的原始輸入。此外筆者對這1 155 篇文章進(jìn)行了簡單的數(shù)據(jù)清洗,選取了其中句子長度在20 到80 之間的句子,并且去除掉了其中含有特殊符號及網(wǎng)址的句子,最終得到了10 012 條數(shù)據(jù),共包含23 198 個字符。并通過word2vec 將數(shù)據(jù)訓(xùn)練得到100 維的詞向量。文中選取了10 012 條數(shù)據(jù)中的7 288 條數(shù)據(jù)作為訓(xùn)練集,1 724 條數(shù)據(jù)作為驗證集,1 000 條數(shù)據(jù)作為測試集進(jìn)行實驗。

      表1 CTB 數(shù)據(jù)來源及分布

      3.2 參數(shù)設(shè)置及實驗設(shè)備

      筆者的實驗軟件采用Python(2.7.12 版本)、Pytorch(1.1.0 版本)、CUDA(10.1 版本),實驗操作系統(tǒng)為Ubuntu16.04;硬件計算平臺采用英特爾I5、16G 內(nèi)存、英偉達(dá)GTX2080TI、11G 顯存。實驗?zāi)P驮贘.M.Liu[14]模型基礎(chǔ)上,經(jīng)過預(yù)處理等代碼修改后形成該系統(tǒng)模型代碼(模型開源代碼地址:https://github.com/dressnotycoon/Chinese-syntactic-analysis/)。

      3.3 算法對比系統(tǒng)

      與文中實驗?zāi)P拖啾葘Φ南到y(tǒng)有如下五類:

      ①HMM+中心驅(qū)動模型[16]采用傳統(tǒng)機(jī)器學(xué)習(xí)方法,首先,應(yīng)用基于隱馬爾科夫模型(HMM)的方法進(jìn)行一體化的分詞/詞性標(biāo)注;然后,利用中心驅(qū)動模型進(jìn)行短語識別。在賓州中文樹庫CTB1 數(shù)據(jù)集上取得了F1值76.4%的成果。

      ②K-best 句法分析器融合算法[17]提出了一個基于線性模型的通用框架,以結(jié)合來自多個解析器的k 個最佳解析輸出。通過將當(dāng)時表現(xiàn)最好的頭部驅(qū)動的詞法化模型和基于潛在注釋的非詞法化模型相結(jié)合,在賓州中文樹庫CTB5 上F1值為85.5%。

      ③向上學(xué)習(xí)方法改進(jìn)的移進(jìn)-歸約算法[18]在傳統(tǒng)的移進(jìn)-歸約句法分析系統(tǒng)上進(jìn)行改進(jìn),首先利用伯克利句子分析器對大規(guī)模的無標(biāo)注數(shù)據(jù)進(jìn)行自動標(biāo)注,將標(biāo)注的結(jié)果再作為改進(jìn)分析器的額外訓(xùn)練數(shù)據(jù),在賓州中文樹庫CTB5 上F1值為82.4%。

      ④基于條件隨機(jī)場模型的分塊算法[2]將漢語句法分析分為三個階段:首先,基于條件隨機(jī)場模型將句子分塊;其次,對各句子塊進(jìn)行句法分析得到句子塊級別的句法樹;最后,將各句子塊句法樹整合成完整的句子結(jié)構(gòu)樹。在賓州中文樹庫CTB8 上F1值為75%。

      ⑤抽取lookahead 特征的移進(jìn)-歸約算法[19]利用一個快速的神經(jīng)模型來提取前向特征,并構(gòu)建了一個雙向的LSTM 模型,該模型利用完整的句子信息來預(yù)測每個單詞的開頭和結(jié)尾的成分的層次結(jié)構(gòu),在賓州中文樹庫CTB5 上F1值為85.5%。

      3.4 實驗結(jié)果

      這里筆者使用精確率、召回率、F1值[20]來評價文中模型的優(yōu)劣,其中精確率表示預(yù)測的結(jié)果中正確的短語結(jié)構(gòu)個數(shù),計算公式為

      召回率表示我們預(yù)測結(jié)構(gòu)的全面性,計算公式為

      精確率和召回率通常情況下相互制約,因此,筆者按照評價習(xí)慣引入了F1值來平衡兩者關(guān)系,即

      首先對在驗證集上得到的F1值分布進(jìn)行了統(tǒng)計,如圖4 所示。其中F1值超過0.9 的數(shù)據(jù)占總測試數(shù)的13.6%,且這部分平均的F1值為0.956;F1值超過0.8 的數(shù)據(jù)占總測試數(shù)據(jù)的47.3%,且平均F1值為0.876;F1值超過0.7 的數(shù)據(jù)占總測試數(shù)據(jù)的82.1%,且平均F1值為0.826。

      圖4 F1 值分布

      此外,該文也對驗證集上不同長度的語句的F1值進(jìn)行了統(tǒng)計分析。文中驗證集的句子長度在5 到60 之間,平均長度為29,如圖5 所示,發(fā)現(xiàn)當(dāng)句子長度增大的時候不管是精確率還是召回率都緩慢的降低,其中在句子長度小于20 的時候表現(xiàn)較好,但是整體上維持在一個不錯水平,F(xiàn)1值保持在0.70 以上。

      圖5 不同長度的語句的F1 值、召回率及精確率

      最后選取了同樣使用賓州中文樹庫CTB作為數(shù)據(jù)集的算法系統(tǒng),與文中所提到的方法進(jìn)行了對比。由表2 可見,模型1 由于賓州中文樹庫CTB1 發(fā)布較早、數(shù)據(jù)量較少,因此結(jié)果相對較差。模型2 由于融合了當(dāng)時表現(xiàn)極為優(yōu)秀的句法分析系統(tǒng),因此也有較好的結(jié)果。模型3和模型5 均針對移進(jìn)-歸約算法做出了一定的修改,其中模型3 將其他句法分析器得到的分析結(jié)果作為自己分析器額外的訓(xùn)練數(shù)據(jù),其他分析器的精度也將影響其分析器本身的結(jié)果,故其F1值略低于模型5。模型4 將句子分塊操作,再整合各塊句法子樹的方法,在一定程度上影響了句子的完整性,其在CTB5 上的結(jié)果較差,但針對其文中提到的特定信息檢索系統(tǒng)有一定幫助。由表2 可知,模型6 具有可行性且具有一定分析效果,但仍然有進(jìn)一步提升的空間。未來繼續(xù)增加訓(xùn)練數(shù)據(jù),相信將得到更好效果。

      表2 算法系統(tǒng)對比

      4 結(jié)語

      深度學(xué)習(xí)及神經(jīng)網(wǎng)絡(luò)算法給句法分析任務(wù)提供了新的方法和可能,但完全的中文句法結(jié)構(gòu)分析任務(wù)仍然是中文信息處理中的一個難題。目前還面臨著諸多的難題,比如:缺少相關(guān)的樹結(jié)構(gòu)數(shù)據(jù)集、照搬英文的標(biāo)注理念是否完全適合中文的語法習(xí)慣等。文中采用的深度學(xué)習(xí)算法,直接提供了一種序列到序列的轉(zhuǎn)換方法,使研究人員不需要再對中文分詞及詞性標(biāo)注做太多的工作,但是仍然需要依賴龐大的數(shù)據(jù)量。未來將逐步擴(kuò)大訓(xùn)練的數(shù)據(jù)量,并探索新的方法,能夠更好的適應(yīng)中文特有的句法結(jié)構(gòu),以期望進(jìn)一步提高分析器的性能。

      猜你喜歡
      樹結(jié)構(gòu)句法結(jié)構(gòu)分詞
      結(jié)巴分詞在詞云中的應(yīng)用
      智富時代(2019年6期)2019-07-24 10:33:16
      四維余代數(shù)的分類
      現(xiàn)代漢語句法結(jié)構(gòu)解讀
      山西青年(2017年7期)2017-01-29 18:25:26
      《基本句法結(jié)構(gòu):無特征句法》評介
      值得重視的分詞的特殊用法
      大數(shù)據(jù)背景下基于B—樹結(jié)構(gòu)的SQL Server數(shù)據(jù)優(yōu)化策略研究
      基于μσ-DWC特征和樹結(jié)構(gòu)M-SVM的多維時間序列分類
      采用動態(tài)樹結(jié)構(gòu)實現(xiàn)網(wǎng)絡(luò)課程內(nèi)容的動態(tài)更新
      河南科技(2014年11期)2014-02-27 14:17:57
      高考分詞作狀語考點(diǎn)歸納與疑難解析
      回避沖突:名詞義與句法結(jié)構(gòu)義之間
      松原市| 静乐县| 林口县| 卢氏县| 浮山县| 布尔津县| 兰坪| 扎囊县| 屯昌县| 嘉黎县| 哈尔滨市| 连城县| 大渡口区| 鲜城| 铜山县| 盐边县| 叶城县| 朝阳区| 安阳市| 新民市| 沾化县| 福建省| 浦城县| 宜兰县| 军事| 夏河县| 大兴区| 化隆| 新平| 九寨沟县| 双柏县| 县级市| 阳朔县| 呼伦贝尔市| 湛江市| 沁阳市| 乌鲁木齐市| 长泰县| 莒南县| 绍兴市| 寿阳县|