Pontuar o sistema de recomendação grande e profundo

Este artigo descreve como usar o componente Pontuação do Sistema de Recomendação Grande e Profundo no Azure Machine Learning, para criar previsões com base em um modelo de recomendação treinado, com base no aprendizado grande e profundo do Google.

O sistema de recomendação grande e profundo pode gerar dois tipos diferentes de previsões:

Ao criar o último tipo de previsões, você pode operar no modo de produção ou no modo de avaliação.

  • O modo de produção considera todos os usuários ou itens e normalmente é usado em um serviço Web. Você pode criar pontuações para novos usuários, não apenas os usuários vistos durante o treinamento.

  • Modo de avaliação opera em um conjunto reduzido de usuários ou itens que podem ser avaliados, ou são normalmente usados durante a experimentação.

Mais detalhes sobre o sistema de recomendação grande e profundo e sua teoria subjacente podem ser encontrados no artigo de pesquisa relevante: Aprendizado grande e profundo para sistemas de recomendação.

Como configurar a pontuação do sistema de recomendação grande e profundo

Esse componente dá suporte a diferentes tipos de recomendações, cada um com requisitos diferentes. Clique no link para o tipo de dados que você tem e o tipo de recomendação que você deseja criar.

Prever classificações

Quando você prevê as classificações, o modelo calcula como um determinado usuário reagirá a um determinado item, considerando os dados de treinamento. Portanto, os dados de entrada para pontuação devem fornecer um usuário e o item a serem classificados.

  1. Adicione um modelo de recomendação grande e profundo ao seu experimento e conecte-o a um Modelo de recomendação grande e profundo. Você deve criar o modelo usando Treinar sistema de recomendação grande e profundo.

  2. Tipo de previsão de recomendação: Selecione Previsão de classificação. Nenhum parâmetro adicional é necessário.

  3. Adicione os dados para os quais você deseja fazer previsões e conecte-os ao Conjunto de dados a ser pontuado.

    Para prever as classificações, o conjunto de dados de entrada deve conter pares de item-usuário.

    O conjunto de dados pode conter uma terceira coluna opcional de classificações para o par de item-usuário na primeira e segunda colunas, mas a terceira coluna será ignorada durante a previsão.

  4. (Opcional). Se você tiver um conjunto de dados de recursos do usuário, conecte-o aos Recursos do usuário.

    O conjunto de dados dos recursos do usuário deve conter o identificador de usuário na primeira coluna. As colunas restantes devem conter valores que caracterizam os usuários, como o gênero, as preferências, o local etc.

    Os recursos de usuários que têm itens classificados no conjunto de recursos de treinamento são ignorados por Pontuação do sistema de recomendação grande e profundo, pois já foram aprendidos durante o treinamento. Portanto, filtre seu conjunto de dados com antecedência para incluir somente usuários de inicialização a frio, ou usuários que não tenham classificado nenhum item.

    Aviso

    Se o modelo foi treinado sem usar recursos de usuário, você não pode introduzir recursos de usuário durante a pontuação.

  5. Se você tiver um conjunto de dados de recursos do item, poderá conectá-lo aos recursos do item.

    O conjunto de dados de recursos de item deve conter um identificador de item na primeira coluna. As colunas restantes devem conter valores que caracterizam os itens.

    Os recursos de itens classificados no conjunto de dados de treinamento são ignorados por Pontuação do sistema de recomendação grande e profundo, pois já foram aprendidos durante o treinamento. Portanto, restrinja o conjunto de dados de pontuação para itens de inicialização a frioou itens que não tenham sido classificados por nenhum usuário.

    Aviso

    Se o modelo foi treinado sem usar recursos de item, você não pode introduzir recursos de item durante a pontuação.

  6. Execute o experimento.

Resultados para previsões de classificação

O conjunto de dados de saída contém três colunas, contendo o usuário, o item e a classificação prevista para cada usuário de entrada e item.

Além disso, as seguintes alterações são aplicadas durante a pontuação:

  • Para uma coluna de recurso numérico de usuário ou item, os valores ausentes são substituídos automaticamente pela média de seus valores de conjunto de treinamento não ausentes. Para o recurso categórico, os valores ausentes são substituídos pelo mesmo valor categórico diferente de quaisquer valores possíveis desse recurso.
  • Nenhuma conversão é aplicada aos valores de recursos, para manter sua dispersão.

Itens recomendados

Para recomendar itens para os usuários, você fornece uma lista de usuários e itens como entrada. A partir desses dados, o modelo usa seu conhecimento sobre itens e usuários existentes para gerar uma lista de itens com um apelo provável para cada usuário. Você pode personalizar o número de recomendações retornado e definir um limite para o número de recomendações anteriores que são necessárias para gerar uma recomendação.

  1. Adicione um modelo de recomendação grande e profundo ao seu experimento e conecte-o a um Modelo de recomendação grande e profundo. Você deve criar o modelo usando Treinar sistema de recomendação grande e profundo.

  2. Para recomendar itens para uma determinada lista de usuários, defina Tipo de previsão do sistema de recomendação para Recomendação de item.

  3. Seleção de item recomendada: indique se você está usando o componente de pontuação em produção ou para avaliação de modelo, escolhendo um destes valores:

    • De itens classificados (para avaliação de modelo) : Selecione esta opção se você estiver desenvolvendo ou testando um modelo. Essa opção habilita o modo de avaliaçãoe o componente faz recomendações apenas dos itens no conjunto de dados de entrada que foram classificados.
    • De todos os itens: Selecione esta opção se você estiver configurando um experimento para usar em um serviço Web ou produção. Essa opção habilita o modo de produção, e o componente faz recomendações de todos os itens vistos durante o treinamento.
    • De itens sem classificação (para sugerir novos itens para os usuários) : selecione esta opção se desejar que o componente faça recomendações apenas desses itens no conjunto de dados de treinamento que não foram classificados.
  4. Adicione os dados para os quais você deseja fazer previsões e conecte-os ao Conjunto de dados a ser pontuado.

    • Se você escolher a opção, De todos os itens, o conjunto de dados de entrada deverá consistir em apenas uma coluna, contendo os identificadores de usuários para os quais fazer recomendações.

      O conjunto de dados pode incluir duas colunas extras de identificadores e classificações de item, mas essas duas colunas são ignoradas.

    • Se você escolher a opção De itens classificados (para avaliação de modelo) , o conjunto de dados de entrada deverá consistir em pares item-usuário. A primeira coluna deve conter o identificador de usuário. A segunda coluna deve conter os identificadores de item correspondentes.

      O conjunto de dados pode incluir uma terceira coluna de classificações de usuário-item, mas essa coluna é ignorada.

    • Para De itens sem classificação (para sugerir novos itens para os usuários) , o conjunto de dados de entrada deve consistir em pares de item-usuário. A primeira coluna deve conter o identificador de usuário. A segunda coluna deve conter os identificadores de item correspondentes.

      O conjunto de dados pode incluir uma terceira coluna de classificações de usuário-item, mas essa coluna é ignorada.

  5. (Opcional). Se você tiver um conjunto de dados de recursos do usuário, conecte-o aos Recursos do usuário.

    A primeira coluna no conjunto de dados dos recursos do usuário deve conter o identificador de usuário. As colunas restantes devem conter valores que caracterizam o usuário, como o gênero, as preferências, o local etc.

    Os recursos de usuários que têm itens classificados são ignorados por Pontuação do sistema de recomendação grande e profundo, porque esses recursos já foram aprendidos durante o treinamento. Portanto, filtre seu conjunto de dados com antecedência para incluir somente usuários de inicialização a frioou usuários que não tenham classificado nenhum item.

    Aviso

    Se o modelo foi treinado sem usar recursos de usuário, você não pode introduzir recursos de usuário durante a pontuação.

  6. (Opcional) Se você tiver um conjunto de dados de recursos do item, poderá conectá-lo aos Recursos do item.

    A primeira coluna no conjunto de dados de recursos de item deve conter um identificador de item. As colunas restantes devem conter valores que caracterizam os itens.

    Os recursos de itens classificados são ignorados por Pontuação do sistema de recomendação grande e profundo, porque esses recursos já foram aprendidos durante o treinamento. Portanto, restrinja o conjunto de dados de pontuação para itens de inicialização a frioou itens que não tenham sido classificados por nenhum usuário.

    Aviso

    Se o modelo foi treinado sem usar recursos de item, não use recursos de item ao pontuar.

  7. Número máximo de itens a serem recomendados para um usuário: Digite o número de itens a serem retornados para cada usuário. Por padrão, são recomendados 5 itens.

  8. Tamanho mínimo do pool de recomendações por usuário: digite um valor que indique quantas recomendações anteriores são necessárias. Por padrão, esse parâmetro é definido como 2, o que significa que o item deve ter sido recomendado por pelo menos dois outros usuários.

    Essa opção deve ser usada somente se você estiver pontuando no modo de avaliação. A opção não estará disponível se você selecionar De todos os itens ou De itens sem classificação (para sugerir novos itens para os usuários) .

  9. Para itens sem classificação (para sugerir novos itens para os usuários) , use a terceira porta de entrada, denominada Dados de treinamento, para remover os itens que já foram classificados dos resultados da previsão.

    Para aplicar esse filtro, conecte o conjunto de dados de treinamento original à porta de entrada.

  10. Execute o experimento.

Resultados da recomendação do item

O conjunto de dados pontuado retornado pela Pontuação do sistema de recomendação grande e profundo lista os itens recomendados para cada usuário.

  • A primeira coluna contém os identificadores de usuário.
  • Um número de colunas adicionais são geradas, dependendo do valor definido para o Número máximo de itens a ser recomendado para um usuário. Cada coluna contém um item recomendado (por identificador). As recomendações são ordenadas por afinidade de usuário-item, com o item com a afinidade mais alta colocada na coluna, Item 1.

Observações técnicas

Esta seção contém as respostas para algumas perguntas comuns sobre como usar o sistema de recomendação grande e profundo para criar previsões.

Usuários e recomendações de inicialização a frio

Normalmente, para criar recomendações, o componente Pontuação do Sistema de Recomendação Grande e Profundo requer as mesmas entradas que você usou ao treinar o modelo, incluindo uma ID de usuário. Isso ocorre porque o algoritmo precisa saber se aprendeu algo sobre este usuário durante o treinamento.

Mas, no caso de novos usuários, talvez você não tenha uma ID de usuário, apenas alguns recursos do usuário, como idade, sexo e assim por diante.

Você ainda pode criar recomendações para usuários que são novos no sistema tratando-os como usuários de inicialização a frio. Para esses usuários, o algoritmo de recomendação não usa o histórico antigo nem as classificações anteriores, somente os recursos de usuário.

Para fins de previsão, um usuário de inicialização a frio é definido como usuário com uma ID que não foi usada para treinamento. Para garantir que as IDs não correspondam às IDs usadas no treinamento, você pode criar novos identificadores. Por exemplo, você pode gerar IDs aleatórias em um intervalo especificado ou alocar uma série de IDs com antecedência para usuários de inicialização a frio.

No entanto, se você não tiver nenhum dado de filtragem colaborativo, como um vetor de recursos do usuário, será melhor usar um aprendiz de classificação ou regressão.

Uso de produção do sistema de recomendação grande e profundo

Se você tiver experiência com o sistema de recomendação grande e profundo e mover o modelo para produção, esteja ciente dessas diferenças principais ao usar o sistema de recomendação no modo de avaliação e no modo de produção:

  • A avaliação, por definição, exige previsões que podem ser verificadas em relação a verdades em um conjunto de teste. Portanto, quando você avalia o recomendador, ele deve prever apenas os itens que tenham sido classificados no conjunto de teste. Isso necessariamente restringe os valores possíveis que estão previstos.

    No entanto, ao colocar em operação o modelo, você normalmente altera o modo de previsão para fazer recomendações com base em todos os itens possíveis, para obter as melhores previsões. Para muitas dessas previsões, não haverá nenhuma verdade correspondente, por isso, a precisão da recomendação não pode ser verificada da mesma forma como durante a experimentação.

  • Se não fornecer uma ID de usuário na produção e fornecer um vetor de recurso, você pode obter como resposta uma lista de todas as recomendações para todos os usuários possíveis. Certifique-se de fornecer uma ID de usuário.

    Para limitar o número de recomendações retornadas, especifique também o número máximo de itens retornados por usuário.

Próximas etapas

Confira o conjunto de componentes disponíveis do Azure Machine Learning.