生成候選字總覽

產生候選字是建議的第一個階段。查詢後, 系統會產生一組相關的候選文字。下表顯示兩個 產生候選人的常見做法:

類型定義範例
依據內容篩選 依據項目的相似度推薦項目 跟使用者喜歡的品差不多 如果使用者 A 看了兩部可愛貓咪影片,系統就會判定 可以向該使用者推薦可愛的動物影片
協同過濾 同時使用查詢和項目的相似性 以便提供建議 如果使用者 A 和使用者 B 相似,而使用者 B 喜歡影片 1, 系統就能向使用者 A 推薦影片 1 (即使使用者 A 觀看過與影片 1 類似的任何影片)。

嵌入空間

無論是內容篩選或協同篩選功能,都會對應各個項目和每項查詢 對應到嵌入向量 E=Rd。一般而言,嵌入空間是低維 (也就是 d 比語料庫的大小小很多),而且擷取 項目或查詢集的潛在結構。類似項目,例如 YouTube 同一位使用者通常能收看的影片,最後由同位觀眾一起觀看 嵌入空間「關閉」的概念取決於相似度量

相似度評估

相似度量測量指的是 s:E×ER 會採用一對嵌入,並傳回用於測量相似度的純量。 您可以用下列方式產生待候選項目: 查詢嵌入 qE時,系統會尋找項目嵌入 xE 接近 q, 也就是高值嵌入 相似度 s(q,x)

大多數推薦系統為了判斷相似度 重複下列一或多項操作:

  • 餘弦
  • 內積
  • 歐幾里德距離

餘弦

這是兩者間角的餘弦 向量, s(q,x)=cos(q,x)

點產品

兩個向量的內積 s(q,x)=q,x=i=1dqixi。 它也是由 s(q,x)=xqcos(q,x) ( 角度乘以常態乘積)。因此,如果嵌入 正規化,然後是點積和餘弦。

歐幾里德距離

這是歐幾里德的平時距離 空格 s(q,x)=qx=[i=1d(qixi)2]12。 距離越短表示相似度越高。請注意,在嵌入 的平方距離與內積相等 (和餘弦) 達到常數,因為 案件 12qx2=1q,x

顯示二維嵌入空間的圖片,其中包含查詢嵌入和三個候選項目。

比較相似度指標

請參考右側圖中的範例。黑色向量說明瞭 查詢嵌入其他三個嵌入向量 (項目 A、項目 B、項目 C) 代表候選項目視所用的相似度量而定 項目排名可能不同。

使用該圖片,試著使用上述三種 相似度測量指標:餘弦、內積和歐幾裡距離。

你的表現如何?

項目 A 的常態值最大,且排名依據為 項目 C 採用最小角度來查詢,因此 先根據餘弦相似度排名。項目 B 確實存在 更接近查詢內容,因此歐幾里德距離極高。

這張圖片顯示各個相似度量測得的排名差異。

哪些相似度測量的資料?

與餘弦相比,內積的相似度可判斷 解碼器的常態值也就是說 相似度越高 (適用於具有銳角的項目) 推薦商品的機率也越高這可能會影響 請參考以下建議:

  • 在訓練集內非常頻繁出現的項目 (例如 熱門 YouTube 影片) 通常含有大型規範的嵌入項目。 如果需要擷取熱門程度資訊 偏好中階產品但要是不小心 項目可能會導致系統優先顯示推薦內容。實務上 可使用其他相似度量的變化版本, 一直以來都是如此舉例來說 s(q,x)=qαxαcos(q,x) 範圍 部分 α(0,1)

  • 在極少出現的項目中,系統無法頻繁更新 訓練而成因此如果一開始使用較大的常態進行初始化, 所以系統可能優先推薦較不相關的商品。為了避免這種情況 請謹慎考慮嵌入初始化 一般化我們會在第一個練習中詳細說明這個問題。