Contoh Text Mining Dengan Python

  Umum

in [1] Menggunakan paket yang diperlukan untuk text mining

import nltk
import matplotlib.pyplot as plt

from  wordcloud import WordCloud

In [4]: membaca file txt

file = open("/home/mfahri/github/OpenData/textmining/textmining.txt") #transform jadi huruf kecil semua baca = file.read().lower() print(baca) 
text mining adalah proses mengeksplorasi dan menganalisis sejumlah besar data teks tidak terstruktur yang dibantu oleh perangkat lunak yang dapat mengidentifikasi konsep, pola, topik, kata kunci, dan atribut lainnya dalam data. ini juga dikenal sebagai analisis teks, meskipun beberapa orang menarik perbedaan antara dua istilah; dalam pandangan itu, analitik teks adalah aplikasi yang diaktifkan oleh penggunaan teknik text  mining untuk memilah-milah set data.

text mining telah menjadi lebih praktis bagi para ilmuwan data dan pengguna lain karena pengembangan platform data besar dan algoritma pembelajaran mendalam yang dapat menganalisis kumpulan data yang tidak terstruktur secara besar-besaran. 

menganalisis teks membantu organisasi menemukan potensi wawasan bisnis yang berharga dalam dokumen perusahaan, email pelanggan, log call center, komentar survei verbatim, posting jaringan sosial, catatan medis dan sumber data berbasis teks lainnya. semakin banyak, kemampuan penambangan teks juga dimasukkan ke dalam ai chatbots dan agen virtual yang digunakan perusahaan untuk memberikan tanggapan otomatis kepada pelanggan sebagai bagian dari pemasaran, penjualan, dan operasi layanan pelanggan mereka. 

In [5]: membuat kamus kata berdasarkan dataset

kata = nltk.word_tokenize(baca) print(kata) 
['text', 'mining', 'adalah', 'proses', 'mengeksplorasi', 'dan', 'menganalisis', 'sejumlah', 'besar', 'data', 'teks', 'tidak', 'terstruktur', 'yang', 'dibantu', 'oleh', 'perangkat', 'lunak', 'yang', 'dapat', 'mengidentifikasi', 'konsep', ',', 'pola', ',', 'topik', ',', 'kata', 'kunci', ',', 'dan', 'atribut', 'lainnya', 'dalam', 'data', '.', 'ini', 'juga', 'dikenal', 'sebagai', 'analisis', 'teks', ',', 'meskipun', 'beberapa', 'orang', 'menarik', 'perbedaan', 'antara', 'dua', 'istilah', ';', 'dalam', 'pandangan', 'itu', ',', 'analitik', 'teks', 'adalah', 'aplikasi', 'yang', 'diaktifkan', 'oleh', 'penggunaan', 'teknik', 'text', 'mining', 'untuk', 'memilah-milah', 'set', 'data', '.', 'text', 'mining', 'telah', 'menjadi', 'lebih', 'praktis', 'bagi', 'para', 'ilmuwan', 'data', 'dan', 'pengguna', 'lain', 'karena', 'pengembangan', 'platform', 'data', 'besar', 'dan', 'algoritma', 'pembelajaran', 'mendalam', 'yang', 'dapat', 'menganalisis', 'kumpulan', 'data', 'yang', 'tidak', 'terstruktur', 'secara', 'besar-besaran', '.', 'menganalisis', 'teks', 'membantu', 'organisasi', 'menemukan', 'potensi', 'wawasan', 'bisnis', 'yang', 'berharga', 'dalam', 'dokumen', 'perusahaan', ',', 'email', 'pelanggan', ',', 'log', 'call', 'center', ',', 'komentar', 'survei', 'verbatim', ',', 'posting', 'jaringan', 'sosial', ',', 'catatan', 'medis', 'dan', 'sumber', 'data', 'berbasis', 'teks', 'lainnya', '.', 'semakin', 'banyak', ',', 'kemampuan', 'penambangan', 'teks', 'juga', 'dimasukkan', 'ke', 'dalam', 'ai', 'chatbots', 'dan', 'agen', 'virtual', 'yang', 'digunakan', 'perusahaan', 'untuk', 'memberikan', 'tanggapan', 'otomatis', 'kepada', 'pelanggan', 'sebagai', 'bagian', 'dari', 'pemasaran', ',', 'penjualan', ',', 'dan', 'operasi', 'layanan', 'pelanggan', 'mereka', '.']

In [8]: membuat ranking kata – kata yang sering muncul

#buangkata buangkata = open("/home/mfahri/github/OpenData/buangkata.txt") bacabuangkata = buangkata.read() splitbuang = set(nltk.word_tokenize(bacabuangkata)) #print(set(splitbuang)) removed = [] for t in kata:     if t not in splitbuang:         removed.append(t)                   rankingkata = nltk.FreqDist(removed) rankingkatax = rankingkata.most_common() print(rankingkatax)         
[('data', 7), ('teks', 6), ('text', 3), ('mining', 3), ('menganalisis', 3), ('pelanggan', 3), ('terstruktur', 2), ('perusahaan', 2), ('proses', 1), ('mengeksplorasi', 1), ('dibantu', 1), ('perangkat', 1), ('lunak', 1), ('mengidentifikasi', 1), ('konsep', 1), ('pola', 1), ('topik', 1), ('kunci', 1), ('atribut', 1), ('dikenal', 1), ('analisis', 1), ('orang', 1), ('menarik', 1), ('perbedaan', 1), ('istilah', 1), ('pandangan', 1), ('analitik', 1), ('aplikasi', 1), ('diaktifkan', 1), ('penggunaan', 1), ('teknik', 1), ('memilah-milah', 1), ('set', 1), ('praktis', 1), ('ilmuwan', 1), ('pengguna', 1), ('pengembangan', 1), ('platform', 1), ('algoritma', 1), ('pembelajaran', 1), ('mendalam', 1), ('kumpulan', 1), ('besar-besaran', 1), ('membantu', 1), ('organisasi', 1), ('menemukan', 1), ('potensi', 1), ('wawasan', 1), ('bisnis', 1), ('berharga', 1), ('dokumen', 1), ('email', 1), ('log', 1), ('call', 1), ('center', 1), ('komentar', 1), ('survei', 1), ('verbatim', 1), ('posting', 1), ('jaringan', 1), ('sosial', 1), ('catatan', 1), ('medis', 1), ('sumber', 1), ('berbasis', 1), ('kemampuan', 1), ('penambangan', 1), ('dimasukkan', 1), ('ai', 1), ('chatbots', 1), ('agen', 1), ('virtual', 1), ('tanggapan', 1), ('otomatis', 1), ('pemasaran', 1), ('penjualan', 1), ('operasi', 1), ('layanan', 1)]

In [9]: visualisasi ranking kata yang paling sering muncul

rankingkata.plot(30) plt.show()

in [10] membuat wordcloud

wc = WordCloud(stopwords=splitbuang, background_color="White" ,scale=1).generate(baca)
plt.imshow(wc , interpolation='bilinear')
plt.axis("off")
plt.show()

LEAVE A COMMENT