「2017 知乎 · 看山杯機器學習挑戰賽」結束,誰獲獎了?知乎還會做什麼?

首屆「知乎 · 看山杯機器學習挑戰賽」在今年 5 月 15 日開放報名及數據下載,經過 3 個月的激烈角逐,已於 8 月 15 日落下帷幕。

9 月 2 日,我們將在北京知乎總部舉辦頒獎禮,頒獎禮現場有一個特別環節——「基於人工智慧的自然語言處理」主題沙龍。沙龍邀請了創新工場人工智慧工程院副院長王詠剛老師,東南大學計算機學院教授、博士生導師漆桂林教授、清華大學計算機系黃民烈副教授、知乎高級副總裁李大海等機器學習和自然語言處理領域的資深專家,和大家現場分享當前人工智慧及 NLP 領域的一些進展。點擊報名鏈接即可報名,現場參與頒獎禮。

屆時頒獎禮還會在知乎 Live 進行直播,不能到現場的同學,歡迎點擊鏈接領取優惠券免費觀看直播。

獲獎選手是由我們根據參賽隊伍所提交的模型在驗證數據集上的表現(成績及排名鏈接),而最終篩選確認。為了驗證結果,在獲獎隊伍提交其方法說明及可復現的代碼和模型數據後,我們逐一評審了獲獎隊伍的方法及代碼,並且隨機抽取其中一些隊伍提交的模型,使用另外一份驗證數據集進行了結果的驗證。通過對獲獎結果的復現,我們發現,這些參賽隊伍提交的模型都表現出了非常強的泛化能力,在新的評審集上,模型的表現和原有的驗證集基本一致。例如:

  • init 團隊提交的模型在 leader board 上獲得了 0.4341 分的成績,使用新的數據集進行驗證則獲得了 0.4346 分的成績;
  • YesOfCourse 團隊提交的模型較多,約有 200 多個;我們隨機抽取其中的部分模型進行了驗證,其 CNN 單模型在 leader board 上獲得了 0.4182 的成績,使用新的數據集進行驗證,則獲得了 0.4146 分的成績;
  • NLPFaker 團隊一共提交了近 40 個模型,我們復現了其中 20 個模型的 ensemble 結果,這部分模型在 leader board 上取得了 0.4254 的成績,使用新的數據集則獲得了 0.4237 分的成績。

等等。

同時,在評審委員會評審獲獎隊伍所使用的方法時,也發現大家進行了各種嘗試,提出了各種解決問題的方法,同時在數據預處理、模型訓練、模型集成等環節都提出了新穎想法,非常有亮點。在下面的篇幅中,我們試著總結下這次比賽。

獲獎團隊

首先需要恭喜本次競賽的獲獎團隊。本次比賽共有 7 支隊伍獲獎,獲獎名單如下:

一等獎一名,獎金 40,000 元,獲獎隊伍是來自北京郵電大學的 init 團隊;

二等獎兩名,獎金 10,000 元,獲獎隊伍是:

  • 來自北京郵電大學的 Koala 團隊;
  • 來自中科院計算所、Google 和百度的 YesOfCourse 團隊;

三等獎四名,獎金 5,000 元,獲獎隊伍是:

  • 來自 Microsoft 和北京大學的 NLPFakers 團隊;
  • 來自武漢大學、 倫敦大學學院( University College London)的 Gower Street & 81 Road 團隊;
  • 來自北京郵電大學的 ye 團隊;
  • 來自鄭州鐵路局、同花順公司、電子科技大學中山學院的 Yin & Bird 團隊。

除獎金獎勵外,以上各支隊伍的成員還會受邀參加頒獎禮和人工智慧沙龍,屆時他們將在領獎之餘,還可和工業界及學術界的大牛們面對面交流。

獲獎團隊及方法總結

在評審獲獎團隊所使用的方法時,我們有一個有趣的發現:所有獲獎的 7 支隊伍,都無一例外地使用了各種結構的深度神經網路(Deep Nerual Network,DNN),而傳統的文本分類方法,例如支持向量機(Support Vector Machine,SVM)或者樸素貝葉斯(Naive Bayes)等方法,則使用較少。這也許說明,在一定程度上,深度神經網路已經成為 NLP 領域的主流方法。我們對 7 支比賽隊伍的方法進行了匯總如下:

  • init 團隊:TextCNN + TextRNN + RCNN,共享 Embedding 進行聯合學習,在模型集成方面,使用多模型、等權重的 Bagging 方法進行集成;在數據預處理方面,使用 delete 和 shuffle 進行數據增強;
  • Koala 團隊:FastText + TextCNN + TextRNN,使用 boosting 的思想對神經網路進行逐層訓練,各個網路之間使用加權平均的 bagging 方式;
  • YesOfCourse 團隊:使用 TextCNN + LSTM/GRU + RCNN 作為基模型,並且利用 GBRank 融合多個神經網路的輸出;
  • NLPFakers 團隊:使用 TextCNN + RNN + RCNN 作為基模型,利用線性加權進行模型集成;在神經網路訓練中使用了 attention 機制;
  • Gower Street & 81 Road 團隊:使用 RNN 神經網路作為基礎模型,並且將 Query-TopicTitle 的相似度與神經網路進行聯合訓練。最終使用 Bagging with Ensemble Selection 作為模型集成策略;
  • ye 團隊:使用 TextCNN + BiGRU 作為基礎模型,利用帶有權重搜索的 bagging 作模型集成策略;
  • Yin&Bird 團隊:利用 LSTM 和 Bayes 方法作為基礎模型,並且利用 stacking 方法進行模型集成。

在對問題進行建模時,所有參賽隊伍都將問題轉化成了「文本多分類」或者「文本標籤預測」的問題。在訓練過程中,大多數團隊都選用了交叉熵(Cross Entropy)作為損失函數。所有的參賽隊伍都應用了集成學習的思想,利用多個模型的相互補充來提高成績。同時選手們還針對自己對問題的理解對問題進行了非常多的優化,出現了一些很有亮點的優化方法。例如:

  • 第一名的 init 團隊,在數據增強方面進行了富有創意的工作。init 團隊在進行模型訓練的時候,通過 delete 和 shuffle 機制來避免訓練結果的過擬合,同時保證模型的差異性。init 團隊在提交的評審材料中提到,僅僅通過數據增強機制,訓練出來的多模型結果通過等權重的 bagging 方式得到的結果已經能夠獲得優於第二名結果的表現;
  • 第二名的 Koala 團隊,在進行神經網路訓練的時候,使用了逐層 boosting 的方法,來提升單個神經網路模型的表現;根據其描述,這個優化可以使多層神經網路的表現提升 1.5 個百分點左右;
  • 第三名的 YesOfCourse 團隊將 tag precition 過程轉化成了一個 Recall-Rarank 的兩步問題;使用大量的神經網路模型來進行召回,並且將神經網路對標籤的預測得分作為 GBRank 的特徵輸入,並且使用 Pairwise 的方式來對標籤的排序進行優化,選擇排序後的前 5 個標籤作為模型的輸出。從 YesOfCourse 團隊提交的說明中看出,使用 Recall + Rerank 模型得到的結果,相對於 Non-Linear NN Ensemble 的結果,有千分之二以上的提升;同時,YesOfCourse 還嘗試使用了多種 Loss Function 和多種 attention 機制來保證模型間的差異性。
  • 第五名的 Gower Street & R1 Road 團隊,則將數據提供的 topic 的標題信息利用了起來,使用 RNN + Question-Topic Similarity 信息進行模型的聯合訓練。將單模型的結果從 0.415 提升到了 0.419,並且使用 20 個模型的 ensemble,最終取得了 0.432 的好成績;

等等。限於篇幅,不在此一一列舉。我們整理了所有隊伍的評審材料,大家可以在文末鏈接中下載。

一些預告

在「如何評價 2017 知乎看山杯機器學習比賽?」中我們提到,舉辦比賽,是為了吸引大家對於機器學習,特別是自然語言理解(NLU)領域的興趣。由於自然語言的複雜性和靈活性,NLU 成為現在機器學習領域的一個研究熱點和難點,也是接下來的一段時間內,最有可能產生突破的領域。在過去的工作和調研中,我們發現,相比國外的 ImageNet、Gigaword 等高質量數據集,中文互聯網相關的高質量數據集是相對缺乏的。這也促使我們思考,作為中文互聯網最大的知識社交平台,知乎累積了非常多的高質量文本語料和其他各種各樣的數據,我們能不能開放部分數據,為 AI 在國內的發展提供一些助力?所有就有了這次「知乎·看山杯機器學習挑戰賽」。

當然,限於比賽的實際情況,我們對數據進行了脫敏和編碼處理,希望大家都能在一個相對公平的環境下進行比賽,這也導致了一些參賽者認為數據不夠直觀,不像明文數據一樣可以憑藉先驗知識發現一些 insight。在此預告一下,比賽雖已結束,但我們在開放數據上的努力並沒有結束,我們接下來將發布這次賽題對應的明文數據。當然,在「發布明文」這種場景下,我們需要對數據進行更加嚴格的審核,可能需要一些時間,請大家耐心等待。除這份文本標籤的數據集外,我們還將發布一些知乎密切相關的數據集和機器學習任務,例如內容推薦、社交網路鏈接預測等數據集,這些數據集會在經過嚴格脫敏和審核後,陸續開放給大家。屆時我們將在「知識青年」和「Hacker』s Log」等專欄發布下載鏈接,請大家關注。

此外..

知乎正在招聘數據挖掘專家、數據挖掘工程師及數據挖掘實習生。假如您對知乎的工作機會感興趣,歡迎通過 資深數據挖掘工程師 和 數據挖掘實習生 這兩個鏈接投遞簡歷,或者直接投遞簡歷到 jobs@zhihu.com 郵箱。

附錄

前七名選手提交的獲獎方法說明下載鏈接 密碼: bm56

第一名 init、第二名 Koala、第三名 YesOfCourse、第四名 NLPFakers、第五名 GowerStreet & 81 Road、第七名 Yin&Bird 相關的代碼和模型下載鏈接: 密碼: m4v6

第六名 ye 代碼及模型下載鏈接


推薦閱讀:

為什麼LR要使用sigmod函數
Teaching Machines to Read and Comprehend
數據分析入門(Python) | 猴子社群第2期闖關遊戲怎麼玩?
A Diversity-Promoting Objective Function for Neural Conversation Models

TAG:机器学习 | 数据挖掘 | 知乎 |