搜索中的機器學習指南:關鍵術語、概念和算法
已發表: 2022-05-02談到機器學習,搜索中的每個人都應該知道一些廣泛的概念和術語。 我們都應該知道機器學習在哪裡使用,以及存在的不同類型的機器學習。
繼續閱讀以更好地了解機器學習如何影響搜索、搜索引擎在做什麼以及如何識別工作中的機器學習。 讓我們從幾個定義開始。 然後我們將進入機器學習算法和模型。
機器學習術語
以下是一些重要的機器學習術語的定義,其中大部分將在本文的某個時間點進行討論。 這並不打算成為每個機器學習術語的綜合詞彙表。 如果你想要,谷歌在這裡提供了一個很好的。
- 算法:對數據運行以產生輸出的數學過程。 針對不同的機器學習問題有不同類型的算法。
- 人工智能 (AI) :一個計算機科學領域,專注於為計算機配備複製或受人類智能啟發的技能或能力。
- 語料庫:書面文本的集合。 通常以某種方式組織。
- 實體:獨特的、單一的、定義明確的和可區分的事物或概念。 你可以粗略地把它想像成一個名詞,儘管它比這更廣泛一些。 特定的紅色色調將是一個實體。 它是獨一無二的嗎?沒有其他東西完全像它,它定義明確(想想十六進制代碼)並且它是可區分的,因為你可以將它與任何其他顏色區分開來。
- 機器學習:人工智能的一個領域,專注於創建算法、模型和系統來執行任務,並且通常在沒有明確編程的情況下改進自己來執行該任務。
- 模型:模型經常與算法混淆。 區別可能會變得模糊(除非您是機器學習工程師)。 本質上,不同之處在於,算法只是一個產生輸出值的公式,而模型是該算法在針對特定任務進行訓練後產生的結果的表示。 因此,當我們說“BERT 模型”時,我們指的是已經為特定 NLP 任務訓練的 BERT(哪個任務和模型大小將決定哪個特定 BERT 模型)。
- 自然語言處理 (NLP):描述處理基於語言的信息以完成任務的工作領域的通用術語。
- 神經網絡:一種模型架構,從大腦中汲取靈感,包括一個輸入層(信號進入的地方——在人類中,你可能認為它是當物體被觸摸時發送到大腦的信號)),一些隱藏層(提供許多不同的路徑,可以調整輸入以產生輸出)和輸出層。 信號進入,測試多個不同的“路徑”以產生輸出層,並被編程為趨向於更好的輸出條件。 在視覺上它可以表示為:

人工智能與機器學習:有什麼區別?
我們經常聽到人工智能和機器學習這兩個詞可以互換使用。 它們並不完全相同。
人工智能是使機器模仿智能的領域,而機器學習是追求無需為任務明確編程即可學習的系統。
在視覺上,你可以這樣想:

谷歌的機器學習相關算法
所有主要的搜索引擎都以一種或多種方式使用機器學習。 事實上,微軟正在取得一些重大突破。 像 Facebook 這樣的社交網絡也是如此,通過 Meta AI 和 WebFormer 等模型。
但我們這裡的重點是搜索引擎優化。 雖然 Bing 是一個搜索引擎,在美國擁有 6.61% 的市場份額,但我們不會在本文中關注它,因為我們會探索流行且重要的搜索相關技術。
谷歌使用了大量的機器學習算法。 您、我或任何 Google 工程師都無法全部了解。 最重要的是,許多只是搜索的無名英雄,我們不需要完全探索它們,因為它們只是讓其他系統更好地工作。
對於上下文,這些將包括算法和模型,例如:
- 谷歌 FLAN——它只是加快了學習從一個領域到另一個領域的轉移,並降低了計算成本。 值得注意的是:在機器學習中,域不是指網站,而是指它完成的任務或任務集群,例如自然語言處理 (NLP) 中的情感分析或計算機視覺 (CV) 中的對象檢測。
- V-MoE——這個模型的唯一工作是允許用更少的資源訓練大型視覺模型。 正是這樣的發展通過擴展技術上可以完成的工作來實現進步。
- 子偽標籤——該系統改進了視頻中的動作識別,協助各種與視頻相關的理解和任務。
這些都不會直接影響排名或佈局。 但它們會影響 Google 的成功程度。
那麼現在讓我們來看看谷歌排名所涉及的核心算法和模型。
RankBrain
這就是一切的開始,將機器學習引入谷歌的算法。
RankBrain 算法於 2015 年推出,應用於谷歌以前從未見過的查詢(佔其中的 15%)。 到 2016 年 6 月,它已擴展到包括所有查詢。
繼 Hummingbird 和知識圖譜等巨大進步之後,RankBrain 幫助 Google 從將世界視為字符串(關鍵字以及單詞和字符集)擴展到事物(實體)。 例如,在此之前,谷歌基本上會將我居住的城市(維多利亞,BC)視為兩個經常同時出現的詞,但也經常單獨出現,並且當它們出現時可以但並不總是意味著不同的東西。
在 RankBrain 之後,他們將不列顛哥倫比亞省的 Victoria 視為一個實體——也許是機器 ID (/m/07ypt)——因此,即使他們只點擊“Victoria”這個詞,如果他們能夠建立上下文,他們也會將其視為與維多利亞,不列顛哥倫比亞省。
有了這個,他們“看到”的不僅僅是關鍵字和意義,只有我們的大腦才能做到。 畢竟,當您閱讀“我附近的披薩”時,您是否理解三個單獨的單詞,或者您的腦海中是否有披薩的視覺,以及您所在位置的了解?
簡而言之,RankBrain 幫助算法將它們的信號應用於事物而不是關鍵字。
BERT
BERT (來自轉換器的雙向編碼器表示)。
隨著 2019 年將 BERT 模型引入谷歌的算法,谷歌從對概念的單向理解轉變為雙向理解。
這不是一個平凡的變化。
谷歌在 2018 年宣布開源 BERT 模型時所包含的視覺效果有助於描繪這幅畫:

無需詳細了解令牌和轉換器在機器學習中的工作方式,我們的需求只需查看三個圖像和箭頭,並考慮在 BERT 版本中,每個單詞如何從任一單詞中獲取信息就足夠了方,包括那些多話遠。
以前,模型只能從一個方向的單詞中應用洞察力,現在它們可以基於兩個方向的單詞獲得上下文理解。
一個簡單的例子可能是“汽車是紅色的”。
只有在 BERT 被正確理解為紅色是汽車的顏色之後,因為在此之前紅色這個詞出現在汽車一詞之後,並且該信息沒有被發回。
順便說一句,如果您想使用 BERT,GitHub 上提供了各種模型。
拉美達
LaMDA 尚未在野外部署,並於 2021 年 5 月在 Google I/O 上首次宣布。
澄清一下,當我寫“尚未部署”時,我的意思是“據我所知”。 畢竟,我們是在將 RankBrain 部署到算法中幾個月後才發現它的。 也就是說,當它出現時,它將是革命性的。
LaMDA 是一種會話語言模型,它似乎打破了當前的最新技術。
LaMDA 的重點主要有兩方面:
- 提高談話的合理性和特異性。 本質上,是為了確保聊天中的回復是合理且具體的。 例如,對於大多數問題,“我不知道”的回答是合理的,但並不具體。 另一方面,回答諸如“你好嗎?”之類的問題。 也就是說,“我喜歡下雨天吃鴨湯。 這很像放風箏。” 非常具體但幾乎不合理。
LaMDA 有助於解決這兩個問題。 - 當我們交流時,很少是線性對話。 當我們考慮討論可能從哪裡開始和結束時,即使它是關於單個主題的(例如,“為什麼我們的流量本週下降了?”),我們通常會討論我們不會討論的不同主題預計進去。
任何使用過聊天機器人的人都知道他們在這些情況下非常糟糕。 他們不能很好地適應,也不能很好地將過去的信息帶入未來(反之亦然)。
LaMDA 進一步解決了這個問題。
來自 Google 的示例對話是:


我們可以看到它的適應能力遠遠好於人們對聊天機器人的期望。
我看到 LaMDA 正在 Google Assistant 中實現。 但是,如果我們考慮一下,理解查詢流如何在單個級別上工作的增強功能肯定有助於定制搜索結果佈局,以及向用戶展示其他主題和查詢。
基本上,我很確定我們會看到受 LaMDA 啟發的技術滲透到搜索的非聊天領域。
凱爾姆
上面,當我們討論 RankBrain 時,我們談到了機器 ID 和實體。 那麼,2021 年 5 月宣布的 KELM 將其提升到了一個全新的水平。
KELM 誕生於減少搜索中的偏見和有害信息的努力。 因為它基於可信信息(Wikidata),所以可以很好地用於此目的。
KELM 更像是一個數據集,而不是一個模型。 基本上,它是機器學習模型的訓練數據。 對於我們的目的而言,更有趣的是,它告訴我們 Google 對數據採取的方法。
簡而言之,谷歌取了英文維基數據知識圖譜,它是三元組(主題實體、關係、對象實體(汽車、顏色、紅色)的集合,並將其轉化為各種實體子圖並對其進行語言化。這在中最容易解釋一個圖像:

在這張圖片中,我們看到:
- 三元組描述了個人關係。
- 實體子圖映射與中心實體相關的多個三元組。
- 實體子圖的文本版本。
- 正確的句子。
然後,其他模型可以使用它來幫助訓練它們識別事實並過濾有害信息。
谷歌已經開源了這個語料庫,它可以在 GitHub 上找到。 如果您想了解更多信息,查看他們的描述將幫助您了解它的工作原理及其結構。
媽媽
MUM 也在 2021 年 5 月的 Google I/O 上宣布。
雖然它具有革命性,但描述起來卻看似簡單。
MUM代表多任務統一模型,它是多模式的。 這意味著它“理解”不同的內容格式,如測試、圖像、視頻等。這使它能夠從多種模式中獲取信息並做出響應。
旁白:這不是 MultiModel 架構的第一次使用。 它於 2017 年由 Google 首次提出。
此外,由於 MUM 在事物中而不是字符串中起作用,因此它可以跨語言收集信息,然後以用戶自己的方式提供答案。 這為信息訪問的巨大改進打開了大門,特別是對於那些說互聯網上不支持的語言的人來說,但即使是說英語的人也會直接受益。
Google 使用的示例是一位想要攀登富士山的徒步旅行者。 一些最好的提示和信息可能是用日語編寫的,用戶完全無法使用,因為即使他們可以翻譯,他們也不知道如何顯示它。
MUM 的一個重要說明是模型不僅可以理解內容,而且可以生成內容。 因此,與其被動地向用戶發送結果,它可以促進從多個來源收集數據並提供反饋(頁面、語音等)本身。
對於包括我自己在內的許多人來說,這也可能是這項技術的一個令人擔憂的方面。
在其他地方使用機器學習
我們只涉及了一些您可能聽說過的關鍵算法,我相信這些算法對自然搜索產生了重大影響。 但這遠不是使用機器學習的全部。
例如,我們也可以問:
- 在廣告中,是什麼驅動了自動出價策略和廣告自動化背後的系統?
- 在新聞中,系統如何知道如何對故事進行分組?
- 在圖像中,系統如何識別特定對象和對像類型?
- 在電子郵件中,系統如何過濾垃圾郵件?
- 在翻譯中,系統如何處理學習新單詞和短語?
- 在視頻中,系統如何知道接下來要推薦哪些視頻?
所有這些問題以及數百甚至數千個問題都有相同的答案:
機器學習。
機器學習算法和模型的類型
現在讓我們來看看機器學習算法和模型的兩個監督級別——監督學習和非監督學習。 了解我們正在研究的算法類型以及在哪裡尋找它們很重要。
監督學習
簡而言之,通過監督學習,算法得到了完全標記的訓練和測試數據。
也就是說,有人已經通過標記數千(或數百萬)個示例的努力來訓練基於可靠數據的模型。 例如,在x張穿紅襯衫的人的照片中標記紅襯衫。
監督學習在分類和回歸問題中很有用。 分類問題相當簡單。 確定某物是否屬於某個組。
一個簡單的例子是谷歌照片。

谷歌已經對我進行了分類,以及階段。 他們沒有手動標記這些圖片。 但是該模型將在階段的手動標記數據上進行訓練。 任何使用過 Google 照片的人都知道,他們會定期要求您確認照片和照片中的人物。 我們是手動貼標機。
曾經使用過 ReCAPTCHA 嗎? 猜猜你在做什麼? 這是正確的。 你經常幫助訓練機器學習模型。
另一方面,回歸問題處理需要將一組輸入映射到輸出值的問題。
一個簡單的例子是考慮一個估算房屋售價的系統,輸入平方英尺、臥室數量、浴室數量、與海洋的距離等。
您能想到任何其他可能攜帶大量特徵/信號然後需要為相關實體(/站點)分配值的系統嗎?
雖然肯定更複雜並且包含大量用於各種功能的單獨算法,但回歸可能是驅動搜索核心功能的算法類型之一。
我懷疑我們正在轉向半監督模型——在某些階段進行手動標記(認為質量評估者),系統收集的信號確定用戶對用於調整和製作模型的結果集的滿意度.
無監督學習
在無監督學習中,系統被賦予一組未標記的數據,並讓系統自行決定如何處理它。
沒有指定最終目標。 系統可以將相似的項目聚集在一起,尋找異常值,找到相互關係等。
當您擁有大量數據並且您無法或不知道應該如何使用它時,就會使用無監督學習。
一個很好的例子可能是谷歌新聞。
谷歌聚集了類似的新聞故事,並且還顯示了以前不存在的新聞故事(因此,它們是新聞)。
這些任務最好由主要(但不限於)無監督模型執行。 模型已經“看到”了之前的聚類或表面化的成功或不成功,但無法將其完全應用於當前數據,這些數據沒有標記(就像之前的新聞一樣)並做出決策。
這是機器學習的一個非常重要的領域,因為它與搜索相關,尤其是隨著事物的擴展。
谷歌翻譯是另一個很好的例子。 不是過去存在的一對一翻譯,系統被訓練來理解英語中的單詞x等於西班牙語中的單詞y ,而是尋找兩者使用模式的新技術,通過半- 監督學習(一些有標籤的數據,很多沒有)和無監督學習,將一種語言翻譯成一種完全未知的(對系統而言)語言。
我們在上面的 MUM 中看到了這一點,但它存在於其他論文和模型中。
只是開始
希望這為機器學習及其在搜索中的使用方式提供了基準。
我未來的文章將不僅僅是關於如何以及在哪裡可以找到機器學習(儘管有些文章會)。 我們還將深入研究機器學習的實際應用,您可以利用這些應用成為更好的 SEO。 不用擔心,在這些情況下,我會為您完成編碼,並且通常會提供易於使用的 Google Colab 來跟隨,幫助您回答一些重要的 SEO 和業務問題。
例如,您可以使用直接機器學習模型來加深您對網站、內容、流量等的理解。 我的下一篇文章將告訴你如何。 預告片:時間序列預測。
本文中表達的觀點是客座作者的觀點,不一定是 Search Engine Land。 工作人員作者在這裡列出。
