Como fizemos a seleção automática de produtos semelhantes

imagem



Em artigos anteriores , falei sobre como aprendemos a comparar produtos de diferentes fontes e preencher um cartão de produto - características, imagens, descrição. E quando os preços dos fornecedores, os preços dos concorrentes e as características dos bens são conhecidos, uma continuação lógica foi a busca por informações sobre análogos ou bens que são simplesmente semelhantes em suas propriedades.



Isso pode ser usado de diferentes maneiras, por exemplo, mostrar ao cliente vários itens semelhantes no cartão do produto, talvez ele goste de mais algum. Se algo estiver fora de estoque, uma lista de produtos semelhantes em estoque também será útil. A segunda opção é dar esta informação aos funcionários do call center para que eles possam rapidamente (ou, a princípio, poder) oferecer os analógicos caso o produto solicitado não esteja disponível, ou o analógico seja mais adequado aos desejos do cliente.



Como você pode saber se os produtos são semelhantes? Você pode comparar as características, quanto mais combinadas, mais semelhantes são os produtos. Infelizmente, não funciona tão facilmente. Na prática, verifica-se que, via de regra, quase não existem produtos onde todas as características são preenchidas. 80% é um bom resultado. Em segundo lugar, algumas características são mais importantes do que outras. Por exemplo, uma TV de 65 polegadas é completamente diferente de uma TV de 22 polegadas, embora ambas tenham 2 portas USB. Ou, outro exemplo, uma caixa de metal e uma caixa de alumínio são muito mais próximos um do outro do que de plástico, embora tenham três significados diferentes.



Assim, para selecionar produtos semelhantes, precisamos resolver as seguintes tarefas:



  1. Atribua características de peso. O tamanho da diagonal é importante, o número de portas USB é menos importante.
  2. Determine a faixa de valores de cada característica, e nela defina a função da distância entre os valores.
  3. Decida uma estratégia para lidar com casos em que uma característica é conhecida para um produto, mas não para outro.
  4. Tendo a distância entre os valores de todas as características, calcule a distância entre as mercadorias.
  5. Pense no desempenho, calcular todos os pares de distância tem complexidade

    O(N2)

    E se calcular 50 milhões de distâncias para 10 mil mercadorias não parece um grande problema, então 50 bilhões para 300 mil já é muito.


Vamos resolver esses problemas. Até certo ponto, este será um trabalho de pesquisa.



Como determinamos os pesos dos recursos



Usamos duas idéias básicas com pesos.



  • As características que afetam o preço são importantes. O contrário não é necessariamente verdadeiro. Por exemplo, a cor de um telefone celular é importante o suficiente, mas dificilmente afeta o preço.
  • Para identificar características importantes que não afetam o preço, presumimos que sejam, em média, mais bem preenchidas.


Além disso, para cada categoria, atribuímos pesos a todas as características. Para fazer isso, faça o seguinte:



  1. Se a característica for numérica, consideramos a correlação com o preço da Pearson.
  2. Se a enumeração tem uma escolha mutuamente exclusiva (mas não números), então ordenamos seus elementos pelo preço médio dos bens com esse valor e calculamos a correlação com o preço de Spearman.
  3. Se a escolha múltipla for fornecida, então a reduzimos a um conjunto mutuamente exclusivo (sim / não) e calculamos a correlação de cada um com o preço de Spearman. Reduzimos o coeficiente resultante dependendo do número de opções.
  4. Calculamos a porcentagem de valores preenchidos para cada uma das características e aumentamos ou diminuímos seu peso obtido anteriormente.
  5. Os valores obtidos podem ser usados ​​como pesos, mas na prática o melhor resultado é obtido se eles forem novamente transformados de forma não linear, preservando a ordem.


Cada uma das etapas tem suas próprias nuances, por exemplo, como calcular o preço, se em um caso apenas os preços de varejo são conhecidos, no outro - apenas os preços de atacado, e no terceiro, ambos. Ou uma das lojas errou no preço e vende uma mesinha de cabeceira ao preço de um armário da mesma série.



Como calculamos a distância entre as mercadorias



Escolhendo o algoritmo pelo qual calcularemos a distância entre os valores da característica, precisamos ter em mente como vamos calcular a distância entre as mercadorias, tendo a distância entre as características individuais e seu peso. Minha intuição me diz para começar com apenas uma distância no espaço n-dimensional, ou seja, a raiz quadrada da soma dos quadrados das distâncias entre as características.



Além disso, a intuição diz que, neste caso, a função da distância entre os valores deve ser distributiva, e ainda melhor, se a desigualdade do triângulo for mantida. Não posso provar a exatidão de tais requisitos, mas cumpriremos essas condições.



Então, as seguintes funções podem ser tomadas em função da distância:



  • — , . , 35 , — 75 , 40 . .
  • — (, ?), . .
  • , .


Agora, sobre desempenho. Na prática, descobriu-se que em um tempo razoável (até 5 minutos) podemos calcular distâncias aos pares entre 30 mil mercadorias. Mas ao mesmo tempo, em algumas categorias de produtos existem mais, por exemplo, pode haver cem mil colchões no catálogo, e neste caso estamos falando em aumentar o tempo gasto em 10 vezes.



A otimização deste caso é assim: nós ordenamos todos os produtos pelo valor da característica com o maior peso

O(Neuog(N))

Isso é mais rápido do que

O(N2)

Em seguida, dividimos todos os produtos em grupos sobrepostos (digamos, sobrepostos em 20%) e calculamos as distâncias aos pares dentro de cada grupo. Assim, até 30 mil produtos em uma categoria, o tempo de processamento aumenta conforme

O(N2)

e a partir de 30 mil - como

O(Neuog(N))





resultados



Darei vários exemplos de resultados da pesquisa automática de produtos semelhantes usando esse algoritmo (o primeiro na tabela será o produto para o qual estávamos procurando produtos semelhantes)













Bosch WLT24540OE

Bosch WLN24240OE

Samsung WW80K6210RW

Bosch WLT24460OE

Siemens WS12T440OE

Siemens WS12T540OE

Um tipo automático

automático

automático

automático

automático

automático

Execução autônomo

autônomo

autônomo

autônomo

autônomo

autônomo

Carregando roupa frontal

frontal

frontal

frontal

frontal

frontal

Carga máxima 7

7

oito

7

7

7

Cor branco

branco

branco

branco

branco

branco

Classe energética A +++

A +++

A +++

A +++

A +++

A +++

Aula de spin B

B

B

B

B

B

Número de programas quatorze

quinze

quatorze

quinze



quatorze

Cor de hachura prata

branco

o preto

prata

prata

prata

Velocidade máxima de giro 1200

1200

1200

1200

1200

1200

Ind. tempo até o final do programa +



+

+

+



Consumo de energia 2300,00





2300,00

2300,00



Controle de desequilíbrio +

+

+

+

+

+

Material do corpo plástico

plástico

plástico

plástico

plástico

plástico

Comprimento do cabo de alimentação 1,75

1,75









Embedding









sob a bancada

Número de tambores

1







1

Selecionando a velocidade de rotação +

+

+

+

+

+

Cancelando rotação +

+

+

+

+

+

Gerador de bolhas



+







Todos os programas sintéticos

enxágue adicional

enxágue adicional

enxágue adicional

enxágue adicional

lavagem ecológica

Data de lançamento no mercado 2016

2016

2016

2015





Consumo de eletricidade por ciclo 0,91

0,91



0,96

0,91

0,91

38,00

38,00



38,00

38,00

38,00





8100,00





8550,00

A

A

A

A

A

A

+

+

+

+

+

+



56

56

56

56



56

77

78

75

78

76

77











165°

32,00





32,00

32,00

32,00



+



46,00



46,00

46,00

46,00

























+

+

+

+

+

+









+









+

+





+

+

+







+

+

+

+







+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+







+























84,80

84,80

85,00

84,80

84,80

84,80

59,80

59,80

60,00

59,80

59,80

60,00

44,50

44,60

45,60

44,40

44,60

44,60

48,60

48,60



48,60

47,40



65,00

63,00

67,00

64,00

65,00

63,00

-























Hotpoint-Ariston WMTF 701 H CIS

Hotpoint-Ariston WMTL 601 L CIS

Gorenje WT62093 468938

Whirlpool AWE 7515/1

Zanussi ZWY51004WA































7

6

6

5.5

5.5











A+

A+

A+

A+

A+

C

C

C

C

C

18

18

18

11













1000

1000

900

1000

1000

2100,00

2100,00



2100,00





+

+

+

+

















1





+

+

+

+



+

+

+

+











1,18



1,02

0,93



50,00



48,00

48,00









8674,00



A

A

A

A

A



59

59

59

59

58

75

76

76

76

75





























42,00























+



+

+

+



A

A









+



+









+



+

+

+

+

+

+

+

+

+













90,00

90,00

85,00

90,00

89,00

40,00

40,00

40,00

40,00

40,00

60,00

60,00

60,00

60,00

60,00



58,00

58,00

58,00

58,00

-











Estes exemplos mostram que, em princípio, o algoritmo fez um bom trabalho e selecionou no primeiro caso máquinas de lavar automáticas autônomas com carregamento horizontal da mesma profundidade com aproximadamente a mesma carga máxima (não sou um grande especialista em máquinas de lavar, mas são essas características que me parecem importantes). No segundo caso - também máquinas de lavar automáticas autônomas, mas com carregamento superior. A largura e a profundidade das opções propostas são as mesmas. Em ambos os casos não foram oferecidos máquinas ativadoras ou embutidas, bem como máquinas compactas de parede, embora estejam no catálogo.



Provavelmente, um especialista em eletrodomésticos de grande porte poderia ter feito o trabalho melhor (discutimos os resultados em diferentes categorias com os vendedores, eles aprovaram a maioria das opções, mas também sugeriram opções que não incluímos no resultado). Ao experimentar o resultado para mim como comprador, considero úteis essas recomendações, não encontrei falhas grosseiras nas expectativas.



Assim, após a implementação deste algoritmo, tendo apenas o nome do produto como entrada, podemos localizá-lo automaticamente em fornecedores e concorrentes, preencher suas características, selecionar imagens e até oferecer análogos. Isso simplifica muito o trabalho dos gerentes de conteúdo e gerentes de vendas.



All Articles