柔 特,色差甲,才讓加
(青海師范大學 a.計算機學院; b.青海省藏文信息處理與機器翻譯重點實驗室; c.藏文信息處理教育部重點實驗室,西寧 810008)
自然語言處理主要研究詞法分析、句法分析、語義分析和語用分析等技術。對于不同的語言單位,語義分析的任務不同,例如,在詞義層次上,語義分析的主要任務是進行詞義消歧,在句義層面上,其任務是語義角色標注,而在篇章語義層面上,則為指代消歧。隨著自然語言處理技術的發展,藏語自然語言處理研究的主要任務從句法分析逐漸轉向語義分析。語義分析能夠揭示句子的語義,在自然語言處理和機器學習中得到廣泛應用。
目前,主要采用基于知識庫的方法和表示學習法進行語義分析。基于知識庫的方法利用語義詞典,如WordNet[1-2]、中文概念詞典[3]、知網[4]、漢英雙語概念對應方法[5]、蒙漢語義詞典[6]、蒙古語名詞語義信息詞典[7]、藏文語義詞典[8-9]等,以及知識圖譜[10-11]的語言資源解析句義。表示學習[12-13]法是當前語義分析的主流技術,其通過詞向量[14-15]和句向量解讀句義。這兩種方法都采用“分治”的思想,在分詞的基礎上通過不同方法達到語義分析的目的。

語義分割是計算機視覺中的基本任務,其將視覺輸入分為不同的語義可解釋類別,并且每一類別在真實世界中都有意義。目前,將語義分割應用于自然語言處理的研究較少,本文針對藏文句義分析提出一種語義分割的新思路,即將藏文句子分解成多個語義塊,然后通過整合這些語義單元來理解句子語義。本文的主要思想來源于語塊理論[16-17],實驗證明,大腦對語言進行編碼和解碼時,能容納的離散塊的最大范圍為±7個語塊,關注范圍是±4個語塊,這是語塊理論的核心內容。語塊理論的實質是一種人類對語言的認知和理解模式。人類在交流時不是先分析語法,再理解語義,語言的流利度很大程度上取決于大腦記憶庫中所存儲的語塊的數量。語塊在形義關系上是比較固定的,其以整體的形式存儲在大腦中,在使用時直接進行提取或存儲[18]。語塊的積累可以減輕人類大腦進行語言處理時的負擔,減少語法分析過程所耗費的時間和精力[19],從而滿足即時交際的需要,使語言從加工到提取,再到使用的過程更加迅速、準確。語義塊方法以語塊理論為基礎,并結合藏文自身的語言特性,是一種以自然語言理解為向導、以句子語義分析為中心的研究方法。
組塊分析的方法與語義塊的方法類似,組塊是一種語法結構,是符合一定語法功能的非遞歸短語。每個組塊都有一個中心詞,組塊內的所有成分都圍繞該中心詞展開,且一種類型的組塊內部不包含其他類型的組塊[20]。漢語組塊借鑒了英文的相關研究成果[21-22],其常見的組塊類別有名詞短語、動詞短語、形容詞短語、副詞短語和數量詞短語等。漢語組塊的相關研究認為序列具有重要作用,而虛詞和助動詞等沒有實際意義,因此,虛詞和助動詞等不在研究范圍之內[23]。在藏文組塊研究方面,文獻[24]將提取的漢語組塊翻譯成藏文,然后利用藏文詞序列相交算法抽取藏文短語,文獻[25]提出基于藏語組塊分析和塊內分詞的組塊自動分詞方法,并進行功能性歸并,文獻[26]提出5種句法功能組塊及其功能組塊邊界的識別策略,并基于條件隨機域模型解決功能組塊邊界的識別問題。組塊分析為句子的深入理解提供了有力的支持,眾多研究者對其產生了研究興趣[27]。
組塊是在語法分析層面進行句子分割的顆粒度,其大小介于詞與句之間,組塊分析法是一種淺層句法分析方法,而語義塊是在語義分析層面進行句義分割的顆粒度,其大小介于詞語與句子之間,語義塊分析法是一種淺層句義分析方法。藏文語義塊與藏文組塊的區別在于藏文語義塊需要考慮虛詞,虛詞不獨立成塊,且塊與塊之間相對語義獨立。在應用方面,目前大多數藏文信息處理研究都采用深度學習方法,先進行分詞再數學化,即利用詞向量進行數學化。然而,藏文詞向量的顆粒度較小,易產生詞語歧義的問題,因此,本文從語義角度進行考慮,利用語義塊來彌補上述不足。
語義塊是指將一個句子分割為若干個相對獨立的語義單元,其長度介于詞語和句子之間,語義塊分析法是一種語法、語義、語用關聯的預處理手段。各語義塊之間非遞歸、非嵌套、不重疊,是藏語自然語言理解中淺層句義分析的一個緩沖,也是把整句先分解后分析的一個媒介。句義、語義塊和詞義的關系如圖1所示。

圖1 句義、語義塊和詞義的關系
Fig.1 Relationship of sentence meaning,semantic chunks and word meaning
傳統語法研究可以分為詞法分析、組塊(短語)分析和句法分析,語義研究一般包括詞義分析和句義分析。組塊是以語法為中心的淺層句法分析方法,不強調語義和功能,其可以簡化句子結構,降低句法分析的難度。但是,組塊不能覆蓋整個句子的所有成分,有些句子成分不屬于任何組塊。語義塊是以語義為中心的淺層句義分析方法,其顆粒度大小介于詞語和句子之間,可簡化句義,強調語義和功能,從而降低句義分析的難度。在語義塊分析中,整個句子的所有成分都要被覆蓋,由于藏文中的虛詞不能成為獨立的語義塊,因此將其作為其他語義塊的一部分。
自然語言處理通常需要對語法、語義和上下文3個方面進行分析。以往藏文自然語言處理研究集中在以詞法和句法為主的語法層面,目前,以詞義和句義為主的淺層語義研究逐漸增多,并向著以上下文為中心的深層語義研究方向發展。由于句子是語言的最小單位,句子連成段落,段落組成文章,因此句義的正確理解具有重要意義。本文的句義分割方法主要包括4個步驟。



步驟4語義塊分割。在完成藏文分詞、塊標注、塊重組之后,需要進行語義塊識別,其等同于藏文句義的自動分割。由于塊重組是以語義和功能為核心的藏文語義研究思路,不同于短語或組塊工作,因此在滿足語義塊條件下,這些相對獨立的語義塊在藏文句子中跟序列無關,但表達的句義保持一致。圖2為對一個藏文句子進行語義分割的實例。

圖2 藏文句子語義分割實例
Fig.2 Examples of semantic segmentation for Tibetan sentences
語義塊是為句義理解服務的,而組塊是為句法分析服務的。語義塊在不需要深層次語言知識的前提下,利用語義顆粒度來縮短句子長度,降低藏文句義分析的難度。此外,語義塊遵循傳統句法樹的語法分析規律、藏文語義角色標注規律和藏文依存語義分析規律,其與傳統句法樹可以相互轉換,符合語法、語義、語用一體化的語義分析研究趨勢。


圖3 藏文語義塊的分類
藏文語義塊在符合語法和語義的前提下,其組合結構較穩定且具有一定的凝固性,同時,語義具有完整性和專指性。藏文語義塊并非臨時性的組合,其在大規模真實文本中具有一定的流通性,含有統計意義。
句子的語義分割是藏文句義理解的一項基礎工作,可以將其簡單理解為一個序列識別的問題,即對于一個給定的句子,先進行分詞和標注,在此基礎上識別語義塊。
語義塊識別與命名實體識別具有一定的相似性,本文借鑒實體識別技術進行藏文句義分割。目前,主流的實體識別方法為Bi-LSTM+CRF和ID-CNN+CRF,本文采用dilated CNN模型[28-29]進行句義分割。dilated CNN模型誕生于圖像分割領域,對圖像進行卷積操作后池化,在降低圖像尺寸的同時增大感受野。由于圖像分割預測是pixel-wise的輸出,因此要將池化后尺寸較小的圖像上采樣為原始尺寸的圖像,然后再進行預測,同時池化層操作使得每個像素的預測都能得到較大的感受野。本文在dilated CNN模型的基礎上增加條件隨機場(Conditional Random Field,CRF),構建ID-CNN+CRF模型,如圖4所示。

圖4 ID-CNN+CRF模型結構
在藏文句子分詞后,每個詞都轉化為對應的詞向量矩陣,由于顆粒度大小不同,因此句子長度不一致,詞向量矩陣的大小也有差異[30]。為了解決這一問題,本文以最長的藏文詞為基準,在長度不足的句子兩端補充占位符,使得所有詞向量矩陣大小相同。對于1維的輸入序列和卷積核f:{0,1,…,k-1}→R,空洞卷積運算F可以定義為如下形式:
其中,d為擴張系數,k為卷積核大小。擴張系數控制每兩個卷積核間所插入的零值個數,當d=1時,空洞卷積就會退化為一般卷積運算。在擴張系數較大時,輸出端的神經可以表征更大范圍的輸入序列,因此能實現有效擴張。在卷神經積網絡輸出結果后,通過CRF即可得到本文語義塊。
由于目前未發現藏文語義塊研究的相關工作,因此沒有適合的基準(Baselines)與本文方法的實驗結果進行對比。從整體上來看,本文方法的識別效率高于一般分詞和短語的識別方法。
本文實驗數據主要來源于人工整理的數據和藏文電子書,構建了包含102 358個句子的藏文句庫,將其中92 358個句子作為訓練集,其余10 000個句子作為測試集。實驗數據為藏文簡單陳述句,句型結構包括“主語+表語+系動詞”“主語+謂語”“主語+賓語+謂語”“主語+雙賓語+謂語”“主語+賓語+賓補+謂語”等。在句子長度方面,最短的句子包含5個藏文詞,最長的包含22個藏文詞。實驗的超參數包括詞向量維數e、學習速率r、分類器隱藏層節點數h,其具體設置和相應的識別效果對比如表1所示。
表1 不同參數下ID-CNN+CRF模型的識別效果對比
Table 1 Comparison of recognition performance of ID-CNN+CRF model under different parameters

參數設置準確率/%召回率/%F值/%e=50,h=50,r=0.190.1285.1687.56e=50,h=100,r=0.192.6786.5489.50e=100,h=50,r=0.0194.3191.5892.92e=100,h=100,r=0.0194.6890.2292.39

本文提出一種藏文句義分割方法,在對句子進行分詞、標注和重組后,通過語義塊技術對藏文句子進行句義分割和解析。實驗結果表明,該方法能對藏文句義進行有效分割,且可以與藏文句法樹分析、藏文依存句法分析、藏文句子語義角色標注等進行相互轉化,對藏文句子的知識提取、知識表示和資源擴充等有很好的應用價值。下一步將針對具體的句義理解任務進行研究并驗證此方法的有效性。