Pontuar o sistema de recomendação SVD

Este artigo descreve como usar o módulo Pontuar o Sistema de Recomendação SVD no designer do Azure Machine Learning. Use este módulo para criar previsões usando um modelo de recomendação treinado com base no algoritmo de SVD (Decomposição de Valor Único).

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

Quando você estiver criando o segundo tipo de previsões, você poderá operar em um destes modos:

  • O modo de produção considera todos os usuários ou itens. Ele é 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. Para obter mais informações, consulte notas técnicas.

  • O modo de avaliação opera em um conjunto reduzido de usuários ou itens que podem ser avaliados. Normalmente, ele é usado durante operações de pipeline.

Para obter mais informações sobre o algoritmo do sistema de recomendação SVD, consulte o documento de pesquisa Técnicas de fatoração de matriz para sistemas de recomendação.

Como configurar Pontuar o Sistema de Recomendação SVD

Esse módulo dá suporte a dois tipos de previsões, cada uma com requisitos diferentes.

Previsão de classificações

Quando você prevê as classificações, o modelo calcula como um usuário reagirá a um determinado item, considerando os dados de treinamento. 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 treinado ao seu pipeline e conecte-o ao Sistema de Recomendação SVD Treinado. Você deve criar o modelo usando o módulo Treinar o Sistema de Recomendação SVD.

  2. Para Tipo de previsão de recomendação, selecione Previsão de Classificação. Nenhum outro parâmetro é obrigatório.

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

    Para o modelo 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. No entanto, a terceira coluna será ignorada durante a previsão.

  4. Envie o pipeline.

Resultados para previsões de classificação

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

Recomendações para usuários

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 retornadas. E você pode 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 treinado ao seu pipeline e conecte-o ao Sistema de Recomendação SVD Treinado. Você deve criar o modelo usando o módulo Treinar o Sistema de Recomendação SVD.

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

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

    • De todos os itens: selecione esta opção se você estiver configurando um pipeline para usar em um serviço Web ou em produção. Essa opção habilita o modo de produção. O módulo faz recomendações de todos os itens vistos durante o treinamento.

    • 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ção. Este módulo faz recomendações apenas dos itens no conjunto de dados de entrada que foram classificados.

    • De itens sem classificação (para sugerir novos itens para os usuários) : Selecione esta opção se desejar que o módulo 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.

    • Para De Todos os Itens, o conjunto de dados de entrada deve ser composto por uma coluna. Ele contém 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.

    • Para 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. Número máximo de itens a serem recomendados para um usuário: insira o número de itens a serem retornados para cada usuário. Por padrão, o módulo recomenda cinco itens.

  6. Tamanho mínimo do pool de recomendações por usuário: insira 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 pelo menos dois outros usuários recomendaram o item.

    Use esta opção 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) .

  7. 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.

  8. Envie o pipeline.

Resultados da recomendação do item

O conjunto de dados pontuado retornado pelo Pontuar o Sistema de Recomendação SVD 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 que você definiu 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 entre o item e o usuário. O item com afinidade mais alta é colocado na coluna Item 1.

Observações técnicas

Se você tiver um pipeline com o sistema de recomendação SVD e mover o modelo para produção, esteja ciente de que há diferenças importantes entre usar o sistema de recomendação no modo de avaliação e usá-lo 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. Quando você avalia o recomendador, ele deve prever apenas os itens que tenham sido classificados no conjunto de teste. Isso restringe os valores possíveis que estão previstos.

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 há nenhuma área real correspondente. Portanto, a precisão da recomendação não pode ser verificada da mesma maneira que durante as operações de pipeline.

Próximas etapas

Confira o conjunto de módulos disponíveis no Azure Machine Learning.