您的位置:首頁>科技>正文

Google 調教了人工智慧,讓你想要的 App 來找你 1|靈感早讀

好產品, 或許你已見得不少。 但好產品背後的探索和思考, 恐怕沒有太多人知道。

獲得授權翻譯系列文章, 告訴你 Google 如何調教人工智慧, 讓 Google Play 為你精准推薦 app。 系列文章共有 3 篇, 本文第 1 篇。

這些按主題的模糊搜索佔據 Play Store 接近一半的搜索量, 所以幫助人們找到最想要的應用十分重要。

通過主題搜索不僅是按關鍵字找出應用, 搜尋引擎還需瞭解一個 app 所屬的主題類別。 通過機器學習已經可以解決類似問題, 但這種方式產生結果的好壞, 取決於某個主題類別的學習樣本大小。

對於「社交應用」這類熱門的話題, 許多已知的 app 樣本可以用來學習(這個從樣本中學習的過程通常稱為「訓練」), 而大多數主題類別的學習樣本卻屈指可數。

我們此項研究的挑戰, 便是從一個十分有限的學習樣本, 和上百萬個橫跨數千個主題類別的 app 中進行機器學習, 這迫使我們調校機器學習技術。

我們剛開始打算建立一個深層神經網路(DNN), 訓練它根據 app 名稱含有的字詞和 app 的內容提要去預測搜索的主題。 例如, 如果一個 app 的內容提要提到「非常嚇人」或者「可怕」, 那關聯的主題便是「恐怖遊戲」。

通俗但不嚴謹地講, 神經網路這一電腦演算法, 便是類比人類大腦思考時的判斷與試錯過程, 它可以用來分辨貓狗、識別手寫字母等等。 一旦給予這個演算法的學習樣本越大, 它學習的結果越精確, 正如人類嬰兒見過的貓狗越多, 相應的神經刺激越多, 分辨貓狗的能力越準確。 然而, 鑒於深層神經網路所需的學習容量,

對訓練樣本偏小的一類 app 它基本上「死記」了主題類別, 對於沒見過的新應用它更無法歸類。

為了有效地解決這個問題, 我們需要更多的樣本給機器學習, 於是我們把思路轉向「大眾是如何區分 app 的主題類型」。 相比深層神經網路,

人類區分主題類別需要的資料集更少。 例如, 你只需看過幾個「恐怖遊戲」的內容摘要便可以把新的 app 歸類到這一類型中。 即是說, 只需看懂 app 的內容摘要, 人們便能正確地從幾個樣本中推斷出應用的主題類別。

為了類比人類區分主題類別的方式, 我們嘗試這種接近語義分析的機器學習方式。 我們訓練了一個神經網路去學習 app 內容摘要所用的描述詞彙。這個過程使用的技術,常用來根據字詞預測詞彙(類似輸入法聯想字詞),例如「分享」可以聯想到「圖片」。

接著我們開發了一個分類器,利用上一流程總結的詞彙,分辨出一個 app 的所屬主題類別。現在我們只需少量樣本,便能學習一個 app 的主題類別,因為機器學習的重心基本放在語義分析上。

利用單一的分類器為所有主題分類,帶來的結果是它在流行的主題上學得更多,忽視了小眾主題。為了解決這一問題,我們為每個主題類別開發了單獨的分類器進行隔離調試。我們的技術產出了合理的結果,但有時候也會過度判斷。例如,它會把 Facebook 歸為「約會」類別或者把植物大戰僵屍歸到「教育遊戲」。為了產生更精准的分類器,我們需要更高容量和品質的學習資料。

於是我們把上述的系統視為一個泛篩選的分類器,把數十億個應用主題搭配,縮減到一個更易處理的小樣本清單。接著我們搭建了一個流程,讓人類評審員評估分類器的學習成果,然後把評審員認為正確的答案作為樣本,回饋到學習過程中。這個流程讓我們從現有的學習樣本中自給自足,使得分類器的結果更令我們滿意。

在糾結什麼才是正確答案這個問題上,我們會提前讓評審員一起討論「某某主題與某某應用是否搭配」,然後讓他們為匹配程度打分,例如「相關性強」,或者「基本相關」,或者「主題不符」。

對於分歧較大的一些答案,我們發現了這些原因:可選答案相似、評審員用過的 app 不多、主題太寬泛以致于適用大多數應用。

在我們解決這些難題後,評審員的意見變得較為一致,評審員選擇答案的理由也更加確切。儘管效果顯著,我們有時也需接受意見不合,放棄意見始終不一的答案。根據上文的技術,我們實現了 Google Play 應用商城的搜索和發現功能。雖然搜索功能迄今為止令人滿意,但與此同時我們也利用更多樣本、架構改進以及新演算法,不斷地探索改進的技術。在續篇文章中,我們將討論用戶的個性化應用推薦。

致謝。

以上研究是 Google Play 團隊與 Liadan O'Callaghan、Yuhua Zhu、Mark Taylor 和 Michael Watson 的合作成果。譯者李煜陽、徐廣宇

我們訓練了一個神經網路去學習 app 內容摘要所用的描述詞彙。這個過程使用的技術,常用來根據字詞預測詞彙(類似輸入法聯想字詞),例如「分享」可以聯想到「圖片」。

接著我們開發了一個分類器,利用上一流程總結的詞彙,分辨出一個 app 的所屬主題類別。現在我們只需少量樣本,便能學習一個 app 的主題類別,因為機器學習的重心基本放在語義分析上。

利用單一的分類器為所有主題分類,帶來的結果是它在流行的主題上學得更多,忽視了小眾主題。為了解決這一問題,我們為每個主題類別開發了單獨的分類器進行隔離調試。我們的技術產出了合理的結果,但有時候也會過度判斷。例如,它會把 Facebook 歸為「約會」類別或者把植物大戰僵屍歸到「教育遊戲」。為了產生更精准的分類器,我們需要更高容量和品質的學習資料。

於是我們把上述的系統視為一個泛篩選的分類器,把數十億個應用主題搭配,縮減到一個更易處理的小樣本清單。接著我們搭建了一個流程,讓人類評審員評估分類器的學習成果,然後把評審員認為正確的答案作為樣本,回饋到學習過程中。這個流程讓我們從現有的學習樣本中自給自足,使得分類器的結果更令我們滿意。

在糾結什麼才是正確答案這個問題上,我們會提前讓評審員一起討論「某某主題與某某應用是否搭配」,然後讓他們為匹配程度打分,例如「相關性強」,或者「基本相關」,或者「主題不符」。

對於分歧較大的一些答案,我們發現了這些原因:可選答案相似、評審員用過的 app 不多、主題太寬泛以致于適用大多數應用。

在我們解決這些難題後,評審員的意見變得較為一致,評審員選擇答案的理由也更加確切。儘管效果顯著,我們有時也需接受意見不合,放棄意見始終不一的答案。根據上文的技術,我們實現了 Google Play 應用商城的搜索和發現功能。雖然搜索功能迄今為止令人滿意,但與此同時我們也利用更多樣本、架構改進以及新演算法,不斷地探索改進的技術。在續篇文章中,我們將討論用戶的個性化應用推薦。

致謝。

以上研究是 Google Play 團隊與 Liadan O'Callaghan、Yuhua Zhu、Mark Taylor 和 Michael Watson 的合作成果。譯者李煜陽、徐廣宇

Next Article
喜欢就按个赞吧!!!
点击关闭提示