Python

Analisis Sentimen dengan TextBlob dan Python

Analisis Sentimen dengan TextBlob dan Python
Dalam pelajaran ini, kita akan menggunakan salah satu paket Python yang luar biasa - TextBlob, untuk membangun penganalisis sentimen sederhana. Kita semua tahu bahwa tweet adalah salah satu contoh kumpulan data favorit dalam hal analisis teks dalam ilmu data dan pembelajaran mesin. Ini karena Tweet bersifat real-time (jika diperlukan), tersedia untuk umum (kebanyakan) dan mewakili perilaku manusia yang sebenarnya (mungkin). Itulah sebabnya tweet biasanya digunakan saat melakukan segala jenis pembuktian konsep atau tutorial yang terkait dengan Natural Language Processing (NLP) dan analisis teks.

Menggunakan TextBlob di Industri

Sama seperti kedengarannya, TextBlob adalah paket Python untuk melakukan operasi analisis teks sederhana dan kompleks pada data tekstual seperti penandaan ucapan, ekstraksi frase kata benda, analisis sentimen, klasifikasi, terjemahan, dan banyak lagi. Meskipun ada lebih banyak kasus penggunaan untuk TextBlob yang mungkin kami bahas di blog lain, yang satu ini mencakup menganalisis Tweet untuk sentimen mereka.

Sentimen analisis memiliki penggunaan praktis yang hebat untuk banyak skenario:

Memulai dengan TextBlob

Kami tahu bahwa Anda datang ke sini untuk melihat beberapa kode praktis yang terkait dengan penganalisis sentimental dengan TextBlob. Itulah sebabnya kami akan membuat bagian ini sangat singkat untuk memperkenalkan TextBlob untuk pembaca baru. Sekedar catatan sebelum memulai adalah kami menggunakan a lingkungan maya untuk pelajaran ini yang kami buat dengan perintah berikut

python -m virtualenv textblob
sumber textblob/bin/aktifkan

Setelah lingkungan virtual aktif, kita dapat menginstal perpustakaan TextBlob di dalam virtual env sehingga contoh yang kita buat selanjutnya dapat dieksekusi:

instal pip -U textblob

Setelah Anda menjalankan perintah di atas, bukan itu. TextBlob juga memerlukan akses ke beberapa data pelatihan yang dapat diunduh dengan perintah berikut:

python -m textblob.download_corpora

Anda akan melihat sesuatu seperti ini dengan mengunduh data yang diperlukan:

Anda dapat menggunakan Anaconda juga untuk menjalankan contoh-contoh ini yang lebih mudah. Jika Anda ingin menginstalnya di mesin Anda, lihat pelajaran yang menjelaskan "Cara Menginstal Anaconda Python di Ubuntu 18".04 LTS” dan bagikan tanggapan Anda.

Untuk menunjukkan contoh yang sangat cepat untuk TextBlob, berikut adalah contoh langsung dari dokumentasinya:

dari textblob impor TextBlob
teks = "'
Ancaman tituler The Blob selalu mengejutkan saya sebagai film pamungkas
monster: massa yang sangat lapar, seperti amuba yang mampu menembus
hampir semua perlindungan, mampu--sebagai dokter terkutuk dengan mengerikan
menggambarkannya--"mengasimilasi daging pada kontak.
Perbandingan snide dengan gelatin terkutuk, itu adalah konsep yang paling
menghancurkan konsekuensi potensial, tidak seperti skenario abu-abu goo
diusulkan oleh para ahli teori teknologi yang takut akan
kecerdasan buatan merajalela.
"'
gumpalan = TextBlob(teks)
cetak (gumpalan.tag)
cetak (gumpalan.frase kata benda)
untuk kalimat dalam gumpalan.kalimat:
cetak(kalimat.sentimen.polaritas)
gumpal.terjemahkan(ke="es")

Ketika kita menjalankan program di atas, kita akan mendapatkan kata-kata tag berikut dan akhirnya emosi yang ditunjukkan oleh dua kalimat dalam teks contoh:

Kata-kata tag dan emosi membantu kita mengidentifikasi kata-kata utama yang benar-benar berpengaruh pada perhitungan sentimen dan polaritas kalimat yang diberikan kepada. Ini karena makna dan sentimen kata-kata itu berubah dalam urutan penggunaannya sehingga semua ini perlu dijaga agar tetap dinamis.

Analisis Sentimen berbasis leksikon

Setiap Sentimen secara sederhana dapat didefinisikan sebagai fungsi dari orientasi semantik dan intensitas kata-kata yang digunakan dalam sebuah kalimat. Dengan pendekatan berbasis leksikon untuk mengidentifikasi emosi dalam kata atau kalimat tertentu, setiap kata dikaitkan dengan skor yang menggambarkan emosi yang ditunjukkan oleh kata tersebut (atau setidaknya mencoba untuk menunjukkan). Biasanya, sebagian besar kata memiliki kamus yang telah ditentukan sebelumnya tentang skor leksikalnya tetapi ketika menyangkut manusia, selalu ada maksud sarkasme, jadi, kamus itu bukan sesuatu yang bisa kita andalkan 100%. Kamus Sentimen WordStat mencakup lebih dari 9164 pola kata negatif dan 4847 positif.

Terakhir, ada metode lain untuk melakukan analisis sentimen (di luar cakupan pelajaran ini) yang merupakan teknik Machine Learning tetapi kami tidak dapat menggunakan semua kata dalam algoritma ML karena kami pasti akan menghadapi masalah dengan overfitting. Kita dapat menerapkan salah satu algoritma pemilihan fitur seperti Chi Square atau Mutual Information sebelum kita melatih algoritma tersebut. Kami akan membatasi pembahasan pendekatan ML hanya untuk teks ini.

Menggunakan API Twitter

Untuk mulai mendapatkan tweet langsung dari Twitter, kunjungi beranda pengembang aplikasi di sini:

https://pengembang.Indonesia.com/en/aplikasi

Daftarkan aplikasi Anda dengan mengisi formulir yang diberikan seperti ini:

Setelah Anda memiliki semua token yang tersedia di tab "Kunci dan Token":

Kami dapat menggunakan kunci untuk mendapatkan tweet yang diperlukan dari Twitter API tetapi kami hanya perlu menginstal satu paket Python lagi yang sangat membantu kami dalam memperoleh data Twitter:

pip instal tweepy

Paket di atas akan digunakan untuk menyelesaikan semua komunikasi angkat berat dengan API Twitter. Keuntungan Tweepy adalah kita tidak perlu menulis banyak kode saat ingin mengotentikasi aplikasi kita untuk berinteraksi dengan data Twitter dan secara otomatis dibungkus dalam API yang sangat sederhana yang diekspos melalui paket Tweepy. Kami dapat mengimpor paket di atas dalam program kami sebagai:

impor tweepy

Setelah ini, kita hanya perlu mendefinisikan variabel yang sesuai di mana kita dapat menyimpan kunci Twitter yang kita terima dari konsol pengembang:

kunci_konsumen = '[kunci_konsumen]'
rahasia_kunci_konsumen = '[rahasia_kunci_konsumen]'
access_token = '[akses_token]'
access_token_secret = '[access_token_secret]'

Sekarang setelah kami mendefinisikan rahasia untuk Twitter dalam kode, kami akhirnya siap untuk membuat koneksi dengan Twitter untuk menerima Tweet dan menilainya, maksud saya, menganalisisnya. Tentu saja, koneksi ke Twitter harus dibuat menggunakan standar OAuth dan Paket Tweepy akan berguna untuk membuat koneksi demikian juga:

twitter_auth = tweepy.OAuthHandler(kunci_konsumen, rahasia_kunci_konsumen)

Akhirnya kita membutuhkan koneksi:

api = tweepy.API(twitter_auth)

Menggunakan instance API, kami dapat mencari di Twitter untuk topik apa pun yang kami berikan padanya. Itu bisa berupa satu kata atau beberapa kata. Meskipun kami akan merekomendasikan menggunakan kata-kata sesedikit mungkin untuk presisi. Mari kita coba contoh di sini:

pm_tweets = api.pencarian("Indonesia")

Pencarian di atas memberi kami banyak Tweet tetapi kami akan membatasi jumlah tweet yang kami dapatkan kembali agar panggilan tidak memakan waktu terlalu lama, karena perlu diproses nanti oleh paket TextBlob juga:

pm_tweets = api.search("India", hitung=10)

Terakhir, kami dapat mencetak teks dari setiap Tweet dan sentimen yang terkait dengannya:

untuk tweet di pm_tweets:
cetak (tweet.teks)
analisis = TextBlob(tweet.teks)
cetak (analisis.sentimen)

Setelah kami menjalankan skrip di atas, kami akan mulai mendapatkan 10 mention terakhir dari kueri yang disebutkan dan setiap tweet akan dianalisis untuk nilai sentimen. Berikut adalah output yang kami terima untuk hal yang sama:

Perhatikan bahwa Anda juga dapat membuat bot analisis sentimen streaming dengan TextBlob dan Tweepy juga. Tweepy memungkinkan untuk membuat koneksi streaming soket web dengan API Twitter dan memungkinkan untuk mengalirkan data Twitter secara real time.

Kesimpulan

Dalam pelajaran ini, kita melihat paket analisis tekstual yang sangat baik yang memungkinkan kita untuk menganalisis sentimen tekstual dan banyak lagi. TextBlob populer karena memungkinkan kita untuk bekerja dengan data tekstual tanpa kerumitan panggilan API yang rumit. Kami juga mengintegrasikan Tweepy untuk menggunakan data Twitter. Kami dapat dengan mudah mengubah penggunaan ke kasus penggunaan streaming dengan paket yang sama dan sangat sedikit perubahan dalam kode itu sendiri.

Silakan bagikan tanggapan Anda secara bebas tentang pelajaran di Twitter dengan @linuxhint dan @sbmaggarwal (itu saya!).

Cara mengunduh dan Memainkan Civilization VI Sid Meier di Linux
Pengenalan permainan Civilization 6 adalah konsep modern dari konsep klasik yang diperkenalkan dalam seri game Age of Empires. Idenya cukup sederhana;...
Cara Menginstal dan Memainkan Doom di Linux
Pengantar Doom Seri Doom berasal dari tahun 90-an setelah rilis Doom. Itu adalah hit instan dan sejak saat itu seri game telah menerima banyak penghar...
Vulkan untuk Pengguna Linux
Dengan setiap generasi baru kartu grafis, kami melihat pengembang game mendorong batas kesetiaan grafis dan selangkah lebih dekat ke fotorealisme. Tet...