從狗屁不通文章生成器,到機器寫作之路

文章生成器

老闆:3000字原創文章,明天上午10點要。

我:嗯?

老闆:嗯?

我:嗯!

套話文章不會寫?狗屁不通文章生成器分分鐘寫出一萬字,保證原創、絕不重樣!

(https://github.com/menzi11/BullshitGenerator)

從狗屁不通文章生成器,到機器寫作之路

這個生成器是人工智能嗎?

雖然的確是用 Python 寫的,遺憾的是它只是簡單的循環隨機內容選取腳本。

文章會從名人名言開始,接上沒有實際意義的承接句,然後是點題句,再來個同樣沒有意義的轉折句。然後再接名人名言、承接句、點題句……週而復始生生不息。

從狗屁不通文章生成器,到機器寫作之路

設置語句庫,按順序從中隨機選取語句,再將它們組合起來。原理並不難,難得的是作者對套話文章的揣摩和創意。

如果引入人工智能,效果會更好嗎?

目前讓機器寫作,即自動文本生成,通常採用統計方法。先用大量語料訓練神經網絡,再讓機器根據關鍵詞不斷預測接下來的詞語,最後組成句子和段落。

這樣生成的文本難免有邏輯錯誤、無中生有等問題,效果甚至不如僵硬的模版文本生成方法。


從狗屁不通文章生成器,到機器寫作之路


由於NLP 領域中只有小部分標註過的數據,而有大量的數據是未標註,如果只用標註數據將會大大影響深度學習的性能,所以為了充分利用大量未標註的原始文本數據,需要利用無監督學習來從文本中提取特徵。

有更好的解決辦法嗎?

為了解決以上問題,2019 年OpenAI發表了論文《Language Models are Unsupervised Multitask Learners》,作者提出了 GPT 框架。

用一種半監督學習的方法來完成語言理解任務,GPT 的訓練過程分為兩個階段:

用無監督學習的 Pre-training, 充分利用大量未標註的文本數據;用監督學習的 Fine-tuning 來適配具體的具體的 NLP 任務(如機器翻譯),並在 12 個 NLP 任務中刷新了 9 個記錄。

從狗屁不通文章生成器,到機器寫作之路

GPT-2,其模型結構與 GPT 相比幾乎沒有什麼變化,只是讓模型變得更大更寬,並且取消了 Fine-tuning 的步驟。也就是說 GPT-2 採用了一階段的模型(預訓練)代替了二階段的模型(預訓練+微調),並且在語言模型(文本摘要等)相關領域取得了不錯的效果。

GPT-2能生成質量相當不錯的英文文本,原因是數據集——它的訓練語料是 800 萬 Reddit 網友的高質量回復。面對 Reddit 討論很多的主題,它能給出相當不錯的輸出。

GPT-2與BERT的區別

GPT-2 採用的 Transformer 的 Decoder 模塊堆疊而成,而 BERT 採用的是 Transformer 的 Encoder 模塊構建的。兩者一個很關鍵的區別在於,GPT-2 採用的是傳統的語言模型,一次只輸出一個單詞(多個 token)。

下圖是一個訓練好的模型來 “背誦” 機器人第一法則:

從狗屁不通文章生成器,到機器寫作之路

這種效果之所以好是因為採用了自迴歸機制(Auto-Regression):每生成一個新單詞,該單詞就被添加在生成的單詞序列後面,這個序列會成為下一步的新輸入。這個也是 RNN 的重要思想。

從狗屁不通文章生成器,到機器寫作之路

而 BERT 採用的是雙向語言模型,雖然沒有自迴歸,但也因為獲得了結合上下文單詞信息的能力,從而也取得了不錯的效果。下圖展示了 BERT 的 Self-Attention(左)和 GPT-2 的 Masked Self-Attention(右)的區別:

從狗屁不通文章生成器,到機器寫作之路

放一個 GPT-2 和 ELMo、Bert 的參數對比圖:

從狗屁不通文章生成器,到機器寫作之路

NLP領域最新研究

自然語言處理無非是目前最大的風口,從Word2Vec、ElMo、GPT、Bert,ALBERT到XLNet, 我們見證了這個領域的高速發展以及未來的前景。互聯網中大量的文本以及IOT時代賦予我們的全新交互帶來了這個領域的爆發。

那怎麼來學習上邊提到的這些知識點呢?

美國南加州大學博士,人工智能、知識圖譜領域專家。前凡普金科集團(愛錢進) 的首席數據科學家、美國亞馬遜和高盛的高級工程師,負責過金融知識圖譜、聊天機器人、量化交易、自適應教育系統等核心項目的李文哲先生設計了對標MIT人工智能博士學位的學習路線。

從狗屁不通文章生成器,到機器寫作之路

從狗屁不通文章生成器,到機器寫作之路

以上是部分需要學習的知識點,李文哲先生還親自研發了對應的《高階NLP課程》,並且寫了配套的書籍教程。

如果你對這門課程感興趣,可以加我V瞭解:git1024

高階NLP

這門課有以下幾個特點:

  • 前沿 課程不斷迭代更新,保證不錯過任何2周之內出現的重要技術
  • 細緻 導師全程現場推導,讓你學習有清晰的思路,深刻理解算法模型背後推導的每個細節。更重要的是可以清晰看到各種模型之間的關係!幫助你打通六脈!
  • 論文 每週1次paper reading session,幫助你復現論文
從狗屁不通文章生成器,到機器寫作之路

你需要具備的基礎

  • 編程基礎:用python寫過工程項目,代碼量在5000行以上
  • 機器學習:系統學習過機器學習基礎,比如學習過《西瓜書》

你所面臨的挑戰

  • 寫技術文章: 我們會要求學員在知乎、github、垂直公眾號等平臺,輸出自己的技術文章,老師和助教會幫你優化
  • Project項目:除了文章,算法工程師立命的根本--項目代碼,導師更是不會放過的。每次在Gitlab上佈置的作業,導師們都會帶領助教團隊會予以詳細的批改和反饋。並逼著你不斷的優化!
從狗屁不通文章生成器,到機器寫作之路

如果你對這門課程感興趣,可以加我V瞭解:git1024

你將收穫

  • 工作能力可以對標阿里P8,你現在工作中遇到的問題,也可以請教老師和助教
  • 如果你需要出國留學,美國的碩博學位我們可以幫你寫推薦信
  • 如果你需要發表論文,老師和助教團隊可以給你一些幫助

如果這門課程能幫到你,你可以加我V瞭解:git1024


分享到:


相關文章: