Filtros com base no conteúdo

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

Para demonstrar o filtro com base no conteúdo, faremos engenharia manual de alguns recursos da Google Play Store. A figura a seguir mostra uma matriz de atributos em que cada linha representa um app e cada coluna representa um recurso. Os recursos podem incluir categorias (como Education, casual, Health), editor do app e muitas outras. Para simplificar, suponha que essa matriz de recursos seja binária: um valor diferente de zero significa que o app tem esse recurso.

Você também representa o usuário no mesmo espaço de recurso. Alguns dos recursos relacionados ao usuário podem ser fornecidos explicitamente pelo usuário. Por exemplo, um usuário seleciona "quot;Apps de entretenimento" no perfil. Outros recursos 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 este usuário. Para isso, escolha primeiro uma métrica de semelhança (por exemplo, produto pontilhado). Em seguida, é preciso configurar o sistema para classificar cada item candidato de acordo com essa métrica de semelhança. As recomendações são específicas para esse usuário, porque o modelo não usou informações sobre outros usuários.

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

Usando o produto pontilhado como medida de semelhança

Considere o caso em que o usuário incorporado \(x\) e o de incorporação de apps \(y\) são vetores binários. Desde \(\langle x, y \rangle = \sum_{i = 1}^d x_i y_i\), um recurso que aparece em \(x\) e \(y\) contribui com um 1 para a soma. Em outras palavras, \(\langle x, y \rangle\) é o número de atributos ativos nos dois vetores simultaneamente. Um produto de alto ponto indica recursos mais comuns, portanto, uma maior semelhança.

Experimente por conta própria!

Calcule o produto de pontos de cada app no problema anterior. Depois, 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 de ponto mais alto em 2. Nosso usuário gosta muito de apps educacionais e de ciências.
O app de saúde criado pelo Healthcare.
Este app recebe 1. Essa não é a pior recomendação que nosso sistema poderia fazer, mas certamente não é a melhor.
O app casual criado pela TimeWastr.
Este app tem o produto de ponto mais baixo, em 0. O usuário não está interessado em apps casuais, como jogos.