دیتا اینسایتز

در مورد علم داده، داده کاوی، هوشمندی کسب و کار(BI) و سایر مطالب مرتبط

دیتا اینسایتز

در مورد علم داده، داده کاوی، هوشمندی کسب و کار(BI) و سایر مطالب مرتبط

متن فارسی و R

یکی از سوالاتی که دوستان خیلی می پرسند نحوه خواندن متن فارسی در R  و تعیین انکدینگ متن هست. خوب قطعا R و پکیجهای پردازش متن آن فقط برای زبان انگلیسی ساخته نشده. راه حل این مشکل این هست که موقع خواندن متن از فایلی که انکدینگ آن UTF-8 ( یا هر انکدینگ دیگه ای هست ) باید این را به R اعلام کنید.  قطعه کد زیر متن فارسی زا  از یک فایل به نام farsidocs.txt می خواند و بعد ابر کلمات آن را رسم می کند. 

فرض بر این است که هر خط از فایل farsidocs.txt  ، معادل یک سند است 


  1. #مسیر فایل
  2. file_loc <- "C:\\ farsidocs.txt"
  3. # موقع خواندن فایل انکدینگ باید مشخص شود
  4. x <- read.csv(file_loc, header = FALSE , encoding = "UTF-8")
  5. # حالا می توانید متن ها را با هر روش دلخواه تحلیل کنید.
  6. library (tm)
  7. docs <- Corpus(DataframeSource(x))
  8. docs <-tm_map(docs,removePunctuation)
  9. docs <-tm_map(docs,stripWhitespace)
  10. docs <- tm_map(docs, PlainTextDocument)
  11. dtm <- DocumentTermMatrix(docs)
  12. m <- as.matrix(dtm)
  13. library(wordcloud)
  14. v <- sort(colSums(m),decreasing=TRUE)
  15. words <- names(v)
  16. d <- data.frame(word=words, freq=v)
  17. dark2 <- brewer.pal(6, "Dark2")  
  18. wordcloud(d$word,d$freq,min.freq=5, colors=dark2)
خولندن متن فارسی و رسم ابر کلمات آن با استفاده از R