Aprendendo a classificar de forma diversa

Feb 01 2023
por Malay Haldar, Liwei He e Moose Abdool O Airbnb conecta milhões de hóspedes e anfitriões todos os dias. A maioria dessas conexões é forjada por meio de pesquisa, cujos resultados são determinados por um algoritmo de classificação baseado em rede neural.

por Malay Haldar , Liwei He e Moose Abdool

O Airbnb conecta milhões de hóspedes e Anfitriões todos os dias. A maioria dessas conexões é forjada por meio de pesquisa, cujos resultados são determinados por um algoritmo de classificação baseado em rede neural. Embora essa rede neural seja especialista em selecionar listagens individuais para hóspedes, recentemente melhoramos a rede neural para selecionar melhor a coleção geral de listagens que compõem um resultado de pesquisa. Nesta postagem, nos aprofundamos nessa recente descoberta que aumenta a diversidade de listagens nos resultados de pesquisa.

Como funciona a classificação?

A rede neural de classificação encontra as melhores listagens para uma determinada consulta, comparando duas listagens por vez e prevendo qual delas tem a maior probabilidade de ser reservada. Para gerar essa estimativa de probabilidade, a rede neural coloca pesos diferentes em vários atributos de listagem, como preço, localização e avaliações. Esses pesos são então refinados comparando anúncios reservados com anúncios não reservados a partir de logs de pesquisa, com o objetivo de atribuir probabilidades mais altas a anúncios reservados em relação aos não reservados.

O que a rede neural de classificação aprende no processo? Por exemplo, um conceito que a rede neural capta é que preços mais baixos são preferidos. Isso é ilustrado na figura abaixo, que plota o preço crescente no eixo x e seu efeito correspondente nas pontuações do modelo normalizado no eixo y. O aumento do preço faz com que as pontuações do modelo diminuam, o que faz sentido intuitivamente, já que a maioria das reservas no Airbnb se inclina para a faixa econômica.

Relação entre as pontuações do modelo e o aumento percentual do preço

Mas o preço não é a única característica para a qual o modelo aprende tais conceitos. Outras características, como a distância da listagem do local da consulta, número de comentários, número de quartos e qualidade da foto, podem exibir essas tendências. Grande parte da complexidade da rede neural está em equilibrar todos esses vários fatores, ajustando-os para as melhores compensações possíveis que se ajustam a todas as cidades e estações do ano.

Pode um tamanho caber tudo?

A maneira como a rede neural de classificação é construída, sua estimativa de probabilidade de reserva para uma acomodação é determinada por quantos hóspedes no passado reservaram acomodações com combinações semelhantes de preço, localização, avaliações, etc. A noção de maior probabilidade de reserva se traduz essencialmente no que a maioria dos hóspedes preferiu no passado. Por exemplo, existe uma forte correlação entre altas probabilidades de reserva e preços de listagem baixos. As probabilidades de reserva são adaptadas à localização, contagem de convidados e duração da viagem, entre outros fatores. No entanto, dentro desse contexto, o algoritmo de classificação classifica as listagens que a maior fração da população de hóspedes teria preferido. Essa lógica é repetida para cada posição no resultado da pesquisa, de modo que todo o resultado da pesquisa seja construído para favorecer a preferência da maioria dos hóspedes.Princípio da maioria na classificação — a tendência esmagadora do algoritmo de classificação de seguir a maioria em todas as posições.

Mas a preferência da maioria não é a melhor maneira de representar as preferências de toda a população de hóspedes. Continuando com nossa discussão sobre os preços de listagem, analisamos a distribuição dos preços reservados para um destino popular — Roma — e nos concentramos especificamente em viagens de duas noites para dois hóspedes. Isso nos permite focar nas variações de preço devido apenas à qualidade da listagem e eliminar a maioria das outras variabilidades. A figura abaixo representa a distribuição.

Princípio de Pareto: a divisão 50/50 do valor da reserva corresponde a aproximadamente 80/20 das reservas

O eixo x corresponde aos valores de reserva em USD, escala logarítmica. O eixo y esquerdo é o número de reservas correspondentes a cada ponto de preço no eixo x. A forma laranja confirma a distribuição log-normal do valor da reserva. A linha vermelha representa a porcentagem do total de reservas em Roma que têm valor de reserva menor ou igual ao ponto correspondente no eixo x, e a linha verde representa a porcentagem do valor total da reserva para Roma coberta por essas reservas. A divisão do valor total da reserva 50/50 divide as reservas em dois grupos desiguais de aproximadamente 80/20. Ou seja, 20% das reservas representam 50% do valor da reserva. Para essa minoria de 20%, mais barato não é necessariamente melhor, e sua preferência é mais pela qualidade. Isso demonstra o princípio de Pareto , uma visão grosseira da heterogeneidade de preferência entre os hóspedes.

Enquanto o princípio de Pareto sugere a necessidade de acomodar uma ampla gama de preferências, o princípio da maioria resume o que acontece na prática. Quando se trata de classificação de pesquisa, o princípio da maioria está em desacordo com o princípio de Pareto.

Diversificando reduzindo a similaridade

A falta de diversidade de listagens nos resultados da pesquisa pode, alternativamente, ser vista como listagens muito semelhantes entre si. Reduzir a similaridade entre listagens, portanto, pode remover algumas das listagens dos resultados de pesquisa que são escolhas redundantes para começar. Por exemplo, em vez de dedicar cada posição no resultado da pesquisa a listagens econômicas, podemos usar algumas das posições para listagens de qualidade. O desafio aqui é como quantificar essa semelhança entre anúncios e como equilibrá-la com as probabilidades básicas de reserva estimadas pela rede neural de classificação.

Para resolver esse problema, construímos outra rede neural, uma companheira da rede neural de classificação. A tarefa dessa rede neural associada é estimar a semelhança de uma determinada listagem com listagens colocadas anteriormente em um resultado de pesquisa.

Para treinar a rede neural de similaridade, construímos os dados de treinamento a partir dos resultados de pesquisa registrados. Todos os resultados de pesquisa em que o anúncio reservado aparece como o resultado principal são descartados. Para os resultados de pesquisa restantes, separamos o resultado principal como uma listagem especial, chamada de listagem antecedente. Usando listagens da segunda posição em diante, criamos pares de listagens reservadas e não reservadas. Isso está resumido na figura abaixo.

Construção de exemplos de treinamento a partir de resultados de pesquisa registrados

Em seguida, treinamos uma rede neural de classificação para atribuir uma probabilidade de reserva mais alta à listagem reservada em comparação com a listagem não reservada, mas com uma modificação - subtraímos a saída da rede neural de similaridade que fornece uma estimativa de similaridade entre a listagem fornecida versus a listagem antecedente. O raciocínio aqui é que os hóspedes que pularam a lista de antecedentes e depois reservaram uma lista dos resultados abaixo devem ter escolhido algo diferente da lista de antecedentes. Caso contrário, eles teriam reservado a própria lista de antecedentes.

Depois de treinados, estamos prontos para usar a rede de similaridade para classificar listagens online. Durante a classificação, começamos preenchendo o primeiro resultado com a listagem que tem a maior probabilidade de reserva. Para as posições subsequentes, selecionamos o anúncio com maior probabilidade de reserva entre os restantes anúncios, após descontar a sua semelhança com os anúncios já colocados acima. O resultado da busca é construído iterativamente, com cada posição tentando ser diferente de todas as posições acima dela. Listagens muito semelhantes às já colocadas são efetivamente classificadas como abaixo.

Reclassificação de listagens com base na semelhança com os principais resultados

Seguir essa estratégia levou a uma das mudanças mais impactantes no ranking dos últimos tempos. Observamos um aumento de 0,29% nas reservas não canceladas, juntamente com um aumento de 0,8% no valor da reserva. O aumento no valor da reserva é muito maior do que o aumento nas reservas porque o aumento é dominado por listagens de alta qualidade que se correlacionam com um valor mais alto. O aumento no valor de reserva nos fornece um proxy confiável para medir o aumento na qualidade, embora o aumento no valor de reserva não seja o alvo. Também observamos algumas evidências diretas de aumento na qualidade das reservas – um aumento de 0,4% nas classificações de 5 estrelas, indicando maior satisfação do hóspede durante toda a viagem.

Leitura adicional

Discutimos a redução da semelhança entre os anúncios para melhorar a utilidade geral dos resultados de pesquisa e atender às diversas preferências dos hóspedes. Embora intuitivo, para colocar a ideia em prática, precisamos de uma base rigorosa em aprendizado de máquina, descrita em nosso artigo técnico . A seguir, estamos analisando mais profundamente a diversidade de localização dos resultados. Todos os comentários e sugestões para o artigo técnico e a postagem no blog são bem-vindos.

Interessado em trabalhar no Airbnb? Confira essas funções em aberto .