基於數據(語料庫)的複述粗略綜述

基於數據(語料庫)的複述粗略綜述

By牛力強 2013年9月24日

NLP CS NJU

Email:[email protected]

1.複述

1.1複述(paraphrase):

在與原句表達相同的語義內容,同一種語言下的原句的替代形式。

1.2複述產生的層次(level):

詞彙複述(lexical paraphrase):個別詞彙(individual lexical items)具有相同的語義表達

同義詞(synonyms):hot-warm,eat-consume

上位詞(hypernym):reply-say,landlady-hostess

短語複述(phrasal paraphrase):短語片段(phrasal fragments)具有相同的語義內容

句法短語(syntacticphrases):workon-soften up,takeover-assume control of

鏈接變量(linkedvariables):Y was builtby X,X is thecreator of Y

句子複述(sentential paraphrases):兩個句子代表了相同的語義內容

I finished my work.              Icompleted my assignment.

簡單的句子複述可以進行句子中詞項或者短語的替換(substitute)

複雜的句子複述生成困難一些:Heneeded to make a quick decision in that situation.

The scenario required him to make a spit-secondjudgment.

1.3討論範圍:

短語複述的自動獲取(包括短語複述的模式)和句子複述的生成。

不討論主要依賴於知識資源(詞典)、手寫規則、形式文法的複述方法。

排除完全基於詞的複述、應用於特定應用的方法、還有段落或者整個文檔的複述。

1.4複述生成的應用:

1.4.1查詢和模式擴展(query and pattern expansion)

一個重要的複述生成的應用就是在信息檢索系統中自動生成查詢的變種或者是信息抽取系統中模式。

Original: circuit details

Variant 1:details about the circuit

Variant 2:the details of circuits

在信息檢索中,運用複述生成生成相似或者相關的查詢擴展,這些方法通常利用了查詢日誌(query log)來計算語義相似度。

Jacquemin在1999年生成了農業領域的形態學的句法語義變種:

Original: simultaneous measurements

Variant: concurrent measures

Original: development area

Variant: area of growth

Ravichandran and Hovy在2002年採用半監督學習方法針對每個問題類型生成了幾種複述模式,並且用於問答系統中。例如INVENTOR問題類型:

Original: X was invented by Y

Variant 1: Y’s invention of X

Variant 2: Y, inventor of X

Riezler在2007年通過生成N-BEST複述句擴展了查詢(通過雙語平行語料庫訓練處基於樞軸的句子複述模型)。例如句子how to live with cat allergies生成兩個複述句:

P1: ways to live with feline allergy

P2: how to deal with cat allergens

最後,複述還用於提高關係抽取任務。Bhagat and Ravichandran 在2008年收集了複述模式用於關係抽取,在一個大的單語語料庫上採用半監督複述歸納。例如關係“acquisition”,收集到:

Original: X agreed to buy Y

Variant 1: X completed its acquisition of Y

Variant 2: X purchased Y

1.4.2擴展稀疏的人類參考數據用於評價(Expanding Sparse Human Reference Data for Evaluation)

在很大一部分NLP應用問題中,通過比較系統的結果與人類標註的數據來評價系統,這類應用有機器翻譯和文檔摘要。

在機器翻譯中,採用人工標註的數據來評價翻譯系統不夠完整,畢竟人工標註的數據不能涵蓋所有可能的翻譯模式。例如翻譯系統給出的結果S相比人工標註中的R不會具有高的score,儘管兩者包含相同的語義內容:

S: We must consider the entire community.

R: We must bear in mind the community as a whole.

在文檔摘要評價中,自動生成的摘要同樣是跟人類自行標註的參考摘要進行比較。

1.4.3機器翻譯(Machine Translation)

不僅應用於機器翻譯系統評價,複述也被直接應用於提高機器翻譯的過程。Callison-Burch,Koehn and Osborne在2006年採用自動生成複述來提高基於短語的統計機器翻譯系統。這類翻譯系統的工作原理將一個句子分隔成短語並且分別對短語通過查表進行翻譯,翻譯中允許沒有譯文的短語採用其複述短語的翻譯,這樣翻譯系統的覆蓋率得到提高。例如給定一個西班牙語句子包含短語“presidente de Brazil”,但是系統中不存在對應的翻譯,此時另一個短語“presidente brasileno”是“predidente de Brazil”的複述,如果系統中包含了短語“presidente brasileno”的翻譯,則可將翻譯作爲原短語“presidente de Brazil”的翻譯。

在統計機器翻譯系統中,另一個重要的問題是參考稀疏(referencesparsity)。一個句子可能有很多種翻譯結果,但是人工標註的雙語文本是不足夠的,因此翻譯結果也會受限。Madnani在2007年生成句子級的複述,並且用於擴展有效的參考標註翻譯,機器翻譯系統能夠學習到更好的系統參數。

2.複述識別與文本蘊涵(Paraphrase Recognition and Textual Entailment)

同複述生成關係密切的一個問題就是度量給定的兩個短語或者文本片段之間的語義相似度。一個更加複雜的任務是從給定的兩個文本中抽取或這識別出相互是複述關係的句子,這些任務的構想都屬於複述抽取或者識別這一類別,特別是識別,在許多NLP問題中非常有幫助。這些應用的例子就有文本到文本(text-to-text)的生成和信息抽取(information extraction)。

text-to-text生成應用依賴於複述識別。對於一個多文檔摘要系統,發現冗餘信息是非常關鍵的,因此來自不同文檔的兩個句子有可能具有相同的語義內容,在摘要的過程中,很重要的是不能重複相同的信息。Barzilay and McKeown在2005年通過發現複述部分來消除冗餘表示,整合成單個的連貫的句子。識別具有相同語義內容在文本簡化(text simplification)系統中也是很重要的。

Textual entailment:一段文本T蘊涵一個前提H,如果人類讀到T也就暗示H也爲真。此時,複述識別可以認爲是雙向的蘊涵。但是有一個問題,不能保證蘊涵的假設H能夠包含給定文本T相同的語義內容。例如:

T: Yahoo’s buyout of Overture was finalized.

H1: Yahoo bought Overture.

H2: Overture is now owned bu Yahoo.

最後複述和文本蘊涵是緊密聯繫在一起的。

3.基於語料庫的複述(Paraphrasing with Corpora)

基於語料庫的複述生成方法已經在過去發展迅速,得到廣泛的應用。根據語料庫的不同類型,來區分不同的複述生成方法:單個單語語料庫、單語對比語料庫、單語平行語料庫以及雙語平行語料庫。

在具體深入複述生成方法之前,先介紹分佈相似度的動機是非常有意義的。在不同類型的語料庫基礎上,分佈相似度是一極其流行的技術用於複述生成。

3.1分佈相似度(Distributional Similarity)

分佈相似度:享有相同分佈的單詞或者短語(語料中在相同的上下文中出現的一組單詞)更加趨向於具有相似的意義。

簡單來說,就是在相同語境中,出現在對應位置的詞語很有可能具有相同的語義含義。

如下圖1介紹了一個基本的想法,利用了分佈相似度的短語複述生成技術。輸入語料庫通常是單個或者一組單語語料庫(平行或者非平行)。經過預處理(包括標記句子、生成分析樹、以及其他的轉換)之後,下一步從語料中抽取相同上下文中的單詞對或者短語對,這些可以近似地認爲具有語義等價性。抽取方法可以由很多中方法實現(例如使用採用上下文爲特徵的分類器或者在依存樹中找到相似的路徑)。結果可能包含很多的噪音,因此需要其他條件的過濾,比如從其他語料(Web)中計算得到的搭配計數。最後,運用技術歸納複述句對爲模板或者規則用於其他句子的複述生成。

應用分佈相似度的潛在的一個不足是分佈相似的詞項不一定是複述關係,例如<boys,girls>,<cats,dogs>,<high,low>可能出現在相似的上下文中,但是不具有語義等價。


圖1 借分佈相似度假設的複述方法的一般架構

3.2基於單個單語語料庫的複述

首先來了解一個短語複述歸納算法,基於短語分割,由句子產生所有的N-grams,針對每個N-gram分析出錨文本,具有相同錨文本的短語序列可以作爲複述短語。如下圖2所示:


圖2 短語複述歸納算法 Pasca and Dienes 2005

此方法的效果依賴因素是在分析錨文本時候,最簡單是基於句子表面的特徵,後續可以增加語義的信息,得到的複述更加準確。

依存樹中通過查找依存路徑,分析得到相同變量出現在相同的對應插槽上的兩個句子是複述關係,如下圖3所示:

每條路徑可以認爲是兩端是變量的模式。如John found an answer to the problem.

路徑兩端指定爲SlotX和SlotY。

元組(SlotX,John)和(SlotY,problem)作爲路徑的兩個特徵。

路徑中除過slot的節點關係是內在的關係。


圖3 依存樹中查找複述關係

以下是通過分析依存樹中的依存路徑來產生複述對的算法,如下圖4所示:


圖4 分析依存路徑的複述規則抽取

Wu and Zhou在2003年描述了一種雙語的方法,用來抽取基於關係的複述模式,形如<w1, R, w2>,w1和w2作爲英語單詞具有語義關係R通過依存連接聯繫。如下圖5所示模式<verb, IN, verb>被抽取出來的過程:

 


圖5 模式<verb, IN,verb>的抽取過程

3.3基於單語平行語料的複述

       單語平行語料包含着句子對,具有語義等價關係或語義重疊的句子對。通過從這些平行語料一組包含相同語義內容的句子中抽取短語的對應關係作爲複述。主要有四種方法,前兩種基於分佈相似度,一個是基於自主引導的分佈算法,另一個是基於依存路徑,後兩者更加直接的、非分佈方法的計算方法。

       Barzilay and McKeown在2001嘗試多流程的分佈相似度方法流出了短語對應,他們提出了一種自主引導(bootstrapping)的方法容許逐步細化特徵用來決定相似度同時提高複述句對。如下圖6所示,是算法的基本步驟:


圖6

S1: Emma burst into tears and he tried to comfort her.

S2: Emma cried and he tried to console her.

<tried,tried>,<her,her>可能被抽取爲正例,<tried,Emma>,<tried,console>抽取爲負例。一旦種子例子抽取過來,下一步就是給正例和負例抽取上下文特徵。上下文特徵形如[<L1:PRP1,R1:TO1>, <L2:PRP1,R2:TO1>]是正例<tried,tried>。第一個元組<L1:PRP1,R1:TO1>表示在第一個句子中tried左邊是一個人稱代名詞(he),詞序列右邊是一個介詞(to)。第二個元組同樣表示。所有的這些正例負例的特徵(長度小於或等於某些特定的長度)抽取完之後,對於每個上下文特徵f都會計算一個強度值,運用最大可能性估計:

強度值(f)= 被f包圍的正例負例數量/所有f出現的次數

對這些抽取出來的上下文特徵進行強度值閾值過濾,剩餘的上下文特徵則可應用於獲取其他的複述例子來逐步細化上下文規則。這個過程反覆迭代直到沒有新的複述例子產生。

Ibrahim, Katz,and Lin在2003年提出了一種基於依存路徑分佈相似度(Lin and Pantel在2001的工作)的修改版,是在單語平行語料上進行,並且比上述方法更加有效之處是因爲採用了樹的路徑信息,而不只是詞法信息。如下是對Lin and Pantel方法的修改:

1.       通過對齊的錨點來抽取樹路徑:在平行語料中,對兩顆分析樹進行比較錨點並進行對齊,之後在錨點之間的路徑可以抽取出來,並且具有語義的相似性。

2.       運用滑動的頻率測量:Lin and Pantel的方法中所有的複述對之間的路徑權重都一樣。但是在此,在相同的錨點對之間連續生成的複述對比之前生成的權重要小一些。

Pang, Knight, and Marcu在2003年提出一種通過句法特徵對齊一組平行的句子的算法,算法輸出是一個合併的lattice,詞語、短語、句子的複述都可以讀取。預處理階段,超過45個單詞的句子被捨棄掉,下一步就是每個組的所有句子進行分析,得到分析樹。然後所有的分析樹進行合併,成爲一個共享森林。合併算法如下圖7(a)中所示:


圖7

一旦森林創建好之後,將它線性化就可以得到一個word lattice,通過自頂向下遍歷所有的森林節點,產生了一個交替性的路徑對於每一個合併的節點,如上圖7(b)所示。算法的最終輸出結果是對於每個組,生成一個所有句子的word lattice。

這些word lattices可以用來詞語或者短語複述的資源,任意一對節點之間的路徑可以認爲是複述關係。例如上圖7中的複述對<ate at cafe, chowed down at bistro>可以抽取到。另外在start和end節點之間的每條路徑都可以作爲是句子複述。

這種方法比目前所有基於單語平行語料的方法效果好,例如可以捕捉到大量的複述對,但是有以下的缺點:

1.             對於未出現過的句子,無法生存複述:對於一個新的句子,找不到lattice符合新句子的模式。

2.             需要大量的人工書面翻譯:這些平行語料都需要人工進行編寫。

Quirk, Brockett, and Dolan在2004年抽取了短語複述對,並且用於構造新的複述對。這方法在生成句子複述時跟機器翻譯中的模型類似:

其中複述Ep代表給定句子E的最優複述句,採用貝葉斯理論,可以重寫爲:

P(Ep)是一個n-gram語言模型估計假設Ep的流暢性,P(E|Ep)是翻譯模型,或成爲複述生成中的替代模型,提供一個概率的估計。

下圖8中的算法用來描述如何生成一組短語複述對以及計算每對的概率:


圖8

抽取出一組具有得分的短語對之後,可以用於未出現過的句子的複述生成。生成過程通過創建一個給定句子的lattice,lattice按下圖9中所示步驟填充完整:


圖9

如下圖10是生成lattice的例子:


圖10

Quirk, Brockett, and Dolan借用統計機器翻譯SMT的方法對齊短語的等價並且用對齊短語等價來重寫新的句子,最大的優點是繼承了SMT的方法。但是也有很明顯的限制:

1.單調的翻譯過程:這種方法只是短語的替換,而且替換位置比較固定。換句話說,重新排序將不會容許。

2.天真的參數估計:在一個不提供關係信息的概率分佈中使用詞袋方法用於參數估計結果用於短語複述。

3.信賴編輯距離:依賴編輯距離可能會排除掉有些具有複述關係的句子,但是在成分排序方面很有意義。

3.4基於單語比較語料庫的複述

相比平行語料,對比語料在現實世界中更加普遍存在。在此部分,主要介紹三種生成複述的方法:第一種採取的策略是具有分佈相似的元素是複述模式,分佈本身是一些命名實體,存在與多個句子中。相反其他兩種方法採取的策略是直接發現對應關係,通過新奇的對齊算法,後兩者不同之處在與算法的功效方面。

Shinyama在2002年採用來自兩種不同的日本報社同一天的300篇新聞文章作爲複述的源數據。預處理階段進行了命名實體標記,對每篇文章的每個句子進行依存分析,分佈相似度算法如下圖11過程:


圖11

最後輸出是一系列複述模式,命名實體用變量表示。如下例子:

<PERSON> is  promoted to<POST>

The promotion of <PERSON> to <POST> is decided

缺點:由於第二步模式抽取過程的限制,覆蓋率比較低;再者,如果句子中命名實體數量較少的話,生成不正確的複述的可能性會增加。

Barzilay and Lee在2003年嘗試在模板形式下生成簡潔的句子聚類,然後將一個語料中的模板同另一語料中的模板進行比對。一旦模板成對出現了,任何新來的句子只要匹配其中一個模板,則將變量填入另外的模板用來生成複述。算法如下圖12所示:


圖12

考慮到取得複述的質量,這種方法很容易比其他的方法效果好。然後,新來的句子要匹配到存在的模板,則質量依賴於覆蓋率。再者,構造和歸納lattices在處理更大的語料庫時更加耗費計算量。

和之前3.3節介紹的Pang, Knight, and Marcu的方法相比:

PKM的方法採用單語平行語料,1對1關係,因此聚類的預定義大小是1,而BL方法採用單語比較語料,因此聚類的預定義大小不確定。

兩種方法都採用了word lattices來表示生成複述因爲lattice可以很好的表示很多句子,編碼N-gram相似度。

另外不同是PKM方法使用了分析樹來計算對齊進行聚類,而BL方法只是考慮到一些表層的信息。

最後,BL方法可以對新來未出現過的句子進行生成複述,而PKM方法不行。

3.5基於雙語平行語料庫

       隨着統計機器翻譯SMT的再次熱門,出現了更多大量的雙語語料庫。

       Bannardand Callison-Burch在2005年採用雙語語料庫,基於詞對齊和標準SMT啓發,將所有的英語短語共享相同的外語短語作爲複述對,抽取短語複述對。算法如下圖13所示:


圖13

       如下圖14是一個例子:


圖14

樣例集中的複述對可以分組爲:

形態學上的變化:詞語或者短語的形式上不同,不能作爲複述。如<ten ton, ten tons>。

近似短語複述:只是共享了部分的語義內容,大多基於樞軸自動對齊的抽取方法歸於此類。如<were exiled, went abroad>, <accounting firms, auditing firms>。

短語複述:屬於真正的複述關係。如<army roadblock, military barrier>, <staff walked out, team withdrew>。

4.複述評價以及未來展望

不像別的諸如機器翻譯、文檔摘要等自然語言處理問題,複述問題沒有統一的評價標準。

未來複述研究有幾個方向如下:

Web的影響

聯合信息的多種資源

運用SMT工具

具體領域的複述

5.總結

本文在閱讀國外一些論文的基礎上,總結了當前關於複述問題研究的各個方面。首先介紹什麼是複述以及複述的應用及其意義,後面注重介紹了在不同語料庫上覆述抽取和生成方法的綜述,旨在給一個較淺層的認識。時間有限,只能簡單的總結一下,以後慢慢深入總結。

6.參考文獻

[1] Generating Phrasal and Sentential Paraphrases: A Survey of Data-Driven Methods.

[2] you can search Google about paraphrase yourself.


注:只是爲了分享,別無其他。

2013年10月6日20:48:33


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章