Anda di halaman 1dari 34

TEORI 9

TEXT MINING IN R STUDIO

DISUSUN OLEH:

Wardatul Jannah
105361106019

Dosen Pengampu:

Dr. Rukli, M.Pd., M.Cs.

DI SAJIKAN DALAM MATA KULIAH PEMROGRAMAN KOMPUTER

KELAS MATEMATIKA 2019 C

PROGRAM STUDI PENDIDIKAN MATEMATIKA

FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN

UNIVERSITAS MUHAMMADIAH MAKASSAR

2021
Siapkan terlebih dahulu R nya serta install package yang diperlukan
> install.packages("xml2")
> library(xml2)
> install.packages("rvest")
> library(rvest)

nampak seperti berikut,


kemudian kita ingin mengambil review dari Hotel Royal Ambarrukmo yang ada di kota
Yogyakarta,

kita masukkan dalam R alamat website tersebut, misal hasil pembacaan halaman website
tersebut kita namakan “Ambarrukmo”[1]
> ambarrukmo <- read_html(" https://www.tripadvisor.co.id/Hotel_Review-g5074492-d307833-
Reviews-Royal_Ambarrukmo_Yogyakarta-
Depok_Sleman_District_Yogyakarta_Region_Java.html")> ambarrukmo

nampak hasilnya seperti berikut,

kemudian, kita gunakan SelectorGadget untuk melihat posisi review pelanggan


kemudian masukkan lagi ke R,
> review<-html_nodes(ambarrukmo,".common-text-ReadMore__content--2X4LR")
> reviewtext<-html_text(review)
> reviewtext

nampak hasilnya,
kemudian, kita bersihkan sedikit, misal jika ada huruf “\n” dan lainnya yang tidak diperlukan,
dan kemudian kita simpan dalam csv
> reviewtextbaru<-gsub("\n","",reviewtext)
> reviewtextbaru
> write.csv(reviewtextbaru,"C://untad/reviewtextbaru.csv")

bisa dilihat hasilnya tersimpan seperti berikut (letak folder dipersilahkan anda buat sendiri)
jika dibuka melalui microsoft excel,

kemudian bisa juga kita bersihkan terlebih dahulu data tersebut, (misalkan baris pertama yang
tidak memuat komentar apapun bisa kita delete baris) kemudian kita Save kembali.
Selanjutnya anda install beberapa package tambahan yang diperlukan untuk analisa
selanjutnya.
> library(tm)
> library(SnowballC)
> library(wordcloud)
> library(RColorBrewer)
> library(stringr)

jika anda belum menginstallnya maka gunakan perintah “install.packages(“nama_package”)”

Setelah instalasi selesai maka dapat kita teruskan dengan membaca kembali dokumen yang
ada dalam folder,
> dokumen<-readLines("C://untad/reviewtextbaru.csv")
> dokumen

nampak hasilnya,
kemudian kita buat Corpus untuk dokumen diatas,
> dokumen <- VCorpus(VectorSource(dokumen))
> dokumen

hasilnya,
kemudian,
> str(dokumen)

nampak sebagai berikut,


jika ketika menggunakan perintah “str(dokumen)” tidak muncul tampilan seperti diatas, maka
pada perintah sebelumnya gunakan perintah “dokumen <- Corpus(VectorSource(dokumen))”,
selanjutnya bisa kita coba dokumen satu-satu, misal dokumen pertama,
> dokumen[[1]]

nampak hasilnya,

atau bisa juga dengan perintah seperti berikut,


> dokumen[[2]]$content

jika terdapat kesalahan seperti ini,


maka pada perintah sebelumnya gunakan perintah “dokumen <-
Corpus(VectorSource(dokumen))” dengan tidak menggunakan V pada Corpus. Hasil yang
benar akan ditunjukkan seperti berikut,

kemudian kita buat Matriks Kata-kata dalam dokumen dengan perintah seperti berikut,
> dokumenDTM<-DocumentTermMatrix(dokumen,control=list(tolower=TRUE,
removeNumbers=TRUE,
stopwords=TRUE,
removePunctuation=TRUE,
stemming=TRUE))
> dokumenDTM

sehingga menghasilkan,
dari 7 dokumen terdapat 201 kata yang berbeda, kemudian kita gunakan
> inspect(dokumenDTM)

maka muncul hasil seperti berikut,


daftar kata-kata diurutkan secara abjad atau lexical dan dianggap sebagai kolom, pada perintah
inspect hanya diperlihatkan 10 kata-kata pertama saja. Contoh pada dokumen ke-1 kata
“ambarrukmo” muncul 2 kali, kata “best” tidak muncul, kata “dan” muncul 4 kali dan
seterusnya, Jika ingin diketahui lebih detil lagi dapat gunakan perintah berikut,
> str(dokumenDTM)

dan terlihat hasilnya,


> str(dokumenDTM)
List of 6
$i : int [1:238] 1 1 1 1 1 1 1 1 1 1 ...
$j : int [1:238] 3 6 10 12 16 17 19 23 25 26 ...
$v : num [1:238] 1 2 1 1 1 1 1 1 1 1 ...
$ nrow : int 7
$ ncol : int 194
$ dimnames:List of 2
..$ Docs : chr [1:7] "1" "2" "3" "4" ...
..$ Terms: chr [1:194] "absolut" "ada" "adisucipto" "agre" ...
- attr(*, "class")= chr [1:2] "DocumentTermMatrix" "simple_triplet_matrix"
- attr(*, "weighting")= chr [1:2] "term frequency" "tf"
>

kemudian bisa kita lihat semua kata-kata yang ada,


> dokumenDTM$dimnames$Terms
dan hasilnya seperti berikut,
> dokumenDTM$dimnames$Terms [1] "absolut" "ada" "adisucipto"
[4] "agre" "akan" "ambarrukmo"
[7] "anak" "anakni" "apabila"
[10] "areal" "asistensi" "atau"
[13] "awalia" "bagus" "baik"
[16] "balkon" "bandara" "bantuan"
[19] "banyak" "baru" "bener"
[22] "beragam" "berkela" "berlangsung"
[25] "berlibur" "berlokasi" "berpenghargaan"
[28] "bersih" "besar" "best"
[31] "bgt" "bintang" "bisni"
[34] "boy" "breakfast" "budaya"
[37] "cameron" "can" "check"
[40] "checkin" "checkout" "cukup"
[43] "dalam" "dan" "dapat"
[46] "dari" "dear" "deh"
[49] "delux" "dengan" "destinasi"
[52] "dibantu" "didalam" "didalamnya"
[55] "dilengkapi" "dimana" "dimulai"
[58] "diperhatikan" "disini" "execut"
[61] "fasilita" "fasilta" "forward"
[64] "foto" "friend" "furnitur"
[67] "general" "greet" "gunung"
[70] "happi" "hingga" "hope"
[73] "hotel" "ian" "independen"
[76] "internasion" "istirahat" "istri"
[79] "jga" "juara" "juga"
[82] "junior" "kamar" "kamarnya"
[85] "kami" "kapasita" "karena"
[88] "keluarga" "keramahan" "keseluruh"
[91] "ketenangan" "kid" "klo"
[94] "kota" "lagi" "lebih"
[97] "lemari" "lengkap" "letak"
[100] "liburan" "lokasi" "look"
[103] "love" "lua" "luas…"
[106] "manag" "mbaknya" "mbknya"
[109] "meet" "melukai" "membantu"
[112] "memerlukan" "memilih" "memiliki"
[115] "meminta" "memudahkan" "menarik"
[118] "menawarkan" "mendapatkan" "mengadakan"
[121] "menginap" "menit" "menyenangkan"
[124] "menyenangkan…" "merapi" "miniclass"
[127] "mohon" "mulai" "nadia"
[130] "namani" "nanda" "next"
[133] "ngajarin" "nginep" "nyaman"
[136] "oleh" "orang" "out"
[139] "overal" "pelayanan" "pemandangan"
[142] "pengalaman" "perbelanjaan" "pertemuannya"
[145] "petuga" "pintu" "playgroundnya"
[148] "premier" "pusat" "ragil"
[151] "ramah" "rapat" "receiptionist"
[154] "relnya" "return" "review"
[157] "rombongan" "room" "royal"
[160] "ruang" "ruangan" "saat"
[163] "sampai" "sangat" "sebuah"
[166] "sehingga" "sekali" "selama"
[169] "seneng" "serta" "sini"
[172] "siti" "spot" "standar"
[175] "standbi" "strategi" "suit"
[178] "sungguh" "tamu" "tayani"
[181] "tempat" "tempatnya" "tepat"
[184] "terasa" "terbaik" "terkait"
[187] "terlepa" "thank" "tidak"
[190] "untuk" "vina" "yang"
[193] "yogyakarta" "you"
nampak seluruh kata-kata yang ada dalam matriks, berikutnya dapat anda ikuti perintah
berikut,
> dokumenfreq<-findFreqTerms(dokumenDTM,3)
> dokumenfreq
> dokumenfreq<-findFreqTerms(dokumenDTM,3)
> dokumenfreq

yang menghasilkan,
> dokumenfreq<-findFreqTerms(dokumenDTM,3)
> dokumenfreq [1] "ambarrukmo" "best" "dan" "dapat"
[5] "dari" "dengan" "fasilita" "hotel"
[9] "internasion" "kamar" "kami" "kota"
[13] "room" "saat" "suit" "untuk"
[17] "yang" "yogyakarta"
> dokumenfreq<-findFreqTerms(dokumenDTM,4)
> dokumenfreq
[1] "best" "dan" "dari" "dengan"
[5] "fasilita" "hotel" "kami" "room"
[9] "yang" "yogyakarta"

pada perintah pertama menampilkan kata-kata yang mempunyai frekuensi 3 kali muncul atau
lebih, sedangkan perintah kedua menampilkan kata-kata yang mempunyai kemunculan 4 kali
atau lebih
> dokkudtm <- TermDocumentMatrix(dokumen)

nampak hasilnya,
> dokkudtm <- TermDocumentMatrix(dokumen)
<<TermDocumentMatrix (terms: 222, documents: 8)>>
Non-/sparse entries: 255/1521
Sparsity : 86%
Maximal term length: 15
Weighting : term frequency (tf)
kemudian gunakan perintah berikut untuk membuat matriks
> em <- as.matrix(dokkudtm)
> em

dan nampak seperti berikut,


> em <- as.matrix(dokkudtm)
> em
Docs
Terms 12345678
"","x" 10000000
"1","hotel 01000000
"2","pelayanan 0 0 1 0 0 0 0 0
"3","seneng 00010000
"4","best 00001000
"5","dear 00000100
"6","hotel 00000010
"7","overall 0 0 0 0 0 0 0 1
2,000 01000000
247 01000000
absolutely 00000100
ada 00010000
adisucipto 01000000
agree 00000100
akan 00000010
all 00000100
ambarrukmo 02000000
ambarrukmo. 00000001
anak2 00000001
anakny 00010000
and 00001000
apabila 00100000
areal 01000000
asistensi 00000010
atau 01000000
awalia" 00000010
bagus. 00000001
bagus2... 00100000
baik 00100000
baik. 00000001
balkon 01000000
bandara 01000000
bantuan. 00100000
banyak 01000000
baru 00000001
bener2 00010000
beragam. 00000001
berkelas 01000000
berlangsung, 0 0 1 0 0 0 0 0
berlibur, 01000000
berlokasi 01000000
berpenghargaan 0 1 0 0 0 0 0 0
bersih. 00010000
besar. 00001000
best 00004000
best. 00000100
bgt 00020000
bintang 01000000
bisnis 01000000
boy 00100000
breakfast 00000001
budaya 01000000
cameron 00000100
can 00000100
check 00100000
check-in 00000001
check-out 00000001
cukup 00000001
dalam 00001000
dan 04202030
dapat 01000010
dapat. 00000001
dari 02100011

[ reached getOption("max.print") -- omitted 97 rows ]

dengan perintah
> ve <- sort(rowSums(em),decreasing=TRUE)

maka muncul,
> ve <- sort(rowSums(em),decreasing=TRUE)
> veve
dan dengan dari
11 7 5
kami best fasilitas
5 4 4
yang hotel internasional
4 3 3
kamar room saat
3 3 3
untuk ambarrukmo bgt
3 2 2
dapat destinasi dibantu
2 2 2
kota liburan memiliki
2 2 2
menginap orang. pemandangan
2 2 2
pengalaman rapat room,
2 2 2
royal sangat sehingga
2 2 2
strategis terbaik yogyakarta
2 2 2
your "","x" "1","hotel
2 1 1
"2","pelayanan "3","seneng "4","best
1 1 1
"5","dear "6","hotel "7","overall
1 1 1
2,000 247 absolutely
1 1 1
ada adisucipto agree
1 1 1
akan all ambarrukmo.
1 1 1
anak2 anakny and
1 1 1
apabila areal asistensi
1 1 1
atau awalia" bagus.
1 1 1
bagus2... baik baik.
1 1 1
balkon bandara bantuan.
1 1 1
banyak baru bener2
1 1 1
beragam. berkelas berlangsung,
1 1 1
berlibur, berlokasi berpenghargaan
1 1 1
bersih. besar. best.
1 1 1
bintang bisnis boy
1 1 1
breakfast budaya cameron
1 1 1
can check check-in
1 1 1
check-out cukup dalam
1 1 1
dapat. deh. deluxe
1 1 1
didalam didalamnya" didalamnya.
1 1 1
dilengkapi dimana dimulai
1 1 1
diperhatikan disini executive
1 1 1
fasiltas for forward
1 1 1
foto foto2 friendly
1 1 1
furniture general greeting
1 1 1
gunung happy happy,
1 1 1
hingga hope ian
1 1 1
independen istirahat istri
1 1 1
jga. juara juga
1 1 1
junior kamarnya kapasitas
1 1 1
karena keluarga keramahan
1 1 1
keseluruh ketenangan kids
1 1 1
klo kota. lagi"
1 1 1
lagi, lebih lemari
1 1 1
lengkap letak lokasi
1 1 1
look lovely luas
1 1 1

...

kemudian untuk melihat 6 data terbesar dapat digunakan,


> de <- data.frame(word = names(ve),freq=ve)
> head(de, 15)

hasilnya seperti berikut,


> de <- data.frame(word = names(ve),freq=ve)
> head(de, 15)
word freq
dan dan 11
dengan dengan 7
dari dari 5
kami kami 5
best best 4
fasilitas fasilitas 4
yang yang 4
hotel hotel 3
internasional internasional 3
kamar kamar 3
room room 3
saat saat 3
untuk untuk 3
ambarrukmo ambarrukmo 2
bgt bgt 2> str(de)
'data.frame': 222 obs. of 2 variables:
$ word: Factor w/ 222 levels "\"\",\"x\"","\"1\",\"hotel",..: 60 66 63 105 45 78 216 93 96 103 ...
$ freq: num 11 7 5 5 4 4 4 3 3 3 ...
> de$word
[1] dan dengan dari
[4] kami best fasilitas
[7] yang hotel internasional
[10] kamar room saat
[13] untuk ambarrukmo bgt
[16] dapat destinasi dibantu
[19] kota liburan memiliki
[22] menginap orang. pemandangan
[25] pengalaman rapat room,
[28] royal sangat sehingga
[31] strategis terbaik yogyakarta
[34] your "","x" "1","hotel
[37] "2","pelayanan "3","seneng "4","best
[40] "5","dear "6","hotel "7","overall
[43] 2,000 247 absolutely
[46] ada adisucipto agree
[49] akan all ambarrukmo.
[52] anak2 anakny and
[55] apabila areal asistensi
[58] atau awalia" bagus.
[61] bagus2... baik baik.
[64] balkon bandara bantuan.
[67] banyak baru bener2
[70] beragam. berkelas berlangsung,
[73] berlibur, berlokasi berpenghargaan
[76] bersih. besar. best.
[79] bintang bisnis boy
[82] breakfast budaya cameron
[85] can check check-in
[88] check-out cukup dalam
[91] dapat. deh. deluxe
[94] didalam didalamnya" didalamnya.
[97] dilengkapi dimana dimulai
[100] diperhatikan disini executive
[103] fasiltas for forward
[106] foto foto2 friendly
[109] furniture general greeting
[112] gunung happy happy,
[115] hingga hope ian
[118] independen istirahat istri
[121] jga. juara juga
[124] junior kamarnya kapasitas
[127] karena keluarga keramahan
[130] keseluruh ketenangan kids
[133] klo kota. lagi"
[136] lagi, lebih lemari
[139] lengkap letak lokasi
[142] look lovely luas
[145] luas.…" manager" mbak2nya
[148] mbknya meeting melukai
[151] membantu memerlukan memilih
[154] meminta memudahkan menarik
[157] menawarkan mendapatkan mengadakan
[160] menit menyenangkan. menyenangkan.…"
[163] merapi miniclass mohon
[166] mulai nadia namany
[169] nanda, next ngajarin
[172] nginep nyaman. oleh
[175] out, perbelanjaan pertemuannya
[178] petugas pintu playgroundnya
[181] premiere pusat ragil
[184] ramah receiptionist relnya,
[187] return. review rombongan
[190] ruang ruangan sampai
[193] sebuah sekali, selama
[196] serta sini siti
[199] spot standar standby
[202] suite suite, suites.
[205] sungguh tamu tayani.
[208] tempat tempatnya tepat
[211] terasa terkait terlepas
[214] thank the tidak
[217] vina with yogyakarta.
[220] yogyakarta." you you...!!!!!
222 Levels: "","x" "1","hotel "2","pelayanan ... your> de$freq
[1] 11 7 5 5 4 4 4 3 3 3 3 3 3 2 2 2 2 2
[19] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1
[37] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[55] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[73] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[91] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[109] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[127] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[145] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[163] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[181] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[199] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[217] 1 1 1 1 1 1

kemudian untuk membuat wordcloud gunakan perintah berikut,


> wordcloud(words = de$word, freq = de$freq, min.freq = 1,
max.words=50, random.order=FALSE, rot.per=0.35,
colors=brewer.pal(8, "Dark2"))

nampak hasilnya,
hasilnya masih terlihat kurang bagus, karena stopwords yang digunakan masih dalam bahasa
inggris, dan kata-kata inti (stemming) bahasa Indonesia belum digunakan.
Misal ingin diketahui asosiasi kata dari kata-kata yang sering muncul, misal kata “fasilitas”,
“hotel” dan “sangat” maka kita gunakan perintah berikut,
> vee<-as.list(findAssocs(dokkudtm, terms =c("fasilitas", "hotel", "sangat"), corlimit =
c(0.15,0.15,0.15,0.15,0.15,0.15)))

dan hasilnya,
$`fasilitas`
untuk dan dapat
0.91 0.89 0.82
memiliki orang. strategis
0.82 0.82 0.82
terbaik "1","hotel 2,000
0.82 0.80 0.80
247 adisucipto ambarrukmo
0.80 0.80 0.80
areal atau balkon
0.80 0.80 0.80
bandara banyak berkelas
0.80 0.80 0.80
berlibur, berlokasi berpenghargaan
0.80 0.80 0.80
bintang bisnis budaya
0.80 0.80 0.80
deluxe destinasi didalam
0.80 0.80 0.80
didalamnya. dilengkapi dimana
0.80 0.80 0.80
executive gunung independen
0.80 0.80 0.80
internasional junior kamarnya
0.80 0.80 0.80
kapasitas keseluruh memilih
0.80 0.80 0.80
menarik menawarkan menit
0.80 0.80 0.80
merapi perbelanjaan pertemuannya
0.80 0.80 0.80
premiere pusat room,
0.80 0.80 0.80
ruang sebuah serta
0.80 0.80 0.80
standar suite suite,
0.80 0.80 0.80
suites. tamu yogyakarta
0.80 0.80 0.80
yogyakarta." dengan dari
0.80 0.76 0.64
kota pemandangan royal
0.41 0.41 0.41
"4","best "6","hotel akan
0.27 0.27 0.27
and asistensi awalia"
0.27 0.27 0.27
besar. best dalam
0.27 0.27 0.27
deh. didalamnya" diperhatikan
0.27 0.27 0.27
furniture greeting juara
0.27 0.27 0.27
karena keluarga keramahan
0.27 0.27 0.27
kota. lagi, lebih
0.27 0.27 0.27
lemari lengkap letak
0.27 0.27 0.27
lokasi meeting melukai
0.27 0.27 0.27
mohon nyaman. pintu
0.27 0.27 0.27
receiptionist relnya, rombongan
0.27 0.27 0.27
tempat tepat terkait
0.27 0.27 0.27
terlepas tidak vina
0.27 0.27 0.27
yogyakarta. yang
0.27 0.25$hotel
kota memiliki pemandangan
0.75 0.75 0.75
royal kamar "1","hotel
0.75 0.70 0.49
"4","best "7","overall 2,000
0.49 0.49 0.49
247 adisucipto ambarrukmo
0.49 0.49 0.49
ambarrukmo. anak2 and
0.49 0.49 0.49
areal atau bagus.
0.49 0.49 0.49
baik. balkon bandara
0.49 0.49 0.49
banyak baru beragam.
0.49 0.49 0.49
berkelas berlibur, berlokasi
0.49 0.49 0.49
berpenghargaan besar. best
0.49 0.49 0.49
bintang bisnis breakfast
0.49 0.49 0.49
budaya check-in check-out
0.49 0.49 0.49
cukup dalam dapat.
0.49 0.49 0.49
deluxe destinasi didalam
0.49 0.49 0.49
didalamnya" didalamnya. dilengkapi
0.49 0.49 0.49
dimana dimulai executive
0.49 0.49 0.49
fasiltas greeting gunung
0.49 0.49 0.49
happy happy, hingga
0.49 0.49 0.49
independen internasional istirahat
0.49 0.49 0.49
istri juga junior
0.49 0.49 0.49
kamarnya kapasitas keluarga
0.49 0.49 0.49
keseluruh ketenangan kota.
0.49 0.49 0.49
lengkap letak luas.…"
0.49 0.49 0.49
meeting memilih menarik
0.49 0.49 0.49
menawarkan mendapatkan menit
0.49 0.49 0.49
menyenangkan. merapi nyaman.
0.49 0.49 0.49
perbelanjaan pertemuannya premiere
0.49 0.49 0.49
pusat receiptionist rombongan
0.49 0.49 0.49
room, ruang ruangan
0.49 0.49 0.49
sebuah serta standar
0.49 0.49 0.49
suite suite, suites.
0.49 0.49 0.49
tamu tempat tepat
0.49 0.49 0.49
terasa yogyakarta yogyakarta."
0.49 0.49 0.49
untuk dari dengan
0.47 0.42 0.34
dan room yang
0.32 0.32 0.18$sangat
"7","overall ambarrukmo. anak2 bagus.
1.00 1.00 1.00 1.00
baik. baru beragam. breakfast
1.00 1.00 1.00 1.00
check-in check-out cukup dapat.
1.00 1.00 1.00 1.00
dimulai fasiltas happy happy,
1.00 1.00 1.00 1.00
hingga istirahat istri juga
1.00 1.00 1.00 1.00
ketenangan luas.…" mendapatkan menyenangkan.
1.00 1.00 1.00 1.00
ruangan terasa kamar kota
1.00 1.00 0.88 0.65
menginap pemandangan pengalaman royal
0.65 0.65 0.65 0.65
kami saat dari
0.47 0.34 0.20
nah dari hasil diatas maka dapat diambil kesimpulan bahwa, misal kata “hotel” mempunyai
hubungan asosiasi yang erat dengan kata “kota” (0.75) dan “pemandangan” (0.75), serta bisa
juga diinterpretasikan dengan asosiasi kata yang lainnya.[2]
DAFTAR PUSTAKA

[1] R. F. Hakim, “Text Mining Using R,” 2918, [Online]. Available:


https://medium.com/@986110101/text-mining-using-r-28ada2abb883.

[2] S. tools for high-throughput data Analysis, “Text mining and word cloud fundamentals
in R,” 2020, [Online]. Available: http://www.sthda.com/english/wiki/text-mining-and-
word-cloud-fundamentals-in-r-5-simple-steps-you-should-know.

Anda mungkin juga menyukai