Um guia abrangente sobre mecanismos de recomendação em 2022

Nó Fonte: 1883089

Este artigo foi publicado como parte do Blogathon de Ciência de Dados.

Introdução

O mercado global para o uso do Mecanismo de Recomendação foi avaliado em US$ 2.69 bilhões em 2021. Prevê-se que ultrapasse US$ 15.10 bilhões até 2026, relatando um CAGR de 37.79% durante 2022-2026.

As recomendações que as empresas dão a você às vezes usam técnicas de análise de dados para identificar itens que correspondem ao seu gosto e preferências. Com os dados em rápido crescimento na internet, não é surpresa dizer que a Netflix sabe qual filme você vai querer assistir em seguida ou a principal notícia que você gostaria de ler em seu Twitter.

Com os recentes avanços em Inteligência Artificial e a crescente concorrência entre várias empresas, é essencial pesquisar, mapear e fornecer aos usuários a parte relevante de dados para melhorar a experiência do consumidor e aumentar a tendência de digitalização.

Com isso dito, no guia de hoje, discutiremos os mecanismos de recomendação, sua importância, desafios enfrentados, princípios de trabalho, diferentes técnicas, aplicativos e principais empresas que os utilizam e, por último, como construir seu próprio mecanismo de recomendação em Python.

Índice

  • O que é Mecanismos de Recomendação?
  • Por que os mecanismos de recomendação são importantes no aprendizado de máquina?
  • Diferentes técnicas de motores de recomendação
  • Funcionamento dos motores de recomendação
  • Desafios dos mecanismos de recomendação
  • Como construir um mecanismo de recomendação
  • Aplicativos e principais empresas que usam mecanismos de recomendação
  • Conclusão

O que é um mecanismo de recomendação?

Um mecanismo de recomendação é um sistema de filtragem de dados que opera em diferentes algoritmos de aprendizado de máquina para recomendar produtos, serviços e informações aos usuários com base na análise de dados. Ele funciona com o princípio de encontrar padrões nos dados de comportamento do cliente, empregando uma variedade de fatores, como preferências do cliente, histórico de transações anteriores, atributos ou contexto situacional.

Os dados usados ​​para encontrar insights podem ser coletados de forma implícita ou explícita. As empresas geralmente usam petabytes de dados para seus mecanismos de recomendação para apresentar seus pontos de vista com suas experiências, comportamentos, preferências e interesses.

Nesse mercado em constante evolução de densidade de informações e sobrecarga de produtos, cada empresa usa mecanismos de recomendações para propósitos ligeiramente diferentes. Ainda assim, todos têm o mesmo objetivo de gerar mais vendas, aumentar o envolvimento e a retenção de clientes e fornecer aos consumidores um conhecimento e soluções personalizadas.

Por que os Mecanismos de Recomendação são importantes no ML?

Não há dúvida de que os mecanismos de recomendação são uma maneira extraordinária de aprimorar a experiência do usuário, estimular a demanda, aumentar a receita, aumentar as taxas de cliques (CTRs), envolver ativamente os usuários e outras métricas cruciais. Como poderosas ferramentas de filtragem de dados, os mecanismos de recomendação funcionam em tempo real. Eles podem ser benéficos quando há uma demanda para dar aos usuários sugestões e conselhos personalizados.

Tomemos a Netflix como exemplo.

Existem milhares de filmes e várias categorias de programas para assistir. Ainda assim, a Netflix oferece uma seleção muito mais opinativa de programas de anúncios de filmes que você provavelmente gostará. Com essa estratégia, a Netflix atinge taxas de cancelamento mais baixas, economiza um bilhão de dólares por ano, economiza seu tempo e oferece uma melhor experiência ao usuário.

É por isso que os mecanismos de recomendações são essenciais e exatamente quantas empresas estão aumentando as oportunidades de engajamento com seus produtos, oferecendo um fluxo mais significativo de oportunidades de vendas cruzadas.

Diferentes técnicas de mecanismos de recomendação

Existem três tipos diferentes de mecanismos de recomendação conhecidos em aprendizado de máquina, e são eles:

1. Filtragem Colaborativa

O método de filtragem colaborativa coleta e analisa dados sobre o comportamento do usuário, atividades online e preferências para prever o que eles vão gostar com base na semelhança com outros usuários. Ele usa uma fórmula de estilo de matriz para plotar e calcular essas semelhanças.

Advantage

Uma vantagem significativa da filtragem colaborativa é que ela não precisa analisar ou entender o objeto (produtos, filmes, livros) para recomendar itens complexos com precisão. Não há dependência do conteúdo analisável da máquina, o que significa que ele escolhe recomendações com base no que sabe sobre o usuário.

Exemplo

Se o usuário X gostar do Livro A, Livro B e Livro C enquanto o usuário Y gostar do Livro A, Livro B e Livro D, eles terão interesses semelhantes. Assim, é favoravelmente possível que o usuário X selecione o Livro D e o usuário Y goste de ler o Livro C. É assim que a filtragem colaborativa acontece.

2. Filtragem baseada em conteúdo

A filtragem baseada em conteúdo funciona com o princípio de descrever um produto e um perfil das escolhas desejadas do usuário. Assume-se que você também gostará deste outro item se gostar de um item específico. Os produtos são definidos usando palavras-chave (gênero, tipo de produto, cor, tamanho da palavra) para fazer recomendações. Um perfil de usuário é criado para descrever o tipo de item que esse usuário gosta. Em seguida, o algoritmo avalia a similaridade dos itens usando cosseno e distâncias euclidianas.

Advantage

Uma vantagem significativa dessa técnica de mecanismo de recomendação é que ela não precisa de dados adicionais sobre outros usuários, pois as recomendações são específicas para esse usuário. Além disso, esse modelo pode capturar os interesses particulares de um usuário e sugerir objetos de nicho nos quais poucos outros usuários estão interessados.

Exemplo

Suponha que um usuário X goste de assistir a filmes de ação como o Homem-Aranha. Nesse caso, essa técnica de mecanismo de recomendação recomenda apenas filmes do gênero ação ou filmes que descrevam Tom Holland.

3. Modelo Híbrido

Em sistemas de recomendação híbridos, tanto os dados meta (colaborativos) quanto os dados transacionais (baseados em conteúdo) são usados ​​simultaneamente para sugerir uma gama mais ampla de itens aos usuários. Nesta técnica, tags de processamento de linguagem natural podem ser alocadas para cada objeto (filme, música), e equações vetoriais calculam a similaridade. Uma matriz de filtragem colaborativa pode sugerir coisas aos usuários, dependendo de seus comportamentos, ações e intenções.

Vantagens

Esse sistema de recomendação está em alta e é dito que supera os dois métodos acima em termos de precisão.

Exemplo

A Netflix usa um mecanismo de recomendação híbrido. Ele faz recomendações analisando os interesses do usuário (colaborativo) e recomendando programas/filmes que compartilham atributos semelhantes com aqueles altamente avaliados pelo usuário (baseados em conteúdo).

Funcionamento dos motores de recomendação

Os dados são o elemento mais vital na construção de um mecanismo de recomendação. É o bloco de construção a partir do qual os padrões são derivados por algoritmos. Quanto mais detalhes ele tiver, mais precisa e prática ele fornecerá recomendações de geração de receita apropriadas. Basicamente, um mecanismo de recomendação funciona usando uma combinação de dados e algoritmos de aprendizado de máquina em quatro fases. Vamos entendê-los em detalhes agora:

1. Coleção de dados

A primeira e mais crucial etapa para criar um mecanismo de recomendação é reunir os dados apropriados para cada usuário. Existem dois tipos de dados, ou seja, Explícito dados que contêm informações coletadas de entradas do usuário, como classificações, comentários, gostos, desgostos ou comentários sobre produtos.

Em contrapartida, temos Implícito dados que contêm informações coletadas de atividades do usuário, como histórico de pesquisa na web, cliques, ações de carrinho, log de pesquisa e histórico de pedidos.

O perfil de dados de cada usuário se tornará mais distinto ao longo do tempo; portanto, também é crucial coletar dados de atributos do cliente, como:

  • demografia (idade, sexo)
  • Psicografia (interesses, valores) para identificar clientes semelhantes
  • dados de recursos (gênero, tipo de objeto) para determinar a semelhança de produtos semelhantes.

2. Armazenamento de Dados

Depois de coletar os dados, o próximo passo é armazená-los de forma eficiente. À medida que você coleta mais dados, um armazenamento amplo e escalável deve estar disponível. Várias opções de armazenamento estão disponíveis dependendo do tipo de dados que você coleta, como NoSQL, um banco de dados SQL padrão, MongoDB e AWS.

Ao escolher as melhores opções de armazenamento, deve-se considerar alguns fatores: facilidade de implementação, tamanho do armazenamento de dados, integração e portabilidade.

3. Analise os dados

Depois de coletar os dados, você precisa analisá-los. Os dados devem então ser perfurados e analisados ​​para oferecer recomendações imediatas. Os métodos mais comuns nos quais você pode analisar dados são:

  • Análise em tempo real, em que o sistema utiliza ferramentas que avaliam e analisam os eventos à medida que são criados. Essa técnica é implementada principalmente quando queremos fornecer recomendações instantâneas.
  • Análise de lote, em que o processamento e a análise dos dados são feitos periodicamente. Esta técnica é implementada principalmente quando queremos enviar e-mails com recomendações.
  • Análise quase em tempo real, em que você analisa e processa dados em minutos em vez de segundos, pois não precisa deles imediatamente. Essa técnica é implementada principalmente quando fornecemos recomendações enquanto o usuário ainda está no site.

4. Filtrando os dados

Depois de analisar os dados, a etapa final é filtrar com precisão os dados para fornecer recomendações valiosas. Diferentes matrizes, regras matemáticas e fórmulas são aplicadas aos dados para fornecer a sugestão certa. Você deve escolher o algoritmo apropriado e o resultado dessa filtragem são as recomendações.

Desafios dos mecanismos de recomendação

A perfeição simplesmente não existe. Um físico teórico inglês “Stephen Hawking”, disse uma vez:

“Uma das regras básicas do universo é que nada é perfeito.”

Da mesma forma, existem alguns desafios que as empresas precisam superar para construir um sistema de recomendação eficaz. Aqui estão alguns deles:

1. O problema do ARRANQUE A FRIO

Esse problema surge quando um novo usuário ingressa no sistema ou adiciona novos itens ao registro. O sistema de recomendação não pode sugerir inicialmente este novo item ou usuário porque não possui nenhuma classificação ou revisão. Assim, torna-se um desafio para o mecanismo prever a preferência ou prioridades do novo usuário, ou a classificação dos novos itens, levando a recomendações menos precisas.

Por exemplo, um novo filme na Netflix não pode ser recomendado até que obtenha algumas visualizações e classificações.

No entanto, um modelo baseado em aprendizado profundo pode resolver o problema do cold start porque esses modelos não dependem muito do comportamento do usuário para fazer previsões. Ele pode otimizar as correlações entre o usuário e o item examinando o contexto do produto e os detalhes do usuário, como descrições do produto, imagens e comportamentos do usuário.

2. Problema de esparsidade de dados

Como todos sabemos, os mecanismos de recomendação dependem muito dos dados. Em algumas situações, alguns usuários não avaliam ou avaliam os itens que compraram. Se não tivermos dados de alta qualidade, o modelo de classificação se torna muito esparso, levando a problemas de esparsidade de dados.

Esse problema torna difícil para o algoritmo encontrar usuários com classificações ou interesses semelhantes.

Para garantir os dados de melhor qualidade e aproveitar ao máximo o mecanismo de recomendação, faça a si mesmo quatro perguntas:

  • Quão recentes são os dados?
  • Quão barulhenta é a informação?
  • Quão diversificada é a informação?
  • Com que rapidez você pode alimentar novos dados para seu modelo de sistema de recomendação?

As perguntas acima garantirão que sua empresa atenda aos requisitos complexos de análise de dados.

3. Problema de alteração das preferências do usuário

As interações entre o usuário e o item em avaliações e avaliações podem gerar grandes mudanças de dados.

Por exemplo, posso estar no Netflix hoje para assistir a um filme romântico com minha namorada. Mas amanhã, posso ter um humor diferente, e um thriller psicológico clássico é o que eu gostaria de assistir.

Sobre a questão das preferências do usuário, os mecanismos de recomendação podem rotular os usuários erroneamente, o que interpretará os resultados em grandes conjuntos de dados de maneira ineficiente. Portanto, a escalabilidade é um grande desafio para esses conjuntos de dados, e alguns métodos avançados em grande escala são necessários para resolver esse problema.

Como construir um mecanismo de recomendação em Python?

Esta seção do guia ajudará você a criar sistemas básicos de recomendação em Python. Vamos nos concentrar na construção de um sistema de recomendação básico, recomendando itens que sejam mais comparáveis ​​a um item específico, no nosso caso, filmes. Tenha em mente que este não é um mecanismo de recomendação exato e robusto. Apenas sugere quais filmes/itens são mais semelhantes à sua preferência de filme.

Você pode encontrar o código e os arquivos de dados no final desta seção. Então vamos começar:

Observação: É altamente recomendável operar no google collab ou no notebook jupyter para executar este código.

#1. Importe as bibliotecas necessárias.

Importe bibliotecas de aprendizado de máquina numpy e pandas, pois as usaremos para quadros de dados e avaliação de correlações.

Code

importar numpy como np importar pandas como pd

#2. Obtenha os dados

Defina os nomes das colunas, leia o arquivo csv para os filmes e revise o conjunto de dados e imprima as primeiras 5 linhas.

Code

column_names = ['user_id', 'item_id', 'rating', 'timestamp'] df = pd.read_csv('u.data', sep='t', nomes=column_names) df.head ()

saída

Mecanismos de recomendação 2022

Como você pode ver acima, temos quatro colunas: user id, que é único para cada usuário. O ID do item é exclusivo para cada filme, as classificações do filme e seu carimbo de data/hora.

Agora vamos aos títulos dos filmes:

Code

movie_titles = pd.read_csv("Movie_Id_Titles") movie_titles.head()

saída

Saída | Mecanismos de recomendação 2022

Leia os dados usando a biblioteca dos pandas e imprima as 5 primeiras linhas do conjunto de dados. Temos o id e o título de cada filme.

Agora podemos juntar as duas colunas:

Code

df = pd.merge(df,movie_titles,on='item_id') df.head ()

saída

Código | Mecanismos de recomendação 2022

Agora temos o dataframe combinado, que usaremos a seguir para a Análise Exploratória de Dados (EDA).

#3. Análise exploratória de dados

Vamos examinar um pouco os dados e dar uma olhada em alguns dos filmes mais bem avaliados.

As importações de visualização serão nosso primeiro passo na EDA.

Code

importar matplotlib.pyplot como plt importado do mar como sns sns.set_style('branco') % matplotlib inline

Em seguida, criaremos um dataframe de classificação com classificação média e número de classificações como nossas duas colunas:

Code

df.groupby('title')['rating'].mean().sort_values(ascending=False).head()

saída

Análise exploratória de dados

Code

df.groupby('title')['rating'].count().sort_values(ascending=False).head()

saída

Saída 3 | Mecanismos de recomendação 2022

Code

classificações = pd.DataFrame(df.groupby('title')['rating'].mean()) avaliações.head()

saída

Saída 4 | Mecanismos de recomendação 2022

Em seguida, defina o número de colunas de classificação ao lado das classificações médias:

Code

ratings['num of ratings'] = pd.DataFrame(df.groupby('title')['rating'].count()) avaliações.head()

saída

Mecanismos de recomendação 2022

Plote alguns histogramas para verificar várias classificações visualmente:

Code

plt.figure (figsize = (10,4)) ratings['num of ratings'].hist(bins=70)

saída

Mecanismos de recomendação 2022 | saída

Code

plt.figure (figsize = (10,4)) classificações['rating'].hist(bins=70)

saída

Saída | Mecanismos de recomendação 2022

Code

sns.jointplot(x='rating',y='num of ratings',data=ratings,alpha=0.5)

saída

Mecanismos de recomendação 2022

OK! Agora que temos uma visão abrangente da aparência dos dados, vamos seguir para a construção de um sistema de recomendação simples em Python:

#4. Recomendando filmes semelhantes

Agora vamos construir uma matriz com os IDs do usuário e o título do filme. Cada célula consistirá na classificação do usuário desse filme.

Observação: Haverá muitos NaN valores porque a maioria das pessoas não viu a maior parte do filme.

Code

moviemat = df.pivot_table(index='user_id',columns='title',values='rating') moviemat.head()

saída

Recomendando filmes semelhantes

Imprima os filmes mais cotados:

Code

ratings.sort_values('num of ratings',ascending=False).head(10)

saída

saída | Recomendando filmes semelhantes

Vamos escolher dois filmes: Star Wars, um filme de ficção científica. E o outro é Liar Liar, que é uma comédia. O próximo passo é obter as classificações dos usuários para esses dois filmes:

Code

starwars_user_ratings = moviemat['Star Wars (1977)'] liarliar_user_ratings = moviemat['Liar Liar (1997)'] starwars_user_ratings.head()

saída

Recomendando Filmes Semelhantes | saída

Podemos então usar o método corrwith() para obter correlações entre duas séries de pandas:

Code

similar_to_starwars = moviemat.corrwith(starwars_user_ratings) similar_to_liarliar = moviemat.corrwith(liarliar_user_ratings)

saída

Saída | Recomendando filmes semelhantes

Ainda existem muitos valores nulos que podem ser limpos removendo os valores NaN. Então usamos um DataFrame em vez de uma série:

Code

corr_starwars = pd.DataFrame(similar_to_starwars,columns=['Correlation']) corr_starwars.dropna(inplace=True) corr_starwars.head()

saída

Saída de código

Agora, suponha que classifiquemos o dataframe por correlação. Nesse caso, devemos obter os filmes mais comparáveis, no entanto, observe que recebemos alguns filmes que realmente não fazem sentido.

Isso ocorre porque há muitos filmes assistidos apenas uma vez por usuários que também assistiram a guerra nas estrelas.

Code

corr_starwars.sort_values('Correlation',ascending=False).head(10)

saída

Saída | Recomendar Motores 2022

Podemos corrigir isso filtrando filmes com menos de 100 comentários. Podemos determinar esse valor com base no histograma que traçamos na seção EDA anteriormente.

Code

corr_starwars = corr_starwars.join(ratings['num of ratings']) corr_starwars.head()

saída

Saída | Motores recomendados 2022

Agora classifique os valores e testemunhe como os títulos tornam muito mais compreensível:

Code

corr_starwars[corr_starwars['num of ratings']>100].sort_values('Correlation',ascending=False).head()

saída

Saída de código | Motores recomendados 2022

Agora os mesmos rendimentos para o filme de comédia Liar Liar:

Code

corr_liarliar = pd.DataFrame(similar_to_liarliar,columns=['Correlation']) corr_liarliar.dropna(inplace=True) corr_liarliar = corr_liarliar.join(ratings['num of ratings']) corr_liarliar[corr_liarliar['num of ratings']>100].sort_values('Correlation',ascending=False).head()

saída

Motores recomendados 2022

Ótimo trabalho, você criou seu próprio mecanismo de recomendação de filmes.

Obs: Acesse aqui o google notebook.

Aplicativos e principais empresas que usam mecanismos de recomendação

Muitos setores empregam mecanismos de recomendação para aumentar a interação do usuário e melhorar as perspectivas de compra. Como todos vimos, os mecanismos de recomendação podem mudar a forma como as empresas se comunicam com os usuários e maximizar o retorno sobre o investimento (ROI) com base nas informações que podem coletar.

Veremos como quase todas as empresas usam um mecanismo de recomendação para ter uma chance de lucrar.

1. Comércio Eletrônico

O comércio eletrônico é uma indústria em que os mecanismos de recomendação foram amplamente empregados pela primeira vez. As empresas de comércio eletrônico são mais adequadas para fornecer recomendações precisas a milhões de clientes e dados em seu banco de dados online.

2. Varejo

Os dados de compras são as informações mais valiosas para um algoritmo de aprendizado de máquina. É o ponto de dados mais preciso sobre a intenção de um usuário. Varejistas com muitos dados de compras estão na vanguarda das empresas gerando recomendações concretas para seus clientes.

3. meios de comunicação

Assim como o comércio eletrônico, as empresas de mídia são as primeiras a adotar as técnicas dos mecanismos de recomendação. É difícil perceber um site de notícias sem um mecanismo de recomendação em ação.

4. Bancário

O setor bancário é uma indústria de mercado de massa utilizada digitalmente por milhões de pessoas e é primordial para recomendações. Compreender a situação financeira exata de um cliente e as escolhas anteriores, correlacionadas com dados de milhares de usuários comparáveis, é bastante decisivo.

5. Telecomunicações

Este setor compartilha dinâmicas semelhantes com o setor bancário. As empresas de telecomunicações têm as credenciais de milhões de clientes cujas ações são documentadas. Sua gama de produtos também é moderadamente estreita em comparação com outros setores, tornando as recomendações em telecomunicações uma solução mais gerenciável.

6. Utilitários

Dinâmica semelhante com as telecomunicações, mas as concessionárias têm um escopo de produtos ainda mais limitado, tornando as recomendações relativamente fáceis de usar.

As principais empresas que usam mecanismos de recomendação incluem

  • Amazon                    
  • Netflix
  • Spotify
  • LinkedIn
  • YouTube
  • TikTok    
  • Instagram
  • Facebook
  • mecha
  • Quora
  • Google
  • Yahoo        

Considerações Finais

Os mecanismos de recomendação são uma poderosa ferramenta de marketing que o ajudará a fazer mais vendas, vendas cruzadas e impulsionar seus negócios. Muitas coisas estão acontecendo no campo dos mecanismos de recomendação. Toda empresa precisa se manter atualizada com a tecnologia para fornecer o melhor conjunto de recomendações de satisfação a todos os seus usuários.

Aqui chegamos ao final deste guia. Espero que todos os tópicos e explicações sejam úteis o suficiente para ajudá-lo a iniciar sua jornada nos mecanismos de recomendação em aprendizado de máquina.

Leia mais artigos em nosso blog sobre Motores de Recomendação

Se você ainda tiver alguma dúvida, entre em contato comigo em minhas redes sociais, e terei prazer em ajudá-lo. Você pode ler mais sobre mim abaixo:

Sou Cientista de Dados com bacharelado em Ciência da Computação com especialização em Machine Learning, Inteligência Artificial e Visão Computacional. Mrinal também é um blogueiro freelance, autor e geek com cinco anos de experiência em seu trabalho. Com experiência na maioria das áreas da ciência da computação, atualmente estou cursando Mestrado em Computação Aplicada com especialização em IA pela Universidade de Windsor, e sou redatora de conteúdo e analista de conteúdo Freelance.

Leia mais sobre motores de recomendação por Mrinal Walia:

1. Os 5 principais projetos de sistema de recomendação de aprendizado de máquina de código aberto com recursos

2. Projetos de aprendizado profundo de código aberto obrigatórios para estudantes de ciência da computação

A mídia mostrada neste artigo não é propriedade da Analytics Vidhya e é usada a critério do Autor. 

Fonte: https://www.analyticsvidhya.com/blog/2022/01/a-comprehensive-guide-on-recommendation-engines-in-2022/

Carimbo de hora:

Mais de Análise Vidhya