武汉大学提出软模板SoftProto框架,大幅增强方面词抽取任务
?PaperWeekly 原創 ·?作者|陳壯
學校|武漢大學博士生
研究方向|情感分析、信息抽取等
本文介紹一篇我們發表于 EMNLP-2020?的論文《Enhancing Aspect Term Extraction with Soft Prototypes》,該工作提出基于軟模板的 SoftProto 框架來增強方面詞抽取任務,旨在解決評論文本中方面詞和環境詞具有長尾分布的問題。
SoftProto 框架幾乎可以與所有的序列標注器進行結合。在多個 SemEval 數據集上的實驗表明,軟模板的引入大幅度地提升了幾個經典序列標注器在方面詞抽取任務上的性能。
?
論文標題:
Enhancing Aspect Term Extraction with Soft Prototypes
論文鏈接:
https://www.aclweb.org/anthology/2020.emnlp-main.164.pdf
代碼&數據:
https://github.com/NLPWM-WHU/SoftProto
?
方面詞抽取任務
方面詞抽取任務(Aspect Term Extraction,ATE)是方面級情感分析中的一個基礎性子任務。給定一個評論文本,ATE 的目標是抽取被用戶表達了情感的方面短語。例如對于評論“The Bombay style bhelpuri is very palatable.”,ATE 希望抽取出方面詞“bhelpuri”。
ATE 在過去二十年間已被廣泛研究。早期的研究多致力于設計規則或是手工特征實現抽取。隨著深度學習的發展,目前多數研究都將 ATE 當作一個序列標注任務,并設計序列標注器為評論生成對應的標簽序列。
?
問題與動機
雖然現有的序列標注方法在 ATE 任務上已經取得了優良的性能,但它們仍然面對一個嚴峻的挑戰:由于缺少包含尾部詞的樣本,序列標注器可能會收斂到較差的狀態。如圖 1 所示,在常用的 SemEval 數據集中,大約 80% 的方面詞和環境詞(即非方面詞)都出現不超過 5 次。根據相關研究,在訓練樣本不足的情況下,神經網絡模型很難收斂到最優狀態。
▲ 圖1?SemEval數據集中方面詞(左圖)與環境詞(右圖)的分布
?
為了解決上述問題,我們的基本設想是將樣本相互關聯起來,從而幫助罕見詞的抽取。例如,如果我們將前例中的罕見方面詞“bhelpuri”與常見方面詞“food”關聯起來,與“bhelpuri”相關的樣本就會變得很豐富。
為了建立這種關聯,尋找同義詞是一個直觀的想法,但該方法存在兩個問題:首先,詞典中只有小部分詞能找到確定的同義詞,雖然可以采用詞向量尋找最近鄰,但其語義相似性并不能得到保證;其次,方面詞的存在是動態的,需要根據是否有針對該詞的觀點來確定。因此,我們需要建立一種動態的關聯關系,且要從單詞的上下文而非單詞本身入手。
本文提出了一種軟檢索方法以建立單詞級的關聯。如圖2所示,在進行軟檢索之后,我們可以得到一個生成的樣本,其與原樣本在詞級一一對應。我們將其稱為“軟模板”,因為其可以作為一個參考點來指導模型對于原樣本的學習過程。
▲ 圖2 軟檢索過程示意圖
?
我們借助語言模型 LM 實現軟檢索的過程。作為一個自監督的任務,語言模型的建模過程不需要額外標注,且能吸收領域內的全局知識。此外,現有研究表明,語言模型傾向于生成常見的輸出,這恰好滿足了我們將罕見詞與常見詞關聯起來的需求。
具體地,我們首先根據給定的語料預訓練雙向語言模型(語料可以來自訓練集或外部無標注數據),接著固定語言模型,再根據單詞的上下文來推斷其對應的模板詞。我們將生成的軟模板當作標注方面詞的輔助證據,從而為模型判別長尾詞提供助力。
?
SoftProto框架
如圖 3 所示,SoftProto 框架由三部分組成:(1)模板生成器,用于實現軟檢索過程,并為樣本生成對應的軟模板;(2)門控調制器,用于融合樣本與軟模板的知識,并生成融合后表示;(3)序列標注器,用于預測標簽序列。
▲ 圖3 SoftProto框架
?
模板生成器的工作過程分為兩部分,如圖 4 所示。首先根據給定的語料預訓練雙向的語言模型。隨后,固定語言模型的參數,就可以根據某一位置的前文或后文推斷該處可能的詞。
語言模型在某一位置的輸出為一個詞表大小的概率分布,我們取出 top-K 個候選詞(本文稱作 Oracle Words),并按照其對應的概率,對詞向量進行加權求和,可計算出該位置上前向或后向的軟模板向量,最終軟模板向量取前后向模板向量的均值。將每一位置的軟模板向量按順序排列,即可獲得樣本對應的軟模板序列。
▲?圖4 語言模型的預訓練與推斷過程
?
門控調制器通過對樣本表示和軟模板表示進行兩方面的操作來促進融合:第一,軟模板自身包含了可以作為支撐證據的信息,因此先將每個單詞的向量與其對應的軟模板向量進行拼接;第二,軟模板向量可以提純原樣本的表示,因此再對拼接向量的每一維做門控操作,最終可獲得融合后向量。
如下式,其中 x 為原樣本中的單詞向量,p 為對應的模板詞向量,f 為融合后向量。
序列標注器的目標是從融合后向量中提出高層語義特征,并據此預測標簽序列。由于軟模板獨立于序列標注器,因此可以選用任意現存的標注器作為基準。根據標注器的預測結果,與真實標簽計算交叉熵損失,即可端到端地訓練 SoftProto 框架(語言模型的預訓練不包含在訓練過程中)。
?
實驗
為了驗證軟模板對于 ATE 任務的作用,我們在 SemEval 2014~2016 的四個數據集上進行了實驗,其統計信息如表 1 所示。所有數據集都有固定的訓練/測試劃分,我們從訓練集中隨機選取 150 個樣本作為驗證集,在驗證集上取得最優 F1 的模型被用于測試。
▲?表1 實驗數據集
?
我們使用 Fairseq 工具包進行語言模型的預訓練操作。預訓練語言模型的語料有兩種來源:1)使用 ATE 數據集中的訓練/驗證集作為語料。針對四個數據集,我們就獲得了四組語言模型(每一組包含前向和后向兩種)。這樣的設置利用了數據集的內部(internal)知識,因此稱作 SoftProtoI;2)使用外部的無標注數據作為語料。由于四個數據集分別屬于 Restaurant 和 Laptop 領域,因此我們使用 Yelp 和 Amazon 的大規模無標注數據進行預訓練,這樣就獲得了兩組語言模型,分別對應兩個領域。這樣的設置利用了數據集外部(external)的知識,因此稱作 SoftProtoE。
我們選取了 BiLSTM、DECNN 和 Seq2Seq4ATE 三種模型作為 SoftProto 框架中的序列標注器,分別使用 SoftProtoI 和 SoftProtoE 對其進行增強。
同時,我們還對比了兩種常用的增強方式:第一種是 Synonym,使用同義詞替代語言模型生成的 Oracle Words;第二種是 Replacement,按照一定概率隨機將原樣本中的單詞用其對應的模板詞替換。最后,我們還選取了 SemEval 各數據集的優勝模型和一些常用的神經網絡模型作為 baseline 進行對比。
如表 2 的實驗結果所示,在 SoftProto 的增強下,所有三個序列標注器都得到了較大的提升。例如對于 Seq2Seq4ATE 模型,SoftProtoE 在 Res14 數據集上實現了 3.30% 的提升。
我們還發現 SoftProto 帶來的提升在小數據集(Res15 和 Res16)上更為明顯,這是因為在小數據集中沒有足夠的樣本來訓練一個好的神經網絡序列標注器。
同時,SoftProtoE 的性能優于 SoftProtoI,這是因為外部語料庫要比 ATE 自身的數據集大得多,在其上訓練的語言模型也包含了更多的信息,可以生成質量更高的軟模板。顯然,Synonym 和 Replacement 的方法不適用于增強 ATE 任務,它們在某些場景下甚至帶來了性能的下降。
▲?表2 實驗結果
?
分析
樣例分析:如表 3 所示,我們選取了測試集中的六個樣本,深入觀察 SoftProto 的作用。
1. S1 和 S2 是相似的場景,原模型 DECNN 都只抽取了詞組的一部分,其原因是這些詞組在訓練集中并沒有出現過,其語義特征不夠強烈。SoftProto 為 [Pastor] 引入了 [nachos, burrito, salsa, food] 等詞,為 [touch] 引入了 [DSLR, cable,camera, projector] 等詞。這些詞提供了很強的指示作用,從而幫助模型進行了正確地抽取。
2. S3 也是個很有趣的例子。[surfuring] 是 [surfing]的一個稀有變體,原模型難以識別。而 SoftProto 為其引入了 [browsing, management, interface, search] 等詞,使得模型很容易識別出整體的詞組。
3. S4 體現了 SoftProto 的另一個功能,即識別形容詞是屬于描述性 descriptive 還是情感性 sentimental 的。[internal] 作為 [CD] 的描述詞,其本身并不是情感詞,而是方面詞的一部分。原模型認為其是情感詞而不對其進行抽取,而 SoftProto 為其引入了 [AC, on/off, wire, cable] 等詞,這些名詞性信息可以幫助模型判斷 [internal] 為方面詞。
4. S5 和 S6 證明了 SoftProtoE 相對于 SoftProtoI 的優勢。由于 SoftProtoI 中語言模型包含的信息量較少,其存在較多的噪聲干擾,為原模型帶來的幫助有限,而 SoftProtoE 的軟模板質量則高得多。
▲?表3 樣例分析
?
尾部方面詞抽取分析:為了證明 SoftProto 對于尾部方面詞的抽取確實有幫助,我們保持訓練集不變,從測試集中挑選出包含尾部方面詞的樣本,這些方面詞在訓練集上出現的次數不超過三次。如表 4 結果所示,SoftProto 有效地增強了原模型對于尾部方面詞的識別。
▲?表4 尾部方面詞抽取結果
總結
本文提出了一種通用的 SoftProto 框架來增強 ATE 任務。相較于設計復雜的序列標注器,我們轉向將樣本通過軟模板相互關聯。為此,我們借助語言模型來自動生成軟模板,并設計了一個簡單而有效的門控調制器來利用軟模板。
在 SemEval 四個數據集上的實驗表明,SoftProto 顯著地提升了三種經典 ATE 模型的性能,并同時維持了較低的計算開銷。在引入如 Yelp 和 Amazon 的外部大規模語料后,SoftProto 的性能還可以進一步提升。未來,我們將嘗試將軟模板的方法拓展到更多的自然語言處理任務上。
更多閱讀
?
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
?
總結
以上是生活随笔為你收集整理的武汉大学提出软模板SoftProto框架,大幅增强方面词抽取任务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 直播 | EMNLP 2020:用语义分
- 下一篇: @请注意查收:《史上最全的AI论文资料》