王璐璐,孫薇薇,袁毓林
WANG Lulu1,SUN Weiwei2,YUAN Yulin2
1.中國傳媒大學,北京100024
2.北京大學,北京100871
1.Communication University of China,Beijing 100024,China
2.Peking University,Beijing 100871,China
“把”字句是現代漢語的一種常用句式,在語言學本體研究領域,有關“把”字句的句法結構和語義特點的研究數量眾多且成果顯著。但在計算應用方面,單就“把”字句的分析并不多見。而且目前主流的機器翻譯系統對“把”字句的翻譯并不十分理想。曾對Google 在線翻譯系統進行中英互譯測試(在線測試時間:2011 年12 月28 日),測試發現:對于不帶賓語的“把”字句,翻譯結果較好,44%的句子在中譯英和英譯中后翻譯為“把”字句;但是對帶賓語的“把”字句,翻譯結果較差,58%的句子的中譯英可以理解,42%的句子翻譯完全錯誤。英譯中則沒有一句翻譯出“把”字。例如,“他們把糧食裝上汽車”譯為“They loaded grain cars”(“他們裝糧車”)。認為,Google 在線翻譯系統在對“把”字句的翻譯中有兩點不足:一是“把”字句基本句式意義的缺失,如處置義及影響義都沒有在譯文中得到反映;二是帶賓語的“把”字句中,由于動詞后賓語的出現,提高了句式的復雜度,更提高了計算的困難度。
針對“把”字句在機器翻譯中的困難,認為有必要對“把”字句的計算分析進行改進?,F有的應用系統,無法將“把”字句這種具有復雜的句法語義信息的句式進行精細化的自動分析。對于“把”字句的研究,語言學界已經發現了不少語言事實和相關規律,也有一些成熟的理論,在論元結構和句式語義方面的研究成果尤為突出。如果能把這些理論借鑒到形式化的語法研究之中,應該有利于提高計算分析的準確度。
由此,本文采取一種基于認知假設并面向計算分析的技術路線[1],嘗試將語言學的學理性研究與計算方面的實證性分析結合起來,探索一種規則和統計相結合的“把”字句的自動釋義和句式變換的方法,為機器翻譯等應用系統提供可供復述(Paraphrases)的資料。
將機器理解“把”字句的過程處理為一個分類問題,即將無限的語言實例(token)對應到具體的語言類型(type)上面。由此,需要多級標注的語料來訓練機器,讓它自動學習“把”字句的句法語義信息。那么,機器要學習哪些句法語義信息,則需要借鑒語言學領域的研究成果。
在漢語學界,“把”字句的語法意義是語言本體研究中的一個難點。主流的觀點有處置說[2]、致使說[3-4]、影響說[5-6]和結果說[7-9]。這些不同的觀點正說明了“把”字句語義構成的復雜性。對于計算機而言,區分“把”字句內部的語義差異是十分必要的。王璐璐提出,可以通過不同句式之間的變換關系分析為手段,來揭示“把”字句內部在結構形式和語義表達方面的差異,并為后面自動獲取“把”字句的語義解釋做準備[10]。這種分析技術主要參考了Levin 提出的動詞詞匯語義類與句式變換之間有內在關系的理論假設[11],即句式之間不同的變換關系反映了其中動詞的不同意義差別。據此,推廣到句式層面,假定不同結構形式的“把”字句有著不同的語義解釋,也有著不同的變換式序列。詹衛東指出,對于計算機而言,“理解‘意思’的過程,可以表示為對符號進行‘變換’的過程”[12]。所以說,通過“把”字句與其他句式的變換關系,可以將復雜的語法意義具體化為每一小類“把”字句的句法語義信息,并力求每一小類“把”字句的句法結構與語義關系的相對單一性,從而達到對“把”字句精細化理解的目的。王璐璐根據對真實文本中“把”字句的考察,總結出了26 類細分類和8 類粗分類的“把”字句的語義類??紤]到信息的粒度,太粗或者太細的分類標準都不太合適。過粗分類對于后面的釋義來說意義不大,因為無法區分出各小類“把”字句的意義差異。過細的分類對實驗的結果具有很大的干擾性,不容易有效地分出各個小類。有鑒于此,實驗采用了8 小類的類別標準,如表1 所示。
本文的數據選取了北大中文樹庫中的2 441 句“把”字句,并在此基礎上進行句法語義信息的深加工工作。
在現有的樹庫資源中,對“把”字句的句法結構有兩種不同的認識:一種是以賓大中文樹庫為代表的“IP”說,他們將“把”看作是動詞,其后的成分是一個小句;另一種是以北大漢語樹庫為代表的“pp”說,他們將“把”看作是介詞,它與“把”后名詞構成一個介賓短語。這種區別實際上可對應于這兩大類樹庫資源背后不同的語法觀,即對漢語語法結構的不同認識。前者的“動詞說”在國外的“把”字句研究中占據主導地位[13-17]。這種觀點的好處在于,它可以很好地解釋帶賓語的“把”字句,并將部分“把”字句與無標記的被動句聯系起來。在漢語學界,部分支持這個觀點是朱德熙先生提出的受事主語說[18],即刪除“把”字,后面的部分是受事作主語的句子。但是,在實際語料中,這個觀點仍不能解釋所有的“把”字句。例如,“作為”類動詞所在的“把”字句是不能刪除“把”字的。如“*吸引外資作為緩解就業壓力的一個有效辦法”是不成句的,它要么作“是”字句的主語,要么需要加上“把”字。相比較而言,北京大學漢語樹庫在描述漢語時采用的是朱德熙先生的功能分類的思想,而且語素、詞和短語之間構建了較好的功能對應關系[19]。在對“把”字句分析中,北大樹庫沿襲了王力先生提出的“提賓說”,將“把”后的名詞看作是從主動賓句中動詞后的賓語位置提前所致。雖然并不是所有的“把”字句都能用提賓說來解釋,如“把老伴兒死了”,但是,這種觀點是最為符合母語者的語感,這與“把”字句所具有的處置義是密不可分的。根據統計,北大樹庫對“把”字句標注的準確率高達99.6%。由此,傾向于在北大中文樹庫的基礎上深加工“把”字句的句法語義信息。

表1 粗分類的“把”字句語義類
由于本文是面向于大規模的語言工程實現,標注資源的構造也應考慮到大規模數據的特點。這就要求標注那些對計算分析最為重要的信息,而不能如語言學分析那樣做到面面俱到。據此,標注工作主要落實在句法和語義兩個層面:句法層面標注組塊邊界(將“把”字句分為三個組塊部分,包括“把”字前的組塊X1…n,“把”字后的組塊Y,以及謂語部分Z1…n;采用IOB2 序列表示法[20]來對組塊進行序列標注,其中,“B”表示當前詞是一個組塊的開始,“I”表示當前詞在一個組塊中,而“O”表示當前詞不在任意一個組塊中)和論元成分,如NP1、NP2、NP3;語義層面標注論元的語義角色(語義角色的標注標準主要借鑒了袁毓林提出的語義角色標注體系[21]),如施事A、受事P、與事D等。除了這兩個重要層面以外,還需要標注謂語部分的形式類型,如根動詞VROOT、趨向動詞DV 和形容詞A 等。最后,標注出具有區別性意義的謂詞語義類(如“當作義”、“給予義”和“成為義”等)以及有關成分的語義特征(如“有生”)。例如:

在標注語料的基礎上,將機器對“把”字句的理解具體化為框架識別與自動分類這兩個任務?;谧R別和分類的結果,設計一個自動釋義和句式變換程序來對歸入相應類別的“把”字句實例生成人工語言釋義和可變換的句式實例,如圖1 所示。
關于“把”字句的自動識別,分別采用淺層分析與深層分析這兩種技術。淺層分析一般是分析句子的局部,適用于分詞、命名實體識別等任務。近年來,組塊(chunks)分析為淺層句法分析帶來新的思路。組塊是介于單詞與語句之間的單位[22],它將整句劃分為不同的部分,可以避免完全句法分析中的諸多難題,如歧義問題。如果不考慮語法單位之間的語法關系,可以將其句法框架和語義框架看作是一個線性序列結構。這樣,就可以用組塊分析的方法來識別“把”字句。另一方面,還對“把”字句進行深層的句法分析。雖然深層句法分析在魯棒性和效率等方面不如淺層句法分析,但是復雜語法對復雜的語言現象有更好的把握能力。下面,將分別介紹組塊分析與深層分析的實驗方法和實驗結果,并從二者的比較中得到最優的方案。

圖1 計算流程圖
3.1.1 組塊分析及算法
組塊分析是將句子進行部分的句法分析,從而降低語法分析的難度。在漢語的淺層句法分析中,組塊分析主要用于短語邊界的識別,尤其是名詞短語的自動獲取。目前,基于成熟的機器學習算法的組塊分析,對序列性數據(sequential data)的處理性能優勢明顯而被普遍采用。
“把”字句的句法框架與語義框架都是一個線性的序列結構,即框架成分間互不相交、沒有疊加。換句話說,任意一個框架元素與其他框架元素都不會共享同一個詞??紤]到“把”字句的這種線性結構,采用組塊分析的方法來對“把”字句的框架成分進行識別。那么,“把”字句的框架識別可以具體化為對給定句子中的詞進行序列標注的問題。考慮到“把”字句中框架成分的線性特點,采用IOB2 表達法來進行序列標注。通過這種IOB2 表示法,任意給定一個“把”字句,都可以通過這樣的表示法來表示其所有的關涉成分;而只要能夠對句子的詞進行正確的IOB2 標簽分類,就可以實現“把”字句框架的自動識別。
接下來,本文使用了一種結構化的學習算法——條件隨機場(Conditional Random Fields,CRFs)。條件隨機場是一種統計模型方法[23],它兼具判別模型和無向圖模型的優點:特征設計靈活,無需考慮特征獨立性,避免了標記偏執(Label Bias)問題(參考北京大學計算語言學研究所常寶寶副教授的《計算語言學》課程講義)。它常用于標注或分析序列性數據,適用于分詞、詞性標注和命名實體識別等任務。
根據該學習算法,依次對給定句子中的詞進行分類。分類的依據是該詞的上下文特征及已經完成了的前一詞的標簽分析。本文中使用的特征包括:
(1)給定詞的前兩個詞及后兩個詞窗口內的一元詞特征,含詞與詞性兩種;
(2)給定詞的前兩個詞即后兩個詞窗口內的二元詞特征,含詞與詞性兩種。
3.1.2 實驗結果及分析
對于框架識別任務,采用準確的詞性標注結果作為輸入。在本節的實驗中,采用wapiti 工具包(詳見http://wapiti.limsi.fr/)作為框架識別的學習器。鑒于語料包括句法與語義兩個層級的標注,分別設計句法框架和語義框架的識別實驗,并比較二者在召回率和準確率上的區別(鑒于該語料規模有限,為了更加準確地衡量的算法,報告的實驗結果均是十折交叉驗證的結果)。
在第一個實驗中,對“把”字句的句法框架進行識別,即采納標注為“B-NPx”一類的標簽作為預測內容。實驗結果如表2 所示。

表2 基于句法框架的識別結果
在第二個實驗中,對“把”字句的語義框架進行識別。主要將謂詞論元的語義信息(標簽形如“B-A”)抽象為預測內容,表3 所示是實驗結果。

表3 基于語義框架的識別結果
以上兩組實驗結果表明:(1)對“把”字句的句法識別與語義識別的結果相差不大,準確率和召回率都非常接近。(2)“把”的賓語(通常為NP2/P)較容易識別,準確率高。這說明“把”作為一個功能詞,有很強的句法語義標示性。(3)組塊分析算法的準確率達到一定的精度,但相比之下,召回率很低,很多正確的關涉成分沒有被找到。如果考慮到完全句法分析的信息,有可能會改進框架元素識別的召回率。
3.2.1 完全句法分析及算法
相較于組塊分析,完全句法分析將整句剖析(parse)成一棵完整的句法樹。也就是說,將對自然語言的理解具體化為生成句法樹的過程。句法樹的生成依賴于背后的形式語法理論。粗略地說,基于上下文無關文法的語言模型在計算句子語義方面不如基于約束的語法系統和基于依存語法的語言模型。在對漢語的形式語法研究中,基于上下文無關語法和依存語法的句法模型占據主流地位,已經開發有較為成熟的樹庫資源,如賓大中文樹庫、北京大學的現代漢語樹庫、清華漢語樹庫、臺北中研院的Sinica 漢語依存樹庫,以及哈爾濱工業大學信息檢索研究室從短語結構樹庫轉化來的依存樹庫等。這些資源的建設為面向大規模真實文本的內容計算的語言知識的挖掘和形式表示等方面的研究提供了真實有效的語料支持。
相比較而言,基于約束的形式語法方面的研究并不多見,大規模的語法資源也只限于雛形。在基于HPSG理論的多國語法開發平臺中,美國華盛頓大學的Bender教授主持開發的矩陣語法(Matrix)包含了一部分漢語語法資源。德國柏林自由大學的Müller 教授主持的漢語語法資源正在建設當中。德國薩爾蘭大學在矩陣語法的基礎上進一步開發漢語語法(MCG)資源。此外,日本東京大學的Miyao 教授生成了由賓州漢語樹庫自動轉換而來的HPSG 語法樹庫。
在這些語法資源中,選取了較有代表性的賓大中文樹庫、北大漢語樹庫、哈工大依存樹庫以及柏林自由大學的漢語語法庫。研究發現,對“把”字句的分析主要有三點較大的分歧。
(1)“把”字和“把”后成分之間的關系
如圖2 和圖3 所示,賓大中文樹庫將“把”字后面的成分整體看作是“把”所帶的小句“IP”。而北大漢語樹庫將“把”及其后成分看作是一個介賓短語“pp”。前文也提出,考慮到“把”字句的處置義,也認同后一種分析,將“把”字與“把”字后名詞性成分先分析為一個單位,只不過需要根據“把”字句的類型將“把”分別看作是賓語標記(S1 類“把”字句,如“媽媽把衣服洗干凈了”)與主語標記(S2 類“把”字句,如“農活兒把爺爺累病了”)。
(2)論旨角色的配置
“把”字句中,論元成分的語義角色配置是非常復雜的。如果能夠在語料中得到正確的論旨角色關系,無疑對理解“把”字句有著至關重要的作用。目前,賓大樹庫和哈工大依存樹庫都能給出簡單的語義角色標注信息,但是實踐證明,目前的標注工作還存在一些問題。

圖2 賓大中文樹庫例示

圖3 北大中文樹庫例示
在依存樹圖4 中,分析器只給出了“老干部”和“經驗”這兩個論元成分的語義角色信息。但是,“傳授”類動詞在“把”字句中實際上關涉三個論元成分,圖中并沒有給出與事的標注。同樣,在依存樹庫中還測試了一系列具有復雜語義角色配置關系的句子,如圖5 所示,“她把女兒打哭了”,“打哭”分析出來是個連謂結構,而語義角色標注中“哭”是錯誤的,把“她”標成了A0(施事),實際上應該是“女兒”哭了。

圖4 哈工大依存樹庫例示

圖5 “她把女兒打哭了”的依存分析
對于這個句子的分析,陳鑫將“打哭”類動詞看作是連謂結構[24]。他認為,“連謂結構是同屬一個主語的多個謂語,這些謂語成分地位相等,只是在時間或空間上不一樣,中間可以被逗號分隔,多數謂詞都有自己的賓語。”這個定義顯然不適合解釋“把”字句,因為“打哭”并不是連謂結構,而是述補結構。句子的語義可以還原為“她打女兒”使得“女兒哭了”,對應到建立的分類體系中的述補結構類。所以說,對“把”字句分而治之的思想是非常必要的,這樣才能使得復雜的論旨角色配置對應到相應類別的句子中。
(3)謂詞核心關涉成分的約束關系
在基于短語結構語法的賓大樹庫和北大中文樹庫中,“把”字句謂詞核心所關涉的論元成分通過自底向上的規則組成更大的語法結構。但是,這些語法無法描述所謂的“提賓說”,即動詞后名詞性成分提前到“把”字后的位置上。對此,基于約束的形式語法可以提供這種長距離的依存范式。在HPSG 語法中,這種語法現象可以用長距離依存原則來描寫,移動后所留下的空位可以用GAP 特征來表示[25],具體如圖6 所示。

圖6 長距離依存原則
Gao 應用這一原則描述“把”字句中論元成分的長距離依存關系[15],分析結果證明是有效的。例如,對“我把他搶了”這個句子的分析如圖7 所示。

圖7 Gao 的句法分析
進而,柏林自由大學的Müller 教授主持開發的漢語語法系統中還可以對這種句法空位進行自動分析,從而可以自動分析出合格的“把”字句,如圖8 所示。
據此,將HPSG 理論的這種長距離依存的思想結合到本文的短語結構文法中,并設計程序來自動找到“把”字句中的框架成分“NP1”、“NP2”和“NP3”,如圖9所示。

圖8 柏林自由大學TRALE 語法示例

圖9 “老干部把經驗傳授給新干部”的句法樹
如圖9,采取一種自底向上、逐層遍歷的掃描方法。先從子節點開始尋找“NP3”,如果找到了,就在該節點的上層節點標注“seeNP3”;接著尋找根動詞“ROOT”,如果找到,在根動詞所在節點標注“seeROOT”,這些標注信息會逐級向上承繼;再繼續找“NP2”,找到后在其上層節點標注“seeNP2”;最后尋找“NP1”,找到后在其上層節點標注“seeNP1”。這樣,在這句話的父節點上會累積標注出找到的這些框架成分的信息,也就意味著識別出了句子中的框架成分,達到了自動識別的目的。
3.2.2 實驗結果及分析
在標注文本中隨機抽取了240 句“把”字句作為測試集來進行開放測試。首先來看根據句法框架的識別結果,如表4 所示。

表4 基于句法框架的完全句法分析識別結果
從表4 的結果可以看出,基于深層思想的框架識別結果優于組塊分析的結果。其中,召回率的結果要明顯優于組塊分析的召回率,NP2 達到96.03%,根動詞、NP1和NP3 在80%左右。這說明,完全句法信息的系統的預測要明顯優于組塊分析的系統。但是,因為找到的框架成分多了,也會對系統的準確率造成一定的影響。目前,該系統對“NP2”的識別準確率最高,達到92.03%。但是,對根動詞、NP1、NP3 和SP 的識別不如NP2,分別為80.71%、55.21%、63.85%和65.12%。NP1 的識別效果最差,這是因為“把”字句的NP1 可以不出現,也可以出現在“把”字結構所在小句的前一小句中,所以難以準確地識別。
再來看根據語義角色的識別結果,如表5 所示。

表5 基于語義框架的完全句法分析識別結果
總體來看,基于語義角色的識別結果與框架成分的識別結果基本一致。但是,由于語義角色的數量要多于框架成分的數量,在結果的集中度上會受到一些影響。
最后,詳細考察了識別錯誤的結果,發現沒有得到正確識別的原因主要集中在詞性標注錯誤(25%)、句法成分的識別錯誤(15%)與句法結構關系的識別錯誤(20%)上,這與詞性標注器和句法分析器的效果有關??梢?,本文句法分析器與北大中文樹庫的分析結果存在一定的差距,這也是以后需要改進的地方。
對“把”字句的句式分類一般可以轉化為一個關于“把”字的詞義消歧問題,但傳統的詞義消歧方法在解決我們的問題上有很大局限性。最主要的原因是,詞義消歧所利用的信息一般是和目標詞搭配的詞,通常屬于詞匯語義的范疇;而所關心的“把”字句的語義,則是“把”字句的框架分類,屬于句法語義的范疇。這樣,僅僅通過搭配詞的信息,無法準確完成對“把”字句的分類。本文實驗也充分的說明了這一點。
雖然具體的詞義消歧算法不支持“把”字句的分類,但詞義消歧的思想仍然有很大的借鑒意義。在本文中,和詞義消歧算法相似,采用判別式機器學習算法來對“把”字句進行類別的自動分析,只是在特征提取方面,采用的不是詞搭配的信息,而是采用已經識別出來的“框架元素”。下面是對特征的具體說明。
(1)根動詞的上下文信息:根動詞的前一個詞及后一個詞窗口內的一元詞特征,含詞與詞性兩種。
(2)“把”字的上下文信息:“把”字的前兩個詞及后兩個詞窗口內的一元詞特征,含詞與詞性兩種。
(3)名詞性框架元素信息:名詞性框架元素的尾詞及其詞性。
(4)動詞性框架元素信息:動詞性框架元素的首詞及其詞性。
在自動識別了“把”字句框架信息的基礎上,可以很方便地提取以上特征,并根據這些特征訓練一個分類器,進而對“把”字句進行分類。在分類器的選擇方面,有很多算法可以考慮,采用了支持向量機的算法(http://zh.wikipedia.org/wiki/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA)。另外,用于分類的學習器,使用的是Liblinear線性分類器(Liblinear是一個用于大規模數據分類的開源庫,支持邏輯回歸和向量機)。
對于語義分類任務,將前文自動識別實驗的結果作為輸入,并選取根動詞和“把”字的上下文信息,以及名詞性和動詞性框架元素的信息作為分類的重要特征。由于前文分別采用了組塊分析和完全句法分析的方法進行了識別實驗,接下來的分類實驗也要基于這兩組不同的數據。
首先是通過組塊分析得到識別成分的語義分類的結果,如表6 所示。

表6 基于組塊分析的語義分類結果
通過實驗發現,基于自動的句法框架信息和自動的語義框架信息對“把”字句的框架分析沒有影響,系統精度一致(由于分類問題的判斷標準在于分類的準確度,并沒有召回的文本)。
接下來是基于完全句法分析得到識別成分的語義分類結果,如表7 所示。

表7 基于完全句法分析的語義分類結果
從表7 的數據可以看出,在基于完全句法分析得到的框架信息的基礎上的語義分類結果(準確率為61.79%)并沒有大幅度的改進,反而還不如基于組塊分析得到的框架信息上的語義分類結果(準確率為67.2%)。
這兩組實驗的結果都不夠理想。通過對分類錯誤結果的分析(在隨機抽取的100 句分析結果中,有41 句的分類結果錯誤),發現造成“把”字句的分類錯誤的原因主要有以下幾點:
(1)分詞結果不一致。比如“流言把他擊倒”,樹庫中傾向于分析為“擊/v 倒/v”,但是這里采用的分詞系統將“擊倒”切分為一個動詞。這樣就既影響識別結果,又影響分類結果。在41句錯誤結果中,有4句屬于這類錯誤。
(2)識別結果不一致。例如下例中,測試文本中的根動詞和NP2 的識別都與標準答案中的不一致。在41句錯誤結果中,有27 句都屬于這類錯誤。
(3)分類結果錯誤。這類句子中,句子成分與句子結構關系的識別結果都是正確的,只有分類結果是錯誤的。在41 句錯誤結果中,有8 句屬于這類錯誤。
(4)標準答案的分析結果錯誤。在本文的語料中,包括一部分“將”字句,把這些“將”字句也標作“把”字句,但是有些“將”字句在標準答案中沒有標注上。在41句錯誤結果中,有2 句都屬于這類錯誤。
綜合來看,真正由本系統造成的分類錯誤只有8例,占20%左右,大部分的錯誤結果都是與識別錯誤直接相關。由此,需要在以后重點改進識別結果的召回率與準確率。
在前面的自動識別與自動分類的基礎上,設計了一套“把”字句自動釋義與句式變換程序。該程序按照如下的計算步驟來實現對“把”字句的自動釋義與句式變換:
(1)系統在文本框中輸入一句“把”字句。
(2)系統后臺對該“把”字句進行自動識別與句式分類,并將識別結果和分類結果保存到臨時文件中。
(3)根據分類結果,系統后臺找到相應類別的釋義模板和句式變換模板,將識別出的框架成分分別填入到相關的釋義模板中,得到一個釋義結果和一組變換式。
(4)系統將該釋義結果和變換式輸出到文本框中。
(5)系統再給出句法分析的結果,并以一棵樹的形式顯示出來。
根據以上計算步驟,可以對“把”字句實現自動釋義。下面是“老干部把經驗傳授給新干部”的自動釋義和句式變換過程:
步驟1經過組塊識別或完全句法分析,得到這句話的句法框架信息和語義框架信息。例如,句法框架信息有:NP1=“老干部”,NP2=“經驗”,NP3=“新干部”,ROOT=“傳授”;語義框架信息有:A=“老干部”,P=“經驗”,D=“新干部”,ROOT=“傳授”。

圖10 計算程序實例演示結果
步驟2根據框架信息和分類類別之間的對應關系(即分類模型),機器自動將這句話歸入到第1 類,在“把”字的標記上標為“BA1”。在完全句法分析中,這個類別信息會跟著“把”字向上傳遞到根節點。
步驟3根據第1 類“把”字句的釋義模板和句式變換模板,將框架成分代入相應的類別中。例如,釋義模板是“NP1+VP+NP2,使得+NP3+獲悉+NP2”,輸出結果是“老干部傳授經驗,使得新干部獲悉經驗”;句式變換模板是“NP1+VP+NP2+GEI+NP3;NP2+被+NP1+VP+GEI+NP3;NP2,NP1+VP+GEI+NP3”,輸出一組句式變換式:“老干部(NP1)傳授(VP)經驗(NP2)給(GEI)新干部(NP3);經驗(NP2)被老干部(NP1)傳授(VP)給(GEI)新干部(NP3);經驗(NP2),老干部(NP1)傳授(VP)給(GEI)新干部(NP3)”。這樣,就實現了對“把”字句的自動釋義和句式變換程序,輸出結果如圖10 所示。
需要說明的是,這部分自動生成的語義解釋也許并不流暢,因為采用的是人工語言的釋義模板。如果要達到自然語言的流暢度,還需要結合大規模的基于N-Gram的語言模型的訓練。
通過對“把”字句的計算分析,實現了一個可以對“把”字句進行框架識別、自動分類和自動釋義與句式變換的程序。首先,分別采取了基于組塊分析的方法和基于完全句法分析的方法來對“把”字句進行框架識別。研究發現,基于完全句法分析的識別方法對“把”字句框架成分的召回率高于基于組塊分析的方法。但是,由于預測的數量增多,準確率不如基于組塊分析的方法。只有對NP2 的識別,基于句法分析的方法在召回率和準確率兩個方面都優于基于組塊分析的方法。前者對NP2的召回率達到96.03%,準確率達到92.44%;而后者對NP2 識別的召回率是90.14%,準確率是92.03%。接下來,采用判別式機器學習的方法來對“把”字句自動分類。實驗結果表明,在基于組塊分析的識別基礎上的自動分類的準確率是67.21%,而基于完全句法分析的自動分類的準確率是61.79%。最后,在自動識別與分類的基礎上,根據釋義模板和變換模板設計了一個“把”字句的自動釋義與句式變換程序。當輸入端輸入一個“把”字句,在輸出端給出該句的釋義結果和相應類別的變換式,進而為機器翻譯等應用研究提供幫助。例如,可以對“把”字句的自動釋義和句式變換結果進行翻譯,再通過自信度計算等策略計算出最為理想的翻譯結果。
[1] 袁毓林.基于認知的漢語計算語言學研究[M].北京:北京大學出版社,2008.
[2] 王力.中國現代語法[M]//王力文集:第二卷.濟南:山東教育出版社,1985.
[3] 郭銳.把字句的語義構造和論元結構[M]//語言學論叢:第28 輯.北京:商務印書,2003.
[4] 葉向陽.“把”字句的致使性解釋[J].世界漢語教學,2004(2):25-39.
[5] 邵敬敏.把字句及其變換句式[M]//研究生論文選集·語言文字分冊.南京:江蘇古籍出版社,1986.
[6] 薛鳳生.試論“把”字句的語義特性[J].語言教學與研究,1987(1):4-22.
[7] 崔希亮.“把”字句的若干句法語義問題[J].世界漢語教學,1995(3):12-21.
[8] 張伯江.論“把”字句的句式語義[J].語言研究,2000(1):28-40.
[9] 張旺熹.“把”字句的位移圖式[J].語言教學與研究,2001(3):1-10.
[10] 王璐璐.基于變換的“把”字句自動釋義研究[D].北京:北京大學,2013.
[11] Levin B.English verb classes and alternations:A preliminary investigation[M].Chicago,IL:University of Chicago Press,1993.
[12] 詹衛東.論元結構與句式變換[J].中國語文,2004(3):209-221.
[13] Zou Ke.The syntax of the Chinese ba-constructions and verb compounds:A morpho-syntactic analysis[D].University of Southern California,1995.
[14] Bender E.The syntax of Mandarin ba:Reconsidering the verbal analysis[J].Journal of East Asian Linguistics,2000,9:100-145.
[15] Gao Qian.Argument Structure,HPSG and Chinese grammar[D].Ohio State University,2000.
[16] Lipenkova J.A HPSG representation of causativity in the Chinese ba-construction[C]//Proceedings of the 17th International Conference on Head-Driven Phrase Structure Grammar,Université Denis Diderot Paris,2010.
[17] Lipenkova J.Lexical licensing and obligatory event modifiers in the Chinese ba-construction[C]//Proceedings of CSSP,2011.
[18] 朱德熙.語法講義[M].北京:商務印書館,1982.
[19] 周強,張偉,俞士汶.漢語樹庫的構建[J].中文信息學報,1997(4):42-51.
[20] Sang E T K,Veenstra J.Representing text chunks[C]//Proceedings of EACL Conference(EACL 1999),1999.
[21] 袁毓林.論元角色的層級關系和語義特征[J].世界漢語教學,2002(3):5-6.
[22] Abney S.Parsing by chunks[M]//Principle-Based Parsing.Dordrecht:Kluwer Academic,1991.
[23] Lafferty J,McCallum A,Pereira F.Conditional random fields:Probabilistic models for segmenting and labeling sequence data[C]//Proc of the 18th International Conf on Machine Learning.[S.l.]:Morgan Kaufmann,2001:282-289.
[24] 陳鑫.基于主動學習的漢語依存樹庫構建[D].哈爾濱:哈爾濱工業大學,2011:11-12.
[25] Sag A,Wasow T.Syntactic theory:A formal introduction[M].[S.l.]:CSLI Publications,1999.