搜出来的文本:基于BERT的文本采样
?PaperWeekly 原創 ·?作者|蘇劍林
單位|追一科技
研究方向|NLP、神經網絡
從這一篇開始,我們就將前面所介紹的采樣算法應用到具體的文本生成例子中。而作為第一個例子,我們將介紹如何利用 BERT 來進行文本隨機采樣。所謂文本隨機采樣,就是從模型中隨機地產生一些自然語言句子出來,通常的觀點是這種隨機采樣是 GPT2、GPT3 這種單向自回歸語言模型專有的功能,而像 BERT 這樣的雙向掩碼語言模型(MLM)是做不到的。
事實真的如此嗎?當然不是。利用 BERT 的 MLM 模型其實也可以完成文本采樣,事實上它就是上一篇文章所介紹的 Gibbs 采樣。這一事實首先由論文《BERT has a Mouth, and It Must Speak: BERT as a Markov Random Field Language Model》[1] 明確指出。論文的標題也頗為有趣:“BERT 也有嘴巴,所以它得說點什么。”現在就讓我們看看 BERT 究竟能說出什么來。
采樣流程
首先,我們再次回顧上一篇文章所介紹的 Gibbs 采樣流程:
Gibbs 采樣:
初始狀態為 ,t 時刻狀態為 。
通過如下流程采樣出 :
均勻地從 中采樣一個 i;
計算 ;
采樣 ;
(即將 的第 i 個位置替換為 y 作為 )。
其中最關鍵的一步,就是 的計算了,它的具體含義是“通過除去第 i 個元素后的所有 l-1 個元素來預測第 i 個元素的概率”,了解 BERT 的讀者應該都能明白過來:這不正是 BERT 的 MLM 模型所要做的事情嗎?所以,MLM 模型與 Gibbs 采樣結合起來,其實就可以實現文本的隨機采樣了。
所以,將上述 Gibbs 采樣流程落實到基于 MLM 的文本采樣中,流程如下:
MLM 模型隨機采樣:
初始句子為 ,t 時刻句子為 。
通過如下流程采樣出新的句子 :
均勻地從 中采樣一個 i,將第 i 的位置的 token替換為 [MASK],得到序列 ;
將 送入到 MLM 模型中,算出第 i 個位置的概率分布,記為 ;
從 采樣一個 token,記為 y;
將 的第 i 個 token 替換成 y 來作為 。
讀者或許留意到了,該采樣流程只能采樣出固定長度的句子,不會改變句子長度。確實如此,因為 Gibbs 采樣只能實現用某個分布中進行采樣,而不同長度的句子事實上已經是屬于不同的分布了,它們理論上是不存在交集的,只不過通常我們我們建立語言模型時,是直接用自回歸模型統一建模不同長度的句子分布,以至于我們沒有察覺到“不同的句子事實上屬于不同的概率分布”這個事實。
當然,要解決這一點也不是不可能,《BERT has a Mouth, and It Must Speak: BERT as a Markov Random Field Language Model》[2] 原論文就指出,可以將初始句子設為全部都是 [MASK] 的序列,這樣我們就可以事先隨機采樣一個長度 l,然后以 l 個 [MASK] 為初始句子來開始 Gibbs 采樣過程,從而得到不同長度的句子。
參考代碼
有了現成的 MLM 模型后,實現上述 Gibbs 采樣其實是一件很簡單的事情了,下面是基于 bert4keras 實現的參考代碼:
Gibbs 采樣參考代碼:
https://github.com/bojone/bert4keras/blob/master/examples/basic_gibbs_sampling_via_mlm.py
下面是一些例子:
初始句子:
科學技術是第一生產力。
采樣結果:
榮耀筆記本開箱怎么樣?
微信記錄沒用被怎么辦?
無法安裝瀏覽器怎么辦?
epf 轉換器 a7l 怎么用?
沒有安裝瀏覽器怎么辦?
榮耀筆記本充電怎么用?
無法打開 asp. net 怎么辦?
沒有安裝瀏覽器怎么辦?
無法重啟瀏覽器怎么辦?
ro 漢巴換 mac tv 版怎么用?
初始句子:
北京新增 3 例本地確診病例和 1 例無癥狀感染者
采樣結果:
澳門錄得 233 宗 h1n1 感染案例和 13 宗放射性感染。
慶祝儀式是學院繪畫、鋼鐵工參與創作的盛會。
慶祝儀式后吉卜力平臺其他游戲也參加了慶祝。
臨床試驗發現中的 g 染色體多來自胃腸道感染。
臨床試驗發現,人們通常真正享受陰蒂的快感。
慶祝模式在吉卜力平臺其他游戲中更加與慶祝。
慶祝模式在吉卜力,或其他游戲上更新和慶祝。
澳門錄得 20 宗 h1n1 感染病例,2 宗放射性感染。
臨床試驗發現女性的染色體常來自胃腸道感染。
臨床試驗發現 90% 感染病例為 m 型胃腸道感染。
初始句子:
連續 9 個 [MASK]
采樣結果:
你每天學你媽媽啊!
那晚,眼前白茫茫。
層層青翠綠意盎然。
幼兒園想做生意了。
究竟如何才能入官?
老師、同學,您好!
云山重重,兩茫茫。
梅雨,窗外霧茫茫。
那時,眼前白茫茫。
還是很棒的切蛋糕!
筆者實驗所使用的是 Google 開源的中文 BERT base。可以看到,采樣出來的句子還是比較豐富的,并且具有一定的可讀性,這對于一個 base 版本的模型來說已經算是不錯了。
對于連續 [MASK] 作為初始值來說,重復實驗可能會得到很不一樣的結果:
初始句子:
連續 17 個 [MASK]
采樣結果:
其他面癱吃什么?其他面癱吃什么好?
小兒面癱怎么樣治療?面癱吃什么藥?
幼兒面癱怎么樣治療?面癱吃什么好?
兒童頭痛是什么原因蕁麻疹是什么病?
其他面癱吃什么? 其他面癱吃什么好?
竟然潔具要怎么裝進去水龍頭怎么接?
其他面癱吃什么好其他面癱吃什么好?
孩子頭疼是什么原因蕁麻疹是什么病?
竟然廚房柜子挑不進去水龍頭怎么插?
不然廚房壁櫥找不到熱水龍頭怎么辦?
初始句子:
連續 17 個 [MASK]
采樣結果:
フロクのツイートは下記リンクからこ覧下さい。
天方町に運行したいシステムをこ利用くたさい。
エリアあります2つクロカー専門店からこ案內まて!
當サイトては割引に合うシステムを採用しています!
同時作品ては表面のシステムを使用する。
メーカーの品は真面まてシステムを使用しています。
掲示板こ利用いたたシステムこ利用くたさい。
住中方は、生産のシステムを使用しています。
エアウェアの住所レヘルをこ一覧下さい。
フロクのサホートは下記リンクてこ覧下さい。
很神奇,日語都采樣出來了,而且筆者用百度翻譯看了一下,這些日語還算是可讀的。一方面,這體現了隨機采樣結果的多樣性,另一方面,這也體現了 Goole 版的中文 BERT 并沒有做好去噪,訓練語料應該夾雜了不少非中英文本的。
吃瓜思考
前段時間,Google、斯坦福、OpenAI 等合作發表了一篇文章《Extracting Training Data from Large Language Models》[3] ,指出 GPT2 等語言模型完全是可以重現(暴露)訓練數據情況的,這個不難理解,因為語言模型本質上就是在背誦句子。而基于 MLM 的 Gibbs 采樣表明,其實這個問題不僅 GPT2 顯式的語言模型存在,像 MLM 這樣的雙向語言模型其實也是存在的。
從我們上述的采樣例子就可以看出些端倪了,比如采樣出日語來,說明原始語料并沒有做特別完善的去噪,而我們從“北京新增 3 例本地確診病例和 1 例無癥狀感染者”出發,采樣出了一些 h1n1 相關的結果,這反映出訓練語料的時代性。這些結果都意味著,如果你不想開源模型暴露你的隱私,那么對預訓練的語料就要好好做好清理工作了。
此外,關于《BERT has a Mouth, and It Must Speak: BERT as a Markov Random Field Language Model》[4] 這篇論文,還有一個瓜可以吃,那就是原論文說 MLM 模型是一個 Markov Random Field,但事實上這是不對的,后來作者也在自己的主頁上做了澄清,有興趣的讀者可以看《BERT has a Mouth and must Speak, but it is not an MRF》[5]。總的來說,MLM 用來做隨機采樣是沒問題的,但它不能對上 Markov Random Field。
本文小結
本文介紹了基于 BERT 的 MLM 所進行的文本隨機采樣,它實際上是 Gibbs 采樣的自然應用。總的來說,本文只是一個相當簡單的例子。對于已經對 Gibbs 采樣有所了解的讀者來說,本文幾乎是沒有技術難度的;如果還不是很了解 Gibbs 采樣的讀者,正好也可以通過這個具體的例子,來進一步去理解 Gibbs 采樣的流程。
參考文獻
[1] https://arxiv.org/abs/1902.04094
[2] https://arxiv.org/abs/1902.04094
[3] https://arxiv.org/abs/2012.07805
[4] https://arxiv.org/abs/1902.04094
[5] https://sites.google.com/site/deepernn/home/blog/amistakeinwangchoberthasamouthanditmustspeakbertasamarkovrandomfieldlanguagemodel
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的搜出来的文本:基于BERT的文本采样的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 别克君威2017款二手车价格二?
- 下一篇: a1的驾驶证女司机到多大岁数降本?A1女