Müşterilerinizden veya başka bir kaynaktan yorum veya değerlendirme alma fırsatınız olduğunu ve onların ne kadar olumlu olduklarını değerlendirmek istediğinizi varsayalım. Duygu analizi adı verilen bu tür yorumları analiz etmenin bir yolu var. Bu gönderi, C# kullanan derin bir sinir ağı modeline dayalı duygu analizi aracına odaklanmaktadır. Bu model çok çeşitli görevler için uygundur.

.NET için Duyarlılık Analizi API’si

Programlı olarak duygu analizi yapmak istiyorsanız, GroupDocs.Classification sizin için bu amaca hizmet eder. Ürün incelemelerinin, mağaza incelemelerinin, uygulama incelemelerinin, geri bildirimlerin vb. tonunu değerlendirmek için kullanılabilecek genel amaçlı bir duyarlılık sınıflandırıcısı uygular.

.NET için GroupDocs.Classification

Bu makale, yorumların sınıflandırılması konusunda size rehberlik edecek ve GroupDocs.Classification for .NET ile C# kullanarak pozitifliği analiz edecektir. Bu nedenle, başlamadan önce lütfen API’yi aşağıdaki yöntemlerden herhangi birinden kurduğunuzdan emin olun:

  • NuGet Paket Yöneticisini kullanarak kurun.
  • İndirmek the DLL and reference it into the project.

C#’ta Duyarlılık Analizi Kullanarak Metin Nasıl Sınıflandırılır?

Böyle bir görevi çözmek için Sınıflandırıcı adlı genel bir sınıf kullanabiliriz veya biraz daha basit ve hafif bir sınıf olan Duygu Sınıflandırıcıyı kullanabiliriz. İşte adımlar:

  • SentimentClassifier‘ı başlatın.
  • SentimentClassifier sınıfının PositiveProbability yöntemini çağırın ve metni analiz edilmesi gereken bir parametre olarak iletin.
  • PositiveProbability yöntemi, 0 ile 1 arasında değişen pozitifliği döndürür.

Duyarlılık sınıflandırmasını kullanarak herhangi bir ifadenin tonunu bulmak için kullanılan C# kodu. Aşağıdaki duyguyu örnek olarak seçtik:

“Tecrübe, hatalarımıza verdiğimiz isimdir”

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

0,5’ten büyük herhangi bir değer, duyarlılığın pozitif olduğu ve 0 ile 0,5 arasındaki aralığın negatif olduğu anlamına gelir.

Şimdi çıkarılan pozitifliğe göre, o duygu için En İyi Sınıfı ve o En İyi Sınıfın olasılığını alabilirsiniz. Pozitif olasılığının 0,11 olduğunu bulduk, bu nedenle negatif yorum olarak sınıflandırılmalı ve En İyi Sınıfı Pozitif yerine Negatif olmalıdır.

Peki, En İyi Sınıf Olasılığı ne olurdu? Evet, 0.89 olacak. Şimdi kodda görelim:

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

C#’ta Duygu Analizi Kullanarak Birden Çok Yorumu Sınıflandırın

Normalde binlerce yorum ve geri bildirimimiz var, peki müşterilerimizin geri bildirimlerini nasıl analiz edebiliriz? Çok basit, geri bildirimleri bir diziye koymanız yeterli. Dize dizisinin inceleme kaynağı olmasına izin verin. Ayrıca bir dosya veya bir veri tabanından veya hizmetten ayrıştırılmış yanıt olabilir. Dize dizisini pozitif duyarlılık olasılıklarının kayan dizisine dönüştürebiliriz.

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

Hedef duygularla ne yapabiliriz? Hedef ürün, mağaza vb. için ortalama veya medyan pozitifliği ölçebiliriz. En kötü değerleri seçin ve müşterilere yanıt verin. Bir ürünün pozitif olasılık değeri ile derecelendirmesi arasındaki tutarsızlıkları bulmak gibi analizler de yapabiliriz.

Bu gönderiyi faydalı bulacağınızı umuyoruz. C#’ta metin sınıflandırması veya duyarlılık analizi hakkında daha fazlasını belirtilen kaynaklardan bulabilirsiniz.

GroupDocs.Classification API hakkında daha fazla bilgi edinin

GitHub örneklerini indirmek ve çalıştırmak, başlamanın en iyi ve en kolay yoludur.

Ayrıca bakınız