,*
(1.湘潭大學計算機學院·網絡空間安全學院,湖南湘潭 411105;2.中國科學院計算技術研究所,北京 100190)
隨著殘疾人信息無障礙建設的發展,自然手語和漢語互譯越發重要,手語合成旨在將漢語語句翻譯為符合手語語法的連續手語動作視頻;而手語識別旨在將連續手語動作視頻翻譯為通順可懂的漢語語句。手語識別面臨兩個難題:一是手語單詞的邊緣檢測和時域分割;二是識別結果的手語文本語義可懂度的提升。近年來第一個難題已經得到有效解決,而第二個難題還處于探索階段,本文基于該難題展開研究。
自然手語是一種視覺語言,有其自身的語法規則和特點。用自然手語表述事情時,通常把描述主體排在前面,然后再對主體進行描述,即賓語前置,其語序和漢語語序完全不同。此外還存在否定詞后置、量詞省略、動名詞一體,沒有“雙重否定”等規則[1],如表1、2 所示。自然手語和漢語不同的語法規則使得連續手語識別結果的手語文本語義模糊,造成了健聽人理解困難。此外,多數健聽人和少數聽障人掌握的手語為文法手語,即按照漢語語法順序表達手語單詞,這部分人對自然手語的理解也存在比較大的障礙。因此如何提高連續手語識別結果的可懂度,非常值得研究探討。
在連續手語識別領域,目前多數研究為對視頻的逐詞翻譯,得到的結果是不通順的語句,并且受限于手語的復雜性和多模態性,難以收集和注釋大規模的連續手語數據集。現今,國外連續手語的數據集以RWTH-Phoenix[2]為代表,其包含大約7 千條德國天氣預報句子;國內連續手語的數據集為中國手語數據集(Chinese Sign Language,CLS)[3],包含少量日常語句以及對應的手語視頻。以上兩個數據集僅提供句子級注釋,因此并不適合用來研究手語和傳統語言的端到端互譯問題。數據集的缺乏阻礙了國內外關于將連續手語動作直接翻譯為傳統語言的研究。在2018 年,Camgoz 等[4]首次探討了這個問題,并基于RWTH-Phoenix 重新構建數據集,包含視頻切分、注釋以及對應的德語文本單詞,利用機器翻譯的方法實現手語視頻到德語文本的端到端轉化,將手語翻譯上升到語義層次,而國內尚未有關于這一問題的專門研究。
表1 自然手語與漢語語序對比示例Tab.1 Word order comparison between natural sign language andChinese
表2 自然手語省略詞示例Tab.2 Examples of word omitting in natural sign language
本文提出的方法將提高連續手語識別結果的可懂度轉化為兩種語言的翻譯問題,直接對識別結果的手語文本進行處理,將研究重點完全轉移到語言的處理上。由此,本文研究內容可闡述為:將連續手語識別結果的手語文本轉化成符合漢語語法的通順的漢語語句。
將不通順的語句調整為符合語法的語句,以及語句補全等任務屬于自然語言處理范疇,國內外對此都進行了許多研究。Yuan等[5]首次提出將神經網絡機器翻譯應用于文本語法錯誤糾正任務,利用翻譯模型對大約200 萬條平行語句進行訓練,實現英文語法錯誤糾正。由于神經網絡機器翻譯模型依賴于大規模標注數據,難以應用在缺乏相關數據集的領域。國內Alibaba 的自然語言處理團隊[6]在第八屆自然語言處理國際聯席會議(The 8th International Joint Conference on Natural Language Processing,IJCNLP 2017)共享任務中基于長短期記憶神經網絡結合條件隨機場(Long Short-Term Memory neural network and Conditional Random Field,LSTM-CRF)模型對漢語語句進行錯誤位置診斷,取得了綜合指標第一名的成績,該任務診斷冗余詞(R)、缺詞(M)、用詞不當(S)和亂序(W)四種類型的語法錯誤。第七屆CCF自然語言處理與中文計算國際會議(The Seventh CCF International Conference on Natural Language Processing and Chinese Computing,NLPCC-2018)提出中文語法錯誤修正任務恰好彌補了上述IJCNLP 2017任務只診斷不糾正的不足,在該任務中,有道團隊[7]利用Transformer 的翻譯模型取得了最好的結果。針對N-gram 模型依賴共現序列概率的缺點,Gubbins 等[8]以依存句法分析為基礎,訓練節點之間的N-gram 模型來實現語句補全,相比傳統N-gram 模型提高了8.7%的準確率。Park 等[9]通過微調單詞級循環神經網絡模型的網絡結構和超參數在微軟研究院句子補全挑戰中取得最好結果,但該工作略微缺乏在模型上創新。Islam 等[10]構建了包含單詞排列錯誤、單詞缺失的孟加拉語數據集,并利用LSTM 實現孟加拉語文本的校正和自動補全,在測試集上的準確度可達79%。
根據前文所述,在手語研究領域,國內缺乏解決連續手語識別文本結果的語義模糊、語序不通順等問題的相關研究;且在相似任務上,國內外研究大多采用基于深度學習的方法,這些方法依賴于大規模標注數據,而難以獲取和構建相關標注數據集正是阻礙國內研究進程的重要因素。針對這一問題,本文提出一種利用現有少量標注數據,將連續手語識別結果的手語文本轉換為通順漢語文本方法。
本文的主要工作如下:
1)設計轉換規則,基于規則和N-gram 模型將手語文本語序轉換為漢語文本語序,以此規避深度學習方法需要大量字符級標注數據的問題。
2)設計量詞定位和補全模型,解決手語表達中量詞省略的問題。根據量詞的特性,利用序列標注的方法對量詞的定位更準確。
針對手語表達中賓語前置以及否定詞后置的特點,在N-gram 統計語言模型[11]的基礎上,引入自然手語語法規則作為約束,將自然手語文本語序轉換為漢語文本語序。
參考國家通用手語語法[12]以及上海、福建自然手語協會整理的語法,制定出自然手語文本到漢語文本的轉換規則。調序流程如圖1所示。對輸入的自然手語文本進行分詞、詞性標注,分析出依存句法樹,然后檢測該文本是否符合規則庫中的轉換規則,若符合則根據相應的自然手語規則進行調序。自然手語文本與對應的漢語文本的規則轉換示例如圖2所示。
圖1 調序流程Fig.1 Flowchat of ordering
圖2 規則轉換示例Fig.2 Example of rule transformation
基于N-gram 語言模型對文本進行調序,處理規則轉換后的文本。利用語料庫訓練出N-gram 語言模型的N元詞表,該詞表包含訓練語料中的所有N元詞序列頻度,集束搜索(Beam Search)算法利用N元詞表對待調序的文本進行搜索,依據概率選擇詞匯,由此生成基于訓練語料的概率最大詞序列。如圖3所示。
N-gram 模型全稱為N元語言模型,其假設第N個詞的出現只與前面N-1個詞相關,常見的有二元語言模型Bi-gram 以及三元語言模型Tri-gram。
假設S表示某一個有意義的句子,S=(w1,w2,…,wn),其中wi是組成句子的詞語,n是整個句子中詞語的數量。則S出現的概率P(S)為:P(S)=P(w1,w2,…,wn),利用條件概率公式則有:
其中:P(w1)表示第一個詞w1出現的概率;P(w2|w1)表示在w1出現時,w2出現的概率,以此類推。二元語言模型即第N個詞的出現只與第N-1 個詞相關;三元語言模型即第N個詞的出現只與第N-1、N-2個詞相關,由此分別得出概率公式如下:
N-gram 的精確度依賴于語料庫的大小和質量,若某些N元詞序列在訓練的語料庫中從未出現,但實際是符合語法并且存在的,此時N-gram 將會面臨零概率問題。為此需要進行數據平滑,數據平滑的方法是重新分配整個概率空間,使所有的概率之和為1,并且使所有的概率都不為0。本文采用的是Add-one平滑模式,即讓所有的N元詞序列至少出現一次。
集束搜索(Beam Search)本質上是貪心的思想[13],不同于貪心搜索每一步只選擇概率最大的假設,集束搜索則是維護一個容量為K的搜索結果庫,第t步搜索結果庫記為Ht,容量K稱為集束寬度(Beam Width)。
其中:第t步的每一個搜索結果記為i∈{1,2,…,K}在第t+1 步對于每一個搜索結果均產生K個搜索結果,共K2個結果,保留其中概率最大的K個結果,記為Ht+1;當搜索到指定長度后,選擇搜索結果庫中概率最大的搜索結果作為最終輸出。
圖4 為單詞序列“我”“愛”“北京”“天安門”的集束搜索示例,其中集束寬度為2。最終,以概率最大的“我愛/北京/天安門”這一序列作為最終結果。
圖4 Beam Search示例Fig.4 Example of Beam Search
此外,在自然語言處理中,分詞的準確度很大程度上影響著模型的性能,分詞直接決定每個分詞單位的語義是否完整,也決定了詞表空間的構成,在本文工作中也不例外。因此,為保證手語詞匯的語義完整,根據2019 年出版的《國家通用手語詞典》構建的包含8 214 個手語詞匯的詞典,利用Hanlp 分詞工具,優先使用該詞典進行分詞。
利用字符級雙向長短期記憶(Bidirectional Long-Term Short-Term Memory,Bi-LSTM)模型對不包含量詞的文本序列進行處理,預測出缺失量詞的位置以及正確填補該量詞。本文使用序列標注任務[14]的思想來處理這一問題,對于某一輸入序列X={x1,x2,…,xn},其中xi表示該序列的第i個字符,預測序列的字符級標簽L=(l1,l2,…,ln)。其中,li為量詞表中對應的量詞標簽或者非量詞標簽。
Bi-LSTM 是LSTM 的一種變體[15],它將兩個時間方向相反的LSTM 結構連接到相同的輸出,以獲取歷史和未來的上下文信息,如圖5 所示。前向網絡接受輸入x1,x2…,xt,從第一時刻到第t時刻,計算隱狀態,反向網絡則接受輸入xt,xt-1…,x1,計算隱狀態,由此可獲取每個時刻的雙向特征yt:
其中:W1為前向網絡的權重矩陣;W2為反向網絡的權重矩陣;b是偏置。
圖5 Bi-LSTM 網絡結構Fig.5 Bi-LSTM network structure
圖6 為文本“我有三狗”的量詞標注示例,在輸入層,將每個漢字映射成字嵌入即一個固定維數的多維向量,并依次輸入Bi-LSTM 進行處理,構造一個包含上下文信息的序列雙向表達,輸出經過softmax層進行分類,映射到相應的標簽。
本文使用刪除量詞后的文本序列作為輸入,前置位缺失量詞的字符使用對應量詞進行標注,其余字符都被標注為非量詞標記符“O”,由此訓練模型后既可定位到量詞位置又可得到量詞本身。
圖6 量詞標注示例Fig.6 Examples of quantifier annotation
文本調序采用的訓練數據集是維基百科問答語料[16],該語料總共含有150 萬條預先過濾過的、高質量問題和答案,每個問題屬于一個類別,總共有492 個類別,其中頻率達到或超過10次的類別有434個,語料內容以日常交流用語為主,基本涵蓋了常見領域。本次實驗對該語料截取50 萬條數據并只保留“title”“desc”“answer”屬性的內容進行訓練。測試數據是《中國手語日常會話》[17]的日常用語500 條,部分示例如表3所示。
量詞補全采用的訓練數據是根據漢語常用量詞構建的量詞標注數據集,數據示例如表4 所示。此外,對所有數據都進行了清洗、去停用詞等預處理。
表3 自然手語和對應漢語的文本示例Tab.3 Examples of natural sign language and corresponding Chinese text
表4 量詞補全訓練數據示例Tab.4 Training data examples of quantifier completion
比起單獨采用N-gram 模型,融合規則信息,實驗結果的綜合指標明顯提升,表明將規則融入N-gram 模型中是解決自然手語文本轉換漢語文本的實用手段。
表5 文本調序實驗評估 單位:%Tab.5 Evaluation of text ordering experiment unit:%
為了驗證Bi-LSTM 的有效性,量詞補全實驗使用隱馬爾可夫模型(Hidden Markov Model,HMM)[19]、LSTM、Bi-LSTM、Bi-LSTM+CRF 四個模型進行對比,并評估準確率、召回率、F1分數。HMM 是序列標注任務中應用較早的模型,一般作為基線模型。為了排除其他因素的影響,實驗中LSTM 和Bi-LSTM模型的詞向量維度以及所有的超參數設置相同。
由于中文量詞具有同形詞特性,一般會干擾量詞定位,測試語句中包括了部分采用量詞同形詞的語句,如表6所示。
雙語評估替換(BiLingual Evaluation Understudy,BLEU)是目前用于評價序列到序列任務的最流行的指標之一,如文獻[2,4]均用BLEU 作為評估指標。BLEU 采用一種N-gram 的匹配規則,計算出預測文本和真實文本間N元詞共現的占比并不能很好地反映語法結構的調整[18],因此不適合用于評估該文本調序實驗。為了驗證提出方法的有效性,本文設計用以下方法進行評估:
1)絕對準確率(Absolute ACcuracy,AAC):預測語句與真實語句進行漢字一一對比,若某個漢字位置不能對應,則整句判定結果為錯誤。
2)最長正確子序列(Longest Correct Subsequence,LCS)匹配:將預測語句與真實語句進行最長子序列匹配,計算整個測試集最長正確子序列的平均占比。
本次文本調序實驗分別對Bi-gram、Tri-gram、4-gram、5-gram 模型進行對比驗證,設置集束寬度為20。文本調序的實驗結果如表5 所示,只基于規則轉換絕對正確率達68.60%,表明轉換規則已經可以正確處理多數語句;此外,從Bi-gram到4-gram,隨著上下文的依賴增長,各項指標均有所上升,說明上下文信息有助于調整語句結構。根據理論基礎,在Ngram 模型中,N越大,實驗結果應越好,但基于5-gram 模型的指標卻不升反降。這是由于平均每條測試語句的詞匯約為4.9 個,當N≥5 時,依據N-gram 原理,在訓練語料有限的條件下,每條測試語句組成的N元詞序列頻度在訓練好的N元詞表中將會隨著N的增大而減小,由此會影響模型的整體性能。此外,實驗結果也表明,僅訓練50 萬條語料,4-gram 的模型大小和訓練時長均約為Tri-gram 的2倍。因此,對于小規模短序列數據集,并不是N越大,模型效果越好,需視情況擇優選擇。
表6 包含量詞同形詞的語句Tab.6 Sentences containing quantifier homograph
量詞定位和補全的實驗結果如表7 所示,實驗結果表明LSTM 模型綜合指標最低,Bi-LSTM 的綜合指標優于其他模型。HMM 是統計模型,其對轉移概率和表現概率直接建模,統計共現概率。在該量詞定位實驗中,量詞位置具有明顯的特征,例如量詞通常跟在數詞或代詞后,并且每個量詞有相對固定的搭配如“一條狗,一只魚”,HMM 能很好地提取這一信息。而LSTM 雖能捕獲長距離依賴,但其只能提取上文信息特征,無法利用下文信息特征,序列的特征抽取不夠充分,因此標注效果不理想。相比之下,Bi-LSTM 解決了LSTM 的問題,又得益于非線性的建模,所以取得更好的結果。另外,根據文獻[14]可知,Bi-LSTM+CRF 作為目前主流的序列標注模型,其實驗結果應優于Bi-LSTM,而本次實驗訓練數據為低維時序數據,且樣本量相對較小,這是造成Bi-LSTM+CRF 性能稍次于Bi-LSTM的主要原因。
表7 量詞標注實驗評估 單位:%Tab.7 Evaluation of quantifier annotation experiment unit:%
包含量詞同形詞的量詞定位和補全的準確率、召回率、F1分數分別為95.58%、94.56%、95.4%,表明該模型在有同形詞的情況下仍然能夠準確、有效地定位量詞;但各項評估指標對比無同形詞時有所下降,這是由于某些量詞同形詞也具有量詞的特征,即跟在數詞或代詞后,易以較大的概率被標記為量詞。
本文針對自然手語語法存在賓語前置、否定后置、省略量詞等特點,提出了兩步法來對連續手語識別結果的文本進行語序調整以及量詞補全,生成符合漢語語法的通順語句。首先,基于自然手語和漢語的轉換規則以及N-gram 模型對連續手語識別結果進行文本調序;然后,在此基礎上利用Bi-LSTM模型對缺失量詞的文本進行量詞定位及補全;最終,將連續手語識別結果轉化為語義清晰、語序通順的漢語文本。實驗結果表明,該方法可以有效提升連續手語識別結果的通暢度和可懂度。
此外,本文對基于視頻的連續手語識別的文本結果中存在動名詞一體、雙重否定的現象未作處理,因此在接下來的工作中,需要進一步挖掘文本的上下文信息,解決自然手語翻譯成漢語時的動名詞一體問題。