Vista geral das recomendações

Os sistemas de recomendações são uma das aplicações mais bem-sucedidas e generalizadas da aprendizagem automática para empresas. Pode usar um sistema de recomendações para ajudar os utilizadores a encontrar conteúdo apelativo num grande conjunto de conteúdo. Por exemplo, a Google Play Store oferece milhões de apps, enquanto o YouTube oferece milhares de milhões de vídeos, com mais apps e vídeos adicionados todos os dias. Os utilizadores podem usar a pesquisa para encontrar novo conteúdo, mas esta está limitada pelos termos de pesquisa que usam. Um sistema de recomendações pode sugerir conteúdo que os utilizadores podem não ter pensado em pesquisar por si próprios. Para mais informações, consulte o artigo Vista geral dos sistemas de recomendações.

Normalmente, os algoritmos de aprendizagem automática nos sistemas de recomendações são classificados nas seguintes categorias:

  • Filtragem baseada em conteúdo: usa a semelhança entre itens para fornecer recomendações. Por exemplo, se um utilizador vir dois vídeos de gatos fofos, o sistema de recomendações pode recomendar mais vídeos de animais fofos a esse utilizador.
  • Filtragem colaborativa: usa semelhanças entre utilizadores (com base em consultas de utilizadores) para fornecer recomendações. Por exemplo, se o utilizador A pesquisar conteúdo semelhante ao do utilizador B, e o utilizador B gostar do vídeo 1, o sistema de recomendações pode recomendar o vídeo 1 ao utilizador A, mesmo que o utilizador A não tenha visto vídeos semelhantes ao vídeo 1.

Modelos de fatorização de matrizes

Os modelos de fatorização de matrizes são amplamente usados como um método de filtragem colaborativa para sistemas de recomendações.

Num modelo de fatorização de matrizes, os pares utilizador-item são mapeados para uma matriz bidimensional, com os utilizadores únicos num eixo e os itens únicos no outro eixo. As classificações que um utilizador atribuiu a artigos residem nas células da matriz. Esta matriz não tem de estar completamente preenchida. Na maioria das vezes, os utilizadores não têm um valor para cada item. O objetivo do modelo de fatorização de matrizes é criar duas matrizes densas mais pequenas de ponderações que, quando multiplicadas, se aproximam dos valores das células da matriz original e fornecem classificações previstas para as células da matriz vazias.

Uma das matrizes mais pequenas contém os utilizadores únicos num eixo e o número de fatores latentes no outro eixo, conforme especificado pela opção NUM_FACTORS da declaração CREATE MODEL. A outra matriz mais pequena contém os itens únicos num eixo e o número de fatores latentes no outro eixo. Nesta matriz, as ponderações dos fatores latentes são geradas pelo algoritmo usado para preparar o modelo, com base nas combinações de utilizador-item da matriz de entrada.

Para mais informações, consulte o artigo Fatorização de matrizes.

Pode usar um modelo de fatorização de matriz com a função ML.RECOMMEND para fazer recomendações.

Outros modelos para recomendações

Para expandir um sistema de recomendações baseado em filtragem colaborativa para além do que é possível com um modelo de fatorização de matrizes, pode usar uma rede neural profunda (DNN) e modelos Wide-and-Deep com a função ML.PREDICT para fazer recomendações. Estes modelos podem incorporar funcionalidades de consultas e itens para melhorar a relevância das recomendações. Para obter mais informações, consulte os seguintes recursos:

Ao usar as predefinições nas declarações CREATE MODEL e nas funções de inferência, pode criar e usar um modelo de recomendação mesmo sem muitos conhecimentos de AA. No entanto, ter conhecimentos básicos sobre o desenvolvimento de ML e, em particular, sobre modelos de recomendações, ajuda a otimizar os seus dados e modelo para oferecer melhores resultados. Recomendamos que use os seguintes recursos para desenvolver familiaridade com as técnicas e os processos de ML: