top of page

تحليل المشاعر

sentiment_analysis_edited_edited_edited_

سوف نستعرض طرق تحليل المشاعر (sentiments analysis) بإستخدام البرنامج آر R. في البداية سوف نقوم بتحميل بعض الحزم (packages) التي نحتاجها وهي:

install.packages("tm")

install.packages("wordcloud")

install.packages("qdap")

install.packages("syuzhet")

install.packages("ggplot2")

الحزمة qdap تتطلب وجود نسخة من Java مثبته على جهازك والتي يمكنك الحصول عليها من خلال الضغط على الرابط:

https://www.java.com/en/download/

ثم بعد ذلك نقوم بإستدعاء نسخة الجافا بإستخدام الكود:

# for 64-bit

Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\filename')

# for 32-bit

Sys.setenv(JAVA_HOME='C:\\Program Files (x86)\\Java\\filename')

حيث يتم إستبدال filename بأسم ملف نسخة الجافا الموجود على جهازك. ثم بعد ذلك قم بتحميل الحزمة qdap مرة أخرى. ثم فعل هذه الحزم كما يلي:

library(tm)

library(wordcloud)

library(qdap)

library(syuzhet)

library(ggplot2)

الآن نستخدم الدالة (freq_terms) وهي تقوم بتحديد الكلمات الأكثر تكراراً، وكذلك نستخدم الدالة (wordcloud) وهي تقوم برسم سحابة الكلمات كما يلي:

Freq <- freq_terms(mydata, at.least = 1)

wordcloud(Freq$WORD, Freq$FREQ, colors = Freq$FREQ, max.words = 200)

1_edited_edited.jpg

ونلاحظ أن الكلمات في السحابة هي الكلمات شائعة الإستخدام والمتكررة عند كتابة أي جملة باللغة الإنجليزية. هذه النتيجة طبيعية لأننا لم نقوم بتنظيف البيانات. وبالتالي سوف نستخدم الدوال التالية لتنظيف البيانات:

 وصفها                                        الدالة

 tolower             تغيير الأحرف الصغيرة الى كبيرة أو العكس    

 removeWords                         حذف كلمات محددة                    

 removePunctuation                       حذف علامات الترقيم                   

 removeNumbers                               حذف الأرقام                      

 

Clean_Data <- tolower(mydata)

Removed_words <- c("a", "that","and","the","it", "on","so","have", "of","for","be","this","to","is","in", stopwords("en"))

Clean_Data <- removeWords(Clean_Data, Removed_words) Clean_Data <- removePunctuation(Clean_Data)

Clean_Data <- removeNumbers(Clean_Data)

ثم بعد ذلك سوف نقوم برسم سحابة الكلمات مرة أخرى:

Freq <- freq_terms(Clean_Data , at.least = 1)

wordcloud(Freq$WORD, Freq$FREQ, colors = Freq$FREQ, max.words = 200)

2_edited.jpg

نلاحظ أنه الكلمات في سحابة الكلمات أصبحت ذات مدلول وتعطي أشارة عن طبيعة المشاعر في البيانات.

bottom of page