Supponiamo che tu abbia l’opportunità di ricevere commenti o recensioni dai tuoi clienti o da qualche altra fonte e desideri valutare quanto sono positivi. C’è un modo per analizzare tali commenti chiamato analisi del sentimento. Questo post è incentrato sullo strumento di analisi del sentimento basato su un modello di rete neurale profonda che utilizza C#. Questo modello è adatto per una vasta gamma di attività.
API di analisi del sentimento per .NET
Se desideri eseguire l’analisi del sentiment in modo programmatico, GroupDocs.Classification serve a questo scopo. Implementa un classificatore di sentiment generico che può essere utilizzato per valutare il tono di recensioni di prodotti, recensioni di negozi, recensioni di applicazioni, feedback, ecc.
Questo articolo ti guiderà alla classificazione dei commenti e all’analisi della positività usando C# con GroupDocs.Classification for .NET. Quindi, prima di iniziare, assicurati di installare l’API da uno dei seguenti metodi:
Come classificare il testo usando l’analisi del sentimento in C#
Per risolvere un tale compito possiamo usare una classe generale chiamata Classifier, oppure possiamo usare il Sentiment Classifier che è una classe un po’ più semplice e leggera. Ecco i passaggi:
- Inizializza il SentimentClassifier.
- Chiama il metodo PositiveProbability della classe SentimentClassifier e passa il testo come parametro che deve essere analizzato.
- Il metodo PositiveProbability restituirà la positività che va da 0 a 1.
Ecco il codice C# per trovare il tono di qualsiasi istruzione usando la classificazione del sentimento. Abbiamo scelto come esempio il seguente sentimento:
“L’esperienza è semplicemente il nome che diamo ai nostri errori”
// 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**
Qualsiasi valore maggiore di 0,5 indica che il sentimento è positivo e l’intervallo compreso tra 0 e 0,5 indica che è negativo.
Ora, in base alla positività estratta, potresti ottenere la Classe Migliore per quel sentimento e probabilità di quella Classe Migliore. Abbiamo scoperto che la sua probabilità positiva è 0,11, quindi dovrebbe essere classificato come un commento negativo e la sua classe migliore dovrebbe essere Negativa invece di Positiva.
So what would be its Best Class Probability? Yes, it will be 0.89. Ora vediamo nel codice:
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**
Classifica più commenti utilizzando l’analisi del sentimento in C#
Normalmente abbiamo migliaia di commenti e feedback, quindi come possiamo analizzare il feedback dei nostri clienti? È semplice, basta inserire i feedback in una matrice. Lascia che l’array di stringhe sia la fonte della revisione. Potrebbe anche essere un file o la risposta analizzata da un database o un servizio. Possiamo trasformare l’array di stringhe nell’array float di probabilità di 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."
Cosa possiamo fare con i sentimenti target? Possiamo misurare la positività media o mediana per il prodotto target, il negozio, ecc. Selezionare i valori peggiori e rispondere ai clienti. Possiamo anche fare analisi come trovare incongruenze tra il valore di probabilità positivo di un prodotto e la sua valutazione.
Ci auguriamo che questo post ti sia utile. Puoi trovare ulteriori informazioni sulla classificazione del testo o sull’analisi del sentiment in C# dalle risorse menzionate.
Ulteriori informazioni sull’API GroupDocs.Classification
Scaricare ed eseguire esempi GitHub è il modo migliore e più semplice per iniziare.