فرض کنید که شما فرصت دریافت نظرات یا نظرات مشتریان خود یا منبع دیگری را دارید و می خواهید میزان مثبت بودن آنها را ارزیابی کنید. روشی برای تحلیل چنین نظراتی وجود دارد که به آن تحلیل احساسات می گویند. این پست بر ابزار تحلیل احساسات مبتنی بر مدل شبکه عصبی عمیق با استفاده از C# تمرکز دارد. این مدل برای طیف وسیعی از کارها مناسب است.
API تجزیه و تحلیل احساسات برای دات نت
اگر میخواهید تحلیل احساسات را به صورت برنامهریزی انجام دهید، GroupDocs.Classification این هدف را برای شما انجام میدهد. این یک طبقهبندی احساسات همهمنظوره را پیادهسازی میکند که میتواند برای ارزیابی لحن بررسی محصول، بررسی فروشگاه، بررسی برنامهها، بازخوردها و غیره استفاده شود.
این مقاله شما را به طبقه بندی نظرات و تجزیه و تحلیل مثبت بودن با استفاده از C# با GroupDocs.Classification برای .NET راهنمایی می کند. بنابراین قبل از شروع، لطفاً مطمئن شوید که API را از یکی از روش های زیر نصب کنید:
نحوه طبقه بندی متن با استفاده از تجزیه و تحلیل احساسات در سی شارپ
برای حل چنین کاری میتوانیم از یک کلاس عمومی به نام Classifier استفاده کنیم، یا میتوانیم از کلاس Sentiment Classifier استفاده کنیم که کمی سادهتر و سبکتر است. در اینجا مراحل انجام می شود:
- SentimentClassifier را راهاندازی کنید.
- متد PositiveProbability کلاس SentimentClassifier را فراخوانی کنید و متن را به عنوان پارامتری که نیاز به تجزیه و تحلیل دارد ارسال کنید.
- روش PositiveProbability مقدار مثبتی را از 0 تا 1 برمی گرداند.
در اینجا کد C# برای یافتن لحن هر عبارتی با استفاده از طبقه بندی احساسات وجود دارد. ما احساس زیر را به عنوان مثال انتخاب کرده ایم:
“تجربه فقط نامی است که ما به اشتباهات خود می دهیم”
// 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 به معنای مثبت است و محدوده بین 0 تا 0.5 منفی است.
اکنون با توجه به مثبت استخراج شده، ممکن است بهترین کلاس را برای آن احساس و احتمال آن بهترین کلاس دریافت کنید. ما متوجه شدیم که احتمال مثبت آن 0.11 است، بنابراین باید به عنوان یک نظر منفی طبقه بندی شود و بهترین کلاس آن باید به جای مثبت، منفی باشد.
بنابراین بهترین احتمال کلاس آن چه خواهد بود؟ بله، 0.89 خواهد بود. حالا بگذارید کد را ببینیم:
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**
دسته بندی نظرات چندگانه با استفاده از تحلیل احساسات در سی شارپ
به طور معمول ما هزاران نظر و بازخورد داریم، پس چگونه میتوانیم بازخورد مشتریان خود را تجزیه و تحلیل کنیم؟ ساده است، فقط بازخوردها را در یک آرایه قرار دهید. اجازه دهید آرایه رشته ای منبع بررسی باشد. همچنین می تواند یک فایل یا پاسخ تجزیه شده از یک پایگاه داده یا سرویس باشد. ما می توانیم آرایه رشته ای را به آرایه شناور احتمالات احساسات مثبت تبدیل کنیم.
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."
با احساسات هدفمند چه کنیم؟ ما می توانیم میانگین یا میانه مثبت بودن را برای محصول هدف، خرید و غیره اندازه گیری کنیم. بدترین ارزش ها را انتخاب کرده و به مشتریان پاسخ دهیم. ما همچنین میتوانیم تحلیلهایی مانند یافتن ناسازگاری بین ارزش احتمال مثبت یک محصول و رتبهبندی آن انجام دهیم.
امیدواریم این پست برای شما مفید واقع شود. در منابع ذکر شده می توانید اطلاعات بیشتری در مورد طبقه بندی متن یا تحلیل احساسات در C# پیدا کنید.
درباره GroupDocs.Classification API بیشتر بیاموزید
دانلود و اجرای نمونه های GitHub بهترین و ساده ترین راه برای شروع است.