嗨,我叫Vasya Rubtsov,我正在Avito开发推荐系统。
广告空间的主要目的是帮助卖家找到买家,以及正在寻找产品的买家。与在线商店不同,销售事实发生在我们平台之外,因此我们无法跟踪。因此,对我们而言,关键指标是“联系”-这是按下产品卡上的“显示电话”按钮,或者是在信使中与卖家开始对话的事件。通过此指标,我们得到“买家”-每天至少进行一次联系的唯一身份用户数。
Avito推荐部门处理的两个主要产品是主页或user2item上的用户推荐,以及产品卡或item2item上的大量类似广告。所有广告浏览量的三分之一和所有联系人的四分之一来自推荐,因此引荐引擎在Avito中扮演着重要的角色。
在本文中,我将介绍由于item2vec我们如何改进了item2item建议,以及这如何影响user2item建议。
![](https://habrastorage.org/webt/wo/rd/ex/wordexhsnoxxfshif6xlye2bwsq.png)
和以前一样
以前,为了搜索相似的广告,我们对一对广告获得的特征使用了线性模型:广告标题和描述中匹配单词的数量,匹配位置,参数,地理位置的接近度。该模型中的系数是由多臂匪徒选择的。我们在另一篇文章中对此进行了介绍。
, , . , « wifi » «SQ11» , , , . — « », « », «-» « ». , , . «» , .
, , . finn.no "Deep neural network marketplace recommenders in online experiments".
item2vec
item2vec , , .
, . .
![](https://habrastorage.org/webt/r7/jd/_m/r7jd_miv0k-k4yqkwsz9csepqvg.png)
, , . , — . , , , , . ? , :
![](https://habrastorage.org/webt/gp/p6/ev/gpp6evultrh5hbj91apa_y-xuhm.png)
, 0.6 ± 0.1. .
![](https://habrastorage.org/webt/ei/kt/ep/eiktepkl9c5zdpncrdy8wjxccry.png)
. , , . ?
, , — , , . , , . . , . , , , -.
. , , 8 . 3 .
![](https://habrastorage.org/webt/dg/h8/xw/dgh8xwbezqp2il2nw9e4zurrqqy.jpeg)
, , . , desktop . , app — .
540 180 .
— 14 . , , . , «» «» . . — .
:
![](https://habrastorage.org/webt/xm/9m/ic/xm9micpgmddgrfp3ppcehsymwpu.png)
— 128- .
— , embedding : , , ( , ) ( ). title embedding , — lstm. — one-hot . — .
title , , . , . . , — lstm GRU . , .
. , . — . , . — , .
— . , -1 1. , 128, int8 .
. , int8.
GPU, 20 . CPU GPU .
, id . , .
, 128- .
, . :
1. .
![](https://habrastorage.org/webt/sa/bz/ea/sabzeapgogwap7wbcqrwaavjsea.png)
2. 4000 ( — , GPU) . , , .
![](https://habrastorage.org/webt/wf/-w/8w/wf-w8wowu5wmpyefv4xir17-b9e.png)
3. , .
— . 100 , 100 .
![](https://habrastorage.org/webt/dw/sf/uh/dwsfuhp6m2gtauk_mczg83np1h8.png)
4. — cross entropy loss — .
![](https://habrastorage.org/webt/pd/kk/nn/pdkknn9qrpvhfixeiueix7xg4wq.png)
, forward 4001 , backward — 101, , .
500 000 000 () × 4 000 ( ) × 5 () = 10 ^ 13 . 2 4 x Tesla P40.
:
![](https://habrastorage.org/webt/cf/2n/os/cf2noszqewcpkcw7v-rxtcla_u0.jpeg)
: 7 , 6 , . , , . prec@8.
![](https://habrastorage.org/webt/2m/8_/sa/2m8_sa5vvvqo55rjejrqyvp-u28.png)
item2vec « ». AvitoNet. AvitoNet — , . . -.
3 6 . — 62 . , — 2048, GPU, CPU . : , — , 3 , . , . , , . Prec@8 0,4%, , .
![](https://habrastorage.org/webt/kd/cq/bv/kdcqbvqqobypnkj0blsxzh12_7a.png)
« »:
![](https://habrastorage.org/webt/1-/bv/cf/1-bvcfax9n7b0bartdcolnakfka.png)
« / /122—128 (6—8 )». :
![](https://habrastorage.org/webt/ec/l-/qh/ecl-qhudd7-pyjkfvtru2_kr2iu.png)
, , «» «».
item2vec :
![](https://habrastorage.org/webt/s1/4s/il/s14silneox-qsdl-lizs33wjjqe.png)
« ». -, - «» «». , , «». , — !
top-n . Sphinx. , . 200ms (p99) 200K rpm.
. -. , , - — , . .
.
, . :
sim(i, j) = <v_i, v_j> * (log(t_j + 1) ^ a_c)
i j — , j (t_j = now - start_time_j).
, , , , . . , c — a_c. , 0, . , — . . , , - . , .
, .
— , , , .
item2vec 30% , 20% .