Olå, meu nome é Vasya Rubtsov, estou desenvolvendo sistemas de recomendação no Avito.
O principal objetivo do espaço de anĂșncio Ă© ajudar os vendedores a encontrar compradores e compradores que procuram produtos. Diferentemente das lojas on-line, o fato da venda ocorre fora da nossa plataforma e nĂŁo podemos rastrear isso. Portanto, a principal mĂ©trica para nĂłs Ă© "contato" - este Ă© o evento de pressionar o botĂŁo "mostrar telefone" no cartĂŁo do produto ou o inĂcio de um diĂĄlogo no messenger com o vendedor. A partir dessa mĂ©trica, obtemos "compradores" - o nĂșmero de usuĂĄrios Ășnicos por dia que fizeram pelo menos um contato.
Os dois principais produtos com os quais o departamento de recomendaçÔes da Avito lida sĂŁo recomendaçÔes para o usuĂĄrio na pĂĄgina principal ou no user2item e um bloco de anĂșncios semelhantes no cartĂŁo do produto ou no item2item. Um terço de todas as visualizaçÔes de anĂșncios e um quarto de todos os contatos sĂŁo provenientes de recomendaçÔes; portanto, os mecanismos de referĂȘncia desempenham um papel importante no Avito.
No artigo, mostrarei como melhoramos nossas recomendaçÔes item2item devido ao item2vec e como isso afetou as recomendaçÔes user2item.

Como era antes
Anteriormente, para pesquisar anĂșncios semelhantes, usamos um modelo linear nos recursos obtidos para um par de anĂșncios: o nĂșmero de palavras correspondentes no tĂtulo e a descrição do anĂșncio, locais correspondentes, parĂąmetros, proximidade por regiĂŁo geogrĂĄfica. Os coeficientes neste modelo foram selecionados por bandidos multarmados. Dissemos isso em um artigo separado .
, , . , « wifi » «SQ11» , , , . â « », « », «-» « ». , , . «» , .
, , . finn.no "Deep neural network marketplace recommenders in online experiments".
item2vec
item2vec , , .
, . .

, , . , â . , , , , . ? , :

, 0.6 ± 0.1. .

. , , . ?
, , â , , . , , . . , . , , , -.
. , , 8 . 3 .

, , . , desktop . , app â .
540 180 .
â 14 . , , . , «» «» . . â .
:

â 128- .
â , embedding : , , ( , ) ( ). title embedding , â lstm. â one-hot . â .
title , , . , . . , â lstm GRU . , .
. , . â . , . â , .
â . , -1 1. , 128, int8 .
. , int8.
GPU, 20 . CPU GPU .
, id . , .
, 128- .
, . :
1. .

2. 4000 ( â , GPU) . , , .

3. , .
â . 100 , 100 .

4. â cross entropy loss â .

, forward 4001 , backward â 101, , .
500 000 000 () Ă 4 000 ( ) Ă 5 () = 10 ^ 13 . 2 4 x Tesla P40.
:

: 7 , 6 , . , , . prec@8.

item2vec « ». AvitoNet. AvitoNet â , . . -.
3 6 . â 62 . , â 2048, GPU, CPU . : , â , 3 , . , . , , . Prec@8 0,4%, , .

« »:

« / /122â128 (6â8 )». :

, , «» «».
item2vec :

« ». -, - «» «». , , «». , â !
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% .