SnowyMeteor
Published in

SnowyMeteor

UNBERT: User-News Matching BERT for News Recommendation

Qi Zhang et al., IJCAI 2021

新聞推薦:UNBERT利用了BERT模型可以增強新聞語義,解決冷啟動問題,並使用word-level module和news-level module來捕捉多粒度的訊號。

Outline

  • Introduction
  • Related work
  • Approach
  • Experiments
  • Conclusion

Introduction

因為新聞的更新速度快、時效短,所以新聞推薦的冷啟動問題是相對嚴重的。現有的方法大多是透過in-domain的資料來學習文本表徵,遇到未曾見過的新聞時,會限制模型的通用性,同時有很多方法,會將歷史瀏覽的新聞聚合成單個向量,來表示成使用者偏好,並計算與候選新聞的匹配分數,但這會loss掉一些low-level的訊號(e.g. 單詞關係)。

新聞推薦的效能,取決於模型對新聞內容的理解程度,於是作者認為:

  • BERT-based model可以增強新聞語義,能有效緩解冷啟動問題。
  • BERT的預訓練模型可以捕獲使用者與新聞之間的關聯,並利用out-domain知識來進行新聞推薦。
  • UNBERT利用歷史瀏覽新聞來表示成使用者,然後用word-level module和news-level module來學習使用者和新聞表徵,來捕捉這兩者之間的多粒度訊號。

Related work

CNN network

  • DKN: Wang et al., WWW 2018

使用CNN來學習news representation。

Attention mechanism

  • NPA: Wu et al., KDD 2019

使用個人化注意力的方法來學習news representation。

  • LSTUR: An et al., ACL 2019
  • NAML: Wu et al., arXiv preprint 2019
  • NRMS: Wu et al., EMNLP-IJCNLP 2019

上述三篇都是透過注意力機制來學習news representation,然後聚合歷史瀏覽的新聞來學習user representation。

Matching-based

  • FIM: Wang et al., ACL 2020

一種基於匹配的方法,透過堆疊的擴張卷積(stacked dilated convolutions),將歷史瀏覽的新聞和候選新聞做細粒度的匹配。

Approach

Notation

u = user

U = the set of user, where u ∈ U

v = candidates news

V = the set of candidate news, where v ∈ V

UNBERT模型的目的,就是預測所有候選新聞的點擊機率,並生成分數。

Input

UNBERT的輸入,就是news representation和user representation。可以注意到的是,在news representation和user representation之間,使用[CLS]和[SEP]的token來區分。

在user representation當中,作者將點擊過的新聞標題之單詞,連結成一個序列,然後在每個新聞的開頭,會添加一個[NSEP]的token來區隔。

Model Architecture

UNBERT model overview
  • Embedding Layer

對於input來說,有對應的embedding,包含了token, segment, position, news segment embedding,並將這四者相加在一起。

下圖就如同BERT架構,作者將News segment embedding再添加進去

Token, segment, position embedding:

使用Masked LM來預訓練,方法就是隨機遮蔽15% input token,然後預測這些被遮蔽的token。

News segment embedding:

隨機初始化,並在fine-tune過程進一步更新。

Note: 作者提到他們的方法沒有使用position embedding,因為效能會更差,但原因不明。

  • Transformer

在Transformer架構,裡面有兩個sub-layer,分別是Multi-head Self-attention及Position-wise Feed-forward network。

Multi-head Self-attention:

在公式(2),使用Scaled Dot-Product Attention來學習權重。

在公式(3),Q, K, V這三元值,是從Et矩陣投射出來的(Et = input token),W^Q, W^K, W^V都是可學習的參數。

在公式(4),使用Multi-head可以聯合學習模組中不同位置的表徵資訊。

Position-wise Feed-forward network:

FFN是fully connect network,會以相同的形式並分別應用在每個位置上,使用的activation function是ReLU。在公式(5),W_1, W_2都是可學習的參數,並共享於所有位置。

除了sub-layer之外,作者加入了residual-connection和layer normalization。

residual-connection: 使模型更深入,降低訓練難度。

layer-normalization: 對同一層的輸入做歸一化,以穩定和加速訓練過程。

  • Word-Level Module

在word-level module,迭代使用了多個Transformer來計算每個單詞的representation,並捕捉word-level的匹配訊號(e_w)。

  • News-Level Module

在news-level module,會將從word-level module得到的新聞單詞表徵,聚合到新聞表徵中,接著一樣透過多個Transformer來捕捉news-level的匹配訊號(e_n)。

在聚合的部分,作者嘗試使用了三種聚合器:

  1. NSEP Aggregator:使用特殊標記[NSEP]來作為新聞表徵。
  2. Mean Aggregator:平均word embedding,來形成news embedding。
  3. Attention Aggregator:使用輕量的attention network來學習word embedding的權重,其activation function是tahn。
  • Click Predictor

將前面兩個模組(word-level, news-level)的匹配表徵,concat成多粒度的表徵,並用來預測使用者點擊候選新聞的機率(y)。

e_w: word-level matching representation.

e_n: news-level matching representation.

在公式(10),W^c, b^c都是可學習的參數。

Experiments

Performance Comparsion

透過上表,可以得知UNBERT在各項指標中,都獲得了最高的分數。

觀察結果:

  1. BERT的預訓練模型,透過out-domain knowledge,學習了許多豐富的語言知識,增強新聞文本的語義。
  2. 多粒度的matching representation,透過模型來預測點擊候選新聞機率的這個方法,是非常有效的。
  3. 在end-to-end來學習單詞表徵的方法(DKN, NPA, LSTUR, NRMS),優於人工特徵的方法(LibFM, DeepFM),表示end-to-end的方法更適合來學習新聞表徵。
  4. 使用attention來學習新聞表徵的方法(NPA, NAML, LSTUR, NRMS),優於DKN,表示attention可以更好地捕捉單詞之間的關係。
  5. FIM優於UNBERT以外所有的方法,因為他們的方法是將每個瀏覽過的新聞片段,和每個semantic level的候選新聞,進行細粒度的匹配。
Aggregator Type

在news-level module的聚合器,作者研究了不同聚合器,對於效能的影響。從結果可以看出,attention aggregator的效能最佳,作者認為,因為使用了attention,能更好捕捉新聞單詞之間的關聯性,進一步提升了效能。

Effectiveness on Cold Start

上圖是研究不同的推薦方法,對於未曾看過的新聞,其效能的比較。可以注意到,UNBERT始終優於其他的方法,即便在時間推移下,未曾見過的新聞越來越多,UNBERT仍能保持穩定的狀態,而其他方法在11/13~11/14這段時間就已經下降許多。

代表UNBERT的預訓練模型,使用out-domain knowledge來緩解冷啟動問題,這個做法是有效的。

Note: UNBERT的預訓練模型,作者選擇 bert-base-uncased 來初始化word-level module。

Conclusion

  • 作者提出了一種全新的新聞推薦方法,稱為UNBERT。
  • UNBERT利用預訓練模型來導入 out-domain knowledge 來緩解冷啟動的問題。
  • 透過word-level module和news-level module這兩個模組來捕捉多粒度的matching representation,能進一步提升推薦效能。

--

--

--

正在資訊領域建構自己的世界,喜歡在無垠的網路中分享經驗、技術交流,希望能利用所學為世界帶來一點點的改變。

Recommended from Medium

Follow -For- Follow✨

Merry-Folk: Kitty C

Thanksgiving Traditions

My view for today

29 funny but useful Father’s Day gifts that’ll give your dad a good laugh

Who You Are Loving For?

Art by Maegan Guerette

“A friend is someone who knows all about you and still loves you.” Quotes By Elbert Hubbard

“A friend is someone who knows all about you and still loves you.” Quotes By Elbert Hubbard

MAGNIFYING GLASS

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Anson

Anson

來自貓咪星球的工程師。https://medium.com/snowymeteor

More from Medium

Metaverse New AI Attempts to Right Gender Bias

Metaverse New AI Attempts to Right Gender Bias

Article Summary Generation with Encoder-Decoder RNN

3 keywords to lead AI projects: Collective, relevant and empathetic.

Future Technologies Need Natural Language Processing For Five Powerful Reasons

Six compelling arguments as to why natural language processing (NLP) is essential for the development of Future Technologies