目錄 購物車 {{currentCart.getItemCount()}}

演算法是什麼?

很多人一想到演算法,腦海中便會浮現許多看不懂的艱澀數學公式。其實把它拆解後,並沒有想像中的複雜與難以理解。

 

根據維基百科的定義,演算法為在數學或電腦科學內,為任何良定義的具體計算步驟,我們會常常把它用在計算、資訊處理、自動推理的領域上,進一步說,演算法可以說是表現「有限長列表」的有效方法。

 

簡而言之,演算法一言以蔽之,就是可有效解決某問題的有限集合。

演算法有什麼現實生活中好懂的比喻或範例?

演算法也可以用於生活之中,就像是我們常見的食譜 — 按食譜步驟,就能做出一道道的佳餚。

 

最簡單的煮飯大致會需要以下步驟:

 

  • 去市場買米
  • 回到家把要煮的米倒出來
  • 把米洗一洗
  • 放到電鍋 / 飯鍋內煮熟
  • 盛到碗裡面即可食用

 

上面這五個步驟,就是一個:

 

材料(輸入) -> 依照食譜烹煮(演算法) -> 成品(輸出)

 

的過程。

演算法通常都應用在什麼地方?

演算法通常十分明確,且能用於專屬、特定的領域之中,像是計算、資料處理、自動推理 ... ... 等。

 

演算法可以用有限的時間與空間來表示,通常演算法也會被用來解決特定的問題

 

例如:今天某位巨星要開一場演唱會,大家要到購票系統搶票,那麼我們就很需要一套演算法來計算 — 到底是誰先來、誰後到?

 

除此之外,計算的過程速度也要夠快(時間),否則買票的人就會等非常久,計算所使用到的系統資源也要夠少(空間),否則售票系統就會塞住卡死。

這個先來後到的演算法,通常就是一段程式,在搶票的這個時空環境下(專屬領域),對歌迷的搶票行為(資料處理),做出最佳化判斷,讓大家能合理順利的買到門票(解決特定問題)。

演算法的時間複雜度、空間複雜度是什麼?

前面提到,演算法可用「有限的時間與空間」表示,那到底什麼是「有限的時間與空間」呢?這兩個又要怎麼衡量呢?

 

演算法在衡量時間與空間的時候,習慣用「時間複雜度」、「空間複雜度」來命名,藉此用來判斷程式或演算法的效率到底好不好。

 

演算法的時間複雜度

 

「時間複雜度」簡單來說,就是電腦跑這個演算法所需花費的時間

 

用訂購搶票的案例來說,時間複雜度就是在多少的時間內,算出搶票的先後順序,能在越短內時間演算出結果越好。

 

再用前面煮飯的例子來說,煮飯五個步驟要多少時間完成?有沒有什麼動作能夠優化?哪些步驟是可以精簡的?如果使用壓力鍋替代電鍋煮飯,是不是就能縮短不少時間?

 

這些就是「時間複雜度」所要探討的問題。

 

演算法的空間複雜度

 

至於空間複雜度的意涵,可以理解成要完成這個演算法,要耗費多少系統運算資源(記憶體)

 

例如搶票系統,我們必須使用十台機器,才能應付一千人的搶票流量,機器數量也是能越少越好,畢竟大家都希望能用最少的資源完成目標

 

煮飯的案例也一樣,如果今天要煮十人份的午餐,跟一百人份的午餐,是不是用一台十人份的電鍋煮,會比五人份的電鍋兩台還要節省時間呢?

 

而時間複雜度與空間複雜度,兩者可以互相截長補短,假設今天要煮百人份的飯,我可以用十台十人份電鍋煮,一次搞定,也可以花兩倍的時間用五台電鍋去煮,用更多的電鍋來縮短煮飯時間。

 

反之,想要節省電鍋成本來煮完一百人份的飯,整體時間就得拉長。

如何學習演算法?

演算法其實在一般正規大學的資訊工程學系中,與其他兩門課並列為核心,分別為

 

  1. 作業系統
  2. 計算機組織

 

而演算法其實與資料結構通常是一起學的,課程名稱常為「資料結構與演算法」。

 

這三門課奠定了未來在寫程式時的基礎,可以說非常硬底子,讓你從底層了解,如何寫出一個有效率、又好維護的程式,這會相對比一開始埋頭鑽研一個程式語言來的更直接、也更深入。

 

一個有效率又好維護的程式到底是什麼概念呢?

 

就像今天你掌握了一個燒菜技巧,可以比平常少花 3 分鐘做好,放在日常生活或許沒什麼,但如果放在百人甚至千人的流水席上,所節省的可是 300 分鐘、甚至 3000 分鐘的時間資源,並且這個燒菜技巧在廚師圈內,一看就能懂,能依所需修改。

 

當然,有興趣想自學演算法,坊間有許多書籍、線上教學可以參考,如果時間充裕,不妨選擇一所大學旁聽看看。

 

學習演算法可說十分燒腦與考驗悟性的事情,就算是本科系為資工系的學生,也不見得每個人都能學得下去與學得好。

 

以完全沒有基礎知識的情況下,可先從 edx 中哈佛大學的 CS50 免費課程開始入手,內容還蓋甚廣,除了演算法以外,還包含了資料結構、抽象化、軟體工程、資安、資源管理、Python、C、JavaScript、SQL … ...等,每周 6 – 18 小時,長達 12 周的課程,讓你收穫滿滿。

 

如果對於程式語法有一定熟稔度後,還可以挑戰 LeetCode 上面的各式演算法題目。

 

LeetCode 是一個軟體工程師之間常提及的刷題網站,簡單的說就是想要進入一流企業,面試會被問到的一些問題,可以從中練習。

 

LeetCode 題目可以想成他像「腦筋急轉彎」一樣,請你使用程式的表達方式來提出解法。

 

除了 LeetCode 以外,也有其他像 CodeWar 或 HackerRank 這類的網站,不過 LeetCode 比較偏向問題解決為主,會比較推薦。

 

演算法說穿了,就是鍛鍊用程式解決問題的技巧,像是 openhome.cc 專門介紹常見的演算法,若對於程式覺得抽象,也可以用 visualgo 這個視覺輔助學習的網站。

 

學習演算法,可以說是一條與自己不斷戰鬥、腦力激盪的旅程,但只要持之以恆,面對的難題往往都可以一一克服。

演算法在現實生活中的應用有哪些?

Youtube 影片推薦演算法

在 Youtube 中最常見的演算法莫過於影片了,它會自動分析使用者過去所看的影片、停留時間、按讚、留言、IP 位址、使用裝置、瀏覽器類型 … ... 等資訊,推算出該使用者大概喜歡的影片類型,並推薦給使用者。

 

此外,如果有註冊帳號,也會額外取得相關個人資訊,如年齡、性別、居住地 ... ... 等。

 

不過就算沒有填寫,或者在沒登入 YouTube 的情況下,YouTube 也可以從觀看者的行為中用演算法逆推,計算出這樣觀看的行為屬於哪一類的族群,再根據這類族群喜好觀看內容,進而推薦最相關影片,讓你很容易從眾多的影片當中不段看到喜歡的內容而一看再看、難以自拔。

Facebook 好友推薦演算法

同樣的,臉書的好友推薦演算法,也是透過該帳號擁有者,與其他使用者帳號彼此使否有所關聯,如共同朋友、互相按讚、照片識別、留言互動 … ... 等資料,推薦好友給該帳號擁有者

 

不過隨著隱私權日益抬頭、避免假帳號氾濫問題,現在一般人在加入臉書後,若是過快加入太多好友,反而會被視為廣告行為,留言貼文也是依樣。

 

這些自動判定也都是拜演算法所賜,它能幫助系統推導出一般正常使用者的行為、與異常使用者的行為差異,藉此增進正常使用者的使用體驗。

Google 搜尋結果演算法

至於 Google 搜尋演算法,則是為了增進使用者的搜尋體驗而不斷改進的一套系統。

 

一般而言,Google 最基本的演算法,就是分析我們所輸入所要搜尋的關鍵字詞,並提供錯字判別的功能,如打錯字、注音忘了切換而輸入的英文亂碼,都可以讓搜尋者找到想要的資訊。

Google 搜尋引擎演算法 — SEO相關 歷年重大更新整理

  • PageRank 1997
  • Caffeine 2009
  • Panda 2011
  • Hummingbird 2013
  • RankBrain 2015
  • Medic 2018
  • Penguin 2019
  • BERT 2019

網頁排名 “PageRank” – Google 搜尋引擎與 SEO 核心演算法 (1997)

PageRank 是根據Google共同創辦人之一 ── Larry Page 命名的,是 Google 最早期且最核心的演算法。

 

PageRank 的靈感來源是參考學術界以「論文被引用次數」,作為評判一篇論文好壞、重要性的參考依據之一,也就是一篇重要性高的論文,通常被其他人引用的次數也較高。

 

用同樣邏輯去思考:

 

如果很多網頁都導引向某一網頁,是不是可以合理推論那是一個優質的網頁?

 

PageRank 就是在此概念下,由 Google 創辦人設計出來的。

 

所以它評斷的依據在於「連結」,特別是指由別人的網站連到自己網站的「反向連結」。

 

PageRank 會根據反向連結的數量,以及來源網站本身的 PageRank 分數,來賦予每個網頁分數。

 

網頁分數越高,在搜尋結果的排名就會越前面。

 

這個分數可以經由連結傳遞,進而影響其他網站,而且因為評分同時會考量到「反向連結數量」和「來源網站本身的分數」,所以透過不同網站連出去的反向連結,產生的影響力權重不同。

 

簡單的傳遞原理請見以下圖解:

A網頁本身4分,當它連結到C, D網頁,C, D網頁分別可以平均分配到2分 (4/2=2);B網頁本身2分,當它連結到C, E, F, G網頁,此四個網頁分別可以分配到0.5分 (2/4=0.5);而C網頁因為同時得到來自A, B網頁的分數,共得到2.5(2+0.5)分。

 

以上圖解說明可以歸納出PageRank的兩項重點:

 

  1. PageRank是根據反向連結計算,代表網頁的重要性(權威)
  2. 分數可以透過連結傳遞,而且理論上會被連結對象平分

 

在PageRank使用不久後,Google也直接推出了專門工具,讓所有使用者都可以從工具列直接看到每個網頁的分數,PageRank也因此成為一個公開指標,在SEO圈子備受討論。

 

然而,也因為分數高的網站能透過連結將分數傳遞給分數低的網站,也有人開始專攻這個特點,在分數高的網站留言處留下自己的網站連結,也算是為自己賺來一個反向連結;也有人另闢商機,利用自己高分數的網站,販售對外連結來賺錢等。

 

在過去好大一段時間,PageRank都是 SEO 熱門議題,也常常被當成評斷網站優劣的唯一指標。又因為工具列顯示的公開分數不斷被濫用,如上述例子,最後Google決定移除這項功能,而PageRank也不再是個公開分數了。

 

但官方不公開PageRank分數,並不代表這個演算法也被完全淘汰。 在PageRank使用前期,曾經被指出有些瑕疵跟漏洞,比如反向連結太容易被創造等問題,但都一一被官方所修正和改善。

 

因此可以得知,PageRank是個一直不斷被調整的演算法。

 

就算PageRank這項專利已經過期,官方也不再公佈PageRank,它仍然是 Google最核心的演算法依據,也因此反向連結一直都被視為SEO重要項目之一,官方甚至承認反向連結是影響網站排名的三大重要因素之一。

咖啡因 "Caffeine" – 網頁收錄演算法 (2009)

咖啡因演算法不是對搜尋結果排名有直接影響的演算法,而是對搜尋引擎收錄網頁方式的規則大翻新。

 

首先,必須了解網頁要先被Google的爬文蜘蛛爬取到,並收錄到Google的資料庫,才能被使用者搜尋到。

 

收錄跟排名其實是關聯性不大的兩件事,但網頁必須先被收錄,才能被排名。

 

舊有的爬文、收錄系統已跟不上資訊爆炸的時代,Google每天要爬取數十億到上兆個頁面,收錄到資料庫裡分類和排名等,所以需要花上不少時間才能讓搜尋者查到最新的內容。

 

導入咖啡因演算法後,可以縮短爬文到收錄所需的時間,大幅提升使用者立即搜尋到即時資訊的可能性。

 

例如地震發生過後,馬上去Google相關新聞,就能快速查到地震發生地、規模、即時報導等。

 

對於資訊量越來越大,且更新速度越來越快的網路時代而言,咖啡因演算法是為了因應使用者需求而做出的重大變革,能讓使用者在更短的時間內取得想要的資訊。

 

本站專欄作家Jemmy曾讓新發佈的文章在48小時內登上搜尋結果第一名,或許可能原因就像咖啡因演算法造成的影響,讓新的文章能在發佈後,快速而短暫被使用者看到,之後再慢慢決定文章該有的排名位置。

熊貓 "Panda" – 內容農場演算法 (2011)

還記得「內容農場」嗎?在 2010 年代,Google 的搜尋結果基本上是被劣質的「農場文」淹沒,像是瘋狂硬塞關鍵字、隨便湊合的內容等,缺乏來源依據和參考資料,讓人一點進去數秒內就想跳出的那類型文章,但現在幾乎已經找不到。

 

當時很多網站主利用搜尋引擎的規則漏洞,使用程式或者雇用寫手大量產生富含關鍵字,但卻內容貧乏、無法帶給讀者太多價值的廢文(thin content),目的是要在短時間內獲得流量。

 

熊貓演算法的出現就是為了對付這些品質不佳的文章,而將網頁的「內容品質」視為影響搜尋結果排名的重要因素。

 

而且所謂「內容品質優劣」是觀察使用者與網頁的互動而判斷的,單靠關鍵字使用頻率、網址優化、標題優化等簡單的SEO手法,是不足以被演算法辨識為優質好文的。

 

所以光是迎合Google的舊演算法是不夠的,真正必須迎合的對象是使用者,也就是説,使用者喜不喜歡網頁內容變得非常重要。

 

而為了瞭解使用者的喜好,Google會分析使用者數據,像是點閱率、瀏覽率、彈出率、使用時間等,用使用者瀏覽網頁的狀況來評斷網頁優劣程度。

 

如此一來,使用時間短、彈出率高的內容農場文就會逐漸被搜尋引擎淘汰,而真正留下來,能在搜尋結果有不錯排名的文章,往往都更能符合的使用者需求。

 

簡單來說,熊貓演算法出現以後,如果能討得使用者的喜愛,大多也能獲得演算法的認同。

 

具體改善重點簡單列舉幾個如下:

 

  • 內容設計呈現與使用者體驗:視覺舒適度很重要,像是廣告多寡文字、排版方式等,都會影響使用者的閱讀意願。
  • 網頁整體品質:注重內容的品質、實用性、相關性、權威性及可信程度等。Google有所謂「搜尋品質評分員」,來針對搜尋得到結果給予意見回饋,其中在他們的評分指南中也有不斷提到E-A-T的重要性,也就是專業性(Expertise)、權威性(Authoritativeness)和可信程度(Trustworthiness)。
  • 內容品質:提供具原創性、獨特性、有用、文法正確、無錯漏字等的內容已經是最基本的要求,因為在資訊越來越豐富的時代,「好」內容已經不夠,要「極好」的內容才會脫穎而出。因此要用「摩天大樓法」、「十倍內容法」的心態來提升內容品質,也就是要超越原來世界最高的大樓才能成為摩天大樓;內容跟競爭對手一樣好還不夠,要有十倍優質。

 

總結來說,熊貓演算法在SEO界被視為難對付的敵人,一旦被演算法淘汰掉的網頁很難再回到戰場。

 

若不從根本改善以上重點項目、提高內容品質,基本上很難在熊貓演算法下倖存。

蜂鳥 "Hummingbird" – 搜尋意圖演算法 (2013)

不像熊貓演算法只針對舊演算法做微調,蜂鳥演算法可說幾乎是是個全新的演算法。若把演算法比喻成汽車引擎,前者就像換掉引擎的部分零件,後者則像是換掉整個引擎。

 

根據官方說法,此演算法希望打造「精準且快」的搜尋體驗,就像蜂鳥翅膀振動速度和靈活的行動力一樣。

 

所以它的重點放在提高使用者使用搜尋引擎,與得到的搜尋結果間的匹配程度,讓使用者能在短時間內獲得想要的答案。

 

這時候,如何判斷使用者的「搜尋意圖」就扮演很重要的角色,也就是必須先了解使用者要的到底是什麼。

 

搜尋意圖一直到2018年,都還是被Google官方視為影響搜尋結果排名的重要因素之一。

實際上可以試著搜尋「洋裝」看看,搜尋結果接近 100% 都是電商購物,不會有洋裝的名詞解釋、歷史介紹、維基百科等,表示Google了解搜尋「洋裝」的使用者是想購買,而不是想了解洋裝的定義。

 

至於Google如何判斷使用者的搜尋意圖?

 

蜂鳥演算法強化了對使用者搜尋字詞的理解。

 

換句話說,就是試圖去辨別字詞的「語意」,而不單單只是從搜尋字詞裡面抓關鍵字。

 

Google語音搜尋是一個很好的例子,可以把使用語音搜尋想像成和Google對話。

假設用語音搜尋詢問「川普是誰」,Google會提供川普的基本簡介。

 

緊接著,再用語音搜尋詢問「他多高」,這時候Google會自動判斷「他」指的是川普,不是其他人,而會提供川普的身高。

 

這就像是人與人之間的對話,不需要特別指名道姓,彼此都能透過談話內容上下文知道當下指的對象,而Google語音搜尋就是希望透過搜尋紀錄、位置資訊等參考資訊,讓搜尋引擎更能理解口語化的搜尋用語,以提供更貼近使用者想知道的答案。

 

因此,就像是語音搜尋試圖去了解使用者的意圖,蜂鳥演算法加強了「所有」搜尋字詞的分析,而不只是幾個關鍵字。

 

比如搜尋「附近有什麼好吃的餐廳」,在過去,Google可能只會針對關鍵字「美食」、「餐廳」來提供資訊,但加強了所有字詞分析後,在有授權Google存取位置資訊的條件下,Google提供的搜尋結果會針對使用者的定位,提供符合關鍵字「附近」、「美食」、「餐廳」的搜尋結果。

 

嚴格來說,蜂鳥演算法對於搜尋結果的排名方式沒有直接影響,優質內容一樣是排名的重點,只是在搜尋方面,Google能更精準去判斷使用者的搜尋意圖。

人工智能 "RankBrain" – AI 智慧演算法 (2015)

RankBrain演算法加入了人工智慧(Artificial Intelligence, AI),讓演算法像人一樣有自主學習能力,不必完全依賴人類的指令。

 

RankBrain的主要用途是更精準地解讀使用者的搜尋字詞,尤其是當使用者搜尋的字詞較模糊、不明確、口語化或沒有包含關鍵字本身等,比如搜尋「歐巴馬老婆的身高」,Google能自動解讀成使用者想知道的是「蜜雪兒‧歐巴馬(Michelle Obama)的身高」。

 

不需要鍵入關鍵字「蜜雪兒‧歐巴馬」,也能得到想要的答案。

 

又或是許多字詞都有同義詞,像是英文有名詞單複數的差別,Google就必須有能力去判斷這些都是指相同的意思。

 

所以演算法不能只是停留在「字串」搜尋,提供包含「歐巴馬」、「老婆」、「身高」的搜尋結果,而必須著重在「語意」的搜尋,才能提供正確且有用的資訊。

 

關於語意搜尋上的發展,Google在2012年推出知識圖譜(Knowledge Graph)。

 

它是一個資料庫,匯集了維基百科、線上常見問答等相關資料,而整理出摘要、綜合性資訊給使用者,讓使用者不需要點進其他網站,就能快速獲得想要的資訊。

 

它依賴的就是事先多方匯集相關資料。

雖然過去也有依賴人力去整理同義詞清單,或根據資料的相關性分類、整理成資料庫,但在2013年的統計報告指出,每天仍有15%的搜尋量──相當於4.5億個搜尋,是來不及經由人工分析的。

 

人工處理明顯已無法負擔大量的搜尋需求,而RankBrain也就是在此需求下,因應而生。

 

但RankBrain如何解讀使用者的搜尋用語,連結到正確的資訊?目前沒有明確的官方公開資料說明。

 

事實上,RankBrain只是Google整體演算法的一小部分,就像是引擎內部的一個零件,和SEO操作提升搜尋結果排名的原理沒太大關係,SEO也沒辦法針對RankBrain做優化。

 

但它卻號稱是影響排名的第三大因素,和連結、優質內容同為三大排名影響因素,可見還是有一定的重要性。

醫生 "Medic" – 健康財產演算法 (2018)

醫生演算法大約在2018年8月初導入,馬上就能看出顯著影響,尤其是針對醫療、健康相關主題的網站,甚至是販售醫療產品的電子商務平台,都能看出自然流量的變化。

 

以下請見第三方分析軟體 Ahrefs 的預估自然搜尋走勢圖,特別在 2018 年8月左右,似乎都有一波流量下跌的趨勢。

 

美的好朋友(MedPartner)──醫療保養知識網:

以上這些醫療保健相關主題的網站,原本一些業餘的寫手、部落客都能排上不錯的排名,但醫生演算法釋出之後,這些相關網站受到明顯的打擊,大概只有學術論文、政府部門、醫院、學校等頂級權威網站才不受到太大影響。

 

SEO專家Marie Haynes認為受影響的網站大多與YMYL (Your Money or Your Life)有關,也就是Google不希望使用者使用Google搜尋的時候,查到對自身財產、生命安全有不利影響的內容,所以網站一旦涉及這些主題,只有Google認定為適合使用者的內容才會被放在較前面,其他內容就被嚴重降級。

 

Marie Haynes更進一步認為Google的判斷依據應該是他們官方給予「搜尋品質評分員」的評分指南中的E-A-T──專業性(Expertise)、權威性(Authoritativeness)和可信程度(Trustworthiness)。

 

然而,這些指標都不是明確、容易被量化的概念,Marie Haynes也僅能分別分析流量大量增加和減少的健康相關網站,觀察網站的差異,比如:網站內容撰寫者是否為該領域專家、是否有個人專業背景簡介等,歸納出一些可能的影響因素。

 

不過,也並非所有醫療保健相關網站都受到負面影響,也並非只有這些相關網站受到醫生演算法的影響。

 

SEO權威網站Moz對於醫生演算法的影響範圍,以及E-A-T是否是影響原因,都抱持較保留的態度。

企鵝 "Penguin" – 作弊連結演算法 (2012)

企鵝演算法的主要目的,不是積極提升優質內容的排名,而是針對黑帽 SEO,尤其是黑帽連結的懲罰。

 

黑帽 SEO 是指使用作弊手段去「欺騙」搜尋引擎,讓網頁的排名被誤判、被高估。

 

但其實網頁內容對使用者而言,並非有相應的價值。

 

常見的黑帽 SEO 手法,有不自然地硬塞關鍵字、使用作弊連結等。而黑帽連結指的就是針對連結,所進行的作弊行為。在 PageRank 演算法的段落,已有提到連結的重要性。

 

PageRank 在 1997 年由 Google 創辦人提出,是用「連結」的數量和權威來決定網頁排名。

 

連結就像是有人幫忙背書一樣,越多人幫忙背書,越顯得網頁有其重要性,而且如果是來自專家、名人等權威的背書(連結),又更有說服力和可信程度。

 

「連結」正是 Google 開始爬取新網頁、為網頁決定排名等時,參考的重要決定因素,也是 PageRank 演算法最核心的概念。

 

所以有些黑帽 SEO 操作者就會抓住這個重點,利用不當的連結建立手段獲取連結,進而讓搜尋引擎判斷錯誤,即使內容劣質也可能優先推薦給使用者。

 

但 Google 怎麼辨別這些黑帽連結呢?在 Google 搜尋品質指南中有提到,會特別針對以下的「連結配置」做處罰:

 

  • 買賣連結:以任何形式買賣連結或含有連結的文章都算,包括常見的業配文章。
  • 交換連結:針對以操作排名為目的的交換連結,像是「你連我、我連你」
  • 全網連結:常見於網頁設計公司,比如在客戶的網站頁面偷藏連結,指向由「某網頁公司設計」。這個行為看似正常且合理,但這樣的連結傳遞的權重加分,對搜尋引擎來說卻是與網頁品質不直接相關的加分
  • 操縱連結:用任何不自然的手段人為操作連結,比如不管前後文,每篇文章都要求提到自家網站、要求使用指定的錨點文字,例如:50篇文章都要求加上「本篇文章由 JKL 行銷專家 Jemmy 撰寫」

 

以上連結若是為了排名而刻意操作,就屬於黑帽連結;若是自然使用的狀況下,就需在連結的語法加上 “nofollow” 屬性,也就是告訴 Google 這個連結與排名無關,不傳遞任何排名訊號。

 

除了企鵝演算法針對黑帽連結做懲處以外,Google 也有「專人介入處理」來對付這些可疑連結。

 

若被判定或懷疑試圖人為操縱排名,就會受到懲處,像是網頁排名下降,或是從搜尋結果中被移除等。

 

演算法的出現使辨識連結的效率更提升,不必待到專人介入處理,就可能直接先被演算法篩選掉。

 

企鵝演算法在 2012 年首次被導入,一直到 2016 年官方宣布成為核心演算法之一,再再顯示官方對黑帽 SEO 的重視程度,其重要性和打擊程度不亞於熊貓演算法。

 

雖然黑帽 SEO 可能帶來短時間的網頁排名提升和流量增加,即便至今仍被部分人士視為很有效的做法,但仍不建議輕易嘗試。

伯特 "BERT" – 自然語意演算法 (2019)

使用者在使用搜尋引擎時,已經漸漸習慣使用搜尋用語,而會盡量配合搜尋引擎輸入關鍵字,比如在想了解代購的英文時,使用者大多會輸入「代購 英文」,而非口語上的「代購的英文是什麼」。

 

伯特演算法號稱可以透過自然語言處理 (Natural language processing) 來優化搜尋字詞,也就是拉近「人們日常慣用語」與「搜尋引擎理解的語言」間的差距。

 

使用者不需要去設想如何讓搜尋引擎理解搜尋用詞,可以直接口語化搜尋,甚至在使用者本身不曉得正確的搜尋用詞時,也可能找到想要的資訊。

 

Google 官方認為伯特演算法是過去五年來對搜尋字詞理解的大躍進,號稱可以靠同個句子中的前後字詞,來了解整個句子的涵義,而且不只有在最廣泛被使用的英文,也推及到其他語言。

 

Google 助理現場示範和人類對話預約剪髮影片看來,Google 似乎的確有能力理解人類的語言,但實際上用口語用詞搜尋時,即使語意相同,搜尋結果仍然因輸入字詞不同而有差異。

 

自然語言處理研究學者 Allyson Ettinger 也指出伯特演算法在理解上的局限,像是不善於理解否定敘述等,可見 Google 在語言理解上仍有很大的進步空間。

 

另外,伯特演算法的目的是提升搜尋引擎的品質,目前無法透過任何方法針對該演算法優化,因此,有心經營網站者該做的仍是打造優質內容,並創立反向連結,提升網站權威。