R-Bloggers

ساخت وبلاگ

R-bloggers

اخبار و آموزش های R توسط صدها وبلاگ نویس R

تجزیه و تحلیل احساسات در r

ارسال شده در 16 مه 2021 توسط Fistats در R Bloggers |0 نظر

[این مقاله برای اولین بار در روش ها-فنلاندی ها منتشر شد و با مهربانی به R-Bloggers کمک کرد].(می توانید در مورد محتوای این صفحه در اینجا شماره را گزارش دهید) آیا می خواهید محتوای خود را در R-Bloggers به اشتراک بگذارید؟اگر یک وبلاگ دارید ، اینجا را کلیک کنید ، یا اگر این کار را نمی کنید اینجا.

تجزیه و تحلیل احساسات در R ، در این مقاله ، ما در مورد تجزیه و تحلیل احساسات با استفاده از R. بحث خواهیم کرد. ما از بسته متن Syuzhet برای تجزیه و تحلیل داده ها و دریافت نمرات برای کلمات مربوطه موجود در مجموعه داده استفاده خواهیم کرد.

هدف نهایی ساخت یک مدل تجزیه و تحلیل احساسات و شناسایی کلمات مثبت ، منفی و همچنین بزرگی آن است.

در این مقاله کدهای عمدتاً به داده های بارگیری تقسیم می شوند ، یک جسد ، متن پاک کننده ، ایجاد ماتریس اصطلاحات اصطلاحات ، تجسم و تجزیه و تحلیل احساسات تقسیم می شوند.

تجزیه و تحلیل احساسات در r

بسته های اصلی زیر در این مقاله استفاده می شود

  • TM برای عملیات معدنکاری متن مانند حذف اعداد ، شخصیت های خاص ، سوراخ ها و کلمات متوقف شده (کلمات متوقف به هر زبانی متداول ترین کلمات هستند که ارزش بسیار کمی برای NLP دارند و باید فیلتر شوند
  • Word Cloud برای تولید کلمه Cloud Plot.
  • Syuzhet برای نمرات احساسات و طبقه بندی احساسات
  • ggplot2 برای ترسیم نمودارها

تجزیه و تحلیل احساسات چیست؟

تجزیه و تحلیل احساسات فرایندی برای استخراج نظرات است که نمرات مختلفی مانند مثبت ، منفی یا خنثی دارند.

بر اساس تجزیه و تحلیل احساسات ، می توانید ماهیت عقیده یا جملات را در متن پیدا کنید.

تجزیه و تحلیل احساسات نوعی طبقه بندی است که در آن داده ها به کلاسهای مختلفی مانند مثبت یا منفی یا شاد ، غمگین ، عصبانی و غیره طبقه بندی می شوند.

دریافت داده

سیب

این مجموعه داده شامل 1000 مشاهده و 16 متغیر است اما ما فقط به یک ستون که "متن" است علاقه مندیم.

data. frame ': 1000 OBS. از 16 متغیر: $ متن: chr "rtoption_snipper: $ aapl ضرب و شتم در هر دو EPS و درآمد. مشاهده 4q rev. 49b $-52b $ ، est. 49. 1b $ https://t. co/hfhxqj0iob" "rtoption_snipper_snipper: $ AAPL در هر دو EPS و درآمد.: با تأخیر در آیفون ممکن است همه چیز برای AAPL $ زشت شود. __truncated__.$ مورد علاقه: logi false false false false false false.$ favoriteCount: int 0 0 0 0 0 0 0 0 0.$ replytosn: Chr na na na.$ ایجاد شده: Chr "2017-08-01 20:31:56" "2017-08-01 20:31:55" "2017-08-01 20:31:55" "2017-08-01 20:31:55 ".$ کوتاه: logi false false false false false false.$ replytosid: num na na na na na na na na.$ شناسه: شماره 8. 92E+17 8. 92E+17 8. 92E+17 8. 92E+17 8. 92E+17.$ پاسخ touid: num na na na na na na na na ..

ساختن جسد

هنگامی که مجموعه داده را در R بارگذاری کردیم ، مرحله بعدی بارگیری آن بردار یا داده های متن به عنوان جسد است. ما می توانیم بر اساس بسته TM در R. همین کار را انجام دهیم

جسد کتابخانه (TM)

ابرداده: CORPUS خاص: 1 ، سطح سند (فهرست بندی شده): 0 محتوا: اسناد: 5

[1] RTOPTION_SNIPPER: $ AAPL در هر دو EPS و درآمدها ضرب و شتم. 4Q Rev. 49B $-52B $ ، EST. 49. 1b $ https://t. co/hfhxqj0iob [2] rtoption_snipper: $ aapl ضرب و شتم در هر دو EPS و درآمد. 4Q Rev. 49B $-52B $ ، EST. 49. 1b $ https://t. co/hfhxqj0iob [3] بیایید این تایمرها را ببینیم.$ AAPL 156. 89 [4] RTSylvacap: ممکن است با تأخیر در آیفون همه چیز برای AAPL $ زشت شود. با پایین آمدن $ AAPL این بدان معناست که تقریباً تمام سهام نیش پایین آمده است. [5] $ aapl - وای! این قرار بود یک چهارم پرتاب باشد و AAPL بیش از 500 میلیون درآمد کسب کند! شرکت تریلیون دلار تا سال 2018!

متن تمیز

ابتدا در فرآیند تمیز کردن ، باید تمام متن را به مورد پایین تبدیل کنیم. بر اساس عملکرد TM_MAP می تواند متن را به مورد پایین تبدیل کند.

مجموعه نوشته ها

ابرداده: CORPUS خاص: 1 ، سطح سند (فهرست بندی شده): 0 محتوا: اسناد: 5

[1] RTOPTION_SNIPPER: $ AAPL در هر دو EPS و درآمدها ضرب و شتم. 4Q Rev. 49B $-52B $ ، EST 49. 1B $ https://t. co/hfhxqj0iob [2] rtoption_snipper: $ aapl ضرب و شتم در هر دو EPS و درآمد. 4Q Rev. 49B $-52B $ ، EST 49. 1B $ https://t. co/hfhxqj0iob [3] بیایید این شکست را ببینیم.$ AAPL 156. 89 [4] RTSylvacap: ممکن است با تأخیر در آیفون همه چیز برای AAPL $ زشت شود. با پایین آمدن $ AAPL این بدان معناست که تقریباً تمام سهام نیش پایین آمده است. [5] $ aapl - وای! این قرار بود یک چهارم پرتاب باشد و AAPL بیش از 500 میلیون درآمد کسب کند! شرکت تریلیون دلار تا سال 2018!

تمیز کردن داده های متن یکی از قسمت های اصلی حذف کاراکترهای خاص از متن است. این کار با استفاده از تابع TM_MAP () برای جایگزینی انواع شخصیت های خاص انجام می شود.

مجموعه نوشته ها

ابرداده: CORPUS خاص: 1 ، سطح سند (فهرست بندی شده): 0 محتوا: اسناد: 5

4] RT Sylvacap ممکن است برای AAPL با تأخیر در آیفون با AAPL پایین بیاید ، این بدان معناست که تقریباً تمام سهام نیش در حال کاهش است. در شرکت تریلیون دلار درآمد تا سال 2018

در متن متنی که معمولاً تعداد داده ها رخ می دهد ، باید اعداد را از داده های متن حذف کنیم.

مجموعه نوشته ها

ابرداده: CORPUS خاص: 1 ، سطح سند (فهرست بندی شده): 0 محتوا: اسناد: 5

[1] RT Optionsnipper AAPL ضرب و شتم در هر دو EPS و درآمدهای Q Rev Bb Est B httpstcohfhxqjiob [2] RT Optionsnipper AAPL ضرب و شتم در هر دو EPS و درآمدها q rev bb est b httpstcohfhxqjiob [3] اجازه می دهد تا دیدن این همه شکستن AAPL [4] RT Sylvacap ممکن است برای AAPL با تأخیر در آیفون با AAPL پایین بیاید ، این بدان معناست که تقریباً تمام سهام نیش در حال پایین آمدن است. شرکت تریلیون دلاری توسط

کلمات متوقف متداول ترین کلمات به زبان هستند و از نظر استخراج اطلاعات مفید از متن از ارزش بسیار کمی برخوردار هستند. قبل از تجزیه و تحلیل نیاز به حذف تمام کلمات کلیدی از متن دارید.

کلمات متوقف مانند "، ، در" است ". عملکرد توقف در عملکرد TM_MAP () از چندین زبان مانند انگلیسی ، فرانسوی ، آلمانی ، ایتالیایی و اسپانیایی پشتیبانی می کند.

تمیز کردن

ابرداده: CORPUS خاص: 1 ، سطح سند (فهرست بندی شده): 0 محتوا: اسناد: 5

[1] RT Optionsnipper AAPL Beat EPS درآمدهای EPS q rev bb est b httpstcohfhxqjiob [2] rt optionsnipper aapl ضرب و شتم eps q rev bb est b httpstcohfhxqjiob [3]تأخیر در آیفون AAPL به معنای تقریباً سهام Fang Posâ € [5] AAPL WOW محله Throwaway AAPL با ضرب و شتم میلیون شرکت تریلیون دلار درآمد شرکت می کند

در صورتی که پیوندها حاوی مجموعه داده باشند ، به مجموعه داده شما بستگی دارد.

حذف

ابرداده: CORPUS خاص: 1 ، سطح سند (فهرست بندی شده): 0 محتوا: اسناد: 5

[1] RT Optionsnipper AAPL Beat EPS درآمدهای q rev bb est b [2] Rt گزینه های AAPL Beat EPS درآمدهای q rev bb est b [3] اجازه می دهد تایمرهای شکست aapl [4] rt sylvacap ممکن است تاخیر آپل آپل آپل شودAAPL به معنای سهام تقریبا Fang Posâ € [5] AAPL WOW VOW Quarter Throwaway AAPL می تواند میلیون میلیون تریلیون درآمد شرکت کند

متن ایجاد شده - که کلمات را به شکل ریشه آنها کاهش می دهد

تمیز کردن

ابرداده: CORPUS خاص: 1 ، سطح سند (فهرست بندی شده): 0 محتوا: اسناد: 5

[1] RT Optionsnipp Beat EP Revenu See Q Rev BB Est B [2] RT Optionsnipp Beat Ep Revenu See Q Rev BB Est B [3] بگذارید تایمر BREAK [4] RT SYLVACAP ممکن است تاخیر Ugli Iphon به معنی تقریباً FANG سهام باشدposâ € ¦ [5] wow pruspos throwaway سه برابر تریلیون دلاری همراه با هم همراه است

ماتریس اسناد مدت

پس از پاکسازی داده های محتوای متنی ، مرحله زیر مهم به بروز هر کلمه است ، تا موضوعات مشهور یا روند را درک کنیم.

با استفاده از عملکرد TermocumentMatrix () از بسته معدن محتوای متنی ، می توانید یک ماتریس سند بسازید - یک جدول حاوی فرکانس کلمات.

طرح

ترسیم کلمات با استفاده از نمودار نوار یک روش اساسی خوب برای تجسم داده های مکرر این کلمه است. به سادگی می توانید یک نمودار نوار برای تجسم ایجاد کنید.

W = 25) Barplot (w ، las = 2 ، col = رنگین کمان (50))

ابر کلمه

کلمه ابر یکی از محبوب ترین راه ها برای تجسم و تجزیه و تحلیل داده های متنی است. این تصویری است که از کلمات کلیدی موجود در یک متن متن تشکیل شده است ، که در آن اندازه هر کلمه تعداد آن را در آن متن متن نشان می دهد.

برای تولید کلمه ابر از فریم داده فرکانس کلمه (جدول) ایجاد شده استفاده کنید.

کتابخانه (WordCloud) W 
کتابخانه (WordCloud2) W 

تجزیه و تحلیل احساسات

ما بحث کردیم که احساسات قبلی را می توان به عنوان مثبت ، خنثی یا منفی طبقه بندی کرد. آنها همچنین می توانند در یک مقیاس عددی نشان داده شوند تا میزان قدرت مثبت یا منفی احساسات موجود در یک متن متن را بیان کنند.

این مثال از بسته Syuzhet برای تولید نمرات احساسات استفاده می کند ، که دارای چهار فرهنگ لغت احساسات است و روشی را برای دسترسی به ابزار استخراج احساسات توسعه یافته در گروه NLP در استنفورد ارائه می دهد.

عملکرد get_sentiment دو آرگومان را می پذیرد: یک بردار کاراکتر (از جملات یا کلمات) و یک روش. روش انتخاب شده تعیین می کند از کدام یک از چهار روش استخراج احساسات موجود استفاده خواهد شد. چهار روش Syuzhet (این پیش فرض است) ، Bing ، Afi و NRC است.

هر روش از مقیاس متفاوتی استفاده می کند و از این رو نتایج کمی متفاوت برمی گردد.

کتابخانه (Syuzhet) کتابخانه (Lubritate) کتابخانه (GGPLOT2) کتابخانه (مقیاس) کتابخانه (Reshape2) کتابخانه (dplyr)

دریافت داده

سیب

نمرات احساسات را بدست آورید

این از عصبانیت گرفته تا اعتماد ، منفی و مثبت است.

get_nrc_sentiment (زشت) پیش بینی عصبان

زشت نمرات انزجار و منفی را دارد.

طرح

Barplot (colsums (s) ، las = 2 ، col = رنگین کمان (10) ، ylab = 'count' ، main = 'نمرات احساسات توییت')

احساسات بیشتر در مورد منفی و به دنبال آن پیش بینی و مثبت ، اعتماد و ترس می شود.

نتیجه

در این مقاله ، خواندن داده های متن به R ، ایجاد Corpus ، تمیز کردن داده ها ، تحولات توضیح داده شده و نحوه ایجاد یک فرکانس کلمه و ابرهای کلمه ای را برای شناسایی وقوع متن توضیح داده است.

شناسایی نمرات احساسات ، که در اختصاص یک مقدار عددی به قدرت (مثبت بودن یا منفی بودن) احساسات در متن مفید بود و اجازه تفسیر نمره متن را می داد.

سیگنالهای معاملاتی...
ما را در سایت سیگنالهای معاملاتی دنبال می کنید

برچسب : نویسنده : عارف لرستانی بازدید : <-PostHit-> تاريخ : پنجشنبه 9 شهريور 1402 ساعت: 0:38