Analisis Sentimen dengan Regresi Logistik – Menuju AI – Teknologi, Sains, dan Teknik Terbaik

Penulis: Buse Yaren Tekin

Pemrosesan Bahasa Alami

Foto oleh Markus Spiske di Unsplash

? Regresi Logistik merupakan klasifikasi yang berfungsi untuk menyelesaikan masalah klasifikasi biner. Hasilnya biasanya didefinisikan sebagai 0 atau 1 dalam model dengan situasi ganda.

Gambar oleh Wikipedia [1]

?Estimasi dibuat dengan menerapkan klasifikasi biner dengan Regresi Logistik pada data yang dialokasikan untuk data pelatihan dan pengujian dalam kumpulan data di bawah ini. Pertama-tama akan diterapkan Standardisasi untuk praproses, kemudian data latih akan dilatih dengan fit () kemudian digunakan untuk mengestimasi data uji dengan metode predict ().

Pelatihan data pelatihanMenggunakan data uji untuk memprediksi

Apa itu Analisis Sentimen dengan Regresi Logistik?

Analisis Sensitivitas adalah metode yang digunakan untuk menilai perasaan seseorang atau memaknai perasaannya sesuai dengan hal tertentu. Ini pada dasarnya adalah proses pemrosesan teks dan bertujuan untuk menentukan kelas yang ingin diekspresikan oleh teks tersebut secara emosional.

✨ Ini adalah nama yang diberikan untuk menambang ide atas frekuensi (frekuensi) kata-kata seperti nomor kata, kata benda, kata sifat, kata keterangan atau kata kerja sambil mendapatkan ide untuk tujuan dari teks. (Word2vec, TF / IDF)

✨ Dalam penggalian gagasan berbasis frekuensi, pertama-tama, kelompok kata benda ditemukan dan diklasifikasikan menurut panjangnya, persyaratan penggunaan, dan polaritas positif-negatif.

? Dataset yang saya gunakan dalam proyek ini adalah data ‘sentiment140’ yang disediakan secara gratis melalui API Twitter. Di bawah ini saya akan memberi tahu Anda tentang konten dan kelas fitur.

? Kumpulan data yang dibuat menggunakan API Twitter mencakup 1.600.000 tweet.

Atribut kumpulan data

target: Polaritas Tweet (0-negatif, 2-netral, 4-positif)
ID: ID Tweet
tanggal: Tanggal tweet
bendera: Kueri. Jika tidak ada kueri, itu adalah NO_QUERY.
pengguna: Pengguna yang memposting
teks: teks Tweet (konten)

Representasi Kelas Fitur Kumpulan Data

Mendapatkan Kumpulan Data dengan Panda ?

Membaca data

✔️ Alasan penulisan kolom encoding yang digunakan pada perintah read_csv () adalah karena data diubah menjadi karakter alfabet Latin 1 byte berbasis ASCII.

✔️ Ada 3 jenis kelas yang akan digunakan dalam analisis sentimen: negatif, netral, dan positif. Nilai nilai kunci dalam Dataframe, yang properti targetnya ditentukan, seperti tag 0, 2, dan 4 di bawah ini, dikurangi menjadi dua dalam regresi logistik. Karena bekerja dengan logika klasifikasi biner, kelas netral diabaikan.

Label preprocessing

Jumlah kelas positif dan negatif dalam kumpulan data adalah 800000 + 800000.

Kelas netral mengabaikan

Hentikan Kata ✋?

Proses mengubah data menjadi apa yang dipahami komputer disebut preprocessing. Salah satu bentuk utama dari preprocessing adalah menyaring data yang tidak perlu. Kata-kata yang tidak digunakan dalam NLP disebut ‘kata-kata berhenti’.

Kata berhenti adalah kata-kata umum yang diprogram oleh mesin pencari untuk diabaikan baik dalam indeks untuk pencarian maupun saat mengambilnya.

Hentikan deteksi kata dengan NLTKKata Berhenti Bahasa Inggris

Membaca Kata dengan NLTK (Stemming)

? Pustaka ekspresi reguler perlu (kembali) diperkenalkan sebelum proses stemming. Kemudian, dengan split (), kata-kata dalam kalimat akan dibagi menjadi beberapa bagian dan dengan perintah sub (), pola reguler yang kita sebut ekspresi reguler akan dicari jumlah iterasi yang diberikan.

Contoh Stemming, Kata Terkonjugasi Mengekspresikan Arti yang Sama

Hentikan Penyaringan Kata dengan NLTK ?

Berhenti kata harus dihapus dengan data bersih dengan mencari ekspresi reguler dalam pola yang diberikan di bawah ini. Pola ekspresi reguler tertentu dicari dalam string yang disediakan dengan modul Substring yang digunakan oleh library ekspresi reguler. Pola dari sub-urutan dicari dengan nilai repl yang diberikan.

Tampilan sintaks sub modulHentikan Penyaringan Kata dengan NLTK

Pemrosesan Awal Data

Hapus URL untuk menghapus URL yang tidak diinginkan seperti http, https, atau semacamnya di teks. {,. :; } Hapus tanda baca seperti. Tokenisasi: Memisahkan dan mengklasifikasikan bagian dari string karakter input. Ini untuk memisahkan setiap kata dalam kalimat. Dalam teks, a, sebagian besar dan, dll. Hapus kata-kata seperti kata-kata berhenti sebagaimana adanya. Karena kata-kata tersebut tidak mengandung informasi yang berguna.
Transformasi substring RegexAturan jalur regex

Menurut aturan Regex, tweet diubah menjadi huruf kecil dengan huruf kecil () seperti yang ditunjukkan di bawah ini. Prosesnya akan dilakukan dengan cara ini. Kemudian, operasi dalam fungsi yang saya tunjukkan dalam satu baris di atas dilakukan pada variabel yang dilucuti dan token di bawah. Kata-kata membentuk kalimat dengan menggabungkannya dengan join () dengan spasi di antaranya. Dalam variabel Negasi, itu dicari dengan aturan regex dengan mengoreksi kasus negatif sebagai catatan alih-alih kata n’t dalam pencarian substring.

Perubahan teks dan koreksi ekspresi reguler

Memisahkan Kumpulan Data menjadi Data Pelatihan dan Pengujian

Data dalam contoh ini difragmentasi menurut rasio kondisi_ak dan kriteria yang ditentukan (TRAIN_SIZE = 0,75) dan ukuran data pelatihan ditentukan menjadi 1200000 (75% dari kumpulan data). Setelah data ini dilatih, set pengujian ditentukan sebagai 400.000 (25% dari set data) untuk diuji.

Latih dan Uji Set Data

Kelas Target (Polaritas Tweet)

Di bawah ini adalah tweet dari beberapa pengguna. Misalnya, mari kita periksa tweet dari pengguna dengan id 1994986495.

Saya sangat bosan. Saya tidak merasa hari ini. Saya tidak tahu kenapa…

Seperti yang Anda lihat, kelas target ditetapkan sebagai 0 karena merupakan tweet dengan konten negatif.

Deteksi Negatif (0) di Tweet ☹️

Jika kita perlu memeriksa tweet pengguna dengan id 1960159696;

Hari Jumat yang Indah! ‘ Selamat Jumat Yaa !!!

Karena kontennya adalah tweet positif saat terdeteksi, itu ditetapkan sebagai kelas target 4.

Positif (4) Deteksi Pada Tweet ?

Kelas target data, yaitu data sentimen, telah dibuat. Selain itu, dengan mendefinisikan data negatif dan positif tanpa decode_map, data ini juga dapat dianalisis.

Pengumpulan Data Negatif dan Positif

Itu sangat berguna bagi saya. Saya harap ini juga sangat produktif untuk Anda. Semoga harimu menyenangkan ?

Referensi

https://de.wikipedia.org/wiki/Datei:Sigmoid-function-2.svg https://www.geeksforgeeks.org/python-stemming-words-with-nltk/ https://www.geeksforgeeks.org / remove-stop-words-nltk-python / https://kavita-ganesan.com/news-classifier-with-logistic-regress-in-python/ https://www.kaggle.com/kazanova/sentiment140 https: //machinelearningmastery.com/logistic-regress-for-machine-learning/ Makalah Konferensi: Menggunakan metode regresi logistik untuk mengklasifikasikan tweet ke dalam topik yang dipilih, Liza Wikarsa, Rinaldo Turang, Oktober 2016.

Analisis Sentimen dengan Regresi Logistik awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Towards AI