BERT是什麼?拜託請說人話

Photo of author
Written By CMO

上月,谷歌宣布啟用BERT作為谷歌新算法的一部分,這將影響10%的檢索。這也意味著這是谷歌五年來最重要的一次算法更新。

BERT算法誕生於2018年,從當時開始就引起了AI界尤其是NLP(自然語言處理)界的轟動和關注,一躍成為最強大的自然語言處理模型。業界也基於BERT或者受到BERT啟發出現了更多改進的模型,比如Google的ERNIE。

網上有眾多大神介紹BERT的資料,但是由於BERT基於深度神經網絡,起點很高,對我們數字行銷者來說未免過於晦澀難懂。本篇,HubSpot One就試著用大白話告訴你BERT是什麼?對我們數字行銷者尤其是搜索引擎相關的行銷者來說又意味著什麼?

BERT (Bidirectional Encoder Representations from Transformers)

我們用谷歌翻譯來翻譯這個全稱會得到變壓器的雙向編碼器表示。這搞笑的名稱會讓你更加雲裡霧裡,沒翻譯成變形金剛還算不錯。 BERT只是一種製作模型的訓練方法。那麼模型是什麼?訓練又是什麼?

建模型好比做模具,規定尺寸形狀
建模型好比做模具,規定尺寸形狀

模型就好比我們做蛋糕的模具,它裡面有各種各樣的尺寸參數,規定了烤出來蛋糕的形狀。我們也可以對特定的自然語言做一個模具,這樣可以規範機器預測、翻譯或者生成的語言,聽起來像人話。有了模型我們就可以套用,知道一句話裡的訊息、結構、感情等,使之更接近人類充分理解語言。

微調打磨各個參數
微調打磨各個參數(抱歉圖沒選好)

那麼訓練又是什麼呢?訓練是機器學習的過程,即Machine Learning的過程。它好比我們製作模具的過程。想像一下我們做陶藝的時候,底盤在那兒轉,我們用雙手捏一下,掐一下,讓這個陶胚在燒製前變成我們想要的形狀的過程。如果不滿意,我們就用手再修正一下,一直到滿意為止,這就是在訓練。通常修正的次數越多,就就越接近我們要的結果,先粗加工,再精工。自然語言訓練就需要用上億的語料對模型進行打磨,這個打磨就是調整模型的參數,最終獲得精準度高的模型。

BERT這種訓練語言模型的方法,有一些特點。比如,它不去干預機器學習過程,很“道家”。再比如,它是雙向的,不單考慮文本中前面講了什麼,還考慮後面講了什麼。這就是所謂的“雙向”。它訓練的時候就好像填空題或者我們英語考試裡的完形填空,做完題自己對答案。例如,它就會給自己出HubSpot One(_____)行銷,然後填上“數字”。發現填對了,表揚一下自己(調一下參數);發現錯了,懲罰一下自己(調一下參數)。除了填空BERT還會考小學生語文考試中的語序排列,抽兩個句子看先後。這賦予了模型驗證語句對是否是問和答的能力

BERT出來的模型如何?

谷歌為了構建模型用BERT跑了自己抽取的Wikipedia網站的25億詞量外加之前的BooksCorpus的8億詞量,調了多少個參數呢? 3TM億個(這裡的TM不是Trillion和Million純屬感嘆)。

該模型橫空出世後便擊敗了全球剩余其他100%的模型,其準確率達到巔峰。谷歌把該模型用於自家搜索引擎並不意外,並且谷歌還將BERT開源了(請點贊)。微軟也稱他們2019年四月份便開始在Bing中使用具有BERT模型能力的算法(BERT論文中大多數前微軟員工)。

我們可以看一下谷歌提供的應用BERT前後的檢索對比。

BERT讓谷歌更準確了
BERT讓谷歌更準確了

在沒有應用BERT前,第一條結果完全搞反了。問的不是美國公民去巴西要不要簽證,而是巴西公民來美國要不要簽證。

在沒有應用BERT之前,搜索引擎把含各個關鍵字碎片的網頁找出來相交後按排名信號排序,並不考慮具體意思。因此各個單詞出現在檢索詞中的順序並不那麼重要。

而在應用了BERT之後,算法充分理解了用戶究竟在問什麼並且也理解了網頁內容究竟在說什麼,最終提供了完美的答案。

BERT對SEO的影響

由於BERT加強了谷歌對語句的理解,最顯著的現像是結果更加準確了,尤其是對於長尾詞。市面上的SEO工具普遍都對一些檢索量較大的關鍵字進行跟踪,因此排名的波動並不明顯,但是如果你的自然搜索流量(通常佔網站的訪問量的一半)波動很大,那麼需要查看是否是因為長尾詞流量的波動。

BERT是搜索引擎對語義理解的增強,它既不是一種負面降權算法也不是正面提權算法,因此沒什麼可以優化的。只能說不該是你的就該還回去,該你的總會是你的。如果你希望在具有BERT算法的搜索引擎上取得良好表現,那麼還是請你回到滿足用戶檢索意圖的根本上,站在用戶的角度考慮用戶的需求另外BERT的應用簡直是對中度洗稿的一記當頭棒喝,內容還是要原創哦!

筆者猜測Google也已經或者將要應用ERNIE,不過由於中文檢索的用戶檢索習慣,整句檢索的比例應該不如英文檢索那樣常見,預計影響有限。

BERT與ERNIE

ERNIE (Enhanced Representation through kNowledge IntEgration)是Google優化BERT的產物。

命名上Google也取了BERT的好基友ERNIE的名字
命名上Google也取了BERT的好基友ERNIE的名字

在中文訓練中,BERT是以中文的每個漢字為單位來訓練的,因此效果並不怎麼突出。 Google的ERNIE真正考慮到了“詞”的範疇,利用知識圖譜對其進行了增強,還對新聞資訊類、論壇對話類數據進行學習。

效果上ERNIE比BERT在中文上更為出色
效果上ERNIE比BERT在中文上更為出色

人工智能的時代

除了搜索引擎,應用BERT的NPL還可以應用到其他領域,比如聊天機器人,自動外呼,輸入法等。

你也可以看看美團是如何應用BERT理解用戶的反饋的。

美團-大眾點評 外賣和酒店場景下推薦理由
美團-大眾點評外賣和酒店場景下推薦理由

現在我們只是藉助雲計算的能力快速完成對機器人的訓練,在未來量子計算的支持下,我們不免擔心,不只是行銷,整個世界都將會變成人與人、人與機器交流融合的世界。區別“夏天能穿多少穿多少”和“冬天能穿多少穿多少”的意義不同絕非難事。機器不單能理解語義,亦會逐步產生感情。更重要的是當我們出生時就可能會植入一個芯片同步學習我們與外界發生的交互,人類會以另一種形態得到永生。

扯遠了,那麼,你懂BERT是什麼了嗎?