Quora Question Pairs 競賽冠軍經驗分享:採用 4 層堆疊,經典模型...

2020-12-15 雷鋒網

雷鋒網 AI 研習社按:今天要介紹的比賽是 Quora Question Pairs,該比賽的目的是將具有相同意圖的問題正確配對。最近本次競賽的冠軍在 Kaggle 社區分享了競賽經驗,雷鋒網 AI 研習社進行了編譯。

Quora 是一個獲取和分享知識的問答平臺,它能夠促進人們互相學習,以更好地認識這個世界。每個月有超過 1 億的人訪問 Quora,所以有許多人可能提出相似的問題。然而這些具有相似意圖的問題可能會使得尋求者需要花費更多的時間,才能找到所需的最佳答案,而答題者可能也會覺得很多問題存在重複。

為了更好地發掘那些具有相似意圖的問題,以幫助用戶更快地找到問題的高質量答案,提高用戶使用體驗,Quora 在 Kaggle 上舉辦了本次競賽: Quora Question Pairs。下文是比賽冠軍的經驗分享,正文如下。

1、特徵

我們將特徵區分為三種:嵌入特徵(Embedding features)、經典文本挖掘特徵(Classical text mining features)和結構化特徵(Structural features)

嵌入特徵

  • 詞嵌入(Word embeddings),例如 Word2Vec

  • 句子嵌入(Sentence embeddings),例如 Doc2Vec、Sent2Vec

  • 使用在 SNLI 上訓練的 ESIM 模型的密集層來編碼問題對(Question pair)

備註:與 Word2Vec 相比,句子嵌入的挑戰更為艱巨,因為它擁有更少的有效信息。

經典文本挖掘特徵

我們還使用史丹福大學的 corenlp 來標記詞彙,利用 postagger 和 ner 來預處理一些深度學習模型的文本輸入。

結構化特徵

  • 我們從訓練數據和測試數據集串起的多個問題對的邊(edge)來構建圖,進而構建密度特徵。當切割主邊時,我們會統計附件的問題 1、問題 2、最小、最大、交叉、聯合、最短路徑長度。

  • 我們進一步建立了密度特徵,一次又一次計算鄰問題的鄰問題......(嵌套循環)。我們還計算了前面的問題,它也挨著後面的問題(循環)。

  • 我們嘗試了不同的圖結構:我們構建了無向圖和有向圖(邊從問題 1 指向問題 2),我們也試圖將問題 1 的密度特徵從問題 2 的特徵中分離出來,除了可交換的特徵之外還產生了不可交換特徵。

  • 我們還建立了描述問題對連通子圖的特徵:邊數、節點數、訓練的邊的百分比。

  • 我們還計算了問題對的連結子圖中的相同特徵,這些子圖來自於出現超過一次的問題對。我們想要做的是通過改變結構來消除那些我們認為會破壞圖特徵的捏造問題。

  • 最後,和其它團隊一樣,我們使用一些初始模型對圖進行加權。我們嘗試了 logit ,重新調整了預測,但是原始預測效果最好。我們還使用相似特徵之一對圖進行加權。

2、模型

我們的 NNets 主要在兩個架構上進行工作:孿生神經網絡(Siamese neural networks)和注意力神經網絡(Attention neural networks)

其中一個關鍵問題是選擇我們的一些傳統特徵並將其納入這些網絡。我們使用預訓練的 FastText 和 Glove 嵌入,並設置 trainable=False,因為我們曾經嘗試過微調模型參數,但並沒有獲得任何性能提高。

最終,我們證明了在文本序列和我們的圖/文本挖掘特徵上訓練的神經網絡是性能最好的單一模型。我們還嘗試在字符層級上訓練孿生模型,以進一步提高堆疊的多樣性,但是很難判斷它是否真的有用。

然後我們嘗試了更多的經典算法以利用圖結構特徵,比如像常用算法 XGB/LGBM。

3、再縮放(Rescaling)

為了平衡訓練和測試數據之間目標分布(Target distribution)的差異,我們在 sweezyjeezy 分析(再次感謝他的貢獻,它幾乎幫助了所有的參賽者)的基礎上做了更細緻的研究,連結是:

https://www.kaggle.com/c/quora-question-pairs/discussion/31179

我們意識到可以通過優化再縮放來減少 Log loss。雖然我們沒有找到一個更好的假設來模擬測試數據集中數據的分布,但是通過在數據的本地子樣本上使用該方案,成功增加了算法的準確性。

我們發現訓練/測試數據偏差在三個方面非常不同:

  1. qid1_count = qid2_count = 1

  2. min_qid_count = 1 & max_qid_count > 1

  3. min_qid_count > 1

我們嘗試了公共縮放(Public rescale)和外圍縮放(Perimeter rescale)。對於第一層模型來說兩者的效果都非常好,但是隨著堆疊的深入,我們發現公共縮放不夠強大,而外圍縮放卻有點過頭。我們優化了縮放,使它的效果在這兩種方法之間,與公共縮放相比,最終提高了 ~0.001。

4、堆疊(Stacking)

我們採用了四層的堆疊:

Via Quora Question Pairs,由雷鋒網(公眾號:雷鋒網) AI 研習社進行編譯。

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 問答系統中機器學習算法應用:Quora 2017年ML平臺規劃
    我們有一個 ML 系統來分析提問,並且進行問題質量分類(question quality classification),幫助區分高質量和低質量的提問。除了提問質量,我們還需要確定問題類型(question type),這有助於問題的後續處理流程。
  • Kaggle文本語義相似度計算Top5解決方案分享
    其中第4、5這個2個比賽數據集格式比較像,2、3 的數據集格式比較像,本倉庫基於2、3數據集做實驗下面是比賽的列表:https://www.kaggle.com/c/quora-question-pairsThe goal of this competition is to predict which of the provided pairs of questions
  • 全連接層的作用是什麼?
    來自 | 知乎作者 | 魏秀參地址 | https://www.zhihu.com/question/
  • 模型堆疊(Stacking)和模型融合的原理與實現以及一個庫heamy的介紹
    只要知道stack是用cv交叉驗證來得出元模型的特徵(一個基模型產出一個元特徵作為二級模型的輸入),而blend是用留出法,比如百分之80作訓練,另外百分之20的預測值作為元模型的標籤(而stack是用全部的訓練集預測來產出一個基模型對應的標籤,二級模型只用那百分之20的預測值,這樣可以把堆疊用的數據集和二級模型泛化用的數據集分開,而stacking就沒有分開,所以stakcing有數據洩露,存在過擬合的風險
  • AutoML在IEEE-ISI World Cup 2019競賽中的應用:冠軍團隊DeepBlue...
    雷鋒網 AI 科技評論按,近日,IEEE ISI 2019 國際大數據分析競賽結果出爐,今年的競賽包括企業投資價值評估和法律訴訟類型預測兩個賽題,來自深蘭科技北京 AI 研發中心的 DeepBlueAI 團隊分別取得了一項冠軍和一項季軍的優異成績,本文作者羅志鵬(深蘭科技北京 AI 研發中心),他為雷鋒網 AI 科技評論獨家撰寫了該團隊在企業投資價值評估賽題中的算法思路與技術細節分享
  • 利用Doc2Vec 對 Quora 問題標籤聚類
    翻譯 | nick李、csnoooong 校對 | 凡江 整理 | 志豪原文連結:https://medium.com/@samriddhisinha/clustering-quora-question-tags-with-doc2vec-d4fb3c5177f7
  • 揭穿AI競賽真實面目!各種冠軍模型根本沒用
    ,無法適用於現實世界;獲勝的模型也不一定是最好的模型,冠軍獲勝只是因為他們運氣好。這些模型適用於臨床任務嗎?它們是否能帶來廣泛適用的解決方案和新穎性?又或者它們只在競賽中表現出色,而不適用於現實世界?(劇透:我認為是後者)。好模型和壞模型我們是否應該期望競賽能產生好模型呢?讓我們看看其中一位組織者是怎麼說的。
  • CMRC2018 評測任務冠軍隊伍分享: 如何從數據、模型和訓練角度提升...
    ,在評測研討會上分享了本次參賽系統的報告。模型在模型方面,追一此次參賽採用了經典的端對端閱讀理解系統,整體框架參考微軟的模型結構 R-Net,示意圖如下:針對中文文本追一團隊實驗了兩套方案,第一版是採用詞級別進行輸入,第二版是將詞改進為筆劃級別的編碼,兩者都通過雙層 LSTM 變換來進行語言模型預訓練。經過多次實驗,效果最好的詞級別與筆劃級別的 ELMo 效果相差不大,最後採用了基於維基百科與新浪新聞組合語料訓練的 512 維詞向量 ELMo 模型作為下遊任務的輸入。
  • 京東AI研究院獲QuAC機器閱讀理解競賽冠軍,模型能力業界領先
    從結果來看,QuAC 具有較高的難度,在這個數據集上目前的最佳 AI 模型的性能距離人類表現仍有一定差距,表明在這個問題上技術還有進步的空間。京東 AI 研究院 EL-QA 模型斬獲新 SOTA京東 AI 研究院語音語言實驗室提出的 EL-QA 模型(Single Model)登頂 QuAC Leaderboard,全部三項指標均獲得第一名,其中特別是 HEQD(對話 Session 層面對比人類平均水平的指標)顯著領先之前最好表現。
  • 2018全國青少年建築模型教育競賽《模型塗裝教程2》
    2018全國青少年建築模型教育競賽《模型塗裝教程2》,本教程為基礎教學指導,適合初學者學習參考。      在全國青少年建築模型教育競賽中,個人競賽項目中01、07建築主體均為木質小屋模型,上期為大家介紹了競賽木質模型如何塗裝的方法以及塗裝的顏料的選擇,那麼今天我再以木屋塗裝為案例與大家分享一下,文中案例僅作參考,同時也歡迎大家留言分享
  • 一題一解(36)- How many pairs of 4-digit palindromes?
    For example, 2002 is a 4-digit palindrome and 38683 is a  5-digit palindrome. There are pairs of 4-digit palindromes whose sum is a 5-digit palindrome.  One such pair is 2002 and 9009.
  • COCO2018 Keypoint冠軍算法解讀
    此專欄主要是我們 Face++ Detection Team 對外交流使用,分享我們內部的一些工作,同時也希望能從其他同學那裡學習經驗和教訓。第一期是我們 2018 年做 COCO skeleton 的工作。下面先上一個我們模型的視頻結果:COCO2018 Keypoint算法結果展示。
  • 追一科技獲得2020語言與智能技術競賽關係抽取任務冠軍
    近日,由中國中文信息學會、中國計算機學會聯合主辦的2020語言與智能技術競賽頒獎典禮與分享報告在「第五屆語言與智能高峰論壇」舉行。追一科技AI Lab團隊獲得 「關係抽取」任務競賽冠軍,這也是追一科技再次摘冠語言與智能技術競賽單元。在2019年競賽中,追一科技曾在「知識驅動對話」任務中奪冠。
  • 有哪些好看的CNN模型畫法?
    編輯:憶臻https://www.zhihu.com/question/62509034本文僅作為學術分享
  • 卷積神經網絡模型發展及應用(中文版),20頁pdf
    卷積神經網絡(CNN)模型是深度學習模型中最重要的一種經典結構,其性能在近年來深度學習任務上逐步提高。由於可以自動學習樣本數據的特徵表示,卷積神經網絡已經廣泛應用於圖像分類、目標檢測、語義分割以及自然語言處理等領域。
  • Quora在自然語言處理上的所做的工作
    但是,Quroa很在乎的模型可解釋性——任何時候,排名看起來不對,都想知道問題出在模型、特徵、訓練數據、或者還是其他的原因。大家都知道模型越簡單,就越好解釋。例如,線性回歸就是一組特徵的權重,但是神經網絡可能有很多層,難以解釋和可視化。而且從性能考慮,Quroa傾向於簡單的模型。問答作為一個機器學習問題一文中提到,尋找正確的度量是非常重要的。
  • Taxi Trajectory Prediction競賽冠軍訪談:深度學習的"非主流"應用
    計程車線路預測(Taxi Trajectory Prediction)是Kaggle 2015 ECML PKDD機器學習會議的兩場競賽中的第一場。一個團隊使用他們在MILA實驗室開發的深度學習工具在競賽中贏得了第一名。在這篇文章中,他們分享了許多關於這次競賽的情況和他們獲勝的方式。
  • 五星級酒店的面層交底經驗分享
    今天分享一組超五星酒店的面層材料交底,在石材、硬包,還有木飾面的安裝過程中我們總結了很多細節不規範的地方,拿出來和大家一起分享和探討。 先來看看超五星酒店互檢過程實景效果:
  • 中科院陳智能,帶你走進計算機視覺經典——深度學習與目標檢測
    主要從事多媒體內容分析與檢索、醫學影像分析、機器視覺方面的科研工作,曾指導學生獲得2018年百度全國大數據競賽一等獎,2019年國際嵌入式深度學習目標檢測模型評測競賽冠軍,在ACMMultimedia,CVPR,MICCAI等知名國際會議和IEEE TMM,PR,NN,ACM TOMM等知名期刊上發表論文50餘篇。
  • 為文本摘要模型添加注意力機制:採用LSTM的編解碼器模型實現
    常用的序列-序列模型(編碼器-解碼器)的整體結構如下圖所示該模型由編碼器、中間矢量和解碼器三部分組成。編碼器該編碼器基本上由一系列LSTM/GRU單元組成(請查看LSTM/GRU文檔以更好地理解架構)。