Software untuk Analisis Sentimen

30 August 2012 at 19:14 | Posted in text processing, twitter | 12 Comments

Melanjutkan posting   https://yudiwbs.wordpress.com/2011/12/26/analisis-twee-analisis-opini-sentimen/  tahun ini  promotor saya, saya dan Lia mengajukan tema analisis sentimen di microblog untuk  hibah penelitian desentralisasi ITB dan diterima. Kesempatan bagus untuk membuat software  untuk basis ekperimen dan  nantinya  bisa digunakan oleh  masyarakat umum.  Kapan lagi buat prototype dibayar🙂  Lagipula  akan bermanfaat  untuk disertasi saya.

Untuk tahap awal ini, software masih berperan sebagai executive information system yang menampilkan beberapa ukuran statistik beserta visualisasinya.  Belum dilakukan  tweet mining  untuk menemukan hal-hal penting yang  tersembunyi (target berikutnya).  Prinsipnya ini masih versi  dasar yang nanti akan dilengkapi sedikit demi sedikit.

Ada tiga  komponen penyusun software ini:  crawler (pengumpul data tweet), pemroses data (preprocessing, klasifikasi, agregasi) dan terakhir visualiasi. Berbeda dengan software  yang saya buat sebelumnya, software ini berbasis desktop (Java-Swing), bukan web atau mobile.  Alasannya, pengembangan aplikasi desktop lebih cepat daripada web dan mobile, terutama untuk user interface yang kompleks (plus saya tidak suka javascript hehe).  Sedangkan kelemahan aplikasi desktop adalah komputer harus terus menerus hidup  saat melakukan crawling dan crawling akan berhenti jika  koneksi internet putus.  Tapi nanti  bisa dibuat hybrid, crawling dilakukan di server dan datanya ‘dilempar’ ke client  untuk kemudian diproses. Sedangkan untuk mobile app, crawling+proses dilakukan di server dan baru setelah itu datanya dilempar ke mobile app secara on demand.

Setelah sebulan  mencoba-coba, mumpung  libur lebaran, akhirnya aplikasinya mulai terbentuk (gambar bawah).  “Indosat”  dipilih menjadi  keyword.

Warna merah adalah jumlah  tweet negatif, biru positif dan abu-abu adalah selisihnya.  Satuan waktu dapat dipilih mulai jam, hari, bulan dan tahun demikian juga dengan rentang waktu. Gambar diatas untuk satuan “jam” (12 Agt sampai 28 Agt) sedangkan gambar bawah untuk satuan  “hari” pada rentang yang sama:

Terlihat puncak keluhan terjadi pada tanggal  25 Agustus.  Pengguna dapat melihat lebih detil apa yang terjadi di tanggal 25 tersebut dengan mengklik point pada chart. Setelah klik maka  akan ditampilkan  keywords  dan tweet-nya.  Keywords memang masih belum ideal,  kata  “demi” dan “tidak”  harusnya bukan keyword walaupun kata “pending”, “jaringan” dan “lambat” sudah tepat dijadikan keyword.

Masih banyak yang dapat ditambahkan:  keyword tracking, kredibilitas informasi, demografi, lokasi, clustering, network analysis,  event detection, visualiasi dsb.   Belum lagi aplikasi untuk mobile-nya. Jadi masih  banyak yang bisa dikerjakan untuk senang-senang🙂

12 Comments »

RSS feed for comments on this post. TrackBack URI

  1. Assalamu’alaikum
    saya tertarik bgd pak dalemin feel di sentimen analisis, kira2 punya tutorial pembuatannya dg php atau java pak?saya baru coba di python, dan kurg menguasai untuk gui programming python lbh lanjut.
    tks pak😀

    • Kalau yang model seperti ini, cukup belajar text classification saja untuk membedakan opini (pos/neg) dan nonopini. Sisanya sistem informasi+database standard biasa. Bisa googling dengan keyword “text classification”, sudah banyak materi tentang itu.

  2. wah.. sungguh menarik pak..
    untuk crawiling data yg bpk gunakan apakah hanya recent post..
    atau data tweet beberapa bulan sebelumnya juga diikut sertakan dalam perhitungan?..

    sy masih mengalami kesulitan untuk crawling data twitter..
    karena API twitter membatasi bnyknya data yg diretrive..
    apa ada cara lain agar data yg saya dapatkan lebih bnyk dari API yg disediakan API twitter?..

    thanks for advance😀

    • crawling dilakukan terus menerus, jadi bisa dapat data dalam rentang yang panjang. API twitter memang hanya dapat mengambil data terkini.

      • ada pihak ketiga yang menyediakan data twitter sebelumnya ga pak?..
        misal kalo sekarang bulan november tahun 2012 dan saya ingin mengetahui tingkat sentimen di bulan yg sama di tahun 2011…

        klo melihat dari api twitter maksimal setiap halaman hny menyediakan 100 data dan maksimal halaman hny 15..
        artinya maksimal data yg bisa didapatin cm 1500..🙂

        btw terimakasih bnyk pak infonya..

      • ada, tapi mahal.

  3. keren pak🙂
    jurnalnya ada pak?

  4. pak,. boleh nyoba train set nya?utk nambah2in train bt domain pak,saya jg sdg mengerjakan TA sentimen analisis utk multiple domain.trims pak

  5. Haloo, maaf ganggu.
    mau nanya dong apakah pada pernah bikin dengan cara menarik kata” di sosial media menggunakan python?
    Kalo ada yang tahu, bisa tolong ajarin ke saya dong…

  6. pagi pak….maaf ni mau ganggu. sebelumnya terimaksilho tulisannya sangat membantu. kebetulan tugas akhir saya tentang sentiment analysis juga. saya sudah coba crawling dengan R alhamdulillah berhasil…, kalo boleh share codingannya donk pak yang pake java…pengen coba juga ^_^. makasi pak


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.
Entries and comments feeds.

%d bloggers like this: