Parfum HMNS telah berhasil menarik perhatian sebagai produk parfum lokal asli Indonesia. Brand ini, sejak awal keberadaannya, telah mendapat respon yang sangat positif dari para pelanggannya, yang tercermin dari banyaknya review yang cenderung positif atas produk-produk mereka. Daya tarik ini bukan hanya menunjukkan keberhasilan HMNS dalam memproduksi parfum yang disukai pelanggan, tetapi juga membuktikan keberhasilan produk lokal di pasar yang sangat kompetitif.
Review pelanggan merupakan sumber informasi yang sangat penting bagi sebuah perusahaan. Dalam konteks HMNS, review-review ini memberikan gambaran langsung dari pengalaman pelanggan, yang tentunya sangat berharga dalam merancang strategi perusahaan. Review pelanggan mencakup berbagai aspek, mulai dari kesan umum tentang produk hingga detil yang lebih spesifik. Informasi ini bisa digunakan HMNS untuk memperbaiki pelayanan, produk, dan juga strategi pemasarannya.
Sebuah review bisa mencakup satu atau lebih topik, tergantung pada pengalaman individu pelanggan. Dalam konteks HMNS, topik-topik yang sering muncul dalam review antara lain lama pengiriman, keramahan layanan, kualitas packing, kualitas produk, aroma, daya tahan parfum, dan juga perbandingan dengan produk lain. Masing-masing topik ini memberikan wawasan yang berbeda dan berharga, yang tentunya sangat penting untuk HMNS.
Mengingat pentingnya topik-topik ini, menjadi sangat penting untuk memiliki model yang mampu menentukan topik dari setiap review. Dengan menggunakan metode topic modeling, seperti Latent Dirichlet Allocation (LDA), HMNS dapat lebih memahami apa yang pelanggan inginkan dan apa yang mereka pikirkan tentang produk dan layanan mereka. Informasi ini akan sangat berguna dalam pembuatan kebijakan perusahaan untuk masa depan, sehingga HMNS dapat terus memenuhi dan melampaui ekspektasi pelanggan.
Proyek ini, yang melibatkan penerapan metode topic modeling pada review pelanggan HMNS, memiliki potensi untuk memberikan berbagai dampak positif bagi HMNS dan perusahaan lainnya.
Untuk HMNS, penerapan topic modeling dapat membantu mereka memahami lebih dalam apa yang menjadi perhatian dan keinginan pelanggan mereka. Dengan memahami topik-topik utama dalam review, HMNS dapat menentukan area mana yang mendapatkan pujian dan kritik. Misalnya, jika topik tentang lama pengiriman sering muncul dalam konteks negatif, HMNS mungkin perlu meningkatkan proses pengiriman mereka. Sebaliknya, jika aroma dan daya tahan parfum sering dipuji, mereka dapat memanfaatkan informasi ini dalam strategi pemasaran mereka. Secara keseluruhan, pemahaman yang lebih baik tentang apa yang diinginkan oleh pelanggan dapat membantu HMNS meningkatkan produk dan layanan mereka, yang pada akhirnya dapat meningkatkan kepuasan pelanggan dan reputasi merek.
Untuk perusahaan lainnya, proyek ini dapat berfungsi sebagai studi kasus tentang bagaimana memanfaatkan data pelanggan untuk mendapatkan wawasan yang berharga. Teknik seperti topic modeling dapat diterapkan pada berbagai jenis data teks, tidak hanya review produk. Misalnya, perusahaan dapat menerapkan teknik ini pada data media sosial, forum online, atau bahkan transkrip layanan pelanggan. Dengan demikian, pelajaran yang diperoleh dari proyek HMNS ini dapat membantu perusahaan lain mengembangkan pemahaman mereka tentang pelanggan dan memanfaatkan informasi ini untuk membuat peningkatan yang berarti dalam produk dan layanan mereka.
Target pengguna utama dari proyek ini adalah manajemen dan tim analisis data HMNS. Mereka adalah pihak yang akan memanfaatkan hasil dari topic modeling ini untuk membuat keputusan strategis dan operasional yang berdasarkan pada feedback pelanggan.
Manajemen HMNS: Manajemen dapat menggunakan insight yang diperoleh dari topic modeling untuk memahami apa yang diinginkan oleh pelanggan dan bagaimana mereka bereaksi terhadap berbagai aspek produk dan layanan. Hal ini dapat membantu manajemen membuat keputusan yang lebih baik tentang pengembangan produk, pemasaran, dan strategi layanan.
Tim Analisis Data HMNS: Tim ini dapat menggunakan hasil dari topic modeling untuk mengidentifikasi tren dan pola dalam data pelanggan. Informasi ini dapat membantu mereka merancang dan mengimplementasikan strategi yang lebih efektif untuk meningkatkan pengalaman pelanggan.
Manfaat yang diperoleh dari proyek ini meliputi:
Pemahaman Pelanggan yang Lebih Baik: Dengan menganalisis review pelanggan, HMNS dapat memahami lebih baik apa yang diinginkan dan diharapkan oleh pelanggan mereka. Hal ini bisa menjadi alat yang sangat berharga untuk memahami kebutuhan dan preferensi pelanggan.
Peningkatan Produk dan Layanan: Dengan memahami apa yang diinginkan oleh pelanggan, HMNS dapat membuat penyesuaian pada produk dan layanan mereka untuk memenuhi kebutuhan ini. Misalnya, jika review pelanggan menunjukkan bahwa mereka menginginkan aroma yang lebih tahan lama, HMNS dapat bekerja untuk meningkatkan aspek ini dari produk mereka.
Strategi Pemasaran yang Lebih Efektif: Hasil dari topic modeling dapat digunakan untuk merancang kampanye pemasaran yang lebih efektif. Misalnya, jika review pelanggan sering memuji kualitas aroma parfum HMNS, ini bisa menjadi titik fokus dalam kampanye pemasaran.
Keunggulan Kompetitif: Pengetahuan yang mendalam tentang pelanggan dan kebutuhan mereka dapat memberi HMNS keunggulan kompetitif. Dengan memahami apa yang diinginkan oleh pelanggan, HMNS dapat menawarkan produk dan layanan yang lebih sesuai dengan keinginan pelanggan dibandingkan dengan pesaing mereka.
Tujuan utama dari proyek ini adalah untuk menganalisis dan memahami topik-topik utama yang muncul dalam review pelanggan HMNS menggunakan teknik topic modeling. Dengan melakukan ini, HMNS berharap untuk mendapatkan wawasan yang lebih baik tentang apa yang diinginkan dan diharapkan oleh pelanggan mereka, serta bagaimana mereka bereaksi terhadap berbagai aspek produk dan layanan HMNS.
Secara spesifik, tujuan dari proyek ini mungkin mencakup:
Output dari proyek ini akan meliputi model topic modeling yang telah dilatih, serta set data yang mencakup review pelanggan dengan topik yang telah ditandai. Output ini dapat berupa laporan atau dashboard yang menampilkan topik-topik utama, sentimen yang terkait dengan topik tersebut, dan rekomendasi untuk peningkatan berdasarkan hasil analisis. Dengan output ini, HMNS dapat membuat keputusan yang lebih baik tentang pengembangan produk, pemasaran, dan strategi layanan berdasarkan pemahaman yang lebih baik tentang pelanggan mereka.
Dalam proyek ini, data review pelanggan HMNS akan dikumpulkan dari dua platform e-commerce populer di Indonesia, yaitu Tokopedia dan Shopee.
Berikut adalah contoh data yang telah discraping dari Tokopedia:
Review tersebut atas satu produk terdiri
dari:
Sumber data berasal dari Tokopedia dan Shopee. Metode yang digunakan untuk pengumpulan data ini adalah web scraping, yaitu teknik yang digunakan untuk mengekstrak informasi dari situs web. Untuk melakukan hal ini, kita akan menggunakan bahasa pemrograman Python, yang memiliki berbagai library seperti BeautifulSoup dan Selenium yang memudahkan proses web scraping.
Data yang digunakan sudah sesuai dengan kebutuhan bisnis karena data berasal dari akun/ orang yang membeli produk tersebut melalui Tokopedia dan Shopee. Sehingga dapat kita simpulkan bahwa, data cukup menggambarkan kondisi data customer review.
Topic modeling adalah teknik dalam machine learning dan natural language processing (NLP) yang digunakan untuk menemukan pola abstrak, yang disebut ‘topik’, dalam koleksi dokumen. Setiap topik dalam model ini mewakili sekumpulan kata yang sering muncul bersama-sama. Teknik ini sangat berguna dalam analisis teks, seperti menganalisis review pelanggan, karena dapat membantu mengidentifikasi tema atau topik utama yang dibahas dalam review tersebut.
Salah satu algoritma yang paling populer untuk topic modeling adalah Latent Dirichlet Allocation (LDA). LDA adalah metode generatif probabilistik yang mengasumsikan bahwa setiap dokumen dalam koleksi merupakan campuran dari sejumlah topik, dan setiap topik menghasilkan kata dengan probabilitas tertentu. Konsep utama di balik LDA adalah bahwa dokumen dengan topik yang sama akan menggunakan kata-kata yang sama dengan frekuensi yang serupa.
Dalam konteks review pelanggan HMNS, LDA dapat digunakan untuk mengidentifikasi topik utama yang dibahas dalam review. Misalnya, jika banyak review yang membahas tentang aroma dan daya tahan parfum, maka LDA mungkin menghasilkan satu topik yang berisi kata-kata seperti ‘aroma’, ‘wangi’, ‘tahan lama’, dan sebagainya. Dengan demikian, LDA dapat membantu HMNS memahami apa yang paling sering dibahas oleh pelanggan dalam review mereka, yang dapat digunakan untuk membuat peningkatan pada produk dan layanan mereka.
Berikut adalah fitur yang akan disajikan di dalam dashboard:
Ringkasan Produk: Fitur ini menampilkan ringkasan untuk setiap produk, biasanya dalam bentuk tabel, yang mencakup metrik penting seperti jumlah unit yang terjual, jumlah review, dan rating rata-rata.
Produk Terpopuler: Fitur ini menyoroti produk yang paling banyak terjual dan/atau yang memiliki rating tertinggi, memberikan gambaran cepat tentang produk mana yang paling disukai oleh pelanggan.
Distribusi Rating: Fitur ini menunjukkan distribusi rating untuk setiap produk, biasanya dalam bentuk histogram atau box plot, memberikan gambaran tentang seberapa konsisten pengalaman pelanggan.
Daftar Topik: Fitur ini menampilkan daftar topik yang dihasilkan oleh model topic modeling, bersama dengan kata-kata kunci yang paling mewakili setiap topik.
Distribusi Topik: Fitur ini menampilkan diagram atau grafik yang menunjukkan berapa banyak review yang termasuk dalam setiap topik, memberikan gambaran cepat tentang topik apa yang paling sering dibahas.
Sentimen Analisis: Fitur ini menunjukkan sentimen yang terkait dengan setiap topik, memberikan gambaran tentang bagaimana pelanggan merasa tentang aspek-aspek tertentu dari produk atau layanan Anda.
Tren Topik: Fitur ini menampilkan grafik tren yang menunjukkan bagaimana distribusi topik berubah seiring waktu, memungkinkan Anda untuk melacak bagaimana persepsi pelanggan berubah.
Review Sampel: Fitur ini menampilkan beberapa review sampel untuk setiap topik, memberikan konteks lebih lanjut untuk setiap topik dan memberikan gambaran lebih detail tentang apa yang dibicarakan pelanggan.
Perbandingan Produk: Fitur ini menampilkan grafik atau tabel yang membandingkan produk berdasarkan metrik seperti penjualan, review, dan rating, memungkinkan Anda untuk melihat produk mana yang paling sukses.
Kata-kata Kunci: Fitur ini menampilkan daftar kata-kata atau frase yang sering muncul dalam review, memberikan wawasan lebih lanjut tentang apa yang pelanggan suka atau tidak suka.
Word Cloud: Fitur ini menampilkan representasi visual dari frekuensi kata dalam review. Kata-kata yang sering muncul ditampilkan dalam ukuran font yang lebih besar, memberikan gambaran cepat tentang kata-kata kunci dalam review.
Setiap fitur ini akan dapat memberikan wawasan berharga yang dapat membantu dan memahami lebih baik tentang produk dan pelanggan HMNS.
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tm)
## Loading required package: NLP
library(stringr)
library(tidytext)
library(wordcloud)
## Loading required package: RColorBrewer
folder_path <- "data"
# Dapatkan daftar semua file JSON dalam folder
json_files <- list.files(path = folder_path, pattern = "*.json", full.names = TRUE)
# Gunakan lapply untuk membaca setiap file JSON dan menyimpannya dalam daftar
json_data <- lapply(json_files, jsonlite::fromJSON)
# Gabungkan semua data frame menjadi satu
all_reviews <- bind_rows(json_data)
dim(all_reviews)
## [1] 16905 9
Terlihat berhasil membaca 16.905 reviews.
all_reviews <- all_reviews %>% rename('nama_produk' = 'nama produk')
#ambil kolom nama produk, review, dan rating
all_reviews <- all_reviews %>% select(nama_produk, review, rating)
Menghapus emoticon dari review :
# Menggunakan fungsi gsub() untuk menghapus emoticon
all_reviews$review <- gsub("[^[:alnum:][:space:]]", "", all_reviews$review)
Menghapus review yang kosong :
all_reviews <- all_reviews %>% filter(!is.na(review) & review != "")
Baca stopwords :
# Membaca file teks dan menyimpan hasil dalam variabel stop_words
stop_words <- scan("stopwords_id_satya.txt", what = "", sep = "\n")
# Mencetak stop words untuk memeriksa hasil
print(stop_words)
## [1] "ada" "adanya" "adalah" "adapun"
## [5] "agak" "agaknya" "agar" "akan"
## [9] "akankah" "akhirnya" "aku" "akulah"
## [13] "amat" "amatlah" "anda" "andalah"
## [17] "antar" "diantaranya" "antara" "antaranya"
## [21] "diantara" "apa" "apaan" "mengapa"
## [25] "apabila" "apakah" "apalagi" "apatah"
## [29] "atau" "ataukah" "ataupun" "bagai"
## [33] "bagaikan" "sebagai" "sebagainya" "bagaimana"
## [37] "bagaimanapun" "sebagaimana" "bagaimanakah" "bagi"
## [41] "bahkan" "bahwa" "bahwasanya" "sebaliknya"
## [45] "banyak" "sebanyak" "beberapa" "seberapa"
## [49] "begini" "beginian" "beginikah" "beginilah"
## [53] "sebegini" "begitu" "begitukah" "begitulah"
## [57] "begitupun" "sebegitu" "belum" "belumlah"
## [61] "sebelum" "sebelumnya" "sebenarnya" "berapa"
## [65] "berapakah" "berapalah" "berapapun" "betulkah"
## [69] "sebetulnya" "biasa" "biasanya" "bila"
## [73] "bilakah" "bisa" "bisakah" "sebisanya"
## [77] "boleh" "bolehkah" "bolehlah" "buat"
## [81] "bukan" "bukankah" "bukanlah" "bukannya"
## [85] "cuma" "percuma" "dahulu" "dalam"
## [89] "dan" "dapat" "dari" "daripada"
## [93] "dekat" "demi" "demikian" "demikianlah"
## [97] "sedemikian" "dengan" "depan" "di"
## [101] "dia" "dialah" "dini" "diri"
## [105] "dirinya" "terdiri" "dong" "dulu"
## [109] "enggak" "enggaknya" "entah" "entahlah"
## [113] "terhadap" "terhadapnya" "hal" "hampir"
## [117] "hanya" "hanyalah" "harus" "haruslah"
## [121] "harusnya" "seharusnya" "hendak" "hendaklah"
## [125] "hendaknya" "hingga" "sehingga" "ia"
## [129] "ialah" "ibarat" "ingin" "inginkah"
## [133] "inginkan" "ini" "inikah" "inilah"
## [137] "itu" "itukah" "itulah" "jangan"
## [141] "jangankan" "janganlah" "jika" "jikalau"
## [145] "juga" "justru" "kala" "kalau"
## [149] "kalaulah" "kalaupun" "kalian" "kami"
## [153] "kamilah" "kamu" "kamulah" "kan"
## [157] "kapan" "kapankah" "kapanpun" "dikarenakan"
## [161] "karena" "karenanya" "ke" "kecil"
## [165] "kemudian" "kenapa" "kepada" "kepadanya"
## [169] "ketika" "seketika" "khususnya" "kini"
## [173] "kinilah" "kiranya" "sekiranya" "kita"
## [177] "kitalah" "kok" "lagi" "lagian"
## [181] "selagi" "lah" "lain" "lainnya"
## [185] "melainkan" "selaku" "lalu" "melalui"
## [189] "terlalu" "lama" "lamanya" "selama"
## [193] "selama" "selamanya" "lebih" "terlebih"
## [197] "bermacam" "macam" "semacam" "maka"
## [201] "makanya" "makin" "malah" "malahan"
## [205] "mampu" "mampukah" "mana" "manakala"
## [209] "manalagi" "masih" "masihkah" "semasih"
## [213] "masing" "mau" "maupun" "semaunya"
## [217] "memang" "mereka" "merekalah" "meski"
## [221] "meskipun" "semula" "mungkin" "mungkinkah"
## [225] "nah" "namun" "nanti" "nantinya"
## [229] "nyaris" "oleh" "olehnya" "seorang"
## [233] "seseorang" "pada" "padanya" "padahal"
## [237] "paling" "sepanjang" "pantas" "sepantasnya"
## [241] "sepantasnyalah" "para" "pasti" "pastilah"
## [245] "per" "pernah" "pula" "pun"
## [249] "merupakan" "rupanya" "serupa" "saat"
## [253] "saatnya" "sesaat" "saja" "sajalah"
## [257] "saling" "bersama" "sama" "sesama"
## [261] "sambil" "sampai" "sana" "sangat"
## [265] "sangatlah" "saya" "sayalah" "se"
## [269] "sebab" "sebabnya" "sebuah" "tersebut"
## [273] "tersebutlah" "sedang" "sedangkan" "sedikit"
## [277] "sedikitnya" "segala" "segalanya" "segera"
## [281] "sesegera" "sejak" "sejenak" "sekali"
## [285] "sekalian" "sekalipun" "sesekali" "sekaligus"
## [289] "sekarang" "sekarang" "sekitar" "sekitarnya"
## [293] "sela" "selain" "selalu" "seluruh"
## [297] "seluruhnya" "semakin" "sementara" "sempat"
## [301] "semua" "semuanya" "sendiri" "sendirinya"
## [305] "seolah" "seperti" "sepertinya" "sering"
## [309] "seringnya" "serta" "siapa" "siapakah"
## [313] "siapapun" "disini" "disinilah" "sini"
## [317] "sinilah" "sesuatu" "sesuatunya" "suatu"
## [321] "sesudah" "sesudahnya" "sudah" "sudahkah"
## [325] "sudahlah" "supaya" "tadi" "tadinya"
## [329] "tak" "tanpa" "setelah" "telah"
## [333] "tentang" "tentu" "tentulah" "tentunya"
## [337] "tertentu" "seterusnya" "tapi" "tetapi"
## [341] "setiap" "tiap" "setidaknya" "tidak"
## [345] "tidakkah" "tidaklah" "toh" "waduh"
## [349] "wah" "wahai" "sewaktu" "walau"
## [353] "walaupun" "wong" "yaitu" "yakni"
## [357] "yang"
Hapus kata stopwords dari review :
# Menggunakan fungsi removeWords()
all_reviews$review <- removeWords(all_reviews$review, stop_words)
Membuat wordcloud :
review_tokenized <- all_reviews %>% unnest_tokens(word, review)
word_counts <- review_tokenized %>% count(word, sort = TRUE)
wordcloud(words = word_counts$word, freq = word_counts$n, min.freq = 1, max.words=200, random.order=FALSE, rot.per=0.35, colors=brewer.pal(8, "Dark2"))