Filtro com base no conteúdo

O filtro com base no conteúdo usa recursos dos itens para recomendar outros itens. semelhantes ao que o usuário gosta, com base em suas ações anteriores ou conteúdo explícito feedback.

Para demonstrar a filtragem com base em conteúdo, vamos criar alguns recursos para a Google Play Store. A figura a seguir mostra uma matriz de atributos em que cada linha representa um aplicativo e cada coluna representa um atributo. Características poderia incluir categorias (como Educação, Casuais, Saúde), o editor do app e muitos outros. Para simplificar, suponha que esta matriz de atributos seja binária: um valor diferente de zero significa que o aplicativo tem esse recurso.

Você também representa o usuário no mesmo espaço de atributos. Algumas das informações recursos possam ser explicitamente fornecidos pelo usuário. Por exemplo, um usuário seleciona "Apps de entretenimento" no perfil dele. Outros atributos podem ser implícitos, com base nos apps instalados anteriormente. Por exemplo, o usuário instalou outro app publicado pela Science R Us.

O modelo deve recomendar itens relevantes para esse usuário. Para isso, você deve primeiro escolha uma métrica de similaridade (por exemplo, produto escalar). Em seguida, você deve configurar o sistema para pontuar cada item candidato de acordo com essa semelhança métrica. As recomendações são específicas a esse usuário, já que o modelo não usou nenhuma informação sobre outros usuários.

Imagem de uma matriz mostrando um usuário e apps que podem ser recomendados

Uso do produto escalar como medida de similaridade

Considere o caso em que o usuário incorpora \(x\) e o app embedding \(y\) são vetores binários. Como \(\langle x, y \rangle = \sum_{i = 1}^d x_i y_i\), um que aparece em \(x\) e \(y\) contribui um 1 para a soma. Em outras palavras, \(\langle x, y \rangle\) é o número de atributos ativos em ambos os vetores simultaneamente. Uma alta produto escalar indica recursos mais comuns, portanto, uma maior semelhança.

Faça um teste!

Calcule o produto escalar para cada app no problema do app anterior. Em seguida, use essas informações para responder à pergunta abaixo:

Qual app devemos recomendar?
O app educacional criado pela Science R Us.
Você acertou! Este item tem o produto escalar mais alto em 2. Nosso usuário gosta muito de apps educacionais e de ciência.
O app de saúde criado pela Healthcare.
A pontuação do app é 1. Não é a pior recomendação que nossa que um sistema poderia fazer, mas com certeza não é o melhor.
O app casual criado pelo TimeWastr.
Na verdade, este app tem o menor produto escalar em 0. Nossos o usuário não está interessado em aplicativos casuais, como jogos.