Stel dat u de mogelijkheid heeft om opmerkingen of beoordelingen van uw klanten of een andere bron te ontvangen en u wilt evalueren hoe positief ze zijn. Er is een manier om dergelijke opmerkingen te analyseren, genaamd sentimentanalyse. Dit bericht richt zich op de tool voor sentimentanalyse op basis van een diep neuraal netwerkmodel met behulp van C#. Dit model is geschikt voor een breed scala aan taken.

Sentimentanalyse-API voor .NET

Als u programmatisch sentimentanalyse wilt uitvoeren, dient GroupDocs.Classification dat doel voor u. Het implementeert een algemene sentimentclassificatie die kan worden gebruikt om de toon van productrecensies, winkelrecensies, applicatierecensies, feedbacks, enz. te evalueren.

GroupDocs.Classificatie voor .NET

Dit artikel leidt u naar de classificatie van opmerkingen en analyseert de positiviteit met behulp van C# met GroupDocs.Classification for .NET. Zorg er dus voordat u begint voor dat u de API installeert via een van de volgende methoden:

  • Installeer met behulp van NuGet Pakketbeheer.
  • Downloaden the DLL and reference it into the project.

Tekst classificeren met behulp van sentimentanalyse in C#

Om een dergelijke taak op te lossen, kunnen we een algemene klasse met de naam Classifier gebruiken, of we kunnen de Sentiment Classifier gebruiken, wat een iets eenvoudigere en lichtere klasse is. Dit zijn de stappen:

  • Initialiseer de SentimentClassifier.
  • Roep de methode PositiveProbability van de klasse SentimentClassifier aan en geef de tekst door als parameter die moet worden geanalyseerd.
  • De methode PositiveProbability retourneert de positiviteit van 0 tot 1.

Hier is de C#-code om de toon van een statement te vinden met behulp van de sentimentclassificatie. We hebben het volgende sentiment als voorbeeld gekozen:

“Ervaring is gewoon de naam die we onze fouten geven”

// 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**

Elke waarde groter dan 0,5 betekent dat het sentiment positief is en het bereik tussen 0 en 0,5 geeft aan dat het negatief is.

Nu, volgens de geëxtraheerde positiviteit, krijg je misschien de Best Class voor dat sentiment en de waarschijnlijkheid van die Best Class. We ontdekten dat de positieve waarschijnlijkheid 0,11 is, dus het moet worden geclassificeerd als een negatieve opmerking en de beste klasse moet negatief zijn in plaats van positief.

Dus wat zou de Best Class Probability zijn? Ja, het wordt 0,89. Laten we nu in de code kijken:

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

Classificeer meerdere opmerkingen met behulp van sentimentanalyse in C#

Normaal gesproken hebben we duizenden opmerkingen en feedback, dus hoe kunnen we de feedback van onze klanten analyseren? Het is eenvoudig, plaats gewoon de feedbacks in een array. Laat de stringarray de bron van beoordeling zijn. Het kan ook een bestand zijn of het geparseerde antwoord van een database of service. We kunnen de string-array transformeren naar de float-array van positieve sentimentkansen.

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

Wat kunnen we doen met doelgevoelens? We kunnen de gemiddelde of mediane positiviteit meten voor het doelproduct, de winkel, enz. Selecteer de slechtste waarden en reageer op de klanten. We kunnen ook analyses uitvoeren, zoals het vinden van inconsistenties tussen de positieve waarschijnlijkheidswaarde van een product en de beoordeling ervan.

We hopen dat je dit bericht nuttig vindt. Meer informatie over tekstclassificatie of sentimentanalyse in C# vindt u in de genoemde bronnen.

Meer informatie over GroupDocs.Classificatie-API

Het downloaden en uitvoeren van GitHub-voorbeelden is de beste en gemakkelijkste manier om aan de slag te gaan.

Zie ook