日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

详解TF-Ranking:Google开源的排序框架,应用于邮件检索、推荐系统等场景

發(fā)布時間:2025/4/5 windows 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 详解TF-Ranking:Google开源的排序框架,应用于邮件检索、推荐系统等场景 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天分享的是一個有關(guān)LTR框架的介紹,LTR是Learning-To-Rank,解決的是排序問題。排序問題在人工智能領(lǐng)域應(yīng)用很廣,比如在Gmail里搜索一個關(guān)鍵詞,返回最匹配的郵件。再比如進(jìn)入Google Drive后的一些文章推薦。

傲海的分享主要參考Google2019年發(fā)布的一篇論文《TF-Ranking:Scalable TensorFlow Library for Learning-to-Rank》,蠻長的,看了小一周才學(xué)習(xí)完。這個庫已經(jīng)開源了,大家可以在下方地址訪問并使用:

https://github.com/tensorflow/ranking

LTR三種模式:Pointwise、Pairwise、Listwise

介紹LTR的話先要講下Pointwise、Pairwise、Listwise這三個模式的區(qū)別,以生活中的一個例子說明:

上圖是一個點餐界面,假設(shè)我們強(qiáng)制用戶只能在界面中點一個菜,那么Pointwise、Pairwise、Listwise是如何構(gòu)建訓(xùn)練過程的呢:

  • Pointwise:只關(guān)心單點的優(yōu)化,比如用戶點了排骨。那么就把排骨構(gòu)建成正樣本,其它菜都是負(fù)樣本,構(gòu)建成一個二分類問題,進(jìn)行訓(xùn)練。Pointwise的問題在于缺少對整個列表的關(guān)系屬性的挖掘

  • Pairwise:把優(yōu)化問題看作兩個樣本的組合,訓(xùn)練的時候輸入的是兩個樣本的特征組合,返回值比較高的樣本

  • Listwise:把整個序列看作一個訓(xùn)練樣本進(jìn)行優(yōu)化,Listwise也是目前比較好的一種推薦場景訓(xùn)練模式,因為它會完全考慮所有樣本的關(guān)聯(lián)屬性。比方說我點了紅燒肉,那么排骨也可能是我喜歡的即使我沒點,這種潛在的屬性挖掘用Listwise更合理

Pointwise、Pairwise、Listwise的訓(xùn)練模式的不同主要會影響訓(xùn)練中使用的Metrics評價方法,也就是DCG、NDCG等,這里就不展開說。

TF-LTR Architecture工程框架

大部分同學(xué)可能還是偏應(yīng)用層,所以廢話不多,直接介紹TF-LTR的框架。

?

TF里面LTR框架把整個排序流程分為Training和Serving兩個部分,其中包含input_fn、transform_fn、scoring_fn、ranking head這幾個大的模塊,下面就分別介紹下。

1.input_fn

input_fn是一個數(shù)據(jù)IO的框架,這個框架可以從存儲空間拉取數(shù)據(jù),也可以從進(jìn)程中直接讀取。兼容了Libsvm、tf.sequence等數(shù)據(jù)格式,也可以自定義。

有一個定義挺有意思的,他把per item feature定義叫做3-D tensor,就是這樣的三元組(queries,items,feature)。context feature定義叫做2-D tensor,是個二元組(queries,feature)。PS:這個可以用到以后寫架構(gòu)PPT里面,看上去很專業(yè)的樣子。

2.transform_fn

這一步驟做的是特征轉(zhuǎn)換,把sparse feature轉(zhuǎn)換成dense feature。總之,特征embedding就得了,想辦法把特征給embedding了。

3.scoring_fn

定義打分規(guī)則,在training和predicting的過程中用這個函數(shù)進(jìn)行打分。官方給的例子挺奇怪,為啥打分函數(shù)要這么復(fù)雜--

4.ranking模塊

首先要定義ranking loss和ranking metric,這也是模型訓(xùn)練的最基本流程,按照Pointwise、Pairwise、Listwise的不同模式在這里配置metric函數(shù)就好了。

ranking模塊的輸入是scoring_fn的分?jǐn)?shù)以及真實的客戶行為label,根據(jù)這兩個反饋計算loss,根據(jù)metric不斷迭代模型,最終實現(xiàn)收斂。

總結(jié)一下

TensorFlow在向業(yè)務(wù)層不斷貢獻(xiàn)各種開源庫,把整個人工智能應(yīng)用領(lǐng)域的門檻降低,這是個挺好的現(xiàn)象,后續(xù)如果做推薦或者文章檢索可以考慮使用TF-LTR庫試試。

總結(jié)

以上是生活随笔為你收集整理的详解TF-Ranking:Google开源的排序框架,应用于邮件检索、推荐系统等场景的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。