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