Utilização de Redes Neurais em Sistemas de Recomendação

Gigantescas ondas de informações, dos mais variados tipos são lançadas diariamente na internet – o tal chamado “Fenômeno BIG DATA”.  E este volume de dados cresce em tal proporção que, sistemas de busca convencionais não estão mais sendo capazes de gerir e varrer tantas informações, prejudicando a qualidade com que os dados são apresentados aos usuários.

Em busca de solucionar – ou pelo menos amenizar – este problema, portais de venda e de conteúdo têm desprendido esforços cada vez maiores para tornar mais assertiva suas campanhas de maketing, através dos chamados “Sistemas de Recomendação (SR)”. Mas para entender como funcionam estes sistemas, é necessário conhecer sobre um assunto em alta na atualidade – A Inteligência Artifical (IA).

Inteligência Artificial: O passo humano nas máquinas

Segundo Ribeiro (2010, p.8), “a inteligência artificial é uma ciência multidisciplinar que busca desenvolver e aplicar técnicas computacionais que simulem o comportamento humano em atividades específicas”. De acordo com Lima, Pinheiro e Santos (2014), os primeiros estudos sobre inteligência artificial surgiram na década de 1940, marcada pela Segunda Guerra Mundial, onde houve a necessidade de desenvolver métodos tecnológicos voltados para análise balística, quebra de códigos e cálculos para projetos de arma nucleares.

A IA possibilita que máquinas aprendam com experiências, se ajustem a entradas de dados novas e executem tarefas similar a um ser humano. Tudo isso depende do deep learning e do processamento de linguagem natural, tecnologias das quais permitem que os computadores sejam treinados e possam reconhecer padrões nos dados apresentados a eles.

Reconhecimento de Padrões

A IA faz uso do reconhecimento de padrões para analisar e classificar dados, agrupando-os por similaridade, podendo ser identificadas preliminarmente ou dedutivamente. O reconhecimento de padrões é uma tarefa trivial ao ser humano, mas que se torna custosa às máquinas, uma vez que ainda não se conseguiu desenvolver um equipamento ou sistema com capacidade de reconhecimento à altura do cérebro humano.

O trabalho de reconhecer padrões é que permite identificar em qual grupo (ou classe) um dado novo pertence. Este tipo de trabalho é que permite que sistemas de recomendação, muito utilizados pelos e-commerces, ofertem produtos que os usuários estejam planejando adquirir, sem ao menos terem acessado o site do portal de vendas.

Mas, e como são identificados estes padrões???

Para identificar estes padrões dois tipos de métodos são mais utilizados hoje: o supervisionado e o não-supervisionado.

  • Método Supervisionado: É dado à máquina um conjunto de dados do qual já se sabe qual é a saída correta, e que deve ser semelhante ao grupo, percebendo a idéia de que saída e entrada possuem uma relação. É como se existisse um “professor” que ensinasse qual o tipo de comportamento que deveria ser exibido em cada situação.
  • Método Não-Supervisionado: Esse método, ao contrário do supervisionado, não possui uma rotulação prévia (não existe um “professor”). Conforme os dados forem sendo apresentados, a máquina precisa descobrir sozinha relações, padrões e regularidades e codificá-las nas saídas, criando grupos (processo chamado de clusterização).
Exemplo de Clusterização

E-business têm se valido destas ferramentas para desenvolver sistemas que conseguem identificar o perfil do usuário que está acessando seu portal de vendas e através de um cruzamento de dados com outros perfis de usuários similares, estão podendo direcionar sua força de marketing de forma mais assertiva. É o caso dos Sistemas de Recomendação.

O que é um Sistema de Recomendação (SR)?

Sistemas de Recomendação são, basicamente, um conjunto de algoritmos que utilizam técnicas de Aprendizagem de Máquinas (AM) e Recuperação de Informação (RI) para gerar recomendações baseadas em filtragens. Estas filtragens podem ser do tipo: colaborativa, baseada em conteúdo ou híbrida.

  • Filtragem Colaborativa: É uma técnica para recomendação baseada no conhecimento coletivo, ou seja, baseia-se nas preferências dos usuários acerca dos itens que compõem um determinado catálogo do sistema;
  • Filtragem Baseada em Conteúdo: Diferente da Filtragem Colaborativa, a Filtragem Baseada em Conteúdo leva em consideração os atributos dos itens para identificar similaridades entre o perfil do usuário e o perfil do item. Basicamente ela se baseia em itens que o usuário já tenha demonstrado interesse no passado para recomendar.
  • Filtragem Híbrida: Esta uma “mistura” das filtragens anteriores, buscando combinar as vantagens das duas e atenuar as desvantagens das mesmas.

Os SR’s têm então o objetivo de gerar recomendações válidas aos usuários de itens que possam os interessar, como por exemplo, sugestão de livros, filmes, amigos em redes sociais, etc. Para isso, um dos principais conceitos utilizados pelos SR’s é a similaridade, identificada pelo reconhecimento de padrões abordado anteriormente neste artigo. Para isso, os algoritmos mais utilizados são o KNN (K-Nearest Neighbors), Árvore de Decisão, Redes Bayesianas e Redes Neurais. Neste artigo, nossa ênfase se dará em cima das Redes Neurais, explicadas a seguir.

RNA – Redes Neurais Artificiais

Uma RNA compreende um conjunto de elementos de processamento conectados e organizados em camadas. Um dos modelos de RNAs é disposto em camadas, onde as unidades são ordenadas e classificadas pela sua topologia e a propagação natural da informação é da camada de entrada para a de saída, sem realimentação para as unidades anteriores.

As entradas são processadas e transformadas por uma função de ativação até que um determinado critério de parada seja atendido (quantidade de ciclos (épocas) ou erro mínimo), obtendo os pesos sinápticos que melhor se ajustem aos padrões de entrada. Nesse estágio, pode-se dizer que a rede está treinada. Contudo, a rede neural pode apresentar ou não a capacidade de generalização – permitir a classificação correta de padrões já conhecidos, mas que não faziam parte do conjunto de treinamento.

As RNA’s podem ser utilizadas na recomendação de sistemas de Recomendação baseadas em modelos. As RNA’s podem combinar vários módulos de recomendações ou várias fontes de dados, podendo ser exemplificado como na construção de um sistema de recomendação para TV a partir de quatro fontes de dados diferentes: informações de comunidades, contexto de exibição de programas, perfil de usuários e metadados dos programas.

Concluindo…

Neste viés, as RNA’s estão apresentando vantagens superiores sobre as demais técnicas, principalmente pelo fato de trabalharem muito bem com grandes volumes de dados, reduzindo a dimensionalidade sem perder representatividade da informação original. Outra vantagem é conseguir trabalhar com dados dinâmicos (ou de curto prazo), se comparados à algoritmos clássicos e também por conseguir a interação entre usuário e conteúdo, representando os dados de forma não-linear, permitindo que a generalização não seja tão limitada quanto demais métodos (Fatoração de Matrizes, por exemplo).

Autor: Valmor Marchi

Referências

FERNANDES, Marcela Mayara Barbosa; SEVERINO, Áxel Douglas Santos; FERREIRA, Patrick Pierre Fernandes. SISTEMAS DE RECOMENDAÇÃO WEB UTILIZANDO A REDE NEURAL ARTIFICIAL DO TIPO PERCEPTRON. 2014. Disponível em: <http://www.fepeg2014.unimontes.br/sites/default/files/resumos/arquivo_pdf_anais/artigo_-_sistemas_de_recomendacao_utilizando_uma_rede_neural_artificial_perceptron_1.pdf>. Acesso em: 14 nov. 2019.

LIMA, I.; SANTOS, F.; PINHEIRO, C. Inteligência Artificial. Rio de Janeiro: Elsevier, 2014.

RIBEIRO, R. Uma Introdução à Inteligência Computacional: Fundamentos, Ferramentas e Aplicações. Rio de Janeiro: IST-Rio, 2010.

SANTANA, Marlesson. Deep Learning para Sistemas de Recomendação (Parte 1) — Introdução. 2018. Disponível em: <https://medium.com/data-hackers/deep-learning-para-sistemas-de-recomenda%C3%A7%C3%A3o-parte-1-introdu%C3%A7%C3%A3o-b19a896c471e>. Acesso em: 16 nov. 2019.

VALIN, Allan. Inteligência Artificial: reconhecimento de padrões. 2009. Disponível em: <https://www.tecmundo.com.br/seguranca/3014-inteligencia-artificial-reconhecimento-de-padroes.htm>. Acesso em: 15 nov. 2019.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *