paint-brush
Compreendendo a barreira de saída no sistema de recomendação da Amazonpor@escholar
608 leituras
608 leituras

Compreendendo a barreira de saída no sistema de recomendação da Amazon

Muito longo; Para ler

Esta seção detalha a metodologia por trás da análise de barreira de saída no sistema de recomendação da Amazon, descrevendo o processo de cálculo, considerações de dados, formulação de modelo estatístico e testes de hipóteses para compreender a dinâmica e as mudanças de preferência do usuário ao longo do tempo.
featured image - Compreendendo a barreira de saída no sistema de recomendação da Amazon
EScholar: Electronic Academic Papers for Scholars HackerNoon profile picture
0-item

Autores:

(1) Jonathan H. Rystrom.

Tabela de Links

Resumo e Introdução

Literatura Anterior

Métodos e Dados

Resultados

Discussões

Conclusões e Referências

A. Validação de Suposições

B. Outros modelos

C. Etapas de pré-processamento

3 métodos e dados

3.1 Definindo Barreira de Saída

Num nível elevado, a Barreira à Saída mede quanto esforço os utilizadores devem despender para sinalizar que as suas preferências mudaram (Rakova & Chowdhury, 2019). É definido em termos da rapidez com que as preferências reveladas dos usuários para uma categoria específica mudam entre os limites de interação. Nesta seção, motivaremos a intuição da Barreira de Saída, bem como formalizaremos o conceito no contexto do sistema de recomendação da Amazon.


Figura 1: Uma representação esquemática do fluxo de controle em sistemas de recomendação visto da perspectiva do usuário (a) e do modelo AI (b). Adaptado de Rakova e Chowdhury (2019).


Para compreender o papel da Barreira de Saída e como ela pode ser calculada a partir das classificações, consideremos um diagrama da interação entre o usuário e o sistema de recomendação (“Modelo de IA”) conforme visto na Figura 1.


Ambos os diagramas (a) e (b) mostram ciclos de feedback com o usuário e o modelo, respectivamente, como “supervisores”. A justaposição mostra a interação bilateral conforme argumentado em Jiang et al. (2019). O diagrama tem vários elementos: µ é o interesse do usuário, Θ é o modelo, α são as recomendações mostradas e c são as preferências reveladas (ou seja, o sinal que o modelo usa para atualizar as recomendações). Os subscritos indicam intervalos de tempo que vão da esquerda para a direita.


Embora o diagrama atue como uma estrutura conceitual para a compreensão da interação, devemos considerar quais partes podemos medir e quais partes precisamos modelar. Rakova e Chowdhury (2019) argumentam que apenas analisando como as preferências reveladas mudam ao longo do tempo, podemos calcular uma medida do esforço necessário para mudar as preferências; a barreira de saída.


Observe que, embora o ciclo de feedback geral diga respeito a todo o modelo, a Barreira à Saída é definida por categoria. As categorias podem ser gêneros, como “Thriller” ou “Ficção científica”, ou tipos de livros como “Autoajuda” ou “Livro de receitas”. Cada livro pode ter diversas categorias.



A relevância da categoria não é uma característica automaticamente disponível nos nossos dados (ver 3.2). Em contraste, Rakova e Chowdhury (2019) utilizam o conjunto de dados MovieLens (Harper & Konstan, 2016), onde a relevância da categoria foi anotada manualmente para um subconjunto de dados. Isto torna possível usar a aprendizagem (semi)supervisionada para anotar o resto dos dados (ou seja, Kipf & Welling, 2017).


Infelizmente, os dados da Amazon não têm rótulos. Em vez disso, usamos uma abordagem não supervisionada baseada na coocorrência de categorias. Os livros recebem uma alta relevância de categoria para uma categoria específica se pertencerem a categorias que frequentemente ocorrem juntas. Por exemplo, um livro com as categorias “suspense” e “terror” teria uma pontuação de relevância de categoria de 1 para “suspense” se sempre co-ocorresse com “terror”, mas uma pontuação de 0 para “jardinagem” se nunca ocorre simultaneamente com “jardinagem”. Normalizamos as pontuações para que variem de 0 a 1. Consulte o repositório GitHub para obter detalhes de implementação.


Passamos agora para os limites de interação (Rakova & Chowdhury, 2019). Conceitualmente, os limites de interação são a gama de preferências dos usuários dentro de uma determinada categoria. Se, digamos, um usuário classifica thrillers apenas com 4 estrelas, mas classifica alguns livros de receitas com 1 estrela e outros com 5 estrelas, ele teria limites de interação estreitos para thrillers e limites de interação mais amplos para livros de receitas.



Há algumas coisas importantes a serem observadas sobre a definição de Barreira de Saída. Primeiro, pode haver vários valores de Barreira de Saída por usuário e categoria. Cada vez que um usuário tem uma preferência dentro de uma categoria que vai de acima para abaixo dos limites de interação, é definida uma Barreira de Saída para esse período.


Em segundo lugar, a Barreira de Saída define os usuários que alteram as preferências. A alteração das preferências é definida quando os usuários passam de acima dos limites de interação para abaixo dos limites de interação.


Terceiro, a Barreira à Saída não pode ser exatamente zero. Isso ocorre porque ele só é definido quando um usuário possui classificações intermediárias entre os limites. Se um usuário tiver uma classificação acima dos limites de interação e o próximo estiver abaixo, isso não será registrado na Barreira de Saída.


Finalmente (e crucialmente), a Barreira de Saída só é definida para um subconjunto de usuários. Ter uma barreira de saída bem definida para um usuário requer a) classificações suficientes eb) que essas classificações mudem em relação a uma categoria. Portanto, só podemos fazer inferências para este subconjunto de usuários. Discutiremos as implicações disso mais adiante na discussão (seção 5.2).


Nesta seção, fornecemos uma formulação matemática da Barreira de Saída juntamente com advertências importantes. Para a implementação do código, consulte o repositório.

3.2 Dados

Para esta análise, utilizamos um conjunto de dados de resenhas de livros da Amazon (Ni et al., 2019). O conjunto de dados brutos consiste em aproximadamente 51 milhões de avaliações por ca. 15 milhões de utilizadores no período de 1998 a 2018[2]. Todas as avaliações estão em uma escala Likert de 1 a 5.


O conjunto de dados foi extraído da Amazon Web Store com base na metodologia de McAuley et al. (2015). Infelizmente, uma vez que o conjunto de dados não possui uma ficha de dados (Gebru et al., 2021), é difícil descobrir se existe algum problema de cobertura ou parcialidade. Também torna mais difícil replicar a coleta de dados do zero. Fora isso, o conjunto de dados é facilmente acessível e bem documentado.


Um aspecto relacionado à cobertura que precisamos estar cientes é que estamos usando classificações como proxy para interações. No conjunto de dados, não temos acesso às pessoas que compraram um produto, mas não o avaliaram, nem às pessoas que não compraram um produto nem o avaliaram. Isto nos dá uma medida bastante indireta do processo de recomendação real - particularmente em comparação com o conjunto de dados MovieLens (Harper & Konstan, 2016; Rakova & Chowdhury, 2019).


Devido ao tamanho dos dados, o pré-processamento torna-se não trivial. Uma explicação das etapas necessárias pode ser vista no apêndice C.


Embora o conjunto de dados original seja grande, estamos interessados apenas em um subconjunto. Especificamente, estamos interessados em usuários que mudaram suas preferências. Portanto, filtramos para incluir apenas usuários com mais de 20 avaliações, o que segue as convenções do MovieLens (Harper & Konstan, 2016) para as quais a barreira de saída foi originalmente definida (Rakova & Chowdhury, 2019).


Figura 2: Distribuição da quantidade total de classificações (esquerda) e pessoas (direita) em diferentes grupos de atividades de classificação. Embora o grupo com mais de 20 classificações represente uma fração substancial do total de classificações, eles representam apenas uma pequena parte do total.


A Figura 2 mostra o subconjunto selecionado. Vale a pena notar que, embora nosso subconjunto retenha uma fração substancial das classificações (≈ 30%), retemos apenas ca. 350.000 usuários (0,6%). Isso é típico da atividade do usuário, que tende a ser de cauda gorda (Papakyriakopoulos et al., 2020). Discutiremos as implicações para nossa interpretação na discussão (5.2).


Como veremos mais tarde, apenas uma fracção destes alterou as preferências de acordo com a nossa definição (ver secção 3.1).


Para nossa análise final, temos 50.626 usuários que se enquadram em nossa definição (≈ 0,1% do total).


O conjunto de dados de classificação foi mesclado com um conjunto de dados que fornece categorias para cada livro. O conjunto de dados da categoria veio da mesma fonte (ou seja, Ni et al., 2019). Para manter os cálculos simples para calcular a similaridade de categorias (veja o código no GitHub), consideramos apenas categorias que foram usadas em mais de 100 livros. Esta abordagem é válida porque a distribuição das categorias é fortemente distorcida, o que significa que um pequeno número de categorias é utilizado num grande número de livros. (Esta é uma dinâmica semelhante à atividade do usuário; veja a Fig. 2).

3.3 Modelo

Agora que operacionalizamos a Barreira à Saída como uma medida da dificuldade de alterar preferências, vamos apresentar o modelo estatístico para analisar a tendência.


A primeira coisa a notar é que precisamos de um modelo multinível cruzado (Baayen et al., 2008). Nosso modelo deve ter dois níveis: usuário e categoria. O nível do usuário é o mais óbvio teoricamente. Como cada usuário pode ter múltiplas alterações de preferência (com barreira de saída associada), devemos controlar suas diferenças individuais (Baayen et al., 2008). Isto também é importante porque o sistema de recomendação utilizará recursos preditivos que não estão acessíveis no conjunto de dados (Smith & Linden, 2017).


As categorias constituem o outro nível. A função do nível de categoria em nosso modelo é levar em conta os recursos de nível de item. Conforme explicado na introdução, existem razões comerciais (ou seja, as empresas estão seguindo o imperativo de previsão; (Zuboff, 2019)) e razões algorítmicas (ou seja, reduzir a variabilidade poderia melhorar o objetivo de recompensa (Carroll et al., 2022)) para acreditar que diferentes categorias terão diferentes barreiras de saída. As categorias podem, portanto, atuar como substitutos desses efeitos. Este desenho cruzado é frequentemente usado na pesquisa em psicologia (Baayen et al., 2008).


Existem duas razões para incluir categorias como efeitos aleatórios e não efeitos fixos. O primeiro é o número de categorias. Existem mais de 300 categorias em nosso conjunto de dados. Modelá-los como efeitos fixos seria, portanto, inviável. Em segundo lugar, uma vez que os utilizamos como proxy para a variância ao nível do item, é mais conveniente modelar apenas as componentes aleatórias (Maddala, 1971).


Isso nos dá o seguinte modelo:



Uma coisa crucial a ser observada é que a barreira à saída com transformação logarítmica altera a interpretação dos coeficientes. Em vez de interpretá-los em escala linear, devem ser interpretados em escala logarítmica (Villadsen & Wulff, 2021). A maneira mais natural de fazer isso é exponenciar os efeitos e interpretá-los como uma variação percentual. Contudo, a transformação introduz questões estatísticas, que discutiremos na secção 5.2.



Também vale a pena notar que o nível de atividade é relativamente não correlacionado com o tempo (ver Fig. 3b. Isto ocorre porque a atividade se refere à atividade dentro do período de Barreira de Saída e não à atividade total na Amazônia. Esta última aumentou substancialmente como pode ser visto pela densidade dos pontos na Fig.


Figura 3: Gráficos do nível de atividade, definido como o número de avaliações no período de Barreira à Saída. 3a: A relação entre o nível de actividade e a Barreira à Saída. Observe a forte linearidade. 3b Mudança no nível de atividade ao longo do tempo. O


Para avaliar a validade, testamos as suposições do modelo. Para a verificação completa, consulte o apêndice A. Há algumas violações dignas de nota: Os resíduos e os efeitos aleatórios desviaram-se da normalidade - particularmente para os efeitos aleatórios em nível de categoria. Contudo, isto deverá ter pouca influência na estimativa dos efeitos fixos (Schielzeth et al., 2020). No entanto, realizamos uma análise adicional com as categorias problemáticas removidas para avaliar a robustez dos resultados (ver B.2).

3.4 Criando e testando hipóteses

Para responder à nossa questão de investigação num quadro inferencial, precisamos de transformá-las em hipóteses com implicações testáveis (Popper, 1970). Propomos a seguinte hipótese:


Hipótese : Houve um aumento significativo na Barreira de Saída para o Sistema de Recomendação de Livros da Amazon no período 1998-2018.


Para testar a hipótese, utilizamos o teste de significância de Satterthwaite do pacote lmerTest (Kuznetsova et al., 2017; Satterthwaite, 1946) para avaliar o coeficiente de tempo (β1). Contudo, é importante notar que o método de cálculo de graus de liberdade em modelos de efeitos mistos (Satterthwaite, 1946) pode inflacionar erros do Tipo I quando o tamanho da amostra é pequeno (Baayen et al., 2008). No nosso caso, o tamanho da amostra é grande, então isso é menos preocupante.


O grande tamanho da amostra também implica valores de p próximos de zero (Ghasemi & Zahediasl, 2012) mesmo para efeitos pequenos. Assim, também estamos interessados na magnitude do tamanho do efeito, e não apenas na significância.


Observe que o aumento é uma taxa de crescimento em vez de um aumento linear. Isso afeta a forma como interpretamos a magnitude do tamanho do efeito.





[2] Para documentação, consulte: https://nijianmo.github.io/amazon/index.html


Este artigo está disponível no arxiv sob licença CC 4.0.