Menggunakan TextBlob dalam Industri
Sama seperti kedengarannya, TextBlob adalah pakej Python untuk melakukan operasi analisis teks yang ringkas dan kompleks pada data teks seperti penandaan ucapan, pengekstrakan frasa nama, analisis sentimen, klasifikasi, terjemahan, dan banyak lagi. Walaupun terdapat lebih banyak kes penggunaan untuk TextBlob yang mungkin kita bahas di blog lain, ini merangkumi analisis Tweet untuk sentimen mereka.
Sentimen analisis mempunyai penggunaan praktikal yang hebat untuk banyak senario:
- Semasa pemilihan politik di wilayah geografi, tweet dan aktiviti media sosial lain dapat dijejaki untuk menghasilkan anggaran tinjauan dan hasil mengenai pemerintah yang akan datang
- Pelbagai syarikat dapat menggunakan analisis teks di media sosial untuk mengenal pasti pemikiran negatif yang tersebar di media sosial di wilayah tertentu untuk mengenal pasti masalah dan menyelesaikannya
- Beberapa produk malah menggunakan tweet untuk mengira kecenderungan perubatan orang dari aktiviti sosial mereka, seperti jenis tweet yang mereka buat, mungkin mereka berkelakuan bunuh diri dll.
Bermula dengan TextBlob
Kami tahu bahawa anda datang ke sini untuk melihat beberapa kod praktikal yang berkaitan dengan penganalisis sentimental dengan TextBlob. Itulah sebabnya kami akan memastikan bahagian ini sangat pendek untuk memperkenalkan TextBlob untuk pembaca baru. Cuma nota sebelum memulakan ialah kita menggunakan a persekitaran maya untuk pelajaran ini yang kami buat dengan arahan berikut
python -m virtualenv textblobsumber teksblob / tong / aktifkan
Setelah persekitaran maya aktif, kita dapat memasang perpustakaan TextBlob dalam env maya sehingga contoh yang kita buat seterusnya dapat dilaksanakan:
pasang paip -U textblobSebaik sahaja anda menjalankan perintah di atas, bukan begitu. TextBlob juga memerlukan akses ke beberapa data latihan yang boleh dimuat turun dengan arahan berikut:
python -m textblob.muat turun_corporaAnda akan melihat sesuatu seperti ini dengan memuat turun data yang diperlukannya:
Anda juga boleh menggunakan Anaconda untuk menjalankan contoh-contoh ini yang lebih mudah. Sekiranya anda ingin memasangnya di mesin anda, lihat pelajaran yang menerangkan “Cara Memasang Anaconda Python di Ubuntu 18.04 LTS ”dan kongsi maklum balas anda.
Untuk menunjukkan contoh yang sangat pantas untuk TextBlob, berikut adalah contoh langsung dari dokumentasinya:
dari textblob import TextBlobteks = "'
Ancaman tajuk The Blob selalu menjadikan saya sebagai filem utama
raksasa: jisim yang lapar dan amuba seperti amuba yang dapat menembusi
hampir semua perlindungan, yang mampu - sebagai doktor yang ditakdirkan dengan tenang
menggambarkannya - "mengasimilasi daging semasa bersentuhan.
Perbandingan Snide dengan gelatin terkutuk, ini adalah konsep yang paling banyak
menghancurkan kemungkinan kesan, tidak seperti senario goo kelabu
dicadangkan oleh ahli teori teknologi yang ditakuti
kecerdasan buatan berleluasa.
"
gumpalan = TeksBlob (teks)
mencetak (gumpalan.teg)
mencetak (gumpalan.frasa nama
untuk ayat dalam gumpalan.ayat:
mencetak (ayat.sentimen.kekutuban)
gumpalan.terjemahkan (kepada = "es")
Apabila kita menjalankan program di atas, kita akan mendapat kata kunci berikut dan akhirnya emosi yang ditunjukkan oleh dua ayat dalam teks contoh:
Tag perkataan dan emosi membantu kita mengenal pasti kata-kata utama yang benar-benar mempengaruhi pengiraan sentimen dan kekutuban ayat yang diberikan kepada. Ini kerana makna dan sentimen kata-kata berubah mengikut urutan yang digunakan sehingga semua ini perlu dijaga dinamik.
Analisis Sentimen berasaskan leksikon
Segala Sentimen boleh didefinisikan sebagai fungsi orientasi semantik dan intensiti kata-kata yang digunakan dalam ayat. Dengan pendekatan berdasarkan leksikon untuk mengenal pasti emosi dalam kata atau ayat yang diberikan, setiap perkataan dihubungkan dengan skor yang menggambarkan emosi yang dipamerkan oleh perkataan (atau sekurang-kurangnya cuba menunjukkan). Biasanya, kebanyakan perkataan mempunyai kamus yang telah ditentukan mengenai skor leksikalnya tetapi apabila berkaitan dengan manusia, selalu ada sindiran yang dimaksudkan, jadi, kamus-kamus itu bukanlah sesuatu yang kita boleh bergantung 100%. Kamus Sentimen WordStat merangkumi lebih daripada 9164 pola kata negatif dan 4847 positif.
Akhirnya, ada kaedah lain untuk melakukan analisis sentimen (di luar ruang lingkup pelajaran ini) yang merupakan teknik Pembelajaran Mesin tetapi kita tidak dapat menggunakan semua perkataan dalam algoritma ML kerana kita pasti akan menghadapi masalah dengan pemasangan yang berlebihan. Kita boleh menggunakan salah satu algoritma pemilihan ciri seperti Chi Square atau Mutual Information sebelum kita melatih algoritma. Kami akan menghadkan perbincangan pendekatan ML untuk teks ini sahaja.
Menggunakan Twitter API
Untuk mula mendapat tweet secara langsung dari Twitter, lawati halaman utama pembangun aplikasi di sini:
https: // pembangun.twitter.com / en / aplikasi
Daftarkan permohonan anda dengan mengisi borang yang diberikan seperti ini:
Sebaik sahaja anda mempunyai semua token yang ada di tab "Kunci dan Token":
Kita boleh menggunakan kunci untuk mendapatkan tweet yang diperlukan dari Twitter API tetapi kita perlu memasang satu lagi pakej Python yang memberikan kita berat untuk mendapatkan data Twitter:
pasang tweepyPakej di atas akan digunakan untuk menyelesaikan semua komunikasi angkat berat dengan API Twitter. Kelebihan untuk Tweepy ialah kita tidak perlu menulis banyak kod ketika kita ingin mengesahkan aplikasi kita untuk berinteraksi dengan data Twitter dan secara automatik dibungkus dalam API yang sangat sederhana yang terdedah melalui pakej Tweepy. Kami boleh mengimport pakej di atas dalam program kami sebagai:
import tweepySelepas ini, kita hanya perlu menentukan pemboleh ubah yang sesuai di mana kita dapat menahan kekunci Twitter yang kita terima dari konsol pembangun:
key_key = '[user_key]'user_key_secret = '[konsumen_key_secret]'
access_token = '[akses_token]'
access_token_secret = '[akses_token_secret]'
Setelah kita menentukan rahsia untuk Twitter dalam kod, akhirnya kita bersedia menjalin hubungan dengan Twitter untuk menerima Tweet dan menilai mereka, maksud saya, menganalisisnya. Sudah tentu, sambungan ke Twitter mesti dibuat menggunakan standard OAuth dan Pakej Tweepy akan sangat berguna untuk menjalin hubungan juga:
twitter_auth = tweepy.OAuthHandler (key_key, konsumen_key_secret)Akhirnya kami memerlukan sambungan:
api = tweepy.API (twitter_auth)Dengan menggunakan contoh API, kita dapat mencari di Twitter untuk topik yang kita sampaikan. Ia boleh menjadi satu kata atau beberapa perkataan. Walaupun kami akan mengesyorkan menggunakan seberapa sedikit perkataan untuk ketepatan yang mungkin. Mari cuba contoh di sini:
pm_tweets = api.cari ("India")Pencarian di atas memberi kami banyak Tweet tetapi kami akan mengehadkan jumlah tweet yang kami terima sehingga panggilan tidak memakan banyak waktu, kerana perlu diproses kemudian oleh paket TextBlob juga:
pm_tweets = api.cari ("India", hitung = 10)Akhirnya, kita dapat mencetak teks setiap Tweet dan sentimen yang berkaitan dengannya:
untuk tweet di pm_tweets:cetak (tweet.teks)
analisis = TextBlob (tweet.teks)
mencetak (analisis.sentimen)
Setelah kami menjalankan skrip di atas, kami akan mula mendapatkan 10 sebutan terakhir dari pertanyaan yang disebutkan dan setiap tweet akan dianalisis untuk nilai sentimen. Berikut adalah output yang kami terima sama:
Perhatikan bahawa anda juga dapat membuat bot analisis sentimen streaming dengan TextBlob dan Tweepy juga. Tweepy memungkinkan untuk mewujudkan sambungan streaming soket web dengan API Twitter dan memungkinkan untuk mengalirkan data Twitter dalam masa nyata.
Kesimpulannya
Dalam pelajaran ini, kami melihat pakej analisis teks yang sangat baik yang membolehkan kami menganalisis sentimen teks dan banyak lagi. TextBlob sangat popular kerana cara ini memungkinkan kita hanya bekerja dengan data teks tanpa kerumitan panggilan API yang rumit. Kami juga menyatukan Tweepy untuk memanfaatkan data Twitter. Kita boleh mengubah penggunaan dengan mudah ke kes penggunaan streaming dengan paket yang sama dan sangat sedikit perubahan dalam kod itu sendiri.
Sila kongsi maklum balas anda dengan bebas mengenai pelajaran di Twitter dengan @linuxhint dan @sbmaggarwal (itu saya!).