新聞推薦論文筆記(2):Neural News Recommendation with Attentive Multi-View Learning

  • IJCAI 2019論文
  • 清北與微軟亞研出品


    image.png
  • 本文為自己的論文閱讀筆記,如有錯(cuò)誤歡迎指正,轉(zhuǎn)載請(qǐng)聯(lián)系筆者
  • 最近在研究新聞推薦的新方法,本文為系列文章的第二篇,前文請(qǐng)見http://www.itdecent.cn/p/2d7e261bc277

摘要

個(gè)性化的新聞推薦對(duì)于在線新聞平臺(tái)幫助用戶找到感興趣的新聞并改善用戶體驗(yàn)非常重要。新聞和用戶表示學(xué)習(xí)對(duì)于新聞推薦至關(guān)重要.

現(xiàn)有的新聞推薦方法通?;趩蝹€(gè)新聞信息(例如標(biāo)題)來學(xué)習(xí)這些表示,這可能是不夠的。在本文中,我們提出了一種神經(jīng)新聞推薦方法,該方法可以通過利用不同種類的新聞信息來學(xué)習(xí)用戶和新聞的特征表示

我們方法的核心是新聞編碼器和用戶編碼器。在新聞編碼器中,我們提出了一種細(xì)心的多視圖學(xué)習(xí)模型(Attentive Multi-view),通過將標(biāo)題,正文和主題類別視為新聞的不同視圖來學(xué)習(xí)統(tǒng)一的新聞表示形式。

此外,我們將單詞級(jí)別和視圖級(jí)別的注意力機(jī)制(Word-level & View-level)應(yīng)用于新聞編碼器,以選擇重要的單詞和視圖來學(xué)習(xí)信息性新聞表示。

在用戶編碼器中,我們基于用戶瀏覽的新聞來學(xué)習(xí)用戶的表示,并應(yīng)用注意力機(jī)制來選擇信息性新聞以進(jìn)行用戶表示學(xué)習(xí)。在真實(shí)數(shù)據(jù)集上進(jìn)行的大量實(shí)驗(yàn)表明,我們的方法可以有效地提高新聞推薦的效果。

提出的方法

背景

工作受到以下觀察的啟發(fā):

  • 首先,新聞文章通常包含不同種類的信息,例如標(biāo)題,正文和主題類別,這些信息對(duì)于表示新聞都是有用的。此外,此新聞的主題類別也很有幫助,因?yàn)槿绻脩魡螕舸诵侣労驮S多具有相同類別的其他新聞文章,則可以推斷她對(duì)體育非常感興趣。
  • 因此,合并不同種類的新聞信息具有改善新聞和新聞推薦的用戶表示的潛力。其次,不同種類的新聞信息具有不同的特征。例如,標(biāo)題通常非常簡(jiǎn)短,而正文則更長(zhǎng),更詳細(xì)。主題類別通常是帶有很少單詞的標(biāo)簽。從而,不同類型的新聞信息應(yīng)進(jìn)行不同的處理。
  • 第三,不同的新聞信息對(duì)于不同的新聞可能具有不同的信息性。例如,圖1中的第一個(gè)新聞的標(biāo)題對(duì)于表示該新聞是準(zhǔn)確且重要的,而第二個(gè)新聞的標(biāo)題則簡(jiǎn)短,模糊且信息量較小。此外,同一新聞中的不同單詞可能具有不同的重要性。例如,在圖1中,對(duì)于表示第一則新聞,“ outfileder”比“ familiar”更重要。
  • 另外,同一用戶瀏覽的不同新聞對(duì)于學(xué)習(xí)用戶表示也可能具有不同的信息性。例如,如果用戶瀏覽非常受歡迎的“超級(jí)碗”新聞和不那么受歡迎的“國(guó)際數(shù)學(xué)奧林匹克”新聞,那么第二條新聞可能比第一條新聞更能說明她的興趣。

作者提出的推薦算法簡(jiǎn)稱為NAML方法,下面介紹其組成部分,包括新聞編碼器(News Encoder)和用戶編碼器(User Encoder)

新聞編碼器(News Encoder)

新聞編碼器模塊用于從各種新聞信息(例如標(biāo)題,正文和主題類別)中學(xué)習(xí)新聞的表示形式。 由于不同類型的新聞信息具有不同的特征,因此,我們提出了一種細(xì)心的多視圖學(xué)習(xí)框架,以將每種新聞信息視為特定的新聞視圖,從而學(xué)習(xí)統(tǒng)一的新聞表示形式,而不是簡(jiǎn)單地將它們合并成長(zhǎng)文本來表示新聞。新聞編碼器有四個(gè)主要組件。

  • title encoder 標(biāo)題編碼
    其包含三層,第一層Embedding層:
    將title的單詞序列轉(zhuǎn)換成為詞向量序列
    [w_1^t,w_2^t,...w_M^t]-->[e_1^t,e_2^t,...e_M^t]其中M表示title長(zhǎng)度,此處的embedding僅僅是低維的映射轉(zhuǎn)換,并未用到詞嵌入工具等。
    第二層CNN特征提取層:利用CNN提取句子的上下文特征/TextCNN
    F_t,b_t為CNN模型的卷積核與偏置參數(shù),窗口大小是2K+1,【注:該部分CNN具體模型為TextCNN,卷積尺寸設(shè)置為(2K+1)×D,保持寬與向量的長(zhǎng)度一致,且僅使用了卷積層,沒有池化操作】
    最后輸出為一個(gè)上下文向量序列[c_1^t,c_2^t,...,c_M^t]
    第三層詞級(jí)注意力網(wǎng)絡(luò),選取重要詞匯
    其中V_t,v_t為投影參數(shù),q_t^T為注意力查詢向量
    最后的輸出為:r^t=\sum_{j=1}^M\alpha_j^tc_j^t
  • body encoder正文編碼
    基本構(gòu)成與title encoder相同,與title encoder共享embedding層,注意力機(jī)制如下
  • category encoder類別編碼
    類別信息為離散數(shù)字,包括類別ID和子類別ID;編碼器由embedding和Dense兩層構(gòu)成
    使用隱藏層對(duì)類別編碼進(jìn)行學(xué)習(xí)表征,參數(shù)為V_c,V_s,v_c,v_s
  • 注意力池化層attentive pooling
    ,同上述注意力公式,其中U_v,u_v及q_v^T均為注意力參數(shù)
    最后新聞編碼層的輸出為:

    整體而言,將注意力機(jī)制與基本的特征學(xué)習(xí)相結(jié)合,從不同信息類別出發(fā)進(jìn)行表示,具有一定的創(chuàng)新性

用戶編碼User Encoder

對(duì)于一個(gè)用戶,根據(jù)其近期瀏覽的歷史新聞,對(duì)其進(jìn)行特征表示:

同樣采用注意力機(jī)制,利用News Encoder對(duì)歷史新聞進(jìn)行編碼得到
最終用戶的特征表示為:

最終描述用戶對(duì)新聞的點(diǎn)擊概率使用點(diǎn)積/內(nèi)積inner product,點(diǎn)積幾何意義上可以反映兩個(gè)向量的夾角,是計(jì)算夾角余弦的重要部分

模型訓(xùn)練

利用負(fù)采樣技術(shù)進(jìn)行模型訓(xùn)練,用戶瀏覽過的新聞作為正樣本,并隨機(jī)從未瀏覽過的新聞中抽取K個(gè)作為負(fù)樣本,得到[\hat{y}^+,....,\hat{y}_i^-]每個(gè)用戶有K+1個(gè)訓(xùn)練樣本,得到損失函數(shù)如下:

該部分的損失函數(shù)設(shè)計(jì)主要受制于前面的預(yù)測(cè)函數(shù)設(shè)計(jì),前后具有一致性。
部分實(shí)驗(yàn)結(jié)果如下:

總結(jié)

該文總體而言在算法設(shè)計(jì)上具有一定的創(chuàng)新性,從概念角度提出了attentive multi-view,在具體的框架選擇和使用上有一定的創(chuàng)新,但不是特別明顯。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容