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

詳解:估值18億美元的新晉獨角獸美國知乎,如何使用機器學習?

△ 題圖來自TechCrunch

曉查 李林 編譯自 Quora

昨天, 美國問答網站Quora宣佈完成了8500萬美元的D輪融資, 估值翻倍。 這樣說來, Quora現在的估值應該是18億美元,

成了一隻新的獨角獸。

在過去一年裡, Quora除了繼續擴大使用者規模之外, 還開始了商業化嘗試, 機器學習技術在這家公司業務上的應用, 也增加了很多, 不僅已有的機器學習應用用上了更大更好的模型, 機器學習的使用領域也有擴張。

那麼, Quora現在是怎樣使用機器學習的?其機器學習負責人Nikhil Dandekar前不久發文做了一下介紹, 量子位編譯如下:

我將介紹Quora產品的不同部分, 討論我們在其中是如何使用機器學習的。

1. 查找資訊

Quora知識共用的主要方式是問題和答案。 這從用戶希望獲得一個令其滿意的回答開始, 或者說從“資訊需求”開始。

用戶在Quora上提出了一個新的問題後, 我們有一套機器學習系統進行問題的理解, 即從問題中提取資訊,

從而使接下來的流程變得更容易。 下面, 我描述一下這個問題理解系統。

我們關心內容的品質, 這一切都以問題的品質開始。 我們有一個ML系統可以對問題品質進行分類, 幫助我們區分高品質和低品質的問題。 除了問題品質, 我們還會確定一些不同的問題類型, 這會幫助我們確定在接下來的流程中如何處理問題。

最後, 我們也做了問題主題標籤來確定問題的主題。 大多數主題建模應用都可以處理大型文檔文本和較少的主題關鍵字, 但我們處理的是一個的簡短問題文本和超過一百萬個潛在主題, 這使得這項工作成為一個更具挑戰性的問題。

在所有問題理解模型中, 我們從問題本身和它的語境來獲得其特徵。

例如, 詢問問題的用戶, 詢問問題的地點等等。

滿足使用者資訊需求的另一種方法是讓他們在現有問題中找到他們所需的答案。 我們有兩個主要的搜索系統:問題欄(Ask Bar)搜索, 它為Quora主頁上的頁首搜索欄提供支援;還有一個就是全文檢索搜尋, 這是一個更深入的搜索系統, 您可以通過點擊問題欄結果中的“搜索” 選項來獲得。 這些搜索系統使用不同的排名演算法, 這些演算法在搜索速度、相關性以及返回結果的廣度和深度方面有所不同。

2. 獲得問題的答案

問題理解系統的輸出是問題生命週期中下一個步驟的重要輸入:如何從專家那裡獲得答案。 在這裡, 我們也有機器學習系統, 説明我們更好地解決這個問題。

邀請回答(Request Answers,

直譯是“請求回答”, 以前稱為要求回答, Ask to Answers, A2A)是Quora的一項功能:允許用戶將請求發送給其他用戶, 要求他們為特定問題寫一個答案。

我們將邀請回答構建成了一個機器學習問題, 用這種方法來推薦建議邀請的用戶。 我們在另一篇博客文章中介紹了這個系統的細節:“請求回答”中的機器學習問題。 地址:https://engineering.quora.com/Ask-To-Answer-as-a-Machine-Learning-Problem

在A2A之外, 我們將未答覆的問題與專業問題回答者進行匹配的主要方式是通過Quora主頁資訊流。 問題排名對我們來說是一個非常重要的問題。 我們將上面所述的問題屬性、使用者屬性以及一系列其他原始的和衍生的功能作為這個排名模型的輸入, 為使用者生成具有話題性、相關性的個性化的Feed 。 這是幾天前我feed的截圖:

3. 閱讀內容

如上圖所示, 資訊流不僅包括你可以撰寫答案的問題, 還包括值得閱讀的回答。 答案內容的資訊流排序也是一個對我們來說非常重要的機器學習問題。 資訊流中的問題排名和答案排名使用類似的底層系統, 但二者的目標非常不同, 因此在其基礎模型中使用了不同的特徵集合。

另一個我們使用機器學習來評估值得閱讀答案排名的是我們向使用者發送的電子郵件摘要。所有這些排名問題都由相當先進的機器學習系統提供支援,這個ML系統使用多種模型和許多不同的功能來實現最終排名。

一旦用戶發現有趣的問題,我們希望確保他們能在Quora上有一個很好的閱讀體驗。對一個問題的答案進行排名,對我們來說是一個重要的ML應用,它能確保最相關的答案在問題的頂部出現。我們在這篇文章裡詳細介紹答案排名背後的ML系統:Quora回答排名上的機器學習方法,位址:https://engineering.quora.com/A-Machine-Learning-Approach-to-Ranking-Answers-on-Quora

除了答案,我們也對評論做出排名,以確保你在頂部看到最相關的答案評論。所有這些排名系統都超出了簡單的贊同或者反對,而是通過來自用戶的贊同和反對、內容品質、活躍度等資訊來得出最終排名。

我們還想確保在閱讀特定問題的答案後,你能有很好的途徑來查找相關內容以持續你的閱讀體驗。機器學習的一個產品功能就是提供相關問題。我們在問題頁面上顯示相關問題,説明使用者更輕鬆地在Quora問題空間中導航。我們還用相關主題和熱門主題的排名系統來説明指引Quora的讀者。在主頁,我們還會在面板上顯示值得關注主題和值得關注使用者的內容,這兩個都是基於我們對用戶的瞭解而個性化的推薦系統。

上述ML系統的一個非常重要的元素是個性化。個性化涉及讓產品和底層系統與Quora的每個使用者相關。使ML系統個性化的一個重要組成部分是對用戶的理解。作為對用戶理解的一部分,我們觀察和獲得使用者的各種特徵,比如他們喜歡和不喜歡的主題,他們在不同領域的專業知識和他們的社交網路屬性。我們還有各種“使用者實體”關聯系統,例如使用者和主題的關聯,使用者和用戶的關聯等等。所有這些個性化標誌都是重要的輸入,不僅用在本節討論的“閱讀”上,在問題與專業答案撰寫者的匹配問題上也很重要。

4. 維護內容品質

對於Quora良好的使用者體驗來說,內容品質是一個關鍵因素,我們想讓站內的問題、答案、話題和其他內容從高品質起步,並一直保持下去。為此,我們用一組機器學習系統來維護內容品質,以下是其中的幾個:

重複問題檢測:這涉及到檢測具有相同意圖的不同問題,並將它們合併為一個標準問題。我們曾經發文介紹過Quora解決這個問題的方法,還舉辦了一個Kaggle競賽並發佈了重複問題資料集。

Quora如何檢測重複問題:https://engineering.quora.com/Semantic-Question-Matching-with-Deep-Learning

重複問題檢測Kaggle競賽:https://www.kaggle.com/c/quora-question-pairs

惡意內容檢測:友好和尊重是Quora社區討論的準則,但是對任何一個這區來說,要保持這兩點都很難。我們用機器學習和人工審核相結合,來識別冒犯性的、會傷害使用者的內容,來確保良好的用戶體驗。

垃圾資訊檢測:對大多數UGC(使用者生產內容)的應用來說,垃圾資訊檢測都很重要,我們也不例外。我們將幾個不同的機器學習系統結合起來使用,來攔截垃圾內容,以及發佈這類內容的使用者。

5. 廣告優化

2016年,我們開始試水商業化。現在,我們在問題頁面上展示和問題意圖相關的廣告,並用機器學習來預測廣告點擊率,確保我們展示的廣告是和用戶相關的,對廣告主也有較高的價值。

我們在商業化上的機器學習嘗試還處於早期,在接下來的幾個月或幾年中,我們會繼續拓展機器學習在這個領域的應用。

除了上文列出的這些,我們還有其他機器學習系統,但篇幅所限,就不再列舉了。

模型和庫

我們讓團隊選擇最好的模型和工具,但同時也在這些工具之間保持標準化和複用。

這是我們用到的一些模型(排名不分先後):

邏輯回歸(Logistic Regression)

彈性網路(Elastic Nets)

梯度提升決策樹(GBDT, Gradient Boosted Decision Trees)

隨機森林(Random Forests)

(深度)神經網路

LambdaMART

矩陣分解(奇異值分解、BPR、加權ALS等)

向量模型及其他NLP技術

K均值及其他聚類方法

……

我們還支持使用開源和內部庫來完成工作,例如TensorFlow、sklearn、xgboost、lightgbm、RankLib、nltk等開源庫,以及Quora自己的矩陣分解庫QMF等內部庫。

QMF詳情:https://github.com/quora/qmf

機器學習平臺

從2015年到現在,我們還有一個激動人心的發展,是形成了一個機器學習平臺團隊,這個團隊的目標是讓公司的其他機器學習工程師搞起機器學習來更容易,包括離線(模型訓練)和線上(模型使用)環節。

線上方面,機器學習平臺所擁有的系統能説明機器學習工程師創建和部署高性能、高效率、高可靠性、高可用性的即時機器學習系統。

離線方面,有了機器學習平臺團隊的幫助,工程師們就能快速以標準化、可複用的方式建立資料管道,做特徵生成、訓練模型等工作。

一個專注的平臺團隊,幫Quora加速了機器學習開發速度,也為我們做好了擴展系統規模以處理更大的資料量的準備。

另外早在2015年,Quora負責工程的副總裁Xavier Amatriain就“如何在Quora中使用機器學習”寫了一篇文章:Quora在2015年如何使用機器學習?感興趣的小夥伴可以去 https://www.quora.com/How-does-Quora-use-machine-learning-in-2015 閱讀。

==== 分隔線 ====

招聘

我們正在招募編輯記者、運營等崗位,工作地點在北京中關村,期待你的到來,一起體驗人工智慧的風起雲湧。

One More Thing…

另一個我們使用機器學習來評估值得閱讀答案排名的是我們向使用者發送的電子郵件摘要。所有這些排名問題都由相當先進的機器學習系統提供支援,這個ML系統使用多種模型和許多不同的功能來實現最終排名。

一旦用戶發現有趣的問題,我們希望確保他們能在Quora上有一個很好的閱讀體驗。對一個問題的答案進行排名,對我們來說是一個重要的ML應用,它能確保最相關的答案在問題的頂部出現。我們在這篇文章裡詳細介紹答案排名背後的ML系統:Quora回答排名上的機器學習方法,位址:https://engineering.quora.com/A-Machine-Learning-Approach-to-Ranking-Answers-on-Quora

除了答案,我們也對評論做出排名,以確保你在頂部看到最相關的答案評論。所有這些排名系統都超出了簡單的贊同或者反對,而是通過來自用戶的贊同和反對、內容品質、活躍度等資訊來得出最終排名。

我們還想確保在閱讀特定問題的答案後,你能有很好的途徑來查找相關內容以持續你的閱讀體驗。機器學習的一個產品功能就是提供相關問題。我們在問題頁面上顯示相關問題,説明使用者更輕鬆地在Quora問題空間中導航。我們還用相關主題和熱門主題的排名系統來説明指引Quora的讀者。在主頁,我們還會在面板上顯示值得關注主題和值得關注使用者的內容,這兩個都是基於我們對用戶的瞭解而個性化的推薦系統。

上述ML系統的一個非常重要的元素是個性化。個性化涉及讓產品和底層系統與Quora的每個使用者相關。使ML系統個性化的一個重要組成部分是對用戶的理解。作為對用戶理解的一部分,我們觀察和獲得使用者的各種特徵,比如他們喜歡和不喜歡的主題,他們在不同領域的專業知識和他們的社交網路屬性。我們還有各種“使用者實體”關聯系統,例如使用者和主題的關聯,使用者和用戶的關聯等等。所有這些個性化標誌都是重要的輸入,不僅用在本節討論的“閱讀”上,在問題與專業答案撰寫者的匹配問題上也很重要。

4. 維護內容品質

對於Quora良好的使用者體驗來說,內容品質是一個關鍵因素,我們想讓站內的問題、答案、話題和其他內容從高品質起步,並一直保持下去。為此,我們用一組機器學習系統來維護內容品質,以下是其中的幾個:

重複問題檢測:這涉及到檢測具有相同意圖的不同問題,並將它們合併為一個標準問題。我們曾經發文介紹過Quora解決這個問題的方法,還舉辦了一個Kaggle競賽並發佈了重複問題資料集。

Quora如何檢測重複問題:https://engineering.quora.com/Semantic-Question-Matching-with-Deep-Learning

重複問題檢測Kaggle競賽:https://www.kaggle.com/c/quora-question-pairs

惡意內容檢測:友好和尊重是Quora社區討論的準則,但是對任何一個這區來說,要保持這兩點都很難。我們用機器學習和人工審核相結合,來識別冒犯性的、會傷害使用者的內容,來確保良好的用戶體驗。

垃圾資訊檢測:對大多數UGC(使用者生產內容)的應用來說,垃圾資訊檢測都很重要,我們也不例外。我們將幾個不同的機器學習系統結合起來使用,來攔截垃圾內容,以及發佈這類內容的使用者。

5. 廣告優化

2016年,我們開始試水商業化。現在,我們在問題頁面上展示和問題意圖相關的廣告,並用機器學習來預測廣告點擊率,確保我們展示的廣告是和用戶相關的,對廣告主也有較高的價值。

我們在商業化上的機器學習嘗試還處於早期,在接下來的幾個月或幾年中,我們會繼續拓展機器學習在這個領域的應用。

除了上文列出的這些,我們還有其他機器學習系統,但篇幅所限,就不再列舉了。

模型和庫

我們讓團隊選擇最好的模型和工具,但同時也在這些工具之間保持標準化和複用。

這是我們用到的一些模型(排名不分先後):

邏輯回歸(Logistic Regression)

彈性網路(Elastic Nets)

梯度提升決策樹(GBDT, Gradient Boosted Decision Trees)

隨機森林(Random Forests)

(深度)神經網路

LambdaMART

矩陣分解(奇異值分解、BPR、加權ALS等)

向量模型及其他NLP技術

K均值及其他聚類方法

……

我們還支持使用開源和內部庫來完成工作,例如TensorFlow、sklearn、xgboost、lightgbm、RankLib、nltk等開源庫,以及Quora自己的矩陣分解庫QMF等內部庫。

QMF詳情:https://github.com/quora/qmf

機器學習平臺

從2015年到現在,我們還有一個激動人心的發展,是形成了一個機器學習平臺團隊,這個團隊的目標是讓公司的其他機器學習工程師搞起機器學習來更容易,包括離線(模型訓練)和線上(模型使用)環節。

線上方面,機器學習平臺所擁有的系統能説明機器學習工程師創建和部署高性能、高效率、高可靠性、高可用性的即時機器學習系統。

離線方面,有了機器學習平臺團隊的幫助,工程師們就能快速以標準化、可複用的方式建立資料管道,做特徵生成、訓練模型等工作。

一個專注的平臺團隊,幫Quora加速了機器學習開發速度,也為我們做好了擴展系統規模以處理更大的資料量的準備。

另外早在2015年,Quora負責工程的副總裁Xavier Amatriain就“如何在Quora中使用機器學習”寫了一篇文章:Quora在2015年如何使用機器學習?感興趣的小夥伴可以去 https://www.quora.com/How-does-Quora-use-machine-learning-in-2015 閱讀。

==== 分隔線 ====

招聘

我們正在招募編輯記者、運營等崗位,工作地點在北京中關村,期待你的到來,一起體驗人工智慧的風起雲湧。

One More Thing…

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