Google的BERT算法更新
- 威海鏈接原理 威海谷歌seo,BERT算法
- 890
這篇帖子是去年(2019年)10月28號(hào)打的草稿,今天補(bǔ)充完成發(fā)出來(lái)。過(guò)去一年,關(guān)于搜索算法和SEO思維最大的新聞依然是這件事。
2019年10月,Google公布上線BERT算法。
什么是BERT
BERT是Bidirectional Encoder Representations from Transformers的縮寫,中文意思大概是“雙向transformer編碼器表達(dá)”,“transformer”實(shí)在不知道怎么翻譯了,應(yīng)該是一種神經(jīng)網(wǎng)絡(luò)的深層模型。
Google在2018年已經(jīng)把BERT開(kāi)源了,所以誰(shuí)都可以用。BERT是一種基于神經(jīng)網(wǎng)絡(luò)的自然語(yǔ)言處理預(yù)訓(xùn)練技術(shù),其用途不僅限于搜索算法,任何人都可以把BERT用在其它問(wèn)答類型的系統(tǒng)中。
BERT的作用簡(jiǎn)單來(lái)說(shuō)就是讓電腦能更好、更像人類一樣地理解語(yǔ)言。人類在自然語(yǔ)言處理方面已經(jīng)探索了很多年了,BERT可以說(shuō)是近年最強(qiáng)的自然語(yǔ)言處理模型了。
Google在把BERT使用在搜索算法之前,就在機(jī)器閱讀理解水平11項(xiàng)測(cè)試中獲得全面超越人類的成績(jī),包括情緒分析、實(shí)體識(shí)別、后續(xù)詞語(yǔ)出現(xiàn)預(yù)測(cè)、文字分類等等。
現(xiàn)在關(guān)于BERT技術(shù)的中文文章已經(jīng)很多了,搜索一下會(huì)看到很多,太技術(shù)了,絕大部分我是看不懂。
什么是Google BERT算法更新
Google官方博客2019年10月25號(hào)發(fā)了一篇帖子,公布了BERT算法的一些情況。
Google自己的說(shuō)法是,BERT算法在帖子發(fā)布那個(gè)星期在英文搜索中逐漸上線,然后其它語(yǔ)言也陸續(xù)上線。同時(shí),BERT也使用在第0位結(jié)果(官方名稱精選摘要)算法中,已經(jīng)在所有語(yǔ)言使用。
BERT算法影響大致10%的查詢?cè)~。Google認(rèn)為BERT是自5年前的RankBrain之后最大的算法突破性進(jìn)展,也是搜索歷史上最大的突破之一。不過(guò)從過(guò)去一年的自然搜索流量看,BERT可能在搜索技術(shù)意義上的突破是挺大的,但對(duì)搜索結(jié)果和SEO其實(shí)沒(méi)那么大影響。就我所接觸的英文網(wǎng)站看,疫情和核心算法更新對(duì)很多網(wǎng)站的影響大多了。這里說(shuō)的影響不僅僅指負(fù)面影響,也有的網(wǎng)站在疫情或核心算法情況下,SEO流量是大漲的。
BERT用在搜索中理解語(yǔ)言時(shí)的特點(diǎn)是:一句話不是一個(gè)詞一個(gè)詞按順序處理,而是考慮一個(gè)詞與句子里其它所有詞之間的關(guān)系,也就是說(shuō),BERT會(huì)看一個(gè)詞前面和后面的其它詞,因此更深入地從完整上下文理解詞義,也能更準(zhǔn)確理解搜索查詢?cè)~背后的真正意圖。
從Google的描述和舉例來(lái)看,“考慮一個(gè)詞與句子里其它所有詞之間的關(guān)系”包括了:
這個(gè)詞前面以及后面的詞
不僅包括前后緊鄰的其它詞,也包括隔開(kāi)的其它詞
詞的順序關(guān)系
從前往后的順序,以及從后往前的順序(所謂雙向)
BERT解決了什么搜索問(wèn)題
搜索的核心是理解語(yǔ)言。對(duì)用戶查詢?cè)~的理解是其中重要一部分,用戶查詢時(shí)用的詞五花八門,可能有錯(cuò)字,可能有歧義,可能用戶自己都不知道該查詢什么詞,搜索引擎都要先弄明白用戶到底想搜索什么,才談得到返回匹配的結(jié)果。
搜索引擎收到查詢?cè)~時(shí),根據(jù)不同情況會(huì)做很多不同處理。比如,了解基本搜索算法的SEO肯定都知道,搜索引擎會(huì)對(duì)查詢?cè)~做錯(cuò)別字、拼寫錯(cuò)誤之類的處理,也會(huì)對(duì)查詢?cè)~做同義詞、近義詞、異體字的擴(kuò)展,這都是對(duì)查詢?cè)~的簡(jiǎn)單理解處理。
情況再?gòu)?fù)雜一點(diǎn),比如查詢“蘋果”時(shí),搜索引擎在沒(méi)有用戶搜索歷史的情況下,雖然大概率是在搜索手機(jī),但無(wú)法100%確定用戶到底是想搜索水果,還是手機(jī),還是電影,還是報(bào)紙,但查詢“蘋果 減肥”,搜索引擎從語(yǔ)義分析就能知道這里的蘋果指的是水果了。
再有歧義一點(diǎn),查詢“二姐夫“,用戶是想了解二姐她老公嗎?搜索引擎很可能通過(guò)機(jī)器學(xué)習(xí)用戶點(diǎn)擊數(shù)據(jù),早就知道用戶其實(shí)是想了解羽毛球拍。Google和百度理解都沒(méi)問(wèn)題:
那么比如查詢“新加坡 上海 機(jī)票”時(shí),人類可以理解大概率是想找“新加坡到上海”機(jī)票,但搜索引擎很可能無(wú)法判斷到底是在找“新加坡到上?!睓C(jī)票,還是在找“上海到新加坡”機(jī)票,因?yàn)閮蓚€(gè)查詢的詞在分詞后是完全一樣的。語(yǔ)義分析也失效,都是機(jī)票、旅游相關(guān)。
這種正是BERT大顯身手的時(shí)候了,如前所述,BERT會(huì)考慮上下文以及詞之間的順序,還知道從前向后和從后向前的順序是不一樣的。
對(duì)英文來(lái)說(shuō),查詢有for、to之類的介詞而且這些介詞對(duì)查詢意義有重大影響時(shí),還有比較長(zhǎng)的、對(duì)話形式的查詢,BERT能夠更好理解查詢的上下文及真正意義。
由于以前搜索引擎理解力不足,搜索用戶也都被迫形成了一種以關(guān)鍵詞為主的查詢習(xí)慣。但我們生活中有問(wèn)題問(wèn)朋友時(shí)可不是用幾個(gè)關(guān)鍵詞來(lái)問(wèn)的,而是以完整問(wèn)句來(lái)問(wèn)的。有了BERT這種對(duì)查詢?cè)~的更好理解,用戶才能以更自然、更人性的方式搜索??赡芫褪窃谶@個(gè)意義上, Google認(rèn)為BERT是搜索技術(shù)的一大突破。
Google舉了幾個(gè)例子,我覺(jué)得第一個(gè)是最能說(shuō)明BERT特點(diǎn)的:
上圖顯示的是BERT算法上線前后的Google搜索結(jié)果,查詢的詞是“2019 brazil traveler to usa need a visa”(2019年巴西游客到美國(guó)需要簽證)。英文里的“to”在經(jīng)典的搜索算法里很可能會(huì)被當(dāng)作停止詞而忽略了,但在這個(gè)查詢里,“to”對(duì)查詢意圖有決定性意義,“巴西游客到美國(guó)”與“美國(guó)游客到巴西”的簽證要求是完全不同的兩個(gè)意義。
使用BERT前,Google返回了美國(guó)游客去巴西不用簽證的信息,使用BERT之后,Google正確判斷“誰(shuí)to誰(shuí)”是十分重要的,返回了巴西游客到美國(guó)是否需要簽證的結(jié)果。
Google給的另一個(gè)例子是查詢“Can you get medicine for someone pharmacy”(在藥店能給別人買藥嗎),介詞for也經(jīng)常被忽略,但這里的for要是被忽略了,意思就差遠(yuǎn)了,變成了“在藥店能買藥嗎”。
SEO們?cè)趺磻?yīng)對(duì)BERT算法
Google明確說(shuō),沒(méi)有辦法針對(duì)BERT做什么優(yōu)化,SEO們繼續(xù)為用戶自然而然地寫高質(zhì)量文章就行了。
思考一下,覺(jué)得是有道理的,Google并沒(méi)有騙我們。BERT是用于理解查詢?cè)~的真正意義,是在尋找匹配的頁(yè)面之前就發(fā)生的,SEO們并沒(méi)有辦法通過(guò)BERT使自己的內(nèi)容更相關(guān)。頁(yè)面內(nèi)容是什么就是什么,與BERT理解查詢?cè)~的過(guò)程沒(méi)有什么關(guān)系。
一個(gè)反例更能說(shuō)明這一點(diǎn)。我現(xiàn)在搜索“2019 brazil traveler to usa need a visa”這句話時(shí),實(shí)際上看到的前兩個(gè)結(jié)果都是錯(cuò)誤的、美國(guó)游客到巴西是否需要簽證的信息:
即使BERT已經(jīng)上線,Google對(duì)查詢的理解依然可能出問(wèn)題。Google對(duì)查詢?cè)~理解錯(cuò)誤,自然返回錯(cuò)誤的頁(yè)面,和你的頁(yè)面質(zhì)量高不高沒(méi)關(guān)系。
堅(jiān)持看到這里的讀者給個(gè)彩蛋。雖然沒(méi)辦法針對(duì)BERT進(jìn)行優(yōu)化,但BERT對(duì)SEO有沒(méi)有別的應(yīng)用場(chǎng)景呢?前面提過(guò)幾個(gè)關(guān)鍵詞:雙向,詞語(yǔ)的順序,后續(xù)詞語(yǔ)預(yù)測(cè)。實(shí)際上,BERT可以用來(lái)預(yù)測(cè)一個(gè)給定詞后面可能出現(xiàn)的其它詞。
這有什么用?比如給定一個(gè)詞:SEO,BERT可以預(yù)測(cè)后面可能出現(xiàn)的詞。那么一直預(yù)測(cè)下去,不就形成句子了?這不就是自動(dòng)寫作機(jī)器嗎?而且是符合語(yǔ)義、符合語(yǔ)法、經(jīng)過(guò)AI深度學(xué)習(xí)驗(yàn)證的。
已經(jīng)有這類工具了,只是質(zhì)量還不太令人滿意,生成的中文內(nèi)容更差。不知道國(guó)內(nèi)會(huì)不會(huì)有人開(kāi)發(fā)出基于BERT的中文自動(dòng)寫作軟件。
來(lái)源:SEO每天一貼 Zac 昝輝