Suponha que você tenha a oportunidade de receber comentários ou avaliações de seus clientes ou de alguma outra fonte e queira avaliar o quão positivos eles são. Existe uma forma de analisar tais comentários chamada análise de sentimentos. Esta postagem se concentra na ferramenta de análise de sentimentos baseada em um modelo de rede neural profunda usando C#. Este modelo é adequado para uma ampla gama de tarefas.

API de análise de sentimentos para .NET

Se você quiser fazer a análise de sentimentos programaticamente, GroupDocs.Classification serve para você. Ele implementa um classificador de sentimento de uso geral que pode ser usado para avaliar o tom de análises de produtos, análises de lojas, análises de aplicativos, feedbacks, etc.

GroupDocs.Classification para .NET

Este artigo irá guiá-lo para a classificação de comentários e analisar a positividade usando C# com GroupDocs.Classification for .NET. Portanto, antes de começar, certifique-se de instalar a API de qualquer um dos seguintes métodos:

  • Instale usando o Gerenciador de Pacotes NuGet.
  • Baixe a DLL e faça referência a ela no projeto.

Como classificar texto usando análise de sentimento em C

Para resolver tal tarefa podemos usar uma classe geral chamada Classifier, ou podemos usar o Sentiment Classifier que é uma classe um pouco mais simples e leve. Aqui estão os passos:

  • Inicialize o SentimentClassifier.
  • Chame o método PositiveProbability da classe SentimentClassifier e passe o texto como parâmetro que precisa ser analisado.
  • O método PositiveProbability retornará a positividade variando de 0 a 1.

Aqui está o código C# para encontrar o tom de qualquer declaração usando a classificação de sentimento. Escolhemos o seguinte sentimento como exemplo:

“Experiência é simplesmente o nome que damos aos nossos erros”

// Analyze the positivity of text using sentiment classifier in C#.
var sentiment = "Experience is simply the name we give our mistakes";
var sentimentClassifier = new SentimentClassifier();
/// PositiveProbability method returns the positive probability of the sentiment.
var positiveProbability = sentimentClassifier.PositiveProbability(sentiment);
Console.WriteLine($"Positive Probability of the sentiment { positiveProbability }");
Positive Probability of the sentiment: **0.1118**

Qualquer valor maior que 0,5 significa que o sentimento é positivo e o intervalo entre 0 e 0,5 mostra que é negativo.

Agora, de acordo com a positividade extraída, você pode obter a Melhor Classe para esse sentimento e a probabilidade dessa Melhor Classe. Descobrimos que sua probabilidade positiva é de 0,11, portanto, deve ser classificado como um comentário negativo e sua Melhor Classe deve ser Negativo em vez de Positivo.

So what would be its Best Class Probability? Yes, it will be 0.89. Agora vamos ver no código:

var sentiment = "Experience is simply the name we give our mistakes";
/// Classify method returns ClassificationResult object with the best class probability and name.
var response = sentimentClassifier.Classify(sentiment);
Console.WriteLine($"Best Class Name: {response.BestClassName}");
Console.WriteLine($"Best Class Probability: { response.BestClassProbability}");
Best Class Name: **Negative**
Best Class Probability: **0.8882**

Classifique vários comentários usando análise de sentimento em C#

Normalmente temos milhares de comentários e feedback, então como podemos analisar o feedback de nossos clientes? É simples, basta colocar os feedbacks em um array. Deixe o array de strings ser a fonte de revisão. Também pode ser um arquivo ou a resposta analisada de um banco de dados ou serviço. Podemos transformar o array de strings no array float de probabilidades de sentimento positivo.

var sentiments = new string\[\] {
                "Now that is out of the way, this thing is a beast. It is fast and runs cool.",
                "Experience is simply the name we give our mistakes",
                "When I used compressed air a cloud of dust bellowed out from the card (small scuffs and scratches).",
                "This is Pathetic."
            };
            var classifier = new GroupDocs.Classification.SentimentClassifier();
            var sentimentPositivity = sentiments.Select(x => classifier.PositiveProbability(x)).ToArray();
            Console.WriteLine(string.Join("\\n", sentimentPositivity));
**0.8959** - "Now that is out of the way, this thing is a beast..."
**0.1118** - "Experience is simply the name we give our mistakes"
**0.1252** - "When I used compressed air a cloud ..."
**0.0970** - "This is Pathetic."

O que podemos fazer com os sentimentos do alvo? Podemos medir a positividade média ou mediana para o produto alvo, loja, etc. Selecione os piores valores e responda aos clientes. Também podemos fazer análises como encontrar inconsistências entre o valor de probabilidade positivo de um produto e sua classificação.

Esperamos que você ache este post útil. Você pode encontrar mais informações sobre classificação de texto ou análise de sentimentos em C# nos recursos mencionados.

Saiba mais sobre a API GroupDocs.Classification

Baixar e executar exemplos do GitHub é a melhor e mais fácil maneira de começar.

Veja também