【AI in 美團】深度學習在文字領域的應用

美團技術團隊發表於2018-06-25

背景

近幾年以深度學習技術為核心的人工智慧得到廣泛的關注,無論是學術界還是工業界,它們都把深度學習作為研究應用的焦點。而深度學習技術突飛猛進的發展離不開海量資料的積累、計算能力的提升和演算法模型的改進。本文主要介紹深度學習技術在文字領域的應用,文字領域大致可分為4個維度:詞、句子、篇章、系統級應用。

  • 詞。分詞方面,從最經典的前後向匹配到條件隨機場(Conditional Random Field,CRF)序列標註,到現在Bi-LSTM+CRF模型,已經不需要設計特徵,從字粒度就能做到最好的序列標註效果,並且可以推廣到文字中序列標註問題上,比如詞性標註和專門識別等。
  • 句子。Parser方面,除詞粒度介紹的深度學習序列標註外,還可以使用深度學習模型改善Shift-Reduce中間分類判斷效果;句子生成方面,可以通過序列到序列(Seq2Seq)模型訓練自動的句子生成器,可用於閒聊或者句子改寫等場景。
  • 篇章。情感分析方面,可以使用卷積神經網路對輸入文字直接建模預測情感標籤;閱讀理解方面,可以設計具有記憶功能的迴圈神經網路來做閱讀理解,這個也是近年非常熱的研究問題。
  • 系統級應用。資訊檢索方面,把深度學習技術用在文字匹配做相似度計算,可以通過BOW、卷積神經網路或迴圈神經網路表示再學習匹配關係(如DSSM系列),還有使用DNN做排序模型(如Google的Wide & Deep等,後面會重點介紹);機器翻譯方面,源於Seq2Seq模型到Stack-LSTM + Attention等多層LSTM網路,使得基於詞的統計機器翻譯模型已經被基於神經網路的翻譯模型超越,並且已經應用到產品中,比如谷歌翻譯、百度翻譯、有道翻譯等;智慧互動方面,在做閒聊、對話、問答等系統時深度學習在分類、狀態管理(如深度強化學習)、回覆生成等環節都有很好的應用。

總之,上面這些文字領域的深度學習應用只是冰山一角,深度學習應用還有知識圖譜、自動摘要、語音、影像文字生成等。總體趨勢是,各文字研究和應用的方向都在嘗試深度學習技術,並分別取得了進展。在文字領域,如果想跟影像、語音那樣取得突破性進展還面臨重重困難,如不同任務的大規模標註資料缺乏,如何建模能捕捉語言的邏輯性以及所蘊含的地域、文化特色等等。限於篇幅,本文只對美團在文字中應用較多的文字匹配、排序模型進行介紹。

基於深度學習的文字匹配

文字匹配在很多領域都有用到,尤其是資訊檢索相關場景,比如搜尋的Query和Doc、廣告中Query-Ad、搜尋Suggestion中Query字首和Query(見圖1)、關鍵詞推薦中Query和Query、文件去重時Doc和Doc等。

【AI in 美團】深度學習在文字領域的應用

圖1 美團Query-POI和Query Suggestion的文字匹配場景

文字匹配主要研究計算兩段文字的相似度問題。相似度問題包含兩層:一是兩段文字如何表示可使得計算機方便處理,這需要研究不同的表示方法效果的區別:二是如何定義相似度來作為優化目標,如語義匹配相似度、點選關係相似度、使用者行為相似度等,這和業務場景關係很緊密。

在解決這兩個問題過程中會遇到很多難題,其中一個難題就是設計模型如何充分考慮語義。因為中文的多義詞、同義詞非常普遍,它們在不同的語境中表達的含義是不一樣的。比如蘋果多少錢一臺?蘋果多少錢一斤?對於前者,根據“一臺”能看出它是指蘋果品牌的電子裝置,後者則是指水果。當然,還有很多語言現象更加困難,比如語氣、語境、口語的不同表述等。

文字的表示和匹配是本節的主線,如何做到語義層面匹配就成為本節的主旨。 受到整體技術的演進影響,文字的匹配技術同樣有一個順應時代的技術歷程,如圖2所示。

【AI in 美團】深度學習在文字領域的應用

圖2 語義表示匹配模型演進歷程

1. 向量空間

1970年左右提出的向量空間模型,就是把文件表示詞表維度的向量通過TF-IDF計算出詞的權重,比如一種標準詞表包含詞ID、詞和IDF,另一種是停用詞表,如圖3所示。

【AI in 美團】深度學習在文字領域的應用

圖3 向量空間模型示例

對文字“麗江的酒店價格”分詞去除停用詞後,得到麗江、酒店、價格,詞出現次數是1,查表IDF得到這句文字的表示:[0, 1.5, 2.1, 0, 0, …, 0, 4.1]。其中權重使用的是TF×IDF,TF是Term在文字里的頻次,IDF是逆文件頻次,兩者定義有很多形式,如圖4所示。這裡使用第二種定義。

【AI in 美團】深度學習在文字領域的應用

圖4 TF和IDF的常用定義

向量空間模型用高維稀疏向量來表示文件,簡單明瞭。對應維度使用TF-IDF計算,從資訊理論角度包含了詞和文件的點互資訊熵,以及文件的資訊編碼長度。文件有了向量表示,那麼如何計算相似度?度量的公式有Jaccard、Cosine、Euclidean distance、BM25等,其中BM25是衡量文件匹配相似度非常經典的方法,公式如下:

【AI in 美團】深度學習在文字領域的應用

向量空間模型雖然不能包含同義詞、多義詞的資訊,且維度隨著詞典增大變得很大,但因為它簡單明瞭,效果不錯,目前仍然是各檢索系統必備的特徵。

2. 矩陣分解

向量空間模型的高維度對語義資訊刻畫不好,文件集合會表示成高維稀疏大矩陣。1990年左右,有人研究通過矩陣分解的方法,把高維稀疏矩陣分解成兩個狹長小矩陣,而這兩個低維矩陣包含了語義資訊,這個過程即潛在語義分析。

假設有N篇文件,共有V個詞,用TF-IDF的向量空間表示一個N×V的稀疏矩陣X,詞和文件的語義分析就在這個共現矩陣上操作。這個共現矩陣通過奇異值分解, 能變成三個矩陣,狹長矩陣U的維度是N×K,V的維度是K×V,中間是對角陣K×K維,如圖5所示。

經過分解後,每個文件由K維向量表示,(K<<V),代表了潛在語義資訊,可以看成是文件需要表達的語義空間表示。V矩陣代表詞在潛空間上的分佈都是通過共現矩陣分解得到的。

潛在語義分析能對文件或者詞做低維度語義表示,在做匹配時其效能較高(比如文件有效詞數大於K),它包含語義資訊,對於語義相同的一些文件較準確。但是,潛在語義分析對多義詞語義的建模不好,並且K維語義向量完全基於數學分解得到,物理含義不明確。因此,在2000年左右,為解決上述問題,主題模型出現了。

【AI in 美團】深度學習在文字領域的應用

圖5 潛在語義分析對詞文件共現矩陣的分解示意

3. 主題模型

2000~2015年,以概率圖模型為基礎的主題模型掀起了一股熱潮,那麼究竟這種模型有什麼吸引大家的優勢呢?

pLSA(Probabilistic Latent Semantic Analysis)

pLSA在潛在語義分析之上引入了主題概念。它是一種語義含義,對文件的主題建模不再是矩陣分解,而是概率分佈(比如多項式分佈),這樣就能解決多義詞的分佈問題,並且主題是有明確含義的。但這種分析的基礎仍然是文件和詞的共現頻率,分析的目標是建立詞/文件與這些潛在主題的關係,而這種潛在主題進而成為語義關聯的一種橋樑。這種轉變過渡可如圖6所示。

【AI in 美團】深度學習在文字領域的應用

圖6 從詞文件共現到引入潛在主題的概率模型

假設每篇文章都由若干主題構成,每個主題的概率是p(z|d),在給定主題的條件下,每個詞都以一定的概率p(w|z)產生。這樣,文件和詞的共現可以用一種產生式的方式來描述:

【AI in 美團】深度學習在文字領域的應用

其概率圖模型如圖7所示:

【AI in 美團】深度學習在文字領域的應用

圖7 pLSA概率模型

可以通過EM演算法把p(z|d)和p(w|z)作為引數來學習,具體演算法參考Thomas Hofmann的pLSA論文。需要學習的p(z|d)引數數目是主題數和文件數乘的關係,p(w|z)是詞表數乘主題數的關係,引數空間很大,容易過擬合。因而我們引入多項式分佈的共軛分佈來做貝葉斯建模,即LDA使用的方法。

LDA(Latent Dirichlet Allocation)

如果說pLSA是頻度學派代表,那LDA就是貝葉斯學派代表。LDA通過引入Dirichlet分佈作為多項式共軛先驗,在數學上完整解釋了一個文件生成過程,其概率圖模型如圖8所示。

【AI in 美團】深度學習在文字領域的應用

圖8 LDA概率圖模型

和pLSA概率圖模型不太一樣,LDA概率圖模型引入了兩個隨機變數α和β,它們就是控制引數分佈的分佈,即文件-主題符合多項式分佈。這個多項式分佈的產生受Dirichlet先驗分佈控制,可以使用變分期望最大化(Variational EM)和吉布斯取樣(Gibbs Sampling)來推導引數,這裡不展開敘述。

總體來講,主題模型引入了“Topic”這個有物理含義的概念,並且模型通過共現資訊能學到同義、多義、語義相關等資訊。得到的主題概率分佈作為表示,變得更加合理有意義。有了文件的表示,在匹配時,我們不僅可以使用之前的度量方式,還可以引入KL等度量分佈的公式,這在文字匹配領域應用很多。當然,主題模型會存在一些問題,比如對短文字推斷效果不好、訓練引數多速度慢、引入隨機過程建模避免主題數目人工設定不合理問題等。隨著研究進一步發展,這些問題基本都有較好解決,比如針對訓練速度慢的問題,從LDA到SparseLDA、AliasLDA, 再到LightLDA、WarpLDA等,取樣速度從O(K)降低O(1)到。

4. 深度學習

2013年,Tomas Mikolov發表了Word2Vec相關的論文,提出的兩個模型CBOW(Continuous Bag of Words,連續詞袋)和Skip-Gram能極快地訓練出詞嵌入,並且能對詞向量加減運算,這得到了廣泛關注。在這項工作之前,神經網路模型經歷了很長的演進歷程。這裡先介紹2003年Yoshua Bengio使用神經網路做語言模型的工作,Word2Vec也是眾多改進之一。

神經網路語言模型

在2003年,Yoshua Bengio使用神經網路來訓練語言模型比N-Gram的效果好很多,網路結構如圖9所示。輸入是N-Gram的詞,預測下一個詞。前n個詞通過詞向量矩陣Matrix C(維度:n*emb_size)查出該詞的稠密向量C(w(t-1)),C(w(t-2));再分別連線到隱含層(Hidden Layer)做非線性變換;再和輸出層連線做Softmax預測下一個詞的概率;訓練時根據最外層誤差反向傳播以調節網路權重。可以看出,該模型的訓練複雜度為O(n×emb_size + n×emb_size×hidden_size + hidden_size×output_size),其中n為5~10,emb_size為64~1024,hidden_size為64~1023,output_size是詞表大小,比如為10^7。因為Softmax在概率歸一化時,需要所有詞的值,所以複雜度主要體現在最後一層。從此以後,提出了很多優化演算法,比如Hierarchical Softmax、噪聲對比估計(Noise Contrastive Estimation)等。

【AI in 美團】深度學習在文字領域的應用

圖9 神經網路語言模型結構圖

Word2Vec

Word2Vec的網路結構有CBOW和Skip-Gram兩種,如圖10所示。相比NNLM,Word2Vec減少了隱含層,只有投影層。輸出層是樹狀的Softmax,對每個詞做哈夫曼編碼,預測詞時只需要對路徑上的0、1編碼做預測,從而複雜度從O(V)降低到O(log(V))。

以CBOW為例,演算法流程如下:

(1) 上下文詞(視窗大小是Win)的詞向量對應維相加對映到投影層。 (2) 投影層經Sigmoid變換後預測當前詞的編碼路徑(哈夫曼樹)。 (3) 使用交叉熵損失函式(Cross Entropy Loss)反向傳播,更新Embedding層引數和中間層引數。 (4) 訓練使用反向傳播機制,優化方法使用SGD。

【AI in 美團】深度學習在文字領域的應用

圖10 Word2Vec模型示意圖

從該演算法流程可以看出,最外層的預測複雜度大幅降低,隱含層也去掉,這使得計算速度極大提高。該演算法可得到詞的Dense 的Word Embedding,這是一個非常好的表示,可以用來計算文字的匹配度。但由於該模型的學習目標是預測詞發生概率,即語言模型,所以從海量語料中學習到的是詞的通用語義資訊,無法直接應用於定製業務的匹配場景。能否根據業務場景對語義表示和匹配同時建模,以提升匹配效果呢?DSSM系列工作就充分考慮了表示和匹配。

DSSM系列

這類方法可以把表示和學習融合起來建模,比較有代表性的是微軟的相關工作。下面將介紹DSSM系列內容。

(1) DSSM模型框架

DSSM網路結構如圖11所示:

【AI in 美團】深度學習在文字領域的應用

圖11 DSSM網路結構圖

使用搜尋的點選資料訓練語義模型,輸入查詢Query(Q)和展現點選的Doc(D)列表,先對Q和D做語義表示,再通過Q-DK的Cosine計算相似度,通過Softmax來區分點選與否。其中,語義表示先使用詞雜湊對詞表做降維(比如英文字母的Ngram),經過幾層全連線和非線性變化後得到128維的Q和D的表示。從實驗結論可知,NDCG指標提升還是很明顯的,如圖12所示。

【AI in 美團】深度學習在文字領域的應用

圖12 DSSM和其他模型在Bing搜尋資料上效果對比

(2) CLSM

在DSSM基礎上,CLSM增加了1維卷積和池化操作來獲取句子全域性資訊,如圖13所示。通過引入卷積操作,可以充分考慮視窗內上下文的影響,從而保證詞在不同語境下的個性化語義。

【AI in 美團】深度學習在文字領域的應用

圖13 CLSM網路結構圖

對應效果如圖14所示:

【AI in 美團】深度學習在文字領域的應用

圖14 CLSM和其他模型在Bing搜尋資料上效果對比

(3) LSTM-DSSM

LSTM-DSSM使用LSTM作為Q和D的表示,其他框架和DSSM一致,其網路結構圖如圖15所示。由於LSTM具備語義記憶功能且蘊含了語序資訊,因此更適合作為句子的表示。當然也可以使用雙向LSTM以及注意力模型(Attention Model)。

【AI in 美團】深度學習在文字領域的應用

圖15 LSTM-DSSM網路結構圖

美團的深度學習文字匹配演算法

文字的語義匹配作為自然語言處理經典的問題,可以用在搜尋、推薦、廣告等檢索系統的召回、排序中,還可以用在文字的去重、歸一、聚類、抽取等場景。語義匹配的常用技術和最新進展前文已經介紹了。

在美團這樣典型的O2O應用場景下,結果的呈現除了和使用者表達的語言層語義強相關之外,還和使用者意圖、使用者狀態強相關。使用者意圖即使用者是來幹什麼的?比如使用者在百度上搜尋“關內關外”,其意圖可能是想知道關內和關外代表的地理區域範圍,“關內”和“關外”被作為兩個詞進行檢索。而在美團上搜尋“關內關外”,使用者想找的可能是“關內關外”這家飯店,“關內關外”被作為一個詞來對待。再說使用者狀態,一個在北京的使用者和一個在武漢的使用者,在百度或淘寶上搜尋任何一個詞條,他們得到的結果不會差太多。但是在美團這樣與地理位置強相關的應用下就會完全不一樣。比如在武漢搜“黃鶴樓”,使用者找的可能是景點門票,而在北京搜尋“黃鶴樓”,使用者找的很可能是一家飯店。

如何結合語言層資訊和使用者意圖、使用者狀態來做語義匹配呢?

在短文字外引入部分O2O業務場景相關特徵,將其融入到設計的深度學習語義匹配框架中,通過點選/下單資料來指引語義匹配模型的優化方向,最終把訓練出的點選相關性模型應用到搜尋相關業務中。

針對美團場景設計的點選相似度框架ClickNet,是比較輕量級的模型,兼顧了效果和效能兩方面,能很好推廣到線上應用,如圖16所示。

【AI in 美團】深度學習在文字領域的應用

圖16 ClickNet模型
  • 表示層。Query和商家名分別用語義和業務特徵表示,其中語義特徵是核心,通過DNN/CNN/RNN/LSTM/GRU方法得到短文字的整體向量表示。另外會引入業務相關特徵,比如使用者或商家的相關資訊、使用者和商家距離、商家評價等。
  • 學習層。通過多層全連線和非線性變化後,預測匹配得分,根據得分和標籤來調整網路,以學習出Query和商家名的點選匹配關係。

如果ClickNet演算法框架上要訓練效果很好的語義模型,還需要根據場景做模型調優。首先,我們從訓練語料做很多優化,比如考慮樣本不均衡、樣本重要度等問題。其次,在模型引數調優時考慮不同的優化演算法、網路大小層次、超引數的調整等問題。

經過模型訓練優化,該語義匹配模型已經在美團平臺搜尋、廣告、酒店、旅遊等召回和排序系統中上線,使訪購率/收入/點選率等指標有很好的提升。

總結一下,深度學習應用在語義匹配上,需要針對業務場景設計合適的演算法框架。此外,深度學習演算法雖然減少了特徵工程工作,但模型調優的難度會增加。因此可以將框架設計、業務語料處理、模型引數調優三方面綜合起來考慮,實現一個效果和效能兼優的模型。

基於深度學習的排序模型

排序模型簡介

在搜尋、廣告、推薦、問答等系統中,由於需要在召回的大量候選集合中選擇出有限的幾個用於展示,因此排序是很重要的一環。如何設計這個排序規則使得最終業務效果更好呢?這就需要複雜的排序模型。比如美團搜尋系統中的排序會考慮使用者歷史行為、本次查詢Query、商家資訊等多維度資訊,抽取設計出各種特徵,通過海量資料的訓練得到排序模型。這裡只簡要回顧排序模型型別和演進,重點介紹深度學習用在排序模型中的情況。

排序模型主要分類三類:Pointwise、Pairwise、Listwise,如圖17所示。Pointwise對單樣本做分類或者回歸,即預測 <Query, Doc> 的得分作為排序準則,比較有代表性的模型有邏輯迴歸、XGBoost。Pairwise會考慮兩兩樣本之間偏序關係,轉化成單分類問題,比如 <Query, Doc1> 比 <Query, Doc2> 高,那這個Pair預測正,反之則負,典型的模型有RankSVM、LambdaMART。第三類就是Listwise模型,排序整體作為優化目標,通過預測分佈和真實排序分佈的差距來優化模型,典型的模型如ListNet。

【AI in 美團】深度學習在文字領域的應用

圖17 排序模型分類

深度學習排序模型的演進

在排序模型的發展中,神經網路很早就被用來做排序模型,比如2005年微軟研究院提出的RankNet使用神經網路做Pairwise學習;2012年穀歌介紹了用深度學習做CTR的方法;與此同時,百度開始在鳳巢中用深度學習做CTR,於2013年上線。隨著深度學習的普及,各大公司和研究機構都在嘗試把深度學習應用在排序中,比如谷歌的Wide & Deep、YouTube的DNN推薦模型等,前面介紹的DSSM也可用來排序。下面將對RankNet、Wide & Deep、YouTube的排序模型作簡單介紹。

RankNet

RankNet是Pairwise的模型,同樣轉化為Pointwise來處理。比如一次查詢裡,Di和Dj有偏序關係,前者比後者更相關,那把兩者的特徵作為神經網路的輸入,經過一層非線性變化後,接入Loss來學習目標。如果Di比Dj更相關,那麼預測的概率為下式,其中Si和Sj是對應Doc的得分。

【AI in 美團】深度學習在文字領域的應用

在計算得分時使用神經網路,如圖18所示,每樣本的輸入特徵作為第一層,經過非線性變換後得到打分,計算得到Pair的得分後進行反向傳播更新引數,這裡可以使用Mini-Batch。由於RankNet需要預測的概率公式具有傳遞性,即Di和Dj的偏序概率可以由Di和Dk以及Dk和Dj得到,因此RankNet把計算複雜度從O(n²)變成了O(n),具體介紹可參考文獻。

【AI in 美團】深度學習在文字領域的應用

圖18 RankNet示意圖

當然,後續研究發現,RankNet以減少錯誤Pair為優化目標,對NDCG等指標(關心相關文件所在位置)衡量的效果不是太好,於是後面出現了改進模型,如LambdaRank。RankNet是典型的神經網路排序模型,但當時工業界用得多的還是簡單的線性模型,如邏輯迴歸,線性模型通過大量的人工設計特徵來提高效果,模型解釋性好效能也高。當人工設計特徵到一定程度就遇到了瓶頸,而深度學習能通過原始的特徵學習出複雜的關係,很大程度減輕了特徵工程的工作。並且GPU、FPGA等高效能輔助處理器變得普及,從而促進了深度神經網路做排序模型的廣泛研究。

Wide&Deep

谷歌發表過一篇論文“Wide & Deep Learning”,其觀點可以用在推薦裡,比如谷歌的Apps推薦利用此觀點取得很好的效果,並把模型釋出在TensorFlow中。Wide & Deep整體模型結構分為Wide和Deep兩部分,這兩部分在最外層合併一起來學習模型,如圖19所示。輸入都是稀疏特徵,但特徵分為兩種:一種適合做Deep的深度網路變化,適合時效性或者記憶性的特徵,比如統計特徵或者展示位置等;另一種可以直接連在最外層,適合有推廣力但需要深度組合抽樣的特徵,比如品類、型別等。在模型優化時兩部分做聯合優化,Wide部分使用FTRL,而Deep使用Adagrad演算法。這樣,Wide和Deep對不同型別特徵區分開來,充分發揮各自作用,解釋性比較好。

這種思路其實可以做些擴充套件。比如Wide連線不是在最外層,而是在某一層,Deep的某些層也可以連線到最外層,這樣能充分利用不同層抽象的Dense資訊。與Wide & Deep的網路連線方式類似,如2003年NNLM和2010年RNNLM模型裡的直接連線(Direct Connection),其淺層和深層的結合能很好地加速收斂,深度學習的Highway方式也是類似的。目前Wide & Deep應用較多,比如在阿里巴巴就有比較好的應用。

【AI in 美團】深度學習在文字領域的應用

圖19 谷歌的Wide&Deep模型結構

YouTube DNN排序模型

YouTube用來預測使用者觀看視訊時長,轉化為加權的邏輯迴歸問題。DNN排序模型和前面的工作類似,其網路結構是標準的前饋神經網路,如圖20所示。DNN排序模型的特點還是在輸入特徵上。雖然深度學習模型對特徵工程要求很低,但很多資料需要經過簡單處理後才可加入模型。圖20中的特徵分為很多域,比如語言方面、視訊方面、使用者歷史看過的視訊ID,還有之前觀看時長的統計量和歸一化的值。離散值經過Embedding的處理後變成連續向量,再級聯起來經過多層非線性變化後來預測最終的標籤。

【AI in 美團】深度學習在文字領域的應用

圖20 YouTube的DNN排序模型結構

從上面介紹的深度學習相關排序模型可以看出,排序模型所需要的資料型別多種多樣,資料的含義也各有不同,不同於影像、語音領域單一的輸入形式。因此在做排序模型中,輸入特徵的選取和表示方式是很重要的,比如連續特徵、離散特徵處理、使用者歷史、文件特徵的區分等。在美團場景中,設計排序模型需考慮業務特點,對輸入特徵的表示做很多嘗試。

美團的深度學習排序模型嘗試

在語義匹配模型中介紹了ClickNet框架,其實該框架同時也可用於排序,與語義匹配的區別主要在表示層,如圖21所示。如果ClickNet用作搜尋的CTR模型,那表示層的Query和Title的語義特徵只是一部分,還有使用者查詢、使用者行為、商家資訊以及交叉組合特徵都可以作為業務特徵,並按特徵的型別分不同的域。進一步講,如果場景不包含語義匹配,模型的輸入可以只有業務特徵。下面簡單講解在美團用ClickNet做排序模型的嘗試。

【AI in 美團】深度學習在文字領域的應用

圖21 ClickNet模型框架

ClickNet-v1

ClickNet設計的初衷是它作為文字的匹配模型,並作為一維語義特徵加入到業務的Rank模型中以提升效果。但根據上線之後的資料分析,我們發現以語義特徵表示為主、輔以部分業務特徵的ClickNet在排序系統中有更好的表現。我們針對排序模型做了如下改進。

  • (1) 業務特徵選取。從業務方Rank已有的人工特徵中,選取O2O有代表性的且沒經過高階處理過的特徵,比如使用者位置、商家位置、使用者歷史資訊、商家評價星級、業務的季節性等。
  • (2) 特徵離散化。選取的業務特徵做離散化處理,比如按特徵區間離散化等。
  • (3) 樣本處理。針對業務需要對正負例取樣,對點選、下單、付費做不同的加權操作。
  • (4) 資訊的融合。通過引入Gate來控制語義特徵和各業務特徵的融合,而不僅是求和或者級聯,通過樣本學習出Gate的引數。

針對業務Rank的目標優化ClickNet後,效果有很大改善,但模型還是偏重於語義特徵。能否直接使用ClickNet做排序模型呢?答案是可以的。只需要加重業務特徵、弱化或者去除語義表示特徵就可以,這樣修改後的模型就是ClickNet-v2。

ClickNet-v2

ClickNet-v2以業務特徵為主,替換業務Rank模型為目標,使用業務特徵作為ClickNet的表示層輸入,通過對各特徵離散化後傳入模型。和ClickNet-v1不一樣的是,ClickNet-v2業務特徵種類繁多,需要做深度的分析和模型設計。

比如如何考慮位置偏好問題?因為展示位置會有前後順序,後面的展示不容易被使用者看到,從而天然點選率會偏低。一種解決思路是可以把位置資訊直接連線到最外層,不做特徵組合處理。

再比如各業務特徵通過多層非線性變化後,特徵組合是否充分?一種解決思路是使用多項式非線性變換,這能很好組合多層的特徵。

又比如模型組合的效果是否更好?一種解決思路是嘗試FM和ClickNet的級聯,或者各模型的Bagging。

此外還有模型的解釋性等很多和業務場景相關的情況需要考慮。

ClickNet是基於自研的深度學習框架Ginger實現的,收斂速度和效果都非常理想。我們來看看分類任務上的一些測試,如圖22所示。在Higgs資料上,基於Ginger的ClickNet比基於XGBoost的AUC提升34個千分點,使用TensorFlow實現的ClickNet比基於Ginger的AUC差3個千分點,且其速度慢於Ginger。如圖23所示,ClickNet相比線性模型,其準確率都有較好的提升。

【AI in 美團】深度學習在文字領域的應用

圖22 XGBoost和ClickNet在Higgs分類效果對比

【AI in 美團】深度學習在文字領域的應用

圖23 ClickNet和線性模型在分類任務對比

總結

因為深度學習的擬合能力強、對特徵工程要求低,它在文字領域已經有很多應用。本章以語義匹配和排序模型為例,分別介紹了業界進展和美團場景的應用。

第一部分介紹了語義匹配經歷的向量空間、潛在語義分析、主題模型、深度學習幾個階段,重點介紹了深度學習應用在語義匹配上的Embedding和DSSM系列模型,以及美團嘗試的ClickNet模型。第二部分介紹了深度學習在排序模型的一些進展和美團的一些嘗試。除了這兩部分內容外,深度學習幾乎滲透了文字的各方面,美團還有很多嘗試方式,比如情感分析、對話系統、摘要生成、關鍵詞生成等,限於篇幅不做介紹。總之,認知智慧還有很長的路需要走,語言文字是人類歷史的文化沉澱,涉及語義、邏輯、文化、情感等眾多複雜的問題。我們相信,深度學習在文字領域很快會有很大突破。

參考文獻

[1] Thomas Hofmann. “Probabilistic Latent Semantic Analysis”. 1999.

[2] David M.Blei, Andrew Y.Ng, Michael Jordan. “Latent Dirichlet Allocation” . 2002.

[3] Huang, Po-Sen et al. “Learning deep structured semantic models for web search using clickthrough data” in CIKM 2013.

[4] Shen, Yelong, He, Xiaodong, Gao, Jianfeng, et al. “A latent semantic model with convolutional-pooling structure for information retrieval” in CIKM 2014.

[5] H. Palangi et al. “Semantic modeling with long-short-term memory for information retrieval”. 2015.

團隊簡介

美團點評演算法團隊是整個美團點評技術團隊的“大腦”,涵蓋搜尋、推薦、廣告、智慧排程、自然語言處理、計算機視覺、機器人以及無人駕駛等多個技術領域。幫助美團點評數億活躍使用者改善了使用者體驗,也幫助餐飲、酒店、結婚、麗人、親子等200多個品類的數百萬商戶提升了運營效率。目前,美團點評演算法團隊在人工智慧領域進行積極的探索和研究,不斷創新與實踐,致力於應用最前沿的技術,給廣告大消費者帶來更好的生活服務體驗。

【AI in 美團】深度學習在文字領域的應用

相關文章