多標準中文分詞 你需要的小trick

2021-10-13 10:24:42 字數 2581 閱讀 9125

作為nlp領域中經典任務之一,分詞幾乎是其他所有nlp任務的基礎,開展下游nlp任務之前,往往需要先對文字進行分詞。多標準分詞(multi-criteria chinese word segmentation, mccws)的任務目的,即是為了利用多種標準分詞結果的共性知識,來提公升單一分詞標準的標註效果。本文提出的模型,可以根據分詞標準指示,基於單一模型,給出不同標準的分詞結果。

2.1 模型細節

從現在這個時間點看,模型相對來看比較簡單(這也許是中了emnlp findings的原因吧...)。傳統基於多工學習的分詞框架如下:

在多個標註標準的框架下,對於有m個不同標註標準的資料集,會抽取出共享的知識,以及各單獨分詞標準的知識,在解碼階段,對每乙個標註標準,設計乙個對應的解碼器解碼即可。相對於傳統的多工學習的分詞框架,*****提出的框架則在兩個地方進行了改進:

實際上,上述兩點的改進,都是源於模型在encode階段加的trick(criterion embedding),即對於每一種標註標準,都加入其標註標準作為encoder的一部分:

那麼,就算有一百種的標註標準,只要有這個作為指示的embedding,模型都不會混淆。回過頭來,模型的embedding資訊除了剛講的標註criterion embedding,還有以下幾部分:

transformer這裡就不講了。那麼,到了這裡,對於一條標註標準為m的query,它的embedding就可以表示為:

其中,以開始指示的embedding,即為帶有bigram資訊的embedding:

以對應**來更直觀認識這部分:

def forward(self, task, uni, bi1=none, bi2=none):

y_task = self.task_embed(task[:, 0:1])

y = self.uni_embed(uni[:, 1:])

if bi1 is not none:

assert self.bi_embed is not none

y = torch.cat([y, self.bi_embed(bi1), self.bi_embed(bi2)], dim=-1)

if self.f is not none:

y = self.f(y)

y = torch.cat([y_task, y], dim=1)

return y * math.sqrt(self.d_model)

模型的encoder沒啥好講的,就是平平無奇的transformer了,而decoder也是用的平平無奇的crf,因為每條query都帶有標註標準指示,解碼時根據標註標準調整bies序列至對應query即可。

2.2 模型效果

作者在8個經典分詞資料集(5簡體,3繁體)上進行了實驗,並使用transformer作為encoder基於單一分詞標準進行了實驗,驗證了transformer作為分詞encoder的有效性;並基於多標準分詞(即本文研究內容),對所提出的模型進行了評估,結果如下:

實驗結果顯示,和當時最好的多標準cws模型(stacked bilstm)相比,作者所提出的多標準分詞模型具有絕對的優勢。除此之外,作者還進行了兩方面的分析,第一是對中文簡繁體協同訓練**的研究(這塊我感覺並不是非常地convincing,就不展開說了),第二是對模型各模組的分析,並給出了模型各部分對最終效果的貢獻:

模型的結論,和在平時工作中的基本經驗一致,對於抽取能力強的encoder而言(transformer, bilstm),crf確實比較雞肋,但**所說的加了crf後的耗時問題,則倒是不至於:解碼時crf的複雜度不過是o(k*n*n),k是bies標籤數量,n為query長度,對於短query而言,耗時是可以接受的,考慮在搜尋這種準召、時效性要求都非常高的任務場景下,cnn作為抽取器,那必然是需要crf來約束的。

這篇*****提出乙個基於transformer的多標準分詞模型,相對比較好理解,可以認為是bert時代下,必然會出現的一篇*****,所提出的criterion embedding很有意義,在一些語料匱乏的nlp任務場景下,是乙個值得借鑑的有效思路。

bilstm crf中文分詞 多標準中文分詞模型

這是復旦19年6月剛發的文章,初略看一遍,記筆記。chinese word segmentation簡稱cws 將多標準學習引入到cws,不同分詞標準語料共享common knowledge,能夠互相提公升 作者提到應該是第一次從頭開始訓練transformer做分詞任務,避免了rnn和cnn的長依...

關於小程式你需要知道的事

小程式 入口使用較方便 而使用小程式獲取服務,就簡單得多,找到即可使用。不同點 使用快捷度 小程式直接使用 賬號體系 推廣1.分享小程式的頁面給好友 2.模板訊息 3.客服訊息 4.小程式頁面開啟掃一掃 5.支援帶引數的小程式 所以說,小程式一般適合低頻的工具類應用,例如計算貸款,匯率等,或者 公共...

SWJ小談 中文分詞的作用與概述 說教篇

隨著資訊的飛速增長,使搜尋引擎成為人們查詢資訊的首選工具,google yahoo 最近新出的網易的有道 等大程式設計客棧型搜尋引擎一直是人們討論的話題。隨著搜尋市場價值的不斷增加,越來越多的公司開發出屬於自己的搜尋引擎,阿里巴巴的商機搜尋 8848的購物搜尋等也陸續面世,自然,搜尋引擎技術也成為技...