導航:首頁 > 源碼編譯 > 常用召回演算法

常用召回演算法

發布時間:2022-04-12 04:19:51

Ⅰ 推薦演算法如何提前劃分製造同類目日誌

做推薦演算法的質量工作將近一年,這一年嘗試了很多東西,踩了不少坑,也對推薦的評測工作稍微有了些自己的心得,現在分享出來,希望能和做這塊工作的同學一起交流、探討,也歡迎多拍磚,多提意見。

推薦系統

目前推薦技術的應用已經非常較普及了,新聞、商品、問答、音樂,幾乎都會用到推薦演算法來為你呈現內容。下面是淘寶、知乎、微博三個app的推薦模型,可以看到推薦都在非常重要的位置。

在介紹推薦演算法評測之前,我先簡單說下推薦系統,這里我以商品為例,簡單描述下推流程,讓大家更明白一些,一般推薦主要包含以下步驟:
召回->打分排序->透出

召回

召回階段通常的手段是協同過濾比較場景的i2i,u2i等這種x2x(有興趣可以看下我寫的基於itembase的推薦),也有使用embedding的方式通過向量之間的距離進行召回。以i2i為例,假如現在要針對我推薦一個商品,那麼首先要找到我感興趣的物品 ,這些數據是通過我的歷史行為來進行獲取,比如拿到我最近一段時間內的點擊、加購、收藏、購買的物品,將這些商品做為trigger進行召回,協同演算法的具體就不再這里敘述了,有興趣可以看下鏈接,最終我們按照協同過濾演算法算出商品之間的相似分值,然後按照一定數量進行截斷,因為這里截斷也是依靠分數來進行的,所以一般這一步也稱粗排。這樣召回截斷就完成了。

打分

召回完商品後,我們需要對這些商品進行再一次的精排,這里需要用模型來預估ctr,一般情況下LR、GBDT、FM用的比較多,這里深度網路相對用的少,主要為了考慮到性能,尤其是rt,因為絕大部分的精排都是需要實時預測的,所有對耗時有一定的要求。繼續說下模型預測的步驟,首先針對召回的商品進行特徵的補充,例如該商品的一級類目、葉子類目(一級類目代表比較,葉子類目代表最細分的類目)、被多少用戶購買等,然後再加入人的特徵,例如性別、年齡、收入、對類目的偏好等,然後將這些信息做為feature,用模型進行預測,然後根據模型預測的結果進行排序,輸出。

模型

打分過程中的模型是需要提前訓練和部署,訓練集的來源就是用戶的實時行為加上用戶和商品的特徵。feature的構成是用戶的特徵和商品的特徵,label則是用戶是否點擊了該商品。

質量方案

接下來說下如何保證這塊的質量。由於推薦系統最終對用戶需要提供實時的服務化,因此免不了有工程端的技術需要一起配合。因此我這塊主要分為兩個維度來開展,一方面是工程端的質量保證,一方面是演算法側的質量保證。

工程端質量

這一塊可以將演算法當成一個黑盒子,只把他當成一個有結果返回的介面。針對這方面前人已經有了豐富的經驗,我們可以做介面的單元測試和冒煙測試,另外就是壓測,在預估的qps下看rt是否滿足業務方的要求,load是否過大,超時和錯誤的比例是否符合一定的預期。這里就不細說了,重點說說第二部分。

演算法端質量

這里我再進行細分一下,分為三部分介紹:演算法數據、演算法模型、演算法效果;

演算法數據:

大家都知道演算法在做訓練前數據的處理部分非常的重要,有興趣可以看下特徵工程相關的內容,數據的來源,特徵的構造,數據抽取、加工整個的過程都有可能會出現錯誤,而且數據一般都是存儲在分布式系統資料庫里,因此需要藉助類似hive這樣的工具將sql轉換成MapRece的任務去進行離線的計算,離線任務的產出通常會耗費不少的時間,而對於一些日更新的模型通過對數據對產出時間有一定的要求。因此數據這塊最主要的保證點為:數據本身的質量,和數據的產出時間。數據本身的質量一般可以通過數據大小的整體抖動,以及關鍵欄位是否為空,主鍵是否重復,做法比較簡單可以通過簡單sql或者udf來完成,然後藉助工程能力做到預警、檢查、出報表等。

演算法模型:

模型的本身在迭代過程中也是需要關注的,不過通常演算法同學的訓練優化也是參考這些指標,所以我們也可以把這幾個指標做為模型本身好壞的評估。具體為:准確率、召回率、AUC。

演算法效果:

那麼這個演算法推薦出的效果究竟好不好呢,這個是一個非常主觀的事情,每個人的感受也不是一樣的,但是我們仍然要衡量它的好壞,這里我參考業內學者的推薦書籍以及自己的一些摸索,總結出下面一些方法,供大家參考。

人工評測:

顧名思義,邀請一幫人來對你的推薦系統的結果進行評測。這里想法來自於我在做翻譯評測時期的經驗,首先這個成本比較高,另外就是參雜了人的主觀性非常的高,翻譯的好壞我們可以通過制定一些細致的規則來進行約束,但是推薦的好壞我們卻不好制定詳細的規則,另外就是推薦之前的用戶行為如何模擬,如何讓評測者進行感知,這些都是比較難的,並且和基準的對比也不是很好做,所以這里不是很推薦用這個方法,但是還是要提一下。

指標評估:

指標化推薦結果,也就是將推薦的結果用不同的指標來進行說明,通過這些指標,你可以更加的了解你的推薦系統,部分指標不一定越高越好,但是你需要讓它保持在一定的范圍內。說到具體的例子的時候,我會提一下。下面我們看下這些指標。

覆蓋率

定義:
推薦系統能夠推薦出來的「商品/類目」占「總商品/類目」集合的比例。假設系統的用戶集合為U,推薦系統給每個用戶推薦一個長度為N的物品列表R(u) ,總物品為N。那麼:
覆蓋率 = ΣR(u)N
Σ
R
(
u
)
N

意義:
描述推薦結系統對物品長尾發掘能力;
舉個例子,淘寶上商品千千萬萬,推薦系統能否保證讓新的一些商品有足夠的機會曝光出去呢?還是有些商品永遠都無法得到推薦曝光的機會。這個指標反應的就是這個情況,顯然物品的覆蓋率是達不到100%的,但是我們可以看類目的覆蓋率來進行衡量,假設全網所有的一級大類目一共2千個(和全網上億的物品相比非常的少),那麼推薦系統一天之內推薦出去的商品對應的一級類目,這個就是我們要衡量的標准。如果覆蓋率

Ⅱ f-measure的准確率/精確率/召回率

准確率(accuracy),精確率(Precision)和召回率(Recall) 是信息檢索,人工智慧,和搜索引擎的設計中很重要的幾個概念和指標。中文中這幾個評價指標翻譯各有不同,所以一般情況下推薦使用英文。 先假定一個具體場景作為例子。
假如某個班級有男生80人,女生20人,共計100人.目標是找出所有女生.某人挑選出50個人,其中20人是女生,另外還錯誤的把30個男生也當作女生挑選出來了.作為評估者的你需要來評估(evaluation)下他的工作
首先我們可以計算準確率(accuracy),其定義是: 對於給定的測試數據集,分類器正確分類的樣本數與總樣本數之比。也就是損失函數是0-1損失時測試數據集上的准確率 .
這樣說聽起來有點抽象,簡單說就是,前面的場景中,實際情況是那個班級有男的和女的兩類,某人(也就是定義中所說的分類器)他又把班級中的人分為男女兩類。accuracy需要得到的是此君分正確的人占總人數的比例。很容易,我們可以得到:他把其中70(20女+50男)人判定正確了,而總人數是100人,所以它的accuracy就是70 %(70 / 100).
由准確率,我們的確可以在一些場合,從某種意義上得到一個分類器是否有效,但它並不總是能有效的評價一個分類器的工作。舉個例子,google抓取了argcv 100個頁面,而它索引中共有10,000,000個頁面,隨機抽一個頁面,分類下,這是不是argcv的頁面呢?如果以accuracy來判斷我的工作,那我會把所有的頁面都判斷為不是argcv的頁面,因為我這樣效率非常高(return false,一句話),而accuracy已經到了99.999%(9,999,900/10,000,000),完爆其它很多分類器辛辛苦苦算的值,而我這個演算法顯然不是需求期待的,那怎麼解決呢?這就是precision,recall和f1-measure出場的時間了.
在說precision,recall和f1-measure之前,我們需要先需要定義TP,FN,FP,TN四種分類情況.
按照前面例子,我們需要從一個班級中的人中尋找所有女生,如果把這個任務當成一個分類器的話,那麼女生就是我們需要的,而男生不是,所以我們稱女生為正類,而男生為負類. 相關(Relevant),正類無關(NonRelevant),負類被檢索到(Retrieved)true positives(TP 正類判定為正類,例子中就是正確的判定這位是女生)false positives(FP 負類判定為正類,存偽,例子中就是分明是男生卻判斷為女生,當下偽娘橫行,這個錯常有人犯)未被檢索到(Not Retrieved)false negatives(FN 正類判定為負類,去真,例子中就是,分明是女生,這哥們卻判斷為男生--梁山伯同學犯的錯就是這個)true negatives(TN 負類判定為負類,也就是一個男生被判斷為男生,像我這樣的純爺們一準兒就會在此處)通過這張表,我們可以很容易得到例子中這幾個分類的值:TP=20,FP=30,FN=0,TN=50.
精確率(precision)的公式是 ,它計算的是所有被檢索到的item(TP+FP)中,應該被檢索到的item(TP)」占的比例。
在例子中就是希望知道此君得到的所有人中,正確的人(也就是女生)佔有的比例.所以其precision也就是40%(20女生/(20女生+30誤判為女生的男生)).
召回率(recall)的公式是 ,它計算的是所有檢索到的item(TP)占所有應該被檢索到的item(TP+FN)的比例。
在例子中就是希望知道此君得到的女生占本班中所有女生的比例,所以其recall也就是100%(20女生/(20女生+ 0 誤判為男生的女生))
前文中提到F1-measure的計算公式是 其推導其實也很簡單。
定義:
,定義為和的調和平均數。
可得:
「精確率」與「召回率」雖然沒有必然的關系(從上面公式中可以看到),然而在大規模數據集合中,這兩個指標卻是相互制約的。
由於「檢索策略」並不完美,希望更多相關的文檔被檢索到時,放寬「檢索策略」時,往往也會伴隨出現一些不相關的結果,從而使准確率受到影響。
而希望去除檢索結果中的不相關文檔時,務必要將「檢索策略」定的更加嚴格,這樣也會使有一些相關的文檔不再能被檢索到,從而使召回率受到影響。
凡是涉及到大規模數據集合的檢索和選取,都涉及到「召回率」和「精確率」這兩個指標。而由於兩個指標相互制約,我們通常也會根據需要為「檢索策略」選擇一個合適的度,不能太嚴格也不能太松,尋求在召回率和精確率中間的一個平衡點。這個平衡點由具體需求決定。

Ⅲ 想要成為演算法工程師都要學哪些技能

需要以下技能:

1、熟練掌握C/C++和python語言編程,熟悉linux開發環境,有扎實的數據結構和演算法設計功底;

2、熟悉推薦業務常用理論和演算法,在多個領域(如排序模型,召回模型,用戶畫像,深度學習等)有三年以上實際工作經驗;

3、有優秀的邏輯思維能力和數據分析能力,善於分析和解決問題;良好的溝通能力與團隊協作能力;

4、有推薦系統,廣告系統,搜索引擎等開發經驗;熟練掌握機器學習、深度學習的基礎理論和方法,並在自然語言處理任務中有實際應用經驗者優先;

5、熟練使用一種或幾種深度學習框架(如tensorflow、caffe、mxnet、pytorch等),或者熟悉spark、hadoop分布式計算編程者優先。

硬技能:

1. 數學:包括概率論與數理統計、矩陣論、隨機過程。

2. 計算機基礎:包括操作系統、組成原理、數據結構。

3. 演算法能力:包括對領域內主流模型進行優缺點對比、在設定的場景中選擇合適的方案等。

想要了解更多關於演算法工程師的問題可以咨詢一下CDA認證機構,CDA是大數據和人工智慧時代面向國際范圍全行業的數據分析專業人才職業簡稱。全球CDA持證者秉承著先進商業數據分析的新理念,遵循著《CDA職業道德和行為准則》新規范,發揮著自身數據專業能力,推動科技創新進步,助力經濟持續發展。

Ⅳ 愛奇藝的推送機制是怎樣的呢

我們的推薦系統主要分為兩個階段,召回階段和排序階段。

召回階段根據用戶的興趣和歷史行為,同千萬級的視頻庫中挑選出一個小的候選集(幾百到幾千個視頻)。這些候選都是用戶感興趣的內容,排序階段在此基礎上進行更精準的計算,能夠給每一個視頻進行精確打分,進而從成千上萬的候選中選出用戶最感興趣的少量高質量內容(十幾個視頻)。

推薦系統的整體結構如圖所示,各個模塊的作用如下:

用戶畫像:包含用戶的人群屬性、歷史行為、興趣內容和偏好傾向等多維度的分析,是個性化的基石
特徵工程:包含了了視頻的類別屬性,內容分析,人群偏好和統計特徵等全方位的描繪和度量,是視頻內容和質量分析的基礎
召回演算法:包含了多個通道的召回模型,比如協同過濾,主題模型,內容召回和SNS等通道,能夠從視頻庫中選出多樣性的偏好內容
排序模型:對多個召回通道的內容進行同一個打分排序,選出最優的少量結果。
除了這些之外推薦系統還兼顧了推薦結果的多樣性,新鮮度,逼格和驚喜度等多個維度,更能夠滿足用戶多樣性的需求。
推薦排序系統架構

在召回階段,多個通道的召回的內容是不具有可比性的,並且因為數據量太大也難以進行更加精確的偏好和質量評估,因此需要在排序階段對召回結果進行統一的准確的打分排序。

用戶對視頻的滿意度是有很多維度因子來決定的,這些因子在用戶滿意度中的重要性也各不相同,甚至各個因子之間還有多層依賴關系,人為制定復雜的規則既難以達到好的效果,又不具有可維護性,這就需要藉助機器學習的方法,使用機器學習模型來綜合多方面的因子進行排序。

Ⅳ 神經網路演算法的必要性

這里的distinct表示去重,也可以用group by實現, 兩者的區別在於distinct會讀取所有的記錄,而group by是在分組之後每組只返回一條記錄,也就是說後者讀取的條數要少很多,效率會更高一些,因此可以將上述代碼改為:

create table validate_set as
select
user_id,
wm_concat(',',brand_id) as brand
from(
select user_id,brand_id
from t_alibaba_bigdata_user_brand_total_1
where type = '1' and visit_datetime > '07-15'
group by user_id,brand_id
)a
group by user_id;
訓練集和測試集建立好之後,我們可以通過以下命令來計算測試集的推薦數目:

select sum(regexp_count(brand,',')+1) from t_tmall_add_user_brand_predict_dh;
其中REGEXP_COUNT是ODPS的一個自建函數,它的用法如下:

bigint regexp_count(string source, string pattern[, bigint start_position])
表示計算 source 中從 start_position 開始,匹配指定模式pattern 的子串的次數。比如我們有一條輸出結果是:100 1,2,3,4,通過計算其中的,數(3)+1=4就計算出推薦的個數了。

UDF計算重復條數

UDF(User-Defined Function)(用戶定義函數),是用戶根據實際應用的需要而自行開發的函數。在 Eclipse 中的項目下新建 UDF。填入 Package 名稱為:chanvee.udf,和 UDF 類名:CountHits,點擊確認。插件會自動幫我們生成chanvee.udf包用於寫 UDF 代碼,和test.chanvee.udf包用於本地測試。

編輯CountHits.java文件,注意下文的Long不能替換為long類型,否則在ODPS上運行會報Method Not Found錯誤:

package chanvee.udf
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class CountHits extends UDF {
public Long evaluate (String a,String b){
if(a == null || b == null) {
return 0L; //異常值
}
Set<String> set1 = new HashSet<String>();
Set<String> set2 = new HashSet<String>();
set1.addAll(Arrays.asList(a.split(",")));
set2.addAll(Arrays.asList(b.split(",")));
Long hits = 0L;
for(String s : set2){
if( set1.contains(s) )
hits++;
}
return hits;
}
}
本段函數的主要工作是在a串和b串去重後,計算它們中重復元素的個數。接下來在本地測試下 UDF 。在test.jark.udf包中有兩個文件TestCountHits.java和TestUDFBase.java。由於如果 UDF 的輸入參數是多個的話,本地測試默認的分隔符是逗號,與我們brand中的逗號沖突了。所以修改下TestUDFBase.java文件的第15行的分隔符為空格(當然也可以其他符號):

private final static String ODPS_SEPARATOR = " ";
同時修改第72行,去掉(String),原因是Long型不能強制轉換成String:

return callMeth.invoke(UDFClass, input_parameter.toArray()) + "\n";
在TestCountHits.in文件中輸入測試樣例:

123456,444,555,666 123456,666,777,888
888,999 111,222
111,111,222,222 111,222,222,333
運行TestCountHits.java後,在TestCountHits.out文件中得到測試結果(樣例):

2
0
2
在確認 UDF 沒有問題後,准備上傳。將Package chanvee.udf打成 jar 包,命名為chanvee_udf.jar,置於C:/TOOLS下,執行以下命令:

create resource jar C:/TOOLS/chanvee_udf.jar
create function count_hits chanvee.udf.CountHits jark-udf.jar
上述命令作用分別是將用戶 jar 包上傳到 ODPS 和在 ODPS 上注冊函數並命名為count_hits。現在使用ls functions命令就能看到我們剛剛注冊的函數了。

現在,我們就能像調用一般內建函數一樣調用我們自己的count_hits函數了。計算推薦集和驗證集中的重復條數,有下面代碼:

select sum(count_hits(a.brand,b.brand)) hits from t_tmall_add_user_brand_predict_dh a
join validate_set b on a.user_id = b.user_id;
上面演示了一般 UDF 的創建使用過程,其他類似的 UDF 都可以參考以上過程構建。UDF 是 SQL 的一大工具 ,很多規則演算法都可以用過 UDF 方便地實現。

計算評估值

我們知道准確率的計算公式:precision=hitspnums, 其中 pnum 代表推薦的條數。
召回率的計算公式:recall=hitsrnums, 其中 rnum 為驗證的條數。
F1:
F1=2∗hitspnum+rnum
為了計算方便,我們用full outer join連接驗證集和推薦集,並將計算出的 hits、pnums、rnums 放到臨時表裡:

select sum(count_hits(p.brand,r.brand) hits,
sum(regexp_count(p.brand,',')+1) pnums,
sum(regexp_count(r.brand,',')+1) rnums
from t_tmall_add_user_brand_predict_dh p
full outer join validate_set r on p.user_id = r.user_id
有了這三個值後,就可以用上面的公式輕松計算出評測值了。

select (hits/pnums) precision, (hits/rnums) recall,(2*hits/(pnums+rnums)) F1
from (
select hits , pnums , rnums
from ...
)a;
綜合一下,有如下代碼:

create table evaluation as
select (hits/pnums) precision , (hits/rnums) recall , (2*hits/(pnums+rnums)) F1 ,
hits , pnums , rnums , getdate() eval_time
from (
select sum(count_hits(p.brand,v.brand) hits,
sum(regexp_count(p.brand,',')+1) pnums,
sum(regexp_count(v.brand,',')+1) rnums
from t_tmall_add_user_brand_predict_dh p
full outer join validate_set r on p.user_id = r.user_id
)a;
我們將評測值寫到了evaluation表中,可供組員查看分析。運行一次上面代碼後,若以後再進行評測,可以將第一行改成insert into/overwrite table evaluation後直接運行,這樣可以與上次的結果進行比較。
現在已有的模型演算法就可以在本地測試調優後,再上傳到線上進行評估了。

Ⅵ 求C++代碼 如何對文本進行預處理,去除停用詞、DF特徵選擇和TF-IDF加權的工作

新的1年開始,祝好事接2連3,心情4季如春,生活5顏6色,7彩繽紛,偶爾8點小財,煩惱拋到9霄雲外!請接受我10心10意的祝福。祝新春快樂!

Ⅶ python 命名實體識別怎麼計算準確率 召回率

目前演算法方面主流就是CRF了
效率一般
2類(不包括非專名)
幾W
query/s
4類
就下降到1W-2W
query/s了
更多類別的就更少了
當然這個是優化過的crf++了
而且命名實體識別
演算法不是對所有類別的都合適
比如音樂和電影
CRF的效果就不好
但是人名
地名
機構名還不錯
所以工程上即使用CRF
也會使用詞典+消歧的策略

Ⅷ 如何提高機器學習演算法的召回率

最近在做文本分類,遇到了一些問題,想問問大家有沒有好的方法。為了節省時間,我只採取了部分數據來跑演算法(全部數據跑了之後的結果和這個差不多)
訓練集:4837 documents
測試集:2074 documents
樣本比例:正樣本:負樣本 = 1:3
預測結果中,有的演算法在正樣本中預測的精確率還行(0.95-1.00之間),但是召回率非常差,通常只有0.01和0.02左右,KNeighbors和DecisionTree的精確率和召回率都是0,只有NaiveBayes和BernoulliNB的PR和Recall比較平均,但是也沒有到0.8。
問題:我查了一下那些召回率較低(0.01)的演算法,475個樣本中(正樣本),實際上只有5個被預測正確了的,但是具體原因沒有查出來。
我想請問一下:1.召回率低是因為樣本極度不平衡造成的嗎?(雖然我認為1:3的比例不算極度不平衡。)2.在這種樣本不平衡的問題上,有沒有什麼好的方法可以提高召回率?我試過SMOTE方法(過采樣和欠采樣都有試過),但對於我的數據集並沒有什麼好的效果,不止到有沒有有什麼好的方法可以解決這個問題?謝謝!
添加評論
分享

查看全部 11 個回答

0贊同反對,不會顯示你的姓名
Elvin 全是細枝末節,做一個樂於分享的人
兩個問題一並回答一下,根據你的描述,我覺得問題應該不是出在正負樣本比上,1比3這個比例不但不是非常不均衡,相反在我看來已經是非常均衡了。以前做比賽有處理過正負比1比10000的數據,我覺得這才叫不平衡,才需要使用類似上采樣,下采樣,以及SMOTE演算法(都用過),而且這樣的情況下recall,F1等指標的提升是顯著的。我覺得正負比例在1:1至1:100間差別都不會太大,需要根據具體問題做離線交叉驗證去找到最好的比例。

所以我建議你不用再糾結正負樣本比的問題,可以再回頭看一看你的數據集,一方面看一看代碼是否有誤?數據集是否太小?(總覺得你的數據集太小,而且測試集相對於訓練集太大)另外訓練集,測試集的劃分是否正確?或者重新劃分一下訓練測試集做一下交叉驗證看一看各項指標再具體研究。

Ⅸ 召回率的計算方法

召回率和精度示意圖
假定:從一個大規模數據集合中檢索文檔的時,可把文檔分成四組:
- 系統檢索到的相關文檔(A)
- 系統檢索到的不相關文檔(B)
- 相關但是系統沒有檢索到的文檔(C)
- 不相關且沒有被系統檢索到的文檔(D)
則:
- 召回率R:用檢索到相關文檔數作為分子,所有相關文檔總數作為分母,即R = A / ( A + C )
- 精度P:用檢索到相關文檔數作為分子,所有檢索到的文檔總數作為分母.即P = A / ( A + B ).
舉例來說:
一個資料庫有500個文檔,其中有50個文檔符合定義的問題。系統檢索到75個文檔,但是只有45個符合定義的問題。
召回率R=45/50=90%
精度P=45/75=60%
本例中,系統檢索是比較有效的,召回率為90%。但是結果有很大的噪音,有近一半的檢索結果是不相關。研究表明:在不犧牲精度的情況下,獲得一個高召回率是很困難的

Ⅹ 論淘寶搜索推薦演算法排序機制及2021年搜索的方向。

[寫在前面]淘寶搜索引擎至今反復多次,搜索順序也從最初的統計模型升級到機械學習模型,到2010年為止沒有標簽沒有基礎標簽,隨著計算能力的提高,2010年後開始挖掘用戶的基礎標簽,從3年到2013年開始使用大規模的機械學習和實時特徵
但你有沒有想過為什麼2016-2017年的兩年是各種各樣的黑搜索盛行的一年,為什麼今天幾乎消失了?
最根本的原因是從統計演算法模型到機械學習模型的轉型期。
說白了,這時不收割就沒有收割的機會。因為統計模型即將退出歷史舞台。
因此,各路大神各自擴大了統計模型演算法中的影響因素。統計演算法無論在哪裡,點擊率和坑產都很容易搜索。
那兩年成了中小賣家的狂歡盛宴,很多大神的煙火也是旺盛的。
今天推薦演算法的第三代使用後,加上疫情的影響進行了鮮明的比較,真的很感慨。
淘寶真的沒有流量了嗎?電器商務真的做不到嗎?還是大家的思維沒有改變,停留在2016-2017年的黑搜宴會上不想醒來?
2017年、2018年、2019年是淘寶推薦演算法反復最快的3年,每年的演算法升級都不同,整體上到2019年9月為止統計演算法模型的影響因素還很大,從2019年下半年開始第三代推薦演算法後,全面的真正意義進入了以機械學習模型為中心的推薦演算法時代。
各路大神也無法驗證,加上百年疫情的影響,很多大神的隱蔽布也泄露了。
基本上以統計模型為主,訓練基本上沒有聲音,典型的是坑產游戲。
如果現在還能看到的話,基本上可以判斷他不是在訓練,而是在製作印刷用紙,一定會推薦使用資源,資源是多麼安全。
刷子的生產增加真的沒有效果嗎?不是我以前的文章說:不是不行,而是從坑產的角度思考,而是從改變競爭環境的角度思考,用補充書改變競爭環境,改變場地,有新的天地,任何手段都要為商業本質服務。
正文
概述統計演算法模型時代。
統計模型時代搜索引擎的排名是最原始的排名思考,如果你的類別不錯,關鍵詞比較正確,就能得到很大的流量,當時產品需求少,只要上下架的優化就能使產品上升。
到2016年為止沒有坑產游戲嗎?黑色搜索的效果不好嗎?其實,什麼時候坑產是最核心的機密,誰來教大家,什麼時候教的最多的是類別優化,關鍵詞優化,大部分優化都圍繞關鍵詞,電器商的老人想起了你什麼時候得到關鍵詞的人得到了世界。
有人告訴我做坑產,關鍵詞找到生意也來了。什麼時候知道坑產也沒有人給你刷子,大規模的補充書也出現在黑色搜索盛行的時期。
為什麼關鍵詞者得天下?
搜索關鍵詞是用戶目前意圖最直觀的表達,也是用戶表達意圖最直接的方式。
搜索的用戶購物意圖最強,成交意願也最強,現在搜索也是轉化率最高的流量來源。
統計時代關鍵詞背後直接依賴的是類別商品,只要製作類別和關鍵詞分詞即可,哪個時代最出現的黑馬通常是類別機會、關鍵詞機會、黑科學技術機會。
最基本的是商業本質,什麼時候產品需求少,沒有很多現在的類別,自己找類別,現在想想什麼概念。
記得什麼時候類別錯了,搜索也可以來。如果你的商品點擊反饋好的話,錯誤的類別沒有什麼影響,現在試試吧
搜索類是搜索的基礎。
什麼時候能稱霸,背後有商業邏輯,用戶行為數據好就行了。
但無論如何發展檢索都離不開關鍵詞。例如,上述關鍵詞是用戶表達意圖的最直接的方法,是當前消費者的檢索行為和購買行為發生了根本性的變化。
檢索依然根據消費者的行為數據和關鍵詞來判斷需求,這就是機械學習模型時代。
機器學習模式時代-推薦搜索演算法。
現在的商品體積和消費者購物行為的豐富性,統計演算法不能滿足檢索的本質要求。
所以現在搜索引擎開始發展深度學習模式更精細的建模-推薦搜索演算法,搜索排名更智能。
在此重點討論推薦檢索演算法,
2017、2018、2019是推薦檢索演算法真正意義發展的3年,3年3個系統版本每年更換一次,很多電器商人都不知道頭腦。
推薦檢索演算法和統計演算法模型的最大區別在於,Query的處理能力和演算法有召回機制
簡單表示推薦演算法的程序:
1:對檢索關鍵詞進行分詞、重寫的處理進行類別預判
2:根據用戶信息,即用戶以前的行為數據記錄和預測的性別、年齡、購買力、店鋪喜好、品牌喜好、實時行動作等信息存檔
3:根據檢索用戶信息,根據檢索用戶以前的行為數據檢索引擎和預測的性別、年齡、購買力、店鋪喜好、品牌喜好、實時行動作為等信息存檔3:根據檢索用戶信息的檢索用戶信息
也就是說,在第一關召回階段基本上與統計模型時代的最佳化途徑相同,核心是標題分詞和類別,現在最大的區別是根據用戶信息推薦最佳化,這是標簽和正確人群標簽圖像最佳化的基本意義。
為什麼現在一直在談論標簽,談論人標簽圖像?入池實際上是為了匹配真正的消費者用戶信息,通過直通車測試來判斷人群也是為了通過性別、年齡和購買力來優化匹配真正的消費者。
召回機制:
通過構建子單元索引方式加快商品檢索,不必經歷平台上億級的所有商品。該索引是搜索引擎中的倒置索引,利用倒置索引初始篩選商品的過程是召回階段。
在這個階段,不會進行復雜的計算,主要是根據現在的搜索條件進行商品候選集的快速圈定。
之後再進行粗排和精排,計算的復雜程度越來越高,計算的商品集合逐漸減少,最後完成整個排序過程。
主要召迴路徑分為
1:語言召回
2:向量召回
這些都是商業秘密不方便的說明,有興趣的是學習我們的在線會員課程標簽重疊游戲6是基於語言和向量召回的基礎邏輯實戰落地的課程。
下一階段進入粗行列,粗行列受這些因素的影響:
粗行列作為召回後的第一個門檻,希望用戶體驗以時間低的模型快速排序和篩選商品,第一關系將過濾到不適合本次檢索詞要求的商品
為了實現這個目的,首先要明確影響粗排名得分的因素
1:類別匹配得分和文本匹配得分,
2:商品信息質量(商品發布時間、商品等級、商品等級)
3:商品組合得分
點擊得分
交易得分賣方服務商業得分
在粗排列框架下,系統粗排列演算法根據商品類別的預測得分進行得分
點擊得分交易得分
交易得分賣方服務商業得分粗排列框架下,系統粗排列的大排列
最後是精排,檢索順序的主要目標是高相關性、高個性化的正確性。
每個用戶的喜好不同,系統會根據每個用戶的Query結合用戶信息進行召回。然後通過粗排後,商品數量從萬級下降到千級。
千級商品經排後直接向用戶展示,搜索過程中商品集合的思考和具體變化如下圖

前面的召回、粗排主要解決主題相關性,通過主題相關性的限制,首先縮小商品集合和我們的在線會員課程標簽
精排階段系是真正系統推薦演算法發揮真正威力時,應根據用戶行為反饋迅速進行機械學習建模,判斷用戶真實性、准確性和可持續控制性。
為什麼現在的游戲和黑色技術暫時出現,核心是系統演算法模型機械學習模型,系統分析用戶有問題,不正確,不穩定,維持性差,可以迅速調整。
也就是說,即使發現脆弱性,研究快速有效的方法,系統也會根據你精排階段的用戶行為迅速分析學習建模,發現模型有問題,你的玩法就結束了。
猜機器學習建模的速度有多快?
想玩黑色的東西早點死去吧。
現在使用的檢索順序模型主要是
CTR模型和CVR模型,具體模型過於復雜也不需要深入,但影響這兩種模型的最基本因素是用戶行為數據
真的不能假的,假的也不能假的演算法模型越來越智能化,演算法越來越強,只有回歸商業本質才能真正解決演算法模型背後真正想解決的問題,演算法基於商業邏輯。
2021年搜索向哪個方向發生變化:
2020年電器商人和螞蟻是不平凡的一年。2020年也是螞蟻從神壇上拉下來的元年,現在螞蟻有各種各樣的黑色。
基於中小賣家的走勢無疑是阿里必須正面面對的現實。
如何讓中小賣家迴流或留在平台上,搜索該怎麼做?
檢索一定是基於三方的考慮,買方、賣方和平台本身,現在市場上又開始提倡坑產搜索邏輯,坑產妖風又開始,根據推薦搜索演算法邏輯來談這個問題。
為什麼坑產思維是不死的小強,每次危機都會跳出來。
以統計模型為中心的坑產時代是淘寶從2003年到2015年一直使用的搜索演算法模型長達13年。
同時也是淘寶和中國網分紅的野蠻生長期,統計演算法模式讓太多電商賺錢。除了
之外,十年的奴役思維已經習慣了,在電器商圈,坑產游戲一定有人相信,其他人不一定被認可。所以,我們夾著尾巴發展的原因,時間真的可以證明一切,不用多說,做自己。
習慣性思維加上特殊時期的賺錢蝴蝶效應,使許多電器商人活在歷史的長夢中。正確地說,統計演算法模型的真正廢除是在2019年下半年。
同學說坑產永遠有效,我也這么想。
永遠有效的是起爆模型坑產權重驅動和統計演算法模型中的坑產排名不同。
起爆模型的坑產要素永遠有效,這永遠不會改變。
但是,如何有效地加上這個起爆模型的坑產權重,並不像模仿購物的意圖那麼簡單。
坑產游戲在2021年絕對不行。淘寶不會把現在的演算法系統換成15年前的。
基於三方利益:
購買者體驗
賣方利益
平台的發展
搜索肯定會向高精度和高控制性發展。以標簽為中心的用戶標簽圖像仍然是影響流量精度的基本因素。
必須從標簽的角度考慮和優化種子組的圖像。
通過種子組的圖像向相似人擴展到葉類人,業界喜好人最後向相關人擴展也是擴大流量的過程渠道。
基於推薦搜索演算法邏輯:
精密排列階段演算法更強,精度更高,轉化率更高,持續穩定性更強。
基於中小賣方流通的現狀,優化精排階段並非中小賣方能夠簡單接觸。
推薦演算法從搜索排名階段出現在哪個階段?
個人判斷
一是召回階段
二是粗排階段
上述提到召回階段的演算法簡單復蓋商品為萬級,排序規則也比較簡單,中小賣方在召回階段提高精度尤為重要。
在這個萬級商品庫中,如上下架的權重上升,中小賣方有機會上升到主頁,從子單元的索引召回中尋找機會。
或者根據中小賣方的新產品和中小賣方的店鋪水平進行特別優先搜索推薦,使中小賣方的新產品在低銷售狀態下顯示,可以實現錦囊演算法。
中小賣方有機會搜索主頁,不調用用戶信息直接打開主頁的展示權可能是中小賣方最大的支持。
根據召回階段的用戶行為數據,在粗排階段以比例融入用戶信息,即標簽的影響。
在初始召回階段,類別和分詞權重,看業者主圖場景反應背後的人們反饋,用系統引導,給中小賣方真正參考的流量方向和成交方向。
誰瘋狂地印刷用紙直接關閉黑屋,理解印刷用紙優化競爭場景,從優化人群的角度出發,適當放寬處罰。
通過召回階段,得到的用戶信息會影響粗體結果。在這個階段,用戶信息的權重比例不應該太大,流量卡也不應該太死。
在各檢索順序階段用戶信息,即用戶標簽對檢索的影響權重的問題。
這個方向我的個人觀點是可能的。

閱讀全文

與常用召回演算法相關的資料

熱點內容
游戲主文件夾是什麼意思 瀏覽:797
極光電商app是什麼軟體 瀏覽:68
php調用html5 瀏覽:498
修改pdf安卓 瀏覽:475
php方法命名 瀏覽:159
200命令 瀏覽:328
圖庫已存在文件夾 瀏覽:728
U8硬體加密和軟體加密區別 瀏覽:282
android設置啟動頁 瀏覽:115
mt4代碼怎麼加密 瀏覽:100
python的除法運算符 瀏覽:251
程序員逼宮老闆 瀏覽:302
亞馬遜雲伺服器多久會暫停 瀏覽:123
旅居游用什麼app 瀏覽:259
代碼加密後有什麼影響 瀏覽:155
繽紛水母系列解壓 瀏覽:995
mc無敵命令 瀏覽:89
windows核心編程光碟 瀏覽:623
美女和程序員相親視頻 瀏覽:659
你熟悉哪些演算法 瀏覽:772