擷取

假設您有一個嵌入模型。身為使用者,你會如何決定建議的項目?

在查詢時,請先執行下列其中一項操作:

  • 對矩陣分解模型來說,查詢 (或使用者) 嵌入是靜態的,而系統可以直接從使用者嵌入矩陣查詢。
  • 如果是 DNN 模型,系統會在功能向量上執行網路,在提供時計算查詢嵌入 \(\psi(x)\)\(x\)。

完成查詢嵌入 \(q\)後,請搜尋在嵌入空間中接近 \(q\) 的項目嵌入\(V_j\) 。這是最近發生的問題。例如,您可以根據相似度分數 \(s(q, V_j)\)傳回成效最佳的 k 項目。

圖片由 2D 頻譜呈現,當中包含多部電影和使用者,分為兒童、成人和成人電影等。某位使用者醒目顯示,另外還有兩部附近的電影。

你也可以在相關項目建議中使用類似的方法。例如,當使用者在觀看 YouTube 影片時,系統會查詢該項目的嵌入,然後尋找在嵌入空間中關閉的其他項目\(V_j\) 。

大規模擷取

如要計算嵌入空間中的最近鄰,系統會對所有潛在候選者進行全面評分。龐大的計分對於昂貴的語料庫來說,費用可能相當高昂,但您可以使用下列任一策略來提升效率:

  • 如果以靜態方式查詢查詢內嵌,系統會離線執行詳盡評分,以預先計算並儲存每筆查詢的熱門候選清單。這是相關項目建議的常見做法。
  • 使用鄰近最近的鄰近地區。