候選人產生總覽

候選產生是建議的第一個階段。系統會根據查詢,產生一組相關候選項目。下表列出兩個常見的候選產生方法:

類型定義範例
內容篩選 使用項目相似度來推薦類似使用者喜歡的項目。 如果使用者 A 觀看了兩部可愛的貓咪影片,系統就會向該使用者推薦可愛的動物影片。
協同合作篩選 同時使用查詢與項目的相似處來提供建議。 如果使用者 A 與使用者 B 相似,且使用者 B 喜歡影片 1,系統會向使用者 A 推薦影片 1 (即使使用者 A 沒發現任何與影片 1 類似的影片)。

嵌入聊天室

內容型和協作篩選功能會將每個項目和每個查詢 (或結構定義) 對應至通用嵌入空間\(E = \mathbb R^d\)中的嵌入向量。嵌入空間通常是低維度的 (即 \(d\) 遠小於語料庫的大小),並擷取項目或查詢集的一些隱密結構。類似的項目 (例如由同一位使用者觀看的 YouTube 影片) 最終會嵌入嵌入空間。「近距離」的概念是以相似度測量方式定義。

相似度評估

相似度測量是一種函式, \(s : E \times E \to \mathbb R\) 可擷取一組嵌入內容,並傳回測量的純量。嵌入項目可用於產生候選項目,如下所示:假設有查詢查詢 \(q \in E\),系統會尋找\(x \in E\) 接近 \(q\)的項目嵌入,即具有高度相似的嵌入項目。

如要確定相似度,大部分的推薦系統都仰賴下列一或多個項目:

  • 餘弦
  • Points 產品
  • 歐裡得美景

餘弦

這只是兩個向量之間的角度餘弦, \(s(q, x) = \cos(q, x)\)

點線產品

兩個向量的點產品為\(s(q, x) = \langle q, x \rangle = \sum_{i = 1}^d q_i x_i\)。也會由 \(s(q, x) = \|x\| \|q\| \cos(q, x)\) (角度的餘數乘以正數的乘積) 表示。因此,如果嵌入正規化,則圓點產品與餘弦會重合。

歐裡得美景

這是 Euclidean 空間 \(s(q, x) = \|q - x\| = \left[ \sum_{i = 1}^d (q_i - x_i)^2\right]^{\frac{1}{2}}\)的一般距離。 距離越短,相似度就越大。請注意,當嵌入獲得正規化時,正方形的 Euclidean 距離與點產品 (和餘弦) 直到常數一致,因為本例而言 \(\frac{1}{2}\|q - x\|^2 = 1 - \langle q, x \rangle\)。

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

相似度比較

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

嘗試使用圖片時,嘗試用以下三種相似度指標來判定商品排名:餘弦、圓點產品和歐立體距離。

可以考慮選擇哪一種相似度?

與餘弦相比,點產品相似度與嵌入常態敏感。這表示嵌入的常態越大,相似度越高 (針對有這種角度的項目),購買的機率也越高。這可能會影響建議,如下所示:

  • 訓練集中經常出現的項目 (例如熱門的 YouTube 影片) 往往含有大型常規的嵌入內容。如要擷取熱門資訊,建議您使用圓點產品。不過,如果您有疑慮,熱門項目可能會優先取得建議。在實際操作中,您可以使用其他相似度評估的變體,避免聚焦於項目規範。例如,定義\(s(q, x) = \|q\|^\alpha \|x\|^\alpha \cos(q, x)\) 部分 \(\alpha \in (0, 1)\)。

  • 顯示頻率極低的項目在訓練期間可能不會經常更新。因此,如果系統使用大型常識初始化,系統可能會向關聯性更高的項目推薦罕見項目。為了避免這個問題,請謹慎地初始化初始化,並使用適當的正規化。我們會在首次練習中詳細說明這個問題。